From fc6ced683c9b544127e6f50711ba833b430baf88 Mon Sep 17 00:00:00 2001 From: Arne Stabenau <stabenau@sanger.ac.uk> Date: Fri, 9 Jan 2004 13:50:02 +0000 Subject: [PATCH] Merged in the new-seqstore into HEAD version --- docs/ensembl_changes_spec.txt | 958 +- docs/schema_description/tables.html | 229 +- docs/schema_description/tables.txt | 192 +- docs/schema_description/tables.xml | 209 +- docs/tutorial/ensembl_tutorial.doc | Bin 126464 -> 117248 bytes docs/tutorial/ensembl_tutorial.pdf | Bin 126731 -> 36606 bytes docs/tutorial/ensembl_tutorial.ps | 15813 +++++----------- docs/tutorial/ensembl_tutorial.sxw | Bin 30204 -> 20098 bytes docs/tutorial/ensembl_tutorial.txt | 1925 +- docs/tutorial/tutorial.pl | 15 +- misc-scripts/chain/chain2assembly.pl | 131 + misc-scripts/qtl/extract_rat_map_ids.pl | 64 + .../SeqStoreConverter/AnophelesGambiae.pm | 263 + .../SeqStoreConverter/BasicConverter.pm | 1035 + .../CaenorhabditisBriggsae.pm | 254 + .../CaenorhabditisElegans.pm | 133 + .../surgery/SeqStoreConverter/DanioRerio.pm | 335 + .../DrosophilaMelanogaster.pm | 99 + .../surgery/SeqStoreConverter/FuguRubripes.pm | 167 + .../surgery/SeqStoreConverter/HomoSapiens.pm | 47 + .../surgery/SeqStoreConverter/MusMusculus.pm | 211 + .../SeqStoreConverter/PanTroglodytes.pm | 96 + .../SeqStoreConverter/RattusNorvegicus.pm | 135 + misc-scripts/surgery/convert_seqstore.pl | 124 + misc-scripts/surgery/converter.input | 9 + .../surgery/set_nonredundant_attribs.pl | 235 + modules/Bio/EnsEMBL/Analysis.pm | 61 +- .../Bio/EnsEMBL/AssemblyExceptionFeature.pm | 168 + modules/Bio/EnsEMBL/AssemblyMapper.pm | 754 +- modules/Bio/EnsEMBL/BaseAlignFeature.pm | 839 +- modules/Bio/EnsEMBL/ChainedAssemblyMapper.pm | 548 + modules/Bio/EnsEMBL/Chromosome.pm | 143 +- modules/Bio/EnsEMBL/Clone.pm | 355 +- modules/Bio/EnsEMBL/Container.pm | 21 +- modules/Bio/EnsEMBL/CoordSystem.pm | 247 + modules/Bio/EnsEMBL/DBEntry.pm | 119 +- modules/Bio/EnsEMBL/DBSQL/AnalysisAdaptor.pm | 113 +- .../DBSQL/AssemblyExceptionFeatureAdaptor.pm | 183 + .../EnsEMBL/DBSQL/AssemblyMapperAdaptor.pm | 983 +- modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm | 13 +- .../EnsEMBL/DBSQL/BaseAlignFeatureAdaptor.pm | 93 +- .../Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm | 985 +- .../Bio/EnsEMBL/DBSQL/ChromosomeAdaptor.pm | 151 +- modules/Bio/EnsEMBL/DBSQL/CloneAdaptor.pm | 399 +- .../DBSQL/CompressedSequenceAdaptor.pm | 186 + .../Bio/EnsEMBL/DBSQL/CoordSystemAdaptor.pm | 902 + modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm | 725 +- modules/Bio/EnsEMBL/DBSQL/DBConnection.pm | 27 +- modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm | 239 +- .../EnsEMBL/DBSQL/DensityFeatureAdaptor.pm | 432 + .../EnsEMBL/DBSQL/DnaAlignFeatureAdaptor.pm | 380 +- modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm | 778 +- modules/Bio/EnsEMBL/DBSQL/GeneAdaptor.pm | 1403 +- .../Bio/EnsEMBL/DBSQL/KaryotypeBandAdaptor.pm | 233 +- modules/Bio/EnsEMBL/DBSQL/MetaContainer.pm | 112 +- .../Bio/EnsEMBL/DBSQL/MiscFeatureAdaptor.pm | 474 + modules/Bio/EnsEMBL/DBSQL/MiscSetAdaptor.pm | 182 + .../EnsEMBL/DBSQL/PredictionExonAdaptor.pm | 409 + .../DBSQL/PredictionTranscriptAdaptor.pm | 538 +- modules/Bio/EnsEMBL/DBSQL/ProteinAdaptor.pm | 180 +- .../DBSQL/ProteinAlignFeatureAdaptor.pm | 414 +- .../EnsEMBL/DBSQL/ProteinFeatureAdaptor.pm | 550 +- modules/Bio/EnsEMBL/DBSQL/ProxyAdaptor.pm | 7 +- modules/Bio/EnsEMBL/DBSQL/RawContigAdaptor.pm | 498 +- .../EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm | 89 +- .../Bio/EnsEMBL/DBSQL/RepeatFeatureAdaptor.pm | 406 +- modules/Bio/EnsEMBL/DBSQL/SequenceAdaptor.pm | 685 +- .../Bio/EnsEMBL/DBSQL/SimpleFeatureAdaptor.pm | 240 +- modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm | 1556 +- .../EnsEMBL/DBSQL/SupportingFeatureAdaptor.pm | 16 +- .../Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm | 845 +- .../Bio/EnsEMBL/DBSQL/TranslationAdaptor.pm | 435 +- modules/Bio/EnsEMBL/DensityFeature.pm | 191 + modules/Bio/EnsEMBL/Exon.pm | 1267 +- modules/Bio/EnsEMBL/External/BlastAdaptor.pm | 871 +- .../External/ExternalFeatureAdaptor.pm | 566 +- modules/Bio/EnsEMBL/Feature.pm | 767 + modules/Bio/EnsEMBL/FeaturePair.pm | 772 +- modules/Bio/EnsEMBL/Gene.pm | 800 +- modules/Bio/EnsEMBL/IdentityXref.pm | 312 +- modules/Bio/EnsEMBL/KaryotypeBand.pm | 192 +- .../Lite/DensityPlot/DensityAdaptor.pm | 53 +- modules/Bio/EnsEMBL/Lite/GeneAdaptor.pm | 5 +- modules/Bio/EnsEMBL/Lite/SNPAdaptor.pm | 5 - .../Bio/EnsEMBL/Map/DBSQL/MarkerAdaptor.pm | 28 +- .../EnsEMBL/Map/DBSQL/MarkerFeatureAdaptor.pm | 260 +- .../EnsEMBL/Map/DBSQL/QtlFeatureAdaptor.pm | 159 +- modules/Bio/EnsEMBL/Map/MapLocation.pm | 109 +- modules/Bio/EnsEMBL/Map/Marker.pm | 81 +- modules/Bio/EnsEMBL/Map/MarkerFeature.pm | 102 +- modules/Bio/EnsEMBL/Map/Qtl.pm | 85 +- modules/Bio/EnsEMBL/Map/QtlFeature.pm | 95 +- modules/Bio/EnsEMBL/Mapper.pm | 358 +- modules/Bio/EnsEMBL/Mapper/Coordinate.pm | 5 + modules/Bio/EnsEMBL/Mapper/Gap.pm | 7 + modules/Bio/EnsEMBL/Mapper/RangeRegistry.pm | 268 + modules/Bio/EnsEMBL/MiscFeature.pm | 263 + modules/Bio/EnsEMBL/MiscSet.pm | 178 + modules/Bio/EnsEMBL/PredictionExon.pm | 291 + modules/Bio/EnsEMBL/PredictionTranscript.pm | 838 +- modules/Bio/EnsEMBL/Protein.pm | 668 +- modules/Bio/EnsEMBL/ProteinFeature.pm | 87 +- modules/Bio/EnsEMBL/RawContig.pm | 742 +- modules/Bio/EnsEMBL/RepeatConsensus.pm | 203 +- modules/Bio/EnsEMBL/RepeatFeature.pm | 268 +- modules/Bio/EnsEMBL/RepeatMaskedSlice.pm | 234 + modules/Bio/EnsEMBL/Root.pm | 33 +- modules/Bio/EnsEMBL/SNP.pm | 31 +- modules/Bio/EnsEMBL/SeqFeature.pm | 49 +- modules/Bio/EnsEMBL/SeqFeatureI.pm | 25 +- modules/Bio/EnsEMBL/SimpleFeature.pm | 154 +- modules/Bio/EnsEMBL/Slice.pm | 1741 +- modules/Bio/EnsEMBL/StickyExon.pm | 43 +- modules/Bio/EnsEMBL/Storable.pm | 171 + modules/Bio/EnsEMBL/Tile.pm | 28 +- modules/Bio/EnsEMBL/Transcript.pm | 1035 +- modules/Bio/EnsEMBL/TranscriptFactory.pm | 16 +- modules/Bio/EnsEMBL/Translation.pm | 324 +- modules/Bio/EnsEMBL/Utils/Argument.pm | 162 + modules/Bio/EnsEMBL/Utils/Converter.pm | 2 +- modules/Bio/EnsEMBL/Utils/Exception.pm | 424 + modules/Bio/EnsEMBL/Utils/SeqDumper.pm | 318 +- modules/t/MultiTestDB.conf | 10 +- modules/t/MultiTestDB.pm | 256 +- modules/t/argument.t | 25 + modules/t/assemblyException.t | 136 + modules/t/assemblyExceptionFeature.t | 63 + modules/t/assemblyMapper.t | 113 + modules/t/canonicalDBAdaptor.t | 16 +- modules/t/chainedAssemblyMapper.t | 146 + modules/t/chromosome.t | 28 +- modules/t/clone.t | 320 +- modules/t/compressedSequenceAdaptor.t | 73 + modules/t/coordSystem.t | 87 + modules/t/coordSystemAdaptor.t | 155 + modules/t/dbConnection.t | 2 - modules/t/dbEntries.t | 58 +- modules/t/densityFeature.t | 54 + modules/t/densityFeatureAdaptor.t | 105 + modules/t/dnaAlignFeatureAdaptor.t | 140 +- modules/t/dnaDnaAlignFeature.t | 988 +- modules/t/dnaPepAlignFeature.t | 584 +- modules/t/exception.t | 86 + modules/t/exon.t | 99 +- modules/t/externalFeatureAdaptor.t | 146 + modules/t/feature.t | 364 + modules/t/featurePair.t | 97 + modules/t/gene.t | 160 +- modules/t/geneview.t | 2 +- modules/t/karyotypeBand.t | 48 +- modules/t/karyotypeBandAdaptor.t | 87 + modules/t/mapLocation.t | 13 +- modules/t/mapper.t | 90 +- modules/t/marker.t | 4 +- modules/t/markerFeature.t | 14 +- modules/t/markerFeatureAdaptor.t | 15 +- modules/t/metaContainer.t | 28 +- modules/t/miscFeature.t | 87 + modules/t/miscFeatureAdaptor.t | 106 + modules/t/miscSet.t | 45 + modules/t/miscSetAdaptor.t | 57 + modules/t/predictionTranscript.t | 248 +- modules/t/proteinAlignFeatureAdaptor.t | 140 +- modules/t/proteinFeature.t | 86 + modules/t/proteinFeatureAdaptor.t | 43 + modules/t/qtl.t | 8 +- modules/t/rangeRegistry.t | 115 + modules/t/rawContig.t | 17 +- modules/t/rawContigAdaptor.t | 175 +- modules/t/repeatConsensus.t | 74 +- modules/t/repeatConsensusAdaptor.t | 87 + modules/t/repeatFeature.t | 135 +- modules/t/repeatFeatureAdaptor.t | 126 + modules/t/seqDumper.t | 67 + modules/t/sequenceAdaptor.t | 70 + modules/t/simpleFeature.t | 131 +- modules/t/slice.t | 249 +- modules/t/sliceAdaptor.t | 306 +- modules/t/test_genome.zip | Bin 994753 -> 960638 bytes modules/t/transcript.t | 81 +- modules/t/translation.t | 66 +- scripts/dna_compress.pl | 423 +- sql/table.sql | 1287 +- 183 files changed, 36044 insertions(+), 30278 deletions(-) create mode 100644 misc-scripts/chain/chain2assembly.pl create mode 100644 misc-scripts/qtl/extract_rat_map_ids.pl create mode 100644 misc-scripts/surgery/SeqStoreConverter/AnophelesGambiae.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/BasicConverter.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/CaenorhabditisBriggsae.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/CaenorhabditisElegans.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/DanioRerio.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/DrosophilaMelanogaster.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/FuguRubripes.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/HomoSapiens.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/MusMusculus.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/PanTroglodytes.pm create mode 100644 misc-scripts/surgery/SeqStoreConverter/RattusNorvegicus.pm create mode 100644 misc-scripts/surgery/convert_seqstore.pl create mode 100644 misc-scripts/surgery/converter.input create mode 100644 misc-scripts/surgery/set_nonredundant_attribs.pl create mode 100644 modules/Bio/EnsEMBL/AssemblyExceptionFeature.pm create mode 100644 modules/Bio/EnsEMBL/ChainedAssemblyMapper.pm create mode 100644 modules/Bio/EnsEMBL/CoordSystem.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/AssemblyExceptionFeatureAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/CompressedSequenceAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/CoordSystemAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/DensityFeatureAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/MiscFeatureAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/MiscSetAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DBSQL/PredictionExonAdaptor.pm create mode 100644 modules/Bio/EnsEMBL/DensityFeature.pm create mode 100644 modules/Bio/EnsEMBL/Feature.pm create mode 100644 modules/Bio/EnsEMBL/Mapper/RangeRegistry.pm create mode 100644 modules/Bio/EnsEMBL/MiscFeature.pm create mode 100644 modules/Bio/EnsEMBL/MiscSet.pm create mode 100644 modules/Bio/EnsEMBL/PredictionExon.pm create mode 100644 modules/Bio/EnsEMBL/RepeatMaskedSlice.pm create mode 100644 modules/Bio/EnsEMBL/Storable.pm create mode 100644 modules/Bio/EnsEMBL/Utils/Argument.pm create mode 100644 modules/Bio/EnsEMBL/Utils/Exception.pm create mode 100644 modules/t/argument.t create mode 100644 modules/t/assemblyException.t create mode 100644 modules/t/assemblyExceptionFeature.t create mode 100644 modules/t/assemblyMapper.t create mode 100644 modules/t/chainedAssemblyMapper.t create mode 100644 modules/t/compressedSequenceAdaptor.t create mode 100644 modules/t/coordSystem.t create mode 100644 modules/t/coordSystemAdaptor.t create mode 100644 modules/t/densityFeature.t create mode 100644 modules/t/densityFeatureAdaptor.t create mode 100644 modules/t/exception.t create mode 100644 modules/t/externalFeatureAdaptor.t create mode 100644 modules/t/feature.t create mode 100644 modules/t/featurePair.t create mode 100644 modules/t/karyotypeBandAdaptor.t create mode 100644 modules/t/miscFeature.t create mode 100644 modules/t/miscFeatureAdaptor.t create mode 100644 modules/t/miscSet.t create mode 100644 modules/t/miscSetAdaptor.t create mode 100644 modules/t/proteinFeature.t create mode 100644 modules/t/proteinFeatureAdaptor.t create mode 100644 modules/t/rangeRegistry.t create mode 100644 modules/t/repeatConsensusAdaptor.t create mode 100644 modules/t/repeatFeatureAdaptor.t create mode 100644 modules/t/seqDumper.t create mode 100644 modules/t/sequenceAdaptor.t diff --git a/docs/ensembl_changes_spec.txt b/docs/ensembl_changes_spec.txt index 40f505f83c..2153b7c4c6 100644 --- a/docs/ensembl_changes_spec.txt +++ b/docs/ensembl_changes_spec.txt @@ -1,3 +1,955 @@ -The most up-to-date version of this document can be found on -branch-new-seqstore. It has been moved there so it does not have to be -maintained in two locations. \ No newline at end of file +ENSEMBL - API Change Specification +================================== + +CONTENTS +-------- + +Introduction +Goals +Schema Modifications + Proposed New/Modified Tables + seq_region + coord_system + seq_region_annotation + dna + assembly + gene + transcript + translation + all feature tables + meta_coord + misc_feature + misc_set + misc_feature_misc_set + misc_attrib + Removed Tables + contig + clone + chromosome +Meta Information +API Changes + Slice + Tile + SliceAdaptor + RawContig + RawContigAdaptor + Clone + CloneAdaptor + Chromosome + ChromosomeAdaptor + Root + Storable Base Class + Features + transform + transfer + move + project + StickyExon + AssemblyMapper + FeatureAdaptors + CoordSystemAdaptor +New Features + Assembly Exceptions + Haplotypes + Pseudo Autosomal Regions + Multiple Assemblies +Other Considerations + Loci + + +INTRODUCTION +------------ + +This document describes the changes that are being made to the EnsEMBL core +schema and Perl/Java/C APIs. + +GOALS +----- +-A cleaner, more intuitive API +-A more general schema able to better capture divergent assembly types +-More flexibility with regards to assembly related data such as haplotypes, + PARs, WGS assemblies etc. + +SCHEMA MODIFICATIONS +-------------------- + +Proposed New/Modified Tables: +----------------------------- + + seq_region + ---------- + The seq_region table is a generic replacement for the clone, contig, + and chromosome tables. Additionally supercontigs which were formerly in the + assembly table are also present in this table. The name column can contain + chromosome names, clone accessions, supercontig names or anything that is + appropriate for the seq_region it describes. The coord_system_id is a + foreign key to the new coordinate system and is used to distinguish + between the divergent types of sequence regions in the table. + + seq_region_id int + name varchar + coord_system_id int references coord_system table + length int + + + coord_system + ------------ + The coordinate system table lists the available coordinate systems in the + database. The attrib is mysql set and is used to denote the default version + of each named coordinate system. E.g. there may be two 'chromosome' coordiate + systems and the default may be version 'NCBI34'. The 'top_level' and + sequence level attribs denote the coordinate system from which sequence is + retrieved and the coordinate system which has the largest assembled pieces. + The top_level coordinate system will usually be 'chromosome' but for some + shrapnel assemblied this may be something like 'supercontig' or 'clone'. + + There may be multiple toplevel coordinate systems providing that they share + the same name (but different version) and providing one of them is the + default. There may only be a single sequence level coordinate system. + + Note that the version in the coordinate system can be viewed as applying + to every seq_region of a given coordinate system. It is analagous to + a CVS tag, not a CVS version. E.g. The version would 'NCBI33' apply to + every chromosome seq_region so it is a valid version. A clone accession of + '8' would not be a valid version because it only describes a particular + seq_region of the coordinate system - not all of them. + + coord_system_id int + name varchar + version varchar + attrib set ('top_level', 'default_version', 'sequence_level') + + + seq_region_annotation + --------------------- + This table allows for extra arbitrary information to be attached to + seq_regions. For example the htg_phase was formerly part of the clone table + but now is stored in this table. + + seq_region_id int + attrib_type_id smallint references attrib_type table + value varchar + + + dna + --- + Formerly the contig table referenced the dna table. Now the dna table + refrences the seq_region_table. Every seq_region which has a coordinate + system with the 'sequence_level' attrib should be referenced by an entry in + the dna table. + + seq_region_id int + sequence varchar + + + assembly + -------- + The assembly table has been made more generic. Columns that previously + were names chr_* and contig_* have been renamed asm_* and cmp_* (assembled + and component) respectively. The superctg_name column has been removed. + Supercontigs are now defined in the seq_region table. + + The makeup of all seq_regions from smaller seq_regions can be described in + this table. The relationships which are explicitly defined must be listed + in the meta table. For example, the clone <-> contig mapping used to be + defined in the contig table with an embl_offset column. This information is + now found in this table instead. + + asm_seq_region_id int + asm_start int + asm_end int + cmp_seq_region_id int + cmp_start int + cmp_end int + ori tinyint + + gene + ---- + For faster retrieval and retrieval independently of transcripts and + exons, genes have a seq_region_id, seq_region_start and seq_region_end + which defines the span of their transcript. + + The transcript_count column has been removed as it was never used. + + gene_id int + type varchar + analysis_id int + seq_region_id int + seq_region_start int + seq_region_end int + seq_region_strand tinyint + display_xref_id int + + + transcript + ---------- + For faster retrieval and retrieval independently of genes and exons + transcripts also have a seq_region_id, seq_region_start and + seq_region_end. The translation_id has been removed; translations will point + to transcripts instead (and pseudogenes will have no translation). + + The exon_count column has been removed as it was never used. + + transcript_id int + gene_id int + seq_region_id int + seq_region_start int + seq_region_end int + seq_region_strand tinyint + display_xref_id int + + + translation + ----------- + Translations now reference transcripts rather than transcripts referencing + a single (or no) translation. This allows for more elegant handling of + pseudogenes (where there is no translation) and also can be used to supply + multiple translations for a single transcript (e.g. polycistronic genes). + + translation_id int + transcript_id int + start_exon_id int + end_exon_id int + seq_start int + seq_end int + + + all feature tables + ------------------ + All feature tables would now have seq_region_id, seq_region_start, + seq_region_end, seq_region_strand instead of contig_id, contig_start, + contig_end. This includes the repeat_feature, simple_feature, + dna_align_feature, protein_align_feature, exon, marker_feature, + karyotype and qtl_feature tables. + + meta_coord + ---------- + The meta coord table defines what coordinate systems are used to store each + type of feature. A given type of feature may be stored in multiple + coordinate systems, but these will not be retrieved by the API unless there + is an entry in the meta_coord table. + + table_name varchar + coord_system_id int + + + misc_feature + ------------ + This is a renaming of the mapfrag table. The renaming reflects the fact that + this table can be used to store any type of feature. + + misc_feature_id + seq_region_id + seq_region_start + seq_region_end + seq_region_strand + + misc_set + -------- + This table was formerly names mapset. It defines 'sets' that can be used + to group misc_features together. + + misc_set_id smallint + code varchar + name description + description text + max_length int + + misc_feature_misc_set + --------------------- + This is a link table defining the many-to-many relationship between the + misc_set and misc_feature tables. + + misc_feature_id int + misc_set_id smallint + + + misc_attrib + ----------- + This table was formerly named mapfrag_annotation. It contains arbitrary + annotations of misc_features and links to the same attrib_type table that + the seq_region_attrib table uses. + + misc_feature_id int + attrib_type_id smallint + value varchar + + + +Removed Tables +-------------- + + contig + ------ + Contigs are no longer needed. They are stored as entries in the seq_region + table with type 'contig'. The embl_offset and clone_id will not be + necessary as their relationship to clones can be described by the + assembly table. + + clone + ----- + Clones are no longer needed. Clones are stored as entries in the seq_region + table with coord_system 'clone'. The modified timestamp will be discarded + as it is no longer maintained anyway. The embl_acc, version, and + embl_version columns are redundant and will also be discarded. Versions + are simply appended onto the end of the name with a delimiting '.'. + + Any additional information that needs to be present (such as htg_phase) can + be added to the seq_region_attrib table. + + chromosome + ---------- + This table is no longer needed. Chromosomes can be stored in the + seq_region table with a 'chromosome' coord_system. + + + +META INFORMATION +---------------- + +Considerable more meta information is stored in the core +databases in order for the general approach to be maintained. +This information is stored in the new coord_system table and in the +meta, and meta_coord tables. + +Meta information includes the following: + + * The coordinate system that features of a given type are stored in. This + information is stored in the meta_coord table and is used when constructing + queries for a particular feature table. + + * The top-level coordinate system. For human + this would be 'chromosome'. For briggsae this may be something like + 'scaffold' or 'super contig'. This information would be used to construct + the web display and would possibly be the default coordinate system when + a coordinate system is unspecified by a user. This is stored as a flag + in the coord_system table. + + * The default version of each coordinate system. This is stored as a flag + in the coord_system table. + + * The coord_system where sequence is stored. This will be stored as a + flag in the coord_system table. Initially it will only be possible + to have a single coord_system in which sequence is stored. This + may be extended in the future to allow sequence to be stored for multiple + coord_systems. + + * The coordinate system relationships between that are explicitly defined + in the assembly table. The new API is capable of 2 step (implicit) mapping + between coordinate systems, but these relationships can be determined + through the direct relationship information. + + For example the clone, chromosome and nt_contig coordinate systems may all + be constructed from the contig coordinate system: + contig -> clone + contig -> chromosome + contig -> nt_contig + Or there may be a more hierarchical approach: + contig -> clone + clone -> nt_contig + nt_contig -> chromosome + This information is stored in the meta table under the key + 'assembly.mapping' with the following format (versions are optional): + assembled_coord_system_name[:version]|component_coord_system_name[:version] + + For example the meta table for human might contain the following entries: + mysql> select * from meta where meta_key = 'assembly.mapping'; + +---------+------------------+--------------------------+ + | meta_id | meta_key | meta_value | + +---------+------------------+--------------------------+ + | 43 | assembly.mapping | chromosome:NCBI33|contig | + | 44 | assembly.mapping | clone|contig | + | 45 | assembly.mapping | supercontig|contig | + +---------+------------------+--------------------------+ + + * The names of the allowable coordinate systems. This would allow for + quick validation of API requests and provide a list that could be used + by the website for coordinate system selection. This information will be + stored in the coord_system table. + + * The coordinate system(s) that each feature type is stored in. This is + stored in the meta_coord table. + + +API CHANGES +----------- + +Slice +----- + Slice methods chr_start, chr_end, chr_name will be renamed start, end, + seq_region_name. For backwards compatibility the old methods are + chained to the new methods with deprecated warnings. + + A new slice method 'coord_system' will be added and will return a + Bio::EnsEMBL::CoordSystem object. + + Slices will represent a region on a seq_region as opposed to a region on a + chromosome. Slices will be immutable (i.e. their attributes will not be + changeable). A new slice will have to be created if the attributes are to + be changed. + + The following attributes will therefore define a unique slice: + coord_system (e.g. object with name and version) + seq_region_name (e.g. 'X' or 'AL035554.1') + start (e.g. 1000000 or 1) + end (e.g. 2000001 or 800) + strand (e.g. 1 or -1) + + The name method will return the above values joined by a ':' delimiter, and + will not be settable: + e.g. 'chromosome:NCBI33:X:1000000:2000001:1' or 'clone::AL035554.1:1:800:-1' + This value can be used as a hashvalue that uniquely defines a slice. + + The concept of an 'empty' slice will no longer exist. + + The get_tiling_path method will be deprecated in favour of a more general + method project(). Whereas get_tiling_path() implies a relationship between + an assembly and the coordinate system which makes up the assembly the + project method will allow conversion accross any two coordinate systems. + It will take a coord_system string as an argument and rather + than returning a list of Tile objects it will return a listref of triplets + containing a start int, and end int, and a 'to' slice object. The following + is an example of how this method would be used ($clone is a reference to a + slice object in the clone coordinate system): + + my $clone_path = $slice->project('clone'); + + foreach my $segment (@$clone_path) { + my ($start, $end, $clone) = @$segment; + print $slice->seq_region_name, ':', $start, '-', $end , ' -> ', + $clone->seq_region_name, ':', $clone->start, '-', $clone->end, + $clone->strand, "\n"; + } + + An optional second argument to project() will be the coordinate + system version. E.g.: + $ncbi34_path = $slice->project('chromosome','NCBI34'). + + +Tile +---- + The tile object will no longer be necessary. However for backwards + compatibility it will remain in the system for some time before being phased + out along with the get_tiling_path method. + + +SliceAdaptor +------------ + The Slice adaptor must provide a method to fetch a slice via its coordinate + system, seq_region_name, start, end, and strand. + The old, commonly used method fetch_by_chr_start_end has been altered to + simply chain to this new method (with a warning) as do most other + SliceAdaptor methods. + + Another method which is necessary with the disapearence of the Clone, + RawContig and Chromosome adaptors is one which allows for all slices + of a certain type to be retrieved. For example it is often necessary to + retrieve all chromosomes, or clones for a species. This method is simply + named fetch_all. The old fetch_all methods on the ChromosomeAdaptor, + RawContigAdaptor, CloneAdaptor, etc. chain to the new method for backwards + compatibility. + + Method Names and Signatures + --------------------------- + Slice fetch_by_region(coord_system, name) + Slice fetch_by_region(coord_system, name, start) + Slice fetch_by_region(coord_system, name, start, end) + Slice fetch_by_region(coord_system, name, start, end, strand) + Slice fetch_by_region(coord_system, name, start, end, strand, version) + listref of Slices fetch_all(coord_system) + listref of Slices fetch_all(coord_system, version) + +RawContig +--------- + The RawContig object is no longer necessary with the new system. RawContigs + are replaced by Slices with coord_system = 'contig'. In the interests of + backwards compatibility the RawContig class will still be present for + sometime as a minimal implmentation inheriting from the Slice class. + + +RawContigAdaptor +---------------- + The RawContigAdaptor is no longer necessary. The RawContigAdaptor is + replaced by the SliceAdaptor. For backwards compatibility a minimal + implementation of the RawContigAdaptor will remain which inherits from the + SliceAdaptor. + +Clone +----- + The Clone object is no longer necessary in the new system. Clones are + replaced by Slices with coord_system = 'clone'. For backwards compatibility + a minimal implementation will remain which inherits from the Slice object. + +CloneAdaptor +------------ + The CloneAdaptor object is no longer necessary in the new system. The + CloneAdaptor is replaced by the SliceAdaptor. For backwards compatibility + a minimal implementation will remain which inherits from the SliceAdaptor. + +Chromosome +---------- + The Chromosome object is no longer necessary in the new system. The + Chromosome is replaced by Slices with coord system 'chromosome' (or + whatever the top level seq_region type is for that species). For backwards + compatibility a minimal implementation will remain which inherits from the + Slice object. + + Statistical information (e.g. known genes, genes, snps) that + was on chromosomes may be stored in the seq_region_attrib table or + in some sort of density table. + +ChromosomeAdaptor +----------------- + The Chromosome object is no longer necessary in the new system. The + ChromosomeAdaptor is replaced by the SliceAdaptor. For backwards + compatibility a minimal implementation which inherits from the SliceAdaptor + will remain. + + +Root +---- + Every class in the current EnsEMBL perl API inherits directly or indirectly + from Bio::EnsEMBL::Root. This inheritance is almost exclusively for the + following following three methods: + throw + warn + _rearrange + + Nothing is gained by implementing this relationship as inheritance, and there + are several disadvantages: + (1) Everything must inherit from this class to use those 3 object methods. + This can result in patterns of multiple inheritance which are generally + considered to be a bad thing. + + (2) It is not possible to use the throw, warn or rearrange method within + the constructor until the object is blessed. Blessing the object first + and then calling rearrange to extract named arguments is slower because + the blessed hash needs to be expanded as more keys are added and several + key access/value assignements may need to be performed. + + (3) Objects become larger and object construction becomes slightly slower + because constructors traverse an additional level of inheritance. + + A better approach, which we have used, is to make the methods static and + create a static utility class that exports the methods. The warn method has + been renamed warning so as not to conflict with the builtin perl function + warn and the _rearrange method has be renamed rearrange. + + The following is an example of the old styl Root inheritance and the new + style static utility methods: + + # + # OLD STYLE + # + package Old; + + use Bio::EnsEMBL::Root; + + @ISA = qw(Bio::EnsEMBL::Root); + + sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + + $self = $class->SUPER::new(@_); + + my ($start, $end) = $self->_rearrange(['START', 'END'], @_); + + if(!defined($start) || !$defined($end)) { + $self->throw('-START and -END arguments are required'); + } + + $self->{'start'} = $start; + $self->{'end'} = $end; + + return $self; + } + + # + # NEW STYLE + # + package New; + + use Bio::EnsEMBL::Utils::Exception qw(throw warning); + use Bio::EnsEMBL::Utils::Argument qw(rearrange); + + sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my ($start, $end) = rearrange(['START', 'END'], @_); + + if(!defined($start) || !defined($end)) { + throw('-START and -END arguments are required'); + } + + return bless {'start' => $start, 'end' => $end}, $class; + } + + The calls to $self->rearrange $self->warn and $self->throw have been + replaced by class method calls to warning() and throw() inside the core API. + However, for backwards compatibility the existance inheritance to + Bio::EnsEMBL::Root will remain in many cases (and be removed at a later date) + + +Storable Base Class +------------------- + Almost all business objects in the EnsEMBL system are storable in the db + and the ones which are always require 2 methods: dbID() and adaptor(). These + methods have been moved to a Storable base class which most of the + business objects now inherit from. This module has an additional method + is_stored() which takes a database argument and returns true if the object + appears to already have been stored in the provided database. + +Features +-------- + All features should inherit from a base class that implements common feature + functionality. Formerly this role was filled by the bloated SeqFeature class + which inherits from Bio::SeqFeature and Bio::SeqFeatureI etc. + This class has been replaced by a smaller, less complicated + implementation named Feature. To make classes more polymorphic in general, + the gene, and transcript objects should now also inherit from the Feature + class. This class implements the following core methods common to all + features: + + start + end + strand + slice (formerly named contig/entire_seq/etc.) + transform + transfer + project + analysis + + The feature class inherits from the Storable base class and thereby inherits + the following methods: + + adaptor + dbID + is_stored + + The signature and behaviour of the transform method has been changed. The + existing method works differently depending on the arguments passed as + described below. + + OLD transform(no arguments) + ----------------------- + Transforms from slice coordinates to contig coordinates. The feature + is changed in place and returned. If the feature already is in contig + coordinates an exception is thrown. The feature may be split into two + features in which case both features are returned (not sure if one of + them is transformed in place). Some features are not permitted to be + split in two in which case an exception is thrown? (not sure) if it is + to be split accross contigs. + + OLD transform(slice) + ---------------- + If the feature is already in slice coordinates and the slice is on the + same chromosome the features coordinates are simply shifted. If the + feature is already in slice coordinates but on a different chromosome + an exception is thrown. + It the feature is in contig coordinates and the slice is not empty then + it is transformed onto the new slice (or an exception is thrown if the + transform would cause the feature to end up on a different chromosome + than the slice). If the feature is in contig coordinates and the + slice is an empty slice the feature is transformed into chromosomal + coordinates and placed on a newly created slice of the entire chromosome. + + The new transformation has only a single valid signature and splits its + responsibilities with the new transfer method. The transfer + method transfers a feature onto another slice, whereas the transform + method simply converts coordinate systems. Transform does + NOT transform features in place but rather returns the newly + transformed feature as a new object: + + transform(coord_system, [version]) + ----------------------- + Takes a single string specifying the new coord system. If the coord + system is not valid an exception is thrown. If the coord system is the + same coord system as the feature is currently in a new feature that is + a copy of the old one is still be returned. This also retrieves + a slice which is the entire span of the region of the coordinate system + that this feature is being transformed to. For example transforming + an exon in contig coordinates to chromosomal coodinates will place a + copied exon on a slice of an entire chromosome. If a feature spans a + boundary in the coordinate system, undef is returned by the method + instead. + + transfer(slice) + ---------------- + Shifts a feature from one slice to another. If the new slice is in the + same coordinate system but different seq_region_name (e.g. both + chromosomal but different chromosomes) an exception is thrown. + If the new slice is in a different coordinate system then the + transform method is internally called first. If the feature would be + split across a boundary undef is returned instead. After the transform + there follows a potential move, if the slice does not cover the full + seq_region. If there is no transform call necessary, the feature is + copied and then moved. + + move( start, end, strand ) + -------------------------- + In place change of the coordinates of the feature. It will stay on the + same slice. + + project(coord_system, [version]) + ----------------- + This method is analagous to the project method on Bio::EnsEMBL::Slice. + It 'projects' a feature onto another coordinate system and returns the + results formatted as a listref of [$start, $end, $feature] triplets. + The $features returned are copies of the feature on which the method was + called, but with coordinates in the coordinate system that was projected + to. If the feature maps entirely to a gap then an empty list ref [] will + be returned. If the feature is mapped to multiple locations a listref + containing split features will be returned. + +StickyExon +---------- + The sticky exon object is not be present in the new system. It does not + make sense to define features in a coordinate system where they are simply + not present. Exons are calculated in chromosomal coordinates and they + will generally be retrieved in the same coordinates system. It will + of course be possible to still retrieve exons in contig coordinates but only + is they are fully defined on the contigs of interest. + The split coordinates can be obtained through a call to the project + method. + + +AssemblyMapper +-------------- + The assembly mapper and assembly mapper adaptor classes have become more + general and sophisticated.Not only is it possible to map between two + coordinates systems whose relationship is explicitly defined in the assembly + table, but it is also possible to perform implicit, 2-step mapping + using 'coordinate system chaining'. + + For example if no explicit relationship is defined between the supercontig + and clone coordinate systems but relationships between the clone and contig + and the supercontig and contig coordinate systems is present the mapper has + the faculty to perform the mapping between the clone and supercontig systems. + In this case the contig cooridinate system is used as an intermediary: + + NTContig <-> Contig <-> Clone + + In the above example the assembly mapper adaptor internally does the + following: + + (1) Create a mapper object between the NTContig and Contig region + (2) Create a mapper object between the Contig and Clone region + (3) Create and return a third mapper constructed from the sets of mappings + generated by the intermediate mappers. + + +FeatureAdaptors +--------------- + Most FeatureAdaptors inherit from the BaseFeature adaptor. As a + minimum feature adaptors provide fetch_all_by_Slice and fetch_by_dbID + methods. The fetch by slice method provides the same return types and + requires the same arguments as before, but required some internal changes. + + The simplified algorithm for fetching features via a slice is: + + (1) Check with coord system is requested or that slice is in. + (2) Check which coord system features are in + (3) Obtain mapper between coord systems + (5) Retrieve features in their native coord system. + (6) Remap features to the requested coord system using the mapper + (7) Return the features + + The method fetch_all_by_RawContig is obsolete (it is equivalent to + fetching by a slice of a contig) but has be left in as an alias for the + fetch all by slice method for backwards compatibility. + + When performing a non-locational fetch (e.g. by dbID) features are still + returned in the coordinate system that they are calculated in. This is to + ensure that the feature can always be retreived in this manner of fetching + and so that features which are not in the database can be distinguished from + features which are simply not in the requested coordinate sytem. When a + single feature which is not in the database is requested via a non-locational + fetch undef is returned instead. If multiple features are requested but none + are present in the database a reference to an empty list is returned. If the + features are required in a specific coordinate system the transfer, project + or transform method can always be used. + + +CoordSystemAdaptor +------------------ + A CoordSystemAdaptor provides access to the information in the + coord_system, meta and meta_coord tables. This adaptor provides + Bio::EnsEMBL::CoordSystem objects. + + +NEW FEATURES +------------ + +Assembly Exceptions (Symbolic Sequence Links) +--------------------------------------------- + + It is sometimes desirable to have multiple regions refer to the same + sequence. + + In much the same way a symlinked file acts as a pointer to a real file, + a symlinked region can point to another region of sequence. + + This can be described in the database through the addition of a table which + has a structure that mirrors that of the assembly table. The assembly table + does not define the structure underlying this seq_region, and it does not + have sequence of its own. By means of the assembly_exception table this + seq_region points to another seq_region where the underlying sequence is + defined: + + assembly_exception + ------------------ + seq_region_id int + seq_region_start int + seq_region_end int + exc_type enum('HAP', 'PAR') + exc_seq_region_id int + exc_seq_region_start int + exc_seq_region_end int + ori int (may not be needed, may implicitly be 1) + + When fetching features and sequence from a slice that overlaps a symlinked + region, the features and sequence from the symlinked region are returned. + This may be implemented by altering fetch by slice calls and adding a + SliceAdaptor method with splits a slice into non-symlinked components. + The following algorithm would apply to sequence and feature fetches: + (1) Split the slice into non-symlinked component slices + (2) Recursively call the method with the component slices + (3) Adjust the start and end of the returned features and place them + back on the original slice (or splice the sequence together if this + is a sequence fetch) + (4) Return the features or sequence + + Consider a slice which overlaps regions (A), (B), and (C) on chromosome Y: + + =============== (chrX) + ^^^^^^^^^^^ + ======== symlink ========= (chrY) + (A) (B) (C) + + Regions (A) and (C) are described by the assembly table, but region (B) + is described in the assembly_exception table and points to a region of + chromosome Y. When features or sequence are retrieved the slice is split + into 3 component slices which have no symlinks: region (A) and (C) are + slices on chromosome Y but region (B) is made into a slice on chromsome (X). + All of the features are fetched from the individual slices adjusted by + some addition and placed on back on the original Slice before being + returned. + + + +Haplotypes (and the MHC region) +------------------------------- + There are several requirements related to haplotypes: + - Must be able to determine which haplotypes overlap a slice + - Must be able to run genebuild/raw computes over the haplotypes + - Must be able to retrieve a slice on a haplotype and its flanking + regions (i.e. the regions of the default assembly bordering the + haplotype). + - It may be desireable to interpolate features from the default sequence + onto the haplotype + + Proposal: + The haplotype will be present as a full length 'chromosome' in the + seq_region table (or other appropriate coordinate system) but only the + region which differs from the the default assembly will be described in + the chromosome table. The regions which are identical will be described + by the assembly_exception table. + + It is possible to retrieve a slice on a haplotype just as any other slice + is retrieved from the SliceAdaptor. For example: + $slice = $slice_adaptor->fetch_by_region('chromosome', '6_DR52'); + + A slice created on a haplotype will have coordinates relative to the + start of the chromosome NOT relative to the start of the haplotype + region. For all intents and purposes a haplotype slice will behave as + a normal slice. + + For example, the assembly table could define the composition of the + divergent region of chromosome 6_DR52 (C), but leave the remainder of the + chromosomal composition undefined. The remainder of the + chromosome composition would be accounted for by 2 rows in the + assembly_exception table which described the synonymous regions in terms + of chromosome 6: + + ============== 6 ============== 6 + ^ ^ + _____|________ _______|______ + C ========== 6_DR52 + + + + + +Pseudo Autosomal Regions (PARs) +------------------------------- + There are several requirements related to PARs: + - The same sequence and features must be present on a region of + both chromosome X and chromosome Y + - The region and features should be returned when retreiving features + from either chromosome. + - It must still be possible to retrieve one of the features via its + identifier + - It must still be possible to transform features in the region from + chromosomal coordinates to contig coords and vice-versa. + - The genebuild should run over the region, but only once. + + Proposal: + Use the assembly_exception table in a similar fashion as it is used + for the haplotypes described above. Chromosome X can be the 'default' + chromosome for the PAR and Chromosome Y can be described by the assembly + table except in the PAR. The PAR on chromosome Y can be defined by the + assembly_exception table and refer to the corresponding sequence on + chromosome X. The same algorithm as used for haplotypes can then be used + when retrieving sequence or features from slices which overlap this + exception on chromosome Y. + + The following diagram illustrates how chromsome X and chromosome Y could + be defined: + + ========================================== X + ^ ^ + _|_ ____|____ + ====== ============ ============= Y + + +Multiple Assemblies +------------------- + +In theory it is possible to load multiple assemblies into the same database. +For example two coordinate systems with two versions chromosome:NCBI33 and +chromosome:NCBI34 could be loaded into the database. Leveraging the fact that +two step mapping is possible and that these coordinate systems share a +coincident mapping with the contig coorinate system it is possible to pull +across annotation from one assembly to the other. The following example +illustrates the transfer of genes from the chromosome X on the NCBI33 assembly +to the NCBI34 assembly: + + $slice = $slice_adaptor->fetch_by_region('chromosome', 'X', undef, + undef,undef, 'NCBI33'); + @genes = @{$gene_adaptor->fetch_all_by_Slice($slice)}; + + foreach my $gene (@genes) { + $gene->transform('chromosome', 'NCBI34'); + #... + } + + +OTHER CONSIDERATIONS +-------------------- + +Loci +---- + +Similar genes which are defined across haplotypes need +to be somehow linked into loci. The intent is that +a user would be able to see that a gene has a counterpart +on an equivalent haplotypic sequence. + +This is work in progress. The current opinion among us is to implement +it via a relationship table that specifies which genes on default +haplotypes are considered equivalent to other genes on +(overlapping) haplotypes. + diff --git a/docs/schema_description/tables.html b/docs/schema_description/tables.html index d59d496b64..58c3aca912 100644 --- a/docs/schema_description/tables.html +++ b/docs/schema_description/tables.html @@ -48,7 +48,7 @@ </tr> </table> </p> - <p>This document refers to version <strong>15</strong> of the EnsEMBL core schema. You are looking at revision <strong>1.21</strong> of this document. + <p>This document refers to version <strong>15</strong> of the EnsEMBL core schema. You are looking at revision <strong>$Revision$</strong> of this document. </p> <p><b>Diagrams:</b></p> <ul> @@ -62,10 +62,11 @@ <p><b>Fundamental tables</b></p> <ul> <li><a href="#assembly">assembly</a></li> - <li><a href="#chromosome">chromosome</a></li> - <li><a href="#clone">clone</a></li> - <li><a href="#contig">contig</a></li> + <li><a href="#assembly_exception">assembly_exception</a></li> + <li><a href="#attrib_type">attrib_type</a></li> + <li><a href="#coord_system">coord_system</a></li> <li><a href="#dna">dna</a></li> + <li><a href="#dnac">dnac</a></li> <li><a href="#exon">exon</a></li> <li><a href="#exon_stable_id">exon_stable_id</a></li> <li><a href="#exon_transcript">exon_transcript</a></li> @@ -74,6 +75,11 @@ <li><a href="#gene_stable_id">gene_stable_id</a></li> <li><a href="#karyotype">karyotype</a></li> <li><a href="#meta">meta</a></li> + <li><a href="#meta_coord">meta_coord</a></li> + <li><a href="#prediction_exon">prediction_exon</a></li> + <li><a href="#prediction_transcript">prediction_transcript</a></li> + <li><a href="#seq_region">seq_region</a></li> + <li><a href="#seq_region_attrib">seq_region_attrib</a></li> <li><a href="#supporting_feature">supporting_feature</a></li> <li><a href="#transcript">transcript</a></li> <li><a href="#transcript_stable_id">transcript_stable_id</a></li> @@ -84,10 +90,15 @@ <ul> <li><a href="#analysis">analysis</a></li> <li><a href="#dna_align_feature">dna_align_feature</a></li> + <li><a href="#map">map</a></li> <li><a href="#marker">marker</a></li> <li><a href="#marker_feature">marker_feature</a></li> <li><a href="#marker_map_location">marker_map_location</a></li> <li><a href="#marker_synonym">marker_synonym</a></li> + <li><a href="#misc_attrib">misc_attrib</a></li> + <li><a href="#misc_feature">misc_feature</a></li> + <li><a href="#misc_feature_misc_set">misc_feature_misc_set</a></li> + <li><a href="#misc_set">misc_set</a></li> <li><a href="#prediction_transcript">prediction_transcript</a></li> <li><a href="#protein_align_feature">protein_align_feature</a></li> <li><a href="#protein_feature">protein_feature</a></li> @@ -134,28 +145,63 @@ - <h3><a name="clone">clone</a></h3> - <p>Contains information about BAC clones inside the EnsEMBL database. As this was the way that DNA came into EnsEMBL for the - human genome, all DNA has to be specified in terms of BAC clones, even if they don't exist. Also, some of the BAC clones in - early versions of the EnsEMBL database haven't been submitted to EMBL but were Sanger Institute internal BAC names. This is - why clone has two different possible identifiers (and versions for each of them). Note that although there are many dates - inside this table, they are not well maintained. The htg_phase column describes whether High Throughput Genomic sequencing - is finished or unfinished: draft is 123, finished is 4. + <h3><a name="seq_region">seq_region</a></h3> + <p>Stores information about sequence regions. The primary key is used as a pointer into the dna table so that actual sequence + can be obtained, and the coord_system_id allows sequence regions of multiple types to be stored. Clones, contigs and chromosomes + are all now stored in the seq_region table. Contigs are stored with the co-ordinate system 'contig'. The relationship between + contigs and clones is stored in the assembly table. The relationships between contigs and chromosomes, and between contigs + and supercontigs, are stored in the assembly table. </p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#dna">dna</a> - 1:1 relationship to the dna table. + </li> + <li><a href="#coord_system">coord_system</a> - Describes which co-ordinates a particular feature is stored in. + </li> + </ul> + + + + + <h3><a name="coord_system">coord_system</a></h3> + <p>Stores information about the available co-ordinate systems for this species. Note that there must be one co-ordinate system + that has the attribute "top_level" and one that has the attribute "sequence_level". + </p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#seq_region">seq_region</a> - Has coord_system_id foreign key to allow joins with the coord_system table. + </li> + </ul> - <h3><a name="contig">contig</a></h3> - <p>A contig is a piece of DNA inside a clone that is contiguous i.e. not interupted by sequencing gaps. One or more contigs made - up the BAC clone sequence. Due to this historical importance, they are currently the reference coordinate system for all features - inside EnsEMBL, although not all species come in clones/contigs. Contigs directly link to dna table entries which contain - the actual sequence information. Currently, fake clone and contig entries must be faked for genomes that don't have these - things. The sequence is that of the contig, not that of the golden path, i.e. to construct the golden path from the dna entries, - the sequence of contigs with an orientation of -1 must be reversed and bases complemented. The assembly table has the contig - orientation (raw_ori). Note the length of the dna.sequence field is always equal to the appropriate length field in the contig - table. + <h3><a name="seq_region_attrib">seq_region_attrib</a></h3> + <p>Allows "attributes" to be defined for certain seq_regions. Provides a way of storing extra information about particular seq_regions + without adding extra columns to the seq_region table. e.g. </p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#seq_region">seq_region</a> - + </li> + <li><a href="#attrib_type">attrib_type</a> - Provides codes, names and desctriptions of attribute types. + </li> + </ul> + + + + + <h3><a name="attrib_type">attrib_type</a></h3> + <p>Provides codes, names and desctriptions of attribute types.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#seq_region_attrib">seq_region_attrib</a> - Associates seq_regions with attributes. + </li> + </ul> @@ -165,7 +211,7 @@ <p><b>See also:</b></p> <p>Tables:</p> <ul> - <li><a href="#contig">contig</a> - 1:1 relationship to the dna table. + <li><a href="#seq_region">seq_region</a> - Relates sequence to features. </li> <li><a href="#external_synonym">external_synonym</a> - Allows xrefs to have more than one name </li> @@ -174,6 +220,12 @@ + <h3><a name="dnac">dnac</a></h3> + <p>Stores compressed DNA sequence.</p> + + + + <h3><a name="assembly">assembly</a></h3> <p>Describes how contig sequences make up the chromosomal sequence. The data in this table defines the "static golden path", i.e. the best effort draft full genome sequence as determined by the UCSC or NCBI (depending which assembly you are using) @@ -186,14 +238,11 @@ <p><b>See also:</b></p> <p>Tables:</p> <ul> - <li><a href="#contig">contig</a> - + <li><a href="#seq_region">seq_region</a> - Stores extra information about both the assembled object and its component parts </li> </ul> <p>Concepts:</p> <ul> - <li><a href="#co-ordinates">co-ordinates</a> - Chromosome start and end positions are stored in chromosomal co-ordinates whereas the contig start and end positions are stored - in contig co-ordinates. - </li> <li><a href="#supercontigs">supercontigs</a> - The mapping between contigs and supercontigs is also stored in the assembly table. </li> </ul> @@ -201,10 +250,17 @@ - <h3><a name="chromosome">chromosome</a></h3> - <p>Describes chromosomes. Currently contains the name and length of each chromosome for the species. Currently also contains - additional rows to allow genes to be stored even if the chromosome on which the gene appears is not positively identified. + <h3><a name="assembly_exception">assembly_exception</a></h3> + <p>Allows multiple sequence regions to point to the same sequence, analogous to a symbolic link in a filesystem pointing to the + actual file. This mechanism has been implemented specifically to support haplotypes and PARs, but may be useful for other + similar structures in the future. </p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#assembly">assembly</a> - + </li> + </ul> @@ -216,21 +272,13 @@ <h3><a name="exon">exon</a></h3> - <p>Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigs via the contig_* columns. - The sticky_rank differentiates between fragments of the same exon; i.e for exons that span multiple contigs, all the fragments - are in this table with the same id, but different sticky_rank values. - </p> + <p>Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigsseq_regions.</p> <p><b>See also:</b></p> <p>Tables:</p> <ul> <li><a href="#exon_transcript">exon_transcript</a> - Used to associate exons with transcripts. </li> </ul> - <p>Concepts:</p> - <ul> - <li><a href="#sticky_rank">sticky_rank</a> - Differentiates between exons that span multiple contigs. - </li> - </ul> @@ -249,8 +297,9 @@ <h3><a name="transcript">transcript</a></h3> - <p>TBC Note that a transcript is usually associated with a translation, but may not be, e.g. in the case of pseudogenes and RNA - genes (those that code for RNA molecules). + <p>Stores information about transcripts. Has seq_region_start, seq_region_end and seq_region_strand for faster retrieval and + to allow storage independently of genes and exons. Note that a transcript is usually associated with a translation, but may + not be, e.g. in the case of pseudogenes and RNA genes (those that code for RNA molecules). </p> @@ -321,7 +370,7 @@ <h3><a name="translation">translation</a></h3> <p>Describes which parts of which exons are used in translation. The seq_start and seq_end columns are 1-based offsets into the *relative* coordinate system of start_exon_id and end_exon_id. i.e, if the translation starts at the first base of the exon, - seq_start would be 1. + seq_start would be 1. Transcripts are related to translations by the transcript_id key in this table. </p> @@ -349,9 +398,24 @@ + <h3><a name="prediction_transcript">prediction_transcript</a></h3> + <p>Stores transcripts that are predicted by ab initio gene finder programs (e.g. genscan, SNAP). Unlike EnsEMBL transcripts they + are not supported by any evidence. + </p> + + + + + <h3><a name="prediction_exon">prediction_exon</a></h3> + <p>Stores exons that are predicted by ab initio gene finder programs. Unlike EnsEMBL exons they are not supported by any evidence.</p> + + + + <h3><a name="meta">meta</a></h3> <p>Stores data about the data in the current schema. Taxonomy information, version information and the default value for the type column in the assembly table are stored here. Unlike other tables, data in the meta table is stored as key/value pairs. + Also stores (via assembly.mapping keys) the relationships between co-ordinate systms in the assembly table. </p> <p><b>See also:</b></p> <p>Tables:</p> @@ -361,6 +425,19 @@ </ul> + + + + <h3><a name="meta_coord">meta_coord</a></h3> + <p>Describes which co-ordinate systems the different feature tables use.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#coord_system">coord_system</a> - + </li> + </ul> + + <hr> <h2>Features and analyses</h2> <p></p> @@ -507,12 +584,16 @@ <h3><a name="marker_map_location">marker_map_location</a></h3> - <p>Allows storage of information about the postion of a marker.</p> + <p>Allows storage of information about the postion of a marker - these are positions on genetic or radiation hybrid maps (as + opposed to positions on the assembly, which EnsEMBL has determined and which are stored in marker_feature). + </p> <p><b>See also:</b></p> <p>Tables:</p> <ul> <li><a href="#marker">marker</a> - Stores marker data. </li> + <li><a href="#marker_feature">marker_feature</a> - Stores marker positions on the assembly. + </li> </ul> @@ -530,10 +611,73 @@ + <h3><a name="map">map</a></h3> + <p>Stores the names of different genetic or radiation hybrid maps, for which there is marker map information.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#marker">marker</a> - Stores the original marker. + </li> + </ul> + + + + <h3><a name="repeat_consensus">repeat_consensus</a></h3> <p>Stores consenus sequences obtained from analysing repeat features.</p> + + + <h3><a name="misc_feature">misc_feature</a></h3> + <p>Alllows for storage of arbitrary features.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#misc_attrib">misc_attrib</a> - Allows storage of arbitrary attributes for the misc_features. + </li> + </ul> + + + + + <h3><a name="misc_attrib">misc_attrib</a></h3> + <p>Stores arbitrary attributes about the features in the misc_feature table.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#misc_feature">misc_feature</a> - + </li> + </ul> + + + + + <h3><a name="misc_set">misc_set</a></h3> + <p>Defines "sets" that the features held in the misc_feature table can be grouped into.</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#misc_feature_misc_set">misc_feature_misc_set</a> - Defines which features are in which set + </li> + </ul> + + + + + <h3><a name="misc_feature_misc_set">misc_feature_misc_set</a></h3> + <p>Defines which of the features in misc_feature are in which of the sets defined in misc_set</p> + <p><b>See also:</b></p> + <p>Tables:</p> + <ul> + <li><a href="#misc_feature">misc_feature</a> - + </li> + <li><a href="#misc_set">misc_set</a> - + </li> + </ul> + + + <hr> <h2>ID Mapping</h2> <p>Tables involved in mapping identifiers between releases</p> @@ -712,7 +856,8 @@ position it is relative to. CONTIG co-ordinates, also called 'raw contig' co-ordinates or 'clone fragments' are relative to the first base of the first contig of a clone. Note that the numbering is from 1, i.e. the very first base of the first contig of a clone is numbered 1, not 0. In CHROMOSOMAL co-ordinates, the co-ordinates are relative to the first base of the chromosome. - Again, numbering is from 1. + Again, numbering is from 1. The seq_region table can store sequence regions in any of the co-ordinate systems defined in the + coord_system table. </p> </dd> <dt> diff --git a/docs/schema_description/tables.txt b/docs/schema_description/tables.txt index de4fc3db16..8272c32823 100644 --- a/docs/schema_description/tables.txt +++ b/docs/schema_description/tables.txt @@ -15,7 +15,7 @@ This document gives a high-level description of the tables that make up the EnsE ||4a||Analyze genes - populate protein_feature, xref tables, interpro|| ||4b||ID mapping|| -This document refers to version ''15'' of the EnsEMBL core schema. You are looking at revision ''1.21''of this document. +This document refers to version ''15'' of the EnsEMBL core schema. You are looking at revision ''$Revision$''of this document. '''Diagrams:''' @@ -30,10 +30,11 @@ This document refers to version ''15'' of the EnsEMBL core schema. You are looki '''Fundamental tables''' * assembly - * chromosome - * clone - * contig + * assembly_exception + * attrib_type + * coord_system * dna + * dnac * exon * exon_stable_id * exon_transcript @@ -42,6 +43,11 @@ This document refers to version ''15'' of the EnsEMBL core schema. You are looki * gene_stable_id * karyotype * meta + * meta_coord + * prediction_exon + * prediction_transcript + * seq_region + * seq_region_attrib * supporting_feature * transcript * transcript_stable_id @@ -52,10 +58,15 @@ This document refers to version ''15'' of the EnsEMBL core schema. You are looki * analysis * dna_align_feature + * map * marker * marker_feature * marker_map_location * marker_synonym + * misc_attrib + * misc_feature + * misc_feature_misc_set + * misc_set * prediction_transcript * protein_align_feature * protein_feature @@ -98,14 +109,52 @@ This document refers to version ''15'' of the EnsEMBL core schema. You are looki -===clone=== -Contains information about BAC clones inside the EnsEMBL database. As this was the way that DNA came into EnsEMBL for the human genome, all DNA has to be specified in terms of BAC clones, even if they don't exist. Also, some of the BAC clones in early versions of the EnsEMBL database haven't been submitted to EMBL but were Sanger Institute internal BAC names. This is why clone has two different possible identifiers (and versions for each of them). Note that although there are many dates inside this table, they are not well maintained. The htg_phase column describes whether High Throughput Genomic sequencing is finished or unfinished: draft is 123, finished is 4. +===seq_region=== +Stores information about sequence regions. The primary key is used as a pointer into the dna table so that actual sequence can be obtained, and the coord_system_id allows sequence regions of multiple types to be stored. Clones, contigs and chromosomes are all now stored in the seq_region table. Contigs are stored with the co-ordinate system 'contig'. The relationship between contigs and clones is stored in the assembly table. The relationships between contigs and chromosomes, and between contigs and supercontigs, are stored in the assembly table. +'''See also:''' + + +Tables: + + * dna - 1:1 relationship to the dna table. + * coord_system - Describes which co-ordinates a particular feature is stored in. + + + + +===coord_system=== +Stores information about the available co-ordinate systems for this species. Note that there must be one co-ordinate system that has the attribute "top_level" and one that has the attribute "sequence_level". +'''See also:''' + + +Tables: + * seq_region - Has coord_system_id foreign key to allow joins with the coord_system table. + -===contig=== -A contig is a piece of DNA inside a clone that is contiguous i.e. not interupted by sequencing gaps. One or more contigs made up the BAC clone sequence. Due to this historical importance, they are currently the reference coordinate system for all features inside EnsEMBL, although not all species come in clones/contigs. Contigs directly link to dna table entries which contain the actual sequence information. Currently, fake clone and contig entries must be faked for genomes that don't have these things. The sequence is that of the contig, not that of the golden path, i.e. to construct the golden path from the dna entries, the sequence of contigs with an orientation of -1 must be reversed and bases complemented. The assembly table has the contig orientation (raw_ori). Note the length of the dna.sequence field is always equal to the appropriate length field in the contig table. +===seq_region_attrib=== +Allows "attributes" to be defined for certain seq_regions. Provides a way of storing extra information about particular seq_regions without adding extra columns to the seq_region table. e.g. +'''See also:''' + + +Tables: + + * seq_region - + * attrib_type - Provides codes, names and desctriptions of attribute types. + + + + +===attrib_type=== +Provides codes, names and desctriptions of attribute types. +'''See also:''' + + +Tables: + + * seq_region_attrib - Associates seq_regions with attributes. @@ -117,8 +166,14 @@ Contains DNA sequence. This table has a 1:1 relationship with the contig table. Tables: - * contig - 1:1 relationship to the dna table. + * seq_region - Relates sequence to features. * external_synonym - Allows xrefs to have more than one name + + + + +===dnac=== +Stores compressed DNA sequence. @@ -130,20 +185,25 @@ Describes how contig sequences make up the chromosomal sequence. The data in thi Tables: - * contig - + * seq_region - Stores extra information about both the assembled object and its component parts Concepts: - * co-ordinates - Chromosome start and end positions are stored in chromosomal co-ordinates whereas the contig start and end positions are stored in contig co-ordinates. * supercontigs - The mapping between contigs and supercontigs is also stored in the assembly table. -===chromosome=== -Describes chromosomes. Currently contains the name and length of each chromosome for the species. Currently also contains additional rows to allow genes to be stored even if the chromosome on which the gene appears is not positively identified. +===assembly_exception=== +Allows multiple sequence regions to point to the same sequence, analogous to a symbolic link in a filesystem pointing to the actual file. This mechanism has been implemented specifically to support haplotypes and PARs, but may be useful for other similar structures in the future. +'''See also:''' - + +Tables: + + * assembly - + + ===karyotype=== @@ -153,7 +213,7 @@ Describes bands that can be stained on the chromosome. ===exon=== -Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigs via the contig_* columns. The sticky_rank differentiates between fragments of the same exon; i.e for exons that span multiple contigs, all the fragments are in this table with the same id, but different sticky_rank values. +Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigsseq_regions. '''See also:''' @@ -161,10 +221,6 @@ Tables: * exon_transcript - Used to associate exons with transcripts. -Concepts: - - * sticky_rank - Differentiates between exons that span multiple contigs. - @@ -182,7 +238,7 @@ Concepts: ===transcript=== -TBC Note that a transcript is usually associated with a translation, but may not be, e.g. in the case of pseudogenes and RNA genes (those that code for RNA molecules). +Stores information about transcripts. Has seq_region_start, seq_region_end and seq_region_strand for faster retrieval and to allow storage independently of genes and exons. Note that a transcript is usually associated with a translation, but may not be, e.g. in the case of pseudogenes and RNA genes (those that code for RNA molecules). @@ -247,7 +303,7 @@ Tables: ===translation=== -Describes which parts of which exons are used in translation. The seq_start and seq_end columns are 1-based offsets into the *relative* coordinate system of start_exon_id and end_exon_id. i.e, if the translation starts at the first base of the exon, seq_start would be 1. +Describes which parts of which exons are used in translation. The seq_start and seq_end columns are 1-based offsets into the *relative* coordinate system of start_exon_id and end_exon_id. i.e, if the translation starts at the first base of the exon, seq_start would be 1. Transcripts are related to translations by the transcript_id key in this table. @@ -272,8 +328,20 @@ Describes the exon prediction process by linking exons to DNA or protein alignme +===prediction_transcript=== +Stores transcripts that are predicted by ab initio gene finder programs (e.g. genscan, SNAP). Unlike EnsEMBL transcripts they are not supported by any evidence. + + + + +===prediction_exon=== +Stores exons that are predicted by ab initio gene finder programs. Unlike EnsEMBL exons they are not supported by any evidence. + + + + ===meta=== -Stores data about the data in the current schema. Taxonomy information, version information and the default value for the type column in the assembly table are stored here. Unlike other tables, data in the meta table is stored as key/value pairs. +Stores data about the data in the current schema. Taxonomy information, version information and the default value for the type column in the assembly table are stored here. Unlike other tables, data in the meta table is stored as key/value pairs. Also stores (via assembly.mapping keys) the relationships between co-ordinate systms in the assembly table. '''See also:''' @@ -281,6 +349,19 @@ Tables: * assembly - The default value for assembly.type is stored in the meta table. + + + + +===meta_coord=== +Describes which co-ordinate systems the different feature tables use. +'''See also:''' + + +Tables: + + * coord_system - + ---- == Features and analyses == @@ -412,13 +493,14 @@ Tables: ===marker_map_location=== -Allows storage of information about the postion of a marker. +Allows storage of information about the postion of a marker - these are positions on genetic or radiation hybrid maps (as opposed to positions on the assembly, which EnsEMBL has determined and which are stored in marker_feature). '''See also:''' Tables: * marker - Stores marker data. + * marker_feature - Stores marker positions on the assembly. @@ -435,9 +517,71 @@ Tables: +===map=== +Stores the names of different genetic or radiation hybrid maps, for which there is marker map information. +'''See also:''' + + +Tables: + + * marker - Stores the original marker. + + + + ===repeat_consensus=== Stores consenus sequences obtained from analysing repeat features. + + + +===misc_feature=== +Alllows for storage of arbitrary features. +'''See also:''' + + +Tables: + + * misc_attrib - Allows storage of arbitrary attributes for the misc_features. + + + + +===misc_attrib=== +Stores arbitrary attributes about the features in the misc_feature table. +'''See also:''' + + +Tables: + + * misc_feature - + + + + +===misc_set=== +Defines "sets" that the features held in the misc_feature table can be grouped into. +'''See also:''' + + +Tables: + + * misc_feature_misc_set - Defines which features are in which set + + + + +===misc_feature_misc_set=== +Defines which of the features in misc_feature are in which of the sets defined in misc_set +'''See also:''' + + +Tables: + + * misc_feature - + * misc_set - + + ---- == ID Mapping == @@ -588,7 +732,7 @@ Links: ==Concepts== ''co-ordinates '' -: There are several different co-ordinate systems used in the EnsEMBL database and API. For every co-ordinate system, the fundamental unit is one base. The differences between co-ordinate systems lie in where a particular numbered base lies, and the start position it is relative to. CONTIG co-ordinates, also called 'raw contig' co-ordinates or 'clone fragments' are relative to the first base of the first contig of a clone. Note that the numbering is from 1, i.e. the very first base of the first contig of a clone is numbered 1, not 0. In CHROMOSOMAL co-ordinates, the co-ordinates are relative to the first base of the chromosome. Again, numbering is from 1. +: There are several different co-ordinate systems used in the EnsEMBL database and API. For every co-ordinate system, the fundamental unit is one base. The differences between co-ordinate systems lie in where a particular numbered base lies, and the start position it is relative to. CONTIG co-ordinates, also called 'raw contig' co-ordinates or 'clone fragments' are relative to the first base of the first contig of a clone. Note that the numbering is from 1, i.e. the very first base of the first contig of a clone is numbered 1, not 0. In CHROMOSOMAL co-ordinates, the co-ordinates are relative to the first base of the chromosome. Again, numbering is from 1. The seq_region table can store sequence regions in any of the co-ordinate systems defined in the coord_system table. ''supercontigs '' : A supercontig is made up of a group of adjacent or overlapping contigs. ''sticky_rank '' diff --git a/docs/schema_description/tables.xml b/docs/schema_description/tables.xml index 0e70d4a488..7b928e1c6d 100644 --- a/docs/schema_description/tables.xml +++ b/docs/schema_description/tables.xml @@ -25,29 +25,67 @@ <!-- ============================================================ --> - <table> + <table> - <name>clone</name> + <name>seq_region</name> - <description>Contains information about BAC clones inside the EnsEMBL database. As this was the way that DNA came into EnsEMBL for the human genome, all DNA has to be specified in terms of BAC clones, even if they don't exist. Also, some of the BAC clones in early versions of the EnsEMBL database haven't been submitted to EMBL but were Sanger Institute internal BAC names. This is why clone has two different possible identifiers (and versions for each of them). Note that although there are many dates inside this table, they are not well maintained. The htg_phase column describes whether High Throughput Genomic sequencing is finished or unfinished: draft is 123, finished is 4. </description> + <description>Stores information about sequence regions. The primary key is used as a pointer into the dna table so that actual sequence can be obtained, and the coord_system_id allows sequence regions of multiple types to be stored. Clones, contigs and chromosomes are all now stored in the seq_region table. Contigs are stored with the co-ordinate system 'contig'. The relationship between contigs and clones is stored in the assembly table. The relationships between contigs and chromosomes, and between contigs and supercontigs, are stored in the assembly table. </description> <used></used> - - <see></see> + + <see> + <tableref name="dna" reason="1:1 relationship to the dna table."/> + <tableref name="coord_system" reason="Describes which co-ordinates a particular feature is stored in."/> + </see> </table> <!-- ============================================================ --> - <table> + <table> - <name>contig</name> + <name>coord_system</name> - <description>A contig is a piece of DNA inside a clone that is contiguous i.e. not interupted by sequencing gaps. One or more contigs made up the BAC clone sequence. Due to this historical importance, they are currently the reference coordinate system for all features inside EnsEMBL, although not all species come in clones/contigs. Contigs directly link to dna table entries which contain the actual sequence information. Currently, fake clone and contig entries must be faked for genomes that don't have these things. The sequence is that of the contig, not that of the golden path, i.e. to construct the golden path from the dna entries, the sequence of contigs with an orientation of -1 must be reversed and bases complemented. The assembly table has the contig orientation (raw_ori). Note the length of the dna.sequence field is always equal to the appropriate length field in the contig table.</description> + <description>Stores information about the available co-ordinate systems for this species. Note that there must be one co-ordinate system that has the attribute "top_level" and one that has the attribute "sequence_level".</description> <used></used> + + <see> + <tableref name="seq_region" reason="Has coord_system_id foreign key to allow joins with the coord_system table."/> + </see> - <see></see> + </table> + + <!-- ============================================================ --> + + <table> + + <name>seq_region_attrib</name> + + <description>Allows "attributes" to be defined for certain seq_regions. Provides a way of storing extra information about particular seq_regions without adding extra columns to the seq_region table. e.g. </description> + + <used></used> + + <see> + <tableref name="seq_region" reason=""/> + <tableref name="attrib_type" reason="Provides codes, names and desctriptions of attribute types."/> + </see> + + </table> + + <!-- ============================================================ --> + + <table> + + <name>attrib_type</name> + + <description>Provides codes, names and desctriptions of attribute types.</description> + + <used></used> + + <see> + <tableref name="seq_region_attrib" reason="Associates seq_regions with attributes."/> + </see> </table> @@ -62,11 +100,27 @@ <used></used> <see> - <tableref name="contig" reason="1:1 relationship to the dna table."/> + <tableref name="seq_region" reason="Relates sequence to features."/> <tableref name="external_synonym" reason="Allows xrefs to have more than one name"/> </see> </table> + + <!-- ============================================================ --> + + <table> + + <name>dnac</name> + + <description>Stores compressed DNA sequence.</description> + + <used></used> + + <see> + + </see> + + </table> <!-- ============================================================ --> @@ -79,8 +133,7 @@ <used></used> <see> - <tableref name="contig" reason=""/> - <conceptref name="co-ordinates" reason="Chromosome start and end positions are stored in chromosomal co-ordinates whereas the contig start and end positions are stored in contig co-ordinates."/> + <tableref name="seq_region" reason="Stores extra information about both the assembled object and its component parts"/> <conceptref name="supercontigs" reason="The mapping between contigs and supercontigs is also stored in the assembly table."/> </see> @@ -90,19 +143,19 @@ <table> - <name>chromosome</name> + <name>assembly_exception</name> - <description>Describes chromosomes. Currently contains the name and length of each chromosome for the species. Currently also contains additional rows to allow genes to be stored even if the chromosome on which the gene appears is not positively identified.</description> + <description>Allows multiple sequence regions to point to the same sequence, analogous to a symbolic link in a filesystem pointing to the actual file. This mechanism has been implemented specifically to support haplotypes and PARs, but may be useful for other similar structures in the future.</description> <used></used> <see> - + <tableref name="assembly" reason=""/> </see> </table> - <!-- ============================================================ --> + <!-- ============================================================ --> <table> @@ -124,13 +177,12 @@ <name>exon</name> - <description>Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigs via the contig_* columns. The sticky_rank differentiates between fragments of the same exon; i.e for exons that span multiple contigs, all the fragments are in this table with the same id, but different sticky_rank values.</description> + <description>Stores data about exons. Associated with transcripts via exon_transcript. Allows access to contigsseq_regions.</description> <used></used> <see> <tableref name="exon_transcript" reason="Used to associate exons with transcripts."/> - <conceptref name="sticky_rank" reason="Differentiates between exons that span multiple contigs."/> </see> </table> @@ -158,7 +210,7 @@ <name>transcript</name> - <description>TBC Note that a transcript is usually associated with a translation, but may not be, e.g. in the case of pseudogenes and RNA genes (those that code for RNA molecules).</description> + <description>Stores information about transcripts. Has seq_region_start, seq_region_end and seq_region_strand for faster retrieval and to allow storage independently of genes and exons. Note that a transcript is usually associated with a translation, but may not be, e.g. in the case of pseudogenes and RNA genes (those that code for RNA molecules).</description> <used></used> @@ -257,7 +309,7 @@ <name>translation</name> - <description>Describes which parts of which exons are used in translation. The seq_start and seq_end columns are 1-based offsets into the *relative* coordinate system of start_exon_id and end_exon_id. i.e, if the translation starts at the first base of the exon, seq_start would be 1.</description> + <description>Describes which parts of which exons are used in translation. The seq_start and seq_end columns are 1-based offsets into the *relative* coordinate system of start_exon_id and end_exon_id. i.e, if the translation starts at the first base of the exon, seq_start would be 1. Transcripts are related to translations by the transcript_id key in this table.</description> <used></used> @@ -301,11 +353,41 @@ <!-- ============================================================ --> + <table> + + <name>prediction_transcript</name> + + <description>Stores transcripts that are predicted by ab initio gene finder programs (e.g. genscan, SNAP). Unlike EnsEMBL transcripts they are not supported by any evidence.</description> + + <used></used> + + <see> + </see> + + </table> + + <!-- ============================================================ --> + + <table> + + <name>prediction_exon</name> + + <description>Stores exons that are predicted by ab initio gene finder programs. Unlike EnsEMBL exons they are not supported by any evidence.</description> + + <used></used> + + <see> + </see> + + </table> + + <!-- ============================================================ --> + <table> <name>meta</name> - <description>Stores data about the data in the current schema. Taxonomy information, version information and the default value for the type column in the assembly table are stored here. Unlike other tables, data in the meta table is stored as key/value pairs.</description> + <description>Stores data about the data in the current schema. Taxonomy information, version information and the default value for the type column in the assembly table are stored here. Unlike other tables, data in the meta table is stored as key/value pairs. Also stores (via assembly.mapping keys) the relationships between co-ordinate systms in the assembly table.</description> <used></used> @@ -315,6 +397,23 @@ </table> + + <!-- ============================================================ --> + + <table> + + <name>meta_coord</name> + + <description>Describes which co-ordinate systems the different feature tables use.</description> + + <used></used> + + <see> + <tableref name="coord_system" reason=""/> + </see> + + </table> + </tablegroup> <tablegroup name="Features and analyses" description=""> @@ -579,6 +678,72 @@ </table> + <!-- ============================================================ --> + + <table> + + <name>misc_feature</name> + + <description>Alllows for storage of arbitrary features.</description> + + <used></used> + + <see> + <tableref name="misc_attrib" reason="Allows storage of arbitrary attributes for the misc_features."/> + </see> + + </table> + + <!-- ============================================================ --> + + <table> + + <name>misc_attrib</name> + + <description>Stores arbitrary attributes about the features in the misc_feature table.</description> + + <used></used> + + <see> + <tableref name="misc_feature" reason=""/> + </see> + + </table> + + <!-- ============================================================ --> + + <table> + + <name>misc_set</name> + + <description>Defines "sets" that the features held in the misc_feature table can be grouped into.</description> + + <used></used> + + <see> + <tableref name="misc_feature_misc_set" reason="Defines which features are in which set"/> + </see> + + </table> + + <!-- ============================================================ --> + + <table> + + <name>misc_feature_misc_set</name> + + <description>Defines which of the features in misc_feature are in which of the sets defined in misc_set</description> + + <used></used> + + <see> + <tableref name="misc_feature" reason=""/> + <tableref name="misc_set" reason=""/> + </see> + + </table> + + </tablegroup> <!-- Features and analyses--> <!-- ============================================================ --> @@ -782,7 +947,7 @@ <concepts> - <concept name="co-ordinates" description="There are several different co-ordinate systems used in the EnsEMBL database and API. For every co-ordinate system, the fundamental unit is one base. The differences between co-ordinate systems lie in where a particular numbered base lies, and the start position it is relative to. CONTIG co-ordinates, also called 'raw contig' co-ordinates or 'clone fragments' are relative to the first base of the first contig of a clone. Note that the numbering is from 1, i.e. the very first base of the first contig of a clone is numbered 1, not 0. In CHROMOSOMAL co-ordinates, the co-ordinates are relative to the first base of the chromosome. Again, numbering is from 1."/> + <concept name="co-ordinates" description="There are several different co-ordinate systems used in the EnsEMBL database and API. For every co-ordinate system, the fundamental unit is one base. The differences between co-ordinate systems lie in where a particular numbered base lies, and the start position it is relative to. CONTIG co-ordinates, also called 'raw contig' co-ordinates or 'clone fragments' are relative to the first base of the first contig of a clone. Note that the numbering is from 1, i.e. the very first base of the first contig of a clone is numbered 1, not 0. In CHROMOSOMAL co-ordinates, the co-ordinates are relative to the first base of the chromosome. Again, numbering is from 1. The seq_region table can store sequence regions in any of the co-ordinate systems defined in the coord_system table."/> <!-- TODO a diagram for all this --> <concept name="supercontigs" description="A supercontig is made up of a group of adjacent or overlapping contigs."/> diff --git a/docs/tutorial/ensembl_tutorial.doc b/docs/tutorial/ensembl_tutorial.doc index 48ad3ab407d6c12858d3b3f473c6c89d75ddf48e..99e4bb638ab7ea2f7dbe291c0c2832a32aa7e098 100644 GIT binary patch delta 27962 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 ZYP7=!^%8ocUu2-?je2W`aC9t?{}0IIT%-U1 delta 35346 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 diff --git a/docs/tutorial/ensembl_tutorial.pdf b/docs/tutorial/ensembl_tutorial.pdf index 34fa8f039adb4d94f3a0bce0e1dc10c8e8dda372..093991751125aae99c56a19f172d2b1bb81fa933 100755 GIT binary patch literal 36606 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 AQUCw| literal 126731 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�BP87Tak)JwZoL=w7N|+#kMU^xD(>{`MY6pRu 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 diff --git a/docs/tutorial/ensembl_tutorial.ps b/docs/tutorial/ensembl_tutorial.ps index 3b5fded7b5..b48974027f 100644 --- a/docs/tutorial/ensembl_tutorial.ps +++ b/docs/tutorial/ensembl_tutorial.ps @@ -1,11341 +1,4538 @@ %!PS-Adobe-3.0 -%RBINumCopies: 1 -%%Pages: (atend) -%%Title: (Microsoft Word - ensembl_tutorial.txt) -%%Creator: (Word: cgpdftops CUPS filter) -%%CreationDate: (Friday, September 05 2003 14:55:11 BST) -%%For: (michele) -%%DocumentData: Clean7Bit +%%BoundingBox: 0 0 595 842 +%%Creator: OpenOffice.org 1.0 +%%For: dta +%%CreationDate: Tue Feb 4 16:32:11 2003 +%%Title: Ensembl %%LanguageLevel: 2 +%%DocumentData: Clean7Bit +%%Pages: (atend) %%PageOrder: Ascend %%EndComments %%BeginProlog -%%BeginFeature: *JobPatchFile 1 - - (HP Color LaserJet 4500) product eq { - /findcolorrendering where { - /HP_sRGB_CRD - << - /ColorRenderingType 1 - /RangePQR [ -0.5 2 -0.5 2 -0.5 2 ] - /MatrixPQR [0.8951 -0.7502 0.0389 - 0.2664 1.7135 -0.0685 - -0.1614 0.0367 1.0296] - /TransformPQR - [{exch pop exch 3 get mul exch pop exch 3 get div} bind - {exch pop exch 4 get mul exch pop exch 4 get div} bind - {exch pop exch 5 get mul exch pop exch 5 get div} bind] - /MatrixLMN [3.240449 -0.969265 0.055643 - -1.537136 1.876011 -0.204026 - -0.498531 0.041556 1.057229] - /EncodeABC [{dup 0.00304 le {12.92321 mul} - {1 2.4 div exp 1.055 mul 0.055 sub}ifelse} - bind dup dup] - /WhitePoint[0.9505 1 1.0890] % D65 - /BlackPoint [0 0 0] - >> /ColorRendering defineresource pop - /findcolorrendering { pop /HP_sRGB_CRD true } bind def - }if - }if -/limitinterpolate { dup type /dicttype eq { dup /Interpolate known { dup /Interpolate get { - 1 1 idtransform 2 index /ImageMatrix get dtransform exch abs 1 exch div exch abs 1 exch div 2 copy lt - { exch }if pop 4 lt { dup /Interpolate false put } if } if } if } if -} bind def -/image { limitinterpolate systemdict /image get exec } bind def -/imagemask { limitinterpolate systemdict /imagemask get exec } bind def -%%EndFeature -%%BeginFile: cg-pdf.ps -%%Copyright: Copyright 2000-2002 Apple Computer Incorporated. -%%Copyright: All Rights Reserved. -currentpacking true setpacking -/cg_md 100 dict def -cg_md begin -/L3? languagelevel 3 ge def -/bd{bind def}bind def -/ld{load def}bd -/xs{exch store}bd -/xd{exch def}bd -/cmmtx matrix def -mark -/sc/setcolor -/scs/setcolorspace -/dr/defineresource -/fr/findresource -/T/true -/F/false -/d/setdash -/w/setlinewidth -/J/setlinecap -/j/setlinejoin -/M/setmiterlimit -/i/setflat -/rc/rectclip -/rf/rectfill -/rs/rectstroke -/f/fill -/f*/eofill -/sf/selectfont -/s/show -/xS/xshow -/yS/yshow -/xyS/xyshow -/S/stroke -/m/moveto -/l/lineto -/c/curveto -/h/closepath -/n/newpath -/q/gsave -/Q/grestore -counttomark 2 idiv -{ld}repeat pop -L3?{/csq/clipsave ld/csQ/cliprestore ld}if -/SC{ - /ColorSpace fr scs -}bd -/cgmtx matrix def -/sdmtx{cgmtx currentmatrix pop}bd -/CM {cgmtx setmatrix}bd -/cm {cmmtx astore CM concat}bd -/W{clip newpath}bd -/W*{eoclip newpath}bd -statusdict begin product end dup (HP) anchorsearch{ - pop pop pop - true -}{ - pop - (hp) anchorsearch{ - pop pop true - }{ - pop false - }ifelse -}ifelse -{ - { - { - pop pop - (0)dup 0 4 -1 roll put - F charpath - }cshow - } -}{ - {F charpath} -}ifelse -/cply exch bd -/cps {cply stroke}bd -/pgsave 0 def -/bp{/pgsave save store}bd -/ep{pgsave restore showpage}def -/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd -/scrdict 10 dict def -/scrmtx matrix def -/patarray 0 def -/createpat{patarray 3 1 roll put}bd -/makepat{ -scrmtx astore pop -gsave -initgraphics -CM -patarray exch get -scrmtx -makepattern -grestore -setpattern -}bd -/cg_BeginEPSF{ - userdict save/cg_b4_Inc_state exch put - userdict/cg_endepsf/cg_EndEPSF load put - count userdict/cg_op_count 3 -1 roll put - countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put - 3 sub{end}repeat - /showpage {} def - 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin - 10 setmiterlimit [] 0 setdash newpath - false setstrokeadjust false setoverprint -}bd -/cg_EndEPSF{ - countdictstack 3 sub { end } repeat - cg_dict_array 3 1 index length 3 sub getinterval - {begin}forall - count userdict/cg_op_count get sub{pop}repeat - userdict/cg_b4_Inc_state get restore - F setpacking -}bd -/cg_biproc{currentfile/RunLengthDecode filter}bd -/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd -/ImageDataSource 0 def -L3? -{ - /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd - /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd -}{ - /ImageBandMask 0 def - /ImageBandData 0 def - /cg_mibiproc{ - string/ImageBandMask xs - string/ImageBandData xs - /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx - /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd - }bd - /cg_miaiproc{ - string/ImageBandMask xs - string/ImageBandData xs - /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter - dup ImageBandMask/readstring cvx - /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd - }bd -}ifelse -/imsave 0 def -/BI{save/imsave xd mark}bd -/EI{imsave restore}bd -/ID{ -counttomark 2 idiv -dup 2 add -dict begin -{def} repeat -pop -/ImageType 1 def -/ImageMatrix[Width 0 0 Height neg 0 Height]def -currentdict dup/ImageMask known{ImageMask}{F}ifelse exch -L3?{ - dup/MaskedImage known - { - pop - << - /ImageType 3 - /InterleaveType 2 - /DataDict currentdict - /MaskDict - << /ImageType 1 - /Width Width - /Height Height - /ImageMatrix ImageMatrix - /BitsPerComponent 1 - /Decode [0 1] - currentdict/Interpolate known - {/Interpolate Interpolate}if - >> - >> - }if -}if -exch -{imagemask}{image}ifelse -end -}bd -/cguidfix{statusdict begin mark version end -{cvr}stopped{cleartomark 0}{exch pop}ifelse -2012 lt{dup findfont dup length dict begin -{1 index/FID ne 2 index/UniqueID ne and -{def} {pop pop} ifelse}forall -currentdict end definefont pop -}{pop}ifelse -}bd -/t_array 0 def -/t_i 0 def -/t_c 1 string def -/x_proc{ - exch t_array t_i get add exch moveto - /t_i t_i 1 add store -}bd -/y_proc{ - t_array t_i get add moveto - /t_i t_i 1 add store -}bd -/xy_proc{ - - t_array t_i 2 copy 1 add get 3 1 roll get - 4 -1 roll add 3 1 roll add moveto - /t_i t_i 2 add store -}bd -/sop 0 def -/cp_proc/x_proc ld -/base_charpath -{ - /t_array xs - /t_i 0 def - { - t_c 0 3 -1 roll put - currentpoint - t_c cply sop - cp_proc - }forall - /t_array 0 def -}bd -/sop/stroke ld -/nop{}def -/xsp/base_charpath ld -/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd -/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd -/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd -/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd -/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd -/refnt{ -findfont dup length dict copy dup -/Encoding 4 -1 roll put -definefont pop -}bd -/renmfont{ -findfont dup length dict copy definefont pop -}bd -end -setpacking -%%EndFile +/ISO1252Encoding [ +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +/at /A /B /C /D /E /F /G +/H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W +/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +/grave /a /b /c /d /e /f /g +/h /i /j /k /l /m /n /o +/p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /unused +/Euro /unused /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl +/circumflex /perthousand /Scaron /guilsinglleft /OE /unused /Zcaron /unused +/unused /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash +/tilde /trademark /scaron /guilsinglright /oe /unused /zcaron /Ydieresis +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron +/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered +/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown +/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis +/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply +/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls +/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla +/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide +/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def + +/psp_definefont { exch dup findfont dup length dict begin { 1 index /FID ne +{ def } { pop pop } ifelse } forall /Encoding 3 -1 roll def +currentdict end exch pop definefont pop } def + +/pathdict dup 8 dict def load begin +/rcmd { { currentfile 1 string readstring pop 0 get dup 32 gt { exit } +{ pop } ifelse } loop dup 126 eq { pop exit } if 65 sub dup 16#3 and 1 +add exch dup 16#C and -2 bitshift 16#3 and 1 add exch 16#10 and 16#10 +eq 3 1 roll exch } def +/rhex { dup 1 sub exch currentfile exch string readhexstring pop dup 0 +get dup 16#80 and 16#80 eq dup 3 1 roll { 16#7f and } if 2 index 0 3 +-1 roll put 3 1 roll 0 0 1 5 -1 roll { 2 index exch get add 256 mul } +for 256 div exch pop exch { neg } if } def +/xcmd { rcmd exch rhex exch rhex exch 5 -1 roll add exch 4 -1 roll add +1 index 1 index 5 -1 roll { moveto } { lineto } ifelse } def end +/readpath { 0 0 pathdict begin { xcmd } loop end pop pop } def + +systemdict /languagelevel known not { +/xshow { exch dup length 0 1 3 -1 roll 1 sub { dup 3 index exch get +exch 2 index exch get 1 string dup 0 4 -1 roll put currentpoint 3 -1 +roll show moveto 0 rmoveto } for pop pop } def +/rectangle { 4 -2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 +rlineto closepath } def +/rectfill { rectangle fill } def +/rectstroke { rectangle stroke } def } if + +/psp_lzwfilter { currentfile /ASCII85Decode filter /LZWDecode filter } def +/psp_ascii85filter { currentfile /ASCII85Decode filter } def +/psp_lzwstring { psp_lzwfilter 1024 string readstring } def +/psp_ascii85string { psp_ascii85filter 1024 string readstring } def +/psp_imagedict { +/psp_bitspercomponent { 3 eq { 1 }{ 8 } ifelse } def +/psp_decodearray { [ [0 1 0 1 0 1] [0 255] [0 1] [0 255] ] exch get } +def 7 dict dup +/ImageType 1 put dup +/Width 7 -1 roll put dup +/Height 5 index put dup +/BitsPerComponent 4 index psp_bitspercomponent put dup +/Decode 5 -1 roll psp_decodearray put dup +/ImageMatrix [1 0 0 1 0 0] dup 5 8 -1 roll put put dup +/DataSource 4 -1 roll 1 eq { psp_lzwfilter } { psp_ascii85filter } ifelse put +} def %%EndProlog +%%Page: 0 0 +%%PageBoundingBox: 18 18 577 824 %%BeginSetup -[{ -%%BeginFeature: *HPOption_500_Sheet_Feeder False -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *InstalledMemory Mem1 -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPOption_Duplexer False -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPColorAsGray False -<</ProcessColorModel /DeviceCMY>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPOption_PaperPolicy Prompt - - <</DeferredMediaSelection true>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *PageSize A4Small - - <</PageSize [595 842] /ImagingBBox null>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *MediaType Plain - - <</MediaType (Plain)>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *Duplex None - - <</Duplex false /Tumble false>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmBrightness Medium -userdict /HPwmSaturation { [ currentcmykcolor ] /DeviceCMYK setcolorspace { .55 mul } forall setcolor } put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmTextColor Black -userdict /HPwmColor { 0 setgray HPwmSaturation } bind put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmFontSize pt48 -userdict /HPwmSize 48 put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmTextStyle Medium -userdict /HPwmStyle { HPwmText false charpath HPwmColor .48 setlinewidth stroke } bind put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmText Draft -userdict /HPwmText (Draft) put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmFont HelveticaB - - /Helvetica-Bold findfont dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /MacEncoding where - { pop /Encoding MacEncoding def } - { /Encoding ISOLatin1Encoding def } ifelse - currentdict - end - /HPwmFont exch definefont pop -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmTextAngle Deg45 -userdict /HPwmAngle 45 put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmPages AllPages -userdict /HPwmLocation true put -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPCSGraphics MatchSmooth - -globaldict /ColorSmartColorMatching known { - MatchScreen ColorSmartGraphicsAdjustment - Smooth ColorSmartGraphicsHalftone -} if -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPCSImages MatchSmooth - -globaldict /ColorSmartColorMatching known { - MatchScreen ColorSmartImageAdjustment - Smooth ColorSmartImageHalftone -} if -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPCSText MatchDetail - -globaldict /ColorSmartColorMatching known { - MatchScreen ColorSmartTextAdjustment - Detail ColorSmartTextHalftone -} if -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPColorSmart Manual - -/setscreen { pop pop pop} def -/setcolorscreen { pop pop pop pop pop pop pop pop pop pop pop pop } def -/sethalftone { pop } def -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPCMYKInks Default - - << /CMYKInkSet 0 >> setpagedevice +% +%%BeginFeature: *PageSize A4 +<</PageSize [595 842] /ImagingBBox null>> setpagedevice %%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPGloss False - - <</GlossFinish false>> setpagedevice -%%EndFeature -} stopped cleartomark -[{ -%%BeginFeature: *HPwmSwitch Off -%%EndFeature -} stopped cleartomark -% x y w h ESPrc - Clip to a rectangle. -userdict/ESPrc/rectclip where{pop/rectclip load} -{{newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto -neg 0 rlineto closepath clip newpath}bind}ifelse put -% x y w h ESPrf - Fill a rectangle. -userdict/ESPrf/rectfill where{pop/rectfill load} -{{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto -neg 0 rlineto closepath fill grestore}bind}ifelse put - -% x y w h ESPrs - Stroke a rectangle. -userdict/ESPrs/rectstroke where{pop/rectstroke load} -{{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto -neg 0 rlineto closepath stroke grestore}bind}ifelse put - %%EndSetup -userdict/ESPwl{}bind put -%%Page: 1 1 %%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: FLBXYD+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /FLBXYD+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /n put - -dup 35 /s put - -dup 36 /M put - -dup 37 /B put - -dup 38 /L put - -dup 39 /space put - -dup 40 /T put - -dup 41 /u put - -dup 42 /t put - -dup 43 /o put - -dup 44 /r put - -dup 45 /i put - -dup 46 /a put - -dup 47 /l put - -dup 48 /R put - -dup 49 /e put - -dup 50 /v put - -dup 51 /colon put - -dup 52 /underscore put - -dup 53 /C put - -dup 54 /I put - -dup 55 /d put - -dup 56 /c put - -dup 57 /period put - -dup 58 /m put - -dup 59 /A put - -dup 60 /y put - -dup 61 /S put - -dup 62 /Q put - -dup 63 /h put - -dup 64 /P put - -dup 65 /b put - -dup 66 /j put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C93142184C9D9AF35B09B9B2CFE320E80E6018C5839BB77E6DFC734C6896F4C99C244CE505A49A1B5546A936CBF27495626AD5449DF4E2746350D4D7BA10A2387C9F12F0AF0606311F5CECE6A44E311B2158532C3FB903B77C56774FCBB3623386DDF5E5BDA93D00215EFA6869AB3210D296AABBF64903D82657A3E5D7E64C118BF24D742A4E0F87CE1001B8B7F0EA00C939B401DFD75810189A9B4FFC73A560A34B511DA483665501A21651E6B08AF23479D0C6D51F64FC24A68D06580998B15B931EE0714266FFFDF718B6358213AAE7EE2D5E0E2FF2D676CAD973D1FA67D8DDBEE7E5F61F3AEFFF29DD0272C357D0BD66FDBC25A2938A45BA79ACABE53905440E1A466B5291E5793B08BCB90DB5D8D37C3555A842773751B114A0FD6A941DAE20C1D4A93E1F461593EC32F646EE6DF53D535E46E9A0AE75878CA699BBB97F521C21D1DADD07192D362AF43F0202BDCB284A627E9A761539571A59B56B4A9005E24E21475BB0DF3CAAD3210C216BC3105EE0CCA17633CA373FCDF5E4529AA61C9F59756935D1F19C12C132F547282A506A481F91225C3FD31F068CA8F2F55FCCDFDC937C24A8D3ECAA283ED524F991D91809F1E1B91E2DF8D1C3366C0D1D31A011D5DFC913225D4E01A6096C06732EB071A0A9D123519A92CBDE6C1C9020411FDD88D303FF0242F725CEB77E6F0B532F3AF83E80039B4DCE84CD5B3DD0E27A4AF55B3EF42DC946CB6AC6878853C95B3E02BF7ED63D60683175FB4D9FB7ADA0FA7 - -57EC24901D3967B381C7632B6B9FCF43698237B340C81B0CADDBD74AC97A6D7BE12832B9F7B0D03E9F837BC61714D31790E02E8C95ACF49D73524B348A16D46D7EF5120EC71058E11F046437C04E8966D78123915BD2F920F25B3BFE8622EF03A68B512F40E85B5522295190994074D3DA2380886B1E8299D4B2DFA4E53AC36CDE0F16F4035440376A74DD4881AFF61AFA7DD158243F1A52614F7C47D4B78F257DF0677E618F4B3DDB667F3BD35F8CF4B85EC537D7B286B4E0188C8BAFDDE4ED0AB65058BAF1CADC9D5774FE3D6D8FE675FFB5B0D57944AF34B273B861FABA374FF08D83339B1AA048E5FA5E383E30287361EFEA9C72D70FD6FAD3A03D9C334813EE969DCAD5212EEA7D3DE010984A7F69F712716754E8E023B314FEC6C6A2149D60D9508464FEE182E4ADC8081274CB6A2E3FB8881214AC716C063E85FFBF75A2839105C8E5C42799B0288B995A6A2DE8C789B56BA427C00509CFA8D12AC1174F3E6D9C72F2E7474B8E945383A9AFCBFFB0042AC70776B8A8A2E7426E4DD8211B30AF33820CB24F2B974303F344BB1404C75A1AA36458D0888108A0251C44120515EF2229EE6A2752E5F08BB5AC4B0CEC0ECA376141C41731A5579610A1D579D0F5E278185ACFB68F09F5199CC2CD6A780E264582F52EE9A85F97A5B7935DBD355B9ECDF5340E60179E432E9B8859A659B4D3A9AB640524A0E26B24A2167BBA25CCE88FEBD0AD6444EDB92444BB5C188F77AED5804726C9878A17DB17506C857EF419090E4D1164BD9F531C6BFC65139F63FA548711E8E058C29D06AB6C0FD12108DBAA7602F4DE4C8B12032DF094009EE5E023C83F30AABF5FE2E195DF42AD793C075F8FCB1EC4C42D161A5FBE16AC1E24FBF8767EA13C9FFA805A822AD067DF62C25321C66C8E6AEA9E23A64529F05FCE282DD25D0CE90903BBAB88C57824E762A5D834CBB0021B8219489ED8AE28B74C012148A4151E723F58E72D445638899A33822185D06BB8C19893B26ECB50119E91BD94C550A15B0FCD2AA75FD5D17C0B1ECDE3153FF6DE089CFD2D497199DCE924BEBFDE72AA2F674AB6B839385CBE1F3C2D0C4CFE47AA6208FF14AA8A1EA82925049A42D141D590443F150223F514873BBC5D842E1952791826EB8A41B1CED08AA13BBECD9728EAF3BE80EB894DB5FF491A07990A3AC16EE58F7E199CB91B5584D8DD90834D44331B5DE0FC4A147EAE2579A37E2E8013C33FD54373A0EF8AFF8CE32976BD4FA426BBCA83C67C78D0B347A615DB1EDFA5ACFA19E59BA6E3178A6625EC1476F5671971D4F65B5D7B5B418BFF228212CBBA241F10D8AA0413665A458EE8516BC8908FF65ACDF1B9681AADA5FCF383938ABE4441573A8474D4719B4CD4E489BBAA76C7AD8F151CA2E0F35AB9A43D65BC349E8ABB2C272752C24017BA30F2C3D811886601E8E643B095 - -265F99E2E85C11174372A465FB5937C5381F3E18FB3C34E8550161B66DA76AF7C014550D64CA6058A445DB7615719EB93277CA59BF19D7D7E25299766D9154D49EB5CD16F2F1D9117AEAD157D39567565C350755F428549DD60E839F9C3C2CFD80ADDCFC5204A48F751B72F4CC36DF54A54E6D6CE3FD20C779128B852B1EF9EBA62B974303B4027504EC6469A136B7A6DCCD7CF61C0FA6A14FFCAF5F356AB83F909DDDB405CD680AF86356BD6F275BC4494D5642A3983B94092ABE400A772CCD4EFAAD8775C18ECC3F08DDFCE01BD31A1AC3C857A78559A68FB535EDDBF8542F6484DCC6F0A0D19013B220B10A9FCF5D73CC314C0FF44569A11389D47498ADFC68ECE46D525F18875663E18BCB9BE02F5FA5B34947F778626D26612C627CE51A97E39F8B59BB0D00DDD6B10B8745F9D6C72DD67A2A753D627A9E5626330A784A0EE34BFD20F7350BD82B4729B21066929FE71F66FCE3BD26B68FD7CBC7749CF18A4E4FE3753254525304B6029E7E9F059C3768C997F40FD6152B3A2219A99A9CCDFD603DB6EDC4F2A2F27207BFE6B68F5066B8454B3FA04CC4981FA7FA047ED08EF0AD9647170B6AD2055839C6E9700B7B286D25273D3CB84FFBBBA3B36C04308FDACCEF22937106821DC78105704304828D75D32DCE05FBEE75F13F3330A4A4C303EFB6D75D84510651031028156E2F202C4D89C181513E889DBCE527639DDEE901B4816AAE9D5C962312711B8DEBA5D8C12B5BDBE9ED9200BC00B2EE47D85BD43E641BE4FA5EC9CFA070255903D67AF55604E7F77B1D4EAE65D3CFF12C9AB65997EBBBB389A3838B7E10C7FBDC20F63F8CE79B7F5E06CFA32DF321C9F40238347D7D2F9C8CA2F33755B42BE28DE0D92BF17A37F394772B411BCD1E0D6EDBB67750A2FF4CB2FFB658354FDCEDC982ADD56EAF854DA8BC553FD3296EE259FDEE44ECE2EE9EB71340B65B238BCE71985B7CF147C7A689683323D28492C25E69834401125BD1625A8106447A5A22315F4000C4D54821106C81DC2007D1DF6BA2A8F0231ED7731868F840EE48F4BD8E062949412EC66AE95364EB6E3BC467F8E2203F7C6911FECC05E7EEF4BF6FC50CD555B9AE81FDF38A95D7B7F2128B13AFA1E47324BB0B7E69799F07EE23DA8D29CA9B499CDDF200E8622FFBBFBC202B9EC99C0ACEC7EE823F8FA34DEEC0B5E0D08A1F28B8017AFE12199F49D6C5FAA3A3BD7254E3CA468C0CC628F91E255A787608FEBDB2B34BDD98FF9426A4C335C81EB254E5A0BDB5E9916A80F96F29658EE1B7FCFF4E5B6F804BE898EC91AF9FC27486CE192F14273AEE7CFA226548690168AB52080314672FBDFFA6B4C3AC20FF00701DEE67599F19059B37559A1D53AE051A4CE2C9D0065D48BC6B4398B3E55C28930DCD911C81A3E2D9F13D35FA8C637DC36A295C20B3690E39EECE8C6052F2292B46 - -740FF1D0001247A162E3B4535AE64939238D94903332CEF7579044726F428689EFE104A467289CABB88CDB6AD2834D9F11855BC2D0DD82BFA6A82F6D0D581D81100901DFB00993B84493C5C5C9F570BB4A5E0BF27FF57ADC837D0705F21E066EDA3C3F8409B24D30E02308C6A77EDD2D4CE96297543BDFA76DEFB79400BF710DA2343B5A2A8046F796A465DFF4D53E681F6C7EC442441C65FC36B374AD52A1EE28E01F0C694E3152EB279EE51257B632E4783A1F481FB73525ECA7748746B67FE89D0EEA8CABCFD6F299F5AD75C8DCB9CEBCBBFB32F1B41E8ACF6659BE941E51427DB052BFC14A2F666AE2DCC75EFBEA7E85DE2E2348792ADA821128CFB6137EB7574371FE885FCC161488401870CB9ADE5E5559F820EFB299D6C2350DFCBA9204ABBEC4F128EB31D33E2B0E58FC953551728723452CD2F48FA4CE9B453E6746A93F9BEE24169AD25AF8D293DC8847744D7FE878E9071F94BB28879075CAC61DFD10735E1B5356D13AF36023B190FDEED65181644E4B95DA2E7209B2A4F1E2F5F96A6F3881AEEB3E818FDE11CB527CE1E8879F0D814998435FFD7524D5DD0F6B49C5E123BBA014C8AACD8EDE9AF25058095A00B302BCD3AE6300EFC72EA42C15D6C5C4AE08E8CACF269F7F537DFC2B2E0579F8035E50E34EBB2DC0565AB1502217F5CCA2BF4C312057F1F51C21E86ADBD2C24864316254F5230DD190578D3676C5B76BAFBC5B314E61C336852EA4B1A95695BE4530E42C733EAA68E91C6576D40BCA368EB3F281BCD94057B7E9268C91467F3D3C853E52C5CE946AB8ECFF13948B936773848A0A440255280AFE882C58FDC83F98D0F7AEC212E0260FB46C2863253F11675199BAC827FCC12B69489D9A1743491C624A5AF667EBF4365FA2C3B176DAF6019A8BAEA79149C1E1ED4A13511E5D77C46ECD8CF0F4CAD097A4C0284B71D4C03625417BB9B895620876DDAAD2417870EA29E9BA8B28E97C1943D39FBFC99A8B3510943023C3FE543DA9AB19558B1AF0EAEF58431A91D748F23F96307444B5A034077CE63043E1BB865B9253191B430069A23FEEF09B075EC9FC2068CDCA67105FA4B0D5039B082D03807D018C7BF3D18DEF9805AF0A62E40CA03677964AB959905BB8C33C0655971F3E0EFA53015DE2848D791CB0D28208874360A7C1869394970E26B8409B34018DFC0D1F73F75A794FEDC2A23988912AF26FFB36BF2FCCFA3C62CD3D7A107F51C22F8993787880175FDA0450AA3BEA346E96232D1B93E6FA3C54DB97C8B94675B156AEEEC17CF55186A725CC2D4F2832F3F2B0C077702DC6FD36A82A0D81936A734D6BA8C653F1F75F1B95F9B8407A1C97D33B33187926754FE1C0E29843BD357AC106DA6245079631DED556D99638ACDE4FFDE357F30D399DA201B1A43953E99CE420A357C58864E0B94B59E0ECA637D4FE353301 - -22362280A816D573837CE6C54B545D496545E7D13909E7D9808607B1FB22E6C322654A0330F630B31513BEA2ABD95F090D66142B941CD52373F4D44243C02A689B428EC814C684A1A4190C7D449EC2C5592004BFA065DD49BF8D4B1C90BA62E8E71B4198E2EBECCB9382DC113B2DF313DA8B43BE596A62293820BC4603CCB57518D07F069EB1DF1229598B8FC27998F27518D4A3228E8038E8C89F265BA4C432275121B53B1FA1276520D6EF0482B09E447F1F8B647CF9675C50F0EEB3CCB7F3AF85EEC829B033350F5CC621525420ABF05BDDF0E42981BCB5B257D74E68744B847074062CC854C0ADF15EC3D08969DD02D51447C7BF4EFD1FE00F6214762F68FED112B0CE2E2ED718A97CBE715B85277FE81501389AF0DC41828356D52C03F72D497DDB84D58E8DBEA9C233331D2E8C3B222D37035C0FD68780BD7A42E9C38F4A6A8284B3E49E26AEF411A2CEFD8B11DA981652E476EC86E373D72A4C76C165B2F5D4321EBBE0517719AF5D1ECEE424483DBE0A10928D405C722B0697A314C7A2FFE7873814D73C87C77D6F405FC8AF470A1CD5A70E71A38E7D5F62EB9E48AB3F09594A25A7C8FF5C9D521D02DF7863A84F83F5027695037599B7E93DDCD8B2C5A4591CD013A108A708D219CEF313BD536256CD0F11F0BD28EDF018258CFFC78F457CF5D7EA32F438CF76462297C87FF7824CE0514920EA10DB167086D99C0F28867937ECC08AD548AFA35CCE21977A66A16CF794986DF9CA65F3C86081B416FFF219519379A8DB657786FF5F08C6C9A2C7EA34356DE75878F48AF3AFDF5A3B56F1592FA22A667945207FD05D65984132C5808093F26CE7FE8026ACD393EBBE1BADB5B56CB0A14A53B271D6DDEF67438356F3F99ADB27C3D6CB0A1E2398F306B90BE2DF1F122B319A4E554BFD4245B14A9A42BE3238357278CF9BD2EB9CD87399DA8885B4F6A7F13B856D8EE097A5BF04F08FADFBBECCA2C324A81C8E8598E1C178E1E8B4939A52695E1896221EEC4A6000B0C8D4E82FB272E7CAF68E9AC076300A93DF4A4C07F413312097CBBC47F156580600BC0CDF59F971AC3E918FF6A3B331B045FBDC03BD98FCA13BE3DFBAF24D231D37C1AFD5C625544EC312B2F94A788CD724DE2A020B84812D5F94D38B4A2D6C8083ECE17972EDDE21EECCE8871810A03C41F5E20FDF4C0EDE725979A94E2FC9056E0C6A97E674D132FD94E4E6480CFD53995C9E82F9BB205D143018EC7FF93EEA9F63B34E - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/FLBXYD+Helvetica-Bold cguidfix -/F1.1/FLBXYD+Helvetica-Bold renmfont -%RBIBeginFontSubset: LAFEAH+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /LAFEAH+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /b put - -dup 34 /y put - -dup 35 /space put - -dup 36 /M put - -dup 37 /i put - -dup 38 /c put - -dup 39 /h put - -dup 40 /e put - -dup 41 /l put - -dup 42 /C put - -dup 43 /a put - -dup 44 /m put - -dup 45 /p put - -dup 46 /parenleft put - -dup 47 /n put - -dup 48 /d put - -dup 49 /r put - -dup 50 /v put - -dup 51 /s put - -dup 52 /slash put - -dup 53 /u put - -dup 54 /t put - -dup 55 /E put - -dup 56 /w put - -dup 57 /B put - -dup 58 /comma put - -dup 59 /D put - -dup 60 /A put - -dup 61 /G put - -dup 62 /V put +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +75 281 moveto +0 0 0 setrgbcolor +/Helvetica-Bold-iso1252 findfont 58 -58 matrix scale makefont setfont +<456E73454D424C205475746F7269616C> +show +88 366 moveto +/Helvetica-iso1252 findfont 50 -50 matrix scale makefont setfont +<6279204D696368656C6520436C616D702028616E6420726576697365642F757064617465642062 +79204577616E204269726E65792C2044616E20416E647265777320616E642047726168616D204D63 +5669636B657229> +show +88 467 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<5265766973696F6E733A20> +show +312 467 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4542204F637430312C204D43204A616E30322C204D43204D617230322C204441204A756C30322C +206E657720415049207265766973696F6E204441204F637430322C20474D56204F637430322C2044 +41204665623033> +show +380 567 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F> +show +88 667 moveto +<436F6E74656E7473> +show +88 767 moveto +<496E74726F64756374696F6E2E> +show +88 817 moveto +<52656D6F74652041636365737320746F20456E73454D424C20766961204D7953514C2E> +show +88 867 moveto +<496E74726F64756374696F6E20746F20746865205065726C206F626A656374204150492E> +show +238 917 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<436F6D70616E696F6E2073637269707420616E64206578657263697365732E> +show +238 967 moveto +<5768617420646F65732074686520636F726520456E73454D424C20646174616261736520636F6E +7461696E3F> +show +238 1017 moveto +<5365742D75702E> +show +238 1067 moveto +<436F6E6E656374696F6E2E> +show +238 1117 moveto +<427573696E657373206F626A6563747320616E64206F626A6563742061646170746F72732E> +show +238 1167 moveto +<4C657427732067657420736F6D6520646174612E> +show +238 1217 moveto +<436C6F6E657320616E6420526177436F6E746967732E> +show +238 1267 moveto +<536C696365732E> +show +238 1317 moveto +<536C6963657320767320526177436F6E746967732E> +show +238 1367 moveto +<53657175656E63652066656174757265732E> +show +238 1417 moveto +<416E616C79736973206F626A65637473> +show +238 1467 moveto +<4F7665726C617073> +show +238 1517 moveto +<47656E65732E> +show +238 1567 moveto +<537570706F7274696E672065766964656E63652E> +show +238 1617 moveto +<50726564696374696F6E207472616E736372697074732E> +show +238 1667 moveto +<5472616E736C6174696F6E2E> +show +238 1717 moveto +<50726F7465696E2E> +show +238 1767 moveto +<45787465726E616C20646174616261736573202D207468652067656E6572616C20696465612E> +show +238 1817 moveto +<534E50732E> +show +238 1867 moveto +<4D61726B657246656174757265732E> +show +238 1917 moveto +<412066696E616C2C2062757420696D706F7274616E742C206E6F746520746F207573657273206F +66206F6C6465722076657273696F6E73206F662074686520456E73454D424C20415049202D204C69 +73747320616E64204C697374205265666572656E636573> +show +380 2017 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F> +show +88 2117 moveto +<496E74726F64756374696F6E> +show +88 2229 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<497420697320696D706F7274616E7420746F207573207468617420796F752073686F756C642062 +652061626C6520746F2061636365737320746865206461746120696E20456E73454D424C20646174 +61626173657320617320656173696C7920617320706F737369626C652E2020546F2074727920616E +64> +show +88 2279 moveto +<6D6565742074686520646966666572656E74206E65656473206F6620766173746C792064696666 +6572696E672064617461207573657273207765206861766520646576656C6F7065642061206E756D +626572206F6620696E746572666163657320746F2074686520456E73454D424C20646174612E> +show +88 2329 moveto +<596F75206172652070726F6261626C792072656164696E67207468697320646F63756D656E7420 +62656361757365207468652077656220696E746572666163652C207768696C65206265696E672076 +6572792070726574747920616E6420666173742C20697320707572656C79206120776562> +show +88 2379 moveto +<696E7465726661636520616E6420776F6E27742070726F7669646520746865206B696E64206F66 +2062756C6B20696E666F726D6174696F6E20796F7520617265206E656564696E672E202049662079 +6F752061726520612062696F696E666F726D6174696369616E2077686F206973205065726C206177 +6172652C> +show +88 2429 moveto +<746865204150492074686174207468697320646F63756D656E7420646573637269626573206973 +20676F696E6720746F20626520766572792075736566756C2E20204E6F74206F6E6C792063616E20 +796F752072657472696576652064617461206469726563746C79207468726F75676820796F7572> +show +88 2479 moveto +<736372697074732C20746F206569746865722072656D6F7465206F72206C6F63616C20456E7345 +4D424C206461746162617365732C20796F752063616E20646F2071756974652061206C6F74206F66 +20646174612070726F63657373696E67207669612074686520746F6F6C73206275696C7420696E74 +6F> +show +88 2529 moveto +<7468652041504920646174612074797065732E2020486F77657665722C206120706F696E742074 +686174206E6565647320746F206265206D616465206E6F77206973207468617420796F75206D6F73 +742070726F6261626C7920444F4E2754206861766520746F20757365207468697320415049> +show +88 2579 moveto +<696620796F75722064617461206E65656473206172652072656C61746976656C792073696D706C +652E2020496E73746561642C20796F752063616E207573652074686520707572706F73652D627569 +6C7420646174612D6D696E696E6720746F6F6C2063616C6C656420456E73454D424C204D6172742E> +show +88 2629 moveto +<576520646F6E27742077616E7420746F20636861736520796F7520617761792C20627574206966 +20796F7520686176656E277420616C7265616479206C6F6F6B6564206174204D6172742028777777 +2E656E73656D626C2E6F72672F456E734D6172742F29207765> +show +88 2679 moveto +<656E74687573696173746963616C6C7920656E636F757261676520796F7520746F20646F20736F +20736F6F6E2E20> +show +88 2779 moveto +<4F6B61792E2020496620796F7520617265207374696C6C20686572652C20676F6F642E20204E6F +772077652063616E2074616C6B2061626F757420616363657373696E6720456E73454D424C206461 +746162617365732C20626F7468206469726563746C7920616E64207468726F75676820746865> +show +88 2829 moveto +<5065726C204150492E202054686520666F6C6C6F77696E6720646F63756D656E7420636F766572 +732074776F2062726F61642061726561732E20205468652066697273742073656374696F6E207065 +727461696E7320746F20616363657373696E6720746865207075626C696320456E73454D424C> +show +88 2879 moveto +<4D7953514C2073657276657220286B616B612E73616E6765722E61632E756B2920616E64207275 +6E6E696E672071756572696573207769746820796F7572206F776E2053514C2E2020546865207365 +636F6E6420616E64206C61726765722073656374696F6E2077696C6C> +show +88 2929 moveto +<696E74726F6475636520796F7520746F2074686520456E73454D424C20636F7265204150492E> +show +88 3029 moveto +<496E2067656E6572616C2C207765277665206E6F74696365642074686174207468652062657374 +206C6561726E696E6720726F75746520666F7220646576656C6F70657273207374617274696E6720 +746F2075736520456E73454D424C20697320617320666F6C6C6F77733A> +show +showpage +grestore grestore +%%PageTrailer -dup 63 /k put +%%Page: 1 1 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Times-Roman-iso1252 /Times-Roman ISO1252Encoding psp_definefont +/Helvetica-Oblique-iso1252 /Helvetica-Oblique ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2A2020506C61792061726F756E642077697468207468652064617461206F6E206B616B612E7361 +6E6765722E61632E756B2077697468206A7573742061204D7953514C20636C69656E742E> +show +88 315 moveto +<2A20205374617274207573696E6720746865206F626A656374206C617965722041504920285065 +726C2062617365642920616761696E7374206B616B612E73616E6765722E61632E756B2028796F75 +2077696C6C206E65656420746F20646F776E6C6F616420456E73454D424C20616E64> +show +88 365 moveto +<62696F5065726C20736F667477617265292E> +show +88 415 moveto +<2A2020496E7374616C6C20746865206461746162617365206C6F63616C6C792E2020596F75206D +61792061732077656C6C20696E7374616C6C20746865207765622073697465206C6F63616C6C7920 +7768696C6520796F75206172652061626F75742069742C2061732069742069732070726574747920 +6561737920746F> +show +88 468 moveto +<67657420757020616E642072756E6E696E67> +show +438 468 moveto +/Times-Roman-iso1252 findfont 48 -48 matrix scale makefont setfont +<2E> +show +88 568 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F6620636F757273652C20796F75206D696768742077616E7420746F206A756D70207374726169 +67687420746F20696E7374616C6C696E672074686520456E73454D424C2077656220736974652C20 +6F72207468652064656C766520696E746F20746865205065726C204150492E2054616B6520796F75 +72> +show +88 618 moveto +<7069636B2E> +show +88 718 moveto +<416C7465726E61746976656C792C20796F75206E656564206E6F206C6F6E676572206665656C20 +636F6D70656C6C656420746F20757365205065726C20746F20776F726B206469726563746C792077 +69746820456E73454D424C206461746162617365732E2020496620796F752077616E7420746F> +show +88 768 moveto +<776F726B20696E204A61766120796F752073686F756C6420646566696E6974656C792068617665 +2061206C6F6F6B206174207468652072617069646C792067726F77696E67204A6176612041504920 +287777772E656E73656D626C2E6F72672F6A6176612F292E202054686973206973206E6F742061> +show +88 818 moveto +<7375626A65637420636F766572656420696E207468697320646F63756D656E742C20736F206966 +20796F752061726520696E746572657374656420706C6561736520686176652061206C6F6F6B2061 +7420746865204A61766120737065636966696320646F63756D656E746174696F6E2E> +show +88 918 moveto +<43757272656E746C792C2061207261746865722068617264207468696E6720746F20646F206973 +20746F207573652074686520456E73454D424C20736F6674776172652073797374656D20746F20> +show +1539 918 moveto +<67656E6572617465> +show +1704 918 moveto +<20666561747572657320> +show +1879 918 moveto +/Helvetica-Oblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<6465206E6F766F> +show +2028 918 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2028> +show +2053 918 moveto +/Helvetica-Oblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<692E652E> +show +2109 918 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2072756E20746865> +show +88 968 moveto +<67656E65206275696C64696E672070726F63657373292066726F6D207261772073657175656E63 +652E2020546869732069732063616C6C6564207468652022706970656C696E65222E2020> +show +1448 968 moveto +<546F20696C6C7573747261746520746869732C207468657265206172652070726573656E746C79 +206E756D65726F7573> +show +88 1018 moveto +<72656D6F746520456E73454D424C2077656220736974657320627574206F6E6C79206120636F75 +706C65206F662072656D6F746520706970656C696E6573> +show +1299 1018 moveto +<2E2020576520657870656374207468617420646F63756D656E746174696F6E20616E6420756E64 +65727374616E64696E67206F66> +show +88 1068 moveto +<74686520706970656C696E652077696C6C20696D70726F7665206173206D6F726520616E64206D +6F72652070656F706C6520617474656D707420746F2072756E2069742072656D6F74656C792E2020 +54686520646F63756D656E746174696F6E206F662074686520706970656C696E652074686174> +show +88 1118 moveto +<646F65732065786973742069732073746F72656420696E206F757220435653207265706F736974 +6F72792C2077686963682069732065787465726E616C6C792061636365737369626C652E20205065 +72686170732074686520656173696573742077617920746F206F627461696E207468657365> +show +88 1168 moveto +<646F63756D656E747320696E207468726F756768206F7572207765622D4356532028687474703A +2F2F6376737765622E73616E6765722E61632E756B2F6367692D62696E2F6376737765622E636769 +2F656E73656D626C2D646F632F292E2020596F752061726520756E6C696B656C7920746F> +show +88 1218 moveto +<6765742074686520706970656C696E6520776F726B696E6720313030252070726F7065726C7920 +776974686F7574206120626974206F662068656C702C20736F20696620796F752061726520686561 +64696E6720696E207468697320646972656374696F6E206C6574207573206B6E6F7720616E642073 +6179> +show +88 1268 moveto +<68656C6C6F2E> +show +88 1371 moveto +<466F72206F7468657220456E73454D424C20646F63756D656E746174696F6E2C20686176652061 +2062726F777365207468726F7567682074686520456E73454D424C2077656220736974652028> +show +1654 1371 moveto +0 0 1 setrgbcolor +<7777772E656E73656D626C2E6F7267> +show +1654 1375 333 2 rectfill +1987 1371 moveto +0 0 0 setrgbcolor +<2920616E6420666F6C6C6F7720746865> +show +88 1421 moveto +<22446F63756D656E746174696F6E22206C696E6B2E2020546869732073686F756C64206C656164 +20796F7520746F2061206E756D626572206F662075736566756C20226269672220646F63756D656E +74732C20696E636C7564696E6720746865206F6E6520796F75206172652070726573656E746C79> +show +88 1471 moveto +<72656164696E6720616E6420746865207765622D7369746520696E7374616C6C6174696F6E2069 +6E737472756374696F6E732E20> +show +88 1571 moveto +<466F72206D6F72652064657461696C656420646F63756D656E747320636C69636B206F6E207468 +65202257696B6922206C696E6B2066726F6D207468652022446F63756D656E746174696F6E222070 +6167652E202020536F6D65206F662074686520646F63756D656E747320617661696C61626C65> +show +88 1621 moveto +<696E207468652057696B692061726520757020746F20646174652C20736F6D6520286D6F737429 +20617265206E6F74202D2063617574696F6E2E20204F6E636520796F752061726520696E20746865 +2057696B6920706167657320796F752063616E2075736520746865202773656172636827> +show +88 1671 moveto +<627574746F6E20746F2066696E64207768617420796F7520617265206C6F6F6B696E6720666F72 +2E> +show +800 1671 moveto +<2020596F752063616E20616C736F2062726F77736520746865206172636869766573206F662074 +686520656E73656D626C2D646576206D61696C696E67206C69737420666F72206469736375737369 +6F6E73> +show +88 1721 moveto +<7768696368206D6179206861766520616C726561647920616E73776572656420736F6D65206F66 +20796F7572207175657374696F6E732E2020496620616674657220646F696E67207468697320796F +75207374696C6C2063616E27742066696E64207768617420796F75206E6565642C20706C65617365> +show +88 1771 moveto +<6665656C206672656520746F20706F73742061207175657374696F6E206F6E2074686520656E73 +656D626C2D646576406562692E61632E756B206D61696C696E67206C6973742E2020576520726573 +706F6E6420717569636B6C7920616E6420617265206E6963652070656F706C652074686174> +show +88 1821 moveto +<646F6E277420626974652C206576656E20696620796F7520686176656E277420626F7468657265 +6420746F20726561642074686520646F63756D656E746174696F6E20287768657265206974206578 +69737473292E> +show +88 1921 moveto +<46696E616C6C792C20696620796F752066696E6420736F6D657468696E6720696E207468697320 +646F63756D656E742074686174206973206E6F7420636C656172206F7220697320696E636F727265 +63742C2077652077696C6C206265206D6F737420677261746566756C20696620796F75> +show +2067 1921 moveto +<20> +show +2078 1921 moveto +<6C6574207573206B6E6F77> +show +88 1971 moveto +<6F6E2074686520456E73454D424C20646576656C6F70657273206D61696C696E67206C69737420 +28> +show +853 1971 moveto +0 0 1 setrgbcolor +<656E73656D626C2D646576406562692E61632E756B> +show +853 1975 451 2 rectfill +1304 1971 moveto +0 0 0 setrgbcolor +<292E2020496620796F7520617265207368792C20796F752063616E20616C736F20656D61696C20 +6D65206469726563746C79> +show +88 2021 moveto +<28> +show +101 2021 moveto +0 0 1 setrgbcolor +<6474614073616E6765722E61632E756B> +show +101 2025 341 2 rectfill +442 2021 moveto +0 0 0 setrgbcolor +<292C204920646F6E27742062697465206569746865722E> +show +88 2171 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<52656D6F74652041636365737320746F20456E73454D424C2076696120> +show +741 2171 moveto +<4D7953514C2E> +show +88 2283 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<456E73454D424C2070726F766964657320616E20696E7465726E65742061636365737369626C65 +20686F737420286B616B612E73616E6765722E61632E756B29207769746820746865206C61746573 +74206461746162617365732E2054686973206D65616E7320796F752063616E20646F2061> +show +88 2333 moveto +<6C6F74206F6620776F726B2066726F6D20616E20696E7465726E657420636F6E6E656374656420 +686F737420736F6C656C79206279207573696E672022636C69656E742220736F6674776172652E> +show +88 2433 moveto +<596F752070726F6261626C7920686176652061204D7953514C20636C69656E7420696E7374616C +6C656420696620796F75206172652072756E6E696E672061207374616E64617264206C696E757820 +646973747269627574696F6E2E20205472793A> +show +88 2530 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7973716C202D7520616E6F6E796D6F7573202D68206B616B612E73616E6765722E61632E756B> +show +88 2629 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4966204D7953514C206973206E6F7420696E7374616C6C65642C20676F20746F20> +show +669 2629 moveto +0 0 1 setrgbcolor +<7777772E6D7973716C2E636F6D> +show +669 2633 303 2 rectfill +972 2629 moveto +0 0 0 setrgbcolor +<20746F20646F776E6C6F61642074686520636C69656E742E> +show +88 2729 moveto +<496E7369646520746865204D7953514C2070726F6D707420796F752067656E6572616C6C792077 +616E7420746F2073746172742077697468207468652064617461626173652022686F6D6F5F736170 +69656E735F636F72655F395F333022202861742074696D65206F662077726974696E67> +show +88 2779 moveto +<746869732077617320746865206D6F737420726563656E74206275696C642920616E6420746865 +2064617461626173652022656E73656D626C5F6D6172745F395F31222E2020546865726520617265 +20616C736F2064617461626173657320666F72206F746865722073706563696573202D> +show +88 2829 moveto +<796F752073686F756C642062652061626C6520746F2075736520746865736520696E2074686520 +73616D652077617920617320646573637269626564206865726520666F722068756D616E2E> +show +88 2932 moveto +<5472792074686520> +show +230 2932 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2273686F772064617461626173657322> +show +633 2932 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2053514C20636F6D6D616E6420746F2073656520616C6C20746865206461746162617365732074 +6861742061726520617661696C61626C652C20666F6C6C6F77656420627920612022> +show +2006 2932 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<757365> +show +2081 2932 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2220636F6D6D616E64> +show +88 2982 moveto +<73696D696C617220746F20> +show +267 2982 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<22757365> +show +367 2982 moveto +<20> +show +392 2982 moveto +<686F6D6F5F73617069656E735F636F72655F395F333022> +show +971 2982 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20746F2063686F6F7365207468652063757272656E742F6D6F737420726563656E742064617461 +626173652E20204F746865722064617461626173657320617265> +show +88 3032 moveto +<6E616D6564206C696B6520> +show +302 3032 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<22686F6D6F5F73617069656E735F6C6974655F395F3122> +show +881 3032 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<202D20746865206E616D696E6720736368656D6520666F6C6C6F77696E672074686520636F6E76 +656E74696F6E206F66202073706563696573207461672C20756E64657273636F72652C> +show +88 3082 moveto +<646174616261736520747970652C20756E64657273636F726520616E64202072656C6561736520 +6E756D6265722E2020486176652061206C6F6F6B2061726F756E6420746F20736565207768617420 +796F752063616E207573652E> +show +showpage +grestore grestore +%%PageTrailer -dup 64 /parenright put +%%Page: 2 2 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Times-Roman-iso1252 /Times-Roman ISO1252Encoding psp_definefont +/Courier-BoldOblique-iso1252 /Courier-BoldOblique ISO1252Encoding psp_definefont +88 318 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5374617274696E672077697468207468652022636F7265222064617461626173652028686F6D6F +5F73617069656E735F636F72655F395F3330206F7220746865206D6F737420726563656E74207570 +64617465206F662074686973206461746162617365292C2074727920736F6D65206F66> +show +88 368 moveto +<7468657365206E696365207175657269657320746F206765742061207461737465206F66207768 +61742069732073746F72656420696E20746865206461746162617365733A> +show +88 468 moveto +<43686F6F7365207468652063757272656E742068756D616E20636F72652064617461626173653A> +show +88 565 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2255534520686F6D6F5F73617069656E735F636F72655F395F33303B22> +show +88 664 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5265747269657665207468652066697273742074776F204444424A2F454D424C2F47656E42616E +6B20656E74726965732073746F72656420696E207468652064617461626173653A> +show +88 761 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253454C45435420636C6F6E655F69642046524F4D20636C6F6E65204C494D495420323B22> +show +88 860 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5265747269657665207468652066697273742074776F20636F6E6669726D65642067656E657320 +696E207468652064617461626173653A> +show +88 956 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253454C454354202A2046524F4D2067656E65204C494D495420323B22> +show +88 1055 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<526574726965766520746865204444424A2F454D424C2F47656E42616E6B20656E747269657320 +66726F6D2074686520666972737420354D62206F662068756D616E206368726F6D6F736F6D652031 +2E2054686520617373656D626C7920696E666F726D6174696F6E206973> +show +88 1105 moveto +<73746F72656420696E2074686520617373656D626C79207461626C652C2068656E636520776520 +6E65656420746F20706572666F726D2061206A6F696E206163726F73732074686520> +show +1451 1105 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<636C6F6E65> +show +1577 1105 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2C20> +show +1600 1105 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<636F6E746967> +show +1751 1105 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2C20> +show +1774 1105 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6368726F6D6F736F6D65> +show +2026 1105 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20616E6420> +show +2119 1105 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<617373656D626C79> +show +88 1158 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<7461626C6573> +show +200 1158 moveto +/Times-Roman-iso1252 findfont 48 -48 matrix scale makefont setfont +<3A> +show +88 1258 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2022> +show +114 1258 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<53454C4543542044495354494E435428636C6F6E652E6E616D652920> +show +88 1302 moveto +<2046524F4D202020617373656D626C792C20636F6E7469672C20636C6F6E652C206368726F6D6F +736F6D6520> +show +88 1345 moveto +<20574845524520206368726F6D6F736F6D652E6E616D65203D202731272020> +show +88 1388 moveto +<20414E44202020206368726F6D6F736F6D652E6368726F6D6F736F6D655F6964203D2061737365 +6D626C792E6368726F6D6F736F6D655F696420> +show +88 1431 moveto +<20414E4420202020617373656D626C792E6368725F656E64203C203530303030303020> +show +88 1474 moveto +<20414E4420202020617373656D626C792E636F6E7469675F6964203D20636F6E7469672E636F6E +7469675F696420> +show +88 1517 moveto +<20414E4420202020636C6F6E652E636C6F6E655F6964203D20636F6E7469672E636C6F6E655F69 +643B22> +show +88 1616 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<45616368207461626C6520686173206120756E697175652C20636F6E73697374656E746C792D6E +616D6564206964656E7469666965722077686963682063616E206265207573656420617320666F72 +6569676E206B65797320696E206F74686572207461626C65732E202054686520756E69717565> +show +88 1666 moveto +<6964656E74696669657220636F6C756D6E20697320616C77617973206E616D65642020> +show +739 1666 moveto +/Courier-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<7461626C656E616D65> +show +965 1666 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<5F696420> +show +1065 1666 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<616E6420636F6E7461696E7320696E74656765722076616C7565732E2020466F72206578616D70 +6C652C2074686520756E69717565206964656E746966696572206F66> +show +88 1716 moveto +<74686520> +show +158 1716 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6368726F6D6F736F6D65> +show +410 1716 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<207461626C652069732074686520636F6E7461696E656420696E2074686520> +show +944 1716 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6368726F6D6F736F6D655F6964> +show +1271 1716 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20636F6C756D6E20616E642074686520726F77207769746820> +show +1748 1716 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6368726F6D6F736F6D655F6964203D203233> +show +88 1766 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<636F72726573706F6E647320746F20746865206368726F6D6F736F6D65206E616D656420275827 +2E202020> +show +88 1866 moveto +<5265747269657665207468652065786F6E73207768696368206C69652077697468696E20746865 +206669727374203230302C30303020626173652D7061697273206F66206368726F6D6F736F6D6520 +313A> +show +88 1953 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253454C4543542065786F6E2E65786F6E5F696420> +show +88 1996 moveto +<2046524F4D20202065786F6E2C20617373656D626C792C206368726F6D6F736F6D6520> +show +88 2039 moveto +<20574845524520206368726F6D6F736F6D652E6E616D65203D2027312720> +show +88 2081 moveto +<20414E44202020206368726F6D6F736F6D652E6368726F6D6F736F6D655F6964203D2061737365 +6D626C792E6368726F6D6F736F6D655F696420> +show +88 2124 moveto +<20414E4420202020617373656D626C792E6368725F656E64203C2035303030303020> +show +88 2167 moveto +<20414E4420202020617373656D626C792E636F6E7469675F6964203D2065786F6E2E636F6E7469 +675F69643B22> +show +88 2269 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<284E6F74653A20204578697374696E6720456E73454D424C207573657273206D6179206E6F7469 +63652074686174207468652065786F6E2E696420636F6C756D6E20686173206265656E207265706C +616365642062792065786F6E2E65786F6E5F6964207768696368206E6F77> +show +88 2319 moveto +<636F6E7461696E7320616E20696E74656765722076616C75652E2020546F206765742074686520 +454E5345206E756D62657220796F752077696C6C206E65656420746F206A6F696E20746F2065786F +6E5F737461626C652E20204265206177617265207468617420746865206E6577657374> +show +88 2369 moveto +<72656C65617365206F662074686520456E73454D424C2064617461626173652072657072657365 +6E747320717569746520612062696720736869667420696E2074686520736368656D6120636F6D70 +6172656420746F2070726576696F75732072656C65617365732E29> +show +88 2469 moveto +<4174207468697320706F696E7420796F752063616E20736565207468617420636F6E7374727563 +74696E67207175657269657320616761696E73742074686520456E73454D424C20636F7265206461 +74616261736520696E206368726F6D6F736F6D616C20636F6F7264696E617465732077696C6C> +show +88 2519 moveto +<616C77617973206D65616E206A6F696E696E6720746F2074686520617373656D626C7920746162 +6C652E2054686973206973206120626974207061696E66756C2E205468616E6B66756C6C79207765 +206861766520646576656C6F70656420612071756572792D6F7074696D69736564> +show +88 2569 moveto +<6461746162617365207468617420697320646572697665642066726F6D20746869732064617461 +6261736520286120646174616D61727420696E207472656E647920636F6D70757465722073706561 +6B292C2063616C6C656420456E73454D424C204D6172742E2054686973206973> +show +88 2619 moveto +<6368616E67696E672072617069646C792C206275742069732077656C6C20776F72746820706C61 +79696E672061726F756E6420776974683A> +show +88 2722 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<22> +show +113 2722 moveto +<5553> +show +163 2722 moveto +<4520656E73656D626C5F6D6172745F395F313B> +show +641 2722 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<22> +show +88 2822 moveto +<546F202067656E65732066726F6D206120706172746963756C617220726567696F6E3A> +show +88 2919 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253454C4543542067656E655F737461626C655F69642046524F4D20686F6D6F5F73617069656E +735F636F72655F67656E65205748455245206368725F6E616D65203D2027312720414E44> +show +88 2962 moveto +<67656E655F6368726F6D5F656E64203C203230303030303B22> +show +88 3054 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F722066726F6D206120706172746963756C61722062616E643A> +show +showpage +grestore grestore +%%PageTrailer -dup 65 /O put +%%Page: 3 3 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Times-Roman-iso1252 /Times-Roman ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-BoldOblique-iso1252 /Courier-BoldOblique ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Courier-Oblique-iso1252 /Courier-Oblique ISO1252Encoding psp_definefont +88 259 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253454C4543542067656E655F737461626C655F69642046524F4D20686F6D6F5F73617069656E +735F636F72655F67656E652057484552452062616E64204C494B4520277132352E252720414E4420 +6368725F6E616D65> +show +88 311 moveto +<3D202731273B> +show +239 311 moveto +/Times-Roman-iso1252 findfont 48 -48 matrix scale makefont setfont +<22> +show +88 411 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<286E6F746963652074686520757365206F66204C494B4520746F207472756E6361746520746F20 +746865206D616A6F722062616E6429> +show +88 511 moveto +<456E73454D424C204D6172742077696C6C20657870616E64206F7665722074696D6520746F2061 +6C6C6F772070726F67726573736976656C792072696368657220717565726965732E20546F20696E +766573746967617465206D6F7265207573652074686520636F6D6D616E64733A> +show +88 605 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2253484F57207461626C65733B22> +show +88 697 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<616E6420> +show +88 798 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<22444553435249424520> +show +340 798 moveto +/Courier-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<7461626C656E616D65203B> +show +618 798 moveto +/Courier-iso1252 findfont 48 -48 matrix scale makefont setfont +<22> +show +88 898 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<536F2C206E6F7720796F752063616E20706C617920776974682074686520646174612C20627574 +20776865726520617265207468696E6773206C696B6520746865207472616E736C6174696F6E7320 +6F722063444E41733F20204164646974696F6E616C6C792C20686F772063616E20492066696E6420 +616C6C> +show +88 948 moveto +<74686520424C4153542068697473207768696368206F7665726C61702065786F6E732074686174 +206C69766520696E206D792067656E6F6D696320726567696F6E206F6620696E7465726573743F20 +546F20646F207468697320796F752077696C6C206E65656420746F20777269746520636F6465> +show +88 998 moveto +<6F6674656E2E2020446F20796F757273656C662061206661766F757220616E642074616B652061 +6476616E74616765206F66206F757220415049207768696368207765207573652065766572792064 +617920746F207772616E676C652074686973206B696E64206F6620646174612E> +show +88 1148 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<496E74726F64756374696F6E20746F20746865205065726C206F626A65637420415049> +show +88 1260 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5468697320646F63756D656E7420677265772066726F6D206E6F74657320707265706172656420 +666F7220616E20696E74726F647563746F72792068616C662D64617920636F757273652074686174 +207765206F63636173696F6E616C6C792072756E206F6E2074686520456E73454D424C> +show +88 1310 moveto +<636F646520626173652028302E354D206C696E6573206F6620636F646520696E2068616C662061 +20646179202D206E6F7720746865726527732076616C7565292E202049742077696C6C2074616B65 +20796F75207468726F756768207468652070726F63657373206F6620636F6E6E656374696E672074 +6F20616E> +show +88 1360 moveto +<456E73454D424C20646174616261736520616E6420616363657373696E67207468652064617461 +20636F6E7461696E6564207468657265696E2E202054686520696E666F726D6174696F6E20636F6E +7461696E65642068657265206973206279206E6F206D65616E73> +show +88 1410 moveto +<657868617573746976652C206275742073686F756C64206769766520796F7520656E6F75676820 +6B6E6F776C6564676520746F2062652061626C6520746F20636F6D706574656E746C792075736520 +74686520636F726520456E73454D424C20636F64652E20204166746572> +show +88 1460 moveto +<6C6561726E696E6720686F7720746F2072657472696576652067656E65732C2065786F6E732C20 +73657175656E636520616E642070726F6365737320746865736520746F20796F7572206F776E2065 +6E64732C20776520686F706520796F752077696C6C206665656C20636F6E666964656E74> +show +88 1510 moveto +<656E6F75676820746F2064656C76652064656570657220696E746F206F74686572206C6573732D +74726F6464656E207061727473206F662074686520636F64652074686174206D617920696E746572 +65737420796F752E> +show +88 1610 moveto +<4265666F726520796F752073746172742C20796F752077696C6C206E65656420746F2068617665 +207468652072656C6576616E7420456E73454D424C20616E642042696F5065726C206D6F64756C65 +7320696E7374616C6C65642E2020546865736520617265203A> +show +88 1703 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<62696F7065726C2D302E3720> +show +390 1703 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020287765206B6E6F772074686973206973206E6F7420746865206C6174657374207665727369 +6F6E202D20666F72206E6F772C20456E73454D424C206973207469656420746F2069742C20736F20 +706C65617365207573652069742E29> +show +88 1747 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<656E73656D626C> +show +88 1790 moveto +<656E73656D626C2D65787465726E616C> +show +88 1882 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<496E737472756374696F6E73206F6E20686F7720746F20696E7374616C6C207468657365207065 +726C206D6F64756C65732061726520636F6E7461696E6564206F6E2074686520456E73454D424C20 +7765627369746520> +show +1740 1882 moveto +0 0 1 setrgbcolor +<7777772E656E73656D626C2E6F7267> +show +1740 1886 333 2 rectfill +2073 1882 moveto +0 0 0 setrgbcolor +<2E204261736963616C6C792C> +show +88 1932 moveto +<796F75206E65656420746F20646F2074686520666F6C6C6F77696E672073746570732028696E20 +626F74682063617365732062656C6F7720776520617265207573696E672063767320746F20676574 +2074686520636F64652C207768696368206973206D75636820626574746572207468616E20667470> +show +88 1982 moveto +<6173207765206172652067657474696E6720746865206C6174657374206275672066697865732E +204E6F7469636520746865202D207220666C616720746F207468652063767320636F6D6D616E6473 +2E20546865736520696E64696361746520746865206272616E6368206F662065616368> +show +88 2032 moveto +<7265706F7369746F727920746F20676574206F75742E2020284272616E63686573206172652073 +7461626C652076657273696F6E73206F662074686520636F6465292E> +show +88 2132 moveto +<202020202042696F5065726C2028736565206376732E62696F7065726C2E6F726720666F72206D +6F72652064657461696C7329> +show +88 2196 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<637673202D64203A707365727665723A637673406376732E62696F7065726C2E6F72673A2F686F +6D652F7265706F7369746F72792F62696F7065726C206C6F67696E> +show +88 2239 moveto +/Courier-Oblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<7768656E2070726F6D707465642C207468652070617373776F7264206973202763767327> +show +88 2322 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<637673202D64203A707365727665723A637673406376732E62696F7065726C2E6F72673A2F686F +6D652F7265706F7369746F72792F62696F7065726C20636865636B6F7574202D72206272616E6368 +2D3037> +show +88 2365 moveto +<62696F7065726C2D6C697665> +show +88 2485 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020202020456E73454D424C20> +show +88 2579 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<637673202D64203A707365727665723A6376737573657240637673726F2E73616E6765722E6163 +2E756B3A2F637673726F6F742F4356536D6173746572206C6F67696E> +show +88 2620 moveto +<7768656E2070726F6D707465642C207468652070617373776F72642069732043565355534552> +show +88 2661 moveto +<637673202D64203A707365727665723A6376737573657240637673726F2E73616E6765722E6163 +2E756B3A2F637673726F6F742F4356536D617374657220636865636B6F7574202D72206272616E63 +682D> +show +88 2702 moveto +<656E73656D626C2D3920656E73656D626C> +show +88 2743 moveto +<637673202D64203A707365727665723A6376737573657240637673726F2E73616E6765722E6163 +2E756B3A2F637673726F6F742F4356536D617374657220636865636B6F7574202D72206272616E63 +682D> +show +88 2784 moveto +<656E73656D626C2D3920656E73656D626C2D65787465726E616C> +show +88 2872 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<496620796F7520646F6E277420686176652C206F7220646F6E27742077616E7420746F20696E73 +74616C6C2C2074686520456E73454D424C206461746162617365206C6F63616C6C79202877686963 +6820697320616C6C20796F752077696C6C206E65656420746F20636F6D706C65746520746865> +show +88 2922 moveto +<7475746F7269616C206578657263697365732920796F752063616E20706F696E7420796F757220 +736372697074732061742061207075626C6963616C6C7920617661696C61626C65206F6E65206174 +207468652053616E6765722043656E7472652E20205573652074686520666F6C6C6F77696E672066 +69656C6473> +show +88 2972 moveto +<696E20796F757220736372697074732028776865726520585F5820697320746865206C61746573 +742076657273696F6E206F6620746865206461746162617365293A> +show +88 3066 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<686F7374> +show +538 3066 moveto +<6B616B612E73616E6765722E61632E756B> +show +88 3109 moveto +<64626E616D65> +show +538 3109 moveto +<686F6D6F5F73617069656E735F636F72655F> +show +991 3109 moveto +<585F58> +show +showpage +grestore grestore +%%PageTrailer -dup 66 /zero put +%%Page: 4 4 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 259 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<75736572> +show +538 259 moveto +<616E6F6E796D6F7573> +show +88 358 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<202020202044424920616E64204442493A3A6D7973716C> +show +88 451 moveto +<556E6C65737320796F7520616C72656164792068617665207468656D20696E7374616C6C65642C +206265666F726520796F752063616E20626567696E20796F752077696C6C206E65656420746F2069 +6E7374616C6C20746865205065726C2044424920616E64204442493A3A6D7973716C> +show +88 501 moveto +<6D6F64756C65732066726F6D20746865204350414E2028> +show +566 501 moveto +0 0 1 setrgbcolor +<7777772E6370616E2E6F7267> +show +566 505 266 2 rectfill +832 501 moveto +0 0 0 setrgbcolor +<292E202053656520746865204350414E207369746520666F7220696E737472756374696F6E7320 +6F6E20686F7720746F20646F20746869732E> +show +75 651 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<436F6D70616E696F6E2073637269707420616E6420657865726369736573> +show +88 726 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4163636F6D70616E79696E67207468697320646F63756D656E7420697320612073637269707420 +63616C6C656420> +show +958 726 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<7475746F7269616C2E706C2E> +show +1161 726 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020546869732073637269707420636F6E7461696E7320616C6C20746865206578616D706C6520 +636F646520696E207468697320646F63756D656E74> +show +88 776 moveto +<616E642073686F756C642072756E207375636365737366756C6C7920696620796F752068617665 +2074686520726967687420646174616261736520616E642076657273696F6E206F66207468652063 +6F646520696E7374616C6C65642E2020496E206164646974696F6E2C20736F6F6E20746865726520 +77696C6C> +show +88 826 moveto +<626520> +show +146 826 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<776F726B656420736F6C7574696F6E73> +show +491 826 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20746F207468652065786572636973657320696E636C75646564206C6174657220696E20746869 +73207475746F7269616C2E20205768656E20796F7520636865636B2D6F7574206120636F7079206F +6620456E73454D424C2066726F6D20746865> +show +88 876 moveto +<6376732C20626F74682074686520636F6D70616E696F6E2073637269707420616E642074686520 +70656E64696E6720776F726B656420736F6C7574696F6E732077696C6C20626520696E2074686520 +656E73656D626C2F646F63732F7475746F7269616C206469726563746F72792E> +show +88 1026 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<5768617420646F65732074686520636F726520456E73454D424C20646174616261736520636F6E +7461696E3F> +show +88 1138 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2A436C6F6E657320287769746820656D626C20616363657373696F6E7329202D20626F74682066 +696E697368656420616E6420756E66696E69736865642E> +show +88 1238 moveto +<2A4561636820636F6E746967756F7573207069656365206F662073657175656E63652069732063 +616C6C6564206120636F6E7469672E202054686573652061726520746865206261736963206C656E +67746873206F6620444E41207468617420776520616E616C79736520616E64> +show +88 1288 moveto +<616E6E6F746174652E> +show +88 1388 moveto +<2A4561636820636C6F6E652077696C6C20636F6E7461696E206F6E65206F72206D6F726520636F +6E746967732E> +show +88 1488 moveto +<2A46696E697368656420636C6F6E657320203D206F6E6520636F6E7469672E> +show +88 1588 moveto +<2A556E66696E697368656420636C6F6E6573203D20616E79206E756D626572206F6620636F6E74 +6967732E> +show +88 1688 moveto +<2A4561636820636F6E7469672028776865746865722066696E6973686564206F7220756E66696E +69736865642920686173206365727461696E206665617475726573206173736F6369617465642077 +697468206974207468617420726570726573656E742074686520726573756C7420616E79206F6E65 +206F66> +show +88 1738 moveto +<74686520766172696F757320616E616C797369732070726F6772616D7320746861742068617665 +206265656E2072756E206F6E2069742028652E672E205265706561744D61736B65722C20424C4153 +542C2067656E7363616E292E202054686573652061726520746865206261736963> +show +88 1788 moveto +<636F6D7075746573207573656420746F206275696C64207468652067656E65732E> +show +88 1888 moveto +<2A5468652072617720616E616C7973697320726573756C747320617265207573656420746F2062 +75696C642067656E65732077686963682061726520616C736F2073746F72656420696E2074686520 +64617461626173652E2020456163682067656E6520636F6E7461696E73206F6E65206F72> +show +88 1938 moveto +<6D6F7265207472616E7363726970747320616E642065616368207472616E736372697074207769 +6C6C20636F6E7461696E2061207472616E736C6174696F6E2E> +show +88 2038 moveto +<2A456163682067656E652068617320766172696F757320696E666F726D6174696F6E2061747461 +6368656420746F2069742064657363726962696E6720776865746865722069742069732061206B6E +6F776E2067656E65206F7220636F72726573706F6E647320746F206120537769737350726F74> +show +88 2088 moveto +<6F7220207472454D424C2070726F7465696E2E2020536F6D652067656E657320617265206E6F76 +656C2067656E65732077686963682068617665206265656E206275696C7420627920696E66657265 +6E63652066726F6D2073696D696C6172697469657320746F206F74686572> +show +88 2138 moveto +<73657175656E6365732E20205468657365206E6F76656C2067656E657320776F6E277420686176 +65206120636F72726573706F6E64696E6720537769737350726F74206F72207472454D424C207072 +6F7465696E2E> +show +88 2238 moveto +<2A45616368207472616E736C6174696F6E206861732068616420612076617269657479206F6620 +70726F7465696E20616E616C7973657320636F6E647563746564206F6E20697420616E6420796F75 +2063616E2061636365737320696E666F726D6174696F6E2061626F75742074686520726573756C74 +73> +show +88 2288 moveto +<6F66202074686573652E20205468697320696E636C7564657320696E666F726D6174696F6E2064 +6572697665642066726F6D207066616D2C2070726F7369746520616E64207072696E74732E> +show +88 2388 moveto +<2A546865726520617265206F746865722066656174757265732061636365737369626C65207468 +726F756768206E6F6E2D636F726520456E73454D424C2065787465726E616C206461746162617365 +732E2020205375636820646174616261736573206D617920636F6E7461696E> +show +88 2438 moveto +<696E666F726D6174696F6E2061626F757420534E50732C206D6F75736520747261636520686974 +73206F7220656D626C20616E6E6F746174696F6E732E2020596F752063616E206372656174652079 +6F7572206F776E2065787465726E616C2064617461626173657320746F206265> +show +88 2488 moveto +<696E636F72706F726174656420696E746F20456E73454D424C2C20627574207468697320697320 +61207375626A65637420666F722061206D6F726520616476616E63656420646F63756D656E742E> +show +88 2638 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<536574757020> +show +88 2751 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4265666F7265207374617274696E6720776974682074686520456E73454D424C206D6F64756C65 +7320796F752077696C6C206E65656420746F2073657420757020796F757220656E7669726F6E6D65 +6E7420736F205065726C206B6E6F777320776865726520746F2066696E64207468656D2E> +show +88 2801 moveto +<417320456E73454D424C206973206275696C74206F6E20746F70206F662042696F5065726C2028 +76657273696F6E20302E3720666F72206E6F77292C207468697320696E636C756465732074656C6C +696E672069742077686572652062696F7065726C2D302E37206C69766573206F6E20796F7572> +show +88 2851 moveto +<73797374656D2E> +show +88 2951 moveto +<54686520656E7669726F6E6D656E74207661726961626C6520746F20646F207468697320697320 +5045524C354C49422E2020496620796F7520617265207573696E672063736820206F722074637368 +20796F75206E65656420746F207479706520696E2074686520666F6C6C6F77696E67> +show +88 3001 moveto +<286368616E67696E67202F6E66732F63726F632F6D696368656C652F6272616E636820746F2079 +6F7572206469726563746F727920636F6E7461696E696E6720746865207065726C206D6F64756C65 +7320796F7520646F776E6C6F61646564292E2020496620796F7520617265> +show +88 3051 moveto +<636F6E636F6D6974616E746C79207573696E6720612076657273696F6E206F662042696F506572 +6C206E65776572207468616E2076657273696F6E20302E37206D616B652073757265207468617420 +746865206F6C6465722076657273696F6E206170706561727320696E20796F7572205065726C> +show +88 3101 moveto +<6C6962726172792070617468206265666F726520746865206E657765722076657273696F6E2E> +show +showpage +grestore grestore +%%PageTrailer -dup 67 /one put +%%Page: 5 5 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 309 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<736574656E7620454E53484F4D45202F6E66732F63726F632F6D696368656C652F6272616E6368> +show +88 402 moveto +<736574656E76205045524C354C49422024454E53484F4D452F656E73656D626C2F6D6F64756C65 +733A24454E53484F4D452F62696F7065726C2D302E373A24454E53484F4D452F656E73656D626C2D> +show +88 445 moveto +<65787465726E616C2F6D6F64756C65733A24454E53484F4D452F656E73656D626C2D6C6974652F +6D6F64756C6573> +show +88 544 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<497420686173206265636F6D65206170706172656E7420726563656E746C792074686174207468 +6520456E73454D424C20636F64652D62617365206A75737420776F6E27742072756E206F6E206F6C +6465722076657273696F6E73206F66205065726C2E20205765207573652076657273696F6E> +show +88 594 moveto +<352E3620666F7220646576656C6F706D656E7420616E642074657374696E672E20205765207265 +636F6D6D656E64207468617420796F752073686F756C6420646F20736F20746F6F2E202049662079 +6F752061726520756E73757265206F6620776861742076657273696F6E2069732072756E6E696E67> +show +88 644 moveto +<6F6E20796F7572206D616368696E652E20547970653A> +show +88 744 moveto +<7065726C202D76> +show +88 844 moveto +<50726573756D696E672074686174207468697320697320616C6C20696E206F726465722C20796F +7520617265206E6F7720726561647920746F20777269746520796F75722066697273742073637269 +70742E> +show +88 994 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<436F6E6E656374696F6E> +show +88 1106 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<416C6C2064617461207573656420616E64206372656174656420627920456E73454D424C206973 +2073746F72656420696E2061204D7953514C2072656C6174696F6E616C2064617461626173652E20 +20496620796F752077616E7420746F206163636573732074686973206461746162617365> +show +88 1156 moveto +<746865206669727374207468696E6720796F75206861766520746F20646F20697320746F20636F +6E6E65637420746F2069742E20205468697320697320646F6E6520626568696E6420746865207363 +656E657320627920456E73454D424C207573696E67207468652066616D6F7573205065726C> +show +88 1206 moveto +<6D6F64756C652063616C6C6564204442492E2020596F752077696C6C206E65656420746F206B6E +6F77207468726565207468696E6773206265666F726520796F75207374617274203A> +show +88 1300 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<202020686F737420> +show +388 1300 moveto +<74686520686F73746E616D652077686572652074686520456E73454D424C206461746162617365 +206C69766573> +show +88 1343 moveto +<20202064626E616D65> +show +388 1343 moveto +<746865206E616D65206F662074686520456E73454D424C206461746162617365> +show +88 1386 moveto +<20202075736572> +show +388 1386 moveto +<74686520757365726E616D6520746F2061636365737320746865206461746162617365> +show +88 1485 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<46697273742C207765206E65656420746F206465636C61726520746F205065726C20746865206D +6F64756C65732077652077616E7420746F2075736520736F2069742063616E20676F20616E642063 +6865636B207468652073796E746178206F66207468656D2E20205468697320697320646F6E652062 +79> +show +88 1535 moveto +<61207573652073746174656D656E742E202054686973206C696E652068617320746F2062652069 +6E73657274656420696E746F20616C6C20796F757220456E73454D424C20736372697074733A> +show +88 1629 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7573652042696F3A3A456E73454D424C3A3A444253514C3A3A444241646170746F723B> +show +88 1728 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546865207765207365742074686520616C6C20696D706F7274616E74207661726961626C657320 +74656C6C696E67205065726C20776865726520616E64207768617420796F75722064617461626173 +652069733A> +show +88 1815 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024686F73742020203D20276B616B612E73616E6765722E61632E756B273B> +show +88 1858 moveto +<6D792024757365722020203D2027616E6F6E796D6F7573273B> +show +88 1901 moveto +<6D79202464626E616D65203D2027686F6D6F5F73617069656E735F636F72655F395F3330273B> +show +88 2000 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F772077652063616E206D616B65206120646174616261736520636F6E6E656374696F6E3A> +show +88 2094 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246462203D206E65772042696F3A3A456E73454D424C3A3A444253514C3A3A4442416461 +70746F72282D686F73742020203D3E2024686F73742C> +show +88 2136 moveto +<202020202020202020202020202020202020202020202020202020202020202020202020202020 +20202020202D757365722020203D3E2024757365722C> +show +88 2179 moveto +<202020202020202020202020202020202020202020202020202020202020202020202020202020 +20202020202D64626E616D65203D3E202464626E616D65293B> +show +88 2278 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5765277665206D616465206120636F6E6E656374696F6E20746F20616E20456E73454D424C2064 +6174616261736520616E642070617373656420706172616D657465727320696E207573696E672074 +686520> +show +1748 2278 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2D617474726962757465203D3E> +show +88 2328 moveto +<27736F6D6576616C756527> +show +365 2328 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2073796E7461782070726573656E7420696E206D616E79206F662074686520456E73454D424C20 +6F626A65637420636F6E7374727563746F72732E2020466F726D617474656420636F72726563746C +792C20746869732073796E746178206C65747320796F75> +show +88 2378 moveto +<7365652065786163746C79207768617420617267756D656E747320616E642076616C7565732079 +6F75206172652070617373696E672E> +show +88 2478 moveto +<54686520246462207661726961626C65206E6F7720636F6E7461696E732061207265666572656E +636520746F20746865206E65776C79206372656174656420444241646170746F72206F626A656374 +20776869636820796F752063616E207374617274207573696E6720746F2065787472616374> +show +88 2528 moveto +<646174612E202049662C2068656176656E20666F726269642C2074686520636F6E6E656374696F +6E206661696C7320616E206572726F72206D6573736167652077696C6C2062652072657475726E65 +642E2020> +show +90 2678 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<427573696E657373204F626A6563747320616E64204F626A6563742041646170746F7273> +show +90 2791 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4265666F7265207765206C61756E636820696E746F207468652077617973207468652041504920 +63616E206265207573656420746F20726574726965766520616E642070726F636573732064617461 +2066726F6D2074686520456E73454D424C206461746162617365732069742069732062657374> +show +90 2841 moveto +<746F206D656E74696F6E207468652066756E64616D656E74616C2072656C6174696F6E73686970 +732074686520456E73454D424C206F626A6563747320686176652077697468207468652064617461 +626173652E> +show +90 2941 moveto +<54686520456E73454D424C2041504920616C6C6F7773206D616E6970756C6174696F6E206F6620 +7468652064617461626173652064617461207468726F75676820766172696F757320627573696E65 +7373206F626A656374732E2020466F72206578616D706C652C20736F6D65206F66> +show +90 2991 moveto +<746865206D6F72652068656176696C792075736564206F626A6563747320617265207468652047 +656E652C20436C6F6E6520616E642045786F6E206F626A656374732E20204D6F7265206465746169 +6C73206F6620686F7720746F206566666563746976656C7920757365207468657365> +show +90 3041 moveto +<6F626A656374732077696C6C20626520636F7665726564206C617465722E20205468657365206F +626A65637473206172652072657472696576656420616E642073746F72656420696E207468652064 +61746162617365207468726F7567682074686520757365206F66206F626A656374> +show +90 3091 moveto +<2761646170746F7273272E2020546865206F626A6563742061646170746F727320686176652069 +6E7465726E616C206B6E6F776C65646765206F662074686520756E6465726C79696E672064617461 +6261736520736368656D6120616E64207573652074686973206B6E6F776C6564676520746F> +show +showpage +grestore grestore +%%PageTrailer -dup 68 /J put +%%Page: 6 6 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Courier-BoldOblique-iso1252 /Courier-BoldOblique ISO1252Encoding psp_definefont +/Helvetica-BoldOblique-iso1252 /Helvetica-BoldOblique ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +90 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<66657463682C2073746F726520616E642072656D6F7665206F626A656374732028616E64206461 +7461292066726F6D207468652064617461626173652E2020546869732077617920796F752063616E +20777269746520636F646520616E64207573652074686520456E73454D424C20415049> +show +90 315 moveto +<776974686F757420686176696E6720746F206B6E6F7720616E797468696E672061626F75742074 +686520756E6465726C79696E672064617461626173657320796F7520617265207573696E672E2020 +5468652064617461626173652061646170746F72202874686174207765206F627461696E6564> +show +90 365 moveto +<627920636F6E6E656374696E6720746F206F75722064617461626173652C20696E207468652070 +726576696F75732073656374696F6E292069732061207370656369616C2061646170746F72207768 +696368206861732074686520726573706F6E736962696C697479206F66206D61696E7461696E696E +67> +show +90 415 moveto +<74686520646174616261736520636F6E6E656374696F6E20616E64206372656174696E67206F74 +686572206F626A6563742061646170746F72732E2020> +show +90 522 moveto +<41732077696C6C2062652073686F776E206C6174657220696E207468697320646F63756D656E74 +2C20746F206F627461696E206F626A6563742061646170746F72732066726F6D20746865206D6169 +6E2064617461626173652061646170746F722074686572652069732061207375697465206F66> +show +90 572 moveto +<6D6574686F6473207468617420686176652074686520206E616D696E6720636F6E76656E74696F +6E2022> +show +908 572 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6765745F> +show +1008 572 moveto +/Courier-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F626A65637441646170746F7222> +show +1360 572 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2E2020546F206F627461696E206120536C69636541646170746F72206F72206120436C6F6E6541 +646170746F72> +show +90 622 moveto +<2877686963682C206F64646C7920656E6F7567682C20726574726965766520536C69636520616E +6420436C6F6E65206F626A656374732920646F2074686520666F6C6C6F77696E673A> +show +90 716 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202467656E655F61646170746F72203D202464622D3E6765745F47656E6541646170746F72 +28293B> +show +90 759 moveto +<6D792024636C6F6E655F61646170746F72203D202464622D3E6765745F436C6F6E654164617074 +6F7228293B> +show +88 858 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<446F6E277420776F72727920696620796F7520646F6E277420696D6D6564696174656C79207365 +6520686F772075736566756C207468697320636F756C642062652E20204A7573742072656D656D62 +6572207468617420796F7520646F6E2774206E65656420746F206B6E6F7720616E797468696E67> +show +88 908 moveto +<61626F757420686F772074686520646174616261736520697320737472756374757265642C2062 +757420796F752063616E20726574726965766520746865206E656365737361727920646174612028 +6E6561746C79207061636B6167656420696E206F626A65637473292062792061736B696E6720666F +72> +show +88 958 moveto +<69742066726F6D2074686520636F72726563742061646170746F722E20205468726F7567686F75 +74207468652072657374206F66207468697320646F63756D656E742077652061726520676F696E67 +20746F20776F726B207468726F7567682074686520776179732074686520456E73454D424C> +show +88 1008 moveto +<627573696E657373206F626A656374732063616E206265207573656420746F2064657269766520 +74686520696E666F726D6174696F6E20796F752077616E742E> +show +1292 1008 moveto +/Helvetica-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<20> +show +88 1170 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4C657427732067657420736F6D652064617461> +show +88 1283 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F6E636520796F75206861766520612064617461626173652061646170746F722C20796F752061 +726520726561647920746F20726574726965766520646174612E2020436F6E6365707475616C6C79 +2C207468657265206172652074776F206D61696E207761797320746F20676F2061626F7574> +show +88 1333 moveto +<72657472696576696E6720616E64206D616E6970756C6174696E672067656E6F6D652064617461 +2E2020486973746F726963616C6C792C206461746120686173206265656E2068616E646C6564206F +6E206120636C6F6E652D2062792D20636C6F6E652062617369732E2020546865> +show +88 1383 moveto +<456E73454D424C204150492069732066756C6C792063617061626C65206F6620776F726B696E67 +20776974682074686520636C6F6E652D2062617365642064617461207468617420636F6D6573206F +7574206F6620612073657175656E63696E672070726F6A6563742C20616E64> +show +88 1433 moveto +<66756E64616D656E74616C6C7920456E73454D424C20776F726B73207769746820646174612061 +74206120636F6E746967206C6576656C2E2020486F77657665722C2064756520746F20746865206E +656172696E6720636F6D706C6574696F6E206F662074686520666972737420626967> +show +88 1483 moveto +<67656E6F6D652073657175656E63696E672070726F6A65637473206974206973206E6F77206265 +636F6D696E6720706F737369626C6520746F2070726163746963616C6C7920776F726B2077697468 +2067656E6F6D6573206173206C6F6E6720737472657463686573206F66206761702D6C657373> +show +88 1533 moveto +<73657175656E63652E2020456E73454D424C20616C736F20616C6C6F777320796F7520746F2077 +6F726B20776974682073657175656E636520696E666F726D6174696F6E20696E2074686973207761 +792E202050726576696F75732072656C6561736573206F662074686520456E73454D424C> +show +88 1583 moveto +<4150492063616C6C656420746865736520756E2D696E7465727275707465642073747265746368 +6573206F662073657175656E6365207669727475616C20636F6E746967732E202046726F6D207265 +6C656173652039206F6E77617264732074686573652068617665206265656E2063616C6C6564> +show +88 1633 moveto +<536C69636573202D20206C69746572616C6C792C20736C69636573206F662067656E6F6D696320 +73657175656E63652E2020416C6C20796F75206E65656420746F20646F20746F2072657472696576 +65207375636820612073657175656E63652069732073746970756C61746520746865> +show +88 1683 moveto +<6368726F6D736F6D65206E756D62657220616E642074686520737461727420616E6420656E6420 +636F6F7264696E61746573202D20207765276C6C2067657420746F20646F696E6720746869732069 +6E206A7573742061206269742E> +show +88 1783 moveto +<4D6F7374207573657273206F662074686520456E73454D424C204150492077696C6C2070726F62 +61626C7920656E64207570207573696E6720626F7468206D65616E73206F66207265747269657669 +6E6720616E64206D616E6970756C6174696E672067656E6F6D65> +show +88 1833 moveto +<73657175656E6365732E202048656E63652C207765276C6C20696E74726F6475636520626F7468 +206F66207468657365206865726520696E20746865206E6578742074776F2073656374696F6E732E> +show +88 1979 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<436C6F6E657320616E6420526177436F6E74696773> +show +88 2079 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<436C6F6E657320616E6420526177436F6E7469677320726570726573656E742074776F20626173 +696320646174612D747970657320696E20456E73454D424C2E2020436C6F6E657320686176652063 +6F6E746967732C20616E6420636F6E746967732061726520746865> +show +88 2129 moveto +<656C656D656E7473206F6620636F6E746967756F75732073657175656E636520696E666F726D61 +74696F6E207468617420617265206275696C7420757020746F20637265617465207468652066756C +6C20636C6F6E652073657175656E63652E20204F6E6365206120636C6F6E652073657175656E6365> +show +88 2179 moveto +<697320636F6D706C6574652C2074686520636C6F6E652077696C6C20626520726570726573656E +746564206279206F6E6520636F6E7469672073657175656E63652E> +show +88 2279 moveto +<496620796F75206B6E6F772074686520616363657373696F6E206E756D626572206F6620612063 +6C6F6E65207468617420796F752061726520696E746572657374656420696E2C20796F752063616E +207265747269657665207468617420636C6F6E65206469726563746C792066726F6D20746865> +show +88 2329 moveto +<436C6F6E6541646170746F7220696E2074686520666F6C6C6F77696E67207761793A> +show +88 2423 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024636C6F6E65203D2024636C6F6E655F61646170746F722D3E66657463685F62795F6163 +63657373696F6E2827414330303536363327293B> +show +88 2522 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546869732077696C6C2072657475726E206120436C6F6E65206F626A6563742E2020596F752063 +616E20636865636B207768657468657220796F7520686176652074686520726967687420636C6F6E +652062792063616C6C696E672074686520436C6F6E65206F626A6563742773206964206D6574686F +643A> +show +88 2609 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7072696E742022436C6F6E652069732022202E2024636C6F6E652D3E6964202E20225C6E223B> +show +88 2708 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546F2067657420746865206D6F737420757365206F7574206F662074686973206F626A65637420 +7765206E6F77206E65656420746F2061736B2069742061626F75742069747320636F6E7469677320 +2872656D656D626572202D20636C6F6E65732068617665206F6E65206F72206D6F7265> +show +88 2758 moveto +<636F6E74696773292E> +show +88 2844 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024636F6E74696773203D2024636C6F6E652D3E6765745F616C6C5F436F6E746967733B> +show +88 2943 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5765206E6F7720686176652061207265666572656E636520746F2061206C697374206F66205261 +77436F6E746967206F626A656374732E2020526177436F6E746967206F626A656374732061726520 +61637475616C6C792062696F7065726C2073657175656E6365206F626A6563747320616E64> +show +88 2993 moveto +<74686973206D65616E7320746865792063616E206265207573656420746F207265747269657665 +20616C6C20736F727473206F662075736566756C20696E666F726D6174696F6E2C20> +show +88 3093 moveto +<5361792077652077616E7420746F20676574207468652073657175656E6365206F662065616368 +20636F6E7469673A> +show +showpage +grestore grestore +%%PageTrailer -dup 69 /two put +%%Page: 7 7 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 302 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024636F6E74696720284024636F6E7469677329207B> +show +88 345 moveto +<20206D7920246C656E677468203D2024636F6E7469672D3E6C656E6774683B> +show +88 388 moveto +<20206D792024696420202020203D2024636F6E7469672D3E69643B> +show +88 474 moveto +<202023205468652073657175656E6365206F66206120636F6E746967206973206F627461696E65 +6420656173696C793A> +show +88 559 moveto +<20207072696E742024636F6E7469672D3E736571202E20225C6E223B> +show +88 645 moveto +<20232057652063616E20676574206120737562737472696E67206F662074686973207365717565 +6E636520746F6F3A> +show +88 731 moveto +<207072696E742024636F6E7469672D3E73756273657128312C31303029202E20225C6E223B> +show +88 817 moveto +<2020232049662077652077616E7420746F207772697465207468652073657175656E636520746F +20612066696C65207765207573652062696F7065726C20616761696E> +show +88 860 moveto +<20202320284E6F74653A20696620776520617265206372656174696E672061206E6577206F626A +656374207765206E65656420746F20696E636C756465> +show +88 903 moveto +<2020232061207573652042696F3A3A536571494F206C696E652061742074686520737461727420 +6F66206F75722066696C65> +show +88 989 moveto +<20207573652042696F3A3A536571494F3B> +show +88 1074 moveto +<20206D792024736571696F203D206E65772042696F3A3A536571494F282D666820202020203D3E +205C2A5354444F55542C> +show +88 1117 moveto +<202020202020202020202020202020202020202020202020202020202D666F726D617420203D3E +2027666173746127293B> +show +88 1203 moveto +<202024736571696F2D3E77726974655F7365712824636F6E746967293B> +show +88 1289 moveto +<7D> +show +88 1386 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4D616E792066656174757265732063616E206265206F627461696E65642066726F6D2061205261 +77436F6E7469672E20204F6E6520736574206F6620666561747572657320746861742077696C6C20 +70726F76652065787472656D656C792075736566756C20696620796F7527726520676F696E672074 +6F> +show +88 1436 moveto +<646F20616E7920616E616C79736973206F6E207468656D20617265207468652072657065617420 +66656174757265732E202054686573652063616E206265207573656420746F206D61736B20746865 +2073657175656E636520726561647920666F722C207361792C206120424C415354> +show +88 1486 moveto +<7365617263682E2020466F72206578616D706C653A> +show +88 1580 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246D61736B6564736571203D2024636F6E7469672D3E6765745F7265706561746D61736B +65645F7365713B> +show +88 1679 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<48656E63652C20456E73454D424C2070726F766964657320796F75207769746820612068616E64 +792063616C6C20746F206F627461696E207265706561742D6D61736B65642073657175656E636520 +776974686F757420796F7520686176696E6720746F20726572756E> +show +88 1729 moveto +<5265706561744D61736B65722E> +show +88 1829 moveto +<4F6620636F757273652C20676976656E20612077686F6C652067656E6F6D652073657175656E63 +6520746F20706C617920776974682C20796F752061726520686172646C7920676F696E6720746F20 +626520636F6E74656E742077697468206C6F6F6B696E67206174206A757374206F6E65> +show +88 1879 moveto +<636C6F6E652E202048656E63652C20746F20646F2067656E6F6D652073697A656420616E616C79 +73657320796F752077696C6C2070726F6261626C792077616E7420746F2072657472696576652061 +6C6C2074686520636C6F6E65732066726F6D207468652064617461626173652E20204265666F7265> +show +88 1929 moveto +<676F696E672066757274686572206974206973206265737420746F20706F696E74206F75742074 +68617420756E6C65737320796F75206861766520616E206F7665722D726964696E6720726561736F +6E20746F20776F726B206F6E206120636C6F6E652D62792D636C6F6E652062617369732C20746869 +73206B696E64> +show +88 1979 moveto +<6F6620616E616C79736973206D69676874206265206D6F726520656173696C7920646F6E652075 +73696E6720536C696365732C2077686963682061726520746865207375626A656374206F66207468 +65206E6578742073656374696F6E2E2020486F77657665722C20696620796F75206E656564> +show +88 2029 moveto +<636C6F6E65732C20796F752063616E207265747269657665207468656D20696E2074686520666F +6C6C6F77696E67207761792E> +show +88 2123 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024636C6F6E6573203D2024636C6F6E655F61646170746F722D3E66657463685F616C6C3B> +show +88 2222 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F6E63652074686973206C697374206F6620636C6F6E657320686173206265656E206F62746169 +6E656420796F752063616E207365742061626F75742067657474696E672075736566756C20746869 +6E67732E> +show +88 2316 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024636C6F6E6520284024636C6F6E657329207B> +show +88 2359 moveto +<2020206D792024636F6E74696773203D2024636C6F6E652D3E6765745F616C6C5F436F6E746967 +733B> +show +88 2401 moveto +<202020666F7265616368206D792024636F6E74696720284024636F6E7469677329207B> +show +88 2444 moveto +<2020202020206D79202473657175656E6365203D2024636F6E7469672D3E73657128293B> +show +88 2487 moveto +<2020202020207072696E74202473657175656E6365202E20225C6E223B> +show +88 2530 moveto +<2020207D> +show +88 2579 moveto +<7D20> +show +138 2579 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20> +show +88 2679 moveto +<4E6F746963652074686174207468652061626F76652073637269707420616C6C6F777320796F75 +20746F207072696E742074686520656E746972652067656E6F6D652073657175656E63652C207768 +69636820697320706F74656E7469616C6C7920717569746520736C6F772E2020556E6C6573732079 +6F75> +show +88 2729 moveto +<68617665206120726561736F6E20746F206C61626F72696F75736C7920776F726B207468726F75 +676820636C6F6E6520616E6420636F6E7469672073657175656E6365732C20796F752077696C6C20 +6265206D75636820626574746572206F6666207573696E6720536C69636573202D207768696368> +show +88 2779 moveto +<77652077696C6C20636F6D6520746F206A7573742061726F756E6420746865206E65787420636F +726E65722E> +show +88 2929 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4578657263697365732031> +show +88 3042 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E20436F6E6E65637420746F207468652064617461626173652E2020486F77206D616E792063 +6C6F6E657320646F657320697420636F6E7461696E3F> +show +showpage +grestore grestore +%%PageTrailer -dup 70 /P put +%%Page: 8 8 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<202848696E743A204D616B65206120> +show +361 265 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<246462> +show +436 265 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206F626A65637420616E6420676574206120636C6F6E652061646170746F722066726F6D206974 +2E20205573652074686520> +show +1332 265 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<66657463685F616C6C2829> +show +1609 265 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F64206F66207468652061646170746F7220616E64207468656E2074616B65> +show +88 315 moveto +<7468652073697A65206F662072657475726E6564206172726179292E> +show +88 415 moveto +<322E2057686174206973207468652061766572616765206E756D626572206F662072617720636F +6E746967732070657220636C6F6E6520666F72207468652066697273742031303020636C6F6E6573 +20696E207468652064617461626173653F> +show +88 515 moveto +<2020202848696E743A20> +show +235 515 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6765745F616C6C5F436F6E7469677320> +show +638 515 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6F6E20636C6F6E65293B> +show +88 615 moveto +<332E205072696E74206F757420696E20666173746120666F726D61742074686520726570656174 +2D6D61736B65642073657175656E636520666F7220746865206C61737420313020636C6F6E657320 +6F66207468652067656E6F6D652E> +show +88 715 moveto +<20> +show +88 765 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<536C69636573> +show +88 865 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<496620796F7520686176652068616420657870657269656E63652077697468207573696E672074 +686520456E73454D424C20415049206265666F72652C20796F752077696C6C206861766520636F6D +65206163726F73732074686520636F6E63657074206F66207669727475616C> +show +88 915 moveto +<636F6E746967732E202041207669727475616C20636F6E7469672077617320616E20456E73454D +424C206F626A656374207468617420726570726573656E74656420612073656374696F6E206F6620 +612067656E6F6D652E20205468657365207669727475616C20636F6E7469677320636F756C64> +show +88 965 moveto +<6265206372656174656420746F20726570726573656E7420616E792073696E676C652070617274 +206F66207468652067656E6F6D652C20616E64207765726520637265617465642073696D706C7920 +6279206D616B696E6720612063616C6C20746F2074686520246462206F626A656374> +show +88 1015 moveto +<73706563696679696E6720737461727420616E6420656E6420636F6F7264696E61746573202066 +6F72206120706172746963756C6172206368726F6D6F736F6D652E2020546865206E697474792067 +7269747479206F662074616B696E67207468652061637475616C2072617720636F6E746967> +show +88 1065 moveto +<73657175656E63657320616E6420737469746368696E6720746865736520746F67657468657220 +696E746F20612073696E676C652073657175656E63652077617320646F6E6520696E207468652062 +61636B67726F756E642062792074686520456E73454D424C20636F64652E2020546865> +show +88 1115 moveto +<63757272656E7420696E6361726E74696F6E206F662061207669727475616C20636F6E74696720 +69732074686520536C696365202D207669727475616C20636F6E7469677320617265206E6F206C6F +6E6765722070617274206F662074686520456E73454D424C20636F64652E20204A757374206C696B +65207669727475616C> +show +88 1165 moveto +<636F6E74696773206120536C69636520697320616E20456E73454D424C206F626A656374207468 +617420726570726573656E747320616E7920706172746963756C617220726567696F6E206F662061 +2067656E6F6D652E20204120536C69636520616E6420697473206173736F636961746564> +show +88 1215 moveto +<6D6574686F64732070726F7669646520612073696D706C652077617920746F2072657472696576 +6520616E64206D616E6970756C6174652073657175656E63652066726F6D20612070617274206F66 +207468652067656E6F6D65207468617420796F752061726520696E746572657374656420696E2E> +show +88 1265 moveto +<546F20676574206120536C696365206F662067656E6F6D6520796F75206A757374206E65656420 +746F20646F2074686520666F6C6C6F77696E672E> +show +88 1365 moveto +<46697273742C20676574206120536C6963652061646170746F722066726F6D2074686520646174 +61626173652061646170746F723A> +show +88 1459 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736C6963655F61646170746F72203D202464622D3E6765745F536C6963654164617074 +6F723B> +show +88 1558 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<57697468206120536C6963652061646170746F722C2072657472696576696E672067656E6F6D65 +2073657175656E636520697320617320656173792061732073706563696679696E67207768696368 +20726567696F6E206F66207768696368206368726F6D6F736F6D6520776520617265> +show +88 1608 moveto +<61667465723A> +show +88 1702 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736C696365203D2024736C6963655F61646170746F722D3E66657463685F62795F6368 +725F73746172745F656E64282731272C312C313030303030293B> +show +88 1801 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546865206F7264657220746861742074686520617267756D656E74732061726520706173736564 +206973206368726F6D6F736F6D65206E756D6265722C20737461727420636F6F7264696E61746520 +616E6420656E6420636F6F7264696E6174652E20204E6F7469636520746861742074686973> +show +88 1851 moveto +<6973207265666C656374656420696E20746865206E616D696E67206F662074686520736C696365 +2061646170746F72206D6574686F642E202047656E6572616C6C792074686973206973206120676F +6F6420677569646520746F206775657373696E67207768617420617267756D656E747320796F75> +show +88 1901 moveto +<6E65656420746F2070726F766964652061206D6574686F642063616C6C202D2020616C7465726E +61746976656C7920796F752063616E20686176652061206C6F6F6B2061742074686520646F63756D +656E746174696F6E206173736F6369617465642077697468206120706172746963756C6172> +show +88 1951 moveto +<6D6F64756C652E> +show +88 2051 moveto +<416E6F746865722075736566756C2077617920746F206F627461696E206120536C696365206973 +20746F20646F2069742077697468207265737065637420746F20612067656E6520697420636F6E74 +61696E733A> +show +88 2145 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736C696365203D2024736C6963655F61646170746F722D3E66657463685F62795F6765 +6E655F737461626C655F69642827454E53473030303030303939383839272C2035303030293B> +show +88 2244 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546869732077696C6C2072657475726E206120536C696365207468617420636F6E7461696E7320 +7468652073657175656E6365206F66207468652067656E6520737065636966696564206279206974 +7320737461626C6520456E73454D424C2069642E2020497420616C736F2072657475726E73203530 +30306270> +show +88 2294 moveto +<6F6620666C616E6B696E672073657175656E636520617420626F74682074686520352720616E64 +20332720656E64732C207768696368206973206F6276696F75736C7920766572792075736566756C +20696620796F752061726520696E746572657374656420696E2074686520656E7669726F6E732074 +6861742061> +show +88 2344 moveto +<67656E6520696E6861626974732E2020596F75206E6565646E277420686176652074686520666C +616E6B696E672073657175656E636520697420796F7520646F6E27742077616E74206974202D2020 +696E207468697320636173652073657420746865206E756D626572206F6620666C616E6B696E67> +show +88 2394 moveto +<626173657320746F2030206F72206F6D697420746865207365636F6E6420617267756D656E7420 +656E746972656C792E> +show +88 2492 moveto +<57652063616E20616C736F20726574726965766520536C69636573206F662061637475616C2070 +6879736963616C20636F6E74696773202D20616E642077652063616E207061642074686573652061 +742074686520656E647320776974682073657175656E63652066726F6D2061646A6F696E696E67> +show +88 2542 moveto +<636F6E746967733A> +show +88 2636 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736C696365203D2024736C6963655F61646170746F722D3E66657463685F62795F636F +6E7469675F6E616D65282741433030353636332E322E312E313033313232272C203130303030293B> +show +88 2735 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546869732072657475726E73206120536C696365207468617420636F6E7461696E732074686520 +636F6E74696720746861742077617320737065636966696564206279206E616D652E202049742061 +6C736F20696E636C756465732031303030306270206F6620666C616E6B696E672073657175656E63 +65> +show +88 2785 moveto +<6174206561636820656E64206F6620746869732061637475616C20636F6E7469672E> +show +88 2885 moveto +<57652063616E20616C736F20646F207468652073616D65207769746820636C6F6E65733A> +show +88 2979 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736C696365203D2024736C6963655F61646170746F722D3E66657463685F62795F636C +6F6E655F616363657373696F6E28274143303035363633272C31303030293B> +show +88 3078 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<536F2C206F6E63652077652068617665206F757220536C6963652077652063616E207468656E20 +75736520697420746F2072657472696576652075736566756C20696E666F726D6174696F6E206162 +6F75742074686520726567696F6E206F662073657175656E636520746861742074686520536C6963 +65> +show +showpage +grestore grestore +%%PageTrailer -dup 71 /I put +%%Page: 9 9 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<726570726573656E74732E> +show +88 365 moveto +<4A757374206C696B6520526177436F6E74696773206D656E74696F6E65642070726576696F7573 +6C792C206120536C69636520697320612042696F5065726C2073657175656E6365206F626A656374 +20616E642077652077652063616E20676574206174207468652061637475616C> +show +88 415 moveto +<73657175656E636520696E666F726D6174696F6E206C696B6520746875733A> +show +88 509 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202473657175656E6365203D2024736C6963652D3E7365713B> +show +88 608 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<57652063616E2071756572792074686520536C69636520666F7220696E666F726D6174696F6E20 +61626F757420697473656C663A> +show +88 700 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246368725F6E616D652020203D2024736C6963652D3E6368725F6E616D653B> +show +88 743 moveto +<6D7920246368725F737461727420203D2024736C6963652D3E6368725F73746172743B> +show +88 786 moveto +<6D7920246368725F656E64202020203D2024736C6963652D3E6368725F656E643B> +show +88 871 moveto +<7072696E7420224368726F6D6F736F6D6520246368725F6E616D652053746172742F456E642024 +6368725F737461727420246368725F656E64205C6E223B> +show +88 963 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546865206D616B657570206F66206F757220536C6963652069732064657465726D696E65642062 +792074686520617373656D626C7920286F722074686520676F6C64656E2074696C696E6720706174 +6829206F66206F75722067656E6F6D652E202049662077652077616E74656420746F> +show +88 1013 moveto +<616363657373207468697320617373656D626C7920696E666F726D6174696F6E20776974682072 +656761726420746F206120706172746963756C617220536C6963652077652063616E20646F207468 +69732062793A> +show +88 1100 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202474696C696E675F70617468203D2024736C6963652D3E6765745F74696C696E675F7061 +746828293B> +show +88 1186 moveto +<666F7265616368206D79202474696C652028402474696C696E675F7061746829207B> +show +88 1229 moveto +<20206D79202474696C655F736C696365203D202474696C652D3E617373656D626C65645F536571 +28292D3E6E616D653B> +show +88 1272 moveto +<20206D79202474696C655F6374672020203D202474696C652D3E636F6D706F6E656E745F536571 +28292D3E6E616D653B> +show +88 1315 moveto +<2020> +show +88 1358 moveto +<20206D792024736C6963655F7374617274203D202474696C652D3E617373656D626C65645F7374 +61727428293B> +show +88 1401 moveto +<20206D792024736C6963655F656E642020203D202474696C652D3E617373656D626C65645F656E +6428293B> +show +88 1444 moveto +<20206D7920246374675F73746172742020203D202474696C652D3E636F6D706F6E656E745F7374 +61727428293B> +show +88 1486 moveto +<20206D7920246374675F656E6420202020203D202474696C652D3E636F6D706F6E656E745F656E +6428293B> +show +88 1529 moveto +<20206D7920246374675F6F726920202020203D202474696C652D3E636F6D706F6E656E745F6F72 +6928293B> +show +88 1615 moveto +<20207072696E7420225B2474696C655F736C6963655D2024736C6963655F7374617274202D2024 +736C6963655F656E64203D3E2093202E> +show +238 1658 moveto +<2020935B2474696C655F6374675D20246374675F7374617274202D20246374675F656E64202824 +6374675F6F7269295C6E223B> +show +88 1701 moveto +<7D> +show +88 1800 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<45616368202774696C65272074686174207765206172652072657475726E656420697320612042 +696F3A3A456E73454D424C3A3A54696C65206F626A65637420726570726573656E74696E67207468 +6520706F7274696F6E206F66206120736C6963652074686174206D617073206469726563746C7920 +6F6E746F2061> +show +88 1850 moveto +<706F7274696F6E206F6620746865206173736D65626C7920286F7220676F6C64656E2070617468 +292E> +show +88 1900 moveto +<20> +show +88 1950 moveto +<4120536C696365206973206120676F6F64207374617274696E6720706C61636520666F72207265 +7472696576696E6720696E666F726D6174696F6E2061626F7574206120726567696F6E206F662061 +206368726F6D6F736F6D652C20696E636C7564696E67207468652067656E6573206974> +show +88 2000 moveto +<636F6E7461696E732E2020546865206E657874206665772073656374696F6E732077696C6C2067 +6F20696E746F206D6F72652064657461696C2061626F757420686F7720746F20646F20746869732E> +show +88 2148 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<536C6963657320767320526177436F6E74696773> +show +88 2246 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4265666F726520676F696E67206F6E20746F20746865206E65787420746F7069637320616E2069 +6D706F7274616E7420706F696E74206E6565647320746F206265206D6164652E2020446573706974 +65207468652066616374207468617420536C6963657320616E6420526177436F6E74696773> +show +88 2296 moveto +<61726520646966666572656E74206F626A6563747320616E6420646F6E27742072657072657365 +6E742065786163746C79207468652073616D65207468696E6720286F6E6520697320616E20657870 +6572696D656E74616C6C792067656E6572617465642073747265746368206F662073657175656E63 +652C> +show +88 2346 moveto +<746865206F74686572206973206120636F6D7075746174696F6E616C6C7920706F6F6C65642073 +657175656E63652920746865792063616E206566666563746976656C792062652075736564206173 +20737563682E2020496E207468652072657374206F66207468697320646F63756D656E742061> +show +88 2396 moveto +<64697374696E6374696F6E20776F6E277420626520647261776E206265747765656E2074686520 +74776F202D20756E6C65737320746865726520697320616E2061637475616C20646966666572656E +6365206265747765656E20686F77207468652074776F206F626A6563747320626568617665> +show +88 2446 moveto +<2877686963682062792064657369676E2073686F756C6420626520666577292E20205765207769 +6C6C206265207573696E6720536C696365732062792064656661756C742074686F7567682C206173 +20776520776F756C6420656E636F757261676520796F7520746F20646F20746F6F2E> +show +showpage +grestore grestore +%%PageTrailer -dup 72 /o put +%%Page: 10 10 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4578657263697365732032> +show +88 378 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E20466574636820314D62206F66207265706561742D6D61736B65642073657175656E636520 +66726F6D2074686520636F6E746967206F6620796F75722063686F69636520202848696E743A2043 +726561746520612020536C696365207573696E67> +show +88 428 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<66657463685F536C6963655F62795F6368725F73746172745F656E6428246368722C2473746172 +742C24656E6429> +show +1247 428 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20616E6420686176652061206C6F6F6B206261636B20617420686F772074686973207761732064 +6F6E652077697468> +show +88 478 moveto +<526177436F6E7469677320696E207468652070726576696F75732073656374696F6E292E> +show +88 590 moveto +<322E20204665746368206120536C696365206F66207468652067656E6520454E53473030303030 +313030323539> +show +88 703 moveto +<332E20205072696E7420746865206C6173742031303030206E75636C656F7469646573206F6620 +7468652053696C6365206F627461696E656420696E207468652070726576696F7573207175657374 +696F6E2E> +show +88 815 moveto +<332E2020466F722074686520536C69636520796F752072657472696576656420696E2074686520 +6669727374207175657374696F6E2C207072696E742074686520696473206F662074686520636F6E +74696773207468617420666F726D207468652074696C696E6720706174682E2020416C736F207072 +696E7420746865207374617274> +show +88 865 moveto +<616E6420656E6420706F736974696F6E73206F66206561636820526177436F6E74696720617320 +6974206973207573656420696E207468652074696C696E6720706174682E> +show +88 1028 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<53657175656E6365204665617475726573> +show +88 1140 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<536F206E6F77207765277265207072657474792068617070792061626F75742072657472696576 +696E6720444E412073657175656E63652066726F6D20456E73454D424C2E2020546865206D6F7265 +20696E746572657374696E67207468696E6773206173736F6369617465642077697468> +show +88 1190 moveto +<536C6963657320616E6420526177436F6E74696773206172652074686520666561747572657320 +746861742063616E206265207265747269657665642066726F6D207468656D2E2020546865736520 +696E636C7564652074686520726570656174206665617475726573206D656E74696F6E6564> +show +88 1240 moveto +<696E2070726576696F75736C7920616E6420616C736F2073696D696C6172697479206665617475 +72657320286C696B6520424C41535420726573756C7473292C2070726564696374696F6E20747261 +6E736372697074732028737563682061732067656E7363616E20726573756C74732920616E64> +show +88 1290 moveto +<6D61726B65722066656174757265732E20204E6F7420746F206D656E74696F6E2067656E65732C +206F6620636F757273652E> +show +88 1390 moveto +<53657473206F662066656174757265732063616E206265207265747269657665642066726F6D20 +6120726567696F6E207468726F7567682061207265717565737420746F206120536C696365206F72 +20526177436F6E7469672028796F752772652070726F6261626C792067657474696E672075736564> +show +88 1440 moveto +<746F2074686973206279206E6F77292E20205468657365206172652072657475726E656420746F +2075732061732066656174757265202A6F626A656374732A2E2020466F7220696E7374616E63653A> +show +88 1527 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202472657065617473203D2024736C6963652D3E6765745F616C6C5F526570656174466561 +74757265733B> +show +88 1626 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5765206E6F7720686176652061207265666572656E636520746F2061206C69737420636F6E7461 +696E696E672066656174757265206F626A656374732E2020416E20656173792077617920746F2070 +72696E74207468657365206F757420697320746F2063616C6C20746865206D6574686F64> +show +88 1676 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<676666737472696E67> +show +314 1676 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2077686963682072657475726E7320696E666F726D6174696F6E2061626F757420746865206665 +6174757265206173206120737472696E673A> +show +88 1768 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024726570656174202840247265706561747329207B> +show +88 1811 moveto +<20207072696E7420247265706561742D3E676666737472696E67202E20225C6E223B> +show +88 1854 moveto +<7D> +show +88 1953 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<596F752073686F756C6420676574206120736572696573206F66206F7574707574206C696E6573 +206C696B65> +show +88 2046 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<32323A31363839303230342D3136393837313237> +show +688 2046 moveto +<5265706561744D61736B6572> +show +1138 2046 moveto +<726570656174> +show +1438 2046 moveto +<32383531> +show +1588 2046 moveto +<32393539> +show +1738 2046 moveto +<363435> +show +1888 2046 moveto +<2B> +show +2038 2046 moveto +<2D31> +show +88 2089 moveto +<32323A31363839303230342D3136393837313237> +show +688 2089 moveto +<5265706561744D61736B6572> +show +1138 2089 moveto +<726570656174> +show +1438 2089 moveto +<32393739> +show +1588 2089 moveto +<33323630> +show +1738 2089 moveto +<32303636> +show +1888 2089 moveto +<2D> +show +2038 2089 moveto +<2D31> +show +88 2132 moveto +<32323A31363839303230342D3136393837313237> +show +688 2132 moveto +<5265706561744D61736B6572> +show +1138 2132 moveto +<726570656174> +show +1438 2132 moveto +<34303038> +show +1588 2132 moveto +<34303536> +show +1738 2132 moveto +<323334> +show +1888 2132 moveto +<2D> +show +2038 2132 moveto +<2D31> +show +88 2175 moveto +<32323A31363839303230342D3136393837313237> +show +688 2175 moveto +<5265706561744D61736B6572> +show +1138 2175 moveto +<726570656174> +show +1438 2175 moveto +<34303830> +show +1588 2175 moveto +<34333435> +show +1738 2175 moveto +<31373638> +show +1888 2175 moveto +<2D> +show +2038 2175 moveto +<2D31> +show +88 2218 moveto +<32323A31363839303230342D3136393837313237> +show +688 2218 moveto +<5265706561744D61736B6572> +show +1138 2218 moveto +<726570656174> +show +1438 2218 moveto +<34333634> +show +1588 2218 moveto +<34343530> +show +1738 2218 moveto +<353439> +show +1888 2218 moveto +<2D> +show +2038 2218 moveto +<2D31> +show +88 2261 moveto +<32323A31363839303230342D3136393837313237> +show +688 2261 moveto +<5265706561744D61736B6572> +show +1138 2261 moveto +<726570656174> +show +1438 2261 moveto +<34363530> +show +1588 2261 moveto +<34373336> +show +1738 2261 moveto +<323532> +show +1888 2261 moveto +<2D> +show +2038 2261 moveto +<2D31> +show +88 2304 moveto +<32323A31363839303230342D3136393837313237> +show +688 2304 moveto +<5265706561744D61736B6572> +show +1138 2304 moveto +<726570656174> +show +1438 2304 moveto +<35383335> +show +1588 2304 moveto +<35393732> +show +1738 2304 moveto +<343133> +show +1888 2304 moveto +<2D> +show +2038 2304 moveto +<2D31> +show +88 2347 moveto +<32323A31363839303230342D3136393837313237> +show +688 2347 moveto +<5265706561744D61736B6572> +show +1138 2347 moveto +<726570656174> +show +1438 2347 moveto +<3132303335> +show +1588 2347 moveto +<3132303834> +show +1738 2347 moveto +<313933> +show +1888 2347 moveto +<2D> +show +2038 2347 moveto +<2D31> +show +88 2446 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520636F6C756D6E73207468617420636F6D706F7365206120676666737472696E67206861 +76652074686520666F6C6C6F77696E67206D65616E696E673A> +show +88 2546 moveto +<3120> +show +238 2546 moveto +<73657175656E6365206E616D65> +show +88 2596 moveto +<3220> +show +238 2596 moveto +<666561747572652074797065> +show +88 2646 moveto +<3320> +show +238 2646 moveto +<6D61696E20666561747572652074797065> +show +88 2696 moveto +<3420> +show +238 2696 moveto +<73657175656E6365207374617274> +show +88 2746 moveto +<3520> +show +238 2746 moveto +<73657175656E636520656E64> +show +88 2796 moveto +<3620> +show +238 2796 moveto +<737472616E64> +show +88 2846 moveto +<3720> +show +238 2846 moveto +<73636F7265> +show +88 2896 moveto +<3820> +show +238 2896 moveto +<7068617365> +show +88 2996 moveto +<536F6D6574696D65732074686572652061726520616E206164646974696F6E616C207468726565 +20636F6C756D6E73206966207468652066656174757265207479706520706F736573736573207468 +656D3A> +show +88 3096 moveto +<3920> +show +238 3096 moveto +<6869742073657175656E6365206E616D65> +show +showpage +grestore grestore +%%PageTrailer -dup 73 /F put +%%Page: 11 11 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<313020> +show +238 265 moveto +<686974207374617274> +show +88 315 moveto +<313120> +show +238 315 moveto +<68697420656E64> +show +88 463 moveto +<496E7374656164206F66207573696E6720> +show +396 463 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<676666737472696E6720> +show +648 463 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2077652063616E2061736B207468652066656174757265206F626A65637473206469726563746C +792061626F75742074686569722070726F70657274696573> +show +1780 463 moveto +/Courier-iso1252 findfont 48 -48 matrix scale makefont setfont +<3A> +show +88 557 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024726570656174202840247265706561747329207B20> +show +88 600 moveto +<2020207072696E7420224E616D652020203A2022202E20247265706561742D3E7365716E616D65 +202E20225C6E223B> +show +88 643 moveto +<2020207072696E742022537461727420203A2022202E20247265706561742D3E73746172742020 +202E20225C6E223B> +show +88 686 moveto +<2020207072696E742022456E64202020203A2022202E20247265706561742D3E656E6420202020 +202E20225C6E223B> +show +88 729 moveto +<2020207072696E742022537472616E64203A2022202E20247265706561742D3E737472616E6420 +2E20225C6E223B> +show +88 771 moveto +<2020207072696E74202253636F726520203A2022202E20247265706561742D3E73636F72652020 +2E20225C6E223B> +show +88 857 moveto +<7D> +show +88 956 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<536F6D6520666561747572657320286C696B65204370472069736C616E647320666F7220696E73 +74616E636529206172652073696D706C6520666561747572657320616E64206F6E6C792068617665 +20746865206D6574686F6473207072696E7465642061626F76652E> +show +88 1056 moveto +<4F746865722066656174757265732061732077656C6C20617320686176696E6720636F6F726469 +6E61746573206F6E206120636F6E7469672073657175656E636520616C736F206861766520636F6F +7264696E61746573206F6E2061206869742073657175656E63653A> +show +88 1150 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202472657065617420284024726570656174732920> +show +238 1193 moveto +<7072696E7420224869742073746172742022202E20247265706561742D3E687374617274202E20 +225C6E223B> +show +238 1236 moveto +<7072696E74202248697420656E6420202022202E20247265706561742D3E68656E64202E20225C +6E223B> +show +88 1279 moveto +<7D> +show +88 1376 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5265706561742066656174757265732061726520616E206578616D706C65206F66206120666561 +7475726520776869636820616C736F2073746F7265732074686520636F6F7264696E61746573206F +662061206869742073657175656E63652E2020486F77657665722C2074686520636C6173736963> +show +88 1426 moveto +<6578616D706C652069732061206665617475726520726570726573656E74696E67206120424C41 +535420726573756C74207768657265207468652071756572792073657175656E6365206973207369 +6D696C617220746F20616E6F746865722073657175656E6365202870726F7465696E2C> +show +88 1476 moveto +<4553542C2063444E412920616E6420736F207765206E65656420746F2073746F72652077686963 +682073657175656E6365206974206861732068697420616E6420776865726561626F757420696E20 +746861742073657175656E636520697420686173206869742E20205468657365207479706573> +show +88 1526 moveto +<6F662066656174757265732068617665207468652067656E65726963206E616D65206F66207369 +6D696C61726974792066656174757265732E2020496E207265616C69747920746865736520666561 +747572657320617265206D656D62657273206F662061207375706572636C6173732063616C6C6564> +show +88 1576 moveto +<416C69676E46656174757265732028626563617573652074686579206172652066656174757265 +7320776974682074776F20616C69676E65642073657175656E636573292C20616E6420646570656E +64696E67206F6E207768657468657220697420697320444E41206F722070726F7465696E> +show +88 1626 moveto +<73657175656E6365207468617420776520617265206465616C696E6720776974682C2074686520 +6F626A65637473206172652065697468657220612042696F3A3A456E73454D424C3A3A446E61446E +61416C69676E46656174757265206F722061> +show +88 1676 moveto +<42696F3A3A456E73454D424C3A3A50726F7465696E446E61416C69676E46656174757265> +show +88 1776 moveto +<546F206765742073696D696C61726974792066656174757265732066726F6D206120526177436F +6E746967206F72206120736C696365207765207573653A> +show +88 1870 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246665617475726573203D2024636F6E7469672D3E6765745F616C6C5F53696D696C6172 +69747946656174757265733B> +show +88 1969 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546F206F627461696E206F6E6C7920446E61416C69676E46656174757265732077652063616E20 +7573652074686520666F6C6C6F77696E67206D6574686F643A> +show +88 2063 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<246665617475726573203D2024736C6963652D3E6765745F616C6C5F446E61416C69676E466561 +7475726573282756657274726E61272C20302E3030303031293B> +show +88 2162 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F746520746861742074686973206D6574686F642074616B65732074776F206F7074696F6E61 +6C20617267756D656E74732077686963682063616E20696D706F736520616E206164646974696F6E +616C20636F6E73747261696E74206F6E207468652066656174757265732077652077616E74> +show +88 2212 moveto +<746F2072657472656976652E202054686520666972737420617267756D656E7420697320612027 +6C6F676963206E616D652720202D202020746865206E616D6520666F722074686520616E616C7973 +69732077686963682077617320636F6E64756374656420746F206F627461696E2074686520666561 +747572652E> +show +88 2262 moveto +<466F722073696D696C617269747920666561747572657320746865206C6F676963206E616D6520 +72656C6174657320746F207468652074797065206F6620626C61737420616E616C79736973202061 +6E64207468657265206172652063757272656E746C7920666F7572206C6F6769635F6E616D657320 +7768696368> +show +88 2312 moveto +<636F72726573706F6E6420746F20646E615F616C69676E5F666561747572657320696E20746865> +show +828 2312 moveto +<2063757272656E7420636F646520286E6F7465207468617420746865206C6F676963206E616D65 +20697320434153452053454E534954495645293A> +show +88 2412 moveto +<56657274726E61> +show +388 2412 moveto +<57552074626C6173746E206869747320616761696E73742074686520454D424C2D76657274726E +612064617461626173652028616C6C2043445327732066726F6D2074686520454D424C2064617461 +62617365292E> +show +88 2462 moveto +<5377616C6C> +show +388 2462 moveto +<575520626C61737470206869747320616761696E737420746865205357414C4C20646174616261 +7365202870726F7465696E206665617475726573206F6E6C79292E> +show +88 2512 moveto +<556E6967656E65> +show +388 2512 moveto +<57552074626C6173746E206869747320616761696E73742074686520556E6947656E6520646174 +61626173652E> +show +88 2562 moveto +<6462455354> +show +388 2562 moveto +<57552074626C6173746E206869747320616761696E737420746865206462455354206461746162 +6173652E> +show +88 2662 moveto +<48656E63652C20696E206F75722063616C6C20746F20726574726965766520444E412066656174 +757265732C2077652068617665207265717565737465642074686F73652074686174206172652068 +69747320616761696E73742074686520454D424C2076657274726E612064617461626173652E> +show +88 2712 moveto +<5765206861766520616C736F2073746970756C617465642061206375742D206F66662076616C75 +652E20205468697320616C6C6F777320757320746F2073657420746865206C6576656C206F662073 +74726967656E6379206F6620424C415354206869747320616E642069732065786163746C79207468 +65> +show +88 2762 moveto +<73616D652061732074686520424C41535420452830292076616C75652E20> +show +88 2862 moveto +<4F6E6365207765206861766520746865736520444E412066656174757265732077652063616E20 +69746572617465207468726F756768207468656D20616E642074616B652061206C6F6F6B20617420 +77686174207468657920636F6E7461696E3A> +show +88 2956 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D7920246665617420284024666561747572657329207B> +show +88 2999 moveto +<20207072696E742022466561747572652073636F726573206172652022202E2024666561742D3E +73636F72652020202020202E20225C7422202E20> +show +88 3041 moveto +<202020202020202020202020202020202020202020202020202020202020202024666561742D3E +70657263656E745F6964202E20225C7422202E> +show +showpage +grestore grestore +%%PageTrailer -dup 74 /three put +%%Page: 12 12 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 259 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7D> +show +88 358 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5468652073616D652070726F636564757265206170706C69657320746F2072657472696576696E +672070726F7465696E2066656174757265732C206A75737420696E73746561642075736520746865 +206D6574686F642063616C6C3A> +show +88 445 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<24736C6963652D3E6765745F616C6C5F50726F7465696E416C69676E4665617475726573282753 +77616C6C272C20302E30303031292E> +show +88 544 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<43686F6F73652061206C6F676963206E616D6520617070726F70726961746520746F2070726F74 +65696E73202D20736F20737469636B207769746820275377616C6C2720286F72206C656176652074 +6865206C6F676963206E616D65206F757420656E746972656C79292E20204F6E6365207468657365> +show +88 594 moveto +<70726F7465696E2066656174757265732068617665206265656E2072657475726E656420776520 +63616E206C6F6F6B206174207468656D20696E207468652073616D6520776179206173207765206A +7573742064696420666F7220444E412066656174757265732E> +show +88 694 moveto +<417320616E20616C7465726E617469766520617070726F6163682077652063616E20676F206469 +726563746C7920746F20746865206F626A6563742061646170746F7220666F722061206665617475 +7265207479706520616E6420726571756573742066656174757265732066726F6D20746865> +show +88 744 moveto +<64617461626173652E202054686520666F6C6C6F77696E67206578616D706C6520696C6C757374 +726174657320736F6D65206F662074686520646966666572656E7420617070726F61636865732074 +6861742063616E206265207573656420746F206F627461696E2066656174757265733A> +show +88 838 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202473696D706C655F666561747572655F61646170746F72203D202464622D3E6765745F53 +696D706C654665617475726541646170746F723B> +show +88 924 moveto +<2367657420616C6C206F66207468652045706F6E696E652068697473206F6E206120436F6E7469 +67> +show +88 966 moveto +<6D79204065706F6E696E655F68697473203D20407B2473696D706C655F666561747572655F6164 +6170746F722D3E66657463685F616C6C5F62795F> +show +1574 966 moveto +<526177436F6E746967> +show +1800 966 moveto +<2824636F6E7469672C> +show +88 1009 moveto +<2745706F6E696E6527297D3B> +show +88 1095 moveto +<2367657420616C6C204370472069736C616E6473206F6E206120536C6963652077697468207363 +6F72652067726561746572207468616E20353030> +show +88 1138 moveto +<6D7920246370675F69736C616E647320203D202473696D706C655F666561747572655F61646170 +746F722D3E66657463685F616C6C5F62795F536C6963655F616E645F73636F72652824736C696365 +2C203530302C> +show +88 1181 moveto +<27437047> +show +188 1181 moveto +<27293B> +show +88 1267 moveto +<23676574207468652073696D706C65206665617475726520776974682074686520646174616261 +7365206964656E7469666965722031> +show +88 1310 moveto +<6D79202473696D706C655F66656174757265203D202473696D706C655F666561747572655F6164 +6170746F722D3E66657463685F62795F646249442831293B> +show +88 1396 moveto +<2367657420616C6C206F66207468652073696D706C65206665617475726573206F6E206120736C +69636520> +show +88 1439 moveto +<6D79204073696D706C655F6665617475726573203D20407B24736C6963652D3E6765745F616C6C +5F53696D706C6546656174757265737D3B> +show +88 1524 moveto +<2367657420616C6C206F66207468652074524E417363616E2068697473206F6E206120636F6E74 +6967> +show +88 1567 moveto +<6D79202474726E6173203D2024636F6E7469672D3E6765745F616C6C5F53696D706C6546656174 +75726573282774524E417363616E27293B20> +show +88 1709 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<416E616C79736973204F626A65637473> +show +88 1820 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<416C6C206665617475726573207265747269657665642066726F6D207468652064617461626173 +65206861766520616E20416E616C79736973206F626A65637420617474616368656420746F207468 +656D207468617420636F6E7461696E7320696E666F726D6174696F6E20726567617264696E67> +show +88 1870 moveto +<74686520616E616C797369732F616C676F726974686D2074686174206372656174656420746865 +20666561747572652E202054686973206973206120676F6F64206D65616E73206279207768696368 +20746F2064657465726D696E652077686572652074686520666561747572652068617320636F6D65> +show +88 1920 moveto +<66726F6D206F7220776861742069742061637475616C6C792069732E202054686520> +show +669 1920 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6766665F736F7572636520> +show +946 1920 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D6574686F64206F662074686520416E616C79736973206F626A6563742074656C6C7320757320 +7768617420736F7274206F66206665617475726520776520686176652C2073756368> +show +88 1970 moveto +<6173202767656E7363616E272C2772657065617427206F722027637067272E20204F7468657220 +696E666F726D6174696F6E2063616E20626520646572697665642066726F6D2074686520416E616C +79736973206F626A6563742C20737563682061732074686520646174616261736520746861742077 +6173> +show +88 2020 moveto +<7573656420696E206120424C415354206A6F622C2074686520706172616D657465727320746861 +7420776572652070726F766964656420746F207468652065786563757461626C652C20616E642065 +76656E20746865207061746820746F207468652065786563757461626C65207468617420776173> +show +88 2070 moveto +<757365643A> +show +88 2164 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024616E616C79736973203D2024666561747572652D3E616E616C797369733B> +show +88 2249 moveto +<7072696E742022416E616C797369733A2020202022202E2024616E616C797369732D3E6766665F +736F75726365202E20225C6E223B> +show +88 2292 moveto +<7072696E7420224461746162617365203A20202022202E2024616E616C797369732D3E64622020 +2E20225C6E223B> +show +88 2335 moveto +<7072696E74202250726F6772616D203A2020202022202E2024616E616C797369732D3E70726F67 +72616D202E20225C6E223B> +show +88 2378 moveto +<7072696E742022506172616D6574657273203A2022202E2024616E616C797369732D3E70617261 +6D6574657273202E20225C6E223B> +show +88 2470 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<466F7220696E7374616E636520612066656174757265207468617420636F6D6573206F7574206F +66206120424C4153542072756E2077696C6C206861766520616E20616E616C79736973206F626A65 +637420746861742074656C6C73207573206974207761732072756E20776974682027626C61737478 +2720616E64> +show +88 2520 moveto +<7761732072756E20616761696E7374206461746162617365202773707472273B> +show +88 2670 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F7665726C617073> +show +88 2780 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<412075736566756C2066656174757265206F662042696F5065726C206973207468617420697420 +6D616B6573206974206561737920746F2066696E642077686574686572206F6E6520666561747572 +65206F7665726C61707320616E6F746865722E20205468697320636F6D657320696E206A6F6C6C79> +show +88 2830 moveto +<68616E647920696620796F752077616E7420746F2066696E6420616C6C2067656E7363616E2070 +726564696374696F6E73207468617420646F6E2774206F7665726C61702065786F6E732C206F7220 +616C6C20534E5073207468617420646F206F7665726C61702065786F6E732C206F72206D6F757365> +show +88 2880 moveto +<74726163652068697473207468617420646F6E2774206F7665726C61702065786F6E732C206574 +632E> +show +88 2980 moveto +<496620776520686176652074776F206665617475726573202D2073617920616E2065786F6E2C20 +2465786F6E2C20616E64206120736E702C2024736E703A> +show +88 3074 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<202020696620282465786F6E2D3E6F7665726C6170732824736E702929207B> +show +88 3117 moveto +<2020202020207072696E742022576865792120636F64696E6720736E702022202020202E202473 +6E702D3E676666737472696E67202E20225C6E223B> +show +showpage +grestore grestore +%%PageTrailer -dup 75 /S put +%%Page: 13 13 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 259 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020207D20656C7365207B> +show +88 302 moveto +<2020202020207072696E742022426F6F21206E6F6E20636F64696E6720736E702022202E202473 +6E702D3E676666737472696E67202E20225C6E223B> +show +88 345 moveto +<2020207D> +show +88 444 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520> +show +172 444 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6F7665726C61707320> +show +398 444 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D6574686F642072657475726E73207472756520283129206966207468652074776F2066656174 +7572657320646F206F7665726C61702C206F722066616C736520283029206966207468657920646F +6E27742E> +show +88 488 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<20> +show +88 587 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4578657263697365732033> +show +88 699 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E> +show +123 699 moveto +<20205072696E74206F757420616C6C207468652072657065617420666561747572657320666F72 +20746865206669727374203130306B62206F662073657175656E6365206F662068756D616E206368 +726F6D736F6D6520312E20202848696E743A205573652074686520676666737472696E67> +show +88 749 moveto +<6D6574686F6420666F722065617379207072696E74696E6729> +show +88 849 moveto +<322E> +show +123 849 moveto +<2020576861742070726F706F7274696F6E206F6620444E412069732072657065617420696E2074 +68652061626F76652073657175656E636520616E642069732074686973207768617420796F752065 +78706563743F20202848696E743A20746F7420757020746865206C656E67746820666F72> +show +88 899 moveto +<6561636820726570656174206665617475726520616E6420636F6D7061726520746F2074686520 +746F74616C2073657175656E6365206C656E67746829> +show +88 999 moveto +/Courier-iso1252 findfont 48 -48 matrix scale makefont setfont +<332E> +show +145 999 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020466F7220636C6F6E652041433030> +show +460 999 moveto +<3536363320726574726965766520616C6C2074686520444E41206665617475726573206D617463 +68656420746F20454D424C2076657274726E612E2020486F77206D616E7920646966666572656E74 +2073657175656E63657320646964> +show +88 1049 moveto +<7468697320636C6F6E652068697420616E6420776572652074686573652068697473207369676E +69666963616E743F20202848696E743A205573652074686520687365716E616D65206D6574686F64 +20616E642074686520705F76616C7565206D6574686F6429> +show +88 1199 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<47656E6573> +show +88 1312 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<447572696E672074686520706970656C696E652067656E65206275696C64696E672070726F6365 +73732C2067656E657320617265206275696C74206F6E20536C696365732062656361757365206120 +6C6F74206F662067656E6573207370616E20206D6F7265207468616E206F6E6520636F6E7469672E> +show +88 1362 moveto +<48656E6365202C206974206D616B657320746865206D6F73742073656E736520746F2073756273 +657175656E746C792075736520536C6963657320746F20616363657373207468656D2E20486F7765 +7665722C20686176696E672073616964207468617420796F752063616E20616363657373> +show +88 1412 moveto +<67656E65732076696120526177436F6E7469677320696620796F7520776973682E202047657474 +696E6720616C6C20746865206F66207468652067656E65732066726F6D206120536C696365206F72 +20526177436F6E74696720697320617320656173792061733A> +show +88 1499 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202467656E6573203D2024736C6963652D3E6765745F616C6C5F47656E65733B> +show +88 1598 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<417320757375616C207765206172652072657475726E65642061207265666572656E636520746F +2061206C697374206F66206F626A65637473202D2047656E65206F626A6563747320746869732074 +696D652E205468657920636F6E7461696E20616C6C2074686520696E666F726D6174696F6E206162 +6F7574> +show +88 1648 moveto +<7468652065786F6E2F696E74726F6E207374727563747572652C20444E412073657175656E6365 +2C206574632E> +show +88 1748 moveto +<47656E6573206861766520456E73454D424C206964656E74696669657273207768696368206361 +6E206265206163636573736564207573696E672074686520> +show +1343 1748 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<737461626C655F696420> +show +1595 1748 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D6574686F643A> +show +88 1841 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202467656E652028402467656E657329207B> +show +88 1884 moveto +<20207072696E74202247656E65203A2022202E202467656E652D3E737461626C655F6964202E20 +225C6E223B> +show +88 1927 moveto +<7D> +show +88 2026 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<456E73454D424C206964656E7469666965727320646F6E2774207265616C6C792074656C6C2075 +73206D7563682061626F7574207468652067656E652028616E642074686579277265206E6F742020 +696E74656E64656420746F2920616E6420736F6D652067656E65732077696C6C2068617665> +show +88 2076 moveto +<6F6E65206F72206D6F7265206D6F726520636F6D6D6F6E206E616D65732E> +show +88 2176 moveto +<57652063616E2074656C6C20696D6D6564696174656C7920696620612067656E65206973206120 +6B6E6F776E2067656E652028726566736571206F722073707472656D626C292062792063616C6C69 +6E672074686520> +show +1665 2176 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<69735F6B6E6F776E> +show +1866 2176 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F642E202049662069742069732061206B6E6F776E> +show +88 2226 moveto +<67656E65207468656E2077652063616E2063616C6C2074686520656163685F44424C696E6B206D +6574686F6420746F2066696E64206F7574206D6F72652061626F75742069742E> +show +88 2313 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202467656E652028402467656E657329207B> +show +88 2356 moveto +<2020696620282467656E652D3E69735F6B6E6F776E29207B> +show +88 2399 moveto +<2020202020666F7265616368206D7920246C696E6B2028407B2467656E652D3E6765745F616C6C +5F44424C696E6B737D29207B> +show +88 2442 moveto +<202020202020207072696E74202247656E652022202E202467656E652D3E737461626C655F6964 +202E2022206C696E6B7320746F2022202E20> +show +88 2485 moveto +<202020202020202020202020202020246C696E6B2D3E646973706C61795F6964202E2022202220 +2E20> +show +88 2528 moveto +<202020202020202020202020202020246C696E6B2D3E6461746162617365202E20225C6E223B> +show +88 2571 moveto +<202020202020206D79204073796E73203D20407B246C696E6B2D3E6765745F616C6C5F73796E6F +6E796D737D3B> +show +88 2614 moveto +<202020202020207072696E74202253796E6F6E796D7320666F722067656E652061726520407379 +6E735C6E223B> +show +88 2656 moveto +<20202020207D20> +show +88 2699 moveto +<20207D20656C7365207B> +show +88 2742 moveto +<202020207072696E74202247656E652022202E202467656E652D3E737461626C655F6964202E20 +22206973206E6F742061206B6E6F776E2067656E655C6E223B> +show +88 2785 moveto +<20207D> +show +88 2828 moveto +<7D> +show +88 2920 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F7468657220696E666F726D6174696F6E2061626F75742061206B6E6F776E2067656E65206973 +20636F6E7461696E656420696E2069747320> +show +1147 2920 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6465736372697074696F6E> +show +1424 2920 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F642E20205468697320696E666F726D6174696F6E20697320657874726163746564 +2066726F6D20746865> +show +88 2970 moveto +<72656C6576616E7420737769737370726F74206F722072656673657120656E7472792E> +show +88 3057 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246465736372697074696F6E203D202467656E652D3E6465736372697074696F6E3B> +show +showpage +grestore grestore +%%PageTrailer -dup 76 /x put +%%Page: 14 14 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<47656E65732061726520717569746520636F6D706C696361746564206F626A6563747320616E64 +2061726520636F6E737472756374656420746875736C792E> +show +88 363 moveto +<456163682047656E65206F626A65637420686173206F6E65206F72206D6F7265205472616E7363 +72697074206F626A6563747320286F6E6520666F72206561636820616C7465726E61746976656C79 +2073706C696365642063444E41292E2020> +show +88 457 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920247472616E73637269707473203D202467656E652D3E6765745F616C6C5F5472616E7363 +726970747328293B> +show +88 556 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<45616368205472616E736372697074206973206D616465207570206F6620612073657269657320 +6F662045786F6E732E202057652063616E20616363657373207468652045786F6E7320616E642072 +657472696576652074686569722073657175656E636520616E64> +show +88 606 moveto +<636F6F7264696E617465732E> +show +88 700 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202465786F6E2028407B247472616E7363726970742D3E6765745F616C +6C5F45786F6E737D29207B> +show +88 743 moveto +<2020207072696E742022466F756E642065786F6E2022202E202465786F6E2D3E737461626C655F +6964202020202E20222022202E> +show +88 786 moveto +<202020202020202020202020202020202020202020202020202465786F6E2D3E7374617274202E +20222022202E20> +show +88 829 moveto +<202020202020202020202020202020202020202020202020202465786F6E2D3E656E642020202E +20222022202E> +show +88 871 moveto +<202020202020202020202020202020202020202020202020202465786F6E2D3E7365712D3E7365 +713B> +show +88 914 moveto +<7D> +show +88 1013 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F7469636520746861742063616C6C696E672074686520736571206D6574686F64206F6E2061 +6E2045786F6E206F626A6563742072657475726E7320757320612042696F5065726C207365717565 +6E6365206F626A6563742E20205765207468656E206861766520746F2063616C6C20> +show +2193 1013 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<736571> +show +88 1063 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<616761696E20746F20676574206120737472696E6720726570726573656E746174696F6E206F66 +207468652073657175656E63652E202048656E63652C207765206765742074686520> +show +1432 1063 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7365712D3E73657120> +show +1658 1063 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<73747574746572202D20697473206E6F742061207479706F20696E206361736520796F75> +show +88 1113 moveto +<7765726520776F6E646572696E672E> +show +88 1213 moveto +<57652063616E20676574207468652070726F7465696E2073657175656E6365206F662061205472 +616E7363726970742062792063616C6C696E672074686520> +show +1252 1213 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7472616E736C617465> +show +1478 1213 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F642E2020536F20746F2067657420616C6C207468652070726F7465696E20747261 +6E736C6174696F6E73> +show +88 1263 moveto +<66726F6D20612067656E6520696E746F20612066696C6520776520776F756C6420646F> +show +88 1350 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736571696F203D206E65772042696F3A3A536571494F2D3E282D666F726D6174203D3E +20276661737461272C> +show +88 1393 moveto +<20202020202020202020202020202020202020202020202020202020202D666820202020203D3E +205C2A5354444F5554293B> +show +88 1479 moveto +<666F7265616368206D7920247472616E7363726970742028407B2467656E652D3E6765745F616C +6C5F5472616E736372697074737D29207B> +show +88 1522 moveto +<20206D79202470657074696465203D20247472616E7363726970742D3E7472616E736C6174653B> +show +88 1608 moveto +<202024736571696F2D3E77726974655F736571282470657074696465293B> +show +88 1651 moveto +<7D> +show +88 1743 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F74652074686174207768656E2077726974696E6720746F20612042696F5065726C20536571 +494F206F626A6563742077652070617373207468652050657074696465206F626A65637420616E64 +206E6F74206120737472696E672C20627574207768656E2077726974696E67206F757420746F2074 +6865> +show +88 1793 moveto +<73637265656E207765206861766520746F20737472696E676966792069742066697273742E> +show +88 1943 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4578657263697365732034> +show +88 2005 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E202047657420616C6C207468652067656E6573206F6E202061206C6F6E672D206973682028 +73617920314D622920536C69636520616E64207072696E7420746865697220456E73454D424C2069 +64732E> +show +88 2105 moveto +<322E20205768696368206F662074686F73652067656E657320617265206B6E6F776E2067656E65 +7320616E642077686174206973207468656972206D6F726520636F6D6D6F6E206E616D653F202028 +48696E742E20557365207468652069735F6B6E6F776E206D6574686F6420616E64> +show +88 2155 moveto +<75736520746865206765745F616C6C5F44424C696E6B732D3E646973706C61795F696429> +show +88 2255 moveto +<332E2020486F77206D616E792067656E65732061726520616C7465726E61746976656C79207370 +6C6963656420666F7220746865206669727374203130302067656E657320202848696E743A20436F +756E7420746865206E756D626572206F66207472616E73637269707473207573696E6720746865> +show +88 2305 moveto +<2467656E652D3E656163685F5472616E736372697074206D6574686F6429> +show +88 2405 moveto +<342E2020576861742069732074686520617665726167652073697A6520616E64206E756D626572 +206F662065786F6E73207065722067656E6520202848696E743A2055736520746865206765745F61 +6C6C5F45786F6E73206D6574686F6420616E642072656D656D6265722074686174> +show +88 2455 moveto +<65786F6E732061726520206C696B652066656174757265732077697468202465782D3E73746172 +74202465782D3E656E6429> +show +88 2555 moveto +<352E20205472616E736C617465207468652066697273742031302067656E657320202D20617265 +20746865726520616E792073746F7020636F646F6E73202874686572652073686F756C646E277420 +6265212129202852656D656D626572207468657265206D6179206265206D6F7265207468616E> +show +88 2605 moveto +<6F6E65207472616E736372697074207065722067656E6529> +show +88 2705 moveto +<362E20205072696E74206F75742074686520323030206261736573206F662073657175656E6365 +207468617420666C616E6B7320656163682065786F6E20202855736520746865202467656E652D3E +6765745F616C6C5F45786F6E73206D6574686F6420616E642063616C6C2024636F6E7469672D> +show +88 2755 moveto +<3E737562736571282473746172742C24656E6429206D6574686F6420746F207265747269657665 +2074686520646E6129> +show +88 2853 moveto +<372E20204578747261637420616C6C2074686520696E74726F6E732066726F6D20746865206669 +7273742031302067656E657320616E64207772697465207468656D20746F20612066696C65202862 +65206361726566756C2061626F7574207265766572736520737472616E642067656E6573292E> +show +88 2953 moveto +<382E20205072696E74206F757420616C6C2074686520352720616E64203327207574727320666F +72207468652066697273742031302067656E65732E> +show +88 3053 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<537570706F7274696E672045766964656E6365> +show +showpage +grestore grestore +%%PageTrailer -dup 77 /period put +%%Page: 15 15 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Helvetica-Oblique-iso1252 /Helvetica-Oblique ISO1252Encoding psp_definefont +89 265 moveto +0 0 0 setrgbcolor +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520696E666F726D6174696F6E207468617420776173207573656420746F206D616B652061 +2067656E6520697320616C736F2073746F72656420696E2074686520456E73454D424C2064617461 +6261736520696E2074686520666F726D206F66204665617475726550616972732E> +show +89 315 moveto +<5468697320696E666F726D6174696F6E> +show +386 315 moveto +<2063616E2062652072657472696576656420656173696C792066726F6D20612047656E65206F62 +6A6563742E> +show +88 408 moveto +<5468652065766964656E636520697320617474616368656420617320616E206172726179206F66 +2046656174757265506169727320746F20656163682045786F6E20616E642063616E206265207265 +7472696576656420696E2074686520666F6C6C6F77696E67207761793A> +show +88 502 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202467656E652028402467656E657329207B> +show +88 545 moveto +<20206D7920247472616E73637269707473203D202467656E652D3E6765745F616C6C5F5472616E +736372697074733B> +show +88 588 moveto +<202020666F7265616368206D7920247472616E736372697074202840247472616E736372697074 +7329207B> +show +88 631 moveto +<20202020206D79202465786F6E73203D20247472616E7363726970742D3E6765745F616C6C5F45 +786F6E733B> +show +88 674 moveto +<202020202020666F7265616368206D79202465786F6E2028402465786F6E7329207B> +show +88 716 moveto +<2020202020202020206D792024737570706F7274696E675F6665617475726573203D202465786F +6E2D3E6765745F616C6C> +show +1322 716 moveto +<5F737570706F7274696E675F66656174757265733B> +show +88 759 moveto +<202020202020202020666F7265616368206D7920246665617475726520284024737570706F7274 +696E675F666561747572657329207B> +show +88 802 moveto +<2020202020202020202020207072696E74202245766964656E63652022202E2024666561747572 +652D3E676666737472696E67202E20225C6E223B> +show +88 845 moveto +<2020202020202020207D> +show +88 888 moveto +<2020202020207D> +show +88 931 moveto +<2020207D> +show +88 974 moveto +<7D> +show +88 1017 moveto +<20> +show +88 1116 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<50726564696374696F6E205472616E73637269707473> +show +88 1228 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<456E73454D424C2073746F72657320> +show +412 1228 moveto +/Helvetica-Oblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<616220696E6974696F20> +show +568 1228 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<67656E652070726564696374696F6E732066726F6D2067656E7363616E2E202054686573652070 +726564696374696F6E732061726520616363657373657320696E20612073696D696C617220666173 +68696F6E20746F206E6F726D616C> +show +88 1278 moveto +<456E73454D424C207472616E73637269707473202C20627574207468726F756768205072656469 +6374696F6E5472616E736372697074206F626A6563747320726174686572207468616E205472616E +736372697074206F626A656374732E202041732077697468206E6F726D616C> +show +88 1328 moveto +<7472616E736372697074732070726564696374696F6E207472616E736372697074732061726520 +636F6D706F736564206F66206120736574206F662045786F6E206F626A656374732E2020546F206F +627461696E2070726564696374696F6E207472616E736372697074732066726F6D206120536C6963 +65206F72> +show +88 1378 moveto +<526177436F6E7469672077652063616E20646F2074686520666F6C6C6F77696E67202861732077 +697468206F7468657220456E73454D424C20666561747572657320206C6F676963206E616D65206F +722073636F726520636F6E73747261696E74732063616E20626520706173736564206173> +show +88 1428 moveto +<6F7074696F6E616C20617267756D656E747329203A> +show +88 1520 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920247072656469637465645F7472616E73637269707473203D2024736C6963652D3E676574 +5F616C6C5F50726564696374696F6E5472616E736372697074733B> +show +88 1612 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5765206E6F7720686176652061207265666572656E636520746F2061206C697374206F66205072 +6564696374696F6E5472616E736372697074206F626A656374732E2020546F20686176652061206C +6F6F6B20617420746865207072656469637465642065786F6E7320666F722065616368> +show +88 1662 moveto +<707265646963746564207472616E7363726970742077652063616E207573652074686520666F6C +6C6F77696E673A> +show +88 1749 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D7920247072656469637465645F7472616E73637269707420284024707265 +6469637465645F7472616E7363726970747329207B> +show +88 1792 moveto +<20206D79202465786F6E73203D20247072656469637465645F7472616E7363726970742D3E6765 +745F616C6C5F45786F6E733B> +show +88 1883 moveto +<20207072696E74202247656E7363616E2070726564696374696F6E206861732022202E20736361 +6C617220402465786F6E73202E203A2065786F6E735C6E223B> +show +88 1969 moveto +<2020666F7265616368206D79202465786F6E2028402465786F6E7329207B> +show +88 2011 moveto +<202020207072696E74202465786F6E2D3E737461727420202E2022202D2022202E20> +show +88 2054 moveto +<202020202020202020202465786F6E2D3E656E64202020202E2022203A2022202E20> +show +88 2097 moveto +<202020202020202020202465786F6E2D3E737472616E64202E20222022202E20> +show +88 2140 moveto +<202020202020202020202465786F6E2D3E7068617365202E225C6E223B> +show +88 2183 moveto +<20207D> +show +88 2226 moveto +<7D> +show +88 2318 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<41732074686573652070726564696374696F6E732073686F756C64207472616E736C6174652074 +6865726520796F752063616E20676574207468652070726564696374656420706570746964652073 +657175656E6365206279207573696E672074686520> +show +1958 2318 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7472616E736C617465> +show +88 2368 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D6574686F64206F6E20612067656E7363616E2070726564696374696F6E2E> +show +88 2460 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7072696E74202247656E7363616E20706570746964652069732022202E20247072656469637465 +645F7472616E7363726970742D3E7472616E736C6174652D3E736571202E20225C6E223B> +show +88 2609 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<5472616E736C6174696F6E> +show +88 2721 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<45616368205472616E7363726970742C207265747269657665642066726F6D20612047656E6520 +6F626A656374202C2063616E2062652073706C697420696E746F206120352720756E7472616E736C +6174656420726567696F6E2C20612043445320616E64206120332720756E7472616E736C61746564> +show +88 2771 moveto +<726567696F6E2E202054686520706F696E747320696E207468652063444E412077686572652074 +6865207472616E736C6174696F6E2073746172747320616E642073746F7073206172652073746F72 +656420696E2061205472616E736C6174696F6E206F626A656374207768696368206973> +show +88 2821 moveto +<617474616368656420746F2065616368205472616E7363726970743A> +show +88 2908 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920247472616E736C6174696F6E203D20247472616E7363726970742D3E7472616E736C6174 +696F6E3B> +show +88 3000 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546865205472616E736C6174696F6E206F626A65637420686173206D6574686F64733A> +show +88 3087 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<247472616E736C6174696F6E2D3E73746172745F45786F6E3B> +show +showpage +grestore grestore +%%PageTrailer -dup 78 /W put +%%Page: 16 16 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 259 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<247472616E736C6174696F6E2D3E656E645F45786F6E3B> +show +88 351 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<77686963682064656E6F74652077686963682065786F6E7320746865207472616E736C6174696F +6E2073746172747320616E6420656E647320696E2E2020546F2066696E6420746865206578616374 +20636F6F7264696E617465206F662074686520737461727420616E642073746F70206F66> +show +88 401 moveto +<7472616E736C6174696F6E2075736520746865206D6574686F64733A> +show +88 488 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<247472616E736C6174696F6E2D3E73746172743B> +show +88 531 moveto +<247472616E736C6174696F6E2D3E656E643B> +show +88 623 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520> +show +172 623 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<737461727420> +show +323 623 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<616E6420> +show +404 623 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<656E64> +show +479 623 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F647320726566657220746F207468652065786F6E20636F6F7264696E6174657320 +736F20746865792073686F756C64206E65766572206265206C657373207468616E206F6E65206F72 +2067726561746572207468616E20746865> +show +88 673 moveto +<65786F6E2773206C656E6774682E> +show +88 823 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<50726F7465696E> +show +88 935 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<496E666F726D6174696F6E20726567617264696E6720612070726F7465696E2063616E20626520 +7265747265697665642066726F6D207468652050726F7465696E41646170746F7220766961206120 +5472616E736C6174696F6E206F626A656374206964656E7469666965723A> +show +88 1029 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202470726F7465696E5F61646170746F72203D202464622D3E6765745F50726F7465696E41 +646170746F723B> +show +88 1115 moveto +<6D79202470726F7465696E20203D202470726F7465696E5F61646170746F722D3E66657463685F +62795F7472616E736C6174696F6E5F696428247472616E736C6174696F6E2D3E64624944293B> +show +88 1214 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4173206576657279207472616E73637269707420686173206F6E6C79206F6E65207472616E736C +6174696F6E2077652063616E2066657463682070726F7465696E73207573696E6720746865207472 +616E736372697074206964656E7469666965722061732077656C6C3A> +show +88 1308 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202470726F7465696E203D202470726F7465696E5F61646170746F722D3E66657463685F62 +795F7472616E7363726970745F696428247472616E7363726970742D3E6462494429> +show +88 1407 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4F6E6365207765206861766520612050726F7465696E206F626A6563742077652063616E206C6F +6F6B20617420697473206665617475726573> +show +88 1501 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D79202470726F7465696E5F6665617475726573203D202470726F7465696E2D3E6765745F616C +6C5F50726F7465696E46656174757265733B> +show +88 1593 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<5468652066656174757265732074686174206172652072657475726E6564206172652050726F74 +65696E46656174757265732E2020546F20686176652061206C6F6F6B206174207468656D20796F75 +2063616E207573652074686520> +show +1810 1593 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6766665F737472696E6720> +show +2088 1593 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D6574686F643A> +show +88 1679 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D79202470662028402470726F7465696E5F666561747572657329207B> +show +88 1722 moveto +<202020207072696E74202470662D3E676666737472696E67202E20225C6E223B> +show +88 1765 moveto +<7D> +show +88 1864 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<6578657263697365732035> +show +88 1977 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E> +show +123 1977 moveto +<202046696E6420616C6C20746865207066616D20646F6D61696E7320636F6E7461696E65642069 +6E20746865206669727374203130302067656E6573206F6E206368726F6D6F736F6D6520312E2020 +5768696368206F6E657320617265206D6F737420636F6D6D6F6E20616E64206973> +show +88 2027 moveto +<746869732073757270726973696E673F2020> +show +88 2127 moveto +<322E> +show +123 2127 moveto +<2020486F77206D616E79206F662074686F73652067656E65732068617665206E6F2070726F7465 +696E20666561747572657320617420616C6C2E> +show +88 2227 moveto +<332E> +show +123 2227 moveto +<2020486F77206D616E79206F66207468652070726F7465696E7320636F6E7461696E2057443430 +20646F6D61696E733F> +show +88 2377 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<45787465726E616C20446174616261736573202D205468652047656E6572616C2049646561> +show +88 2489 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520636F726520456E73454D424C2064617461626173652028746865206F6E6520796F7527 +7665206265656E207573696E6720757020746F206E6F772920636F6E7461696E7320444E412C2067 +656E657320616E6420736F6D652073657175656E6365> +show +88 2539 moveto +<66656174757265732E202054686572652061726520657874726120736174656C6C697465206461 +74616261736573207468617420636F6E7461696E206F746865722066656174757265732074686174 +2063616E20616C736F2062652061636365737365642E> +show +88 2639 moveto +<5468652069646561206973207468617420796F752074616B6520796F7572206D61696E20456E73 +454D424C2064617461626173652068616E646C652028246462202D20776179206261636B20696E20 +7468652066697273742073656374696F6E2920616E64206769766520697420616E6F74686572> +show +88 2689 moveto +<64617461626173652068616E646C6520746F206C6F6F6B2061667465722E202054686973206578 +7465726E616C20646174616261736520636F756C6420636F6E7461696E20616C6C206D616E6E6572 +206F66207468696E677320652E672E20534E50732C206D6F7573652074726163652068697473206F +72> +show +88 2739 moveto +<454D424C20616E6E6F746174696F6E732E2020596F752063616E206E6F77206163636573732074 +686520666561747572657320696E20746865207365636F6E64206461746162617365206173207468 +6F7567682074686579207765726520616C6C20696E207468652073616D6520706C616365> +show +88 2789 moveto +<6576656E2074686F756768207468657920636F756C642062652073697474696E67206F6E206120 +636F6D706C6574656C7920646966666572656E74206D616368696E652E20> +show +88 2889 moveto +<4C6574277320676976652074686520455354206461746162617365206173206120666972737420 +6578616D706C652E> +show +88 2989 moveto +<4669727374207765206E65656420746F20636F6E6E65637420746F20746865206D61696E20456E +73454D424C2064617461626173653A> +show +88 3083 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7573652042696F3A3A456E73454D424C3A3A45787465726E616C446174613A3A45535453514C3A +3A444241646170746F723B> +show +showpage +grestore grestore +%%PageTrailer -dup 79 /L put +%%Page: 17 17 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup +%%BeginPageSetup +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave +%%EndPageSetup +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +88 302 moveto +0 0 0 setrgbcolor +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246573745F6462203D2042696F3A3A456E73454D424C3A3A45787465726E616C44617461 +3A3A45535453514C3A3A444241646170746F722D3E6E657728> +show +88 345 moveto +<202020202020202020202020202020202020202020202020202020202020202020202020202020 +2020202020202020202D686F73742020203D3E2024686F73742C> +show +1138 388 moveto +<202020202D64626E616D65203D3E20246573746E616D652C> +show +1138 431 moveto +<202020202D757365722020203D3E202475736572293B> +show +88 523 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<416E64207468656E20746F207468652068756D616E2045535420646174616261736520746F206F +7572206D61696E2064622061646170746F7220616E6420766963652D76657273613A> +show +88 614 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2464622D3E6164645F64625F61646170746F722827657374272C20246573745F6462293B> +show +88 657 moveto +<246573745F64622D3E6164645F64625F61646170746F722827636F7265272C20246462293B> +show +88 749 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F772074686174207765206861766520646F6E6520746869732077652063616E207265747269 +657665207468652045535420616C69676E6D656E742066656174757265732066726F6D2074686973 +2074686520646174616261736520696E207468652073616D6520776179206173207765> +show +88 799 moveto +<776F756C64206F7468657220444E4120616C69676E206665617475726573206279207370656369 +6679696E6720746865206E616D65206F662074686520616E616C7973697320746861742077617320 +7573656420746F2067656E65726174652074686520616C69676E6D656E7473202D20696E20746869 +73> +show +88 849 moveto +<63617365202765785F6532675F66656174272E20> +show +88 943 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920246573745F6665617475726573203D2024736C6963652D3E6765745F616C6C5F446E6141 +6C69676E4665617475726573282765785F6532675F6665617427293B> +show +88 1035 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<4E6F77207468617420776520686176652074686573652066656174757265732077652063616E20 +686176652061206C6F6F6B206174207468656D3A> +show +88 1122 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024657374202840246573745F666561747572657329207B> +show +88 1165 moveto +<202020207072696E7420222022202E20246573742D3E676666737472696E67202E20225C6E223B> +show +88 1208 moveto +<7D> +show +88 1357 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<534E5053> +show +88 1469 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<534E502066656174757265732063616E2062652072656164696C79206163636573736564206672 +6F6D207468652065787465726E616C20646174616261736520656E73656D626C2D6C6974653A> +show +88 1563 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<7573652042696F3A3A456E73454D424C3A3A4C6974653A3A444241646170746F723B> +show +88 1649 moveto +<6D7920246C6974655F6462203D2042696F3A3A456E73454D424C3A3A4C6974653A3A4442416461 +70746F722D3E6E6577282D686F73742020203D3E2024686F73742C> +show +988 1692 moveto +<202D757365722020203D3E2024757365722C> +show +988 1735 moveto +<202D64626E616D65203D3E20246C6974656E616D65293B> +show +88 1834 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<41646420746865206C6974652064622061646170746F7220746F20746865206D61696E20646220 +61646170746F7220616E6420766963652D7665727361206C696B65206265666F72653A> +show +88 1928 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<2464622D3E6164645F64625F61646170746F7228276C697465272C20246C6974655F6462293B> +show +88 1971 moveto +<246C6974655F64622D3E6164645F64625F61646170746F722827636F7265272C20246462293B> +show +88 2070 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<526574726965766520616C6C2074686520534E502066656174757265732066726F6D206120536C +696365207573696E672074686520> +show +1056 2070 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6765745F616C6C5F534E5073> +show +1358 2070 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F643A> +show +88 2170 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D792024736E705F6665617475726573203D2024736C6963652D3E6765745F616C6C5F534E5073> +show +1070 2170 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<3B> +show +88 2270 moveto +<49746572617465207468726F7567682074686520534E50206665617475726573207072696E7469 +6E672074686520706F736974696F6E2061742077686963682074686579206C696520616C6F6E6720 +74686520536C6963653A> +show +88 2364 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<666F7265616368206D792024736E7020284024736E705F666561747572657329207B> +show +88 2406 moveto +<202020207072696E742022736E702022202E2024736E702D3E7374617274202E20225C6E223B> +show +88 2449 moveto +<7D> +show +88 2648 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4D61726B6572204665617475726573> +show +75 2786 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<546865206C69746520646174616261736520616C736F20636F6E7461696E7320696E666F726D61 +74696F6E2061626F7574206D61726B6572732E2020476976656E207468617420776520616C726561 +647920686176652061207761726D20656E73656D626C2D6C697465206461746162617365> +show +75 2836 moveto +<61646170746F722C20697420697320746F6F206D75636820746F20726573697374207265747269 +6576696E6720746865736520746F6F2E> +show +75 2911 moveto +<57697468206F6E652063616C6C2077652063616E20726574726965766520616C6C20746865206D +61726B6572206665617475726573206F6E206F757220536C6963653A> +show +75 3048 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6D7920406C616E646D61726B5F6665617475726573203D20407B24736C6963652D3E6765745F61 +6C6C5F6C616E646D61726B5F4D61726B657246656174757265737D3B> +show +showpage +grestore grestore +%%PageTrailer -dup 80 /question put - -dup 81 /hyphen put - -dup 82 /j put - -dup 83 /quotesingle put - -dup 84 /g put - -dup 85 /R put - -dup 86 /q put - -dup 87 /f put - -dup 88 /T put - -dup 89 /N put - -dup 90 /Y put - -dup 91 /H put - -dup 92 /Q put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BD3611493FAC70DE6E0E23EB0DE8507A96255FBF1F30C830FE459C289585A57F93EB1F0DB008D0C90C4138004AEC236F74841EE052052303961AD4E6D736C2E7944B0A4EB009726DD80D284F71A0A8A042B6250B4B23B9D971D6F2397CC6E781C066C594130A91CD827E4DA1C021638FEF6470F9FAF4051C84DE96EEDD9471EBBCC6A20C06E68739FF1634A406F965949A37D564196158FB5482D19D0B2AABEAADC8AB1B1B658D66F8D76F521A9439809DC261034F4744095927AD9D481BCD5433E31900DA6C7054AD2956A4C37917344BC6FDE64E98B1292CC66E130A3B9220AADC1772F63A52181E5E6B0ACBBE7BEA4851EA4CD269CE8A48EE357221886A8AE75C75BFC56CC50FA7D20E73439C5213547D27FADE7468123C9B12CE3698680A08312D4DEA38610E4B45DA3D8E2023F814902BE46B612E838D047F9EE669A054B11A11BBEABA61C275DEF05105720BF0776289C85F8DFFD31F896D81C7DC86E28D3738BA0F5505B871DAC92E6AF18F0D883912F1C77E8ED63A2B5840B468D19C90835237080E29DCD75B8D1DA853A025DF4E1F3600793C7150E71B7A8E1F6E2A1418692D42D8D4653899C263CC607AA8FA947F317F5B17EBBBCE6AC931E54D8787C0182B0FF3D5BD2E5C77E737810BD82E007572A513A48649A59828E457401C839BE06735521C01AB4F992F76B378727E82528D0920B96A107AE507E079B30EAFBE5F31A2168D3820D62A2FCD7D6DC6D2662B22625AC8DA00CCCC1BB82B4B0A - -2570EF18C76C28309508CFD32F0FF4F6CF3CFA1B64F7E0D29AB122E2C147FFA5C9FE4E749BF88C54F0FDF09EAC7CB8C4FEA70F4594C10AA76BF1D65588F5C6F5795B0C9648CEFE1182CA441A3568E444B89695818137F302C0032AAA99EDC5147F9C1A7C7E0FEBE30726CEBB0999EFA7C0F539B5FF82467A0FCEA49078CE03CFD9DB9EDC523C1CA4FCF7B0EC9C94EBCB97749E5CA56B987080DD705134933819DA5134B1815084DE78A20FFF4CC56E11E8118EF603CAF58DD6C511B81A5C8C4503BE24A22D4C0AD74259053D4A13F6ADD4F4EBC9BBBF4B406F2DEA9EE44E75538C247A7F37A765F9DE15FEE503C37AE9F41F670C1FD22D8931B93A56C144F1D753EF973E5807B99E9D036E6EE49755D4063F50D8F77A01D9D3CEFB278EB41F0384AD2AF9D047B91FF0039A110CC3C5E3D27FB96357ED0A22D1C6FA24A3FBF57F58F0660F9EF40A66CFF01223909C234E10BF096CF63E4764A99D8C7F54731E5F67596AF7554ACD8C23ACFFB7B0EDC8DAC6B905322C372C31BF1616C6B823E5100B9D85A3C501B3ACF6F4685F2AC97D09E59918ECB0DF6E94C5B3C62DC0A61FACC3BB8968BBF4F8B9F1836BA10035CCB103D669720E7847DA76831592141F069FE31A915C0DC1709D9E775578DCEFF2E0D37243AA8E0A84C2F3AF8775DA11CABA2AAC5BFAF8A1D5AAE681C3257F0D178BE93E17CE80510C3F77AD46996A67856AD095F09F0039ECE60E45FAF12384E31F1BDC2DEB57F74AAEDA1A55822A3FD5BA4655CDD667783627E91A31A1DBCB80AC35399806B3A3EE1F95E61D8CBEE8D54057CB721B336580A96E373CC087FB9736792B75DFB4A0206C3192328B2A6062F3751EC131DCA061260243CEC458C182B2D3B9770636BB1D8A9812EB601F4592E3C753162E28810B66F8AF87AC45C50BC1DA12815A1AD8C6210138A7F0C3798D0E38A8A60C86FD5897FAC8D1CC59AEA7A41FF95F7AFF614EAC98209AA50C06225B9AA9B7CD6A61123D769B22029683BE0B2E0DB3DCCFA23DEFD4A91D05E9C4FC84E0A23AAB65191D0F59ADC04682FBB2B8226BFBFCD5F413A67ED316827FCE24E1E72E12874B2F7CCECE4F75B47AE41C1A61E1DDCB738D89F72AB5E91D7A94816D9416844A311B411197AA41A219AF8E14B18EEA1B94929EFCBAF566DFD347E9C4CD0C9668B897257E27ADA83FB9091A94060A5BF628CA4EB9435B2E32232E94A02BDE4EE61300F1E584B828535B5CFC70C28E188147EFBB7757FEC48AEDD7D96FEC2DA109FFD8CD8210B47B65E4447C5D4D380DDB218A46EA80E737AF7EF2B0E3102B4001E2BA0B6B988ADF4B724AE6DF718EE0591F0CAA351D07D4D3AC28AD92B51B3FDC54AD46ABBA4EF6026C281C7BC8010FF03EB99A4BBCA4C1D5147F81C18B2A08DBB25DED8ABF3801B2D686441E389EBD317AAC4F8BD745F1377B859349 - -777AC5E2C478FFB7DA8597E0EB047A4DEBFFD06A9B93CB320988B3F3CD2531DA76AD7EE8CC94BD653256EB52D407C489080D6A95318006481313C9BB34D17A01616E8721FEEBC0FA9F7C28C3E7ABA4039FF10AECE8944D92169286E781B99245EF340387DD5C4DB591489CFD7BF87E10D71F9387D75CE6DD67FCBEC673FE2C42E53B62923BB2A538FB6CDA60D8E6AB4E9AE39C91905448C8D38C01205F8A68D26F592CA9336E5FDCE50492A9E34826D2EE577FF6DD09F99EF48D4FB073EAEA8BE2386FB9877595D0D97606E97DC08BDB0070E7A4FAF2FB69B952823D2209CE28E1A672D3F2CF2740C08AC207C109969F94E39FB392E6C2FD60BEBB75F51911071C6B27BBAF72A26A9010A6B8DDD70553F7787F16AF3CC74D81ECE4D736D4735900A00CA74405FD0CCFD1ED64A61CB58A6F6AAD8D92D8EB014C7033F00B8428A48642E939505251BA78812B3C1A18240A106909CD190AE52C5F1A680CC853952AE6D77EAF0FA74EC93E179A236E1E499EE774D912850A6ECE56CD59509D219665CE967B0F953D87A05F62F9A83DA33DB01725F8B10F4AC85D379F97532DB5F448B1D179942DA2AEA77005F12EC128C1B17A33479D549ACDF4099D3425FF59105B21642BB074569A41D8AAA1C70AD1133F6F20C19DF9C758D5E562BBAB40790657F8B7FEDF08981DC4EFB0D6B9CAADEEED95F9F911DBF1944A67BB9C0E4C3C430A49E29C2E7A9CED05E2F12F5EEFB820A0B4F9920D2B4CA93525FF0A244F5A1A8FBFFBD23F8A759E972B16C3F448FC94CC83CD89C644A535CA66F599B49AD86BC1A187948FB8198CB71DC186E81466310B73BFE7AB97CD36F38FEC4AF1AFFF0E6717F7EC2A4AD848D012073FA5C169FDEA81E9FA7BE4B65BC7FF47B472D3E7A597D5659D52BE6C7C80F11F2DAC28109012EEBA1CB62EB65A63B90FF553A769F67A360305DC93F6BD1EFE939CF50540B9188318A64B7691C43E27C9D9BB4FC6BAB8D676D5D90DDC1377B5D0BB6AE850139017FCEF87B91D084E906349CE28846A942AB635BB62A51C28017431F379597195D18206EC4C5D5FD27F4553C1864FD508BCBF7452DAA13DE73C2034A286DAE2AB24B3CD44BF60DF464845CF76927FB48637B60A42B2BF98D1546C923083A45E68180B745C07BB04DD15D3481697A5FF3F7E70C7218E2519857D6660F38A5889FE86B1E58C3AC6C6EB71A9C43428C6C6A91EC2E7133A00F63CA39E3CA936EF208BBE57D7BE630D24A818CD2B2D512065B8ACC572CDD0C4EB625DC641BA2F4452D7D35AF7C31CBBBA3EE1030AF15CC0E50BB30C7C4136C0ADEC71F518056EEF9D755A624159C266D3F3F47656E9CB3EA32018FB21BD3060B77FC2EDB14453892E8FB17689C00F6B1812D396EAA134E61790D63FCFC60A9D3001B390AB78A13E501799D9A88D191D2C314763DAED84A76DFD - -3EAB171E947341FECF3882E1E5874D941E850100BAEC9C8C6437E57DD0CAFF7C08C61E9B21B2DB53CFEA434ACAB325750D8DD660FF77C79CC07483FCF3B5A2C7DD774A4804AF21CA5A37E74D6F8633906F4DFE8D6EF486626DA20A321C95741F50CF31699BAC156A1B630962FD21D3D092520DB33F93BC8A1A9AAA0E878CB2686FA036089DC664B643E234A98F485AA7C94C60CFFAD2A9EA1B70105228C7691A1E464EABE6F17AA5D87F8CCC98A00FE25D3CBE84D4DB4EFAF6F84E87B9FF5B4EDD56A0ADC6BC97B6622ADA0E2BD263648CEAAFA0362DE6FC80EC19F20FC99FE651EA92A59DF1F2F22A250661D9CD2FBAF5C8C39D6D5E900BC891DE46E9E968A75B43B8F110823F99E6AFAA0FE1C3C0FEF93E64D1C20D60A6A77BA01C98DEDAD4FF93294B7978D9B62D9DCE0FFB0E3943F8B5663F6EC4A4BE3906C2234F60728347D3F0FC87356C37613004A65ECCDEEF9189EDD2DA94793093DAD598369B5764AC5B5D87C748BD7537DE65A05DAE3B04E6627AF8B3FED09E3332D6D730041D8ECE980D4D41C99F60D19179104B9F0C41996BDA85D2C8371CDC63B1C3763282294AF0E2444BF007214E4D5A69184D412C990927349A0B411DFC824EC38C895482C251891417D4FD9C81D97DE0EBFCDB7A5511B2B4D394C3DE716CA840225964A0BD885BD1F7CB56090325190750A583D3C308F8FCCB582D70B860D2B1A6EB2A2098068476DDCA4106AF4C995B83105F9CA140B9F1798D55827ED96FA95471C1C999FC90BE95A41EAB154950C302ED4256E16324EA91E074C7D330EFBBDA7F1D6085AA1F890BFAE15BFE86C2FB730758D02205FAB68B7CF896CC0F6F803EECEF4AF1C6ED67F47A290670BEA9DD02A8F32E7B655700E1E90F845199594358B8744E90C024A074E44AC45C64DCB65117A12549C840BA83E9E3BA3096328480E0F701399686A5762A9890F2079E5FEA0C7D930DDF2F352F8ECE06E788B741967B82F58385654185463A3834A03D2E3C59C0580F5344EAE7E876E8A929693AAC57F8C25C63ADECCE6D3B642B3C8703CF53CAA5E25284D1CAA2F8EB7C3589A694D8C4E92F339C94C6A7E800896E295F3D3191F36DE33C2402F62A1E2FB34FE657ACFDD72A93F7D7381F27C46D31861E9BFE6E090B42FE4E74F35EE7B322933FF49F28F34B833F4E276ABB5FFB768C8BF4B7D3ADC3FC6D667CA76AB9BAFD6F907DB302EA6A5571D842A251E3CC27DC1DE88733B0DA95E1A01B8A529DE14F2B64BF856F5A71BBD0AADB8D3102FFD93D72C45B16CEA4385A3ABB3DB2787B809D1A51AB8EB9F6B94AE9F9A8E7A5E128DA74E53E233FB7621AD9CE50B1E33FDB687F10540310E74AA8FC4769B539A2B981FAACCEC2F1F70E673A75170BA8C0F0E23187D14D56C7558AC36C306F7DCB822F3C4150F2005DA8C4BED1B9B0CE6B0C5B7F2AF3F755 - -599192AA69DA0B136837E753819370CD3E9B899A36E2277E43C91AC1A86285F4041AE182661DCA3DB87112D75AE16BF80C54E860868251197B58DBF7B859DF88C285F81A8533723966CD9FDB02FBC6EDC0F3DDC4B1E06C2FA9C25A1AEDB0D04E7767BBE51628E8BD032EBE339EE7442F357D2D987544B0B109753E19AA8912CDA4334384165331205AEE28626A120814FA5054D80326D34C1C0198E3F33FBE7AFC0E52F9A650A45939AD44632A7498F6AE91F814D238A0ECBC0AE6D9D5CCFD24F2289F2B7ADBA109FD77EBB61DED1D3AC895692D94ED490B1D21CEFADD9985D79010887E69DE244CBED8BF1FD493182F19E4339EFB70FAAD7EC09693B9C0E8C1175A30D1C82A6F3B422681B1D3094101CB1E5F24D8725DF1F566F17A85D8B8B74F63036953CC662B1A31920456A519543C9CF6D9126DEA4854ACB94428E7E3CB36DC64D10472B94597DE322903708502B408AC1CD6AB37A1C7ADACD8502BBE2B9FEB8E6E2154BE65896282C2DD5F040DF3BB857E6A0BB49A47BF79C426D2D40B8D092C94842329A19713C9FECCA1770E1C4FB8B0A13ADD8692C9027F8892952D7831D060253739B44E76426B40E2B484C1C785E0571D144AB053A4FCA7205AD4D8F57CC26E1B71F2510D8C43D917DDA92138F2F3BD07BB8B36456718E40163937B025365A09521838745E741B0CA018B5CD194BA1D87E58C9ACEDDC1BC96207B6D95759C1A19ED2610131AD15E7C5A0E10F45EC6CCE283E633938A906476730EB31B743421EDD81E449860D603A70FE76CD1A6967ACCD526F1615635D45C1A22FE805270C09D6819FC766AC273A574E6C9AF89B886AE580E2A7190ED446B9C502F92767ED21F64F2F53303E9324AE690027241BBD872BEF021368298E238C0AB8315EE4F68D86699C0DB87FDCAA6C6C1E9892D5BC9057E15635B039037C7A2DA5CEA264D27D4904A68445DEBA8ACB77E65DBD4D27CB09B39B5CF29CD8AF3DB61037883C9F836B4273D5A238705CB9AF717B1A213FDCB66F479121FD704410A895BE759F085B5B98CBDE10A0CFFC37066A95DA271DBF9DB6D0BB4BF313E6CC56967F5D5B892C2445ECD765E0E96F98BC663F1A9F857B3E62960F35748269659C5FBEE042AFD7D82BD9FF71646DB72AF6B4D44DE6CE39ACD3C9E92738C84E36C3A7517CC0B3562E1BD08C587C1F48605D0A239EED1467F59E1DDB2FE3D9BF7750C93BA63B43EB949BF7EEDE312EF4BA681DEFFAB9B33FF9C667D0528BE09D459C6D34913B9DE36BEC7B33A2826EEB6C8E7A86538334FA19EE8DD813EF800A908DD680979D85993D8ABA09B98546A7D5D8873D26DEA0A5026C341D6E7D80BB5B3E2216E3F1D21EE00ED89D3901407A92C828EE4F98F09FD922995A499D48154650450726D2DF8952D5ECCE0ECAFB8AC642AA78F0CA0AD69CDB667A0EE5A22F2CB7F - -9CBAFE81555CF4E99826FA54222D57AD388C74DC4F2128CB0BB48C884A19278AA0130D8F5B08883A29C5E38172638E4C34A95F1BE0493D4B928FEB46980B065FBE185DB493D578908F09F78C5F1551A17D1AEECC1B78AA0750BED4EB63A09F976BC0E5A85F91EAFEFBDCC21980F20C369191B04B506D60982E1EA89B0B07538F48B98B8DF87AD56F98DAF19194C4FF71BCF8C745ACD5A4B54A00DC9B09C813CC16C0DECCE4B2C234C6953F1A53A80E6DFE634D458BC87E2C1AAB0F3698EA2B46CF0B06C136478A469877EAB891E02A614B94C9BF04DDD158EDEF07797486911633FB2E2DDA1E62C7C69BE3C5E8F3850BED589C8910A3728A5D3A3DE31958DEB38F7116ADCCBE14468E740C418DA753328E129A7FA338B9C853A775963E9388B5457D7D28A1029396881F537DEF7758A1F15443F8EEAF9624511D64891E81CF7403D748CB0681BFD2C1FD166A9896C5017841EB6C3AFE7951CA020D4B3C7D8E50FA879ABA09D842A90161D29FF7DC88BDF9253CCA9752F32864315C3EC949AEEF483B6AF0B83FD8DCFD8AB1D30459173FFE70EBA17599C97EDB2C77F5F65BCA4E26FBECE71F10E8D145542BA95C28FFFDEE66DDF24F5AF2E51A817288F3772632C78AF60880B2CA854B193E5DD83C1B6B9C6FFB0B1E948B0AB4A9A3F1B18885D4E860070041BB7C76D33236632A2032FA2E7781D5225A73029A8DBCF9D4E2BDD79E747B10B51342403287148CFC4732EF808F11AEF7FFB201E9EFD3D5A7850ACBDAD191C79615125469B1AA1BF674E359C52D201E4888F024AAA4773E841FC92D8F1DB834A0B2767A8AE9D882E278933220CD4908E9633F00249875175622B57654328B0B9FDB68375D48018882B63549BCD827846292085033B1B910900CF993045C548C4E273BA3536A4A906FCA3023AA91633D257C163042E2C53CFB13D4FC5248762455A4A4F9A8675B7AF1CE53949D39D1281CCE8F33905BFFF126009C0E56E1610753AD3E33ECF2EC6D7E9D1B63A4CA7C6484F6D57EF2A82F715B60F158E4710222499F3D9B40796B0EE17F4853D21C7FFDA34C70375279CE5E02108C38831A84B20BFA50EEB4920045242D207F3B6164A2371C75743A3E60419054C9DAE88D22DA13E9F81CCA18FC7BA4394F21F4A2C6A82E955E1BA40DB972A511A3EEADBF2E284DEA2EF2F8C177353164B175B99D7A145EC2B5C8E8B3AF4BC37088A3905742051EA1851A79F06A4CE19B9C12D9420D0C838BBA282E340691AC0AC115F25407517BB1C10DB61C980F1795580FF9D24204BBC42FB6328D82DED9297969F17319C1311489026738870AAB16F3CE132AD0AA28DCDB45F8150DD6E5DD9085FA97597A2A6CE978209603B45061A6C7172137A8248AF711AA567BD41A0761D0B5150991CA449C0D2E93BA976D747D9C09710C38B3542E57BE4BE182DCCE194E - -366D96863B21587361E7CA98096A3B6CACC1EFEE8EB451884EF25E2E061DFBC8EDE006D04FE3392EB10D897F8CFC640433A6896E2EC80852358A0FEE1ECCC3A9469D349DE08EA5D709CEB012B25512CA4603F3C724EA68457B8BE46ED5050F605CE34F36CE7856CE729A36E53B57D239C066BE953278E9275DB7388E7E04E1B6C86EFF05EFBD96D84C018EC92AA4859D5FC503A520478AD56CEE2EDDDA9B6558DA71F2100C18170AB118E19E27C07C2C0CF48A0369ECB883CE2D66D1295EE9F712CEDFE1812CDEF89BC778B8FE69CDC2FD541DA6614F1EC45E3B357D3C3A646B0C64EDFE935782AA7C4044CE0BE33D936B7DD79E091CE8B7F7213922437D264A08963EAAFBDD44772DF269DB78A2383FFA3048C8B25E4C2A290FBC6F86AA4561BBEDDA015350B46C9FA142587699823CFC011D5D116FB2429FC8B7D4E6375FC3AC0BB891FF24F3A4BAC523EEE528B6CBA97C0CF9BF6ADC5059D78A44BCB2D6C38B39C0E77EF0BD346708B8C94115715483CEEC122FBADB6CBCC312DD36717C61AA6A594D84E1DB5345BD3A2B97E5ED62083D3CB8D19EAF3D05F0DF6D95FE699A97BE2FD1225AC22B499AB155655F933363A745BE73AEF38F30E54EABE9FADF2FB9AB5CD5352431B209341D8C90B169C2B9448A74546075F4A581394F4D9349027971FA4E5FBD1DBD1A43E4838DD31AFCB11E032AF1F972B41AAB818BFF837A2486D186EF8531E052A99C74EEDE6E1AA23A0C9451075A56ADB740DF7577DBD6BA13D10AF16A83EA613EEF5A93D569C1BDB2D359AFC9ABEF543A03AC3BBFBE12B778CCD65A3F335BA06BDFEB6AD58116437B28504780B82CCE4E4DEC7C4D611103FF95F0E60A9FA39DF6B4267B12B30780A444BEDB7EDC9C2CA5A292378400038D9341A24EB67B7CE97CD7D8CCA7149C0DFD2C5F38E062E49B00C6543245684B1222E91CD2417394A039C5D440BD4D01C239ED30C5EE90959C9DD7BD70714DA003F32A9F221DFF78FE3CEB7762A1590CF2D07C28E33455E4851840B1B97278685C24D75474DC67EE5A725F7DD2ABE61B282D6D97005D9F64C7FCA4018870A14F6F26101FAAD0DF401D7B97A22BC944135AAFA6746ABEF558D9184D5BB5172E651680E140B5503DF75BBAA9ECE4D299B489DF48B99A8360BE1E2F6E7EAB13CF0D6155FA1310A35EEB9ECE954E28F98A7C99CB97F2CFBF4871A6404553699F773FC7796C03564E392B610DC2CF65A64DCB5B790CF4C3003FC1FBA9AAE0F5E383E9514A744B46F7E4724932C5973845F41D2E964FE45DA95C6F799898BD12B264E784DBEBBE7591E895063B5141BBDE610E1488A389A39E2CE3EE2B408CD2E07C06615ED307F572A73A97C36CA0C92D7F95DFB9D459834B7A6C75B8A73F7576B83985EAB522FCC2B0AF845FDC7B92EC605F0CBB556AF4629512A466CF6B943F01CE81 - -9797DF8952F13F2AF4F0917997EB474DF44AE9F607FE523EF7EDB368C16477BFFB07368CCAD8DF8973FA563F4BAAC31A36E6003A7231CBE1236DB05FC70003191AF1781785492D1AD87725FCB2BDFD5C81422E9BCB78BA4B39FAA07322A72AF1B9AF74F18BA49210F3E0AD932F75E901EB4B6F5545AAF88AB112345076299AAAF17A6D771223ABCCA7E985CE435BE7A1F9B68EE9FD1DEBAAC70274ADB5B116104462988B84B408986A1B6F668D284252A0DCA4DFE5E11C89606CA0D45C36F1A19FBF534C7266636821FF360E4925279E85D7B74962E6E56F890257BF5498CFDC336197D3BEDA1D7D82F9789B523624D82A4671A912B5222F848FFE6A9EA0A736F18AD20D62F2D739BD69C9C9F674D4C27CBE218D63E1BF33BCDA1B0CB5A9EF543BBE1847CE85D1F5049BE611E77D29CC118FB80578C989C9CD349179426D0980708EBA6A4718CB3A622ED3BBB8598901C96D11E8783C59424165CB5A5AB6F94CC1552382342AD4EA63590E42578D8F2A5D1B0387424A6BDFF16BA7125ADED1952395960F6708395C7A68B10232AE3B0F70D29FEA85AE3E51B33336EE8CDDD636ED075BB343594D6FDBC4BE1EEA2FA7DD9624C1A915987E7B9CC685DBF20EDD5ECFEDDC7B873579BD35F26A648349C9A5921D5CC0A59AD725F592E7C3068931511E0CD777E152731F93C76EDB53FC3FA31189623AFDF7F1E583CC4BF66E1F84E50A622741DBEBD9D5EE80E4FCCB6CE269C68E30C3B5C0BA94450548890B768A9B1A6371596F0C23A561F14751304D6E213743085F962927FE94C65ECAF35EA6DFFFAE0B55C6D0D7E3700B6A6C3210AE5C6220F28FED56E7A98438F862DFB90DA9334814DBD2E2A6ECAB8620502980EA59AB3C8BEB06B7BE2C678611C5250063C6182CEE36021E033E14012C0945BEE396ADA1B92BB9E76DF6BCB54618B983A2078EFB820FF76AA84F1267DCE61A768352C3D6BC3AF873F26967A2EB9F3CC7308BBD31AF0935A1F1F86904DC70620E4A8866308926D1C3B387CFA42735B387D6E6AA1DE5C960FC8DB0A7B708F1F8876CE0B223FCD949E16815BAF3E5840DA775F550630D53EFCC6F3A497DB3AF9C50A1ED094D96EC9CDAF30A633F86CADDBEBC0A5F695412FD3DD07065754276756330639EE31562034F60B1A0E1D6F09EE51B66E8977A507B68A7A225D378C224BC4F7C552256CF6EAC4DFC2A3E2BBC840131175353F86E231D763DBEBFE4CEC33152EAE935C10113F87F6C14E49A4CC550EA00A3A39958FAFC1569FC5EB7096765E18983C265ED8DA5DB68289C476A59C616B2BF21A0CB77014DEE2E38FC48F7E928A762675A6FC353AA0F4F3300DDC59A7F76D5D0E7A580A645E4A5126CD67E8DB9C15034697FC93004A78E31FA63BA3EC19174505E4F5E4549DB36A33541823D187E63956AFEE97116C738EAC90347B472CB - -0B75878511D7237EAAFBAAE0617A5316D2C6142CD15244E95C71A7 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/LAFEAH+Helvetica cguidfix -/F2.1/LAFEAH+Helvetica renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 58 0 0 -58 0 0]sf -34 228 m -(!"#!$%&'\(\)*+,-./)[ 38.686005 35.438004 32.306004 38.686005 48.372002 41.934006 35.438004 16.124001 35.438004 35.438004 19.372002 35.438004 22.620001 16.124001 32.306004 16.124001 ] xS -/F2.1[ 50 0 0 -50 0 0]sf -48 315 m -(!"#$%&'\(\)\(#*\)+,-#.+/0#1\(2%3\(045-0+6\(0#!"#78+/#9%1/\(":#;+/#</01\(83#+/0#=1+'+,#$&>%&?\(1@)[ 27.850002 25.000002 13.900001 41.700001 11.150002 25.000002 27.850002 27.850002 11.150002 27.850002 13.900001 36.150002 11.150002 27.850002 41.700001 27.850002 13.900001 16.700001 27.850002 27.850002 27.850002 13.900001 16.700001 27.850002 25.000002 11.150002 25.000002 27.850002 27.850002 13.900001 27.850002 27.850002 27.850002 27.850002 13.900001 27.850002 27.850002 13.900001 27.850002 25.000002 13.900001 33.350002 36.150002 27.850002 27.850002 13.900001 33.350002 11.150002 16.700001 27.850002 27.850002 25.000002 13.900001 13.900001 36.150002 27.850002 27.850002 13.900001 33.350002 27.850002 27.850002 16.700001 27.850002 36.150002 25.000002 13.900001 27.850002 27.850002 27.850002 13.900001 38.900005 16.700001 27.850002 27.850002 27.850002 41.700001 13.900001 41.700001 25.000002 33.350002 11.150002 25.000002 25.000002 27.850002 16.700001 16.700001 ] xS -/F1.1[ 50 0 0 -50 0 0]sf -48 425 m -(012-#-+"#3')[ 36.150002 27.850002 27.850002 13.900001 27.850002 13.900001 30.550001 30.550001 27.850002 16.700001 13.900001 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -314.74799 425 m -(79#A&6BC:#$*#D+/BE:#$*#$+1BE:#;<#D5\)BE:#/\(8#<FG#1\(2%3%H/#;<#A&6BE:#=$>#A&6BE:#;<#I\(!BJ:#$*)[ 27.347002 27.347002 11.398002 31.898003 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 34.194004 29.643002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 34.194004 29.643002 11.398002 34.194004 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 29.643002 27.347002 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 27.347002 27.347002 11.398002 11.398002 13.694001 22.837000 20.500002 9.143001 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 27.347002 11.398002 31.898003 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 31.898003 34.194004 27.347002 11.398002 31.898003 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 27.347002 11.398002 25.051003 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 34.194004 29.643002 ] xS -48 477 m -(K\(-BJ)[ 27.347002 22.837000 22.837000 22.837000 22.837000 ] xS -/F1.1[ 50 0 0 -50 0 0]sf -181 585 m -(44444444444444444444444444444444444444444444444444444444444444444444444)[ 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 ] xS -48 705 m -(5+"*1"*#)[ 36.150002 30.550001 30.550001 16.700001 27.850002 30.550001 16.700001 27.850002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 817 m -(6"*,+7\)8*-+"9)[ 11.398002 25.051003 13.694001 15.990001 25.051003 25.051003 25.051003 22.837000 13.694001 11.398002 25.051003 25.051003 11.398002 ] xS -48 867 m -(01:+*1';881##'*+'!"#!$%&'2-.'$<=>&9)[ 29.643002 22.837000 36.490002 25.051003 13.694001 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 25.051003 11.398002 27.347002 25.051003 22.837000 27.347002 34.194004 29.643002 25.051003 11.398002 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 27.347002 31.898003 25.051003 11.398002 ] xS -48 917 m -(6"*,+7\)8*-+"'*+'*?1'@1,/'+AB18*';@69)[ 11.398002 25.051003 13.694001 15.990001 25.051003 25.051003 25.051003 22.837000 13.694001 11.398002 25.051003 25.051003 11.398002 13.694001 25.051003 11.398002 13.694001 25.051003 22.837000 11.398002 27.347002 22.837000 15.990001 11.398002 11.398002 25.051003 25.051003 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 27.347002 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -109 967 m -(*H,-+/%H/#3&1%-6#+/0#\(L\(1&%3\(3M)[ 29.643002 22.837000 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 9.143001 20.500002 22.837000 20.500002 11.398002 ] xS -109 1017 m -(N'+6#0H\(3#6'\(#&H1\(#7/37$9O#0+6+!+3\(#&H/6+%/P)[ 38.704006 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 ] xS -109 1067 m -(K\(6Q5-M)[ 27.347002 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 ] xS -109 1118 m -(*H//\(&6%H/M)[ 29.643002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -109 1168 m -(953%/\(33#H!R\(&63#+/0#H!R\(&6#+0+-6H13M)[ 27.347002 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 ] xS -109 1218 m -(O\(6S3#T\(6#3H,\(#0+6+M)[ 22.837000 22.837000 11.398002 7.831001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -109 1268 m -(*\)H/\(3#+/0#U+8*H/6%T3M)[ 29.643002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -109 1318 m -(K\)%&\(3M)[ 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 ] xS -109 1368 m -(K\)%&\(3#23#U+8*H/6%T3M)[ 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 20.500002 20.500002 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -109 1418 m -(K\(V5\(/&\(#W\(+651\(3M)[ 27.347002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -109 1468 m -(</+\)"3%3#H!R\(&63)[ 27.347002 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 ] xS -109 1518 m -(A2\(1\)+-3)[ 31.898003 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 ] xS -109 1568 m -(=\(/\(3M)[ 31.898003 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -109 1618 m -(K5--H16%/T#\(2%0\(/&\(M)[ 27.347002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -109 1668 m -(F1\(0%&6%H/#61+/3&1%-63M)[ 27.347002 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 ] xS -109 1718 m -(X1+/3\)+6%H/M)[ 25.051003 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -109 1768 m -(F1H6\(%/M)[ 27.347002 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 ] xS -109 1818 m -(7L6\(1/+\)#0+6+!+3\(3#Q#6'\(#T\(/\(1+\)#%0\(+M)[ 27.347002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 ] xS -109 1868 m -(KYF3M)[ 27.347002 29.643002 27.347002 20.500002 11.398002 ] xS -109 1918 m -($+1?\(1I\(+651\(3M)[ 34.194004 22.837000 13.694001 20.500002 22.837000 13.694001 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -109 1968 m -(<#W%/+\):#!56#%,-H16+/6:#/H6\(#6H#53\(13#HW#H\)0\(1#2\(13%H/3#HW#6'\(#7/37$9O#<FG#Q#O%363#+/0#O%36#U\(W\(1\(/&\(3)[ 27.347002 11.398002 11.398002 9.143001 22.837000 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 13.694001 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 20.500002 ] xS -/F1.1[ 50 0 0 -50 0 0]sf -181 2076 m -(44444444444444444444444444444444444444444444444444444444444444444444444)[ 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 27.850002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2177 m -(6"*,+7\)8*-+")[ 11.398002 25.051003 13.694001 15.990001 25.051003 25.051003 25.051003 22.837000 13.694001 11.398002 25.051003 25.051003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2291 m -(G6#%3#%,-H16+/6#6H#53#6'+6#"H5#3'H5\)0#!\(#+!\)\(#6H#+&&\(33#6'\(#0+6+#%/#7/37$9O#0+6+!+3\(3#+3#\(+3%\)"#+3#-H33%!\)\(M##XH#61"#+/0)[ 11.398002 11.398002 11.398002 9.143001 20.500002 11.398002 9.143001 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 9.143001 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 11.398002 13.694001 20.500002 11.398002 22.837000 22.837000 22.837000 ] xS -48 2341 m -(,\(\(6#6'\(#0%WW\(1\(/6#/\(\(03#HW#2+36\)"#0%WW\(1%/T#0+6+#53\(13#8\(#'+2\(#0\(2\(\)H-\(0#+#/5,!\(1#HW#%/6\(1W+&\(3#6H#6'\(#7/37$9O#0+6+M)[ 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -48 2391 m -(ZH5#+1\(#-1H!+!\)"#1\(+0%/T#6'%3#0H&5,\(/6#!\(&+53\(#6'\(#8\(!#%/6\(1W+&\(:#8'%\)\(#!\(%/T#2\(1"#-1\(66"#+/0#W+36:#%3#-51\(\)"#+#8\(!)[ 27.347002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 9.143001 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 13.694001 22.837000 9.143001 20.500002 11.398002 22.837000 11.398002 29.643002 22.837000 22.837000 ] xS -48 2441 m -(%/6\(1W+&\(#+/0#8H/S6#-1H2%0\(#6'\(#?%/0#HW#!5\)?#%/WH1,+6%H/#"H5#+1\(#/\(\(0%/TM##GW#"H5#+1\(#+#!%H%/WH1,+6%&%+/#8'H#%3#F\(1\)#+8+1\(:)[ 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 22.837000 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 22.837000 29.643002 22.837000 13.694001 22.837000 11.398002 ] xS -48 2491 m -(6'\(#<FG#6'+6#6'%3#0H&5,\(/6#0\(3&1%!\(3#%3#TH%/T#6H#!\(#2\(1"#53\(W5\)M##YH6#H/\)"#&+/#"H5#1\(61%\(2\(#0+6+#0%1\(&6\)"#6'1H5T'#"H51)[ 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 ] xS -48 2541 m -(3&1%-63:#6H#\(%6'\(1#1\(,H6\(#H1#\)H&+\)#7/37$9O#0+6+!+3\(3:#"H5#&+/#0H#V5%6\(#+#\)H6#HW#0+6+#-1H&\(33%/T#2%+#6'\(#6HH\)3#!5%\)6#%/6H#6'\()[ 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 22.837000 13.694001 11.398002 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 2591 m -(<FG#0+6+#6"-\(3M##[H8\(2\(1:#+#-H%/6#6'+6#/\(\(03#6H#!\(#,+0\(#/H8#%3#6'+6#"H5#,H36#-1H!+!\)"#;AYSX#'+2\(#6H#53\(#6'%3#<FG#%W)[ 27.347002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 29.643002 31.898003 29.643002 7.831001 25.051003 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 27.347002 27.347002 11.398002 11.398002 9.143001 11.398002 ] xS -48 2641 m -("H51#0+6+#/\(\(03#+1\(#1\(\)+6%2\(\)"#3%,-\)\(M##G/36\(+0:#"H5#&+/#53\(#6'\(#-51-H3\(Q!5%\)6#0+6+Q,%/%/T#6HH\)#&+\)\)\(0#7/37$9O#$+16M##N\()[ 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 20.500002 9.143001 34.194004 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 34.194004 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 34.194004 22.837000 13.694001 11.398002 11.398002 11.398002 11.398002 38.704006 22.837000 ] xS -48 2691 m -(0H/S6#8+/6#6H#&'+3\(#"H5#+8+":#!56#%W#"H5#'+2\(/S6#+\)1\(+0"#\)HH?\(0#+6#$+16#.888M\(/3\(,!\)MH1T47/3$+164@#8\(#\(/6'53%+36%&+\)\)")[ 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 9.143001 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 34.194004 22.837000 13.694001 11.398002 11.398002 13.694001 29.643002 29.643002 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 34.194004 22.837000 13.694001 11.398002 11.398002 13.694001 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 20.500002 11.398002 9.143001 20.500002 22.837000 9.143001 9.143001 20.500002 ] xS -48 2741 m -(\(/&H51+T\(#"H5#6H#0H#3H#3HH/M)[ 22.837000 22.837000 20.500002 22.837000 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 ] xS -48 2846 m -(A?+"M##GW#"H5#+1\(#36%\)\)#'\(1\(:#THH0M##YH8#8\(#&+/#6+\)?#+!H56#+&&\(33%/T#7/37$9O#0+6+!+3\(3:#!H6'#0%1\(&6\)"#+/0#6'1H5T'#6'\()[ 31.898003 20.500002 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 11.398002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 2896 m -(F\(1\)#<FGM##X'\(#WH\)\)H8%/T#0H&5,\(/6#&H2\(13#68H#!1H+0#+1\(+3M##X'\(#W%136#3\(&6%H/#-\(16+%/3#6H#+&&\(33%/T#6'\(#-5!\)%/37$9O)[ 27.347002 22.837000 13.694001 9.143001 11.398002 27.347002 27.347002 11.398002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -48 2946 m -($"K\\O#3\(12\(1#.?+?+M3+/T\(1M+&M5?@#+/0#15//%/T#V5\(1%\(3#8%6'#"H51#H8/#K\\OM##X'\(#3\(&H/0#+/0#\)+1T\(1#3\(&6%H/#8%\)\)#%/61H05&\()[ 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 22.837000 13.694001 11.398002 13.694001 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 29.643002 22.837000 11.398002 27.347002 31.898003 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 13.694001 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 22.837000 ] xS -48 2996 m -("H5#6H#6'\(#7/37$9O#&H1\(#<FGM)[ 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 ] xS -ep -end - -%%Page: 2 2 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: XSZUTA+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /XSZUTA+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /I put - -dup 34 /n put - -dup 35 /space put - -dup 36 /g put - -dup 37 /e put - -dup 38 /r put - -dup 39 /a put - -dup 40 /l put - -dup 41 /comma put - -dup 42 /w put - -dup 43 /quotesingle put - -dup 44 /v put - -dup 45 /o put - -dup 46 /t put - -dup 47 /i put - -dup 48 /c put - -dup 49 /d put - -dup 50 /h put - -dup 51 /b put - -dup 52 /s put - -dup 53 /u put - -dup 54 /f put - -dup 55 /p put - -dup 56 /E put - -dup 57 /M put - -dup 58 /B put - -dup 59 /L put - -dup 60 /colon put - -dup 61 /asterisk put - -dup 62 /P put - -dup 63 /y put - -dup 64 /k put - -dup 65 /period put - -dup 66 /j put - -dup 67 /S put - -dup 68 /Q put - -dup 69 /A put - -dup 70 /parenleft put - -dup 71 /parenright put - -dup 72 /Y put - -dup 73 /m put - -dup 74 /O put - -dup 75 /T put - -dup 76 /J put - -dup 77 /slash put - -dup 78 /C put - -dup 79 /q put - -dup 80 /quotedbl put - -dup 81 /W put - -dup 82 /x put - -dup 83 /V put - -dup 84 /hyphen put - -dup 85 /one put - -dup 86 /zero put - -dup 87 /percent put - -dup 88 /F put - -dup 89 /D put - -dup 90 /at put - -dup 91 /underscore put - -dup 92 /six put - -dup 93 /three put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BEC53AC4CD713A38425141266AF54EE8240C6130897819B8BF05419A5B0762327E7B26730A173E35260D949F33AFE8766CE9D3DAEAD7DD985179CDA08AADEE3179CC2C752B5839AA5BDC0E85C282A4A9271B9B53A0565BDDAC127754C23B1C71B894B357A4FBF9ADFC01835BB63246ECAAA6D1A8E3C53E5C221C5C39350BC3409EFFEC582BA705DA3A08B430EDF5BADCCA8BFC68444E775B7D697740A128B3F125237E8A3538F4783D07ED37B8127C64EEBEF6137AB871850E1326CF212E6E3D90EB3D1E720D6B62878A90C8337FE9A0F12BC7ACDA3487C3CF287209B3467322016B551FA27F4700A81A5C8391E0586952BFF9FEDA9C030D885315D37A2F0B3B718D9519E20954511E4E163A641480AA809C0E3BE2019D8CA139D41575578C857019D6D059E021D505339FDB74EEA50D889122F515197B6978F0EFE29FB1211CEA274C844ED8264C1A2E3B99D1A6770A4CA1AE04BFE77743DFBEFFCF79696F1E35534418719213E9C6FC0D50077EA850A0F4E711F53291E77AA488FCC98DBE06908865BFCE7E673D0438C77516A222484FAF0BE7CE7482F85D5C9D7AC8890B7218658EEA15BEF3C5931A17E2F58EA7C6F6D574C180B7F7AB688B3D2867A938238EFAF1190A3E895F20DFB26CCB70B2DE18FFEC6F9C8112CDBE75BDBA17162A316BEB03E7625CB111C226A7C0EBBB4815EC9392C6F2F6AEDEEA72702432DBB10613AFCB45A7A33F921D058C28865D12FAC20C99E4D9EA1939AE310B9A040F3977 - -617B31A07966B1A3EB312CE728B86E868550E269BD49234DF47AAE9A3FE740FBB1AB7D0D91A48CC7C8806709677CE809BB6F329FEEAC2A37AA0FD2B25369739BCA99BC0FB1B0B09CBB2C5552FDAD26843F63E9C1F670C66BC3CEC870FC8B97BF2FB652EAB32A16803C56B6CA56BAF0AC51D6C1D7651D5072EB59BE67B2CB4CD47D94943C03D5A7B8E182B0746F03C01EB4D451D6A1C7F276657AB16C1B27CFE5A77B4D46A6EFA5E57266D9542106198F7024E47FDACD3F883C1F5F643CD9E99B8637FD413DB331EB5E40B0BFD5CBC84D1482DADA37374E28CBF0D931F23BE0EE9FA36F416206F430766C9EDDA47D2EEF4DA192FE12B5663456F5435B4929DE3A8377946177F083431729DE4DDA6007A400EA540890581CF0F03863D857DC36A775E486CB637F2F3DBBB0AC7CC40377D90A9605F513C97B87A40076F4AA1441C532BC0EE3DCDA0F962FDEAF369DB63218629655CA1EDC6229F8BCF0041BD1540D702999EFF0198DA9091A9ACDDE484B8C0750FF7A6894BB2AE54FC09DCD53590350ED5640571A9A8FD3F596D3E992DB9DA5015CE5F66F2F39039E58BFD5D98BC27685365A75D398DFECD00CC7CE825B036A4806E623A5A384A182239ADEFE7855395CC2447FC16C8DF85EA2C701C9823FB5CC3AF249AAC7AC664A85D39751B63691480C9868B17D036D8A1E16247DFA5371C5FD7AB6C2D191047DDCF242AC5439FF639EEEA40E399807FF339C33DE6B1D2CD4D70020C95CA2187FCC8FB108CD0F46E975FF1AC0505E621362F709CB38679DFFA5A392C90D1EFFC57458E5A715EA11D0077CBFE88A01193CB65B37AEE5AC6E4D4BB39754B5BB38D82D189B43D536306668E24EBDB019BF8D64CCA934B26C4F2C7CE3F8CA0D7D039F0B53A859D154EFDFBA3547982D67EBC441789423723BED7CC1CE1D5E75CDF8095C866CFBEE9E5E9D1D831FF09D01B4EC7875B3A3AB4A1145A2318CF2E3BC3DD5A2149A69CDBC45CAB5E159FC98F45A4ACBDFA9F45F35498BBE98AE76E2EB0C3A4768A877FA42FEB8812BEC3A3BA4E8B4C3823E5B9C4D2105B46D563752628429778280878D4E469DB5F1EEECB54FE64393FE44EFD2C7AE7CAA38C8FE95FD898FA94CE6AF3220E3CFEC0A566A9ABB6B56DF97AB787EFABA8419B73638ECC703E6A62753F3B61CE33E46E869855EB8B6F630A8A93E517B4EB68269A43ECA07CA1662C6D6D6F5FA2EFF1756F3D94BA2045A9D3A017EB36FE7A1C4BF3E6AFA539FF079AA493FF7100E08E79432B4C26070F6EACFC273B46A93EB8D57B4D0DFCBE726B86A44A96342410A434BF80A6053D2544D926092D5D4EA41656425B777589089DEBB77604E2743BF3004BA8CD2A59F1A1A4373800BD6F1DC193ACC658F374A9BA0039CB306423EBC4C6120D722C0E8C6CC8F1447263A878D6F86219CABAED5A0CDB6DF1F4E0C - -0E1D5F292A32CD76AF89F0F728D677B7230796E6B5855B08436FBAEB389AFA585AEC8751C38B46E8E8149F6EEC82784AC7C478870B5D54CF6E765B3224F308C43AFD9D5D23CA3F0A86885E119A3588F91ED9F95551C1CFF1158F2D17164186EC7B50E7893143A615C5F2B0D9FE364ECB351624F01334D1A143D29E8C72F47E5CD71D3843EA7CDF27A8291D9804725300C8136D4DE2DA32C94B95E1AC92B19049532235B9170C74C7E8161EF2186D518B93B78229B3EFC912EAC9A6A20B01D838DE6D72E9DD199DF73FD85B24C6ED0A5D2B20551413CBB4F4E5DBE4D3B85C3838C4314138DD641FA0EB6384E562F8CA621E1EB655CBA64DA81E1CA934AB0A0180BF72A3A81F59D48F69C01AF5D8A057A6D6F14175327F77D78E0A5CBB1243971DBB3C870DFC966203B69C6100CFC42B019346CEA839CD6C5337D9B7198F8B214E362B4A2FF76FA273F47A2C7896C40AEA5B7A6775DF0984F3CCA437BE98D8F8265B6BC6BC3311C139B8D5BF7E8EB1CD2D14EAACA58A710CDD4AC6A8F185FC11AC3EA021ED91D55E83218D51B00F08EAB7B786C5B2CAD5007F5D18974D4AFAD08CBBC4A1877E491D0B5B210E5853DEDBFBF4E95031BE397A823A2FA95544A95ED7CCE261BDE9AAC4FF65BF2C707A1F7771627EDAEFDFBBCE05634CC8F7004678E90E44233FBA94E57EC09A22F2B82DEBABE2785BB45C9F2E8E3298DD071B4207D016D89658AD74EAB908D3F1CB0007EC80ED3598CBC57E80675C1F8B203BB4D1962F9FD4CB4E7B3698BE3EBBF27EAB48BFAA395C4AA028FF1FDB7411E79F7B0862EECB4DB16B8A501295D495119791129E72BDF54983BEBBBA14C910DDAC24807DDED167E8ADD413F9D93DD36F9D6D57819DA59227DA553E0C855FFAEE8A049F0EBCB9B5FD03119884B5FD9075430F2B106D81A00A63029EF47B3774FD87CD596E8FA888BC40BA5342CF80FFF2E135F341691AB98B6AD9F1F117097A5728F5A7A62B0067239F8D36DFB04CB4BF4DE94CA820E3A352A30534048DC4BC118C9BAA0AC07F3A18B9C2559701E7A17328CBAF95BFDC14C19E3219E51D207057D57069F665F01C4E9301C4437933715653E121B53D964E4E9582C37FB0EFE1E331A586D35E3584211633943972AC4FBCFD2D3D9B91222AE1CC45EDAB09E68A281A306A2796249FBA9A29B4A2CEF141968003D9D525BF9EAF57607B1CFFEED6C9A972298F510E5519AF58E94C5C0192D5A8A7489A2E9EE6D582397CCD5D9903CFD6D779D1C1AD9D6BB6F80C1C8ABBBED45C0EA3B612807E2EE1295DC15A423466038DACCFBD72816D1727C7260B3F3CDE16EEF62FA1E484588AF72DFF37447BC393B83055CA4B7749C055E70D65E452A91B73D79AA889155C9DFF300DE41841CEB9A35F75A22B771FB4A11A87ED884F444C8A240262B9DCC94202A3135EB5B4C90B3E0B3E - -9286EDEB04CCC59ABCFED70215A1617BB0FF52360C4DDA86A68CA0E88F6765D2EA57DEB556CD958BEA1EA57D9EB65969577ED8023D816940492CB20B60E57AA6E91C21DC283E7051553BB08E0967B2B660F05D2AD27DC57C40C9AB7A5F721E2BC2049AEC865040D31BBEE336611483D81B8FDB9EBCAA1CB35E889B594C10EEF6C7CC91277F6F78C33E8006F77986DA5C49BB6D2F8296CD6AA86F1DC61B766DCD08F878BB3712D5CB33097C762AF247D6B7A0960AAE7B7B01CFF686610336C53F4DDC0E612B3BDCD349EA619820E0FF7E315B81EF52572CB43A35EFDFC9A488969176DFFD615C1E9ED37B18135169B72766FFD850D0660DB2FD15196C6EAA3CB7C4EB726D34F2990DFC0FE2D6F73263844E52251AA01EB6C24440ADCCC57BC2C4BF6756A9165C4C9DE084462BC2C2B6D7EBF4009FB6729D18F7993DBD3830774E857CA20C2509549252CE519D80C643A9A95A17080AB2185A082BB007279CFFBF8F77432319ACA9CF1F7CD6B8FCAA4EF34C0D7643B720E40E5A5A94ADA03610183EB7C6EDFDDD218AAD4F4D6881D776E94189B84A5B87DE1977EFF87D9E45F7453F99E24AC0B2EBE2A809CCA46BFA21E4A2B790C94EDB8E33AE9DDE601F06C31C2949C8FAE54F23225125EBA0BC15C2CC4F9F91BF7A0EE7A066D33A625015A6C7B79C8C3379466B6DAC90585B700800F41999337A3F50C58CE5AA999244DE13E7546AC5C6BB606EABA55C87D3EBFCC3E7D7EEBFB85BD36C76BB0ECB73CCD62010B6AF992B3921843C743C6ABE15438DD57683604D920E999A83CE8F2ACFF7A5781B5F578CECEED05FE92B5F391893ADAF67EB211EB0F6A15F106B504BE8CDCF425407CEF2DA0208A1B33A3CFA78C15851146ABC1CF6C50D357CF17B9EE640DAF6C413C97CECF396B85D121D57B90DE4DAEE9929FF1A90C65D67737033AC92C8D6BBF29BDAF224D2F89D47DBF651A6F1EE0C7361630DA6EFEBC57F893491A5485B4D227F82F45C4DF3DFA5C6A02340EB8A6A40223571F9A3628727841429550ACA87839BE550D8EE73A3D4690D56C14B9FB3B433DD392B3788D0F3441F8CE24D2D47CA3C885F4A643AF9F1D42D6D2ECA9F317267DF2F3973673F6104E2693483F9F746DD2121C76BB2EAE09787F899BADE105BA402519D86F52599C5770DF029BC32E625120754D550F0C5929AA6474E473BFD71E102841C39E18531A21BD97483510828DDC02318F62D6D667B63E9A3E972C60310AFC9C20B3EAA49429BF22476235A5FE7E6FB10D34515D4581E93B5437D2F96FDACE6595387F9111C9AED63EEAD9052226B4778DDFE53FF4DE287D59737C48A63306471072A543839038B4C7C12C565BCDC5B449A920922308425E00B2C89A2E8AA6AFC8738E915D5F986B2BE3CDB88FF737C6D9FED651A685F3DE19BE55A579CC9F87C20FB41E667E617ED47 - -72E848FB5FA5CED31B3AED33442D37350ED3DB8FD150179C658D9638F2401666C30E3130BB2AFA317D84C2E986899A7B3507448235EE22081CA9B1B6EE3386CFBB0C0AB2738BA0EDE880C30E8E07CE1C5219B2B6DC8A3BEA615B16F9C0F39A9CE43640C5D60933831A0A228200E2571071A029C783D090D84EB4A21918FBAC577BA1129700A37A27E9082450546295859144613824A4F0311AF9A4CFE898936E0CE69653C2635F837E2939E52829BACC01E6168542A1514F6F8C1D4EAC4137D7B553B7619A6DEA33C72E3B6F91BB7BE71B5A39802E510EC3FFCAE7774901A6A0DD62554E746E9E1E3B2DA270DED7B61892525BD0CD7770D655911AA5F41432985744C2D3BD2C9B66F5476648CAF3E9605912F4D42811E4DCF06B172E966F73E1F805179B311BF756AE4BE97BB1B682EE2989D33F0DE11E6D4688D4C2C338E598D476A2241836C6604EA7232EE0FAAB2D4D872723BA4A9E6227C4923690DE4391D873C80F0259E7D1374F9FCB76304A4DB5568D55441E96D07AAB6B42658A926DDD0A8AC63F805B7A82413347D880BDE71EBCBEF46DAFFE82E3A6D8972AA9E845FCFB19B65C744043B89DC8275CD678CEA6E64BC38C50862A050DED374085097C686306F45394BF296EA6968E0D7BB92B0E67FC560E1F2A82B6D97FC50C606717165AF1367833E74C38923C4E663DC78F363F9C3F17382FDD428E48ABD911704BC5F7BE1BC082556206A36564077F9FDAF511112EA61C8398ADD4719BD8D91D6F904A65BD94A553B47F787E826AA682D2204A97EEE049C060A9AD8321EC5EA70BFABE55BC2F655E79BD007744D2EA1462F8DD43669A3A5D0E074CCC16CBDB11A8042DD4E78981E7DF0FA1172A47D7878444996A7B13DE82A232A1B49E7032985043F8000C35CA9553D8D47BFE82146708A2319CA80197B15EC95A6AB159FFF841BFEFF80A71EBAEA7DA65FE59ED6C6A142EB58752AF3AE5DAC49FF8DCAED60158733A3723A5B1ECEFCCAB8AF914FEE4DDBB405BCFDB9A1F337B3B71F8D14D9CB0B0BCC8603393AD7365CEFC24BF40633B8429FF05AEC222F5D6A29E1AF6DCD97DE82EC28A66CE5ECC33712DC5E3E859144F359B2C0D0F6D6D6CAB62CADA4D0C968DD6B27D6A80BA9871F9401B029C0D854B9C6F74DE84A26B73F3909098B9655A19AFA942FE52FBD1E9D8E389A4A5639858081FF96902E0835D06D4FDD543ED4B9C6938A161F1AFA987361534C82BC69540311DF250926AD27248CA5741B5602C6A48C1B2CAB1DC5CEEF705D422DB05C1530B76A6FD82594E6760771E08ECA351A4DDA1D65D7F4B94030D87B7842AE401CA144053784C00F0473FF636F8B86379765978412BAD36AC1F92CA3E8AEC3C8B40E5DF3CF9BE21BBA3416BF40C024F3A5645BCDA7364E1BBECAE7BE42B5785350BAC4678371B2BA4DB87C4135AF879D9 - -EFF3F9BFD19BAB15E3EA458A3216AE371F3DAAF3C5012D6CCA0B63C4584965C4AE5F2C8201C08D57E92FCDEB723A83B2580AE50646BA93C6085F81A9ADCF381399F321DF851D40DAE7EE2F6AC381B478E4C23758DC4AD12806A25E4EF903D1CC5A0BF1B9BB4F3A006280C1524E1226054E68967F775275BDBA3E10F6BE2B399F874A6A35C9D48FA971BD75D3EDC3F3E1AA97D0C1369F8E5AD911D4D9ECD7EEB54C6DEEA03ED613433DD519B08DEE73244272460722FEA9E7A12A288BB3B9095131E2F278DB101D6D534EF184BCBFDD4D1655F6619DBAE4199B820C5453C19A2D7D02C02D34094E569C4A8EE2B5A55BFA652424A31609137C2AE114DFCB48C993020C8D5F8312A6B71C2ED742BFF653D19089C33499D2772C379B97627C5F3BFB525D52AB8B0172DD71FBD7AEDDB674DE2EC5ECD4494CB3CEB46D533F16423E0BD1E5882B1F4F9E79C83C1062F311D5DE23D4144CE3DD63492F5FD85A6DAED62C8FDFBA5862ACF736AA5A9328D8C788D71F96CC8D999D27E6F3A3F15AB33A809553566547EEAA67E7B1483891F5E44A9856ADA04E3AB4668015D0388BE161947D3303BCFA9B4B3EE0DBB3DB9B1C18A675C885DDA7FC71DC44728DFDA14F3CEAA5DE674D990C706F566D1F865069EAC4C75E9ECC029309705F2C01BD8E55ABC8DE3D649E82CD04BFD0965E7D0CF352782C1CC7A26515FB04E745BB2FBF9A38005EEEDCFD3C4CB184B8EE534767D66533FA4E1B7486FB79A5CD291942E4B9E0082B7CA3E73573A84FB61C6F9C5C85C10B008313D417B17B353B28527F095BDB14B14D12EE3C8745C40C8789B3DEF5EBA1F0DABE0A5975AFAAF5CD575F5AABBD6353A0C3088CD6F090CA91436D5024054A4C92904125650E73ED6DC7078522B7E5A45EEF5F3BCF83CE01C325E1E4C7FCE0F240BC2B103D35AE921F1F1F3A81FB75D2DDDCA1848980546FAAC86C88F859C8E478144DD4F19D83655954111B28741FAE20CFF14C3A5B05F9D12BF9A8071F28AFE7F62D912F84F4601FA1D11F17896F1B2887A97BF48B59A5B81776E2E88D8A346F3E9FB8DB900AB07E4173527883DED259AA5557A166E766E71F7DCA5082C431B3C84F8E83740898365E0194804B0FE279FAC531DF567127B7D331AA878903377C2DE42237D93D4BC342648364AC78B6FCC82C5A85EDADAE266CD325374718FC7AE7186F0E74968C4345A2F83DEF5DD3C974A8291A152C772693B032E317DE2170A9DF66B220E8D0D79464C44273AEE3F87028555A3876272F669FED738FD60D677F04D6AA81024DFA9AEB572AD37EE771DA1647EB12B112E5BA5C7FC0DD56E8493E86772E3C95F3363F5317523D334C97A81053E223A7509B8DE06FF51415F98FE7AEC884A02E36D470E810D895D01BE80E3199DC624BDEBA73762CB5812BD172BD95F9F745F2DF3E7B90B7B8A66CF8 - -D8927676E048160FEC34917CE0E609617F13174AE68E5328EB0FEE3CB8FD88B07D14EA492233F7B7BD38A050FC93DA42C3AC27E03414978ED8B3037966E51B8BA8642FA041C0C3651F8AD295172C38700547242DA406AE10EA329C7558C30814B9D021F3A1B62580DF3D1AE8802330E8340D1CF09E6C149E736C879D00CD12A04C64BD9474653EBB96B110C010B1246584410D647BAA5BAF4925550A27304A38605B9AE8433539911E3E1A858FEF791E53401B96F0CE86627F32B040DF9EF8E69D0E94B38CB7B4B19EAD8C29B04030939A1240FF576B1D38D8291F3E7285A6908F989C93A8DE3FF891DB9AE6D8313D1EAE36C24F167B304EB39FD2636EE39843BF88A4B19DB35DEEF4257A72EEFE4BE6491B345A411088DC34BB13681EC7F67BA5E034668DF3D8C5DDB96E0C2EE8586D3100FB854AEC850197EF690D5E9FF86BF1D5D7A6AA75816232E155BC4C7CB4377465541082B1DB9F8A275CE434D3E4622B6AB23A6477272E27754A108203D0ADC8221E82AD068F78DACE32445CB6EE801D993CB147BE566DE17E3CFD6F71C75AAD4EDDAEF5669DC6087CB4EA2E889BCA79E5D7380AF9F6612373C253EA15328DF819D7AD783A0AC8E5F1E1C5855DBA3AED82ABF99D4D0956373EC51BE1CE8EBCE858F05E1C689178325DCC2318A6BA64EC0610566912457DA435D0673AABF79F0446AB58387D0A14BC9B157D5B46691B7E7381E3678A78B51DD8C770DD5C8BDF245D6DC41791335759F7434AEDC3F936F81BA9AF28430248A6E8A8E5F3E9A53ABF522C9666248C4296A0439F7824CC79C11727469428A6F9F2AA54A97F040E2AF2BFE3E517FD04C9FF30826721F113A113D6D7161A3B92D6037998CD26BA73FEB5DC7543683EF198130C73E625BC41E64AC817BCA8EACC7D34B260D1F7307DE1212A8128260D868D4984C3F8531A5AB7BA15BEF51D020F9449D0F1093CB9092C04C35F5CA4DC6CC59ED8D9E9C4488CC59E70B6E91EFB48BD145F1783350ABA7617B69E70F0900ABA63A5D573AAFF9F7F82246B505D6AFD0712886469CD882B8FDE884E18E37B8A18F956993ADD89D40433ED035D065CE220392AB7DE3AB549EAFCA3ABE37ECF8D81ACDD11889C1D44AA52356DB5D4C32BBCD02E27F9DAFB2ECBF41C9ED2C44A0EF1E95142712FCD767403D5E4C38D4D59DCFC9C81A564A21000150451EE7E61BCCE9F3F14C25923EA13B43110B6DB911AC8E71DD2154074C12DA4E1B1E1910B333EF403858C231B98798635AA9421241ABAEDCEC78C80A44E7620D68D4FA7EA6C4215E9A4214962B2B6A1740F5244EF49C037416ED307A8F89083507A014EE6511CB342CAE20D2DBAAB186D296186B81DBF970A0E0093922BBCB541C45F720EC358B32F25BE76A325E3559CD49FA166873BDA6ABD255036BB2CA11EA9FEDFE54B90B0FE5651CC49833B - -F3D6AF80D5B13514F213175A615B33D213A708A3BCFD8920BFBECECB2F82986B4471E4AB853D62F4BF229B28B10F7B7864D60C191D0B4E698A1B7A4BB8A14AAAB12BE243C6C83C8B6610B9C48765E3C2312F98CADDA52E08790814A1EF746BB4106D6D4ABCFA8C5202EBD7DFC178C83ABEB3F90A9B74D5B0E818ED0F1A7016F8FF66ED7EB1863AC08C390BD39A968156B39218594ABD2D9D26345865AB14FEA765EDF5649329CE0BC4D3C54968CA612D5DA3B449567F52B82A4F040D1CE87AE0534C8F2F3F2399A744D3523F6B6431DF5F0858BD19C985F9BBAB684FBE2E0FEFE286868AC052430CF587D723B3AD519A3493B7F077E21C1AFDB52D1DB5D6C61440EC33E2662B7BC7B7D2990563528C1580A35835B7D55E30C4A0DDCAC5D738CBD8D38DE785E6D74A7A853F3A3B2CB33C5A87DE59EB2D5E7A3EDD133723EC477DAD162EEF941A7EB5CF66FE2A500B7C29B087D4F097136B184CB83767F7110053638F2CDBBF75FCD9EC0BD4733F1B4C0F8D40864B55A61940C02E267497C2F051B40D70021F96CA33BF2017AE117494F90228D94E647999B484C00992F0EB7BA65638EEC68CB3703DE63D969A11CDA40D6B66D812B8A3DCBCC72B22D434B1EEB0204EC9414AC43539FF667ADEEDB042CFB175296C599F5B6FBC386EF7748B924E3634A848A91FC53B7EB589F48BBE783630D15EAD8CC5A32A34CCE437F18C1946A2B19FF283709ECF4ED3E3F3ADBB2001FADD424F0A52AB13CE326F525EBFE7EB51793389E2A0D000022B98A203208221095BDDCC67D1C1C740D9D02B1067859BFB4D8901E9810A413E74D69E74FF8188D0A59438090AA71C841F6480629BA523725640D824A08A2D51B24FABAEC24B8227C6AA9D41AFCE1FFE96E927332D532299D8F0DF8DE7D328A9E03C3077DAC0115115B595209E74057CDC39C488FBAD4E49FF49A788E575D7CF53D2ACF9F0F09A715F1AB51ACE8B735A584E7F3754B084F46F1F9AC838848B8A2B5D5677F04B076713D94A77C2A6104CB4F27C65B2134DB066511A7A42AB683CAB9C50A52A3A184704468558D3E39C13F186024C6BEF20AF591163550C5399FA24DA76E3525A00190AC8F059ABB3205F1B8D2BF64D4C55E37AAEE67A36301C5E7E33B2B557AE5A234A87ABCFD2469AE795F667F37B1B7E186ECE48CEE38783B6DA4CA6532040314A3EFC182115EFE292A5E9679B38AFEB7A59EC48569EC166223D8A0BC367E9EFCB753408D3065129C954FBB4BCBC80EBE5A43C51C42CBED3C0A51E99467D892B645079F55974B732A6474D11E5ABAE77C046DAFDF4B0E158C4C616BA9F72FD24DC17318B9AB8B8C0E8867F1767E170E32F751936B551E3BFA16B9EE1AEDF868E370C0E487ABA6EA06E81D31DB70CE65DAAE1B75E941F4BDF636810407FCE74BD2EB2BD85BB496CA6EDB9FCC926CF6436 - -E88F2EC29EF941F37BCDD13F40138BB4D1B28807ACB59A8AE438FD90D96A0C261ED3E241BD0A22D4A1B9CD8C71D0A8EDAF3DEE915FD1D0401E5806F4CAAA6ED86F6AA43F9DA892485721220EEA952D16F461E6A28AB48D78338E1D8673A48570FA3877C2D40ABA52BD6929B3343C2A534F66FCB2D7E0AC7EEBA239214F1D3E8E7A757C51BA543BE236141AC18E4C9B2CD894DE818BF1B9E7CBABDAC5A20F71C3015440431EF5246D2924BD6D730B306740B926F12E823C210D6BAE8DB5742B46B27BAB59466A7484396291A80C5D8C9A0888EF31DC56F7341E8C7D5FECC5BBC48BEEDB21BE94D9BD1A532EADD82DF44AD3975DEB08AAA917C6B515C2D2CB4D9D871792E6BB829E83ED86DC6DF8475B2F74B2A16A0AD2E00B9325092F8E2DB20DB941F036141F36E979FE19C0F932FD2E151E1620ECB751E376E2B50D9F4DD7684EC178ADFEDF70DCA457F85D079727D59AD1D2D9BA288AC8C57EEAEBC3AB976E8C89F2E69B996FBE - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XSZUTA+Helvetica cguidfix -/F1.1/XSZUTA+Helvetica renmfont -%RBIBeginFontSubset: RRLBQU+Times-Roman -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /RRLBQU+Times-Roman def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /period put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -847 1979 1983}def - -/UniqueID 4349401 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92725788540EA741B17F7A4B26645F1AC6C6DD680CE8F1F60AEE279148EC39EE9402EDDBB3D94F960D3B0B296E7E68C3D0406E652095434F0F8F7C96D58E18728F4539E6932AEE08DBFFFC6F2F0E4EC573EC19B834B60372D568509F9E430A8FC5EE31E057438DEB6FCB387783AD57F402541E079E3808151AB3D8996FD6E13A1F960CAF6740D036BB1EF78D523843D4EAD924B0A38E809540A0475A885AA2E8A0F49EAFFEFAE854C009FB72CD07479CE89CC983119E460CC6BEA65EBB152A2E2CF9DCE39CB0BBEDFCDE64662B45BBB63A3FED32D9992E52DAD2A9CDC6B207F6229328FC9E58AD95907510635D6BB4223DF06ADEA7DDB6923CF7EC5D18849CF2D4CC1FCAADD8172FB02028D2225D1D5249CA9B8B73259035 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RRLBQU+Times-Roman cguidfix -/F2.1/RRLBQU+Times-Roman renmfont -%RBIBeginFontSubset: VHRUZD+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /VHRUZD+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /R put - -dup 34 /e put - -dup 35 /m put - -dup 36 /o put - -dup 37 /t put - -dup 38 /space put - -dup 39 /A put - -dup 40 /c put - -dup 41 /s put - -dup 42 /E put - -dup 43 /n put - -dup 44 /M put - -dup 45 /B put - -dup 46 /L put - -dup 47 /v put - -dup 48 /i put - -dup 49 /a put - -dup 50 /y put - -dup 51 /S put - -dup 52 /Q put - -dup 53 /period put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92608F4984E4A5769B1336AE461E05CD208550769783E471D7C20DE95AF973E3C7100591D725B8E15D66A614511E8AACFF5535B67E10FF7D067CC703C2D0FD780666B0A4C0CEC075D41A44CD54A17FD1117ED8ACD6633E577C949A7C71F8816E66CE41F0479350B2659DAD70A8FC6FBBF6CDDBEBCD5037BC22ABAC5311F3F8963293D995418F87282E089B58E23990D60AD06E9A3E91C09DB996A45CAD510C804035B12664A4B9ACAB2AD917B1AB0E3B229FF7805697C18A69891F0B59501717348FB1E0056A8B8F33999FCE0DE61B13B53CF7449C05FAE41E3C4C665DE342039A7919B1363432820CAE833B6D1104B47AA23805D386CFABEADAC92F162418B0023A2F56243F6ECFA9CA4FCD7EF659E528515BDC9EF95F613ADE40950D596CD541ECAA51129DE2B5AAEA32EE71CD04CD614ED1DB4FC513E156CF5D656F97324C61740A8CD2B921ACFA343049957142B1E60E10C73A314AF5C5C29482BEECA9D6EB280BFD65F7FBBC209903F630868025AA577730C71BC4E00FE2516F1E93121A6708C29DF717FB48E336179916C8982D8F00DF33004F5C986138C6B0BA1489029A3F0846410807A2ABBF680C1AFAD1353AA780BB31C38BB47F9E07930DDACC1EF0C46FC09944312B73179C0D74D16416B964EB99DEEA7A344D4550A0AE548B0BB007A0EC096E3B20D2B9A5058091A8CFAD2C90A873D6586B38ABF67987F5A28995949F1BD2E23DDBA28CAE4A68E89C7BFA6E611ED51513B0A2B8945D1DAB706114 - -26FF3B9E4128FCDF480356EFD40BCC904824F4739C0D2E063B87EE6C077F172D09C6C76B69A8E5E8BB86BDA6604A9E611E49D7F893CC18967D94BC7EBE7E2D626E117050F4F6B49CF5C6CAB1A0020124588FAC0FC5A7ADFDD75DE0DBFDAC546B63E2F23859DBD74D06D3E640D080541A7EE45B06852424D7573B90D4A70A4250A179CE44C9923C64966E9B6F7823995699CEAF4BDEC9F9E0C79582ED402732A3CF4FEEF3B1C94B99FA47159E5558767C5C815BD68DC07C061F7EDCFB19411E8717AE028C9D60F381DC262025C55486C99AB9DD76B66858C89C6B1D3A1F365D64D3D566D72B93B307BCCC8669B29CFA0254F0D162259BBFEE6360A1205A414F1E13E384FD047761CC13C80241843062F877C2FA81DE19C0C24C81EF4EA53A70CE4B458033A08013D19C37BA34E51C47124FF4DF0E2AF3AC620B4CE85AE4B53F63AA8A042F38247E1BFADEF0020B2997EDF86C5C15F9EE21B908B2BDE438F00E86612D592A1F1950D3834366E8AD139105B6A770C0CBDC3781536824592D6DB428525917BEDADFAAC5ED61717EC943F4462C1D18DE7D3E2438E44C4D9567430B9AC01AB9417A59CCA9D773930A85FADA8595EE392087428CBC4D378FCFAF10E9AF16F11B5C640FB9DF196AEDA91854328CA179F3B862CE814B7B1EFB455129CA24DFF5F1567C070CA6781F13F0CDB5A923B9F7FDEF05BCE8263973105846AD07BA96A1F6F43E1491BE3D086B9AF9B98D0F8691DBB95185A814B3AF21B98378AFEA65E1B31F5BB9630D7D9A21BBA259FDA6469414631AD8EB476F58E3F0AD76537CB7C9552AC42A2A22BD4C65A4EE74E8F14DD63576B6C41540C9FFDCD5E52E9C37E4D4836188DC413D59E10BF951AF730C7DE318A7BF8FCAD052C1984973BE82C0C94A2369B3BAF319945AFBCD0A3640CEBD8BAB9C8B78651E6669FB711A5174FC3097E046CB1D6D1361D1568BF8DFDF86EF7F1CF6D788883D7885B48D35DE54BA122C13E36C905295F14B79DE2F5C0EEBAB2A3CB5768CF290D1341B0E4BCED6227AB9C816447EF6F0ABE39A8B8BEB6C98CCA059201CD91E3C9EAA683391E456D5AA802FBA89E4882C78F81067970EB263EDBD7533F09C8DFCEBAAB9732D65EBA79CCEE0C406A6CECF9C039F99A7CDFC9207CD86D2C2FBA1D67AEFA8DD4B75FCBD90FDD3A296B1C919ACAC805AF987A85E45A98C39BC0507A5D905F7BC036FEFDA17F3862F45F295FEB0F8B4F254E609C856F174D3B75AD70C95150EF616430D006EF94377B68F4DBF5E580F96B7B0098E5F94E9D5E8834DDADB49FDB85D850E2D111E05EA87220C54763A2B1CA63ACDD044D54EBBDB2C498BF845971D81EECD8061BF4A3A852FBEF8AEF1600D5948798C04DF0540DC16277783C7E9BBD9EBFE471015DA14C9953DDBC76DDBDB0C7B253F3BA1701F24BD8C15DED7A51DF3DA1EA9 - -4B40A81CE031D5C2FFCFAC25EB0E7806757AEB6AE518620213B161884DE384F3BBC577B09F7E114DCD43A4498D60388FBC2497C881B3E360177340CA9257D6109299BF8ED2A8C549310D5B30E31120B1B067E7C600076C5969BA79160298FF231BDD930FE7730956F6D85D0F8787ECEBCFF99A40D7A9CF4DE821C98BE2C6EEFF9CA820BE023F5C5DF9BDE52B51D216647DF09BEA2BA6EDEBD3BC543D677075BF9D74CF5EF64AD5481A080988FEB68B442676252C24EE2EF741DFC6E783F77F7E822137ABF8DE7AF26B6EB1A63C7157BEDEE25C6D3F851D4EEAF704859D1CDBF36F51B330C1CBBEB737EF51CB8132BFB0EB3BB91E117625715E4974B1CC8B6F51AE741FCD95C64A09AAFB3E40A287F29D6A4C86B75310AF800B3F6F725AC490EE31B61EA2F58BE07AD8D05E4E4D0BA2B8C5EF6365C65148C90442F979ABCCC1DB13C0DE4E087CEACA25D2B56A037810394FE92FD838DD07C3E9FE95378322A10CFBD114933C1279FA79986F7B3D769F77C59568FF7BB152EA01CC796C2C768DBC6BA3732C60AF932958CC0553D7DAC9B7B09B78C9D0286C6F37E530B52A77FB5D275884FB83CED8D5DE4B94B034AE103A5B913F9202E401CF8D9B92B13BFA137098AFDCAD55F532265B477DC8BC95D453D5A1D2E54686CADF40E48170769EC3ADA2F9BC022DBABC30EBE2BA38B0B173A898B14102B0CEE21738D1358F5A21201C63A82B5C6822E8FC085DF69570D500A97E9DA9AD8065FDFA318F892BF26EE08CB098A67E3935BC21F7782E9020EDDC84AE14DF5680A0A4196AFA38D70839B289E011F9D56019F5D679B097226DD3AF793004DE1BB4E22A40D580915022E9E9062CF1147F01E51014ADA71D60FE4EE8E3910FA812EE32384BDCB6B5A8D6BB770C8D88676FA57A3EF73EF630EE186F02FE2D7F0DA0D2D36111E771D6150C4B5CE4FCAEDC48F3B4A230729A3711D6E9A9C81C75B004611AF85809ACCC790D986C0CD99B8A08CC34E415FACC04D33B333AC41C4730AA10B01DF1D0BB6A9BE851A6E25CF108D05CEA640DA9DFE6F6CBBC6771F8C3BD59509270161CD7C2BA3378381975C8C7D6DD0B49DB410EA6CDA488446BE23589C85EAAB5A56B7EC5C7527EADAB84185C51114E63080D1DB87F9D1A359BEDFD63636ADD91009B2817DC7BF035AAF71484DE8113849AAD08D0FDD81EC24F8562F46403280B5ABE5845BDBDD53AA4300CE855C299F4E7D2CEEDDCC1A096DE28FB57C011A5109B105548D8D6CA3F37DA8670968E4AFD4DF6D27A065E6492F2BCAA52E790AFF3A72CD69C882348FBF9A6F9CB340AE434E57D4605BB88D666CEC632B8575DDAD0858B9CA5353E817BDC7A1C6FE0E23A70C76DF35356D212FC981EF8DE62856A61489C4366BAA1065C02C7EDC99A0FEBF39F1D00AC6DE7D45B73EAF986370C873C982465544F46790535 - -B582BC1AE13BBF96F2B2926C0BB4C961B931473BF3FA49DD40233DBEB34823CD0F171B922C0348B51A30D84BA7212FFF279DC53EB43146E4CD6A4D6D1B4A305045B30373B16D7575431D7EA25FFFCB915C150A4C75F465429C19DCEB53144C661E5814906E12ECC1D8E36ACC3CAC43897306F04057A68663DC5E244E385CFC6ACAF1592CADA09CA18805EE6B03885E99B813F6AED3A7450F397C74A161C62F6C2EBA4F63277AA87702E19D8EA8F380E54BA3BF34317B67B4865271ECA1CD79F33F04E212696D85442B615BD4C6FBE211AACEE2BDDCBFDEBE8261CA4669938C75EB41C009043C10B70C17496C6B7592C12C44FA85FC1966F4EA7FB5E8DF6E4A9359504D505E9AEAF63235D1028E0FEB0E32C08ED88A090CD29BFB6B1CB2773D88C2F7982EE4205C7E0D0287193D779436B41C3A984B9E74E27B4EFE86C154F19B2E87363442B6EC14A93AC94EA5747908652CC90D6E597503E54E1961CBB195EB4255DF5F885F725FAD76620ED8E538DC22F7C0588E219BEC96D23275030B3769434591E7C627D36CC11EF3A83B0221E15EACFA79906714A2E552784AC37177FC5E61C744CEBFCC2ED87AA80BBC803AEA31557489AD0F7A1E77E7390507390468BBB8EC377FEEE1EF8670B7D4607DB7DC46954811298029E3BE5F30D470F0CE22129EA7B16DB543A224EF6BB263A8E48009083B3656424314E647BEBC29B601A6F7 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/VHRUZD+Helvetica-Bold cguidfix -/F3.1/VHRUZD+Helvetica-Bold renmfont -%RBIBeginFontSubset: LKGBFR+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /LKGBFR+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /m put - -dup 34 /y put - -dup 35 /s put - -dup 36 /q put - -dup 37 /l put - -dup 38 /space put - -dup 39 /hyphen put - -dup 40 /u put - -dup 41 /a put - -dup 42 /n put - -dup 43 /o put - -dup 44 /h put - -dup 45 /k put - -dup 46 /period put - -dup 47 /g put - -dup 48 /e put - -dup 49 /r put - -dup 50 /c put - -dup 51 /quotedbl put - -dup 52 /w put - -dup 53 /d put - -dup 54 /t put - -dup 55 /b put - -dup 56 /underscore put - -dup 57 /p put - -dup 58 /i put - -dup 59 /one put - -dup 60 /six put - -dup 61 /three put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9311B6521168F61DA8AF511CECA1903976E43EB7D7A7D6F1C6A6D8D64C4BD20286FDF7250452B82ECA2E7D16A6AEF18370E6EF871264331B53F63964465DAA36CD7E9D53E2335F6AD300137B4E7DF49111C89DE77F8A7CBF385C588E5B0C2E5175E894410306086F8190BE44A6C48014B3CA4C414411F0F9C1FA559AA92F80E2C503EB5785198B81BA74CE27DA522D09C4B75CF561E0AF306051BB34939E32289CAAB64F72EA0A0B9DA1D5B76F94BE57D1D3A1B173EF45BDA0F28359ED2CC0D10151356B8B69B8035EB2BB5AC51EBC24ADEF19471DBD4E5D272197093226E0D81D57DB4BE4F74DEE5FEAB106E666A4F8CC91ECEFBC5FF323230BB810769F2C55505B0751F708290B80301E3482C1BFC33FD8795BAAF7E984B2FF7E58B768AEE7AF21883D233A1804A778E692ACBAEFA974FE98691898F0664365A93D78BD08E242A03593B05ACAA9B1A4B6BF05DB319EF14D463F0143482CE26BE5738484D3BEBAFB2A318BA2BA48219380AE637971D685B489A9B11891EF6894568159D78B8440A37202F6A197DB8851E7C371E8BBD07C094BF04C10E0FA51D2F71B3E1ABAD895D8CDB8575DDAD0858B9C9058523C560C565A5800F0BAD95068D3486870F0B1E9A2C92EBBBC6E801A3718FC8E69C58D3FE40D4550C68F04A13CD6ED44F13A77F63148FDA65043B5B3774133654A0E120A2EA010DEE1A2AF39B2244105049C9B91EAA9F411BAB7474D461E51E3938C7A51A885BFFB424F60FF3F7959403B6DEC79 - -EA900231EC649D00DE390687FA6087D7FAFE5A91D2A2AF34BC482C3C6086CC4FE0F82CC1DFCCAAB0EA46BD9815297A6644B95711E6B8103BB2F564902599E757A447FC36C794D557238D868BF483426470C6612F5B94173A25ADCB181AD4E11D98859CB44FA89DECEAAD4856BF2CB86AFCEE1092D07DB0C299B371C918F0A824C0B9592E76D7ACA680FE2984540CB9C390957DAF090B9D15B97B65689DFD2EFCD893F0302C64E2BA22B4D43ED80F6D6A67F4EBC03A7150CFAB3553CBC637259F62B530AD6B977B8427438C0E135D6E1A9E0ADF93C133740E5DD61F82A55F48E1D0763194E7398FBAC3CC84DA87626CD428C977A2FCA9C1D6781DDEE8D013908032BA734BCDEA5FC0FA88BB647846CD6017EE79FF51BD743BCCB8EFD2338179E6A1810FBB68497052418DB9EB357935858B8A4C19152A59BC03C54D032DDE2D3704B0B5101AACE3DC0354A015AC899447E51BC3793C01BD403B8A7F73853B97AE0063B89CF4B17358D23489F54D41A76EC75600A39F08AE16D2281DEAB92FA1188ABE438A925794E2C03121D8AE47DD5C9798685C90BB1DF603609651623C5D592E12BA41AEA683DE5BB582FBBAA73A2947B2B1792EB27EB41BFDE9D93B28A2405222F8F00AF4E15384FA8C0E520347AABDC287F2412DCEC9724BE4BEED063AC5B646D51A815334EB1621209E42018F355564BC7556A7C560DF312CBE4AC1FD2B3981BCBC0A776B83FBBEC1D204D7486A1EE1413189BD9C3E640C89AEAA81C3299944E2FADB1DBAE8CF7AC1707FA87C4A3719E91368CD8B1353E69A976A4D519F92836836F189AFCB8FA6DC238A3C5AADBC256B6199C2278DC31725A6EE1A32A464110721556FE7C1BCC4E65A3214038BECB441ACDD9E3032EC8411155B6DCCAA597435BBF6757E822B9792BD1C97A43BBA1798773D7593A7C7C5C57B7B1FCB8A1B2B181BDA8DC9A1598DEFABC1047260AAA87A71CB94F8B8A35FA2C8A9EB4B67C8BA520A972579D412DAED59C30ABE6DC389626E7C3ADB42752BE78284B59460C2E81CA1587B40FA225E27DD4BC7CE4A7CF5BD4C55E0C9A9EA41A27522B67034F6E13D7B7BA22E08C4577101401BD7A86C594AC8B627B47C4464F88A72A3C246BA23DA5220B003D24AE37E0B11A2E7723F7DBD04A1D7047B03A818B672EAF0332353241EAFE3662E7F755B8C513D90D07AA8FDFF91DBED71108F88182628D7ACD2C5A1330FCAB55DDED5CF982C0FFD3D45B12965741AFC3D47314F68234354EAB544FA0D3BDE3E6286D7A25457E17FF229A115088EAC5FC7CF82F6FC1DF443F6B7E03F4E986C5170472720A198A75474D43778D5800C43B2A5E2B7BF6D86AAD4BA08DD462DB05967F71CD685898AFD577EC92C7F9C4E84BF2A6B2D992FE1AC020FFD641B593865B2842D8F9FDC052967CEBA6108766712ABFA7C06C3396DBECB - -A79C7F7DA21767B1A6186B9899B4102A6A5A5AD4AFC05EEAA28B87594B2ECC40F17334C81F9E1934FB88CAB7DEB6F0EB6BACAC11A271095806F38B46CFAC6F65B847F707E10BB73CF4B63DAC79B2F23B89B19C8AB758582296745AE2F4EABBFB749D7D6E21422D9593843C3BD53D87D086EA1D6B92A180F4D837CBC8F24EEB786056EC5759D4AAFDCF91F4F33DE717A0EADFCEA772C44913A06E94C08F4086A674A77830E38D87D341433BADECFF00AC00BF0B61BA66388E4F7634F6650DBC634995CF0082637D5B7A65946F14673A064AC1592C9F5D9E3B56D03EF1D29218E36F104F9770447FAE57C61775C0F5A85AE697F62B52F90BBFF60134DC4A759DBAFEA3087D671C4DE8F83A2D0D020411861A64820D0572041C4B866F503D511560C73B8948777DFA317EC5D653786E2553BA8832DCE38258430FD4FB9AF12B03CD700F0FFE1D2923E20E4DB7336CDB379593F02A0FF5B5E44BCB6701E7E0C77F6593A454C291D82129930E53345269FEF83AF5FCFC1965C418B37D3F22DF50368E25693C20EEEA92DE8076231C88785ACD4CB1DC80324F1559BFD89F80FD4A6FED15D0A41657BD79A1D590BF53C5ABFC049ABCC46C44DCCE7BF0C3211D2771773D27D576D37303979DF8E4539750E08839ACEBE3F7FEAFDE85FEEA83E9DD4EB5F1F8CE6AC984EFB37E0769E0F2E8A90D71D4392404019DB699CA44529ACE071370811B10A39BC1962A37FE35CA0A6CAD4E8838BFCB02608145DE7A99D1C74D1C2B26724FA00CDA4181F7AABEA0A68E9FB02B43B3BB301558E03CE67644BA40EF2604901176104A685E2635666C358FC2E822F4DA4E38D2E20013E58ABC519196B4DB4CCAEFB6748F696A211AE4016869863C91AF3B7905F7D363D7334BA216D2E830C3BF6D8D37A8C2F2CA4C3320B999B25601226D3839F61F3E22AFD1BBE6E9E1D7258281D137F7BEFF981D7536960F452C7FBA9A33DE5A9360E90E059EAD2C51FA75A10CF5C08F37FFDCE0E9D573C226FCDC95BD2A59D882BFE01DB524F15A8DFB4A785118CF99031E3E147569A1CB52AA1184D0BEA66CFABAAD92EC82A03EA1026EF6F5F8B1AFAF4554F8AE792C73CDD4043BAF39FB3684B33371B5A7BB22A7E27D4523E872A2699D277B18AE071D18E5DEA41CDFF4C60BD51C6E996F32995C298C5B4D9CC32E745220E6888CEB3812490AB461D3435CC6589750CA042E6006EAAD7109B65C53B03507B2E185CA982BC14BEE08D75A9E29F898E55B3A7A79B1038034E007F171B35136E3C2D34C0C2A63C3406949BAE670A7868D1B6328BC01DBFF5A54518DBF7E7084EA1BD43A7066749C128CBD64E53D1893EB80938C30B479DAE0E13F31B42DD5701EA12F21C924BEDD3378A1AF43EE872671207AFA104D26E4958BE5B5EA09A84F06C79DF68F2EF86184ED6EFB240BB43243D7C6DB39DA - -5BBC785F43AA347FC2727527D8370C3402F01DF45194169BCD871D37AAB874D5861272E8AC66AF3EF47CA3D041AF2B822A6CD3420C84C0CDCCD5785FEBDD9264FEB3D26B97C988FA817A4B8D47A8EF8C09F548B0B00A65815EE974E2391DF0F1DE9691ECDA429462708DB42900E72CFC34E1837BF5C2DE650D03BB5FD647EBD77705DC39A794C3241BAE01C5F69595C6978A50C76CCBC59DAB6750DE9215FCB5559B3F4AAD32D40326D225008D2909E9AF5D24D8AF066C10650AEBE1FA973F891C84E50541912A34E73A68C921660D4FF65EDE66FBECA0185F4B32F4387F90D40D79D9C97101EF8633F95E5BC98D4735DD6B7911C8DDE7F259BC6B04658686736EF450C8F831BE5760CFB97FD6A5718A3843A70F87827AD01E1802760D61C63335706B5C381EA2818172B846D43F1614B2F9BA230818B641F96973383948A06D3EEEFE1513F8E83CDBA2938DBAEC84746A1A6D638637BFC1EA8C7CDF94271D9608EB1C22FAF8B968B4ACF0B3CE2B645215F076496E8DF2F871CDA33DCFB851F8BA6541C8CDD4FC9D29CB319F7CFECBEF120440F33B3E701F75EAF5056C675EFDBE8BD3CBFFCB47900A0FEFC6AC676FEF2EFBD0E96BBF880AB2A3ED68594A0D949453D96955BFC0F199FB7AAEDE0835202C3106F46CD388AF13EBB4BF0E145BC1B1A98595C0EAF728436BE0B258F2EBF69C5DC9BF0B50ABC92FE0223B6E99A4F55104ABA5ADF09038DE136F7D983946C4C560D34322B5DD34A81AF86AA3B3E12080B6D4721C6281998843EA1FA3D1828374C84B4226FBABC01D6B770A60988EC633C73C186512933E3074D1D1C996F34905A9F1BED99C5918EA3A50E5DDF7477607EA7BA01C02533AD49DC1FF1126F062B62DB4CA8DFE1C41F3A3C84E24372BB38B26FEF86E3ADAA6FB9BE7AF439563089E70863556DEDBD2324754E0C8FEA3FD8A7E2EB6930A5F9B7084E3A015F98E0D61621C526A05E3810074A14D1C9CAE409C6B4227CFAC05F2FFA4D12B606271099EC73BB65099CE68D4B87238491BD57C3A7613E960DF319FE6D6293181368E422EA0EE2B09BC0885EA961FCC466F480DDD75FA46F887F4C5B06352A485EA7BC294A16BF31E33B13F904D90A8B0C0119ABCD46D00F69792A59963FC77E6497B32FE3D90457C6FFC860EF94231903843559109B7BB3219DEC824DD5077E08DDBDD42CE0035E8953B6AAD2616533B580B0CB783F048DB03EAF1695F171B1FF3AD8D1EADA58379DF739DC48C79F2D078AF24B736C6AC51B98D9396D5F7AD95690B767AE39970E516026FC635FAFD89ED383EF686AF136DA62C294E5FADB1F8327642DBC0D0C8EA60D9009C5E7E5C4892BA4D9AADDB91B818450947C3059738C4DE921502AF379935253931F5101D7F02FAD2D6E50C934557C0B4E4BC7EEFB950C2A4EC5774659B0F5CE8FB5E5BC1296D6391 - -4644AC98996B8ECE4BB82A39591E8EDB84C0025CE634C2EAEEB7D5A921B4A742FB476E8E88F6EF3A18B0050DE67DFF30A7EEDC5E0AFE9E629B3DC9F7B7CD918588B25C682139F837C4C317F3B3D9999E6038219CCD759CAA3477C92EA33DEE1BB74A6878B6BAAA0822D5AD5FBD40C7714454BEDD5FE625FD7B938128C4D2E1C95C817059733700A0DE9860E98A9690835475F3E5212984C5C9C8AB7279001077267800049A715173A6D9C478387FE7DF2C9BDCEC6C8F30475435FE7AA4EF4C5D5DC923F7568FC357AFB03ECE601FCEF5BCAA96E38B8CF2A84496C2A29070329D7A01BDF46366EFBBA7E5CB3506401CCA9965E7EBDABE9742EB8F1F9ED035912679A2CEC98DF2FB504A79F386FAB811732CC32EA3425070E41A8A732F479BB0CB4AF4862FC5CA2DF5C98AF1550E560BDE09703E258246E7C8A20292F8ACFA51308645D12E0CAD60A7F9A596512F732829EB9C68F611838C637267E85D2841DAFCB3A256D5E38C14DA000A81ED67A178CE345FC3D7C692F1347AE984C61BF36B059BE40D71E04F30C9594B6A9D779F0B34A968DAC936E20EA9E29A89135DE7100A853A61D8631F3B8DBDA6AA565915315DE67F2DECA5A8A119C83DBFD1631079C3FCEA79B7371E82027D12C330C807A41849594B101FF5D74DC5DA5B1B308C04D1D6435DE7D5F30793AF643AC6FE89FFFBE8354ADA021B805E1B6A3F2E77AFEB393F93A0B94335F02D15A585EDAAB72B4AC36C1E8BCD3823A4A1CDA4F38D278089BB91A5E83679F8025FA12CF9426D9876E5A8A09959247F031407E722DABDDEB29C7FD7C6AB080829C35E63A62F10DBDEF205504C30E113464E6F5C67952B8C557877A7ACA919BB834A5AB3F7556B0559481250A4BE3E097C56A24C4C3FEF96636181FCDE094DC2F3650C77DC453FA493876FE6B7B95A59077A7F30EB51C9A0F62C0ECA0B71E5B1C88DCFECBC07B34BA35FD77C377FCD90662DFE0A58135EA98FD4D00CA728655E4F80E66A3A1676A6B709A67B403F08E76C631161F90BD22001998F990AC103C8F4BB598D4C309FC519A8174CA637A1470D669206ED210EF56DE6325FF63B35B2738760DC258381B7C547B04FF995961DB9EDBD5BDB3CC71E35DC043DF97B610726B20B9C364597767CCB21C237B540A97AFBD5BF47AE0774872E6626A2AC430E3998CAFE0FA45AEFA6F5DA88E660C366A7B352E8E05699605135AD3DD4464F87F929B103DBFBA5F7B88E15C53AB1978314055FDFFB3ED0A0EB4F71E22EAF9ACE64EC44F8F24D9BE4FB751ECBCA034AF0A3D6BB3DB295A937C1F817C54B8FDFE819CC27D7262DA516D65FBF7F4915F3B70F606FACE8177E913052F810561F5D4967103FC2D1E38505A8B6F9E434E56EC3C7C9F3AFC65E68AC7338561C48B256CF202A166FFAD179306E5E869DC7E9C75F9C0D708D3136BF4587 - -D5B59A3D3045D1A109FBA79ACC432BED9A7560DF329B823F6B2BC3D198B8918D820BDC9B9A810D542157857EA47F8A6950EDE29E4FF1B99DB18947E430ED67EE803E6BFF1A348C6FD8CC1F8D1E4D04C46193E69A431A04AEBA12A304FA023EB414D90BB89ADC2F250950D64C13BA3C743EB1373EEBCDC6A9DAE82F6E498E0925342016D1AB0AD745B4FAB13F94A88AA99F1A071CF868A850F07673FAF4F1E25656AA657F45AF0E5207AB284F3299E0FB6457364A8272B5A9A6C957AA307CBFCDA10D76C9BA431112375E85A64D2DABDE2F7D6C55A8F6951FE96A90616CA1ADB6A92AE0C06DF859A2D36E10B0AC1E1AE0ED6AD36D62EF5035AE70A2B7A8BC01DC2F9C69121B75668ED0DC88AFF1903F87D716F8071E8478D571629AB56A9DFA665B5678300A391690479056015C9C3789B9638487FFD727B3EB65A5368813177EC66C57516400ABA59C7C44A5C7491A8BACFD278B5457A2126612D8A209AC58E4B134EAFEE9BC7A39DC56275B7FC0A65AB6D4FE9967F7740BC780872C95C67EEB11219E5B9E87016FFC0D7779E105609B54665C5CFE10F2836712F9ED01F05B88954048D5E059F4C83E20B4B586B84980699127212E63255DCA7487E81B6A790E7A2E6BDBDE45B36226E7BCB3D522CB5EC965D12D18739D32C8A4C70B3B4636EAD9355741CFFFA243DA7B0D8A325EF73DAFB2D48C9295AF8C9334C7048029B271911CC82D59D4EB718D6D42DB9BED6CBEB002CF0896B03B426AA7B8CA5AD9EF73658AD00F94ED43BC403E1DBB3C14304EB97748A79D65F693AC369811CFE71AA736113E9B63BF067A2CC553F5AD579AD10900F5B36A04D40FC6FFEF28AF5918669087B764C16BD5235321B5E6E85B1FB78A977F82ADBD0EEDC812F2C91F955043191EAA02AC07ADD1565E6E220DAB5D0EB5ACF60C4F2BF5586CA18DC2102458C23A6D3BC4BC456F85699C0B9E8A449D431E6D140FF46639BDEF988C8BD090F1DB2DFA88A4D32AF0B7FECDD8659895C94F793CAE4808D1C110B9FE3A6F443B073D8B8DAEFE75B061D4A4E3D26EE8A44A58018BB4AA04F9611CAA6482223F2EF0F6D83E3F23A7624C9557BA709A4AEFD6AB6936F777F1EA4F82E4885B203BEC84BA41041EA2B9B952E282891ABF508F895906DDF99C293E1185B36B9D0B1096B17B31B4EC39D94585DFA52D8C13056AFA8673C9FD54E3D94473F3C0C775B99CD2F7D1FAF9E507FA71B3905C9A68BCE800D1303731C78C7E44555E647A0029EB345DFDCE1C2BE06A8814BDB433D08DE8ABAD57DB02F392D71882677CA5F2812F7B279D3116E6A8AEF1BEA37DD22E8D2F745D510AC2C9B860B7281CC94300BD73BC91134C15030C43A47C8A0F6A982A495516C280C16B90C58F6346AB4A527508C359C3ABF402D95E079C42D0880408149AE3EE59DE3AE32F99305E8E0F8CBBC13361 - -D800053EB8621991B40B8AF7C2C12A4AC2CBAE56F832A95EBACF1D2CAF827A13A6B74A8B9AEBD0C862386A8A47B17EE3F796236F5D15191C30B1F05FD6D0563D5E69A17001190BA0368830D29169F7C2C8C7430715342FE834331073A0229695339A3559503E59933F9D4B145C84C27937D55905E722A349A844D27BE7A82AD287363330DEE46A70002836B3D046560568F9969172587E2FFB4F5FEBFBDBAF21E6F798F654ED2EF4426F93437CA31AD3758BD695FA96123F4381909A08F2C77E25BF5E71607D8674B564CA7776256AC27C1109D900BE60760F3F93F12882CB17EEA5630A68FACDC8351A798FCD0ECBDE1356E29F9E7F54E775C2510349FAB919E5D0E61294AAA094B0E9416C7C05EC5B28917C8BCB057884BFF157F65E23CFA325921AA4E203C83DC3F017EEAE71CDDD04D6FDAEB333361DAD03B0F85C65D87A3BB0C470108672153CA5B1BA15E4935EAF5D33A12A8CC15E7F7C5CF0C0CF685B92E6A0CFE796830C4C440533964AA50282ACD566C688F7AEC31AF38965EC1B903419C5F301E387BB623FBCDFFF17ACCD8B8F86975CA25BC48C389CE6E4183AACA64F867771184E3527AC5447C38F17B896814B19DEB9CA1C2FCF4D2DF2099FDDFD28A6F26FB10B66088D54EC44FEF8E63BC5B1B928284E0F8B28A95F1855BF8A91D80213696FFEEFBD66946EF13BCE2AB250AA7DB3139EAF15D00A6BB674B5E506C0D86B1251BE5397A3BD9D580F33818B0A8956426879F2EE99482BAF50C74CC76C5E2BE108E0D5BB51C43955643DAAF536EF2B61CEDA91D6FA90B796B7187A70DA80BE5DF27F6BF7B8BD18268A87EDAB2A8968423AB1B0F30AB0FADEB26DE245798A78B8EE16A8832DB0072F71C19D84721AD37A16930ED051301ACC0E739A60CF0C935F3BE5E2A2EFC2DB339877B1943C2EC5AC1877DCCD4E152E62DB1D556A890732CCE7FE1966A1D9EE17A934B663DE869DE4A4C3E6A5684EAA2ABE18169ABB2A2C7DB195354B568777116118F1A2B3AC4B931C750C36F63B426D747EEF89D6E22A06009B79F42C1E399801CB8E6DC2C1569D251F9631BF11D6C54235E3BB4A43E59F3D587D517CEC6F21193AFE0CF0BFFF38998D842BD9D3390D836B35F6A5D9C3D687FD57CC87D842EF2E4087C5DC22E7E5F6900592933A6F18270394152A5E1B5A76DCEC2C1C5E6FE84882049ADE6E7AFE1A02C08FA7D8342D37B0FCB712AC1F5772B4BC22D39D93161F8EB98A79109C7F21C0733BD99E4AE5850B7B8D884875F00781E44B0D2852E9F0915CE17792D29656685FF1A717DAF6B803B3F205B8C68EB2BAFE014B0A4E2F6D2E9E68B6F0847B48307E9F5997AA37EBF081995B310D4E72B09387A7C4BC4C35B811E53F9A270719E8DC6A0CD9A1DE36EE498B443D22C8449383660681A02A8FEAB95F6647BDBBD09FA2029A2B8560B2E406 - -AC9EF34A258A7BBE95 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/LKGBFR+Courier cguidfix -/F4.1/LKGBFR+Courier renmfont -%RBIBeginFontSubset: NHXQEO+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /NHXQEO+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /nobreakspace put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92725788540EA741B17F7A4B26645F1AC6C6DD680CE8F1F60AEE27914E830D02D10E72F735C6FFE3A6B6B64515362B34A7059F5813C794FAE6FE0B8DAAC01F7E4B706CE9E65EFDC945608364C1AC96802ADC987CAE4A078EB7179E0847A5EC6F6D9DEDE6149449BD050AE4B3FBCDEEE2B596CF18394C3FA7186293B6FEB52613CC2708B79F90D70C00A7321421C267E0142188EC3142123B87B4707D25D2C9861B61F0A49FC82E2A9023497348177A67C2C2A2BC209A93BA3552608A61C66A5FC069894F891AD31B17422FF30B97F9DEEC209C92F4C2F272298D8F46386D89B71D5D0735CCE5 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/NHXQEO+Courier cguidfix -/F5.1/NHXQEO+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%"%&'\(\)#*%+,%#"-./0%1#.2'.#.2%#3%4.#\(%'&"/"$#&-5.%#6-%,%\(-7%&4#4.'&./"$#.-#54%#8"489:;#/4#'4#6-\(\(-*4<)[ 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 11.398002 11.398002 29.643002 22.837000 7.831001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 20.500002 11.398002 ] xS -48 312 m -(=##>\('?#'&-5"1#*/.2#.2%#1'.'#-"#@'@'A4'"$%&A'0A5@#*/.2#B54.#'#9?CD;#0\(/%".A)[ 15.990001 11.398002 11.398002 27.347002 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 20.500002 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 ] xS -48 362 m -(=##C.'&.#54/"$#.2%#-3B%0.#\('?%&#E>!#F>%&\(#3'4%1G#'$'/"4.#@'@'A4'"$%&A'0A5@#F?-5#*/\(\(#"%%1#.-#1-*"\(-'1#8"489:;#'"1)[ 15.990001 11.398002 11.398002 27.347002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 20.500002 22.837000 13.694001 11.398002 27.347002 27.347002 11.398002 11.398002 13.694001 27.347002 22.837000 13.694001 9.143001 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 13.694001 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 412 m -(3/->%&\(#4-6.*'&%GA)[ 22.837000 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 22.837000 13.694001 11.398002 ] xS -48 462 m -(=##!"4.'\(\(#.2%#1'.'3'4%#\(-0'\(\(?A##H-5#I'?#'4#*%\(\(#/"4.'\(\(#.2%#*%3#4/.%#\(-0'\(\(?#*2/\(%#?-5#'&%#'3-5.#/.\)#'4#/.#/4#7&%..?#%'4?#.-#$%.)[ 15.990001 11.398002 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 9.143001 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 20.500002 9.143001 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 29.643002 22.837000 9.143001 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 ] xS -48 514 m -(57#'"1#&5""/"$)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 ] xS -/F2.1[ 47 0 0 -47 0 0]sf -321.56699 514 m -(!)s -/F1.1[ 41 0 0 -41 0 0]sf -48 618 m -(J6#0-5&4%\)#?-5#I/$2.#*'".#.-#B5I7#4.&'/$2.#.-#/"4.'\(\(/"$#.2%#8"489:;#*%3#4/.%\)#-&#.2%#1%\(,%#/".-#.2%#>%&\(#E>!A#K'@%#?-5&)[ 31.898003 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 34.194004 9.143001 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 34.194004 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 20.500002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 27.347002 27.347002 11.398002 11.398002 11.398002 25.051003 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 ] xS -48 668 m -(7/0@A)[ 22.837000 9.143001 20.500002 20.500002 11.398002 ] xS -48 768 m -(E\(.%&"'./,%\(?\)#?-5#"%%1#"-#\(-"$%%%\(#0-I7%\(\(%1#.-#54%#>%&\(#.-#*-&@#1/&%0.\(?#*/.2#)[ 27.347002 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 11.398002 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 ] xS -1508 768 m -(8"489:;#1'.'3'4%4A##!6#?-5#*'".#.-)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 ] xS -48 818 m -(*-&@#/"#L','#?-5#42-5\(1#1%6/"/.%\(?#2',%#'#\(--@#'.#.2%#&'7/1\(?#$&-*/"$#L','#E>!#F***A%"4%I3\(A-&$MB','MGA##K2/4#/4#"-.#')[ 29.643002 22.837000 13.694001 20.500002 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 9.143001 20.500002 11.398002 22.837000 13.694001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 13.694001 29.643002 29.643002 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 11.398002 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 868 m -(453B%0.#0-,%&%1#/"#.2/4#1-05I%".\)#4-#/6#?-5#'&%#/".%&%4.%1#7\(%'4%#2',%#'#\(--@#'.#.2%#L','#47%0/6/0#1-05I%".'./-"A)[ 20.500002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -48 968 m -(N5&&%".\(?\)#'#&'.2%'&1#.2/"$#.-#1-#/4#.-#54%#.2%#8"489:;#4-6.*'&%#4?4.%I#.-#$%"%&'.%#6%'.5&%4#)[ 29.643002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 20.500002 20.500002 20.500002 11.398002 22.837000 34.194004 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 8.7148399 -41 0 0]sf -1799 968 m -(1%#"-,-)[ 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1944.9 968 m -(#F)[ 11.398002 13.694001 ] xS -/F1.1[ 41 0 8.7148399 -41 0 0]sf -1969.95 968 m -(/A%A)[ 9.143001 11.398002 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -2024.64 968 m -(#&5"#.2%)[ 11.398002 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 1018 m -($%"%#35/\(1/"$#7&-0%44G#6&-I#&'*#4%O5%"0%A##K2/4#/4#0'\(\(%1#.2%#P7/7%\(/"%PA##K-#/\(\(54.&'.%#.2/4\)#.2%&%#'&%#7&%4%".\(?#"5I%&-54)[ 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 13.694001 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 13.694001 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 14.555001 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 14.555001 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 9.143001 9.143001 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 13.694001 22.837000 22.837000 20.500002 ] xS -48 1068 m -(&%I-.%#8"489:;#*%3#4/.%4#35.#-"\(?#'#0-57\(%#-6#&%I-.%#7/7%\(/"%4A##Q%#%R7%0.#.2'.#1-05I%".'./-"#'"1#5"1%&4.'"1/"$#-6)[ 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 20.500002 9.143001 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -48 1118 m -(.2%#7/7%\(/"%#*/\(\(#/I7&-,%#'4#I-&%#'"1#I-&%#7%-7\(%#'..%I7.#.-#&5"#/.#&%I-.%\(?A##K2%#1-05I%".'./-"#-6#.2%#7/7%\(/"%#.2'.)[ 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 9.143001 34.194004 22.837000 13.694001 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -48 1168 m -(1-%4#%R/4.#/4#4.-&%1#/"#-5&#NSC#&%7-4/.-&?\)#*2/02#/4#%R.%&"'\(\(?#'00%44/3\(%A##>%&2'74#.2%#%'4/%4.#*'?#.-#-3.'/"#.2%4%)[ 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 20.500002 9.143001 20.500002 11.398002 11.398002 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 27.347002 27.347002 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 9.143001 11.398002 22.837000 13.694001 20.500002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -48 1218 m -(1-05I%".4#/"#.2&-5$2#-5&#*%3TNSC#F2..7<MM0,4*%3A4'"$%&A'0A5@M0$/T3/"M0,4*%3A0$/M%"4%I3\(T1-0MGA##H-5#'&%#5"\(/@%\(?#.-)[ 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 22.837000 22.837000 13.694001 29.643002 27.347002 27.347002 11.398002 13.694001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 20.500002 20.500002 20.500002 29.643002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 9.143001 13.694001 22.837000 9.143001 22.837000 11.398002 20.500002 20.500002 20.500002 29.643002 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 22.837000 22.837000 20.500002 11.398002 13.694001 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 ] xS -48 1268 m -($%.#.2%#7/7%\(/"%#*-&@/"$#UVVW#7&-7%&\(?#*/.2-5.#'#3/.#-6#2%\(7\)#4-#/6#?-5#'&%#2%'1/"$#/"#.2/4#1/&%0./-"#\(%.#54#@"-*#'"1#4'?)[ 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 36.490002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 13.694001 9.143001 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 ] xS -48 1318 m -(2%\(\(-A)[ 22.837000 22.837000 9.143001 9.143001 22.837000 11.398002 ] xS -48 1423 m -(X-&#-.2%"489:;#1-05I%".'./-"\)#2',%#'#3&-*4%#.2&-5$2#.2%#8"489:;#*%3#4/.%#F)[ 25.051003 22.837000 13.694001 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 20.500002 9.143001 11.398002 22.837000 11.398002 13.694001 ] xS -0 0 1 sc -1577.1899 1423 m -(***A%"4%I3\(A-&$)[ 29.643002 29.643002 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 ] xS -0 0 0 sc -1903.03 1423 m -(G#'"1#6-\(\(-*#.2%)[ 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 ] xS -0 0 1 sc -CM -406.47998 468.76001 m -484.72 468.76001 l -484.72 468.28 l -406.47998 468.28 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -48 1473 m -(PY-05I%".'./-"P#\(/"@A##K2/4#42-5\(1#\(%'1#?-5#.-#'#"5I3%&#-6#54%65\(#P3/$P#1-05I%".4\)#/"0\(51/"$#.2%#-"%#?-5#'&%#7&%4%".\(?)[ 14.555001 29.643002 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 14.555001 11.398002 9.143001 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 14.555001 22.837000 9.143001 22.837000 14.555001 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 20.500002 ] xS -48 1523 m -(&%'1/"$#'"1#.2%#*%3T4/.%#/"4.'\(\('./-"#/"4.&50./-"4A)[ 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 13.694001 20.500002 9.143001 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 ] xS -48 1623 m -(X-&#I-&%#1%.'/\(%1#1-05I%".4#0\(/0@#-"#.2%#PQ/@/P#\(/"@#6&-I#.2%#PY-05I%".'./-"P#7'$%A###C-I%#-6#.2%#1-05I%".4#','/\('3\(%)[ 25.051003 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 20.500002 9.143001 9.143001 20.500002 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 14.555001 38.704006 9.143001 20.500002 9.143001 14.555001 11.398002 9.143001 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 14.555001 29.643002 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 14.555001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 27.347002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 9.143001 22.837000 ] xS -48 1673 m -(/"#.2%#Q/@/#'&%#57#.-#1'.%\)#4-I%#FI-4.G#'&%#"-.#T#0'5./-"A##J"0%#?-5#'&%#/"#.2%#Q/@/#7'$%4#?-5#0'"#54%#.2%#+4%'&02+#35..-")[ 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 38.704006 9.143001 20.500002 9.143001 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 13.694001 34.194004 22.837000 20.500002 11.398002 13.694001 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 38.704006 9.143001 20.500002 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 7.831001 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 7.831001 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 1723 m -(.-#6/"1#*2'.#?-5#'&%#\(--@/"$#6-&A##H-5#0'"#'\(4-#3&-*4%#.2%#'&02/,%4#-6#.2%#%"4%I3\(T1%,#I'/\(/"$#\(/4.#6-/40544/-"4#*2/02)[ 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 22.837000 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 22.837000 22.837000 20.500002 11.398002 34.194004 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 9.143001 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 ] xS -48 1773 m -(I'?#2',%#'\(&%'1?#'"4*%&%1#4-I%#-6#?-5&#O5%4./-"4A##!6#'6.%-/"$#.2/4#?-5#4./\(\(#0'"+.#6/"1#*2'.#?-5#"%%1\)#7\(%'4%#6%%\(#6&%%)[ 34.194004 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 29.643002 22.837000 13.694001 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 9.143001 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 7.831001 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 11.398002 11.398002 13.694001 22.837000 22.837000 ] xS -48 1824 m -(.-#7-4.#'#O5%4./-"#-"#.2%#%"4%I3\(T1%,Z%3/A'0A5@#I'/\(/"$#\(/4.A##Q%#&%47-"1#O5/0@\(?#'"1#'&%#"/0%#7%-7\(%#.2'.#1-"+.#3/.%\))[ 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 22.837000 22.837000 20.500002 41.656006 22.837000 22.837000 9.143001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 34.194004 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 9.143001 11.398002 22.837000 11.398002 ] xS -48 1874 m -(%,%"#/6#?-5#2',%"+.#3-.2%&%1#.-#&%'1#.2%#1-05I%".'./-"#F*2%&%#/.#%R/4.4GA)[ 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 13.694001 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 20.500002 9.143001 20.500002 11.398002 20.500002 13.694001 11.398002 ] xS -48 1974 m -(X/"'\(\(?\)#/6#?-5#6/"1#4-I%.2/"$#/"#.2/4#1-05I%".#.2'.#/4#"-.#0\(%'&#-&#/4#/"0-&&%0.\)#*%#*/\(\(#3%#I-4.#$&'.%65\(#/6#?-5#\(%.#54#@"-*)[ 25.051003 9.143001 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 9.143001 22.837000 22.837000 13.694001 11.398002 22.837000 13.694001 11.398002 9.143001 20.500002 11.398002 9.143001 22.837000 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 29.643002 ] xS -48 2024 m -(-"#.2%#8"489:;#1%,%\(-7%&4#I'/\(/"$#\(/4.#F)[ 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 34.194004 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 ] xS -0 0 1 sc -795.46899 2024 m -(%"4%I3\(T1%,Z%3/A'0A5@)[ 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 22.837000 22.837000 20.500002 41.656006 22.837000 22.837000 9.143001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 ] xS -0 0 0 sc -1235 2024 m -(GA##!6#?-5#'&%#42?\)#?-5#0'"#'\(4-#%I'/\(#I%#1/&%0.\(?)[ 13.694001 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 34.194004 22.837000 9.143001 9.143001 11.398002 34.194004 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 ] xS -0 0 1 sc -CM -218.8 324.52002 m -324.39999 324.52002 l -324.39999 324.04001 l -218.8 324.04001 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -48 2074 m -(F)s -0 0 1 sc -61.653301 2074 m -(1.'Z4'"$%&A'0A5@)[ 22.837000 11.398002 22.837000 41.656006 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 ] xS -0 0 0 sc -395.01901 2074 m -(G\)#!#1-"+.#3/.%#%/.2%&A)[ 13.694001 11.398002 11.398002 11.398002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 9.143001 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 22.837000 13.694001 11.398002 ] xS -0 0 1 sc -CM -42.880001 312.52002 m -122.8 312.52002 l -122.8 312.04001 l -42.880001 312.04001 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -/F3.1[ 41 0 0 -41 0 0]sf -48 2223 m -(!"#$%"&'\(\("\)\)&%$&*+\)*,-.&/01&,234.5)[ 29.643002 22.837000 36.490002 25.051003 13.694001 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 25.051003 11.398002 27.347002 25.051003 22.837000 27.347002 34.194004 29.643002 25.051003 11.398002 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 27.347002 31.898003 25.051003 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2336 m -(8"489:;#7&-,/1%4#'"#/".%&"%.#'00%44/3\(%#2-4.#F@'@'A4'"$%&A'0A5@G#*/.2#.2%#\('.%4.#1'.'3'4%4A#K2/4#I%'"4#?-5#0'"#1-#')[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 13.694001 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 ] xS -48 2386 m -(\(-.#-6#*-&@#6&-I#'"#/".%&"%.#0-""%0.%1#2-4.#4-\(%\(?#3?#54/"$#P0\(/%".P#4-6.*'&%A)[ 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 9.143001 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 14.555001 20.500002 9.143001 9.143001 22.837000 22.837000 11.398002 14.555001 11.398002 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 ] xS -48 2486 m -(H-5#7&-3'3\(?#2',%#'#9?CD;#0\(/%".#/"4.'\(\(%1#/6#?-5#'&%#&5""/"$#'#4.'"1'&1#)[ 27.347002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 20.500002 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 ] xS -1385 2486 m -(\(/"5R#1/4.&/35./-"A##K&?<)[ 9.143001 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 13.694001 20.500002 11.398002 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -48 2587 m -(!"#$%&'\(&\)*+*"!+\(#&',&-\)-\).#\)*/01.\)2.\(-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2688 m -(!6#9?CD;#/4#"-.#/"4.'\(\(%1\)#$-#.-#)[ 11.398002 11.398002 11.398002 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 ] xS -0 0 1 sc -615.43402 2688 m -(***AI?4O\(A0-I)[ 29.643002 29.643002 29.643002 11.398002 34.194004 20.500002 20.500002 22.837000 9.143001 11.398002 20.500002 22.837000 34.194004 ] xS -0 0 0 sc -911 2688 m -(#.-#1-*"\(-'1#.2%#0\(/%".A)[ 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 ] xS -0 0 1 sc -CM -175.59999 165.16003 m -246.64 165.16003 l -246.64 164.67999 l -175.59999 164.67999 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -48 2788 m -(!"4/1%#.2%#9?CD;#7&-I7.#?-5#$%"%&'\(\(?#*'".#.-#4.'&.#*/.2#.2%#1'.'3'4%#P2-I-[4'7/%"4[0-&%[U\\[]]P#F'.#./I%#-6#*&/./"$)[ 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 22.837000 13.694001 22.837000 34.194004 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 9.143001 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 14.555001 22.837000 22.837000 34.194004 22.837000 22.837000 20.500002 22.837000 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 14.555001 11.398002 13.694001 22.837000 11.398002 11.398002 11.398002 9.143001 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 13.694001 9.143001 11.398002 9.143001 22.837000 22.837000 ] xS -48 2838 m -(.2/4#*'4#.2%#I-4.#&%0%".#35/\(1G#'"1#.2%#1'.'3'4%#P%"4%I3\([I'&.[U\\[UPA##K2%&%#'&%#'\(4-#1'.'3'4%4#6-&#-.2%/%0/%4#T)[ 11.398002 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 14.555001 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 34.194004 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 14.555001 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 22.837000 20.500002 11.398002 13.694001 ] xS -48 2888 m -(?-5#42-5\(1#3%#'3\(%#.-#54%#.2%4%#/"#.2%#4'I%#*'?#'4#1%40&/3%1#2%&%#6-I'"A)[ 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 ] xS -48 2992 m -(K&?#.2%#)[ 25.051003 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -186.976 2992 m -(3#,+4&5\)6\)7\)#0#3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -580.64001 2992 m -(#CD;#0-II'"1#.-#4%%#'\(\(#.2%#1'.'3'4%4#.2'.#'&%#','/\('3\(%\)#6-\(\(-*%1#3?#'#P)[ 11.398002 27.347002 31.898003 22.837000 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 14.555001 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -1921.65 2992 m -(\(#0)[ 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1996 2992 m -(P#0-II'"1)[ 14.555001 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 22.837000 ] xS -48 3043 m -(4/I/\('&#.-#)[ 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -223.411 3043 m -(3\(#0)[ 24.641003 24.641003 24.641003 24.641003 ] xS -/F5.1[ 41 0 0 -41 0 0]sf -321.97501 3043 m -(!)s -/F4.1[ 41 0 0 -41 0 0]sf -346.616 3043 m -(,+!+8#\)9:0*#82+108;<8==3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -936.92798 3043 m -(#.-#02--4%#.2%#05&&%".MI-4.#&%0%".#1'.'3'4%A##J.2%'.'3'4%4#'&%)[ 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 31.898003 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 ] xS -ep -end - -%%Page: 3 3 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: RRHVFV+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /RRHVFV+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /n put - -dup 34 /a put - -dup 35 /m put - -dup 36 /e put - -dup 37 /d put - -dup 38 /space put - -dup 39 /l put - -dup 40 /i put - -dup 41 /k put - -dup 42 /hyphen put - -dup 43 /t put - -dup 44 /h put - -dup 45 /g put - -dup 46 /s put - -dup 47 /c put - -dup 48 /f put - -dup 49 /o put - -dup 50 /w put - -dup 51 /v put - -dup 52 /p put - -dup 53 /comma put - -dup 54 /u put - -dup 55 /r put - -dup 56 /b put - -dup 57 /y put - -dup 58 /period put - -dup 59 /H put - -dup 60 /S put - -dup 61 /quotedbl put - -dup 62 /parenleft put - -dup 63 /underscore put - -dup 64 /one put - -dup 65 /six put - -dup 66 /three put - -dup 67 /parenright put - -dup 68 /q put - -dup 69 /colon put - -dup 70 /C put - -dup 71 /R put - -dup 72 /D put - -dup 73 /B put - -dup 74 /J put - -dup 75 /slash put - -dup 76 /E put - -dup 77 /M put - -dup 78 /L put - -dup 79 /G put - -dup 80 /five put - -dup 81 /T put - -dup 82 /j put - -dup 83 /F put - -dup 84 /x put - -dup 85 /quotesingle put - -dup 86 /X put - -dup 87 /two put - -dup 88 /zero put - -dup 89 /N put - -dup 90 /A put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9584A64247A9116EDE68329804A007D73A567EFC22BE6780351EA5ABCF75ACBFCF441DC75E1471DDD14B51690E0FB44708BF0EF9FC94F3FC174E5622F19764D2E43BD9D0CDD9E0B27346B4E7B84B2FCF79BA0C1E2D83EF0C56297C74C82B5ACB3F381D5F6AAF054BD1EA1A334ECC2470CE91EFDED8107A75E75E2C3A13DDEDB66C2E07481FE1E4A832318AF49A3D0C6FFC6D3B50B5D34AFBC873952088FE4D7D4419FC081F7D0F9D8245E054D92B9AFFC089B48D7D6724057FAA3B5A192092CA751701258BFE066508A0CE2AD25627B067F84CB8FD9715DF42DF78770967B559FF8CD06CA4F6C946DEA17BCACA7DD0271EA159F5C34A409421E532C608100B3FE58D1FE826DB7E32B742CAB6FFD0AC25656E1FB7CCCF3A3F8BA37F56F0C5D993DC210FADE6D1ABFCBA9447A0C011A8241003D9413DCAB39D6ABEBF7263563EF88F206F78C00585DEB3DBDAFACFA3B852571BC7E40393D3557BFAB98DFF0A8E360ABC2A4EA87A4E2AB79484ED7EDB15A065DFDDF67175D07A7C465171532CC9CCAF37CC9E5489A2B4934AA111DC01127F40751F68AB2CF34A4B761FAFE6F517AB77AD183B1D8545F3ECB01DB68CC70EB1007CF08DDE8C0A8444A654C75670740E835C0F226D42A1B2EC19B351A1E4043F82E27D39EE0D5AB1CD57A0AEF45ACC1C52735C40AC2DBCE48DCC4EECE7A0F92251010738FA06676B3D45ABC9A5818B751413DA760F6463C45A170BCB06E1E83A65E4A557EDD4820E152D0C61B686992FFB - -132FC45DD280EB0796C0926791B0B8EBE9EE362431607D5D86EBF1F34513D99E753E11D8B99BA4B5A8FDA78C604A9CE1302FEBDE55D2A1728CE46EE655F9DA435D7B7C4B01D8807F63DA88C03A5789C3060CE84DBEDE9B9EA76734AEAC305C70A6A9B5CAB2849F876CFA5F04C18E8BFFD6F973184FAED4D614DF5D0B5969E60CD6F05AAA7CABC3D9A7D002318EEE1C1DD196DE017CDD3AFB43657018BB1A1281B4466EA69D635B0BBB4964E73A197440FC9CAF0C6C3C5B9AE5AFF0F2C5989A1EB914A114FCE1CDF81B2CA82DCBEB96D553405C1D1546BF7A4614F6A9666C4BFEFCC9DEE1B033365D4793E24893BD1ADBF8D7C39A29903D0859255DB9A4B877C252A47A82376C070254E5350CA68D8C301C27D286F9EC6F2A99A932D663B37BEF95B3B1B7301E132608EE0AC1804F82913CE7BE3F297BECF655328D37534323828BF4AAFC9C55DAD72FBBF26F57455DB0891E9F5EEB376B18839DC8E60A2B9CFAD87CFA832EB4E8738904E364889FC55FEF1EF5B30AB9FFDA148EF719D717BDD1066A15DC012E3525D9F1E5F76B46AE914E2AD85F1B7BB8F028D7E0FABBCA45C901ACB37917F9E06E94323BBA6A0CD6BDD40AFE529E3CD1ABE096B1BB35BA661A5A018A2E29F11D2BA8308FCD50CF0DEEC0D53A36A95F316B8D93EE0A77B4E0BBD0843B179D8FE6F043BD7D33AD82A5E731C1E06F5D9056EDBCC7D0CA5DEC284B8031187DDC24519D9D0B136A274B99D95452BB0A2E1CA4550D3B0119864D3EFAC616B57205EF4A23F1F4A978F516B7FF0FF15765B6579857AE26F9232EB95742DFD103F32E3C6874F7FC49F708CDF66BF4125B8593E8286CFA3EB98FCBE1E05EB9EFD1AAA506B9DE2597AD26A3F94034FC40F9288372C56F38B320415CEE20582F9322D67AC53715B82DF3EF80674810BCC05237EE9FC89632BBE9CFDB42A7EB93687802E6D977BB97768EEEECEA6D9DCF06685C6A0EE17DCDE6B49C9FDEB19F4C09431D4CA853097557D92934997D2CFC05AC2C020250C8BFE37F395EA8FB04C9D23EF7180666DD136EB123A71A5248A744D926707911FF7D1B5D0B9126B995D345F268FA910CA134B51949866E0CBB5FC6D93D1007BE25F0214E648F7D7F3A44100C03B1CE9DE5818B97F5E41D5DE64192A8FB6A1D9689B4A288BF7B78A400E7F223DE11BD20DBB790B060CB17A86AD03DE415B7F2F2EA1A211B0E8E4FDE7FB9DB85F016B1FEC3362ECDAB2D43CB539AA90B27DFDE7537AA3936070178BB65B45F7EB1324201D9B4C2011D4D60F087A00F69083AF29D3D4A926B0EE3275A6BD8DFD32B369663327D2A42D1AA4B3854CE6CC4F57DE052D81ADA32B88FF213A11D33FF311E84B84BBF37E8692F7B7213813A9CEA7A4CFD44EBAE8FA085F892C50225D42CC3060C0968E684609A292FAC3E35BFB14E2F61355EDE6861214F06DD - -61A94F524EFB528B8B39D4532092DCB5C3C68B4E26C1A5331B50AF7F03375CCEFD665D2FD96D0054DD57AFF62FC87B4BD0FE3C7B9F20FD59E2BB99F887304D0651CB236023A8BB58945B9FC03DCBD0173FADC1CFD54A14D088FC50FB32A039336B0C7FE5D0724703B71344969BD08A8BF499A87B532857005D8CF87558D2117235A4F9CBFBCD5FB7EACC816C525E218995CE9E24333FD58445687A8D586A936B349E814F35A2E06D20420DF88C23EFD1C7E7D6535E34CD14314EF84414B70B966FA2B578401A69E69CE5AF072DBB60FE57A0AF192BF03315BBA03D5E2BC884D595C2006E4A6D58E6FA81104512D1DD60AB7A091D505FEBA91C451700ADD6B6F2FC98DD2B9ACFAB0B7E600F8C22A83974D28624A7504DE99F654E9B62091ADDEA353C32F90092DE27AE3D2D88D5F840F72F594243EB033DFB8A88F47FB4DDD8CA79EE048EDA80B0C8C47E5947F8E000A86AD09632271555233249A8EC350E0BB3F39E2261DE3C537D2B2726B152D86E0946E4DC1AF56C5BF4981BB89FA7F9D46EFBB1C471D86F63494FDA11B4790B30257CBE0104FA0ED2F1B30F6A4D535B90F5B9A0FA09DACE1BC5F7B7B0CE187394651F4743D477FB73B22F90DC3A2CB3A27DBFE31095BFBC76D1E36923ACC946B799C991BEA4EC0D21BC9CE071DDCDAE766783EC88A85676A09A637C161EEBF1C9F420F84F5B5E5A901EC8A3C0AD6A343659EFEF8F311AD7EDB53CA0224CB6F2B481000225E243FCC930DA7B1F482583E89D217C5DB341E69A228F7A13312A643C0A87B921D62A784AEF2AC23611FF7B0788C25B60C0631C471E16D1F7C9855671886055C120DAF96AE6D836C7115670B835B57ED57F9CD8BDAA92C99EFEB31DD3706CBD6FF0B121C4E285DF780C8E2BFB81E6A226D1010824F7B5664338F993887AD6B9D8DAE071792DC72073846ED5F45468B18ADDBFBE2B51178D08814EDC6D7610DE58E53185AA143CA038468B06345A258C6E4A8706E38CE80F23BE10A7A962A7D00DE0AFE9244A67A3364C3E77E3474793B5E9938E323AB8E05F66328A1577567DFFD69A55494EFA8616E5D312C8763B233BBBB31B50A7D05C899B2440D9D2DD63ED0A0A850D8FB32F58A786AB88FA34C944C774DE0610146DFE80E1A787532CD70465CCDB19397CCC9F46671C652C17E66E3A55A1ABFF2CFF718E49A7B9E1154D1D6FCC7DF5E078FD0B6E9048AE60E30443822FF9871ADCFA71B446B0A3EBFC9636C5BE6158AA267845011A512E8EF9B4633A72BC1E1ACA3C8CB4836632483F7BC58B58388B91187F3E187D87DA8846311DCB0EE3F5E95FA6115B0F63DA4D2E741A24E81B7FCD1AAE79672A367BE93B07AF61E901219C0C6C3239D9613E79F7404F680134D52359D1198C5E44D989A4C07D7CC82834AE63EC13E68904148CDFF8F41BEC0753F597F9EBFD5C64B046 - -C27C65967B9065BCCEEE8FC4818D253283D49F3FBEA614A6CDE78D14B8D2E027DA4052B740DFB6DAAE394C8D42C5C18AF7ACAE76AE5AA54C8C1C4FEFBBA17EADA6A5D10465482E4EF601FF533225ABEE5D3E27E6B4D492C09BDE445BB9E300D7CEFC0827651A95730D438C9AA8DC38983EAE3CE60F23C63E608F04F2926F188FFB3070B42217F6C2FAF80B3627C45ADFA1625835514F8C9836DB24964C5B281DAE55BE06F29770249642344ECB9E547181E2091CDECA0EB239D23F96F5882A7B6CE1DA7DA83163E9811E831A142AFDF9E5F31809A7BF23D5E41ECF2D2511B8D234BC8AC16C65551DBFC2EA995116EB3A52C6C1018209614DA403810BAAF0498839FD5F9D946633E2A10CE658CA2C6701ACFF667AE687E575F3C8FBA1C5734D873B3C34137BB8211AB6A3B9B137F35CAE928EED2F17E967758EF0ADC9591C1E5E47C1346DAA7B191F5D2CB584BE1AB8088922591AFC1D76905F4D91EAF1EDBBFC0178CC6B2798E05E1C6E52D80AC0099242DF00B228333B91DE8D8AE98E40768A2FFBDDCC2D8EC7352C11709DADF362241EF02C31CCC654EA8A3C488E80FF627B5C7D3F6A5415CC9A5B6AA5CB3E7DE0855601286B93E58011E60D1A0B58851E77D6A49EB87FB4CF5891F6C7ECCF9956F2EF2D5D78C24A989F17E0141DC84904975B75E6802F96317523E57894FB6BA7554B03FA75C0198BB507B8DE6844B4521DDC6A1BB8BC4529DB412B86BDC74BFA615726C0BDDF71F4818A818FF67802400BD37DE48972EC048F7CB8E0AE6D5465C87106D87E816889B4DFACD8CB5E2B7C1574940A1AC9ED11662D44A4A566DA70FBDEC3EF9EB75106966AB5809D44A02623C5D859D2EB0A8E6B3DB7CA9BD9B5CAD7F89B9A32FD95920643017EAA70AB8856BA2FC4B14FF8D9779AFFF357F9C875B18F426AD263B007F4CF794512AD934671949E34EC20020C9DF27BFFA23BFFCA355CEA31AB8BC630781F7F7A5EBAF267853C29CCA9B9C3C4920E04C8ADAAB85C4D191E530440CD33034EE3A93A782AD2762E4A97E92B330AF001ED62AF8CEE62FD8F7B45B0DE120B5C9F47A1277CF1E913428949C4E9C243003F4E11F278D05728684F9F844D80B565682EB408F924D14A81F802C09FA2F50CFAB3826AAC9CEF8A33AF07E7E48038D2D58219F7DB3B54349C2DA9680C89AB0C8766196596F710CCF5CD1B2780A55EAE93063929B9DB8470C76B6F2D877C11FB24370033B266E6A90525504A30955D7A997058BDF4DE0CF3FE778FA58F32136ADD27489C4F3EB8170E97F690EB69ACDAA5C03526AE5D6A55A9377974ED62A790CA713D90D1D93235A568867BFE2A80460DACEFAB8A50C78C43FC49CD68EFF9B5F7BA91ECBA0CE24B45D33588D916AA1CAF08C958B22B9658010E61E1CC5B1334600911810EA90013A643E27BF7AE02C8FED705E7B820E4F4 - -207B2F1A7AF257D183BF5320963EDD316E37F8C3C53D8D904BBB58F4E28FDBCB3E81A4D666C76B0C24315221F966B45688128423B136697FA1369EBF81349EDC81CA0659C141402C6FA336BC0B7FBB33340D4A49B2CC477FDF6DAD31C19638B638AE250DBA530338465AC8EDE7C8C1BF2647BB0950A7E7206161945D4C14D62274852D7FEFFFD871396CFA28B8E8B47B9AA38EDBC445D6D482F0DED26FA05BD43244EFE5260595B9F3A894443C6922215528C17BEF0B750DDB1B9D020EEAC9C50FDCDFF268382BCF0A0BBA4586C74DEB3C8EC50D3B96D8D484259D60B168E2A4BD2E57A501047112658D7384F1960C1840FE86D3826104F112CC19E1C4F357CDD284A6CDC7299FB7A2959901132BA1AEEF3F6CB24DB722E60CE25F7A4D2F88DB2B99D101414F8BE9C1F3D3A45F3CFC934F175BE67B9BF3B3EAB2366623D7D015621539CBE10776F43DF58EE196E773A6366A3B1EC1BA4F22421C75832EE307610912BAE41D0272487F7DB51EBC7AD9AC140089AFE8FF9240CEE560192A860AAAAB9BDD06B163B7090D02A8EE0BA901C5890F0D14B9C5C4FC8D89792DF0F5B3A5CEC305939EE743C70E198BD5801C9DE58BBDCFB2845657DC57AC34380CF82B1E50A0F2CE3780908D228466DB6A56112BF1AD0EBB614689A6BF1614B9D1A00183F32822626EE8F593221B26D0E3D9973E5EFFEF86726B505E56928163444D17EA0F981F95C9CB6809A621D12D41608957EB31FA68F0B0DCAD603D13DFD1796ABDEA58E37F5151A66053FCC1B91720F25B7812C25729CB3B872B5F5F534C084499D57813DFE4A219AAD5275667095391944A0330B4370699FAB5FADEECB093492FF92E8B6EAD3931C30F1C82EB29969581812A4DB70A0D5976639B7080147BABF7626905E4F8E9C45952585ED6372E5FFD0CA74CDB69FB8DCCBB0D12D3188493AE776B62E11D1D04A56E9BC44089F2565FAC0A6A7BBC7E250CB589795838EF0AFFF45DB9401D4CA6024479FFFAA8A76B8FB490288223FCD9075F2A583010537683E22BEDA8F613852615BF8E86CABB9ADDA01B1748C9E1216EC7EF3FC819391DB1DB2990868D86B4BDCE0633E5D178A82316D217D5C1487AD7B0DA5B570CC5F8F11D1FFCE70E6E104851E278A9DE304CAE289916A6F3772B7BCCB23E777826DC17ECCDAD18056AE676E526E88A618ED02BC9C26DD8B865B45A863A1A0DB8D1BC43D14BCFA57E5B4A8A0975FD500F3217A73785BF2CF900115ACAADEFF83EF3EB815CEE1551D45740815A6C7305CDB2F1709CAA5EF503D98CD4013EE2D99BD99EFD8E016B238362B63E55F1947211A5EFA649670DB5C49D547CB5EE7DF82BC69B971B8442EE4B2C09BFE8BAA755B0139872E44F29546AD94994884DAAF7C602208EE70B58ABA0C9876BD5CD75C8C349B91D1AF38C8D0D96EA206EC934EF0D08ED1E - -2F47FDA979362BA4C0EC332D537BD44669D44443099D44390623EA09FCD218D7734D658220D127766429134F4B126FA85FA3E5D2DFB053541B5AACD1CA6621DD8312B2A792815D84A8DD67321A3113A773EA74FD5048499475B1AFCD6D77B55A4895325A567DE73D112A2AAB3EBDF01828AAB13733FCB55AFC2061616750BF0871F3BDA9F22974C24D6940E048E0CB42B91091DC80224C3CCA268339EC243C86CEB5D70795888E268211CB8665B5D2CE284628FB03DA54E54EFFD7C48615431A61C590074037B7575708BC79754FAA6649E36829E554E17FBBE254B8F3014B932D1AEA27DC6C6966C5658EAABB7E803050898D443FF4837653B837BFA19C1CDB95580B75F4EE7314423DBBF50D54083349A02666B73D43D6E4A34BAEECD48306DB622A59CE5BDCC3F477CB21F3B433F3E37E26D4CC2CB98431E0BED5621AD921BBA223C68488CB31F7560B82B94D594B20BA9C8E885D0C1F4D0B360D7294B9E8A6C052724C7D2CB1B303379DFE0C03C662C79E1E2B73B4C9A2A30ECD92B5791FAA5EA698A43C1049978DF2E28D7147802482885AD490EA987912F6DF8456C7398A1E00890419427A4174E583F4180D5A80E31243785AB7067D6A5AE935B9CDFBD101A460821370BE7356B644EC4C6DF6E442C762529590245B89B42E7BF85AA0F4D9D90B2885C32443108213A6E5E4ABBA341BC04B348E11507CBA26BCF6C85C27F017B730FB5706FEB0D2D16FE9524A9C60CF6668D7E18B07B51636C5F398BE2D6517673DA018A2276E9748C9E75F5F1B534E265C4E10B14A8F04A68F050593C98EECE022598BBE10EFC0CA1717D17A451BC20F63F1A5A4CB07111F02F0EEB31F551CF0DCF81BBED3C32CE27E54E251C3609E6AF670DF58ABDF291F12E2CD2DEB1A6FA8E4DDF0D50E5EBFF5EFAC8DEFDDFBEDA8362FE9172DDE858174C225C148A12E8E6BB9310FB27BDD1D06F93D69480E5F152250E7D589F31E97B39E9CC34D59355608CF80975AF957C492A5E989B6F152E7A47DC52C0C1AA050824E0B434259801327832F4F56EE6D9C5892FF7D3D34BD8C3F7D7AD1FF15185B482BEF0B008F70B69FBBB11A3CF082149282593A4A1683F6F09BEA5F87D2F061D5CFFD44322770B674F90AF66DDBB03EB7B95934B7C8F2A525EFDE48D23563D48E50EFA014C458B5D775700C68CEA455190CA3C50EF4C1C4399D72C9D78D9FEE03515A90E2BCA2DE6DD004B2C2B19AA076B1674DF6C616C4DB265E8ADFDBE307B32685E6AB2D4A66F593BF0EB27CCE779B6D39C7065164CDEBDA12199FCAC198BE213FC082B0B702F70DD0AA5F58A5B5F6BCA12C4EBC85A8EB96C4082E9B759415FDDB29CA0E555EBDD84DF794D0E510A76FCFD6E010B8EBF2AC194D300DCDC449F84DCDE62AC85B1C1BCA2B2ED29736E1CC2D84DB97523DEB228DA530DCEF9F6BC9644E - -30A8719DC001B6442F35C708C6B9E96FCED650BC0EDFF073080BD84F7D95AB95BF3AB5963148BA38F609271593DE3E5C3FD5043D738A6AC093ED3AF361AE0AD1B08B65A04A0C2280278015413A1B30371FFAA9B8828195E39F8D51BA3F7AC4745BEC713D17702CCD6C595CE81813BB42787D782E71D0E47B8284D37548F758DFE77EA33D9987BF03C8D742D76DA0233EA28392E2CCE61E316F7057467FB9208EBE84B0EED78E757840E3EF0E5C47476F7CF01E83259F5ACB435750EEFD3EAD34BE3DB21132B661D7516CA8DCE3822E7FA97730F3A1826A5F03EE3B7243517522D8E3B78E50C6F8BA0ABA13B1DDBE0ED6C920D05A1EF297E280D73F7E5E817F8AC9B3B5E0789CDCE6D31AAFECBB87E44FB428D05945484CDB214A15E3E9201E001BD8A1221A3BFDEFE415534ABE6DC3B5E814857BEBE4E2BEC0BCFE05ADEA024F2028C055B91A6219AB15083E1160E0FB2900D00142DA622AAD96E5D4C31465FF1272B34995C2C1DBD4F0102945A46920DC11F233190BE4ADD940B649F4DE41354D6674025E04AB0C2B425944FABBF0B762F722674A40019736895BB366629F80D1A8364730625303370BAC643D3E7C940EF2F48B62B4C2EE85F9821CA579706F4B198BACABD481829FE143FF2E3AF5031E765D80FD6F608AACC4A0A05861423DE4BED92B637A271D92B36586CC2BEE6E0B3960C47505459D88A87F723C477B8D64EAD5F02327A5F276CE5C068AC3EF55850F0DCC55B7A4D20A5EC967AFA6004AD00E9664D213287E12F8729357308F6307DA35FC07B678771D9F636C24FFB5459D78351345C2FD66EF22A7054D83E77D7EDE606D2E4EB6CA01223E7CCC99F1E5462D2C68F670FD68E3432004EC5308DEEC21AEC52E6EF3488D491DF04EB5B25A203FB7CABDE668119F18390E2CC27AE5F715C234A56F630068ABC7BFAB0598022777B435E4E21AFA2B8CB9C2F28405FEA8ACBF69C8B09D6050DBD7CF6D8001D17D7688D47C497D0EE839608ED61760231C0BE91F1FC40099FEAAE91E5345962D854660670B2FEA6B2B050D8F50FB6A190F5BCBADB615F1001E1839248C070D0EED8D49C3A69C7D5D8DE5C1E871E14B280DC59B61BF5DCEF224812A9CE9343438CCE065194F2807121DCB3BEB8F5795354A75C91879B393639435F6EE3205A75701BB169E2CCEA04EC2DD33F46476B4CCBB2C3DA036087E10476ED9BDD92DB7F3BEAF92D1499E2765482B3B2934C7F93063A5A5B8050573E9F5435389AEC2EBE50A0D224038A451C410C1CA17B9D4D56A996B6267109DAD95F9C0929D8E46CA1B6AEC3F4B4B1845ADA497791F311E12E4AF5E16B3970286ACBB2162517D5ED7F2E100F6F2024973FDFC6C97096B1ECE4F192BFBBC509CAD1788C85E40A3A1EDF5DDE684A0D7D485DADCF41E0A88CA6C147B8377A83986EB8F0434F2C3F81E07F3 - -F7B53A8866D4D097EF14B2A37C380D04B8C0D1781B1FF44F655ABE07DCB4FC014E24196429B61BADDB2F823A8AC60C93F6F67DAFFADB26CF60CF1C7A806983789F6C8E62C391D7986D68BEE6B46C741C7169C256E55F888FE33F6E4FD97073DC176976309F71E5DC7F50B8762BC2AAFC293D0E7D81E69D3233A32F8B7EB922ED9D23A254B07AA817D1522EFB7EA6B337A292BF1580916E6CB957CF848B41458F97FC6DEB408D88275F8DEFD9BF1E97D81B0B5A62AB2903EBF643470A4D38DC60E976ED72FB65A9E749F1A6F45D80C79098B1F639AC1AF5CE77ACF9C2597DE9611A8EA4AA23672BF0F33F917E8E93CEDB8AB32DCEA4C173E4C654C989492046D0DD8CD1FAAB7C946D4CD3D783312E9116C08BE55474AE142F6035984314D232D7D4965F45B3AE8DF68A80D58D0E047CA461B503EC7F4EAFF9D10E235EAC490871D997D69E3B64E31799B9D967657A924F1A3F5A781CF46E5B778E15794C48D62A97488158181B51E19DEA54F3FEEF9D420A2FDDDC22B2BCDD6830451A266C41E04B310DD95E793EAA26E4E2DD77194AE101A816A81814129CCBA9DA2295BBEC5FBA186511695DE5BEA954B0C4F9DEB7397A61F73742EEAB1CCED123F23DC398E9D07C03F39B239AD136EBC6433A30B9E40C11519093F1B987C7B8936A7B1A094283CB188298B01BD50B701D0258EA2ADCFAA15642D81E59FEA763F3948A2086E1F022E923F0D4F56067E663CC34453E10DA1CFD4F291C8CF80DE8424609CCFEDC9A06631FB45D0BD36BAD6A46EFF6F30911C8B1347BA9C069545A9E3DA9D6073AA7AEDB58E8235335E1E2CD0DAF55B055648BEDF4CC0F5B6F9C6636FB080BD7594E3CD3C9F8A5A5C8262997F40BCB94F6978C11A7F4E0B59ABF08B375ACAA02388D7EE73510283C4821348FE809B097D77099329A79DB6843E9E36318E989486BCC17446D3ED3A49DC5AC3C359F9311C66075510079EB - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RRHVFV+Helvetica cguidfix -/F1.1/RRHVFV+Helvetica renmfont -%RBIBeginFontSubset: RLWPOO+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /RLWPOO+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /quotedbl put - -dup 34 /h put - -dup 35 /o put - -dup 36 /m put - -dup 37 /underscore put - -dup 38 /s put - -dup 39 /a put - -dup 40 /p put - -dup 41 /i put - -dup 42 /e put - -dup 43 /n put - -dup 44 /l put - -dup 45 /t put - -dup 46 /one put - -dup 47 /six put - -dup 48 /U put - -dup 49 /S put - -dup 50 /E put - -dup 51 /space put - -dup 52 /c put - -dup 53 /r put - -dup 54 /three put - -dup 55 /semicolon put - -dup 56 /L put - -dup 57 /C put - -dup 58 /T put - -dup 59 /d put - -dup 60 /F put - -dup 61 /R put - -dup 62 /O put - -dup 63 /M put - -dup 64 /I put - -dup 65 /two put - -dup 66 /asterisk put - -dup 67 /g put - -dup 68 /b put - -dup 69 /y put - -dup 70 /D put - -dup 71 /N put - -dup 72 /parenleft put - -dup 73 /period put - -dup 74 /parenright put - -dup 75 /comma put - -dup 76 /W put - -dup 77 /H put - -dup 78 /equal put - -dup 79 /quotesingle put - -dup 80 /A put - -dup 81 /less put - -dup 82 /five put - -dup 83 /zero put - -dup 84 /x put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958EB6717097F133BD4FDC2735943420C26687CDC55039E9A900F0451830AB34225DFA1D1D95E592C2A600A9BF2571AA56D1A6C4560AD1025FC6DCD258FAF2EA49924CA840C284EEE67008F3C4B128179A21FF064DA49F8DC094F1DCD2F924AD5EF2E5552378A358E8822ACD4A8AC72F2B871BF2018EBB63CFDB9C87019E20833FE9A1C771447DCB26548C24C5FED57FB59EE8CF6552BB5F1ED918F659B1328E00D0AF7868A68D44A2AA8607A2056C418BCC16C410CE2EAA5CC2B5CAF98268A477F6D86826B17283123E90D9B9B0E9E8C83B336847B88DDCFFA540A16D21C7C00592C5FB9697BEEE66C37E6D02C465F170835F21EC5E124698A1ADC1D01F7D80993271F582562438472CA84479E9084D9B1CC114A2AB26BE97EC1E00EFBAFDC706E068AAB5C03EF2A4E0B8DB9DCD5A3D774E89ABAEB00B4BAF80F026DE56F1EB386524DB906C435129FFCACF318684DF2F1B50AC0B92BE4B2A767D5BEDAA2D0541EE000F4AE0F9204E65D349A262007F1156BA11102ADC9086B64E497A427B503936261683FEE2DB2DB45D4DB37BB8E6E65EBD6E756A559B85E9C82614BB7669A46216A90345F2C9812376B2087312E928C1C2D98CFAE668C44C22F0FC11A072B00FD98A27A9F6543CC5EAC8C25A0F9752F44438EABB9445A0D1406B6767506DB079D7DDE00933C832A0EBF3B4BC809708F66B453936A038F4DAB42B60F83D2CC4D1BE5C2A998F83CB5584C5A768423EB6FB22A8CA16DBC1E90F30C600B8ADF884 - -51AB6FA91E8CCA12A50A8268B587F39BC8412EAF34BDA915BA6C72ACA84BDE15AECBC82B66D116454D4FCD6A69C42271E816C85CC598CAD9BD4A3CE1C873DDC02AB53C5AEFA7462651CA4F216C109F25C34A25AAFF5068F1FF9326694D3733FDD53AB19AC53B0B75ABAFB10C545E119B6A60AD42518E0C01020584445DD1575C52B5ECEFD12D66DF6D5917E3E9A224A420756337BEB44C37FC8439384439A3A42F6DA854724EA153606EFEF86EDF9274AA8731482FD06367DFC1024C528BD7CC77B54999BEBAD41AC5876467A78E230809C1B7FFEC6277877BB749B6C7271AB282C901B1500BF976EE0AD951ACF6190C782D1E32E362079C04AA219AA5E5DE4A2BB669E4C8CF61C42A33B45FF454F1B93BEF4B09597474771FEABEA96E2F756FFC78861BD7278E5E8EBAAC74A952EDECEE556A6330B974A3665D366E1F99C758503B3C4E55BD2D4FBAB40E584ED83B868C590B43FBE56F68ACAFA24469EC6BCDFEA60CB55664C4A636AF3085371A282802BD10B10E8D7F8097172E3385C569D4C27F986E0D2F6686CF0C8A21D23E6A8C4D2662E161721B9DF1D28BA44DFBC530BF48B31D834A8FF107B515B0D50C5005F818EC11AFAD409970A635D16FB9B6D37A285DF16E346D35DBA0ED66160E145DF4C13DAB37C7F6E77453C928300CE67E6026E5ECA43A149C1072C0F50AF1786996ECB32144823EB6052C8E780877BDE02E8269D477894738F292A7FBBBCD1C2A564C338770E0635C1C1C1FF461A16DE15D04B22B007567CB38ABAB229562C33AB37CC6DE535E47D41347B10B0BAF70459DD4AD28AEC1743E7A0590A9B08A12386D70817F40725E4D1C4641A709D85E40C54F9B65DDEDC0754BE55DABFDDB9B5EEF7DCC44C0312BD0B1AA5EE9222BDA9AB3BFD5DAE0F90A7282C60FE34B9785868D52988E188F0E47544642D739FB564E6F9B0701507B4B761607BC8A84DEE9A4D2BC1ABBB5E40B341A115CC9D623F9E9BEB852BE9FD7AFAEE7D2B35A1CEA1004CA918BAAD0EB0A244121FC3E343B3246745A94AEACEEBA07E3E47AC2E7286D208CC578A093BCFF5777C59188211EB14D530E9557D7EF49A867CBA9437B9FFB87ECE88166F919136D853B08E3D24DEBC9D5600118D14E870B8FCDA42C158497AC8D19A523E4B7821315D856606C3FEAE6DE1CBD016B8B51510CE1C5A25A31D84A97E8B9F0C87766F2DC59235ED06D529DB0E3165E2C964AB55B80824D8ED8874E2B34F79642D77468EB4DBC4F627FB17E1C9AB95110E928AF29FDC857CEFC338936E82EC1D9FC3E58614565BF8161628E7094C61E5534A28FA88B8AC14472302599F9EAEAF86C4E954160B6FB3799AC3DD119299D70D3557F6E2E8CBAC97E699AEFB65B5E90A8B88957944094A4C523419877F1C0CFBD1C2D88CE92715A1B83EA6BC1D7077A2DC756BE32C54D161A56DF - -7B7010FB2215108F726B2F47280F1E9C1FDD73F275BEB40F04A45BE37C9B8D64502168CA3D0EFB96CC08D4BD98EFFF8E9E5A6BCD4CBAD2416DB7355B2476D4EFC5A0156B2E3503DE5B3911AB7846958A729EE6B0DEA89CA5EFD7E0D876D9AB89DF08D94F28357AEBF7F0A783BD13E0CC8976563025E03E76EB14C665A325143C2A388C0C4BEDB886A4C8B87655F0801077D48ACDF411F7F48BFA66084E7B8A87822CB4ADF36A5A4EBF03935F4DF21646FE3394A2FCD987EB93F9A0BB3345ABC9A5818B751413D2172707144A0A728E8499BC5A21489F84CB584047B49D8AE87D3FFF65D26D885C5D58191CDC27F7949342D6839C7FD2C1726556687C473045789CD22A32224FFC85A3117E3CA2A859DD8B290B42585DDF15EFE710164933396689AC6DDB12A4B25A41E965773FBA92BA88754383D6DB7FFE8AC291F68ADF0381DDCFE53C12EE8D4CC5B30EA9C6AA5F763144ECC3C8EB5D865BE73F8EA15B58F8E0E8811265FFC361849EF59A488DB7A0C41B7DE827E33A48945AF7D87FCEA2DCD673A6DDE3AD0A44B814C4958C8250F19C2282AEBF9B3A50FB2C4811E6132BA377DA3DEC9CD45A1D8C3D44C213B15BDF03B0103C2A5CD9F83BD4C8C2A10866B8A35CA14B02C500FAEA989E7476D04CC31A4429DEEEB55582D6F608F25AB3929F72472012EF67C5883C900605D404E715E89C7EC24C9C70E02A34759077E1E3C1F85AFDFB07F963CB7959126C600F615BEA2710AD68C2F1641216F07FFFC75B02318AE7EACCC187A4ED46242847B65FA4AC2F6A4D87880F7EAB12EEF198A6C00BF6DE6EB7FBE1BFA960F01734BF1A9C34F89606BE791D891E05EC77E729BC120ED73787DC75CC39A9AB61202BEDC20176E23D9819AF756004F6003383CAF50C32F751FDE0FC8AA650EB53EC02769AAF07152BBA4AEF2E3F8E18D8EC9A16BA17810AA385BEC23E7CA9E3D878C181409421CBF3B6D52CB890B899917F56EA0E3925E52B81F4C36A58AE9A429F493699867467D22AD1A459FF7AF5A829CC46552D6B16144314C3ED5034D7B742BCFDC26BDF5E31A81C1B15409E63FE774B03DCB7ECA5DA49466539F122338B74A88445A69A044507A910880314D5F2B94D549A7202446EE5FC16FA7939DEDC276817ACC1CA01E6C8E33439F22EBF9D59A088605741167BDE0AA201849ABC061557DD1E2C986AA38A5CF3F58B12871D37FA9BB4BACE7309F10CE62209E169C5948B126AE55D51A2E403A739BAEE8E88905EA51D8FAD5039691ACB4CBD4BD8B93F838C4B6F9236D8CAB743E5E066338E80B2C9D0224302276ADA14854227B2A924DC166D3E6D093ED752BF310080CDECF919997B130C5371E78D8CADF5DEE26787387A6CC87C7B8191297495BB88E6C68B01B68CAABBECA2BA6D19F4AA5B1F1C6DD5A88472455F645C222A4B19430CD989C5B526AE3A - -7815343071F77C81F024C5B71FADA896EF667994669C48C1403DEB6565167AB95A50D4783FB64605A78AB199C31E99EB43469B59329017F10D66F41AB307B4AC11EAC58629FAF5C93ED81D1C1E59A12630B75F0B3153CA47BEEC0F80F29DEE6ADA24111E7A670E531FD70C17C329DBDE51CA1F239C037718542D42A0197366C47A4A46055EC39520A1FACBF273B0D600FA8D5A786DA54411BB9602454FC939EE237B10F8E73E99327DE1CB67B810F9F3DA85416649CCC32EC3C94CB5B3FC416A0C2CE727F99A64B8E3C19DDD2BEEBCC2ADD191EE5903D77010BAE7369353130675C5C5999E5CF59855BC7782671BE4298C298C1582BB1034C110172D932210B44671DBAF0F9E1DC8AFB0DA8EA8E605734E49B7FE0C1814505015D0AF227800AF72B0A2416B2B25B28B58D1D6688974D63863EA30C775531714FEA09F8B8648ACFCE642B82B109216CAF019CF3E0ECBCCEF1241ED4BA30E8FFCABDA5EDF4FBCF10F096F53EC3AB66F38F677405B8EC6D5CDBC18D966AE5A4BEF9C10A5870DDD51DC54C36E858AD7031F904B8A5730364C6DB39BBEB897A00FF117512EC4595A293D929758673307399377A00CEBBA0DC1F07E8F67BCA3121BD0F916FDAEDC0B7E0C525B3D140ED6CD6F7022BDF1C2C10F63E6A83BA515507CFC0FE16076176648F41036EFE63116DD8A220CFFF2333E2F5259205D6AFCE5000D182619E957C8C83BFA0A742B92DBAECFF4C8F240473D84C2827464120833371DFFCC1D4B85AC06074CBDDB1590BE0747E7FD0815C98E621B7F4EDAD184F25F5220F9D7274F7B3B7D4AC68381F5CBF6AEA398F37F9CE8EA71559D8D90AB39E10BB4A0AB2D50D0EDBC329DD37224780A46802A449B04C4D2E3C06934044316E25AA4C69B9206B160F57D216A9FA9BFF5EC608FF793693823626F095D7D95BD37302DA1227082962B34040009368022969888413B9E0B6D86A7985C7CC65F0E50976C593CD7890B9EA25254610D48DE7CF927A33D7189CC7027EAB3417F0BFCE17C6FC771F4D21735A9207ABDF7D8C0138B8F94DFC54B5810496986984E208B8586A8701F672B1347BC17366D7280E7B5FEF888BCEFE4E5D37B40AD23BB53BDE99E1E40EED50AFE5E2434AA0D648BF9A2770E00F2A20FC02914C51752F85B8D4EFC07DE3B11B05D1B98B1650BAD0DC84B550050FD1F6B78BB3F7644DD7AE4329FD58C773DA4D0843D42CCC27C72662F76D3B56A223D6A360B06C8856642F9EF3787F68E997D4F885B11C6BD3B3C69EAFCB621CBFC87B119E52F8F5F00F9C5592B03D8E87972836A84CE35BF8C1543D0A8197FB57431F4550E593D31DEDB214A34B2B292BDA1EB34F139E756781C7F6137DCED03EE7B3C3F1D0559F036818D9E55F97E8E898A7ED080599CA50EB3A10B06FED55F5D8C749A183443498D0B4D8169F291A6482FA10F2E - -9D18186F5248B6A0A40AD99224CC9EECE9640D079EAE63549ABC6015F8D197C7DCB8BE9E701233577CD174E063DC6C8A3BB8436EFA8AE0DECEF8A4573F3CAA89CA230949027DD99E508356292F5829C9C748DF3CED596817AAFF128E1648D736879C8E72FE0BDB72E2EDC77BEE54CEEB1668909E638D2F7E99973BB1A7104A7E3341F2D617336A4F692FBF09B4797F122A6BA18F95B366E5B882EDB0742C580806FBD7BD87F6DBDD5F6C4BE8425DFD96271D7F4C75B39C9B2EF24DE581A5DBC27AB03C7894C11DB2302DC6B5F13A380889EC43EF749962FCAE1612DC541EB0C094AEE61CEE37089B85BFEFD837357FC5EC0847383B2E9BCE4BB247020BA89C0E282477A35036B876CC336212A36E582185B6DA2AF5AF1C931B87B6A3F55371E66DF4F771A91011F0913A647655B10AD63CAEB18C9E0986DBC95BA2F7F617B48CE48742E4E2D10AD5A3FD77B7882957426BB2674C73AC0DFF58935E5912CFBD48731D26C0C6219540E9DA28AA51CE92C70F67611BE50A9B29F9F7A768EAEACACDDF60F66D47CE2FF442E3592379E374EB366D2CE30510DD9D96352F421705801255DB5B67A8A7CCCD4923909A055AE033F236C7A4B264B75F7C6F0A397FE21224BF91B2BC6851E33AFC802B79FD1D19BC627C456BF461AA797AB60ACFEDB3649C7D8021D172E80B108EDA8E2B8981D52CC086762EB5BAF0B80162AE6DC4E70B109EBAEDDFB1597B47F0D5236515B1C517F7A30603307800E69FF4CFE9F2B11A18FB5B74242F34EE4F56455BC313F5EB1B7A2CD737093401FED87CC5EE48CA0703A06D99AF08C0A1E97906E4FDDF023BE0E176CE7CD6B543E3722D9E3E48224A14A885165E6DAA37432A1B46A662ACBC4D7494CC216E445D63D005D8DA3877675A99BC68B404B30B5F4365F71748C12045FF7F63631404C1ECBF32F9102926ED29A2332526E6A7A697C3F1E71BEB4E503A297D02707929861DC94C8872F1FF0F01E349A4642400F01272C85217E064E3313C3841466A355B3A54EC54F1ABB584CC976BDDFBBB297DCF5FADD0868E6EAE3AD9C8D2344385CB87240A205597F324CEC26D122FC4D1698484C2AF663B1A173AA73A7C789A597FAE26010F34BA8A0B4BB0A12F75429A7B6B74B6B1DDBBF7D4520177F7AC367AB02E509304B2E82744C1672C46F49349CAD206D63A8BA12AB75739F9D5F2D46A3A9D5B4EF59E4804FD34D537120333EBF2D575235F85027B4BADD790EBE74AA824A9A26F6A422024AF53421FC5CC27D88FCA8274E48799E47B333A97880A0F16630C1613198017DC47C273D16D5B4446824658A215FC84E94B43F3D02D8DEEBD6FD29B51AE4888F188FA0E2ECA8F79ED5459AB5F5C4C773E015388F25AC4DD6F9A01AB838E42D96E48A5E9DFC1258C42A205AA1DCBC3F8010C64586C7832BCC847D962AA2DCE4AD6EAC4 - -6142CA72EF9D172150B8043A06F52E7E2AF2137495C0E78BECB7A264C0DE03F23C951A33585872CE7769A174E4E5813A342B527009EA4940AB679B951E40CD4C276B2123D260548E2C7A4E928F33092F3A60AE56734C93C45E252474665DC9A611CECD2615D66D64B56C2BCD73FDA19C56399D0E61FACE0D2E493CF4112CA508236EA1CA6693582211AD2B1404EDB080819C2DBE4D4C5F78D1E4A5D170B26BC49AC170D391A86364432B769F10DD320466464325C07708DF0CB16CF26503F4D03AB0CBC369859D57AC828FFF6C00A07CB5156FDF4C1A5B0E1E572AE33DF0B702F533FFB246B6073B071C3EC848414A4FB79076E79F5AE87A09716E86FBEB574C3D9647623BEB765BAAF79CF6A2CD889F1EC3CC0DF8B725EA09BBD5A42E07BFC449A371B295CCA6A6E2AAE2A0990F1A164DB1810D739160416F3C7C184134F55DC7885D0AA8FDDFBA2E427E3197030BB8B218C78874D29FBD53B23121CD231730DB2105948002AE933A38E94F4EA8632ED2B9A172525F5E14EB8248C59E4C8B15F8B9A20FB294DAD371AB64A12FEC5FFBCA9132AA90080A8797D7703786A559DB68DB41A4FD724FE1F34C4DA75447432239B8E39DB6352571E7679ACDF40DD0B0B7A73FF3A6F63AC73486348710CFD30AED74DFE5C36757451751EE97144341DB84138C2836B62A793641D55922724E6A06DC031429F91F6932C60D4A1B8532492AE2F853192ED7EF2F9D565F29712B514B3245FC44AAEA2B22940FC59419CB467EEBA9AB0465F1E9AC1E9451377EA461CAC15DB56C79BE8A639AC938C7E41FEB06153ECDFCB69EBAB98420F478CBE9D3BA311D7B50B707A3F25376BAF75D59B21F90ED19220DC562563A943F095D3C3F6D700A9E1796A8A15DE3F982D7CB6F582DF1B050DB61BCA7FFAB1BB3B1C850E84CA93DC5DE2DA1E28D9AF84FC4BDC87221DA97968C652AF88B1D587B28BAEEABB9DAA6E532A8CAAC7EED8C401DE31D2AB3E1BF9CD9DF41B32BE2ADFD2DB294684D70BD2B2AB907C5BA1CCEE65C20F0AEE9970A610E70361596C16EA606DE43EA50AE652627862C44C52C93769EB5013362E75D0CC7C49EECB71ED9BFEA62B0031594D519D968FC776BB9DE16B1764606D9F668AF33A3ACE98743F276C2517726182C57B1944378A2E59F6D577654E4332465486369F03BAC2A653D624F321F6CD30D9B2CAD6F6637ABF95FDC22E8CFD591FDEB3214E2C76EEEDA586652FE62234AFAABC1177F224F3B488F68E086BFF4E53C1401B558BCF9C63F88315F6D3955D487860CCCF89E42F6F97DAC92408023396663AFCF1BD66F969465C02B3CD79C4EF452DE1CF0227678A833E26D478974541C27C2CAFDF4AF666430DE470AD7F60F371305359111AE8F6444BFE2D251CBC173A28622D43E6E8EEA7327908B322DE604212DC7A55B78BDD23FED3E6127DD - -61F9B3AA8E33826582524DD2002022DFB8DA190C5ABB7829405E1D911673E918DF9E95692D96B2EC92697C9A71F9B9217FBE82033BE09EA3BFC8985FE7619A87F1FF13F223B024D49E52D13BB925127C0002AC9A49117486342A3095430053177C3F4803F183E7AFEC288737C2400B33AF49817197E9F4B67131118DBE645C70BC4F05EBF33627267C41696460064360EA878F288C14C3287E18667B9733E88EAB31DA4B89994154A667E8C2F98323DECDC634946A4B470089521ED6960137B2C396C5564BF1FD274950BFA1F98B1F906E9F4131F32EAD8E05B905CDA4A675E796599EA0B6C66BD7CF4FB3F2DFE0D4686BD11699B70DF0E32DEEE026956CE04144CD01BA08C749603C38660AA3682403CA9C9333A654B784D16DDE8E362DDAAEFD312E5B783C4B29C33372BB68811CCD246EF70A8D32F462463E5E59446B9B6B8AAF953B3C5AFCD43BD2857AF145818B6343AED66A549A2CC8B15C2F634E8EE7A048E3276ACBD3FC2B7BE3B3FBD8A833457A3AC7E48C5A2FB6577A610617FFB73621211E9F5A4BDD409476CBA7371E53ACA5D3A51391F840AD445FFB56454C87840A447B572226301A754FB961CDB1859E6366B97BC9172941CD5DC022AAEF8401CCAFA4D1D8DA98A852437018F0AC8A5F56D5A3C395F077D1854983DC3A95D01270CA5B47DF5F9F665DCCA62B7F46937501FDF9BE74FFE4E73150130F3348A9AA6FA271C25CF09394FFE802F247CEA0788596967BA8998D817E41D5756C1EF2BB031D2FCD8CB71775DC1F993F3D365B9F941D91F6F9FAFA173E37CCD185B447067CE0CDA8E05390D8BE2EEDDD5E4983F658F6EF62EEC19FF9D4BAFC151F625954E7F90CB267C9A98D65109EF805715EB290436BB7F4825C2AE6679D6108E577FA95D35127944DF236E34E3DDFCD5D6F7E8DBAB4F4957B922CC5026025861429D4C16FDEC3BF186DC17BB5EE75AC1929857EEC46411DA74F0BF5D428F89BA14DAE5335D05653755E61E5A0949AC3785E19770E7C4ED297A8EA63D807516C5E4D22730BA9BB2031C766E9363763CA784A8172EE43BE2249637ADA318AECDD5620AA81B17FF2FD6FCEEDFD4F49DA0F24F6DEDA6A3AA913BF1E9D97A8FEBF2A0BDBA84C7BFC218AA163A48E84F803F8482EF551E047A333D3D31CB992458151E4B14D43A01D85A1E05FEB93FFDDAA2DAFBA7218337863823A07B3EA2F78BF3E26648C2C65765C82A05D5ADC7187DCC1B680D5F26CF1E8BEF14A4EE4EBC1B7926598C0EC3E9816DDB489B89F6E35625686C990A8CB5010F41E3192D4B444139D1B08CE650A1D60F395A4E1CF417923D4BBE2BA1CCC8E8F18F97195A2C70AE184DF6186A8E46E7EC1EED4EB0846DB6E300C6A525EDF14405AB818F7A11AECEBC4CA5FC6AFF78451FC38BB802DBADEE8C6C7B52B95F76C474BDEF8FAA2CBEE6250FBB3 - -9016841B3B55D1594F9C2B1292CC0AA7A3375381B0AA54B6F31AA37A012F4C4C68EE0040A6C8F54A39FF964D1BB462138946EF914BADFD5A163DF3C187D57F55F0671BBA21C8AEC645A44332F27AE6DCA41804533FB6507719EB19E04A92819FC400A4EC406B7B733D77AF24C151DC1697D20512B4503568AE7F9E77F2CD1C90684F38AE63B8C57CC40537079ACECF14C5DB07C5E6D055D6F195185ADBC3742F4345C687C31829C31C0AF6E7856E0A186697EDA32E614186D017B20E54F14919FD9C0F5E1174C91DF7D87FCDC26A94CE0547D4EA9B4FD4DDB35D04828D62AEAAAFD27281050A22B072BFB6383EA54DD6BD352763256553AFE495E2385D82CA80767A126532C808D28E39DB7C7844CEAF69A8598A00E98F70F2E7401C75A6F4A9CA38FFD1117E14AA4909A4100616AE3F6572F849A19CD039ADA24B285F60612C2F817E2B8208061D50BC15A8E97BB292DE57937FCD8CE9D312FD12A5C9EDDF9F44F172C8DF3B23B112F800E1D9B2A7B10F565B08A94FC55692F06F734BBEB2585112A8A5CA7A7B1C671B73423BFEB33B4646B616C007A610C7601135CB57C83E53E7B5EDF897DE43F7DEE12AAEF7C1D1A4F46E5DCF2D0D65A5644E9581E5424F490FFEBBB51A0521CA342FB8CFB5B87ABB8D0F8F2C094D390A16DF5DE282AC6180BC8AB95AC45430C8ABB367D73E65785BD54D3D16AA925312FF8F412A80ED3C8C1770D125805020DF6A45A4094EF64E76F6375FBA16EB91EDBB5CD754E6642F9812D78190C76D60EB4E9873C39EA39E297264B5D8684BAE2A6BA0E242C46788C2F46CC5B34845451386BEBC04C010E9A1BCA7E3A184824695A197012C7D2C2266FCD450B9E903B107AD6208392A4FECA03AFD1A815A9F6E88C0852EC88F264833B0274D0C18E060ED2BDD037719484A2C7BE1C52971446DAB40FB51EEF371DA8FBF0BA43716D606CF99FA9F639720444F028AF78F9A241FE151F72BC9A7404500556CD6201ABD3A49B6E3DE2CA966FBA7EE90333FC317ACC2FC4D740CA707A27A11048D2FC427CC4F248B607BC9C27E977D67462E8E0A3AF6D280A635ADE3AF9AB5535FFFFF52C47CF4D2CA56F2388AD2AC943ACFA1AF5C6FF719057937D58AB11E7B3FBDEF899E8A02250B2E6DF42FB0D731594CC490EE14A8CC887F4EC8F3728ACAFCC443377BEF798D22863B524A5E7501458A16F7A164EFFF847EFC899F8F589CEE09D135CB4FDB3FD4BE09DA2B9155F2965C6767778ACFD903BEF4DE7EB4A5BD05407B67CD9DCD13859C5E05E26A0083A48E163673147C6905FB904B96439FD6D573FFAC49656F042EC119DE1C7E82AB1D1B96558665B659A6CAED33AAC321C95E78641E3C4E6A8AFEC4B88F964937EB34C2DF556F210746069E81F999040D0656AE528A41608E103E5CA6FB69B3D8EBAF4C77B88C20A49D06DF1485FB - -9F6CCDF7F493482CFB4BE142F1E475AD984610FDF4376C438FC5ACC77CE8B8102AC1A3BF5CC52FD043F95868E695E519379592B20487B59341EC3DCC600701FF60C636FFD9C18B1CA5E197A3CD7089297E8D8797F73F0C3BC9F6A86D99BB7AC2F63105D73D3CD5C3FC3DEB967FC5F1390A9E80052AAFE7B6FE4B99DA502A30E24C115E3E3E564BC5284C541C39762E7D8BE473F15C9CFA9D7940CBDB8F19323F931EB0D9CCFE666E61E08F768D7CD5BE9960BBF2B3F1DD42C1F17E9112BA0A827F4AEB81254B13FDE84EB2D457E9213B21A53EEC3AAE06EEBD8ACFAAF0353943219E91154DAA2941EDEB82030A2CDAA239D00A78733FE174E8EF706D9E734209698670A2ACFD89AA0DA49A082AE4B6B35B6CBB7F1CAE5C0CD85B16F2F17903EA9C5355F2F659A3E23CEBBA9EEFE5FFC7733026A0DF0E92BAF87B8E2786A7134BFF7D090578E9A41E138FEC9E3079539F218C304D091568FD4785B61969EAC9A4742F52D98788BBFF2D07EE1C9B397502A9B88B2512E7D790A8A6EC3EE75A22269D74B83DE30E604569CF96D5F2C9C77C524C242A54D3EC59417BD15574E239B68AA23E40EB438613EDDCEAFB3A807CD3609D63A2079BC1DFD2006C032DDBCD885188083DC33C3DF23BC51764223FD5D5B2D2C2019BCD0D71456BA612C5368E34A4B63CD87DE6D979CD52E0860BCF18BE36C36D411DBED09292DE0AE8459676ED62B9B8E2CD63998651016314120FB758A8EC040F2B3608FEFF20C344EFBE7D682AE9FE51DE279F28DC140E62BE9E5F9F8C2D6AE439A2AE743CFC87BB4D90786FC453F07EEDA41B7FE25B052D33F7FA38540EB2EF1FA3905517A1E232AF2C521D5BF9D1CE4311CE2104007B6C65D5E7DEB0C00C617A631F6FCBFCC076E36FF784D3F5BDDBD658075975E1E0E557C45125116DAF58DCEDC53DC5F6F40468DD6975CD3D6BFF62C68FA0631DB1781191C6F5945EF81661A9460CADA995F69E0A29F450F404CD55FF6F7633B0B6E6D4E59F0D966967E162B8D8BCE1BE3EBC80473064DF1D8D7E68753BBEB81B780D1AFDE30AEF68A62EAFF1B1BF8020D05309262AA81857711336CEABCC1C8D79C6DED8968769F818CB3879BEC82218E9CA006E9B2168B3262564759E5C9242AC81E4B0E163FC2FF2D483879D14DAA29ED675988EB1AEA55A5D6A1230AD2891D1C4BBD5082840F9C78614115F88923009994E801721FDDDA26B4C44040EC0FB5364E25C0A9020E0DEFE2E2C0E930B399334143F4814E4FCE688342A3496A1A336A316BED7D9E655105DE8ADF696C88B47A145603EA1C3E34ECB8002F24EBA5A2D2243B0862B887394EDDE38ABA91C951E53160AE48C03E8800E19298BFC820C06833589BD0673B96CD2A71EC35CE2B14681576AD99EC1FB4ACDBFB2758E93CB76AF81F99F8DEFAC39F5D0DA9862FE3E7594901941E7 - -578060FF0639CCD8ABC73E73A9FFC973A8880E1D9183481C87406941E6A313B7BE0AD99978E3C2FC875255629E8B365F8C9ED906B237250EE378F5E6C3D2F9275B690D1A464651E715FC238AA3785C8BC494705F446AC4FF22030B7C2AAC09F72942331934E17865826E32A4219584FF5A4191EA676A290A4A3A193F34C782B0613046012A21E42611B2DC8532D607DADCF64B5060AA4BC21C4D98F20F023CF41BEB52FF821D89E4D540A0B1DD20FD98B8DC17BFEC55EF053D69B80EAF98E65E8AD64AD2F8165EB1B47644AAC7D9165E4004B22087ADC88349F09BC33481C53EE6DB00096343F4A3F93CAFE8DA158BE56C9335A7D3D0C4DE676155EF1FF413491DC73E248BC9EF6F3B571C34651F9BF062561B1955E3B0B0CBA4865BA8D5F281CF613119DE3A3FC6DADB90C0A89A59CC3E2F0B0429CB52A85E9BE10CFC60DE781E079A888B572FE06CD3DB37444EC40121D88DB5EC351F5BC971C1DC63E4C8FFE89295A47AD98965FF9FE854A6E615FADCFE76D692C9A3FB7C31F3FC7A577E300BEAC88F1F8DE3B3FDDA1E5862FCF25F2D563828EB5642C9AFF063AF68C0B9FD2756A8FA549A1D27BF161D4483BF8C6715DD2B9E257394C7616CFE54384C5A3DD0F7500123775EB28303E542C7389B3A58A242F52A3BE159EF6E79C0540BB04148F42ECAB395E3B673F09748A8ED1F03DA79E0E61FD34602B5112E38ABA9368B0EBF8C5CD5A8A5DFF0FAAE9B3FE179561185297F6FD822BA11D53B8323C8175C29140E40FD0FB209EED414F75A5BD4A7DF477DAB0CC340CDE90B94D4A4353E0DE73903BEE7CB6B698FF0B03A6A9B76489482DB1C6ABBA0ED0BD7E6EFCC5888A6A4EDAAC595DA3C9C793E28631595EEEE8B6CAE2D4C8787360B7C87680168BB1B8F427859C2B3371E33794406B524D2507CFBF8124CB80065AEA4AB1A70B5F251F94BED40E3FCECCEB167796782289F772AA424E40574E1667DEE1FFB85670B541BB8412B8796E4ED5BDE0D84AD1EBC58A2709726D40CE625AC95C3428FF2A786DB28803FCDBCE0A587EB4E17D9389D396B5B8B9673086F61B2E2FA60ABC1032446880A2DE92B212A12C452826701D0FCDC04D0811886C4AEE4AADABBFBDF2B11669DF8D628852B256F6EAC66C5968980B47157E3A9CBD12460A785911119807ADDDC60D2D8D1866E20A4734E83EAD7D8F0A764C485AED4C5F6C43327DFA909344CD4AF30090C0127B6905B2984C7274B41FA911E3092D260CE0ABBD0C04F436EC9344CB56C30161AC75B99B07121726EACB1E1E551C65858517AFB68EC34CC7C8FD72134A6138E9768758C2AF7A0886ABECE4A385C53C4DFD8CC09BDF26D0DADD4E094D5A0268F01913EB5C0C7C4EDDD27286723A0A9FD8F041A652B93D6CB83B985FE6EA4EB3A4CEBCF653B2A5554D845924ACC7CA74AB63F9416F40EAB3532 - -611DDB844322560E748A8EBEFC23B85A3BB6DFFFB1A351C4A3D7EEF19A9CED4C24F33F3183C60BE05532375BF225E8EA16F072CC2EEFC41901F72AF26BFCA42B549D138D483AF14B4A6119F5B4EB0A7B1DCE2C0DC13DFEE8FE16DD58A0C39EBC0C8EFB3C8544E40147CB2EACE91A4D85654E8BAF6BC4698E5D01F6E1DB3611165DA70C3F25AF5EBB58E1122F1EFF32C6C16C7516FEC4FB3D4EB67611DAC0C16C2DA690306775D1CEE71F2CED56D103BABD77DF99F483B8AE250C04FB681EFB373C971F1DCAFF8F084D006F6384E75DDBE2639AD460213F54938E079C6868AAC8A564C9A540AAAADB926D4240A2FD2479F9A087D32B76D854A595CE29E2E5298B9B41AA2B1587DD2712FF00B0BBEDE54C1D95FF64D83A5E0CD829096CAC203A05392BA9A7CF747D102C9C69076BF03E0EDC3F42AF3CB20F364348A2A1D8D63B77645648DC27B85CBA5263668F0D1037F936B74EF5BA673C37485084B5541FCF6468FD88E670D2AB7CE84C07C8EFA422EBBA2CBF302D7BB0A11020F5C0C569B3080C07A2E37DD01E7C2B5DEA89148E3DE561019AD0B3151CB03A4737A46359F99B8260A3CA35BD410A41C20D58C87E515D18F46566230254B8F3BE276A77172A1A67ED2AFA37D00A8EFB56C18450EF0BD7E01453422AFA85DC3188DB7C01E099AA354A6B116A1AE93495CB18733D05F42C6F048505897916C84311AE2C1E93C8092D8714DEFE36154A6FC51841B3F75D79E229B42708CB0BAD64627AC31D3D35F94D3EEFAD27D168321A2DF6FC04254545D67C25E2635ACFFEF6DED4825E6A1DCE95F08908BC32E89611BC6C3A7BD0E48B2A06D5B2C66A28C347404CFDA038A798F5F1E3ED2339EB8157568EA7EF795C14E34A0911397C1EBA926882A91BB6B1CED0E2495CD6B01ADCCFA1E13105993489CF93B123B76E7DE7D6159570A85B95E71929F5DA75E4F9C8F86B381CF4B40411532B9A4A66A6387780A7F51CDC3A36F9C4E05F414BA20C6B7F5F0EE44522982DCA5E6C2C2DEC75E4AB1C9946D4FCF912F78C9E9C75BA3A5418CFCB625271FA4DD7F42D71CA43062590E7F6122C2EB4D9D6E93C3640B5988A9C1A3169B0530A2B0101CC3BBC2B0C963E3BF28C1D31EA25C4A57D4471C1EEDA719EAE113574454AFE9986722E124C319D9D6D06DB845D52F5831FBFBA3A4794CE1777EEF918D6FD33F75DEB42DBAED3608FE250C3AFF8DB7D19D4D079C1B9C38E9FD4ED3F41C81FC3CE14C63240051426CD9747161BE835AC0D0B929B9B264F68FA60EC682B195C87CD3A0D8CF7E4FAA9D7D3D0EAAABCF76A458671FD53A1DAF07C03BBECA32A8F546E06848A6494CC618CB57E61C4FC4DA5F2126CA26E2EF301F3C3F6C412760292C0DB071D644DE936FB867D78EE2D437A21803C6AF40CD3503F8D2FC12641A860D53CD888D535F4D5823AB578915E3B - -E061B8050D7C0F17379E85C07193C64AEE71B0860DC10E89F4D23444D0C5BF9ABA3D44874C800AE1D6803E8BD106C342A014962F3C72B86CFC9FA719D11CF152A269AADED45B163C514B7B0F55D67046BBD1F8EE300CBBA270C85B286AE87DD2009D836E65001A78E80372EC2C0FCE4F94C466E417F7F69FF0F5DCFA49B66351E50B6FF25C8D7556470E0E643E4B8E5799C8232FD0934CC548E35E330BEE19879B5DD5F421F613A888FDE2D7479DB0779C048F07353EB1D04621F53B03CBA5F0250CED83707336BF157777D3868344556D12306F51E3AAD670CBD602FF524DB0D763B0E7E595AE000746524FC194A8DED584DB58485D8E22F96813AB928C2A96768E8C2EAD16EDF0EBF4A64A4E3298A2743A0A3AEB4B55D5DB9968758BFD9815FD452376970E7E713E77B54B584986294EE0752ADD3A8AD0D9165C0DEECC34A551DE2CCFF69B42755FF0EF69BB18612955AE647B3595A951C2BA507F201B8EC5A22B3EC20F2E1400BC3A2254E1BE5DBC40C69C5A178624273BDBC145C9FF99CA667F03EBFF02CC3DF01C3C2BCFF93C0AE6028C9D4044B5F668F4B8D7414FAC956725C64D0D3CF8ECE71F6B2BF86D52DDC828968B7EF71EDDCE205C2554F440D22CAF814A73EFB9415579DA927D9555D5806E43F372A81EB044C3F1291B99D05A5E580E8F3BC1B0C799ADEDBB6BCDE7A6DF31C759E1EFDFB0021D03EF62AD85F4FCE18D6AC2E0C35DA271BBB6BA28BF9C6879EC8454A703B16B20E45C93E85C0348F07732CEBCC3674A193AB79BC3D2CDC04FC60C1E0A92FB66746DD8FCF08358A30D9F78B1127D05B9CD817B46E9C101890B9F817A02C68D7C614CBD107DA28953682A610CCF1399661B66391546BC30AC9ECD5FBD97F668125648E572403447376777038DDB7CB1774D3EEC7839FE4F57DE7B94780ECDA64F8B0C90C9A8DEEDDD4796E9CB8606865237AC5437ADF8D97880C8B7E8425028FE4C0B7C072A2F175EAC0EA6CA6EE48F90DBF8A7676DEAF56891618BBFE3C8003C7F6812684FC26AA40F2C7C7C8E2ECA8B5B139F597E4DB9592178C9D3EF5D0126555705D2323543093D9270E2031C81DE290070DEBC8B6E27474F85AC15FAA5607DB3AE1288E8FE0A11E0A367167FD57DEB6AFB092FE181E9719B754E996CDC3AE490DFC5E7F821299882DBBF4596859808BFBF52EBA002D7F324557C77F7121F0F942F75F025101FF06B5383564288C7755AC9883D754E086F152D28F20932491D66F4FF1758E4B8F0DE0163070C73E970A3384E60ABA95F3A091E8B3796FFFEE6B5053BFD5D8EF87F8B117F8A92381E19C14CD830450DDACC746CE27FBA6E117ABD22E2BB5B3AA89BD3324DF4BD12C1CAB1B0B779BB37B0CF6CB8B9B26244CC5983ED509074E5964820DEC3BBBCB001E1C99CB7D41E69DD72DA26D98DA120A7DB4E3AD6A98E41 - -11802E20A896B0B1FD94628F8E294DBBB0C74F1C0C61CB5818FD45C11A6BE5D06F09B82B2D65222E01C13993B73A2BD0052D49DB05D93D72E601F2DA65C8429D0280A9B810B89D9A2DC8DBEE667BF3375B7FB12335EA8C07693AE6533A50BCE27D3523CCC938A240D595B2771DA0BF88BFE35A504FCC1844C64BADC7511FADCEA5074A8B10D4D270B78B13C95C398ED3A5250AD89C80D57CAB83FC317E4F05B8023AC8F9CE1E7CAD69099DE10DC6B160700FBB4D98DFB7D78ABAA976B3338A30B61FC5A25BF6D0D4B225513796A3AD74114BB7D63E30F26913CCFF48EFAF980CBA9490A64963AA784365C883C428888CE3F67143461A46B25D47EE7C2A4B7641087F4E96434036C58417798F177045A6C2EAD4789754B1502A920CDBF80FA08056FBB0C6BCA139CEE18CED958616F4F78677FECA98EDFA4B88E74ECEB0659C7D15D595B6AB5245E4278253F2F71B1370926A82F7041EE37F1D9BCB437A9AB925 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RLWPOO+Courier cguidfix -/F2.1/RLWPOO+Courier renmfont -%RBIBeginFontSubset: XOTWGU+Times-Roman -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /XOTWGU+Times-Roman def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /colon put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -847 1979 1983}def - -/UniqueID 4349401 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92725788540EA741B17F7A4B26645F1AC6C6DD680CE8F1F60AEE279148EC39EE9402EDDBB3D94F960D3B0B296E7E68C3D0406E652095434F0F8F7C96D58E18728F4539E6932AEE08DBFFFC6F2F0E4EC573EC19B834B60372D568508CC69076183177B33E71B47DF451AA74ED9B1C3C5F91C45CD6366B6DA472406BC6B549C1F940DB09BE50D9414BC4988830B4F1673B89D64F26C2E7A51A0BA42E988C9CFB3330A21C19E76EEB14EE087873ECA6152BCB7474BE427328AF9ECC0322BA43AD7FED5887688B0E27DC3DB7CFB74F9A63DED33C54B8448AA3953AA5C7A961743C401481C5D5FAC856D2101339D751B3A47A3123B717814998232AAA882829AC70DCFA70865FE4D4B181E95CF56A8B604C3B454D9CB4AFCCC94C0C13CABD243B6B39913EDADCC5510223711D3D1E026EA01E6680ED263398654DB0CBBCB07FBD2CBA342090DF2FEB750803C2D9F2AA1FD6B1C32E07DB5638 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XOTWGU+Times-Roman cguidfix -/F3.1/XOTWGU+Times-Roman renmfont -%RBIBeginFontSubset: XCTFCD+Courier-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /XCTFCD+Courier-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /t put - -dup 34 /a put - -dup 35 /b put - -dup 36 /l put - -dup 37 /e put - -dup 38 /n put - -dup 39 /m put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-360 -828 1574 1829}def - -/UniqueID 4427719 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C980943B128E467A4B303542E85E0849534105E9F083E4E3373F14A64BA5DB4DE1CC1FA199BF2D2F714C45E114A1B78E76C8572221B8747862EA7E7FCA7341FDF06824C4A49186A9E89AB0E3D8F84B05B3D60EB23C1512AE6283331AAC98A8832FA4BB5B0A37236D731D11AD0AFE5A340FAFB67CB4B0BECFF8728817A6E732539F0535409550E2CD30EA7FD6B4247A1FDC418057456A04CD0FCED5C3C5E2136DAEE23C96FD0DC38EE59596703763299E74335EDB93A80762D0F919E7656DF2A81A0CAC802B9EEB2B06B82779888B75855695E17B6AFA454FB4641FFD31BF6ACBC5F4CF104A36350A75884C830FE83AF757E392C6C96453DE27864C139B7E000C1D1417F01CE185BD97ADD4A9359C973A46FEE4FCB9CC4DA47A0EE62236B9EA14461D020FFC52E930D96641BAF3BA277C5A47779802F9C42C117B10DF65A09F1E1C07AA13BE3065429CD9F951D12DF34BACB4D4DA7ECA0A6F42B8A7190C0AECF8389116B7CF99A754F9893FC2D51D64B422F79D92433087E98C03DC6829EEB658973FD67D13B482B38B6FAA9EAEF75A7A002ABE004A05F4F90F84ED99C35C5563603D10FA7E7263A6BD509E9E1340D6A3856021B09269D604560D3EBFF54E489CA89B696F29752B59DDD67D98DE3CA5C6459F35222B9D9364E3D5F78C136D6A7415C6FCA668586F675A329A87C2DC2C1E50CDEE3B619C22E0DD11009B7DD9724EC7CF9E1A36706841FF066C23C2F96DCD4980229F1CA7088DB4764364505FF0F1DEE - -7C837E9D975817B89578CD6AF2DEEC77AD8FB64BB9AAD12CF1447A1EB7AF5F0840C668ABE4E0061B9F0BACBCF3860D716CF6A6A9F5F49BEAFDE3B3BADBBF1F007EE51B4B74275AD48E7EB667462BCA22C1B7B80EE46A887C3B5A50E6EFF559F74EC8A1C0699E5ADC8142FDA8EE9322E6AA01F401696D77AD97A41CB6E3AD4A222BB32007D38438F48CE2E52D94945C2BC7D7594B9F0F2E0F36DDE945A76D5A7E08BA33AEFA8D6AC4C944C49C64A3B66CB4B66DCB1E5F0F8B87B0B3527458DBA933398FA583D5F19C6127DE23B6439A115758EB9A7704D453A9BE1B6D9E7549955FA15FB24AFE6F14E01B119649F6DB252252B77998CDD8A4FCE619B0EDA777DD9D43BCAC81C122A45FFE25D3E2160B7709304A9D07B0D3006C0F2BD88B178E9DBA9F9AD4B350550C15D96B6EA38BBADEB47476485A211953EABBAB3FD98ED300344974DB19228835766C6C6208173CDE281C41703A4A2EBC5A2BF775EBF9331C7DAF436D1B01A526123377CA80201B6B05D55DDE18BA0CF58B05113C3DA966343490DD0146958C96B22E03DB9C1DEA620CB5E045F4DEA259859453FBC595340B7937F5B3499230CC6938514DC7F2F6F02CBCE36C36CADD41A67F2008BB8288AF376CD2CA22A34B1BBA7F2BCDC9ED4654516CF343660F4D7ED446C06DB6211276DDD84430AB764B5F51CC20BD52F3174741F2B2AE7E8F62C52685D5D6122689D2B953CD43718D72C17A37C24BD437D429FF4A8805039D92D40DFCCA69679F3FA4EF0A474FFA11F79A6D11CA4BE547FD96700DFB9C12FB885A90AFF69E4DA289989F3E0AAF01040311027B9FC10428C98357CBE82EDABED15DCF3587164311ADA75B1CF88A95496D6931F88A901B3E530A7CD07763F3A079866F6CF70E9FE128E848E8090803F0549C97AE5E84BE6A4700D65FD85B3D1B6DBA438622D755BA52E8A31B57021ACDA39267C88A226946BADE72FB304A5539EC3B91EDC5D983E4338B9BA7177B3489E7C89D1F659004D9FF1AC4BA70738CBE5591D3291DE6D7D7287541FB89854813BD62491570921A58B04047B78EB804C777158366064966BAB58503D99D2B80D41AF6F3F8A0FD74B2C3D1CF3100005BBC046DE03138876DF716EA479C5BD6987470315DE9E0A466E521849D2D0500574619D4E29652709F00150934DBFD8091254B74A5C1E40B502CE438D70ED18EE1ED8AF77B799CDE6215366EE3C61ED61EA00ACCC8A0CF4B358C2E69F4C385BC4ADF925ED1999EFFBE8DE32F26CEB74D7D75EA2739D79B62CC78B9BAC645AACAB4DE58EAA69DF83A96F9A9B3EA30F18121F8B4900BB097C9038DC5D96E142A1B03C06C102D22C463C7A60F0D937FA836267ED6EBFB0B226F5CBA3AEB2C66B08450B01559CD91513D0E24EBE74C3C69BB5940F2923044809B1E6D78740771CAF10A837F08F85292B7D452A70E - -072F5821343BB71A91FB66434080FAEDE3FAC7F6F83D9645A038589537E940503530DF58A12FEFF9E9E46E07B0A894F0E55052C27CC8BB9443985B2EEE6C14E9859FBD3CAA27BC56C36785B2448B7B42DF5B9025F923598EFC55EB730700B61EEEDFDDC29A856D82964FCF1B3EEFE0B13250E5B9619755C5011733E3EEC8B3BE40E27DF051003CF94B07A782DA73ED4B0B17A6A82295724B0B7911160EC7CBB94E2DBCF68EE6827935C7C47516F9DB4BCC6CCF06AB9F4FD09F8D2CDE9368EDBDE38961AAD80E1EB77E96D937CE1326AA05268A966EA4E035B46CB1C51EC0B04780AA406B99D6C58BC2E6ADFAE9A34A759A81CC36EFB744CC7DD4B67DA24D89FCFAC107DC1B1E68009B0B03F1B45EEDAC1D59768A9370B709EF659B54259857DAEB6E7750B4E6378282D4F8227856A51A894E49F5291E12C5C6A53AA0372FFC99D215F588B38799939C21A487DF992FDA2C89DF9BE1F3F2377352CF911B2946E7B3ACAFA34EA5AA974FAC - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XCTFCD+Courier-Bold cguidfix -/F4.1/XCTFCD+Courier-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 211 m -(!"#$%&'\(\)$&)[ 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -257.66501 211 m -(!"#$#%&'\(\)*+&%,\)-*%./%.!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -848.16101 211 m -(&*&+,$&!"#\(!-&./,$#$&01''12\(!-&+,$&/1!3$!+\(1!&10&&.4$/\($.&+"-5&6!%$7./17$5)[ 11.398002 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 20.500002 20.500002 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 20.500002 20.500002 22.837000 13.694001 22.837000 11.398002 ] xS -48 263 m -(%"+"8".$&+94$5&6!%$7./17$&"!%&&7$'$".$&!6#8$7:&&;"3$&"&'11\)&"716!%&+1&.$$&2,"+&916&/"!&6.$:)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 20.500002 20.500002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 11.398002 11.398002 29.643002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 ] xS -48 368 m -(<+"7+\(!-&2\(+,&+,$&=/17$=&%"+"8".$&>,1#1?."4\($!.?/17$?@A?BB&17&+,$.+&7$/$!+&64%"+$&10&+,\(.&%"+"8".$C5&+79&.1#$&10)[ 27.347002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 14.555001 20.500002 22.837000 13.694001 22.837000 14.555001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 20.500002 22.837000 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 11.398002 13.694001 20.500002 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 ] xS -48 418 m -(+,$.$&!\(/$&D6$7\($.&+1&-$+&"&+".+$&10&2,"+&\(.&.+17$%&\(!&+,$&%"+"8".$.E)[ 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 ] xS -48 518 m -(F,11.$&+,$&/677$!+&,6#"!&/17$&%"+"8".$E)[ 29.643002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 619 m -(!0123"#$#%&'\(\)*+&%4#5*%./%667!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 720 m -(G$+7\($3$&+,$&0\(7.+&+21&HHIJKLMINKO$!I"!\)&$!+7\($.&.+17$%&\(!&+,$&%"+"8".$E)[ 29.643002 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 29.643002 29.643002 27.347002 20.500002 11.398002 27.347002 34.194004 27.347002 22.837000 11.398002 31.898003 22.837000 22.837000 27.347002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 820 m -(!12829:34,#+*%\);3<=>?34,#+*38@?@:3A7!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 921 m -(G$+7\($3$&+,$&0\(7.+&+21&/1!0\(7#$%&-$!$.&\(!&+,$&%"+"8".$E)[ 29.643002 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 13.694001 34.194004 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1021 m -(!12829:3B3<=>?3C*+*38@?@:3A7!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1122 m -(G$+7\($3$&+,$&HHIJKLMINKO$!I"!\)&$!+7\($.&071#&+,$&0\(7.+&PM8&10&,6#"!&/,71#1.1#$&@:&Q,$&"..$#8'9&\(!017#"+\(1!&\(.)[ 29.643002 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 29.643002 27.347002 20.500002 11.398002 27.347002 34.194004 27.347002 22.837000 11.398002 31.898003 22.837000 22.837000 27.347002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 20.500002 ] xS -48 1171 m -(.+17$%&\(!&+,$&"..$#8'9&+"8'$5&,$!/$&2$&!$$%&+1&4$7017#&"&R1\(!&"/71..&+,$&)[ 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 13.694001 34.194004 11.398002 22.837000 11.398002 9.143001 22.837000 9.143001 22.837000 11.398002 22.837000 20.500002 13.694001 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1378.96 1171 m -(4,#+*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1501.98 1171 m -(5&)[ 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1524.76 1171 m -(4#+-\)C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1673 1171 m -(5&)[ 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1695.78 1171 m -(4"5#$#&#$*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1941.8199 1171 m -(&"!%&)[ 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -2033.01 1171 m -('&&*$D,E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1225 m -(+"8'$.)[ 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 ] xS -/F3.1[ 47 0 0 -47 0 0]sf -157.407 1225 m -(!)s -/F1.1[ 41 0 0 -41 0 0]sf -48 1327 m -(&=)[ 11.398002 14.555001 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -73.945297 1327 m -(12829:3F@1:@G9:H)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -467 1327 m -(4,#+*I+'$*J)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1374 m -(3<=>?333'&&*$D,EK34#+-\)CK34,#+*K34"5#$#&#$*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1420 m -(3LM2=2334"5#$#&#$*I+'$*3N3O.O)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1466 m -(3PGF33334"5#$#&#$*I4"5#$#&#$*%\);3N3'&&*$D,EI4"5#$#&#$*%\);)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1512 m -(3PGF3333'&&*$D,EI4"5%*+;3Q3RSSSSSS)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1558 m -(3PGF3333'&&*$D,EI4#+-\)C%\);3N34#+-\)CI4#+-\)C%\);)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1604 m -(3PGF33334,#+*I4,#+*%\);3N34#+-\)CI4,#+*%\);7!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1705 m -(L"/,&+"8'$&,".&"&6!\(D6$5&/1!.\(.+$!+'9*!"#$%&\(%$!+\(0\($7&2,\(/,&/"!&8$&6.$%&".&017$\(-!&\)$9.&\(!&1+,$7&+"8'$.:&&Q,$&6!\(D6$)[ 27.347002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 ] xS -48 1754 m -(\(%$!+\(0\($7&/1'6#!&\(.&"'2"9.&!"#$%&&)[ 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 11.398002 20.500002 22.837000 9.143001 22.837000 34.194004 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 9.143001 29.643002 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 ] xS -/F4.1[ 41 0 8.7148399 -41 0 0]sf -683.78003 1754 m -(!"#$%&"'%)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -905.216 1754 m -(%\);3)[ 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1003 1754 m -("!%&/1!+"\(!.&\(!+$-$7&3"'6$.:&&S17&$T"#4'$5&+,$&6!\(D6$&\(%$!+\(0\($7&10)[ 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 11.398002 22.837000 11.398002 ] xS -48 1805 m -(+,$&)[ 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -116.387 1805 m -(4"5#$#&#$*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -362.427 1805 m -(&+"8'$&\(.&+,$&/1!+"\(!$%&\(!&+,$&)[ 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -884.396 1805 m -(4"5#$#&#$*%\);)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1204.25 1805 m -(&/1'6#!&"!%&+,$&712&2\(+,&)[ 11.398002 20.500002 22.837000 9.143001 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 29.643002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1669.14 1805 m -(4"5#$#&#$*%\);3N3A6)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1857 m -(/177$.41!%.&+1&+,$&/,71#1.1#$&!"#$%&UVU:)[ 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 7.831001 27.347002 7.831001 11.398002 ] xS -48 1957 m -(G$+7\($3$&+,$&$T1!.)[ 29.643002 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 ] xS -389 1957 m -(&2,\(/,&'\($&2\(+,\(!&+,$&0\(7.+&WXX5XXX&8".$*4"\(7.&10&/,71#1.1#$&@E)[ 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 9.143001 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 9.143001 13.694001 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2048 m -(!12829:3*T#+I*T#+%\);)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2094 m -(3<=>?333*T#+K3'&&*$D,EK34"5#$#&#$*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2140 m -(3LM2=2334"5#$#&#$*I+'$*3N3O.O)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2186 m -(3PGF33334"5#$#&#$*I4"5#$#&#$*%\);3N3'&&*$D,EI4"5#$#&#$*%\);)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2232 m -(3PGF3333'&&*$D,EI4"5%*+;3Q3RSSSSS)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2278 m -(3PGF3333'&&*$D,EI4#+-\)C%\);3N3*T#+I4#+-\)C%\);7!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2384 m -(>Y1+$E&<\(.+\(!-&L!.LMIN&6.$7.&#"9&!1+\(/$&+,"+&+,$&)[ 13.694001 29.643002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 27.347002 20.500002 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 34.194004 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -1000 2384 m -($T1!:\(%&/1'6#!&,".&8$$!&7$4'"/$%&89&$T1!:$T1!?\(%&2,\(/,&!12)[ 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 29.643002 ] xS -48 2434 m -(/1!+"\(!.&"!&\(!+$-$7&3"'6$:&&Q1&-$+&+,$&LY<L&!6#8$7&916&2\(''&!$$%&+1&R1\(!&+1&$T1!?.+"8'$:&&I$&"2"7$&+,"+&+,$&!$2$.+)[ 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 27.347002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 11.398002 22.837000 29.643002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 20.500002 11.398002 ] xS -48 2484 m -(7$'$".$&10&+,$&L!.LMIN&%"+"8".$&7$47$.$!+.&D6\(+$&"&8\(-&.,\(0+&\(!&+,$&./,$#"&/1#4"7$%&+1&47$3\(16.&7$'$".$.:C)[ 13.694001 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 9.143001 11.398002 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 20.500002 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 13.694001 ] xS -48 2584 m -(Z+&+,\(.&41\(!+&916&/"!&.$$&+,"+&/1!.+76/+\(!-&D6$7\($.&"-"\(!.+&+,$&L!.LMIN&/17$&%"+"8".$&\(!&/,71#1.1#"'&/117%\(!"+$.&2\('')[ 27.347002 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 ] xS -48 2634 m -("'2"9.&#$"!&R1\(!\(!-&+1&+,$&"..$#8'9&+"8'$:&Q,\(.&\(.&"&8\(+&4"\(!06':&Q,"!\)06''9&2$&,"3$&%$3$'14$%&"&D6$79*14+\(#\(.$%)[ 22.837000 9.143001 29.643002 22.837000 20.500002 20.500002 11.398002 34.194004 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 25.051003 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 20.500002 13.694001 22.837000 22.837000 11.398002 9.143001 34.194004 9.143001 20.500002 22.837000 22.837000 ] xS -48 2684 m -(%"+"8".$&+,"+&\(.&%$7\(3$%&071#&+,\(.&%"+"8".$&>"&%"+"#"7+&\(!&+7$!%9&/1#46+$7&.4$"\)C5&/"''$%&)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 13.694001 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 34.194004 22.837000 13.694001 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 22.837000 20.500002 13.694001 11.398002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 ] xS -1679 2684 m -(L!.LMIN&M"7+:&Q,\(.&\(.)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 34.194004 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 ] xS -48 2734 m -(/,"!-\(!-&7"4\(%'95&86+&\(.&2$''&217+,&4'"9\(!-&"716!%&2\(+,E)[ 20.500002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 29.643002 22.837000 9.143001 9.143001 11.398002 29.643002 22.837000 13.694001 11.398002 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2839 m -(!0123*+&*$D,%$'5-%./%.7)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -613.89203 2839 m -(=)s -48 2940 m -(Q1&&-$!$.&071#&"&4"7+\(/6'"7&7$-\(1!E)[ 25.051003 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 3041 m -(!12829:3C*+*%&-'D,*%\);3<=>?3"#$#%&'\(\)*+&%4#5*%C*+*3LM2=23)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1451 3041 m -(4"5%+'$*3N3O.O3PGF)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -ep -end - -%%Page: 4 4 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: PCTWOE+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /PCTWOE+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /g put - -dup 34 /e put - -dup 35 /n put - -dup 36 /underscore put - -dup 37 /c put - -dup 38 /h put - -dup 39 /r put - -dup 40 /o put - -dup 41 /m put - -dup 42 /d put - -dup 43 /space put - -dup 44 /less put - -dup 45 /two put - -dup 46 /zero put - -dup 47 /semicolon put - -dup 48 /quotedbl put - -dup 49 /S put - -dup 50 /E put - -dup 51 /L put - -dup 52 /C put - -dup 53 /T put - -dup 54 /s put - -dup 55 /t put - -dup 56 /a put - -dup 57 /b put - -dup 58 /l put - -dup 59 /i put - -dup 60 /F put - -dup 61 /R put - -dup 62 /O put - -dup 63 /M put - -dup 64 /p put - -dup 65 /W put - -dup 66 /H put - -dup 67 /I put - -dup 68 /K put - -dup 69 /quotesingle put - -dup 70 /q put - -dup 71 /five put - -dup 72 /period put - -dup 73 /percent put - -dup 74 /A put - -dup 75 /N put - -dup 76 /D put - -dup 77 /equal put - -dup 78 /one put - -dup 79 /B put - -dup 80 /hyphen put - -dup 81 /seven put - -dup 82 /x put - -dup 83 /v put - -dup 84 /colon put - -dup 85 /at put - -dup 86 /slash put - -dup 87 /y put - -dup 88 /w put - -dup 89 /comma put - -dup 90 /k put - -dup 91 /u put - -dup 92 /V put - -dup 93 /U put - -dup 94 /six put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BF93C353B6B058AB9F84F393C87DF61AE2E134E4F1384A2AE4EC7E3AAC46C7FE2505F35C3A2566A898276F4817962B84C7A1307A6AEC5EEDBEBAB2BC582D9D8E6B4E2796C657CE1FC63B6FC96FA4E613B7E5F21852D06BFC4C2BFA43BDC93A6F983BF342ACD09D5C3E5BBF612541A2CED34C92BCD4F2312B13135887DF02F71F3052CFAEA7DDB237B7DD0178540A44937671487F8E115E12ECFFAB861C72C1780C56812DE500AA334419BDEB2BAA67C1C4A74BF4FD8E82F3D0B6087E28F644CF5F1ABA0BEA6D86A5778138AA01C1E5805A8818FB16AD535B05F77B2F39C899EB15A875138C3292DD03F498EE316B0AD05EB67D7DAB01BDDC85BC2D776F9E29F267A8D27E50168E0D8F1C0C47FFEB95CB02892EE282B6372D16534D70D045A28CC85C22F510F779215EBC3CE5728F3EDD8769A3214777EA010A1985D1821FBDBD413D4CA96752000697DF3EADAF4B079F4654196134E11EA52BE23E11021EC4D304B85FC89EED15BE0A7181B3D7692DC635697AECEBB278BB15291773878B7227223CE0D9AB4C8090A4B0BF8690685C9E6DE11FD4E0E2743C3B677B6AC5D714CF6BC511C6BF2E9B3094E9236A900BA343E3ABCBBFF7BDFF351ED14D4C415A33AA0E5A1BB4CA6CF081DD4030DB8B6943430B7B385575E0B993BBA8CD0B9B0775A65F0F2EB4D093A186B19A47F2EC9E81DF4DE3923AE236603302F96DFB1A61EAF81B93CB8FA0C5E353D1355F660B2BD1D9A93900F1FFE910085E74B60289E11161 - -B813BCE6BD8708B26D9F284133D68AAF6DE1767A5E1845D73BAFFDC99A0D1B1D73314EE07C1B0D79E45EE452663C6CC6014B54F0C61084AC638C7021CF17B1C0B73A415ADB9DFAD3CF054EB39AA3C5516764A02A06ED85B5B6990D3CA7A6F4DF89665FDAA64690A04161A1CC0D26D8B5FC8DA0F2846EFAD6629B9A1B0A5F7E69C3EFC0FDDCFF851E60B61ED553D723160B04F3A1D27267F6E02B1E6D3322AF714E49BC181023A2A9781B12563B9DA5A684E932CFDC4FFD10552836DA4F3CF0DBC2C3465E50BA7E07720821321841B329B54A21E350A6D423533DF562E2394AEDC66E10744C44B01C2F6683A6177E342A86B65A19C8D6CF114510F4E3C6D2854ED448B09747158406CC3EEDD3AE3F4786DB0AA6651ABBE1787C5E04FB401E107B3852FF57A017B16EE87D2C8DD4BCB196E4B9F2AFBA0D5CF6AEE8A9E64A7612EF9EE364041B4C94955D7398DA71F523B09D519B78F562F3DBD71C9AD2FDAC88EB77BE5672A87E71CFD14384E96CE9A2241C18F4E9F9884115495132ADA622616D303A95502D21CAE67532E11983831806A3EFF38897F3EDE102C8DE4CAE6A358EE247F840E8F4DDAE5AFE54F4F95CBBBC278F6AD0C29BCEC50DAFCE286FA80A5391C1629429F8D231B9583E2B4A23A883AE10A65DF8F466FF07C6871E72CA61ECCD110217F2CAD94D2BC76112551884336D75E2F0CF45E327AE33CF7FCD2CA4A80799BD1C0238891940EA1B1D0B52D46EC285DD1ACC384F86DCC7D57787AE485A3C07B76939845BB070960BB6808F1033418EF8CB784755F8B860E70BF4EA251A8AE368D4A2D9153A8B10EF3DA97E0ED561B253FE9BF7172CB7904ACE8855D12145A8561BB2A49727B35576353AFEF6BD8130448F80815E73F184A3856A938348246517DE759808BEE0143DC2D87705B3AC23F13EA77FDE6895F3F82F8888ED5C405311A6F68266C1D7A251CAF2A69301CD179B062BE4F0D933390EAB33B8A4C590D8DCB63F2AE579EA3CF353E912E94D14DF9B16D9ADB4A09F2D481B42CFD6D2A11CA55EDA097C72F92A82663A5AB9EBC0BFA1C9BF98259FC356243123B68352169F827821ED11DB19D159FB55B8D2E14904E06BF1AAB6C7371B875C81077D4434BE195C418EB27C5FA66B8B3F3E0A31CF785696FCD478DF542234158745D9D40F76873924B5BC76A6C75F91115A24DCF21E11F5E621AD3F47ED047776E02C7AD5763792183831E6338F42AC786618CBF14F60FFD1532B9BD83090F1AD4480A1C84BC0B68E2986AF5DAA86377A8D28A40D72C05CB9F32EAACE300293E965D82E2A0BBBEFDAADD319B0CBEBCEA35AC3738C278DAD15D5D8543B49C33DFB6BB1375F2032EE14AB43393D5625C08DA53B3FBD740265F0397CAF153B1F02F403E11B2770B73045F678485B0A1921649BB169D876D00FE07F5A4BE68DF800CBD20067 - -78994F399BD04C28D8AFD2FA3C47B920F60886E080C8B57309A5237D5D3EFCD5EF630393472E8A11F203E71CDCB6D140669C4086E6A49A5CAD01774F331984F1535FEE06960791EC4C1759E6AD7DFB748C4DA381C6BAFBD39412AE365E54E6ED9BED924E3C8458F18E6D1484D75752760B08764E6379DB9D5687829936D7345DE5966985F3C02C4C09CD254726597071C76E809B255C8C8B1A02E5378CD2281E72CC018C8F8F3226100DEA8D9384EBD5B5C7EA66B0EAD722C8627442E403A8F4647508B1393053D347FD5062738EE3672B501EEE4A574CB4D06F702DF2D38C1D77CF018E6426FB32EF525C8FAD5888F022EAF266BED6B7D47987A2F3BA9A85727699E88DFE3F9456E252E27136E8D4767978B338B904A7CF225BD5A7111A797C0002C958736FD0C20A2430220B06182C4A4C63B89DA6EF4605A3E989FD99F9EA76170220D2B7A62548E29D25E3F17679CE9857DF44022F031E685A4FD04B7572F1DC05B9DC8C45208CA5F5B4E158A32C4B4E03AD3D4D497C308479714130F54D929B5FEE658F21FFEE6E77B76F9D8B2C50F688D603F1061692A74E877F4A6F5AA0E49DEBDDCFAB26669A7EB1926883C4A37D35CA33F8772B0F741A66F03548199604605360597C4088425D91F526FBB734088D8966225175716D242493721B928517D3532990C4707A4BC8E09B1A9B66F8E9AB6D4E9C48B903DD928B464A8588B6A97E81F82839D33D1826AA50491F2CF6D151E22762FC7D534503D1D3B889F796EEC39CC5060364048A5AAF2B477DD6F66A9DF2F9725854C275037B7D0753D8055EE84A0A36B9A036F838520B3518FFF4E2380F086798E219956004A9AE486769D682C7A4CEFC2441F8ECA3CCEF67BE435F2E58F359E3BECD167B4B0C59054AB7F33FE33C7B8C68BF5006D6A3B929E40B186E0498863058D4A654D67464F594EE162F6511B9AB9ECE9F1707F27A9409151FA14B8DE2CFE6695D0E5BEE1520FA67D1812DE7C8E86D53A28ED18212C2E7C5A6217FB1E46A9B807D2B22BEB0C142AAF919E9496E338570D46C972F703FA2432F6D53D87CB07B0E37916E8B4D403D259E4A1A536F3CA25342DF543FDA56DC63A036F901CCF238C2C427FEE62EC70434793F651011A3FC18AE5963F4E8417B710A396E7E60F5E8A01AD1921A0DE2F8E8C52EAF9DA22C338E937A646FB47F4D455B8B441AF8E69291E0CFCA53178B5D1E5AACCD2AA07A3B83A016C69074B063F03F140498CF48137FF38524FF43B82EDE1806382FA5F086BE5B5828CA583F1C975036650B475C0B71D7B6F5410421370FD8609AF55AA6DFC79BE43937C7B4D94535966CFCA9CDE69856BB77CB845E725F914344222126B29EDBA8D941FA60C9AACDB06C79C3AD8902D596EC0C06CC923B8B5B2F658085266ADB9F2ED22680CB9F4BC94A02747C46D073A0B0D98CBBDA - -E2D286567C09FFCAB72F2CA0A128982577CB835904960899CD64DB60AC3DC74BAC34EC49D33561F9CFADD5B21B6D419031D2AF86CA10E1906EAA934B33EFEBD4BB2560EBE39D4A862C19DD0DEEEC377BB691801322263CEE8BCE53752A20182633C440B9C7EA31689C59484DBE943E6DC129BF36D36EF53DB91D1A5F7F8404D6F2C5EEB8A5209F20ED5220DF9D2214EB5F821710FFE981CCA38CE01CABF40159EC17A5CB2DD7AABC426BFDD3D61182053A29B0F520C3A6A792B49B7FCEB3A6FBAEED6EB527A165A99EA88A0634460B055DD4450F6C4014FCE6B5AF1610EFF8F29CC3C62DA4225389633BF28C3310A5573309F252F8E7EBECD41D7369A4A3E0E32864F8A12320714CC4F927BFF212C83CE2ADB6BF81F9E5251A5BF24F5BF8BBAA682F55D4637C33ACC6303AD0E8E10DF5580F5AE47A94EF13EE4271D511C3DBDEF6A933EEFE8FB0B3DF294437652747757195675F5CE4060AE16F3D5EDEFB9E95B8EF904E2A38556953B335A4D9B5DB3B4FCF653BDFA4B034ABEA7BA1C6942CB31EF4B933B0DA789CB1F47301D26B28DFE2F63C3697661DAB3F547502F96D15B70CC45542DB0CFF68A2C7496C41ADAE5A860AFA904E76518324C5D5F35925967FA7273FE90A9986D8D35B0194C2144A8E6E09D3E90C592853F1B62F865364DD026ADB0E378F7CA519EF0A4F0225F749A4FFA0A13366C6DF65E4A89CD58A62A0BB42D0B89336B7545CD2E9E881E8A4F5B40E0285BC060CA8487AB1BD3EC92F55135D1A5C9FF4A6036C8847CA176779044D0E3D97EAED7CA16351E2FDFFB4ED5F2AD207CD43143DEE6D3EFF4172CC0E621491E8DB2AEACE582ED6B209D56339BA13C0E70A892A03707820F861B4CDB5C8F21FF20BAE225C1BFCA2C85430DD7B81C5AFF9114659337C795A3D4A46F73BCCC755045E24D87506B6ABF81F272A27DE283727A99540E4E4FDC1AFFA86242EACAEF267132A42A6B4CFCC5F4E2D342805E6DD6645828D9E7B32214B3EA5E09DB03B92426019B18003401648C9688F10E5B37BF663A92C3B0958F20D98B5E03E76C4C650EBE31598190EDEDB8E2312646619FFD23A21A1C10D4EFA692DAB33E2230082B14546748BB81ED9CAE0D0A06D32156F2C0AF7332A6113A5212319A0B3AFA41E46C65E8F841B247CDA17B120E267644AC7194BDB3E6E585C9900060AD7C0B6EDD486803BAFA26732788D0C49E8A2AAD17F9FD86B3818F43E4B546E59FE81E2347DFD1D9BC912CAA7DD1FB475DADD70E378B09552986D0F9712162D42CA0D9D575CE119F82AA4EF5793EDA4C056F4661C16409913FF67E601660E8C8320497AFA212D4D7E1505BE27E21D6D22D1DA26B11E85990C3B621F68A249913546CBF57F779070192D8DB0D5DAC20B09DB7EA4FDD31A2630411B5C10014FD7F400B2F91E629736C8B572BA4E7FC15047CD7A8D - -0CBD8168CCB97D807B18B951B37C0F671E6238F02728468009E9B98B42E573F85211721BA7BFDAA08E3B61FB1A492A9D6731B4AAC0A37DCFBC20F10E31CA4AAED7869E3F4063D20D5575FE2DC8849E4102048C80391109ED672C1D2A65DB63B7674D550C808D68D2E3A3A0AB901E6E45E2F6565A86D49B71CC613237FFBB40ED524C06635FFBC8FC66F4F8A307C3FFE6E13DC3FC8AD90C80D056BC76D55616415F06CB0515F6CBE9630547830CBD613614209FC3228F1E61A032E47B076323A0D61241B166080F3DC6012B78D1649FFDA8B1D6FEA0F0CD0857C6D833BE10C7C92C21CA92B755154F7FD681FA960302DCAB72B2EE2DA0E778886CDE2DF804D4521F406F6B3BB3191AAC0D7A768031FAE2000A2895A845FEE0A5E47FE79120CD82B144DA9CBF839C65D39C5FD0E6CB4B7931CB3D30FA2F04BF22C513DC04EBBC22E77DDEE45DBDFB6458E9EC8CE43147181F76ABEFCEF9AB2C5D12EB1FCD9257A226296F16044F300EEEB171DAEF99BBB10E868AB48BA8FD5E7C50399810FA40A3D30DC2DBC67819AB4C4B1C57D7ECB0E7A4E276A0A100D4E6FF57F3E019EB0B1E1AF512CA824BE6E39667155E89D2703428433FAD4665A36675DAD79E605E3BD1B751B90DEE9E207644BC9EA8AD2F8CA1724197C1A5258F99B7578CDBD0D1ECE131CA2D1D2C2AD6264C904CF9CBAD30C8E920363A268A6158EDA3A7B83A36A1AC4857504A813F71FCA26F3D90E8A34CC728B0BE7429B055E9948E49AE3986121BFBE789D3E39DBE40B27E7F0855CA52120E2085804D0A7430C249941525BD2C70E80AD1EBB29303FACD7E7B0ECEE6F302583C14BE265A1B77D53D724F3B9AB06ED7D54E1ED3BE5BCE0251E2831859AC314A267E9F6B5647B9E4E407D1CE7072DECBAB838F004E24D9E7C2C1781CD3B4EA7F5F9CD96A6BEDE4D0AF3F4F259DE2FD47204DECBEE0E826A362C7EDDF2CDBF04680A7F41E4DA6E75694C36F08EDAB8A70034785517FED6C0CE39130079DE173C5D6E667864D778F3F947E8BE1534FFA869067CF82BC73DA6BFA70EA3F69A02466D5CB3DA713D8548D7B2129F68D507C3BCE867666277449A54120E9BD212A7D53BC01A149884B5F06A572A4F776EA3969977B8C0D6078DE11A7E202F4548EDECEB636CC346779008311C31BFF2A2B7FAC72587F1FA5DAEDDB7120D820A5D8581E7B8BDC2222B502F2690528BA8966F2A17F69A0492C6128DD98B3F20F9FEE27D7AAD6C810165CBDD0F22A0E632404DB59F61B38363882CB599B2B2467A2AA5717599265C10730DE4C87F67AC70CF69F25EC0631DA2EAB21317440E325529A0EF99273E797E1FF803F1F66E83919F7446BCC0379A628D7BC209376FA95B2B29066AB73E8C31E5E9DA980DD47B97D529E4F5DAD7F21B4B5F4DE6CE605D7C6E73FC4FA74678E6DFE983E4847793C67A4F3 - -8E0CF16A526E291E34371F37D4791FB2203B44511077CDF9790A882879404CE576E05B98B0608A2C3DF7CBE0ED4D28FD7040686877CC25FCF750D0629BBC364D95500A4904E3481068401C5D910EDF9AA61580E7D43C9E921FC014AFE007AF42D72BFA4943F83F94BB77E28EABA5CD3D6074D7E3E4F7ADA62A2DB646EB0586A84ED6D9449E464452BBFD28DB8605CD37815C69846C7F49FC498DDD4C4583212BE99EEF305E6E2C58A17700DBE75E7254ABFA74B651AE2BFE89D3F4AEFC02732D4B23C5FFC90AFEA87B5CC50BBB69F849E8A84441D2D4D6D487F2AEF0C8E66A9E90C715C3BEFCC49621C4B2AEF3798F644ABC4C7DF1A518565D1CB5C60FFACB557520CC9695FF771E312B26828D33AF5A7C44F6D20B8811D8D324BBDAA208984B944F598068FC46EFCCE35AFE1BAA4F116BA11448ACC8DF1F4F21BD159310BF3FD95A3EAD3D184DE295713F9B941BE0443D944ABFB5CDAD42B5F6D3B8180DAA8F339C5A3F1FB6D6A7241037676B815532B9A7BE2FFB55AE37D92EAA97ECE0DB0F0809F5ACD5F0570B0CD9307F7D242F121F30B578AE7887453802553CC7FBA0FA3672AB999B6C0257235E1549678DB4F81FC281898C4F08F35519D86CF58D1C2E3037DAF29557262E1F02E5E14E098DAAB2C03A200C2D7C95A6051E82C960C1F872D800FEA870879BC71896A3043D00A816719806C30F52DB4B242D3476A7AC463468FB5658790220BE1E9D38CF5CE143F80B5DEDD0C182808005CFB9E9F3B5CE7BEECB3C649887BC8EE726FB3827EF5508B7999C6FA9A221C61846388380585BC903C7EE99F5CA3611AEBE7CD9DD44CC9FAAFED7C86B057E2FEB1C39F40541DA2B162767321AD3BDE9DF92FFECED00D8B1DC77BDFD9EA0395CD11F4CB8506C98920ABC5EA1573B64424AE13128E6F032E1FB11F231773F81243ED5D7C48FD1EFC1CBBA2FA5468D51C7DD2EF9C5EA2AF59CCEA30336EE185FE5F1566E91712677D9C2F72E5E9193DB5AC0678660590E838B38297A8A232D55FCE863E2AEB5AB4EF539F5F701057C5A7C6448031F5E173444843772872DFF93229308E4484F2E218EEB62109789E473C2F97D938A453BE7E98A7B2A7D07EC6803CF704BBD766AEB4C633725BF7C9EB6C37DE9EE8C5C421643F921949369DB81BF96AEB1FDA68B93B2575FF3C6CF3C7F45B09797AEAF139912FA4CE58C925CA2409A8258FC6805D35C7CF3DC955F14BC2EE1BB59D0420EC3E4FCCB145557AF9E522BAD8E9BBDB44BD4707AE74526AE32CCC6DF9E4983E10F15AD26A78599453334A4686941BFEFF80A71F71B60EC37260C08C58AFD3CD5529C7ABCC2068A2110D0B045212D99D9932CCC09926F3048F09A3DE895F53BB5194D80F896DA09B474068F270FE099BC17FB0ADD7A1FCBDD9D6C1711B7DD926052A5D7DDC2AAC5728E70872CB1AC329B4A - -A79E98494DE91BAB34361B51FDB9FBCB1C2FDD2B507E43110BB98BBBA2D2F6121B7A510D780B96D57569CD9DE40FA8A05AA493FCF47932641C1E229571496EF2898CBAA56288B704E18F7535A47BC00B4E6BE39EFBC359694C2FC6C9F5CD2B93F72C55E2BCA90D9A58935A2282B936A91479D8AAA7709ECB198A2B258D5679CC2480586A0742596046D3148443B0F58A73012AD234F10EAD12319C2B045FEEEEA480A9C13478129D0711CF05EBA6016450C857B034D3266BCEFE7ADC94081F28E64E7B09462AE2225D3B70FDD6C7A2C71016C3FD3F1C9B2B2217FFA6A362D1B12B97022EB47D3A1C609EEE344A327D45DB53A65493D2E324E8DFCBBB1CBFF8CC28AF06C104DBA712B2407F2C7B9CF66A7C6CD81A16EB849A3006865956A89A98C678E6AD2ACD6A7942AED8504E3DAA8E330DA3C2E84595C171F377CA769F171324A7ABB27382D15AD23542724513B5D65FFC3B759C52CD59BB7E491E18E6120271E7B201AAB149473A133D0F3286EA1F45D769BEAED1B428EE5560F4D562E6EAB18F820062AF30EAD05E745F2D36FCE668B04962F24EFA38AE359946DB822C0DEB7DC2A1FE52431D650667F3A08C568A3673CD7AC6B3D37C19DF5728D2055017E902A6EE190D6C25C8F76FCD62E9BB2FC939B4BB99BDA093CB04AEE1396F3B669B9167FB978FDD7E651B52CFA440DCA59467C871233CA600B001072651DB14669E893C7B313950A2D2C70C496E752DFD5EFE03AF3E57E51408526D03E815B507FE327BAE2F2AA386E7E56CBEE29AAA4FAD2692D55808AAFC5110F81E59CECA4763D42E52E40CFB17465EB9E864C46F7B38FB5E5F14AC641A89D81D3488929D2AF2B946C4C88FDEA9F4B2C1158E6B49B6EA1E0FE3AC1637793089113EC8F198E857136484DD56B5A840EE36B0BDD26DFD8CFEDD95A158C6140329842BE9D18494F42899E8F0E69ECFAFDD7C594CAE113714A90507628F57E954AF7E47CFDD2881E56330DFBAC9A6A33F8FB4DC48AC2F551987D420BC45E68BBDE1491AFC41AC54DB74B96A2AF2FF8F426C94F60E1915CF6F42245418A456829A7B0A555AFA3A2ED04C6362C44E48B6D1E189B31D556F752F016C416852F1C67A91A994A9496BA137FE5A68CC3EC3018154DC91CAFB3E4CFC645CE9F6835B6C06CE939B07D2D84D520041A94DBD237E385800E95C5AD4A8981F8ADE936420874AE257CBEE743B679FBF647FC2039703F35C24467E8F2A5B55F6F9989131D1CC15B614E17B5A53F71B8077F1075F4C3DDA71C3278C919D936D92A370BECA9D8A113C4711197DB7D6682B1AD73C0B092E56F457498732EF75832A3A7BEFD64440F50348F77D74AD6027F3A729A53B182DF0CA089FA10F07FD25093309281490199C9D196F52B23209E822731F0E602FBB29376F974E4A72B9E4A46E9C59BDBB183376FA6026F45CA3 - -ED57BE7CBF65EDDDF55EC0CEBC3E8613780E8A427C5B3C411891BE55E8D52E56A27C9FCC7283A8ADA07BE2C7F7428FC66B2C1165134397F1C3CD9C291A18CC8AA3F2A569F6897770A32D5D9BCEC5CF7A33A1E6D411985A52262304BA5257CEB7D1EEA5B0C84D88F500CF88B945ABB23FFDC876E592AA75F876B52C76BD49C0586AD7DB23C4FAA46FDDF7D211E8993063FCFB89565EDB87D5A16447BEE86F0987720747FAFFAE4F8BE71B530B66F963BD0E1CF5AF5508A10077695CCC46AB81233CE31634E265C7D34ABA73755B48376E1525D63A4E78BEC04BE23E2FA9FFAF871D3933F6F34CABC26C4257CD53ED91864FE9257988987C7A5707501B1AAD304543EEEA4BE6C601F312BCA57E9C46B24AA08EBC58C1353944AA5F9197872DBAD3B0EC3C1A9FF7CCA6DE8AE24E282A574E3BF0CAE52F421EA2CAEB56ECE69DDD659CE0FDF5E29F60AF74D2BBF79DAFFECD04B2599920D553011137D8B5C23A431E4B0A27B879B322D05C6673B71A945FF75EE338AE3CD491AB09BE56131B507D645B21F8A3740A7A394599EC3025AC6B5DAAE1D3F35971214561E5094656D8C2CA6F9CB6D0DAA8D55BF5A870A01058176642C0F23C3C93B573C0F4FD60AE76A75FAF74B02E318B49A0958C3EF3BE297215C24249F0999BAD9DDB87D02C421923BE1C23FB77E5C332DE74EC2AD6AC31DA8E5223B5734EDF7A9DA5B5AC682AFC30F4BD354F97D2D8A0D1F90F9E594D3320A6928B050E1AC1DD005E891036EEAA30499EAADE081E00741CFA6675E500E4E6C2F930602D84AA26AD2339F22A958C5EBEC7BEDA3D174A8E71665DB59110073FCE4F4998635EBC6AA27988BB843BC042DADC533084DDB53BCA6DFDAC2712231A0DB05E3D30B0F7E11DD4181DB8B69C1500145611F4D7CCC9073AB7308DC4F36EF0880F11C945CDB11B9B47D0EE7C4899D87316E1C58822E0B6FE97F3C94C8E1B3642BED449FB030C7389441B83FA5DC8D0A0EA2A2A410793BF76AE2E3B9B2E3F87C3E87E84F0112AF61B0B258676BACDCDAF2384CFA6FEC7CAD1E7AEAA24451C10CF831ADB1F2511E8B334D4492F2E3B0F1204BAFFF506D0705493CBFDDC12A844AB105B11603B9C4699202F45897FB14E6A6410A43A252D0946B4C7878D6316BFE0B3FE73350B744A8AE9FFF39DD6FE03857EEB41FA31796060D9E43D7EF7C96F1728B64EBF73750598FFCFAA5C5BB31EF3D03D052A45D25E57D61D36B9F72FE209BDCFB2633A0030073271E5DB2C81644BF6F375B1D2881C458664426E035B90591233691F410D75CF86D117361625CDACE8E8373B63C8413EFA49B05CD73EDCF815840CDC0F7A4ABFE94108E0E61E21EA64861C12CB954AD6F13528672D5DE511C9BEEB5444C60723030FB3E9426408EC6955C8130006301B1B9C1834E524EF57C598D502C9DFD81082ACAE7424F3E5 - -2002386175D1EB37390B471C0FEC2433D640A61A738A686C605D79B2FF35C12EC3DBDE8FD79E67394A8411EBE355FADADFCD32EB0D7C32F51C8E17B1690526FB300BB7D1AA3133771597C6F5268417064E044EE73C2DDF7AC70CEE30B544F6D20768BCB73ED80C69F827BBBC57C7BB1C08FBF41205D1543C04BC62E70E5D21A97AFFAD6B6D6A58C03076BE21D285C13347BF206462EC74402637D27CC083192A1999F144E06EBAA27600ADA4B2106A3D0A1F00F87D94A9B80D8F9FC35FFB19ED76453B7A389DE2DDB20AA187F140689A45CE4440E0F1B2C05D352D65FF17E381447291E5E3A893EB0907562D62063B3AFC1E6AC9876A7897B3E4CF4AFEA0897EE377972FA4291387F4D65ACD8A762FE77ECC9BFCE9CEECDE3AF73334BDAAE3A3DD5015AE4FFC56F69D5163B86DCB4F5E4CD67279FDB01B87DBC3A3A8414A3B72C3E0B6D5CCBDF746CEC21D404360360DEA776E97388447064A6BD4CF6ECD2F02AE6CCBACE2822C746871730C55BB423875B4C811937A7FCFAE2515794467F3DEEDD0410C3F6160117F71BF95996CC3F371FF3F63D8E4BF1DBCDBAC97B9E9563C342AA9ED8BE67F980AB18820A89975234719E611030BC31196398D263B0B53D5800F11B694E937A7D85ECA0F1CDE05DBF357987093A6D7E8D6569F0F706B82D6B7F174C3A71E752BDF2C3F52BB75C21B2F299AC8C299E756932D25EF3E9143B3CC0E9B0A322C4BFEC74EFCDE773182D234F9DBED961A0A59124302BEC7FDE170FE5C2A0AD3468C9D95068A7A32174299D993977EA04C21ED1A456C506EEDF450E5075588C681DDB0E73AFF8964E6EA58B9C97198D62DAF84CA93A9190D7B3448213D2F1563C3442B04B7B3F4883DE27C4D55696775CA39B2CEBC70558ECC2C0532939F29D0A52C355419E7594C29CE6A67490110493D6D62DD16CF81391C3A6CF2E4BA5B7DEAF0C3D675CCE615E66EA941AE3AB0F1135348413244AD7F98B9341B844143129DE1707317505FC5C326437636FB08BD15DAAEB4ED22A9F8CA78123B4646931AAC38D38427216AF61522C458B8D01577B03208CE59A4A746FC8AC489B1FBDA0B258E941D9208FC1D05135EF243735B1C4C1C9815EFCFD41CD3F0A41BC95A73D390ECA624DB59E34B57D2EE1B9ABBB0B28080DCCB20AB6B94C8B9D520D9BBBFABA9417C9BA0DC9443CC9E0081E999AE901A3CDFD9D9B2E0A8019E986E2FC8C5D2D53D0EBD299D8B171A5B4A498AFE7D7936CAC5B15D738C4A5727095733036F8531CE025631355B04723D9949BC8B26B206614AFACEF6236EF96B870F2AE57A871C39F74BF3E28F3FD37C7162F851CD1026E7247CEDF740210566359E3F2E1747B47A3E88462F5E684566C2387FC3D79C3038A0D0CB25DB9C097EC381BEC769219D44CFE960BAEADE0FD50F5FCD1AAC90E80E6D4438119ACE99435E - -019BD456131C466FDF18D78B6860AB9FD4D1A0E6145A7AA54F7738C7F07CF089BDE094604345907CB941E645CECE194BC9380A4F5A8A6CFAB0785C00A484B564B44FF8470F0F8EB846E084150377B873AA3B16804E5A01F800D03AF9CE16FA08E30425D6703B4E349C1EAE24D6CCDDBD93925F9D90E200BCA6D51016BF3C522E2E258F0D733CD1940467D84D85A09551B0CFEEFB61F9968B5C1C5A5345E059E330A996919C510EC77E35B05B187084A9CB0FAEF4E24E84437687FB3FBB8F80879A63CEC84156B9C890F2763A9C89C16E7BC2679FED1FF9FE473BF9FD398413AACDDAE32398A1E493CD0053A6E128937FE34E9E094BCA4E412C3FDA21F0DF07DE214D737F42923DF6BA0934CE18E4660089C0D469B5F4B2DB32FA8BA19C49909861415D749EA6378A41BEFCC1996DCAE03B6ABB1BE6E80F39EE9C2107AE6FCEBE04EAF88C82D161E2DB0FDA164F15B276BAE2DA53C3C3C04912ECDD5C07C6C57956A534ECBB06E12E8A8ABFB0619BDDE300F6940CF39953603171150A168E070A8E55AF98A7A14B80BC7C67C0DBBD1B6DF1F61892000553D54CC24BDCEEAF00EB733A311D5A023DF2840A0C7201CECF654E0B17BF7CA13AE05B6E3CAB8EB2078D33D776B2307ED7D35369A84B74855A43ABDD33CAEF8D91E0598536A1580076C76E0BC65343A01FC0DFE0AD1A061F37343CF2F21078D57F07EA1EAA15516B9D7BF087A44E2EB9F9339DC477CDD88D96F7FF22B1830AF31362BC6ABBCE37283A3AA8D853A6EFC259D5337397B75E8C6ACDA204B484D8C3D1AA59D0884EF7F86ADB78EEB14A2701431AC521D6CCCEDA16FC67319E8672098D3DDC68CD803449D6A63D42163A991DB30E3872C789B08C670DCC486E143A1B5E90E48E40F3B91A37F8B92C673CB7C4441A856A134F07224966565E4377C20836F6F8CC183B0F2C9A27A41E5609606AC37E70BF7F0AFC7633AC303D8939481EFF4C50E7BA0008B063E33D2A5C494F828C9322B63316135DDCA3A6A54810512B556B9E97BFB2F7B94D18D9753C11E30293B04F03EA9C011A4CA9BC66E1671520BD0F4A244DE4618EDAB1DADA8D4C6553478203C04CB6DA2FFF45813CFD035170DDB6BAB80B6252ACFEEDC0B2EC1B4BEB9071278CAB18EA87B1549A880FCF997252F94D1C919626041061528870684E2B7358946422C73E5A6DC2E32E4D6F5D242BD2E65CD80A5A79B4D13B73D51214B88CE26392901CC1B420EED1BE9C460F6801D195CF4AE6B826D4CF479C2E1AB244E756473489DDB5DD48A984CBF67D0E492DD0259F39246DF3FF9581D4B593D3BF5CB0973251FA23B0E6C40826F2ED3C2B32A01809060BD3FE47EF06BF4B009C715C15CACE50F3CB77C48C507FA5880F8972812381A2680652B54D19114D36AC6545610EACF3C67BC435265B003CA8E7D59A55FDAEBDCF3D7BD5DF - -DABDB533CC497691DF8E87AB23D28EA5AC1948628D75BF4B4FAE50BCB1A44FDBAE1AFDFA099A87EED01567278E7F8F7B0F558EFA59925158BEE13DE6CBF14E920F4432139F5BF8C030C735374368FAA757313698363C6DE14E9A57E2E36AA71FFCEFEC64036E1CA0D4132FE4BB24365A4DDE6FF57C388900D99A6B3337AA9C2ACE771E50E19924FF3D563424EAC008260544F20DFCB6F0298B1D20506C5466884A25D6EC8059AA8047219CB8E1E52DE4AACDFDFDD915A6AB844EB8FF838CDB86F90A17DB3BD031D507B7C56548FB2BAB266387529E37AAE14BA601E057A7D49A9D1704C6E1748A96D0EC8D1B3A520AFCD994A131FE14B25ADDC9BF6F13C1869077CBE949FA2CBCB1462A123997F3E413A2B36C9E42D859E22A720E3B70D759206F477FAE12050F4EDDCFA84C17D246CE9A51429E396CF44417808A680FB64F24F15DBED460859DC003238BFDA250177091B20B0EAE0273EE004C0D41A8AAAE07637ADD6FCC2D73778DED8C73AE0E54336DC7B5690BADD784FCD78080699CCE165CB6E738F0BDDE63AE52297C967CA2823173FCC5A4F6DD4B18D37B03488AE8830538D9F74A67A31719B0F6DF6217368C30BC1B1FFF2657D43E1EBB1944F03C299AC00D2AA31B03550E31BC9B20391E4AA27E060CD03C9C07882EEE7B82180A430A4EA3F234F019C97DA130F5E004A534E470547D8306892693C173FAF3AB147C381C82C54E994EEC641CB9D60C6FCAD34953F66B0F539D4A3070CF36E17140F2511F87874F861AA58C83A1357E6F602F4567A7E1DE171C45549D936AE4AAAB8C75F742B60DA809995849C6A515E8E259415324B7410BFE76E7B6C77EB964A2D68EB66271EAE0ECB8A8CB63E15DFAD6B3769ACF1081E42D05281197CB519CC762E4F9602BA532348A7A827FEF18EB361E2B7444B258D99B9BACE06CD2068653ADEB7593CC5EE215EB0364D5D98B13F407CA2CC379F840ED59B839A6AEB663D9A6162B5296AD7A8CE90EE547CB7B39F84D6F8B3A23E19811990AA9E570868D170AE231309295B34F10EE059E14ABA9A920C198884F4A32066C1BFA6EFDC12C2966A4E53F79140AE92474ED74F17DDC9956639C1028C93A517B72832CAF37BF555A66682DF4222AC5340E43071E109E48DC337983C3E5AEEC5343FC0E238CF0968CC7EE2130B19332A20D2337C18BBED4695990ED4E23B62C6D9F93F29BEFBDA0211BB242B6C1A303B9E1FA89D3D2C7587197D906821BF46185CD8E7164A543A76C508CFC364582C6AEB221E9E86B72E5092B987C394EC766842261CAEAE1D5091D813CB7E57A27A9DB2D1F1E5E1BD6D19FF2FE1241259D65F1004240D6492045FD29ED072B466ED706FFF725B8E5FFC9F24EA221722D34D27B369F57E2FB064F7E3C2CAF8165E90175459B12B380C4E7AC4087B3EB5A88165FC6B2BC56D2F7FD2B - -CE67D78004A82D093FBDBC21A1B69E018FA9B97A6B13BB9DB0A6E8B1E63BDE8DFB6A7B7493AACE0FB3E5F276B580C2E5A247F8FC9F003CF96C0A4FFB0E2E9B06FAC2B6A4555F5F78704524858E73D0556C335F010A7C5A156C32FC0CB1440893629C41D89C011FE5DEBE52EC9AA0C6A18F4C31C7A4E1DA5E9BB132B855693F31CFD30FBD26260FE5518BE3F3A7CEBB87FBE92676099C3829813F9D11BC8B05A86CFDE85829FB771B6A8BFEFFB6C64E4BB521680F33A3A65892DB083083E065E567DA9CC93771E53084D6F88BDD0FBF3A5F6D9BDF5425DE9DCA99275004C5307355823760AD734BB09D75F6291827BC6BEFEE51B49DA9E4850B10B385D20F472087064A102D9D1670741AEE2EA28143E7976C14DCC3D9887499CD0DD48E125B06329B751438A0A0DEA63A4CEAF646645073D7FD002EDD42DE177B329DEC40B893AE172B7D867A72DAA9FCEFCB5CEE2B6E31CF4A44B3AC70F45383B6417E88E291DD938F76CAB5D31015A97BF7BD8A009DED93091A529DD7661AC4BEC0CD18B83BEC3A17C0A578D7B34AF2C7EB16AB800906E2333B49988945148BA3FA56CF0540FCF679135E098B1896D6789C52A1BE3011CF426A49EC6737799860D4CBB0474067329CF421642FE5092DFC5E4A350F1459A8ACE3FE77E9488B6D5DE09801A9E8957F63E911294C9D3904A3536697374A2AA3206F545B94A253747FC20C92C274A533FE11189B79C67767D9D96BD266F346604B2251D8BEE8DF91B1D690F368E77884A19682B2A3113499CD0878A640B634CCE136ECA2A22EE84B272E57945F60692D2CFF6D3DC8C43A83DF98C7474481E36DE19A1C8E6B0DA8E7227762BFB93B7D674249CD2E7BA7487FF82D3273BD86A9C9332111387FB17DAE8CB1466301D519AC89A1AEAE485E0469F757B031DC47F5BD8D8AEE791D2CF4737905D792AE6959311664E1CD42080DB486AB4675756CCB16A240C59CAABA618D93A1674BE2AA50C5DC183545BE5ADF7B0172DA0A558B14B30425CCE94333E196321CD072556FF8107FC08B11334D93D1F4A152B765A0CD5660C2F9965814CB3E4AA3A7295BDA69236D78C3A0F4C521275241BAA8797F0F0020F54444769563019290E84A1F4213810AD786240A2EBDEA34E47027BF9A49B769E04FAEA987BDBEF992F254874FB2EFA95434B025061E721E86A21EBD373869A53597845270D4EC646515EBE7A88D51540CEC4B840B032FB3BF7C074967B2FB8F2F91D6BF604B95E5A794BCA2E02D2A439A98EE0211D09279093696E62B9F4BA0EE798C9E819173A45407028C43C442DC9159B95B755126AC750EE54BD77101214E1C0B800A6AC42B2F9176BBD060C4B6EC37000C8C461418D77A433DD5E81B8E86B3FBF650D06259E0A4B0627237362CB6F94EDE8332DF8B1D30B3FCC02B8EBFB956C832DF4E509D5725804CB1 - -76A4F5A8D0331D03219AC8DC2655EC024DDA8DC9BF269E5A0DB238EEA315FA3B532B72C529AF78F72F8543EB763FC2298648EC3F288CE870CDC6754145B3C43013D842DE5611E4BC40B90B7D50CA4E4C4B422D54DFD30A4D10552B2800E6F9794F6A4B8F89364387A88B7B129007967E788A2F8E3D1A03711DC7924AE297DA73A2884C899126320E0EA59A6BE315E6BC98E6E66018A31D9BDA4ED914C159F8245500F1790CCF4068014D67DF51F8CB5C1A1AF9B8E37335DE7CF479CE25B3F1CA9235F7BFD3B677779E3D7DCC07B49F1AD8319A58CDC2FAE69678EC30C91A4DD40E24A7E103227B935D29AF9F024D9A90D983829341539675CA1092FBE557AD8BA2D64C2B95BD11F7B79FF059B0007BC852C3231BED070C2ABA311F6B337DCFF8BCBB547016F9E7C944C9D509132F727109A8FB7A0CD507828F48B1122B83595C9D6639F0316731B686EA3470C65AF4FDA5948F975CCAD8DF785C9075F97D50C798FCE28FE6C840F94129A8F8CCA96D5D528CA3BC0118AA9CDA215F7B48BED56DFBE7252C22154BB1B1E18DDCE05EE2012121435FE6E49278EBA57894D31FD4996317AE7A719C41F03418B17077473286BFC2191F8F1FF80120ABC6A53FAF46E8578AD5A3CC99DBEFE048B80DD56CD921FDA73C2522452F77F2AEA58329D10F5CE7181712D385C4C4AC4CDB9A4CAD905E11B8CC17F199CE635E3529D9387B0654A2B5E27DCAA522AE1E8D0D80DB67FBC29DDEFF710ED544D903ECBD75A43B3FE0E5FDA519EBB7B5C24A9762120F709136ACF875742EA5C09D79F185033727DA41737DAA67C9AF423238A69FD29481BF9D3B34547654A33553B7BCDADA155A7425FBEF84AD6D2A83769F680BB2E38B918F87691C522DADF320869B13389AB20546B7F55F15A9C38FE504B3EE4DAB8BDAE67165E31F78A8C312063EE464C6B7C2EF71E6D62900E6371CDE5DB2096054B54668E50C01890F8F2019CA99CB12BF26D16DFC1ABAB150B9E62E0FACC67FD8E4753DAA41359BB3123C9B770F6463175DC798FFC43D9E8A545447F6F1A76379F0FF0B35F5BBEB47106C82188D7653462F0A4C3BA4DEB7046CC10082D8A6E72D7A76A9B9805FE8A7653A7C1B0DDFCDB162A8CB5857928FEFEE34C6376CCD57C2A63EC3F59AB6DAD919551E77C5595A9814022395453E8BCBE4037C8079A15F740E051AEEB15AE3F6E870B30D62538CBD30510C7E481745CEFD19B3ED91E388AC0A2581741493947CCAAD9361B27AB2F15606C82DCE6BE6EE570D911FCF6A2B51B3889EE8BD37BBC0ED09BD74355269A20897F61020ADAC3F46314E453807B3C55CF3A9F16794FD4A2C7240374FC285322AA65D7222771CF0B3331DC47BEDEF346EB6B622940BE07B06D7906D4F7AED92D3DFDCF2EE960CA980BC5B7F3EBD3DD11C6999BA8756DAF838677561D080A0FBC6FF - -7662315509560A12BDFA49A9B8F7CA0C4ACEC354C6CAA161A8DAEE32EF0521357A2429D5A694FF113825F46F643D8E8F5BB25FF610880ED6676101F8A45CAA31CFC078FA7651B42E6656CF8C45AB0A309EF1217CD6D89ED320F06893D10CC01F58C4F223802EA6DCB80551E463B1656BF6893B82BC3440A445F1BF6ED26516D5720D197638EDA226C1C24F289E84376CE73FACBFF3410127259E7789F64F886A4EB94B6A8F05CA0402A10320B4E313CFBD1189727A0161C5F18745EC547211A74691BCE0383A0847393FD36A467DBDF4249CAF1079FA02DB434C1433B4F77F4D418FF4CA2EC0B2F65EA6D2CDC9D8D172DF8C22E0C46FDB8931E5BD19F397ABE6208444E98DDB1A8982568CC271FD3A134F11080F632EB85ACEC70024F33C49C5582BDFD5842D32899E4F59E61426FB3403004CCC39CB9F5B9A4E4A2DF0F72AB243D8A95C77AB8D3CCF604AD4F6DD900BC5994663504380201A1CDE5D670A74310A1F458FC454097BEE42C66A8C4D286145DFDBF709E1B4BBEF21FFA4CA46C3AEB6D7C6F8B5AE1DAF036E451AC193A977C24AC5B4EAD0E715815966D4D274392732D76F2532A4A649BA4710D73B91073D816C3F8A68F6445FFD4AC5DBEF66B6200B9242038611261B8F37AA784DCF03354A715188ABA7C56681AC24488233A61E0392630BF2329D69A118CEE92C2A8B9EDF4CA0275FA02A4400BD3E98F980597BFCD456EBCE188BE2A8307091E005F4330691E9E02DCFF6CD4D7576F0306C8C3D752757DA332AEBC900C49F345098D1FF32B28D29AF03BA1E4FBE23827489D1B79DED52435A06B5A9AF47521DBC8B862FADF459D5391BBE2DD0DE73F39C51B3A52CB82AAD1C251C27C271554F6C2868163A82DBB81B94A1726FF2E1198D92004AC5C85CF68B2FD59E097869FC1A0DCA18E080C8A7EA63048E6F4C6AADD15A6E1639697D109F69278F84556BFA0258F2F963F6D78008E9F785DBE9AC399A77B38D3D5701058EE43584BDECE0BA219FEDAA8C7694983D0C24B01602847043D93ED77CE78F0E2DDC482A8E648E3F066DB1D79099B46F220070BFA4B6386CC29551AE9A6399EDAA6AF96743B9947930B3AA88411E2FB1D2FECFA7F58B73450B1FE408E9805113F4D4F61329D9CE75733DF116CE8AB5B9165662BA662573B469DAC403D6FF8105BF5D94776C67B79D72927F72A96F816CFB7D703E549CB8761B2222815BA1B145FBCD16C092442EECD3DC964DCB44E45C23CA9EF8404A9A87665DA3410FF385B1A6E6B8CBF63630EF8FD432DF746D9CBC8482E53EAF092612C3FE40AF9DBE27B50879581997646EC51845187823034E9DE482DF857ABD0810EC0B805DB7FD281C331641ED569C95B7F3EBD321EB0D63B7377F544476664219BC47BA1B6DD9027A29637917143F19B77BDCE4F5D22DD58EA35BAD8C0BF2702A0407839A - -4D3316716C81EA9260C4F5CC4D30A0C7C9D244DCF0896704839C2C0F78164682FF803F4FE00A5ADCAF9DEFB6E19343D276F065368405E8629F4E3CA85F29093ECEB1D4432D80CA7C0D3F9CB8491934390178F6D73CFEA42F628D323C11D67F7A66C2B32B75C14B00CE63C40C54524149953FC820E89C51076CF050F67C070DDDB76BAEF6A516C655B8BF4168FEB20DF4133C3B5776A0BB46034F8DD0C09BBE196D46AA48F50134871974E61B7739E37FBA1FF0E6338C32980254C26444770382D0292555E6CFFF0FA1A4B0783EB7EF54B7D4F871ADE0980B12DE6B4C8ED1B9D3C3F506B469CD5B3031290B8DE6CBB0B06C90F24720F93B357A1A521E29E0B0581C1BF2845AED0289FF75EC0216BCDE9187EFA8A1AA8EFB3A9D4F6BB1265518033E650C2F4748F338C53501020288113CA528592303CDB01FBE9660EF6689AE701DBBBBD4F39753D4D1C4AC61FCA7E7AED5ECB9C50FF0B3B0613500D783519D4BE0D93BE4FCC92D9DD579FD9BAC875E62A4B0FD6F12122418E156B7B3249E77D690D0A90CE8C7FFC8FB0D519A73FEDEB38503BC12041CF4F289298E9D305B5D9A141F799C6992F6173CBB4042C38A1BF36881F56B59C2EE50F29900BCDA135A8AA12946CEDA6D7530993CD540BC661D7573A19EF52EDEFA938AF47B22FB524C5CE702788CBC0DC8F29248A206E4397B6D74297600E04F3F2A4AF927672ECD923AB0EF4CB5A58DD7F71FD33883211CA7D73B6EDC968F7DD4EFD18D1F986676CADCEDF1DB591DF9661B0A83207D4E880DB911F684AB4258FF28E4C66CEC8CC022A773C6702B96376851E403F6120791695CFA3EF8A79FE1927230CA233619D65FCA1A9EDCDE8557400B711354F34E6A69BB2250770732FF923CB379458BAE09471CA5E4E9BA858B2397933119998030C5042A3DD430D23500AF157E7D5FC745D0DD39 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/PCTWOE+Courier cguidfix -/F1.1/PCTWOE+Courier renmfont -%RBIBeginFontSubset: NTDBJT+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /NTDBJT+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /O put - -dup 34 /r put - -dup 35 /space put - -dup 36 /f put - -dup 37 /o put - -dup 38 /m put - -dup 39 /a put - -dup 40 /p put - -dup 41 /t put - -dup 42 /i put - -dup 43 /c put - -dup 44 /u put - -dup 45 /l put - -dup 46 /b put - -dup 47 /n put - -dup 48 /d put - -dup 49 /colon put - -dup 50 /parenleft put - -dup 51 /e put - -dup 52 /h put - -dup 53 /s put - -dup 54 /L put - -dup 55 /I put - -dup 56 /K put - -dup 57 /E put - -dup 58 /j put - -dup 59 /parenright put - -dup 60 /M put - -dup 61 /B put - -dup 62 /w put - -dup 63 /x put - -dup 64 /v put - -dup 65 /g put - -dup 66 /y put - -dup 67 /q put - -dup 68 /period put - -dup 69 /T put - -dup 70 /S put - -dup 71 /comma put - -dup 72 /k put - -dup 73 /D put - -dup 74 /N put - -dup 75 /A put - -dup 76 /question put - -dup 77 /P put - -dup 78 /hyphen put - -dup 79 /zero put - -dup 80 /five put - -dup 81 /quotesingle put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958DE8A836DAD7F577B600F60F0538BC6E9BE63C14B9A5C1A34B86705D93236CB74BA7B54DF6FEB3C84BE399C4CD7AD0CE25BBCE0768E7E850205F2FFEF00E0CE0E7C83FE769387E5DC76E84F50D4518175D9F9DF74470F7F4247F371E3B1F3FEADA4FB5B21B55CDD492B8C262754044E07CBED7866DDD095BDE615CE4CACA29BD97A3A6E111F92B0CCE11F756CEC8693DDBED4A939F1541A4415620484A189CD397C4A7FDA854BAB1A09F379841F6064B080AB059E5122EB3758D8C652C7FA937D3A9224B6B2AD407CD9F2E3BDE57F896C0CD93B661EB6FA4CA2FB3B5148DA2BC64C5310811E590118BBB39058557B2882334C5A21B4B700F2F7363571A370DA71E9F4F30A5F462F2DD51D17FCFDAAE37E2E6C7EC8A0070F4CC015C730F04D13B5391B32D423851653A14D16791BBBDB8BADEFA23EFE458FFA3F27F1B92489BC7230550FB819C2726F820E92630CEBCDD2927F7FA71C6FADCFADD7A024077674B96F73D049FC1B93DC365D14B65B8BB00204B7A694C6A166468C9A3C4B6FC098EBDB42E64D0F5186D05AB5C6260F5C320ECCBC8CE8B61930E5D954E7388DAD0DB3576E7D6368AC8E41DE0C493E7E896C026279F43686AD0404ECE7B16C7FEBF11B5387CB5E522ECA5342E6AA8773F6E4CCF1C909DDA122BE4ACB38AE27496343921B51AAA3B3761675B3B6386F98CCE96901DBDD58D78DB0F9E5DAA4E2473CD61B0F42CDEEAE3593C0D8921E59F9BC41AFF776875F43872E74827E20525C4D43F - -C36962E71B7DDE3F0B26D0A4E0F2B51E4CF6B472BF2FA066F146FB000DB8E16B9853C2B72B6ED57EDCF6D73F7E2851CECC0F404B8F19532445BEFD0F3BB32A3E80BA61E123EE19E2C3DA8EFA3FFE198C7895EA768A9294A4E112D230739DDD525EE6FDAC2DA9E95C473B10666A6146322CF466DD6595F58106C289B9AAE8D27EEF119BB5E35E308E9595C82EA20D9A49F87FA666A0262C45BC74C186A29007F363ABF9585D25011C00873B836CBFBFED3691790C0CFA9F406628DA8A6862346FBFF2E23866C7F208EACFEFA5A36803F5667940D64CD4979CA8C07B4E4409A194F990E56D1B1CEB831CF60BA6B4819FD1A09ADD33C3606B24604CBC32E927FE0A63C03DB3203DB605D69395A1BB10FC115BB819E9CA8B47B82584443E370476F993E5E27C24612981AE58BA3F764E1C353A179665932FEFD1D83D51A13A78AF3061676A1B8D699823D3C728CF3422C6C83B6FCE9DEB5975339E288EDE6926F104DD3D03ED9B9EDFEE610D66721BB4BEA5CD8C4F5E45F0669C30E9B65C55FBD0F124276052F71676FAC7EEC1CC18432BAF28C8632F6CC10B9288D55747953C29C3CE9D8A19A89599DAF55C994EB89D75AA492B52FA3C00A134123E4963E2597FE614C85B897D9EED2FB5DE4FBA23FC22AFD9C11985AD722E7D28DD4C61036E304E63C2FE0F0EDAA1B56593F1258BC893DF202CD26A2C96AEAEA5C9D0115EAB4C92118B1FF572DAE950D9EA7FF8E654C74D92B79BB74561F957A0FBED0E8B9E3A6114864A343DA8A302BB40453E7ABF888595EDAC6C4BF0E84AE1F64126AFD1D8EF2F02463BA644EA3A134BB4320032DB75EB9784D34026CAB00E2396773E47AE174E8D02364965E6CD55DDF1BAA29C51473EA102E9A3AF8ECB20C9BB91C8C51C6BDD5F0F708A8EA2B4DB2416497F3D22D9415650B89D578A6B3A824777534E11FDFB68B00749B3B5B929CD6B27C000AB3233CA376373FA7B87525D809647B9BA127581636B929DBF87B68AFF7A9BB0AA8AEAB4FABF82B7C15474B82A45EA05BE2FB0A5980A7CCC1842320E3FE456143CBDB6911DECD54FA0FBF55A071E39EF0FA7A7DAD4CB0A75CBB013B24FBC3AA5F3DC63DE4C9C980BB4B9FC0107928EE854943C18B0CA41EB79A3F2E1ADF1BB49ACEA5D08777BF0C3424178B35AE1A0BD46AA9729DB8C4540E61E652D087AFDBA6B66CB995E46DA92FA61CDF0B66101EB7D3F0BD3C2E2CED9A8474CA547C9FF52CAF232D32B6DAB7F1ED85369777ED035BED172C94300A83FBF090E80B3DAB929ECE88D2FFF678F615ACAE179338E9FCFDB5ED25204211436756B3C3E756EC369485D882CDC4B41F4B1920785558F9CB1F0A6C2F3A49443F9578CA9B3BDADAAB2EBF5E88441E5605397ED868F2418AA5ECFD451E30C9F1174A374D733493AE5AF39FB41CF7ECC66E5AAA3F7FF8A2476F44D59 - -DF28BD36F0517673EEAA9E24A80CD14E7F46C2C69412CE46D73F9ED840D4B6E6BD8DCC4400CE219BFF41825ABDECECECE765E40C48106AA6BA38D1EAF749EB2E5222443588ED288AC7FA2E840EDC550D1690CCCD2A42F85512677A17FB1C584BF18C8C8F9BBB775F5AC07D7CBB7CC8A7DF5024CC21203EC89BDD62EFC35E534AC9F24B0A8487CA78D51E8414C57F2A073E37CF7DDD903EAF9B7CD392855AA9F34F9FADA782C5278EE96C35C175B4EC52D0A49EAC5D85E69D45A804A8BC0EF668C9014121E3015B40801FEFE47D2021FD0A24F83AA815F7E82444AE54BDF1B56734A48E85CD6DECDE086C9C9A5929537AC867E919F015316578F309B052BE70E314235B9F5F4923DC4389F36295C791CA85B56FF449AE7EE7023FAAF90698F382011413759E6FF5D0C0C58A7C3FFAB87B56D9DA255982DB29C308F9E726B1C939C96F64C0B08599545CA2D760B28D9587FDB85703E938D68DB88832348F39ECF0E7EF5656ADE30ABF1F945B7B50C699FB22F7383102E50FB882BBB33C6876411BB4FEA12D71E0D578BEA95C89698F90337B5CCA2094A75947CFF75B6550EA48ACB49D1C73C4934EE4EAE8532D82AA05DE3FEDF0F2918C9AA7655D4F0B963D1B433BCE42ED8B742693C60A08DE6551F120942779BA004EB0C09680DF631BE43524BAD59E741A9ECB32CFE9253C200F5A5470E53BC5443D4D41645A62CCCCD3B8D41737AC8C85F1E323EE592902207E3C479EB0CE08562E6A25503B71F3168DCF439BB6AC40011E6BD1C8C0CDB03E99F29F0D34CEA0F3E4AAA21632F3C57CD26B4ACDC7A2C2C3EFFCA95FE74DBB60E9F3F727D8B44F3442087AA77E89502E2EF5ECDCDBFEB13E61939FE1AA4814303DDFB1747C7E255CAF16BDCE458EE82AB2F8285CA58A273640B98AA882344A88FB1360D989D46CFDBDF928B2583654F8F9A55197EF1981F1C990574B58A23280B18F2DAFC8F68EBACAF005A854E586658991DC7FD5702F16DBE3F4717477F4D6EA52404D45CA8411871CC3B6E71FE01BDA2193038D557892AE3BBAF214A5A9276608B12484DCC31BED9199A3A9D5A6A77C0E769D395BF29C9E61F3EC33CE6BEB223586D471A1B0DBD35405A8E02485E2FCC0B50B4130DEA460434C8A7D2FACEE6F10EA5759BE089877F2E2E9F4249937ADCFB1B50551A8ACD6A4BC0FEB96B98DB163BF915DCA57A92D6F0CA9759744285BEC6A8135E72A580A98965EF1478587FA6A4733D1615212C3CBABD0E9D7BE79B0AA78EF0B43766E478728BFEEA7AA090A082C7105E8254548BDEB79B5500BE5C2E1E52245D75052086FD5469A24835BBA96820CE92C43A5DC407C79FF8B9FC829EBE827F391172E167AAFE12AF0BEB21897BD3F3302A0C56F22F1B137E41478AF3F55CBBECF73EF968FC196923B32C8F6EE8AD46B6EF36940C84718BD883695960216 - -1CE7FF70156309476BD216D4E250315A420D83E961FC203DA7FBE0770708F27A25563832608E873CC392C4E43E1E0D96FA2004B6936B9C50BF26535D6C5A5FDD38D4C8ECED547ED0F00831062EA0E00078B75D13DB9EC5A88658860CE1A5ECBF08313B88B4B14BA7870A488A650C190B207F5581342449F4F6E21942C6783A4FB7AC981E8F2B11E892014F39986FF9AEE10C339FDFCD024EF3FB5C25F95BE41395443829183B935D445653E582D691E3AA3AC5351EC03BEAE452CFC6A2CFDE8C3D2A16B01FAEF5F89BEEFFDEA94FF0568F3B817AD427991608F78473DFE9B035F45C245DA3175F33461675B0D774B4FA9095F92929A7EBA399DBBD2A5BE878A1D35446961D4A3F287D968A63D0F12968E8C5494350A71B05EA405FC370107A5BED7D2FE963F84268C87C21AD686F2CEE1A70A457E4EAD54A5F7DD2BC772251F205047AC2ECDF65D61B8064664A2A2A303B705D1F78F8FCF8736DA79BA513FE262C53EAC16AE77600D9BD687B4B25FC0DA690D4EA04D2F9B842FE8E8D4E00E3FC6BDEEC8F48C79511D9806268A538240FEA0C8E45734765458CC875C6B82F6A391F8FB3ACF164CAAD2A7744AF3381D8B84FCDCDE5A505D2BB9F2CE9E97C87B70CB310122478F47FFBF759825EFA5D967BB94232B3BE5F62AC086299A68543982558FE1B604E9B7234C466D22568DFFA244B231A223121C67BF4697794EDD18CC6F8A9CE9D16A058EE448BD31BBD8CAB67E661BC6D142A1AE5EE9E66078516CB59E45F6B5ABEB8BF69FD31F0B8CD658F32C6C1E08D60AEE7F1DF06C7776A08120820A5E6CCCDF210602E843A0D343A244C864D626F698C749CC4D0525F9B6A16B76D6C028A18813FCE4A641327913846393AA52879E8E7BAFCE98D416012692C448297540EF3CA25DDDE95458495D8725FE5186E2E13F4B4DE4E752D27A6DF0DCD813638A5D933ECE3A9EA5EC0F842BD38B9CA48CEA8EA15896B5866F65195D8DDF9F5621A1A046B868C72E34C2796907AA63B454E0DB05C07202FFD14F69BE91055D4608341E4DEB007F39E1A714AEB4AB642BDD8B358F0E4B0FB898BAD068DC6F347FC787DFA182398CD8658753212C95515533081DF357449A027A369148A28B72D2618EC01ED846AF7F15631ECB092242A7D8D49A7E811C870F5E0EF5450680C5ADF79D2F6035D6C740CAAF9DA90AE9B1706F0C4E18AF51AEAE4519C921C0E5BA563219791DCFBEB50C9079147CACBAAD83306DA0A6407730C79E7974D69EA37B8B5DF1E03A610234F38D1AFD74AEC9A8E4B1A1D5492B269CA19C8FD542640AA32A6063488185FAF3DA629CBA52FDD18C74B701EC15397B41A1D21D717B856FDD6356A1887FC1E00806BD6CE6B0C30D798941C0741F16967BD5089D2F6DF789A6015BE05620418D0194616DE2A4C0424CAD02976833CD7695933E4A8C4AEA2 - -C153A91B448CF8F91D1DA9A1A43523FCB56D8B8D393D877906C138545B7BD9F0942E62A41FED3533F27E5FD9BB1EA153709C8F82CDD58B83B509412E7F82BB5E3462E95B1C9BA418412E8577F1CF0E50D42A1CFDCF859B26651CEDFD055C76367B0B3F55BDAAC786E8358EF563FAA0D4F36302FA2AA6E1B010FBD1DB3C0E52479EEC1D4A066EB8D2202D74BDDAA27E5281F1B187B49FC7203688E9F9B749F73CD93ECBCA5A73313648C7CD69D5807DC3A8EC183CEDDA3B8F4866BE1669FF7658F4C1423DD3CF8D35E1F2550DF78799FB86C6D0CE22B561C7285C946BDA548C1B16B6DD5FA9FE334F1BF4BB1F811C4416CEB91491375A6A9E6D6C324420C65B93D9617ACFC4AA5A3176869E41A547148A94613CC8A9F906CF26DAF6C2E7A732221544A6B0CB447E543164089A214AEB830A16F437D902149402368ED1F64E127C8FA9C8E014EA6126C24316C9726B869CCABCA90B8487DDF7008112921E8AED1214C62CB34965B1665898614978A99296237B9C3F1ABE11C23A3B4DB5B7E8F87BAE71F3D1D52D05C70B647AB6F31B24219AA504D69032685101CE6C85BAC930089761F1789B2F944A4A496C581EA9833F19EEF384FA4F51542C915BE159EBA90462D99A3A61DFF7B3555AE1493F8B211AB27FA481626A10023C3CB8A20EE763490A04B4D23ED02A401F7F95F58305F5085ACBEF6E2627C754DF8F0483259C3E2AF98B2427A15DA9873858EF90B136B68B2CA5F062BAE849F1D536F5DEC7270FF1EC9BE5B1AE35E795A2BBAA14B91B47191E9502672462060BA8F5E5344B995F959E61A956CDF0739B5DBF596F37CE44ABE978A911AEF21E91BD05DF27EA2A0AF22846B05D18AA3CAD94D499097C42958B6E7F1CFE7156F46387201FC89D3BB51A0761F96648477856A87BAA219AAF86229FCD89C4D237DF462FD06C53DA7CC1CFE143B3DA3AD246047CAE0930E83BD929F6A417F4E8A054E7B52AD6A7F4FDD189D3E83DAAA6A82E8C37088A8D682FD29E070A376483D3491E6B573684D708E69F5C54A08DEB22F4C673796EFC16A39F445C28E09637F4895A5FE31556B1F851377D02C0664B1EDF0EBE59A1576E6BD54A44B0F8F1B33053C566F0EBA7895B38FE2C1507A1D2DE99EDF5BE80A2404C2438AD33B57F2987C935BF274B083152D182AC1E6FEADF8A7EF3064A4FD96BD3B9C5C90FE17CD76C790D4E29454D12058CA5DC9274546E597C2F2FE3BCCCA535352F0503703DF3C7F4A36C2693265853B7D54BAACE242CACCA117100E81B898D3329C5C3A1CF646A1C9DC366920DDA6451A4E170A51CE07C722F740F296437118CEE0DECF2081C87A937A1508FEDD60DC8FF0CF21C78A204FF29329968A9F7A6AAE9D8E09778FF835A853650631F4BE7BB1BE0A31C89838C1AA5DB8925CBB0E36FD519B5A757A6C788CA3C53B4DA93577371 - -598737BCFCEBBBF3AD9F4030A710AB6E55A59486226727D8089EDEE8334D47398AD635C17AB5C2ED79784F34CAD09F4298FFF2C18462B323A92214011F09EC36A40A1563495835C311167B70E096B1887A2B2DA1D7DE9D06263B37A3E18F5AC023FA877CC009AC536D0C0E7AA977832A8AA96D8E33F1672CA8082C64FC5F26CF6347CEB851AD096F7FC72B77A0F0BA10B447830895E1E0849A29F5575C8518EA2B68F236D49E09B843E3D9F2F0DADF0D924C9F73B070FB65413EA2914EE76D48A02EFF3C751C03A22F862101A44967774174AAD95F15794BE0653D0057A1D2D27D5C5A30EEA18F3F9BE5674726E0F8EC499FCB26E04B84E467942DA4F569D34ED29D16342BC4C3A89989484D5DE6B184CB6AEF19A110FA4B89416C26A991686F49C387B41C01F8F228BFCBA4A4F3EC8996340EB700F1196181C61F8E944F5A5DD5234DE300D5BC7AC54FCA6C88A563BFCB7946A38D79F844EA2C1581F70F662F9904BF78F400A6B099091B11426F5E2C744DAA78511568E392C6062D88E30B42BB750A7E8E9677A3926BCA7B144AEC765CC640C9341FAF313308F88F11D8415D773DADFB5AA90A840ED66F7A16D6A9B5F30A88F067E2A3DD569CEE39FCBA782D6C0EBB4E9CD0A5C5EF0084BFEC871B7C0F31946D8305B06250F319554BF5194651C9BF57D3A13D1AE8302CE48C6C69CE22022ECEFB6890F74AF1727F367E118BF8C645729C4B2E0EF047FEEB099D3779CB22048057490AD2BAF82FE7A24321A750183334CEC42F3327B4214AB831BCD393D4CF56D8212FD430CB3EC7167CE8CECBE7A72B04A87D18CFFD6FCF34862336EF05B08DCE316078F813547E60D960BA481BAA346CD14C1D1ED28CE2D9D26BCD6813B84B300B7016E671028E7450868DCB153570B11D4348628E5C27340D5A38F8F32F8DAA659B19632F7B46E5974F0ECBD5FDADFC3DD6B6A82B3A3B2D64904A3FF7749FABA0A25BB54A2A01A53F2636199592F0C3010EBF1C74FE09059709A2E703366B9ECC39FADADBFC3CB3616D01EF653A6350B711CBEC10727866D60C7067563CC1511EA0561CBFE1ED41A535526EE596F910C23E78FC2E640B1FB6E4F84037B9C41A0B3F568FEE04447B91A79872F789D0EB7CC1CED5F90485BCD1DDDB73067D0FB9C5C08A9888E2687DDB6CEF3D590B0B8D18F069DEECE6BA7D95EC11DB11EBFA478F92A65CB364E350E60AE72BCDD10A3A0C1FB1AAD4EE9AFA75EA17160813E0134E07DE98DA5E25BD257DCDA64A014F6D1DC0BC40C31EBF87E3270A91F2BBF532BE93B043D892B22A50213595636EB3421ADFCD25A6F2DA31A1E6F54298450551F4C66E82653FE6A87FC19412ADD136CCF9DEF43869E61D3A41D13F719074D832DB9B315803CE7D9C0F1D600DF94220308735FADC3BFACCB2D51EBB654594BA3180C5A6A701CBE9690669E8 - -9AB0F22678ABE60F747CC5945E64361FAE9AD7BDB6D017801649590549145C1FBE9FB416451C392FF4DEDEFECF791A3BD3D3AC0ADD5C9419E54F90F876109B57D1632DDF0831BEF304FCB784E275D8F2247EDC789F5BE6A1EACC704FC2D122BDDD9450DA76B25C7686A2A9C2CEF0CFA6B13601C6EFC6D18D116C067FC993258130CDA1604E028A47E3BD43333B999482BF2D2BD557DF4DF6D61B43F779DB545FBD1F1D01B0E29ED759A667EAEA39D998CE6275C0ABA52195D33C692FDA4CD97D1F821EF7138FD70572AC4244B331FED8D142D2A00E7D8A1F419D285888F7427C822AE4302D0C2431EB015AF470B563D717A19C7AB0182D9863ECC5B1994D514F0F6EC7FBB4FE301CCF18380D246E7D2DF65BAE172C05CA3030CBAC123879A51367C3F24DFB950D30A2DEF4DA899EDC901D1A30FF75BB9523615A8C2DCA549A8ADFB87B2E6D81CF06A4127CB17A1B83BA24FD3580F4ED44A5B3F1645CAF6EC35DFCE3FD47F7B3FFB7711FFEF766043AA1BF29C6B60FA6EB3C9561C25BAD1D226A3F79006A72DC0982E00AF05FF0DF4052E7BBA9DCF88C5A32493B08E9F269BFC43EF09AD1F8AD5C29EFB45038AD77DA276986D19D8A1A22C8432054B9EFDABEE290192219766BA5D6478D811D3D2D4BD65AECEAEA5AFF5EB8607A1F8B52DF983F34E596FB42F1034835DBA2B26074B62DEE8B598B5B42015DE53116A1027C39C4CFA2742E1ED69943A9887BB8444F32CDC5521D84F2E81B - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/NTDBJT+Helvetica cguidfix -/F2.1/NTDBJT+Helvetica renmfont -%RBIBeginFontSubset: XOTWGU+Times-Roman -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /XOTWGU+Times-Roman def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /quotedbl put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -847 1979 1983}def - -/UniqueID 4349401 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92725788540EA741B17F7A4B26645F1AC6C6DD680CE8F1F60AEE279148EC39EE9402EDDBB3D94F960D3B0B296E7E68C3D0406E652095434F0F8F7C96D58E18728F4539E6932AEE08DBFFFC6F2F0E4EC573EC19B834B60372D568509E599C38AF246F6ECBFAD09DAE17E124718F6633C1EA7C76F8BA7B4DE7951A0BD830FBE4AC832BEA2B345F82EC2EF5A41900BF00CE9D1193F0CEBDBA5E4608EBB61F3A7BA025499AD83436A30C8DAF005D9EA41DF07691E9FF876B04E07591FB97653029350C42AAA5E5A4310BE0D9F3DA1AF30A65FBEB999942E9FFC28738AB88786BB8269AC0C8F736872908FBB589624486D014077965D49DF2C2839868646757AE57E9F200ED1E67266519D51AC3606C97E9F4E198F1D9DC503780268536828BB0D68C7972A450DB754A65B51E2C1C9D7B699903F6E6013B8A2A59CAD0581476A77FF4AB17573D08EC6025BC16425474958BD7C25A64F07CF44CCDA202EC112757FCF4EBAC48B23B749AE30C54891CF67C20 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XOTWGU+Times-Roman cguidfix -/F3.1/XOTWGU+Times-Roman renmfont -%RBIBeginFontSubset: JZZFIJ+Courier-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /JZZFIJ+Courier-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /t put - -dup 34 /a put - -dup 35 /b put - -dup 36 /l put - -dup 37 /e put - -dup 38 /n put - -dup 39 /m put - -dup 40 /space put - -dup 41 /semicolon put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-360 -828 1574 1829}def - -/UniqueID 4427719 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B4F1C51BADFF3495C2924BE71970B75EDF2A199B50F98194813A33F63F1DF278C402FA8A474CA2741151C063EDF31623A07ADE5C4CDFD6AEAFA5CD57E53EDE56082C385BA18A56290046BF237A57F0F0FADD7AF998F2B1E6DBB960ED346CF6797AD38ED4197EB9FEE94FF2D0944BA56B1A7772BBD5CF6F3314BB7F6DADC4938A76055769342BA7F687D03CEF741C706F34D6A26A17BCC19B8E5BDE1DA1500A9A416B024E7C814DDC2A568D9219A73BBA86F20D72A589727D3B5557D368713D460FEBC4B60B50C7BE320D0DDE3D0F3932E8AD5BB5C128AE566F29BAB9D1EF4FF3B221FC4DFA8F2C3FDDE805022E571E5FF29BA29914B7769081894413A49105DC5B91EE29AAF5EAE12B755BCA0692B9AECC154F86E1E34790DD5D2F23FA422F61C7E69512EE157A0DFC8E296F8673F6362DC02C1C458A63A4AA2856C012CE41C97C696186892296BB0F491A90C1B1A885D7361459F6281790299E303C8871C22D8201B09865923A61FD9D33542E65C9F6BFC913B1DA77DA84A8313F97BB3DDE10FC81266BEE757A897351E55C3332898FD820C0D62CA7E8E95620207D00703C01FDD210FE8F3161D3F91DE8BA1E1E28DC906548AD02AA292B8795E4E39B6269E1DD0DA446768D8E98CAE723BC2847CA907014F033DB65CA42C1C951838A02F69252956A21CE7DBE75302AFE13A5F1BC9BCA0B9CC62C62FF9E87C4C7A4AFFD02C55C3452D9E30DD9DB318803BC1E076A4E4A6C92EB3BF92635D35FBABECDABF1EB - -3EDDDB5855DF4BD11C098E4BD0A535271E03D21E0AB55D8FEAAFCBA9DA075EFF5AFF663AEB56124F2FAEFD9E6D14E8DF915218639BB0A8615DEED9B1FB320DE58EE0DD6783F9A849D52F6ED665D728D0AF14AC8516137CAF04FB930BC7A391122E794293BAF1F5249797C5BC3235E439079E2543FC03813B7C5E81F908BA7AFDB7D2FB500654BB0AFDBF138324A50AC1BB0CE4CAC40FAD47F8273B0E8716B147B46F0663E0CAAE85ED135B61D05949F760D98AFA8722BDAA77033B3376F515057FAC75AF07FB8BBFD749078437263AB9073B19F4E9AFA72D2FF67A0267E40518CFED3949140284C75BF088CBD740815457DCAE39D8B7B8785580B732FB90FBFA21C50FF566E6113A93A899D12547FF16F583A12C3D4AFF367B16E69A49BF1D10CD9A36F0E51AAA782D73E4D79C6C9049E7208CA6504AF4586667A4B6913F4B44649288A0C09C582E192D48F8AC744C388DE059144D58732A6391A69D1A77A1A8A0A8D59D2AA77025A52D18993E2C51F8FA4407DBF51F86D56FE20BBD3D6FCE2C7B45730F816D8031C5D3B218B10B1B8ECCADF625CA1FD8BB73B968F6791C6EB432C7C3B37E1B64915B22A476E48AFEBE363E0AA0EEF1D14DBE047F427B900A81724159C699EEE8AAE6D8F72F3DDB6A2DA602522026BB3822E67529F53EB8B925AFD3597E4E0CFDBECD87A21E4F9213005D1E6463E42319765D35F4451D085059526545ED659308B3FAB333BCA378D0100925DC82C97B5A3649D6A55EAA15C2BDA8BDE9132586759DF02D0ADBB6CFC05DAE64DC9087F36A29CD828E446ADD909B172D991FAB745F96A416A299FF2157DE1BB4F3E3C1666C8E3D53EE6DAD464ADB01C1D9E78AECBC123C5A3CF62B943FE8D0FB78BBD5DFF11C8692123603624DDB0BA2033B14E147F038DF42DA6C661D5C762C1AE2717861F71598DD96EA1B94B9776A44BDF4B9A0883597677B52807710363140A7F25586C27A4DD1D2D77C93A3A6E6AD34D7BDFD5FD6D615A47FE1CFA4EEEB3C94F2097E457D580D4D919F9AD15E0C84B27B1F3D9B6B71C739453CB119F20C449E04F090E18257324089AD2EA10A452D64133B22D97A0FFB40643308B4577EEE5A6FFA5EB220D7000FABA6172D8B7A62168AABFE19F2EAECC00AC697A8F0CD7113D41056D6AD29785AB2998B8E10C8E90062E4326BDA8465C87B063164A9157E38E2E0466F1995719D780C795CC63B85920B2A785DA9937B6BACA2DAF920F4C56EDDF74875A863431BAB03E884AA439E8F05094A54E75540D862C89CD957E36243BDF5D89089EC4AF9AC9EB25AF508A063AAF5C622FE09D3AEFC2F0E3441212EC4E58B8170AE1CB3494A0252B50DEC055970BED0FC305E66C41C5727CD34A27BB22D626BFB9D55739B0A57BB500AE75F2BB453FCEE74E3C5CB5AEA97B589B4928B3851F2CBACB4AA7B10EDF4B3 - -DD180CE5A3BDB3A5F3B76EE371DED7555A38F26BBDB939257FC7FAA4C23991862FA17706F648F04D0830D1F9D8C77CB72730756F6D542445678F4569B055897D0E362DC4968CC867E9E517991A826EDD3D6A74016A39A335B98BC44A24D2F19130C447028D00C36DEEF421B8A015E2CF4CAE409398A6683D8C3CFEB6717BFA2654EC2F0CE1CDA0C21B797665B6C1736DFB69664AA129CD9B9911BB33C1FE73AF3A9C86729081467587DC48046BDAF99CC4481912D7EC0CA8C15AE42CACEE4BC7E31CD486F15482B714F090F39BEEBC671897AC3DFBB25B7A0A104DDA762FEE1F0574BBF5D94289C991E6E454EF8132B007488D4CF0364DFE2C7DD419D49876F89F444B327693DFE31C2395AAEEE6095439856A0F0114AB4EE12169556FFA731D18A7A5E3829960841FCB0D4775A543DC6C7F327D44036B75C2A682AFE2570DFB0DA23D88727D3A6F5B8FBD5BCB6F8DC2C1149015C929DAE1FBBC01C3965ECF0EEC8005B1C528F2991EB5BAE2C0366DC0235D782B143096AA6A85082A841D895765CF121DCB79D4EDF41D64991A2D037FBC88B16C967AB1690A84D803F18BF7AD94DBE504F226984FD3664EC080CEB7882886C12207E34FEFE4A7611C5745551A298B81E0763D202CCEA80B1FF62337C55AEBB185882C5E77ADFD5D62193A61D7529BD64ABC1693F4CCFFAD0100C4228C6AF303B59A2B2B285F8ED9BC5A7E3620AFA35940EC8372D74D10F558FA5DB786C9333490BE82F160B7D95E60829EFBBAE9A474430F5A0EBBEE7DB5A18BA5836D170C344E0982EAA73F5E155DF9EA2BD34E7DC6FD885802D137AFFC1604A4CD8D569D0142E3A44BFFD26E79 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JZZFIJ+Courier-Bold cguidfix -/F4.1/JZZFIJ+Courier-Bold renmfont -%RBIBeginFontSubset: TQDKPL+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TQDKPL+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /I put - -dup 34 /n put - -dup 35 /t put - -dup 36 /r put - -dup 37 /o put - -dup 38 /d put - -dup 39 /u put - -dup 40 /c put - -dup 41 /i put - -dup 42 /space put - -dup 43 /h put - -dup 44 /e put - -dup 45 /P put - -dup 46 /l put - -dup 47 /b put - -dup 48 /j put - -dup 49 /A put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91BC64A62485D7C863002D39D4194FF17CC8AA420E752C449BD1094F4D1F95E92330FAC9EC5D2BAB9AF18F8B200CDEC8BF3E15994ACD70A84654AD96996492D6CAB596D1829F3E1ADFBBD5ADF8300EA07526C8C79F767BC8B982BAAEE4B3C5C0D2F3C8659D16DFE9F8680CB58A40A9E0054C240FED16B37892F0CA8E1D5988688C0503FD301A81AE769A85E3AB7D295EF95428D0200BBF4B7E382A39F6CB25E7931BB4B427CECB519509987B293FC54C8B1A1262DEB249C036B46B445737222033E2E6A627D1BFF95007859E07680F7E1AA5E60091E4E58FB98760285DFA4DFF9082480ED7C59294920CD9D66B2A314AC998DAD139047D7FF5819E7E814B7EFFC2F1310C6CBC33D1AF3485B55AFB29CC1A38AA01F4369BDD08D848937F8084BE28AE2209C4CE7F91962CFC83F52F6A24F2E005C9D731420E9C31950D7A282CDC1EBFE2019C7048C698FE260A87146F3F500F2439A97C602A92CB9AE53A3FCAC9D02CDCB37E9E12E54526E4C247896CF7FB023269BCA617617CEF2AD8AECF8122A2E9C5EC84A3976DCE1CD43B18D7E8961F468708C52714FA887D1AE94A24253E3E55D86C2AE5ADC014675B98EBF7504CD27A285A121DC2A19EA8FE1F58298151C4D0FCB0E99641DB243576AB39EBB1687ECD875DAD6A62A04E31AE1F9612B7E0A722B684DD83425009901806FC237787FC747B6C017C9CCDE1F2F175A66C35C9B202CA0851436A4B9FEA7945DB81AC8DA0AECC13B5682361ABCAC6C75DD013637E - -1FE41BA0851D003810279A1A19224BB5795FCC4EA44123150696C84D7D50AB361F51B5D87FCC33BF04DEBFF4A9B9150F3D34E0B22F0DB8AF739834B23B2D8BA461A5F1785D8B916A4751022C10A9282A8312D4F082F6E16EF14C8D916F1998F9EB34B1F6D4F71BAAB2AA0DAEACE54C0869C1DBEDDEB90536572D2169132DC1F48036F9F207BB04BEA43C1F07B93EEA4108A0C60E0A0EDE7498DA5D8E974AF2E4865BCF96583FC270E603135E00C60BC6E5DC96744C4A15FDD218CDE4414790252A7000F12BF65D4482ECF2FCBBBAF3DACA3E01BC2FAAFB1A75AFE7CFCA7A4B4707F506DC30135482ED5FBD01A8F68A23E173CDD0CD78A3AC9597BD23271EEBC4D535307419B1A6A5EFD64301A526C3E144A050392A653142C5E2B2A20398738F094916D11807EE2C0DA3D0D0431B2BCEADBF1CFF7F8B561042C7783116990723346DED2402946B2FD2417D7AD3DA72C69359D9704ED99917360B4D3EBF31126E5AB5127A6948C48C6C727B60A69A17318567F816F92424B354AD26CE12F654A9853A659C401F26D0B7119CFADA18659A96CFD2341D17EA624C9AEFD83D4B2BF737A4F4F9C4FFBDD337D73AE41D19587BC6CBBDCAA3552D0F4C6F21898082019CDE841E443731828DB168E00CE03758ABFA5ACFBDC0A08770579AD855B39B42A161CBAA2F7085DDD243234B61A1AC1173F6A6324D267AD1ECD35D33DFAFC3462F63FE02A162C1A1889193442EC9AA1D2E76994F12ABC23479D64A51EE6CEC66891E3E3D6B63B8895CB241C961FD8F16DF3B1048A39AE714E72A7D58ECDEBDB598D314BA5F108F8E9E2066F481FFECF94A87FF8770EA1B3CD25DA41732F363F815F40F7110FAAD6CAADBB91296634372E3B3C9768BCE1F72F38B9ACB6F67DB712A414AE94139B8FF9A6B40964652D2070B27D4F9EAFEF348915914C702C46E5428F9C9FD9C7D7AFD8A825E38CEA47B737438DF7F5209C43562F43657F1CDE8041EA15AAD076EE0F607C3459C877F399CA6E80EC5AB316EE3A3B2F8633DE039DBCBF096976B38FDD278798F47DE19AA4A465084F0428BCD0B992658509E0541456C5DE4A88FA79AA61A2A353FDD69B8CC6542C8AC67EE1C64FCFAEA73359FA99BD35EC3E154F32A06FC3892CFD90D7B4C85B9CC889057F6872E8DF58FAF17B155041A8664125C73FEC29E69B2A21D29835EF61EEC6D928B03E2F526F5EFFF31AFF486966ECB54CBD1C4C75D076ACDE872CA4E19A40727BE2EA4AB80D43F5FA97D026993CA6AE43AAC18A59994EF3F0A5703FDF2FA7BC997FD153387CE7DF5AD0109E4C457168C3B9F46B489F2D6C62F05DA933F6B5D6227D42EDB7733EDB5376029DCCF158881B9FE456A52777CF900FC10CC66C3ED40849EAA95482887E6D5245060F6E3F16FDEC6C113A701CD770F4B77200C325D1B6DF6E24CA1E855444880C6 - -B54CCB1AABE4211A19611C7C2D84118FF45A27DC6CCEC9B526BFA8FE2B8748FDB588F862EDCE4E9B6C167426829A9C552BBDC054659775897229F1FBFAF01F56EEE403C3E65F00279D7BF2847754A527E0A20AA35C237496B4CD2F618C060C17C150E594BE4A0472DD318C1134E29167F34EC157EF1BCFA4F780F15308D87F44FC78376D8F06287E3C5974587C8C81205D3A574FEB6F96B5E6611EA367D9E775B3C8CF813ACFA1694CA3338F559BAAA35663A5478737000FC2255F12B8AEA95244046838FDC3C74DDE1E83D57C4B3AFFAC8AF1BE9C21552BE42A0CBA0EFF0FDBBAF90168A1E5F42B120A43F09E180481709B4DF3244F9ACF17661E86379FFD118446C7D1CC0C529F50D079D2CB0E4D8D3001E909C75B9CD7FF476BFC59434300815EAD019DDBDBC385159687F3F66388F7A61B4774A1DF00D9A69127F0A86BC62EDD488346BECA52934C205A49CB57B935043A8A253A5DA3F9F33C877887CDD474F0983EF6B7AA97DD784A383649798FE2F138C7E03DFBC5C667B0D5758E65766ADFBB0714D1A862CA4514C940F35409508A9E42CEBC0078ED66E752370E1C16C6883FB8F577751A13CB7FF29FD7AD62D2F30D77CC2904DBF18E74811066338A231CA9A836C64B5C9FDC3B279A37C226F64DBCEC00F4ABD464DD80907DC474E1E1A1E08A14353FE0428B19A9C9F4F0B2ED49739B0E876EA426A6B74A4C622077EC6078EADC86017EB63C3B94745612A99B83FD07EFFCD21501B2D4F5A144683A885143891D175DA57FD44FEF2255C973D871A1CF9EA36F263C22BE25EB31B54AB2 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TQDKPL+Helvetica-Bold cguidfix -/F5.1/TQDKPL+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 207 m -(!"#"$%&'\(\)$"#*+,+-...../0)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 304 m -(!"#$"%&#'#\('"\)*+,-'"#.'/01)[ 31.898003 13.694001 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 404 m -(0123245+!"#"$6789:"$;*+<=>?+&\(\)\($68@;"#6$%\('"$!"#"+AB2=2+98#*+3CD2+EF-GHIE+JKL+%&'$#8\)"+M)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 457 m -(ENE/)[ 24.641003 24.641003 24.641003 24.641003 ] xS -/F3.1[ 47 0 0 -47 0 0]sf -146.416 457 m -(!)s -/F2.1[ 41 0 0 -41 0 0]sf -48 561 m -(2/%\)*+3#\)43#,53#%$#6789#\)%#\)",/+'\)3#\)%#\)43#&':%"#.'/0;)[ 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 9.143001 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 ] xS -48 661 m -(9/59<=6#<'"\)#>*--#3?\('/0#%@3"#\)*&3#\)%#'--%>#\("%A"355*@3-B#"*+43"#C,3"*35D#E%#*/@35\)*A'\)3#&%"3#,53#\)43#+%&&'/051)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 34.194004 22.837000 13.694001 11.398002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 9.143001 34.194004 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 11.398002 22.837000 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 20.500002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 13.694001 9.143001 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 11.398002 25.051003 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 756 m -(01B>A+789:"6/0)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 853 m -('/0)[ 22.837000 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 957 m -(0L214=CO2+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F4.1[ 41 0 8.7148399 -41 0 0]sf -294.04001 957 m -(!"#$%&"'%\(\))[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 47 0 0 -47 0 0]sf -564 957 m -(0)s -/F2.1[ 41 0 0 -41 0 0]sf -48 1061 m -(F%G#/%>#B%,#+'/#\(-'B#>*\)4#\)43#0'\)'G#.,\)#>43"3#'"3#\)4*/A5#-*H3#\)43#\)"'/5-'\)*%/5#%"#+IJK5L##K00*\)*%/'--BG#4%>#+'/#7#$*/0#'--)[ 27.347002 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 11.398002 20.500002 29.643002 29.643002 27.347002 20.500002 22.837000 11.398002 11.398002 27.347002 22.837000 22.837000 9.143001 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 ] xS -48 1111 m -(\)43#=6KFE#4*\)5#>4*+4#%@3"-'\(#3?%/5#\)4'\)#-*@3#*/#&B#A3/%&*+#"3A*%/#%$#*/\)3"35\)L#E%#0%#\)4*5#B%,#>*--#/330#\)%#>"*\)3#+%03)[ 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 34.194004 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 ] xS -48 1161 m -(%$\)3/D##I%#B%,"53-$#'#$'@%,"#'/0#\)'H3#'0@'/\)'A3#%$#%,"#KM7#>4*+4#>3#,53#3@3"B#0'B#\)%#>"'/A-3#\)4*5#H*/0#%$#0'\)'D)[ 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 9.143001 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 27.347002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 29.643002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -/F5.1[ 41 0 0 -41 0 0]sf -48 1310 m -(!"#$%&'\(#\)%"*#%*#+,*-,$.*%/0,\(#*1-!)[ 11.398002 25.051003 13.694001 15.990001 25.051003 25.051003 25.051003 22.837000 13.694001 11.398002 25.051003 25.051003 11.398002 13.694001 25.051003 11.398002 13.694001 25.051003 22.837000 11.398002 27.347002 22.837000 15.990001 11.398002 11.398002 25.051003 25.051003 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 27.347002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1424 m -(E4*5#0%+,&3/\)#A"3>#$"%&#/%\)35#\("3\('"30#$%"#'/#*/\)"%0,+\)%"B#4'-$N0'B#+%,"53#\)4'\)#>3#%++'5*%/'--B#",/#%/#\)43#9/59<=6)[ 25.051003 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 29.643002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 13.694001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -48 1474 m -(+%03#.'53#2ODP<#-*/35#%$#+%03#*/#4'-$#'#0'B#N#/%>#\)43"3Q5#@'-,3;D##E43B#>*--#\)'H3#B%,#\)4"%,A4#\)43#\("%+355#%$#+%//3+\)*/A#\)%)[ 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 34.194004 11.398002 9.143001 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 13.694001 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 7.831001 20.500002 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 1524 m -('/#9/59<=6#0'\)'.'53#'/0#'++355*/A#\)43#0'\)'#+%/\)'*/30#\)43"3*/D##E43#*/$%"&'\)*%/#+%/\)'*/30#43"3#*5#.B#/%#&3'/5)[ 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 20.500002 ] xS -48 1574 m -(3?4',5\)*@3G#.,\)#54%,-0#A*@3#B%,#3/%,A4#H/%>-30A3#\)%#.3#'.-3#\)%#+%&\(3\)3/\)-B#,53#\)43#+%"3#9/59<=6#+%03D##K$\)3")[ 22.837000 20.500002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 27.347002 11.398002 11.398002 22.837000 13.694001 ] xS -48 1624 m -(-3'"/*/A#4%>#\)%#"3\)"*3@3#A3/35G#3?%/5G#53C,3/+3#'/0#\("%+355#\)4353#\)%#B%,"#%>/#3/05G#>3#4%\(3#B%,#>*--#$33-#+%/$*03/\))[ 9.143001 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 ] xS -48 1674 m -(3/%,A4#\)%#03-@3#033\(3"#*/\)%#%\)43"#-355N\)"%003/#\('"\)5#%$#\)43#+%03#\)4'\)#&'B#*/\)3"35\)#B%,D)[ 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 20.500002 13.694001 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 ] xS -48 1774 m -(=3$%"3#B%,#5\)'"\)G#B%,#>*--#/330#\)%#4'@3#\)43#"3-3@'/\)#9/59<=6#'/0#)[ 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -1253 1774 m -(=*%M3"-#&%0,-35#*/5\)'--30D##E4353#'"3#1)[ 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1869 m -(9;\(@"':P.HQ+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -343.24799 1869 m -(##2>3#H/%>#\)4*5#*5#/%\)#\)43#-'\)35\)#@3"5*%/#N#$%"#/%>G#9/59<=6#*5#\)*30#\)%#*\)G#5%#\(-3'53#,53#*\)D;)[ 11.398002 11.398002 13.694001 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 13.694001 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 11.398002 11.398002 11.398002 20.500002 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 13.694001 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1916 m -("#6"\)9:)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1962 m -("#6"\)9:P"R7"'#8:)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2059 m -(7/5\)",+\)*%/5#%/#4%>#\)%#*/5\)'--#\)4353#\(3"-#&%0,-35#'"3#+%/\)'*/30#%/#\)43#9/59<=6#>3.5*\)3#)[ 11.398002 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 29.643002 22.837000 22.837000 20.500002 9.143001 11.398002 22.837000 11.398002 ] xS -0 0 1 sc -1661 2059 m -(>>>D3/53&.-D%"A)[ 29.643002 29.643002 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 ] xS -0 0 0 sc -1986.84 2059 m -(D#='5*+'--BG)[ 11.398002 11.398002 27.347002 22.837000 20.500002 9.143001 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 ] xS -0 0 1 sc -CM -426.63998 316.12003 m -504.87997 316.12003 l -504.87997 315.64001 l -426.63998 315.64001 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -48 2109 m -(B%,#/330#\)%#0%#\)43#$%--%>*/A#5\)3\(5#2*/#.%\)4#+'535#.3-%>#>3#'"3#,5*/A#+@5#\)%#A3\)#\)43#+%03G#>4*+4#*5#&,+4#.3\)\)3"#\)4'/#$\)\(#'5)[ 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 13.694001 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 29.643002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 ] xS -48 2159 m -(>3#'"3#A3\)\)*/A#\)43#-'\)35\)#.,A#$*?35D#J%\)*+3#\)43#N#"#$-'A#\)%#\)43#+@5#+%&&'/05D#E4353#*/0*+'\)3#\)43#."'/+4#%$#3'+4#"3\(%5*\)%"B)[ 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 11.398002 13.694001 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 20.500002 20.500002 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 9.143001 11.398002 22.837000 13.694001 20.500002 ] xS -48 2209 m -(\)%#A3\)#%,\)D##2="'/+435#'"3#5\)'.-3#@3"5*%/5#%$#\)43#+%03;D)[ 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 13.694001 27.347002 13.694001 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 13.694001 11.398002 ] xS -48 2309 m -(#####=*%M3"-#2533#+@5D.*%\(3"-D%"A#$%"#&%"3#03\)'*-5;)[ 11.398002 11.398002 11.398002 11.398002 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 13.694001 20.500002 22.837000 22.837000 11.398002 20.500002 20.500002 20.500002 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 13.694001 9.143001 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 20.500002 13.694001 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2374 m -(%S6+P*+T@6"'S"'T%S6U%S6H9;\(@"':H\('!TV&\(\)"V'"@\(6;7\('WV9;\(@"':+:\(!;#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 8.7148399 -41 0 0]sf -48 2420 m -(X&"#+@'\(\)@7"*Y+7&"+@866X\('*+;6+E%S6E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2488 m -(%S6+P*+T@6"'S"'T%S6U%S6H9;\(@"':H\('!TV&\(\)"V'"@\(6;7\('WV9;\(@"':+%&"%Z\([7+P'+9'8#%&P.Q)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2533 m -(9;\(@"':P:;S")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2655 m -(#####9/59<=6)[ 11.398002 11.398002 11.398002 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2750 m -(%S6+P*+T@6"'S"'T%S6[6"'U%S6'\(H68#!"'H8%H[ZTV%S6'\(\(7V4\\1\)867"'+:\(!;#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2796 m -(X&"#+@'\(\)@7"*Y+7&"+@866X\('*+;6+4\\1]12=)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2842 m -(%S6+P*+T@6"'S"'T%S6[6"'U%S6'\(H68#!"'H8%H[ZTV%S6'\(\(7V4\\1\)867"'+%&"%Z\([7+P'+9'8#%&P"#6"\)9:P)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2888 m -(N^+"#6"\)9:)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2934 m -(%S6+P*+T@6"'S"'T%S6[6"'U%S6'\(H68#!"'H8%H[ZTV%S6'\(\(7V4\\1\)867"'+%&"%Z\([7+P'+9'8#%&P"#6"\)9:P)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2980 m -(N^+"#6"\)9:P"R7"'#8:)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -ep -end - -%%Page: 5 5 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: LOGSKM+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /LOGSKM+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /I put - -dup 34 /f put - -dup 35 /space put - -dup 36 /y put - -dup 37 /o put - -dup 38 /u put - -dup 39 /d put - -dup 40 /n put - -dup 41 /quotesingle put - -dup 42 /t put - -dup 43 /h put - -dup 44 /a put - -dup 45 /v put - -dup 46 /e put - -dup 47 /comma put - -dup 48 /r put - -dup 49 /w put - -dup 50 /i put - -dup 51 /s put - -dup 52 /l put - -dup 53 /E put - -dup 54 /M put - -dup 55 /B put - -dup 56 /L put - -dup 57 /b put - -dup 58 /c put - -dup 59 /parenleft put - -dup 60 /m put - -dup 61 /p put - -dup 62 /x put - -dup 63 /parenright put - -dup 64 /S put - -dup 65 /g put - -dup 66 /C put - -dup 67 /period put - -dup 68 /U put - -dup 69 /X put - -dup 70 /underscore put - -dup 71 /colon put - -dup 72 /P put - -dup 73 /D put - -dup 74 /q put - -dup 75 /A put - -dup 76 /N put - -dup 77 /T put - -dup 78 /W put - -dup 79 /k put - -dup 80 /hyphen put - -dup 81 /slash put - -dup 82 /asterisk put - -dup 83 /F put - -dup 84 /equal put - -dup 85 /R put - -dup 86 /Y put - -dup 87 /j put - -dup 88 /zero put - -dup 89 /seven put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9585740B80545CD7002A4BC37048272461BAB021BD2369A6FED4E38BB474C04F88767B20B899CA7C0A15A86D4B64C76A632D2B22444D595579F3A0C273CE8368F07AD2D936DA3C8067303DEE28BD8B39AE700ADE5A9E73BC2184570291BE7A4E60C619FFC7F23CA75E2FB375F39FF05EAF066BC4062427BCF27889EB49631FED72BE6D2AC320310679663E9906694DAABD9653F300A77D6A34EF592AEB52BFCCB03D9CA38CFC2AB59EAAC06C67534FA95CE4B80A929E3D0F66A410972E68E0E515BCD69198251DD6EF56DD085AD699DBC1155A7D9FA77274EC00385E0551D0BEC0AE3A95089C78DE89048E14F79CCCFBFB2C99CD108FC8881E2F15BD8617E817E6F40EF5E6F4C93F303FEA4C81A9404EBDE15F18FC5000B23EA145D38B3820EC0507D6AFB616624D288CAEFD08EBE5DC5AB758A474B0743D533FD9D6E6EB913B04E20A110327EF2BFE954614D54AD5672C530DA6F36DE35247DA1C2AC82AD0AF91AB2871539277B4517EA02558C91DD8C88AEDF8F51CAB15AD703299876561EF3C8220E1EF6339571DBB302FEF45A9FAFF4A97881E288C037D9B2A3652E3C3C4BBAD57326A9CBBFFF5AAF99C6CB4034E07C8C2E255A517BDECA7081A434A3A718426716D40555D3B8DEA19BAA91AC6AFD9DE3EE76FEF36C27CAC2FA7761FA576C13D94BB2174E12EB4DD265552D2FE493B0D91A64DC266487E868AC63084E9742237BDD691CBCC99E76C9CB68BAD9A5CFFC351AF47461A41A4F2D828FB4DD28966 - -3F0963E3996F7C87414D67E5699262B79803EE86372726A396440FD39FDD386BCF662A94757E2FFB831219A7004390EE923DBBD3DCF6565C28A1CD7B290D1AD5498EF7F64FC55AA27528A088E6243A14E0ADE4E32EDAF27471BA3452B553B2DC20B21A611F7C3F27270DBB9B8AD43B7D82F71D547A9418FB977C899F0C6D5964AA3C9F1BB82BD53FF4A377376E0CB22A6E2402975E80B459F2C87D59CD2959FE9ADEDE242A6C463B1D990E2E34789FC0459DD738CD09131A930DAFF8A7494BDD62C8D17024919C8688568B9ED225B1C6163FD7560A448E27114AF61E8B5BA48E4A0D13A0FA7381DC5C451CA01786EC9B2217C825857EB61CC4D0780368890D6EFB943C5CFF1BCBEC719A2F2503C83FB3CADD1926E22FBA2C637DA0966C7401999C7C794E494833B1CDD0CC4279358FB404FD9746A4F99D2B952CE7211662C96A6A531AFAA3BB9B312565E2982D746293593EB056B5CDCFCB5BF93BA4072797F2C45AD95D10B374BFC2EC8E7D07F7881F802D210513956DB83E918CB1EFC3A0D9C2B2B435A8A259C9C471075D90094EDF8B4C7E8198981F9A2DD350A0C8AC37555C854FAE5F769C867050E2D617AC05E39ECF5D45B899D2BAD3B81FF58394A5C0B34B5EA64CDF1E788C63A1A923B839759F864B8B0EAA5F54424D9A719CCDF653F6DE097CAF6A56450E512926FEC900F3F5DC84B93BAFA6D5BB2E7C8E515EB99DC14D406C34206A0DAFC0CD7CA304C67564C05666E1BFF3BBCAFBED155A3EFFB1E3DDC86816E5896ED409BB445E9DA10F87F2D8259DDD9EFCC5B87E7A0DE07BD71C77F63898153237DE11F3942DF659DD3763C0AE807D2F56F07CEDEA748786CA06AAF333912968969A14914AD50FDB5DACBBD3DCDCD028AF5C496D22671D221E48BBE018DC675AB97395D52D41FABE3CBB9B72FFC8B8D701E6505E54DB98F35B517C9A86E2283D39181A9F604AD56885D2383915BAAFF7E3C6BBBF870A83714DF1FB5B8C0469595CEDD5B4D42C3E70E345A1C614B833EA256180FE9AA6E71F58F43F9DF42C695731ACF7A3BF63B2ED08B1BCA8682180D7EFF73E978FAC1DF46148CD098221EF4463A35155DC7A78508420BCF529373DEB7EF23B1B6859A66817910964EA2B54BAF165849CC988B5DC20F5B82AFFBA8EF969059B30C3E3EF9738CFDE19D560D14A333D2137B2EE57406F5D6EEF8CECB88AA74DD689E9BCEFAE65F6B7B86BA0B126D8255F724880DD1D16E33A188A3AD9BD2C341DDE7BB48F37EA98F065E5931383EFF613B830A16591F091F496DB1D53F426BD70320BF2DA5276E574131CB59425FDD17117CE08D199D89612A59F433A1CD6284198EB59EAB955BEB51AC4AD4B0F7FABD37DE021D9A9868C07C231D7BCF535A9B3E60DDA3A990B4C097DC42AA854DC3436C59826C8BD7D534D69703EE8AB766C96B46D2740E7F1 - -35D1E1921AE0E33D0B6B9E930995226B301F3956A59D5AFBED28270D6ED4A2181389C39DBE673E1D14029784037C6A4F2AD35DD9CE8274B78874E38E022C9707C7F5E28D03F3178BB6B79DEDB40426317F65C38BF2D87CA60F664459AADBFCB40175E910946A9873626F02347B52D43743F218C7638FA7A33E101710FA3BC41A9EC294908C20C5F3954CA79409408CECA1A69D309D548307F3699CC920722D7644F20212A137192F1578F4D94FE38F4D098E20793CC4547B9FDAB89789F3EAFEA45368178C90307C8EEFADB44B5DDCA993E6C96DB02D320B0C5A08068D1E7993208BAFC87B8A18F95699129C1A82C67E58AB17BB8186B0FB8762B7F9FFF32E8EE2E82DE582BC7177110F0A6F5CF579F56B823EAB626D551391E21122ADC1415056B4614ACA9D6C4F3FB28A9B739EBA268509270AA17FA00D1D0814D7DE7B9632D9CD62A69DFE8ECEF0FA91A5F28043FC961D99775169BABC49357AC264528B9928DF64BB1AA6675ACB1F468F9ADF443D26B711F6B39811FB6FB8C183895FF0618901DEBD4A781D5C94924D6D736179C62032B86762E3E247D3C6223BE40FB3E593EA2D143C0D8120382C6151C7AAC24F008D2E1F23379868B55BAC6D57B28F2D2BA9C37CFF931311DADBD8643712DB8417F393C29495F806717630B64182D710C110D1311F585D4C01E7E854FB25A1ABD91C3D264BE94BDB168DD265355014D1BFC19F94D002D02FF4800BD1A0D9CB445DE77AD004E69180BF54BDC07A437A093B42250586287138FCDC442854F101946BCE8B7F5E47F343FCFFAE5EC868CCE212314B308ECECE8A2E6E24AB4C9A71E83CB8872E46E569223BCF204C9CE2F5227C34449C7050E20D9C22E2F7BD144A1312D828AB0B7F62F9F643240DA80B0CAAD3E147D16A892505114E6C8344B57E1076110FE2C74173D0F717859924105FF1A0DCD29AB4986C1B9924A210F8E4974C4E7C55A55A2F73F2F94356AB5F470FE5331982F28022D819CA2BFEAA0EB39B2B9862139A599614EB708ACB1F800CCCCA000D023C88344A7C4A7A8351856B4277AD8C4A441293B33A3808CBE24ED43FCD5FFB741DC8F7BB6D9719694E3EF4AD3778DAAE6933969CEB4F33CA0C367B666558AA7B4AE3AE45C5866C0B865DAB2CF5A2036E12CFC957C962D29BFB53ADFFA13A0E0BC9BEB0C967AD138C86DAF4DD567E946C39ABA26B10EDD060B8C1548015927509FA3E5FB83E2A03D345C965BF25261DB1AFA2E477EFDA126565E3991D99830F12E43F1BABB52E301F106BBFC000849194DE8E6CEC991C5387FB1EA6EF618601EC92DD171ED4CF643FF89C54FE0C7583E7DBDA589523BE5EBE4F99D3DFA99E1946B2BF79FD42279FA70F3D3194AA1FD16E04766FE301291140991EEF6F5709747D7F2365AB3507CEC58493FF5F86E6B66F8DB41B3BADFA8444B6CCE80781 - -3AC4D8855631EC2F72D73057970992D24839D2ED7F080292C83074FC3A3DE1954B318CFD09C226F8781F6FE1246DC6DD9B0E88BE998F6A3BD4118754CD7B32DDF484F1D340F22E3D82D34EBF1973BD27AF6A72778FC8506EEC5721F75A36CFA04AB2EC9BE8C9A878C510C84DA908CC527BF737443D2F683BF843C24F2196E00C3B46B3BFBD24AE0D90298EF014968BDC546B9454CFF42D02BF9E5699F7AAA2AD4F426E315CFD882713E41A961F73B6C8B88BB6CA30C888A5D8E7E6792E2A7521F494BFFD95A6025E359C4F2D8A2CF284FF3AE490C3E9EC40D36EDBA7A9544C563D17AF7365E0B1616C29054293632542A1FF9ABEAB26DD7DCA9F2B6CC0ED533F79304D2620F8FAA285C08A57B9B69B3B3BE3E8F6BA2F7803B9206836A6D60FC7452C5C4E7994238F7FD7526C65EFA65C7F50E4420B7B9316CAF0CEC6AD2AA6BBF7BBFF04BC42C2CF9DEE050DB9DEB5ED294AC0AAC0F30C8C3A04B1238098AA814A2A31DE1BF3F7B1F6E1D7D417BC01254E8E5BEA8F3FE04A9D50E7FAACB2C82B4B8FE1DD8C3FC2C81C2B9FAB8A79AB5DFFFE5C556C7870A001119D63881A5CAEB1EFE6634020770BBB551E220562A9E8F4A55491BC5095592231253D317B37D02BC138EA282AC68C00D314C46C05948EDB5731CAD2D66DEDFBC67840848C60BFFEA1A628F100D084BD3CB180BE8D0B001D906B83C39C158613C5CFECCF546ED6DAA944C4852AE6A92BE306D58326A77CFC85757E9E1C3EA0A27DF2B651AB5012A18AF2D544DAF5FF3F08599B75AFB5A2B2A658DA1DD8F7B04C10993154BF41DAE3651DB417A7C83FD626CC2FFD1D901E19CDC987D7BC6A02934ACC557E4AD270948EA7C14C2D5C3AB9B6425DD9774DF17ED0CB22AD31E978D3F402695AFECE9D6C9DFE24F47BE13CC96A6666C3EBCFB1D97989BF7235602C9A1A232503EA198E295A488C2BF6C009667EB5FBE42C9F403B5ADD4B539884AD5954191C76136412B50352AD87388A826F92DF330C71EB756CECFB293F08FAEFD97226DEEA330D2E72A49D810DFF17A05911B5BC3AF35F1CCD0029208F13BA344331C46C7ED691AD171A198016B402B90CA235A3CC7C150C4974E60EF2EA55FD67B6472982BACF29821F7800D0EE951AA684A8BEA869812382C83F433439D252C0DF57AFCD5F59BCE2F2698EE5920F08642585241226151E4D7CA2EAD4FB8AFB67EA98D173728107DA7CA9998B8FC2F9A532566ED9BF66CC59237308ABCCB46D9185C21ED22D8781D828E036D0AEDFBF57DD79131C3E008C3F20ACF0F9C2957E8608B5B423576FB442F99BB0A092E731151ED8A6DF766F14CC598BED6ACFEB22F35B15F181DA0F313A91ADA1A5E1F2382E8B46FD861F95387256AC5C19BF8E5B23E908CC2B91D52EF76205F0A3871901B01A2760BEC6DA32E1352B6F070C273DA6BFCCF747B273CC - -C5AA1290EA1EBC8817D31D6BECC35FF33AA409D00D19CF8385E7F04AB587960E6FA364E78A68352316497D9C96DF7873C50E76F725B149BE2FF5A4E16FABE2BDBDD71D62A13C7E7B1C455F2F4687CB48CFCE6D254F2603202A57002E959AB0C50E579FADBF28655A02C0693CB2FCCFD8EF369FF86393EE0309E3A76DEE52FDE089CBD06262783D0D7D528AEE3B9CE46C836F9297E5A7A86386A3A0F728C00EE2F66CEC58E9A2275113A0E35030676E878C3F5E31E9033E646EDBC9B66D852CA2BC0B8210ABA9E920380ED17F74FD10781AAE6C74C4A5BD670FA6477C984A90032C66156D75AD684D990165CBDA2538A45AD77A362103B574A8C30BCA622E97AAEC5C217FFB31B884ADCF3B6FF2E0B42E761A1511B3C63315D130DD86F0A62FC903296AE44853A11100222C0A8C99E4B72975251AF3417B2895E057E105D1879080CCCFEC85722CB3FB6799AAF22F1AABF221A1C606C6F96FD31A2BA646775253531A3193B5892B457E56049173F1DCC943ED0AF58DD4A46F2ED203801385CFA77F6C41598567074A0D29489986DCABD52B4A30EFB01F2B08DE8E55AFD30CE120D37EBF2A565EA0CD1C08BE45539FDA1E49BEBEB765F15046352F8436CF4CBF77A1BF8F023DFBF1A916A1AFC6FBEFE4EEB615313220C0DD16682DAE71C37838D8CF99BD8CE62F98EF51988062F91C5EF9E1FE180AFA43304457F2BC0B8043E275A5451C54C32D20FF9CE0148A225B7F40F77E8FB434F7A4CD70587774B24F24A5A1A03F376F8197A16F7923A7E6A19A00C3F53AFDAF997903B839B038B7ADCE694CF2AF344B885E673FB2D89C8578DB52AA08943DB82310E5DF42E71AD920BEEF3D3002901EAC3CD5950CC12B3B89C62BDB663AB17BEF1BFA95FA7B976739E1BAE336B090FBCC0E2B49EF0397B11CCA762405DD9CCD4E93A239FCB9AC517A4E911E0EA33CA826707869C595CCA4B7C32299742B74B7A14BC1819FA8BD95A4B782BC2D448C82F679D19377363A1F0D88C19556FDBCD97765F779218A1851AB9366B5642281DB5CD8A451773D875CD4717147773443D25CE880BBCA2BDB59C3F0370D8222E685128A4DEC7945D9E0985FF6F5B90715FFE1AA88E8D0B05B8F276F2AC0346AE7E83AAF410FA6C4C7962F7134D9F932EC0D3504E7B0CBE8E19B17D7D1D1858D9731463C59263E12B4F3BD7EBC2BC6A8DFCDD858D477D80B0E3E44A6635AD6C6E7D1136D06BFD8167529DFC27E0845F1E5EFADF0AD7EAF55EA07DD25CD5B8FEF540B19EAD10224147A0BD75E2D8A9573ACBC29408A64CBBAE00C81B93C7DFE5D80FB5DA0BD3C9FE163BFBED38F61474A68673644D9AF02800EAE5EB7329E72FCFF6976C7F14BB3E2600AC2BD395FFD9FE66893D31B2206174E1C740D97FBF9C0630B5326764973E20FFD4D3C72E2D0168ECEA059C8965336D40613C65E - -5B05FA1A049CDF91B971911207E964F08AAFFF298696F6D45E6E935A0B50BF35E5603A44C4F5FEB5EFEF15902B82DD1DE2381B3A54A8091BFEA89945BD3C617D9C2355E599B105E703AFED994666A05028D8E08E36F80EB32DAD2295FE10FE70357F6067E3724AE6A1745774FE09E724FA36864F713083FDC7F002E16D844B04276E0C558DAA829D56252D6331EAF55BC047BBF035919E721000413FAC6A8F88ED4412F49CABADC7F1F4C2E30BF927CE85311130ED75A6F4E0AB0CDC5C8A9ED1CE13FF976A933F928D02286718444EDF449B5159A3C7A1195A42BCCDEA58956A53A39E1745E0FB4E083C45F05D92298F61D088F5BAD2CB7078D23F80CE352346240AD4D2FF8747CC672B9900B287170D60278F60C398572E8C57393B152E03E7665730E6F2B1DA47A938BC3E99349015C616BA3A6403C718C9B6D6E7B2B25A64D2AD905F7C5B5EF93771927E2F9C31103A47C8C4D506E263032F2178159BFD04DCB6F59DC9451CAAD07625022A372E04F7D4EDA3DC6D436E4A4C0EAF71280127902EC2B17ACBE648FC7E7FD2C09D3D5594E199EADA73425E0D28C7BCB15608FA30C20510C97AB4E8CF3A0F2C710D32E3F2950D1B67D12C8181936CC0EE9B199E18964EB9159C2F5858E4412151E4871192C228B3D33BA96F221E528533AB33F3627334A2087E582A0BD67F1D896B12BF1A1D5157254384DC40CCEE5454E751712C1FEF037D86432B9DE89FDE8BB5FF92D97F38F9A0788181A67B76F03AF180EFCD08966C7940AA3DAC3D9048D42E837B92C3829B849424E5DEF5E74163C5657728A1C47B7B5AE28C3C9BF66C0EBA2914B499B809992B114CDAD5DFE0981323C4C236149F771DE8A385DC3C4860855FE82CE451ED095020F2AEDBBAA196785C7892FCCC1544D4346D2CE133960B1A9A0B68AFB5C1125FC79C1BC95B5209BD774E713CF3C67C1922A0B030213FCE208A1EC7094F5AAF64D22C2E94AB246FCCF18809E4D69A850196F3523824E09F45B72C6B53C2CED11F2D02FF1FE48D0E4BAABADA633A6A1CB1EF60A4B84D5B01FC257C4B2F775FF63E5E2584E292F0912208E89079E44341791FB979E498C0BC589334FDE38A733B3AE004F43A9AC51B6C1ACE888235FAE65AB1FD2B1967962AFA47C41A650AE178654C23AA86BAF61563A36C4D997807C0E5AD4FD1D50505C56C8357975D4B728950FD03E0B47E5D03594B5E6C571F750A3130C00A169915D3EFF26BEF3E7D857909E63AE9B32BD07D21E044CFB5C37A17D0CE003382FADA7E7C64D71BAD8D1745F399E09D26C745B35B44D40434272F6502D7460A947283C6DF2D1D90A0DE0812AC618BFD6F0B82A4E41032BFF2BED29772528C86A8C99D2BCD0CE347F40F6E2CF26475789985DDFA704C82BFBB0478B222327E6FF7063C90A50E6AE5459E847D4A2F79E2DE5CCEFC8C2CD9 - -49921989F2CD13555CF61A7793B64C7F753802175F71B7FBDE8B249D79BA518CB7F48BA299739B6E3462C30DA5A0A9744FC31C9A8DB7114290ECBA751D535D5DE92B018E0B3DB06DFBE58EBE9CBEECEFC23ADEBACBC5995491A6F0D3CFC63B7E3D811BD6AE203ED6D0D3921B06758CF43C7A1E5F3EEBB995F4517767A7CAC14E87F56B4A7A727BF53A779B6017920415236885FBE30D2B80503C8C0B34760D3F10BC3A986EF82250927FDF75D0BF0E6B0C3112E9B552F2858E5BA142CB3DE7859C6D9C8A482E5BFBF376069FF830DFC83A8CF55F79A3874C17C57201AE17E6DEDF7EB1054DB74E17885754C2629B344518859EFB12F75C9B3DC6670F05B81AAD3C5ED7C581256044C045F377C3806D1E8D0655EED33330105C91EA9FA86DDF827EF972EEDEF9D0EB999D9AA0593264F95B3F9C475B89F7176C0573E1669F292B1423354F776B3B30859A782EA6B9A5687E2A6CEC98187D3CFA9750867202067C2B82734AB9E0631984035D07569CC23A04F2C48DE88799D6F87BDBDF87BB00D1499DB41E02F2728425EB06ACD534727E96A32EF473E58ADD7EBFA368F4201B62934AB74D4EBE619D2941A09456BDF22B34503AA6BEF99B68024E73D942C7B44E9632D253B9A25CFF7EA2CA5E77ED893B77A1659DFBA27DDE2EE8B674CA9E02D9FE8F521A6D9400E09996A58EB7179E0847BE8C8191A089F7326574373066D23AEC2052843F964929CFF9DA9D38A478E0D8616240C95625DB355E413B5D87E41F8A812961823B6A49E1BC6D227CA50F86BD26892A87659EA55FFA8F0CAC763C432A629AA842915CE23EB8B1DD1235D30CBAF17384D1D80225A7BAEE3CFE7F9D6FFA8B9E0FC8A83EA7AF145DAC6B48629071CF77ACF967AE8411B66E7E569D97E61415D79EEEC5182170BC81D2B244871E680BCB286CC0A8203D6552EC0BD5E9CB0293AD49114225AAAB8ABF2BF8CBE70A2D1CB76F80165644C616B68C0969394F5AE6686ED38B913B1B0F391CEDB62D6BFB59E3A8DF4C4B07AB2FB0265444DA4FFA645DDC8FD1D79174B7714C43BF6CE45467B87541F6B1A90C9E0DEC900EF0525523212A1EB28896A38BF956E17327CE26415CF24469011360BF5F2FEBB9CA37D6D13C91A439049AA5DFC28B7D528E3B69F747DB12BB1639BD43CB8103E1F8F5D384761DA57A20D89A9DD98E3A8E47C7B33499E9C8501A976857B2C9616948A8B6AD64625556D759B42535D9F0D8CF9F8F8AE9C313A9E7EECE351A4FB0CA35214C61915E5C7AD4DEC8B76DC4BC9AE7AD068FB696712F291E7EAE7ADE92F54FB3CCA49BC4ADBF1EF1526029402CB4BB783733861E808F51E680C6E9498CBC569FEEB09B5DCAE4209568FAE6E459D291944512F1D72249C5E6607B491C4926CFCCBDB7B691FF5B0CBC4B6DB51008ADD8D8D7702645750B63F99776C77308CC83AC - -DA53121315378FB2FCF339284F8ED1B5385259D163AB44F0A7B0B192DC7206F200606505 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/LOGSKM+Helvetica cguidfix -/F1.1/LOGSKM+Helvetica renmfont -%RBIBeginFontSubset: VRGBXE+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /VRGBXE+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /h put - -dup 34 /o put - -dup 35 /s put - -dup 36 /t put - -dup 37 /k put - -dup 38 /a put - -dup 39 /period put - -dup 40 /n put - -dup 41 /g put - -dup 42 /e put - -dup 43 /r put - -dup 44 /c put - -dup 45 /u put - -dup 46 /d put - -dup 47 /b put - -dup 48 /m put - -dup 49 /underscore put - -dup 50 /p put - -dup 51 /i put - -dup 52 /X put - -dup 53 /y put - -dup 54 /space put - -dup 55 /D put - -dup 56 /B put - -dup 57 /I put - -dup 58 /colon put - -dup 59 /q put - -dup 60 /l put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C926BAEAB28275C745AF1AE9BF51BC067C3C015CE8D2E034177832EFBD488FEAE4EE7B0BEF068B3CF58DAB8DD95D543A6D4B68C0CD6F2C95F6C08AA889281BEC3D91A20C36FE2ECB0CB308A2D62DB12B9A5B42790958187E3E31AC8D4B2DC6A196D4D836ED1B24B3154F9E58555055F7D8D95D360F897E0D39BB4F9385F7008923956562F21F6A94321A0DEE84AB61F37DC64B086C070F55459AB0B7483D1A194DA6AF7F69DFAA8FB78F785FB9B8A3FFFAF1EE9C3CE5B57751538E58480A260070D545E98CDE62A8DF5419DD1B52CA5B19FB54F6100487E7C154F78B37BB3CD4F94348E7EB172BDB20546D4DD80AB07C8D6E557A6561643A7F60C13BEC33969D06B18A9CB85D6AAA9214173CB8CE90C7F789B407A7757C2AB099982662DFD50272B060A6D6234B2AE85A1F35B2B4E03A3CFE7452A4BAD89D2D2C6D3C05CA3F5B9422594BC6C13323E796A687B365A0D587C4DC6DCDFEBA77D92AA5709E7BCB1FA36B81B95F43506DD0E56A3750566FB1F100A985829396912E5F5B0E10B032A552ACF5DD47988B55A0DF232C91EDC54CC36FB88841590BF615C9545BB1A956D9DF02AF0483953DB7A980D4AA058467035956279B55DEC28B6F701293808FE807E65F60D96E108AE0DC313A91CB7B22887E63FDC7F05C1B417981CE62146709B819880BDEF0F367FBE7BA582542916BDEA7878FDB744F3891D0E4C815EDE3A9BD070793DD2BB9E0FFA90DDD619CD6C762F681CB1529018E7FA9AA775CC6BCA56ABF1 - -6339AA21E8649B157EBFD697486500D7757560F2826AA5C8A57A9678FFA8A2A496F74006658A4656B7621332830FE7634C8FAC291940FA045A6AE8D8857169716A81B206DB3C9A4BD4F7B76C8AFA9278745B5D622759E2DFB6E20FE2E44AC65E937D47D0F9ECC8B4673D99F156D98BCD7A5FEDCC2C737106F33CBD47803EED8E8A5DC54C46AD1C4CC443A626AB57E131F8E42C38F77D5766BF24E364A2DD7492C34C8EBE02A12684F4EC75A497D95372A1606FC3B84FFA6B9C4BAD3F659B9268CE25FD0C40D4D0D130129398A9DF943A821ED7A99E3C6CFBAAAC721DFB2A010A1E5B919C39F1A3145D1B98AD377D7ADE43A95D5AA239605D80B112FE643D48B119E3F6063AE66C0240560528A6E5D346AAF4D98ED0C308C7A84D184BB7E97369D7314A4C8DBDB6AE9E135E9D53ACEB3437E9CEECDE3AF72C4F2838CF1706A33CA3649DABAA9FCC13E3EA8E506B6BBDD202BF1C0AA0D1555E238539690F1B2977714604FA85563565AF0E3E608B0F37F1A8D864D97A5FEAD4A1A6C470BF3DB69DC7EEE9BB581A0F932EEF0942E75200BBA53AFF1F2CCE218DDA126D5E15D77FEE1A8D97D19FC59D02B191B0128A690CCC6645F3250345B5F1B105A60DA21C80BCDB77F1AC6367A94B48EC6AADAD076A207CB04760D529EB51C96C1B4050DEF1E68174C1410A6604FB4F85C1F204DEDEF8295BAB73C8EEC59AFA70BF4F7ADF129CA3C7B0B0E60DCAF72F9DC22AE7895C5E3853D36496CCD1B8CF54ADB54F1A8EE24BF1FFE7F09B97F2E7014EB59330764DD4A202F7166474C90158BA6EF99E73718B441C4A66415945D20E3A928DD0E85F7F797DE2741A85E6D62166D1B60C75D4413D1033640947DD763B3469DE15C9F415760CB9D56DC4506B9D701F9B29E12B477C80388E50886C7B9572D655A5883CEFD03765E2E98E016C277AE778F749E5696F97202141634975B6B8BAD7CCD137869E9DDDCA99580CDE3FB25D2343FD39F03D8709263F1D033D6D1FBEF0ABA6E5A236533A24BD5EAF48CE40979915FF1795E1CCFF3C779134E1D58225F48008DB020475E9E901DA25C901C91663AFA0530F944A0D6D5FC11FD984535ACC1FC51A9A2B5B7FF9E36F24D19EB9B9B981D4115AD1DD1B2F107B202A1C1AFF68BC69C6BA6C9A2F2EAD88326ACD3FED4FDEFBEBAEF93FBF884F3CA0C791188D07466DAB3F406C48A12C468F99FE0F73F2CC170A4B581D4CEE794B71DA96E6EF26FF3407A0378BB6D393BADAC3FE03072BE35690DED3235EA6CF6683C262A8BB4D6D3C34B9CA23095E9C7BD99176F547D8F7337EF0C167221FE1684F10FA8F4542EAF3996B2857BCD033D359568BA4C83AA3D771AA8D72B78A3EABA9F3B69FBB8CC24D9230C2B51FA55A82782B593BD6271615EFC9853C66168A9FFAC2EECFE974F4B1EF7A27E562F9F497F2DAE6C7390B2EAF61 - -3D25B3097B32E7DCA4C969D78518FD11FAD059FEFA826AEACFF7FF1D77A3EA7516DAD23C259681666AD5448A40E7BA12FF5E4CD56F279B91447A0EBCCAECF6FE6B573FBA895AD3C0764FEBDE913B517564476F44C869A33FB49C53D08D51D6AE25E03B3B52EC6C997A528218BFDE1E56CE24282EF8AB41D0F521DF809C7D031CBED347F80F53C7FE89CF60AF5FFCA6DF5790C09A8DA76FB75E30D041986BEB8AC5B13274F694EBA1EAC38082C4B511034B2F5F5D8E38C3DC7ECD333F198427B80A2B596F3D8E47F0591EDA741AAD726FF3632B276C7F0BD241E63F5F437D3DC09213D34C3ACF18E3389CAF81558C2AEF2C43F1B65DE7911CC769B4F819A70B3D6768A11AB905BC6B1858CB74FCA57268406A73E12D5522978CC0B275E525D1EC2CAF4DCCD7784813C4AF7FC0FCF9F675783CB8D18399CF9F085C36D0CF9D97713082F1AC7C029AE728BC0A1CC1C665206E6A84678D1A848E8DE1F7C431C4D7F98A972D9BD68C7BE7BBDD8D8648F97B4DDEE77B0E57ED0A3EFF12EA1337831F23BA851ECEB9036E7C5511AED10D8C667D9F7649A04F09EB9574B9809FE4D5EEDFF3D89DD73055A021E52EA6BF97C7A14EFF9E52E02328DAAA94BC648A053064024C74BF7AAD7B4ACB159318B85451D0212C886B167C2DCCAFD189CB37802FEC34B5B2D6EDD6E153B29E2684351E6B032EBB1B6897172EB281D4D43D1CC06F2BD4DE53975E4DE8884E461B918979FA0F44F3C593B2C4DF5C561B6D7D5DF9BBC95A355D3AA2D82687D21E938D4EA027274B94346B9AC0F771802F4D7B494BCAEC6412463F3CC6ACE653D38F27471EE7532FBD913AFB45E8B1DA65FEFEBD219211E454957A4691E5E9DF78475C6A1C60B2428E9CDB357A9421692E18C66C0D201F312CCB7D3D2A99BB6D3A545AA59CCBD0629200DE11F6DC77E1E9DF301A9E28543A51F9376BA329A002701B2E84407FB1609086AB830206E5C3BAD9A5944B0E32502203C76CF4A9DC709B7724CD3BF741D13E339BA4B8080BB3E07C9FF6644F575F86AE8BA6FCE2E5686A04DD9536F29E04699073E7FB808006C7AF6BEDC3DBE80640E90A3A8694F6846518AF645B6008D9729F74E013488C547E1D031BDEA0294D989BCF97E7A7C8AF37F25326FF8AED342764E2662715736C4515FB309E41B481BC72DFD83950F9269C28DA1FC18D3891AED73C847FAAAE6EB91B5EF2C141966CA2E0034973F7E76AE8D299DA31ECBD8F930AD63E081E746143A7495CBFD690D1A0E221CAC98713FB9669314AAD65B18EB3212820D84B508B17C2BAA8649B3A604A8EA71BCA175270E4F9504244B21E37B11614CA40684CACF39EEB1B6DA3150612A83BF280E54916D9D533FF6E788EE07599E9329A214351F96B561EA07D757273A8EB5CF4F1B6F271496ED9CC6A567D3989CB78BE7D06874668A79FBB426096 - -DCDCE0493A2AA032D3E275D1F3CB696F4F7E8EA27EE13A3B0C8F0866DB46C8687F21FF30B53729C8C60A449DB39C176E41C93D53F7E3A4B96B0CF8B64335A52B6D34770B1304642AFE42C65ADBA86E94671C225CE1B73EECEEAFCBBAA4F44597861040C93D3AC9EE2A91888E36CBF5F1FD3FC88142B47B4D099CBCE249E063AAB26A4AAFD5BDC7A3E6CACBADBF1D01E8759446445034AEBE760F3EDCB5C124A4A2FD6EE235F7EC46A9D1CB567D4EDA29F801145580C84C4F256EBFAA9D16D7896313D8E66B9262A9A112B8AAD395E159DF388C94569BC533377AA661F7B57BB5DF749E1D9F0BF1251DE45BFDD01A73FB9E4DC598A8B8F72F5836A63CE9A2DAD3FBE96ECF29F359C18A7EAB102AD117339CAF7C42C4A22D2F336625413CA6B1218B916F721A58DF807BCBEB2980EF822DFD629C453BF66DBFA020D620F6BF1888082C2565BC7812CCBC56982AE37DF4F01AF47E996E67D9E318B9F3163C2A2A240614F52C60E1860B6361B71DCF428EF045E1985661FEE48C2D6BEC8E6C8345F8810A1D310E693AEF4F0C41987A857447B4EA87C1B0A7FBBEA9AAA2070AAA9ADE88B55B059203FF6BDB64C1F3815336C29B7FE01160B197CD284A70EB505841686D0EDC367123EFA5B4566242729C752677C1EE574E8E61F3471B681CC9E51AE663A9A0979C9F73E019D81EAFABB17199BC63D83CE4626495A74515FE76F7A679901E6E1CF366C4F711884D620F63901D2817FC93A5E8BC74FE389D98973379F55296E1123EE15FD330A92B83205C6817312D0C920EC19840E3BA4CC15EE852012128A0E4F7A93C7F7604CDF5A230AE031361CA7FA0E3EB867C3DF8CE3DD99519AB63AAC86DBEDEB164811E5AF9720ED087CB0860FE46A59417C832E8905B6A868B006248546651B94537F84F03C9623A75ADA79737CBEE4C9072E361D8C5852230B1AE3B23CFCA99598D5F9913779BC160A40BD148C5D895109253915B652A638E0280A3F02B985AD4EE155E6F434302867C88D6416F51BFA6325E463B33749D9A2CD2579F644C29792A7933FCFCFEACEAA4B736250734B16AA0C2F31721538B3548A4673292E93B1E24C835F04ED0B3B90AED41D6C2104A646A8894942DA800C41D46CD895650CCF9DB96FDD2FBFD96B121A64BD89544AC775D8E832969147FC20DCD52FBA1536780DDFD4F19B736480BE50BF4B58D4937C2FEAC8D6B760DBB43330B69B2FAC98C4729C715BFB39BA4EE073DA509B53F63494784B4670C5C0721F1302E88B08B06BC7C30FB31F5D92B8411D8199BA6B438BB68A77F34E83D8AB3C66EC53A228C92F01A06C61301ACD50D5863ABC940029B4CDF98AD64CD02E82B271EAE7B62B3221CE8085E7779BC003102D302D45B9CBC6E70644BD2919466A89EE78C760EE6E981D3DE359AED6FBFF825A0964E693B86E036AD7E5E418FFA - -A39815D6AE67556369804364A5CE17EA7C2ADD5BA1903BCBA6E07EB7E6F8D0207DCC59AC83A8187A925BF6CFDF73BDB92E35A22C8358333354E826F1BE354994149F20E4C233DF68C38C3C54B92D40EE75760D9701AD122100BF5362B55A8CC12079AA773D3C5041B535D8BAA20BC478A2A1C4D80BBC7C931CEB76123A1CDAB319532E877924BF1953C4749F50BF685D97CDADD6C05ED75DA813488494C7F0AC1211CA1D7793610136232A005C426BA560C08550E8E4806F1A8E1EA3C6E3340FEA084D746727B2FEEBC6830164AF91C7F3606AC4F63FB3714B97C9330A47116140D577F35458ABD9B763096EB726062CD3839F5AD7820B2277BB71098FDEA400889A3B2C6F0BAE5D9C07D40DAA668C7924C04BDADC8804D02700F36007D4E35D2B05DA5264D3380AC6DB678EFAFCA861B9A445729309448589C9ACA4477DA0F9778AA865C0C6ABD0102196885F5C5A33BDC0E5F89FD294867D7124F168F559A843E2EFC21C17B6D5A2B0420D0A1CAAA32FA72C33FCD958E0729BC546C7F7F955868E74E9BC7ADFCAD38DC1CE4BFE5DF7E6CE1EFFC48E8DAA3A39EC3888B7950552D1ECE99961895386D4F03AD33B9CE7FBFD73E036C2E6241A238658BA431A1FD5007DC878139DB370A85178DC6667C95E8533135B216D32E424C9BD4F048DD75315D1E4B07087D76D257660C613A4FA7B68734412533E14FCEEFED65897C144A3C5686D8C323EA18C0B4DD6C56509C24902C93178C5304718CD543C750ECC7AED8EBFC156CF2C9CD93E13676A1F5FAADBD317F5676F9957499E66C4C1C672B1AA334990EA1C6265FF7598E66A06877E203AB8AEAD872A639955D788747762A441B2726FD3E55D11B1678C4B15538DC0DC41DB79160864983F45B66D8F966A39AA4180A69AB902AEDE16C27BC3DECAD8F7C45D656E9CED1BEC17C7F3DAB5132F2A5F9E3787E7B290E60457FE84970FA24D35CE0287F1EFA8FA32F495E1EBD5F23823F0259AC7C838051A75C2ADB71DCDAD68E65A24E3F283606B54AFD58E04B52A1646D08F1BE2584C4494678C3E4DBCE675F32D9304B668729025E4B256638A77E80089D6D7AA953032F8A1875E2ADE48F269C72A2A936482A29CD295EE3E8102025CCCD7562D67F83A73135733C46E348F6922D073F8F6E85032DD8DB55157293C8E9F65B1D5971DE7471921A809D0C215CC844A652045E7BA31E35954E0052DFDC32593F6FEB44598CFAD9B552A787B3BABB80D6ED6D23BDEDDB43739B869F7EDA6937363934A1E197A055AC7B6C7A5A72066F3BB457306F785C695197472245F4D0E03057484E1909CE0B8D3241C19C5F3A5313696F8E44AA22C7A790947E288FE143956EE4B084A7A9FFBB65D68AE53C4E259FAE0BD1EE45EC1BB202DC87AA8BFEBA207B703432F5D1F2E7686E23B166F4B9962FA735E47484BA3E2EE4D - -B998E4A76C26176D640F6C7B3568DF9B4D2870A9B4517CC97847390C620362EEB97C9561825E8F4867AAEFCCAFD3805CE3FC2DF63834088EB9D6A8EBDDB33440A089480F4F5B353E02CAB40EAFEE98389D73B1C2375F1DD54693D04FEDEC0A605A6F08BF0994D0301F5B26C59B4ED58B2767AC44E64438D89557B809CE395C89B31B8154FAEE273F4C797836816961DEBD03C2A4920C0EAB748B97EFB4971432BE103C731AE4560E0B1569C4B920963AA0C6FFB48FD0624EA854D786D0BACBC805A2FA7B1025854B7D448A827AB30F5699246700B80540500D57D659B3490243E9B0E1C5B2657A21FF6545DF011B5E081F35E411345CB342317B08AE4F0DBC47D39C2307EC9BE0A02BD3A84C65B6022C853F0816D366FE5AC37652E510BA190899D38763517EB8258CDC34B4002C8D0562F2F506E3B3AF974122F013FF7D7E34DB34D727FA70DB6A2216FBE5495AD238762C5374EA6A498A4E6CAE954B1C7E9E0B6F9B5D869225857EB22D7491EDDFA183C5C06C16602A258E97B6E5E55AAA78D67A66834AB291D3E56638D8BF8F1F78588A814112C8DD3F26AEEEFEBF325DB0B294BDB62E4DB89A0A635ECE0D96C99C12C887AD9B768338F75A710194D32B1971E619E3E4B067897C3062343D0BC573FEFD487E7A34169A410C0263345C32B4BE860BBD0948C35B31DBEE14A4755AF4744BA0BA46D559A755D21650A8C5D7C5662FADBB56AFBC019B77B77C5E4269B177603931AEAE8965C89566E6572B90E8F0B70FC95EA2701C44E4128770AB5D1090CFD44FA3A650100043954F3A8BC63DD550665EC1167901C86BCE0BB81244717A9AB2D6320249E534811E9DB1985C838D9EF1ECBAF367FF7FC8403757A881E21E79495F6E9DF1A6184D4EC529142BF5F8BF0721C5E1AF8D12AEB99A46B120BB089AF577A47D35FD65D04461A6455A332D07FC8FAD4E9A10A65976B2CC1B9BF41C72E0473B99015900B73590AC2F98840E3C209F2CF07B3CE1589A6AF0AF9FCEF61A7751180741C089BE0D2D8DD04CB60DD92B528086DB5F2DF639E44C704F989DAD681A6D3C1ACEB9A32C57964C850C757E3E91087F276CCCEB72B303033080C7325088C6CB3E55332854BEEAF7D802D371B08EF4D1CFC2E15A438B158467CF5D71F7A0A172A4B9DD0715E7D65CDA003066AB54ED7EC637048CDCA623BAC449D6C86A0883675103DB232E3B830AF5F48D69A0FCB8FCC06706199C6F17A033799933BFF85D45937290A1F7EF7436735676C7D9CE770E8F81426C353CF27BED0072A3DB0D6ECDC29CC0B44CA901335735D1D425974C10783462EC927322E65F95110091FAE5D63A989876E7D6B2D9ACD17663C0AE30C67B3DA8DCB21DC300CDFA876A5EDE5CB7700E22B07CA198B996C735D8EC8D90A4EE03FD60A91367D9798F114E654A8E9741820E057304ECD06370 - -5B599CFF6BE3D50CD3D9B2292D0DBC89E5D80DE0949E42B5EFC5B02844F1142CA344A0B04FCC1AAC40CAEF19BB08CC75C10553653C505BF343E4DF69DDBADF0009F03F0452E75AC384FF4D3ABC2E065E6D3FF6A3E6E2411EC11CF3A3941F5C2472597FE7F1EAFDBEF7FFDFDFAE80367A6502B83D10B7EC846B62DF4948F1ADE278AC95117D1A8376AC977EA1703B26DDABDDD7E1E8DAEF4F83FCC74BADA4BF21795B0180499DEC98BF1FE2175AEB8AAE8708CCC1BB1510CCF999F198DE899597049D75A3C0497FA455078C0ECDBC5852599DCDAC2F07454C4C661F4B0EAF0C1030BB2194D4A4DF4D8F7D8DEA2A912D2448CAD2C72C9A2F65DA6746DD2E84E902370247942B96466E41053D80D85465376B22BA8A136A085BAA3312BE7E517AC155F325F9987EA096068363E391967E987DA31BF2D3642905EAA5AF4FCF3CBEE038DB1C6182C415CEEACCD21F35BBF7C330D145717E15B7DAA440DAA31AFA5693132822E179B6539406D8EB6EDE2B69894A92ED0C1CA2C380E8DC1117D176C39684504ABD0329EF887915524B63EFC1A48F712D932262788C1ECB573731EC726AFF463C9A2657B7279223491C91EB0B8226D5CF5C2380F213BAB0D407677B3CE88B68A80B7194722523A1B7DD9BE201B898182D317A0C75766DC2A9729B4AA5A41910E0B37D30019FFA80AA3D8765681DB420561AF1309B979446D51D483EF13A78DF46B5E45914A906257BD7F7102E046152EA18BACB4964CEC4174C578EDB6CD81669816A00CA1D011BBF34625B63ABF9238BE3403F688C84B9351B50E8D5B0DC0796F033EF9E0B42D2F1799122E1255F54B14F2D4394F75E691E6FDB61B5856DC47F1E884BF5AE3E8B87F3C0A4AFF771D34B6DA58AE3383D5EF404F5C7C67A348402A783BD1ACDF6B048C5E29ABCB4397D8CE6AE784C5255797A5F6175F37B99700FC57FB96674231CF9D0E4A05DE44A4C0DAF431C034C1455C985E51AEAF4A9B47C57BF07C177F24EADC1AEB7EA8BEFBB319984FAE298346C3C98731491043005558688740ED0ED76BB1EB3B78AB881E5A809787A3D83CE1F0745CD20A4CD9EA5F68786FF40B016109956DD3CE2309B9978CBA128E7F33D6257AA5FE0E597DCDD0D55D5A1146367D05707FD9AEA62B9216A52A43B6B0DF33F14AEA6C72578982F06CBC16A7752EA9F9997E12048039A8D201A6CDA1E8BE9F97D0F31444AE1D5666D1B91BB674879501DF3AE9C21771711929E2CF4E6A96D7EA73B9B7048ADE81A6E6153FD7EB053622C883A301E1EFED97A1168AEAE - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/VRGBXE+Courier cguidfix -/F2.1/VRGBXE+Courier renmfont -%RBIBeginFontSubset: LIFQFN+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /LIFQFN+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /C put - -dup 34 /o put - -dup 35 /m put - -dup 36 /p put - -dup 37 /a put - -dup 38 /n put - -dup 39 /i put - -dup 40 /space put - -dup 41 /s put - -dup 42 /c put - -dup 43 /r put - -dup 44 /t put - -dup 45 /d put - -dup 46 /e put - -dup 47 /x put - -dup 48 /u put - -dup 49 /l put - -dup 50 /period put - -dup 51 /w put - -dup 52 /k put - -dup 53 /W put - -dup 54 /h put - -dup 55 /E put - -dup 56 /M put - -dup 57 /B put - -dup 58 /L put - -dup 59 /b put - -dup 60 /question put - -dup 61 /S put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9311B6521168F61DA8AF511CECA1903976E43EB7D7A7D6F1C6A6D8D64C4CE151FA3B77B3E0EE0125621193F9FBEB30D5943FC77C89932D3002F5318CBF6E036F8013B17E72835BF91372E4BDE8EA396D12B27BDA2893FA1B2F83E2BFD5F22BEDCCAB7C7B22E3F8EF5097BCD927B7ABC7C880AD301A6308DD72F9CC5F8212118329DEC75D42E52781535D6B946C70A2AC27BCD38574B5F47B510172676D9743E2370FD7FB998377F350C3EA872F2FE3689D5D246C659B01B02189C429CEDFEC590911B523F8132239F63E0ADADE0840925EC9A8509B588CCA13FA2C39A05FB3AE4502D7CBAE95727F2456CF174FCF841C098AA2C8C36D6C2FD4C416E1BA462E32F86B6CC0BBE801A3A01462F79DBE1F049A9976CE0B4419AC96CE73A8AE04C72A1F3BD61854B7F43D277FB9AF7EE6ABAB20E9825480CA4EBDDEC80FDDD3596BE28D69A8FEF7C35245966E6D8760E33363955B84F5FB73124EC5565FC28E90102DE366D5B47920BC80837E3A4017777FFD145FD98105475A1F8826FC76639C4A11F36884A0DA2328A251A8EE89765FCE3A9E1652461D7BD5B1AB1E074E4FCE42C6B3874E75A51E22348980A3882D19AB742FD7488F6BE7BC7B2BD868CBFFF2C577A30ACA7E8C62D5688526AAEF482F3C9043510BA7FC048C901F6861418D4EDE307D2BD8F6ADBECEE185060D6B80F0A398BBBAAC32B5580A5C85672EADCC846CDBF8346A221B4CCB8B3FF409FD6BD08B78535C62B4E4DDFBBAFA2088D8A0E3CF6968 - -6E85FD0229732A7E50AA4DFC55648AC74533A42936E24A10EEA7020C13A7FEF7EF7D6A6670C82D4DF8207E68834FC93524DDBF162A0279999A20C202D39B96AB29813DAECB2387B7F58FAEFEFB16C176DE025AED9F08BA43437BDCA85ED95627ABC84D8BCD09D3D7FB4AC052FD9A00E4CC098676375491E664669A630E10730BC3F7AAB02BF8236B6C6B2FC442FD2BD28956117C0B1CE1AE2ECA5BC0AC6357D7C607B584200CEDDAC3F6AB222CC4E7EFE0074B28119431D87A44EAA4EB30C879DC5625E4835B0BF4C419C7F60484C8A849EBF52CE9BD3F31B78DA1D79FDC565B73B99CF124DE2C2717C35EF976BD7F86B0223F6E7C922E8E0F54C9083DE19505CD30889F3F7FC62FEA653D2981D2E564A0A80F00BA7F240059FD221B7A7A6B96650AF4174ADFC42CA21AE6148DB0E22BB458E05C3848CD22A6B36FF71E98AD124D06A2CEC5731C8868BE821DDE8DC79F6D8130903BE37F0736B148728C149A890A6EB810140F46B5FFE49E0672C43FB6D4FD8ACA4AB8AE67F97F9D41AD6D586CDB951D9458CFBCB46251A0F93AA339035366EC010689EC8A50F6797797FA11C8831C9FA63A327ED6611159DE6C7B1E74081515FB25890816414A44EC916786DF7F1B94FE25FB56CBF08B5E38D954259152114CD398AF78C3F46E6127A258BF33A579AADD7A9D46A59D96889C9BBB77E285C0A5159FCE6BD2BCB5F3D7E943428EFA046C468396921B11C5121DC924751D4FEC55F2A6AA411D98D5A80B359BCDB249C02E8E3C8244796D5F992917C37957700645EC867FE54F1ECB1C5F8787862FF01E15BE3520918CC64DA0F38460EE60BEEDC173B2E5E76F078D5F21908BF03F4E57EBE81B6D811B5CCBE8BF00CE81AEFC16AF1EDD115978234E16B4FB970B4536DAF67BDEEC9A5A640AA2FEC27AB3FC8953AC9FC069A8BEE7DC5C4D3B4CEE6C93CBEF41FB5EF8C433BA57A509E5795E84BCD28C4C2B80658E53B4997229C5176A752518AE4BFCBAC51124385A80D8A80795B7E473834FFE7C75A5DBB8170B531D8D5CE77EAD9702E54BCB3922A51C389EEDA007AF35B29E8412395BD27DF8A93A7A95C2B8778ED9C27F7E787F66391180B0FAB034B33C00324CBF25DA14EF2403BBBF91FA8C58F8332945BA64ADCA4A594E1BF3F3526427F42E723298C300249166F7D35E54B924E2704ABA571514E19C818184DC6F2E8022C37B333ED9C583C588709D8F252E4676933C3E2E43247016F0F31D588C49AAF9E10A948AE20CFBB75CAD5518B5A37A372DBDDC097810239E169B2A183B8E46A7985BFA819F81250612A217B9AFD310FB4C2721C5F1071FB5D448E701A92ED8D81D6A6D43F4DB55200B28F2D15C5B0893E9FC2577248398C0B815FDA102261D8159D555C91F8231CA9ED338E4AA895A2B0D9BB50C641BA3CAF9552D95B4D81A5BF245C5678EAA51 - -22613C02596FCD8B2265596713AEFD8FD2402EC89FB1B086FBBAB36EFD7D095E2FCA8422E8C2DFC4213DAA6826D868F9746F12958D7526F7A15C8C1A30A372D40FCE966F483E73CB430852027ABADE90F59319E9872A6BD86D67719F796CF8900E924F00EC7790647A2758BCB50C8049B9935260C3555ECF1DBA7AC6F8D2712157CF8E5AC848AA7C393579B6237E1CE3A754F1C3806D52BBD5111A73061AF36D3AF405CD71A27AB004899E9624C20F375FB73F7402BC6512347B5D82B716092321505CD85CB91CAF86C10D18785F69BAAEC1147C00000F60E81F1124BCE4AFA8A477ACF0E111F8728B5E2B80D3A7C5DFF964CE10292F2975EE332D779DC8527844AC877BDC791C74C5E1264A322A128CD4BA64DDE0EB29006A47A7707A5E1D104CCFDF2C15C0B20359F116C0EE9AC2AABF6A231FE09E308F24B833501E313F2654648EDBE95F4D9421C8B6C6A6D4DF5AFBC6389BA2685824A99A64E8F006B2D71D7A0815952337625A39F2CABD91C1B0FEA6F15783B91515A1D40375A7F0207634056B72A394606D3B4D6AE16183CB6B6F30A6420700E2FAC005CAB88EF35FDC21DC5642F7822A2B5E33CD5BCB3F5EE744ED7586A5C04E94E63CAB1FAE81AFB45B2F0C5064C0656009094DBF3649CC6E60EEC06807AB0C8E007F971A72B2D356EC28C456244D2A309D1EC96D978B64A6AD7FB2C949983A0A3B2B788C62778360D136987E1DA8FE1DF50D1D22E8FEAC12DECB9172790A116C1DF345ED62F1E18F8FCE5DF5EAF474FBB6A505DD8DFDDCD4238D147CA656906F5C8BC5B682C03DD2FC88D4783612FB1EA2CB455AED029E38BC1FE51957741642A715B2410E7C159AB9FE891C49646F4F35B706AF566B60457527081A43FC39277FCE24C402F5182824DB5989BDE74F428C2998A877364A6A7B22452967149CB381ED8E7D17244B77A56440B07BFFBF0FA7E7E2CF14FE6054BD837736EC35480FC236EDC05D33C874D0E2558F7E854CC29B33E2382F48C17129B222C45253952EF04D3AA33D55F0195526F2498D3660739F7FDE8252C0B9E47CEE2C162EC33D08EA65CF192FEBACB173F15B265522DBF2CF60BAAE0E2DF0D4D94574C0D608172AFBC3C7B840F86B7DAA7EC0FE942DDD7EE24F3DC2B56197812FFF01B3E43DFDAACE58CB0B2935D1E641F5B957174411CE4D62FDC81BB0C370BF94B2EF68C0F8EAE9F3D0A46C76453FB0B918D70DB4765AC5CD50342D637206FEF3B83D387B03A4BE5EFB85EA7E73E7F7BB198F4FFFD527ED00698D8E80F5F0BA3587B4A117BD97DADB7FF99A97AA8AAB7A2AABC969A7B2367DB66EF29E80A5CC4035C1F7B8234A068E6C798B2AE69F080DE21DEEF296FB830CBC3310F72DDE53C59E34A7F7F183EF790D17CB0F3074AC660C0FC4307694194701C2095A543287B092B8ED67118A9053C9E52973476E - -0FCF631DC1CD8CED0529D986AA5CA05B65DF4ABD21CA8EFF5A1D1B23110B3E21A2DC22E9B7AEFB50F714FA2079DA9005715746A4007350B8DF943FD91CAD8589A0479CA74C6B1F9199FDF329E7275E446B99258CB9B23D19928A9C43A2300D2179BE489D06434FBCEDC3EFE6C5C2768CC0834454FDE1E602BA93201C71E1BE78CE1E2F17348C63FAAFBCF40E06EF71EDDD79E9AB70ADFAA10DF823F48985F1097F4AAD5BE61BA490E7272B478DF5F52B09E593094AC1B0C8367567A2755EFF1DA4A4DBEEDFCAFF3392D495BCFDAA79360B0D3A21E44A1203D38F625AD44572C25139EB64F9BD5AA39E7D0BE5F58B46D06C69DEE3D2D4AF4EF620A0BFF812FB137482AD4CCC2AAD9AC89385672B7448D70F1C7605F7302257E25057A37BFD5B36650CB8758740B34741D397B132A4FCCB9F4885AB3EB86A6E67E04CF58EF7C595B34B68B665A641D7E7A85ABDA79A12C07BDF9EEB21130B9A6D0427EE51C7C2F9FA58E33CCC44EB91D584A79A6FB2C65F9CAA12282CA008298C9095BA73EE8985E7D4C3115CF0D4BB9319AD39FA649ACAB1251CA2234DFBB21E3CA7910CDFAC8D0B1E5B18FFCDA319674F79708534FF53C2D46ACB2B3FFF9B86F1BDB4AFC23FD589ABCE1096C15AF5B086B63436184CF60C2A42AE815A704123421FCAEB1218BD7085575B6426C0045B24111D89F1B90CB2B3B1778A48C658D0CE859F37D163E0DA4E289C56CA8BFF3C5E23A95DBA17A7BE9EEFE79613E6530D657C7A0EE0C537961C8267C3AD7D7EB610A740EA2B3214BB5865A18C391A339D9DBB0338784D6F6057A765575CD222E8047F6521A76F8F5FC77D032CA25DE476AC632138C40C8A1DCCC0D129A14E121237EF283F3EBBB704C560C4783AD3150B8B276AB885B38DAC61FB5C54C7FFAC3A5DAC35203D557282DBB7C34B7CD691C746E44BBEDE9751B608CD4B98563A7602C9A4B54AAE9C18F4428754907EB7AC1084E8370C0C116D48959634D4DF96FFA00D571A7BC0A2835AB49B9E3BA50EA690BCF9AD8A8B0FC8790F6E1162B84D5F660D8CD8C1468E13A17011CB3DAE3464669DBD88DF8D879B71C345AB50009DCEBE7D3A3EEB65639C9585B1F8B3E6716CAF1FE672539A91ECB30C7C676C6C8556E79517F3A463F774D0E7FBA88D49E7931524AFDF8BD366655716E5A188222AE264F7899D7AC5E26A5F2E988E930D1E7AD67C0E9CA19A9C9CAAA624A0C621661C346FD55FFA9097FA843BE58D3860788DC81866B1CC0640DBE9E887FE079D405B91E36578845DEADB698B36C6D12F1A8492775D25C4D00EB6DB795508EA9FFB293954CE73CC644C68E8F02B1268C0302EF1903FF4BCF2CAF1B1F3ED99B1D26877E59D2651E63508D422EC737417A353D4BC8908B69F958A6A6E247CDA9AB15141B9ADDFC17D4FA1E54EAE86A94407942997DEE77796155923 - -4AF5981BCD7E3FA390ED1F9CDBA9BED6C87145A95F00B5A71058F42CF903D1A549F535380FBD66D56C8BFEC9B8FA739125C18F41B5CE2BC6D31CF067D180D930F76013C3E07DB8D29146FCB8E116007F70E405570ABC46A11D9696EC99535C2A4DAB85E2DC4C9401DE2F4A3679C43F2C54E1418E171A3B88982D0823D59480CD920374C9DEA225238BC665BC88A1E6A56C9B141C4BE2CD9EA286B2CF5379E0019D3C6190512D0D06E517901F7FBA75F372F6C9132E249F36ACC48BFF1C734D8576C6EFD38F619D87DEED5D7B63D0D7133A735EEAB992A7DA261501A72719A938D734AA7F45B60FD707A2929A07495B3A851ECAD5D83269EB1A5257280D18D5DD90D34D1C8F65A5C2C8714423EED09913E90F7C8937EE15AF59A9DFB55057B30AF8ECEAE0CF5257A562530422B27A629DA04DE0FEF665112648CF1CFEF508905B39E8C115012F4B2629BED16A6BBCE0A46DB0381C9E0C08BE4FB16E7D3EE52A96B692C31A2A44F01A2ED526B056DE1559896051EDB3CEA165AC88FB3EFE8CBE9078A87E93006491F910529A8136DAFE0643426C33579DF223D6B7EB6B01F0AA95361487345F68457FFC2E2398775B0DD568BCF9EB0D60323BAE78DD - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/LIFQFN+Helvetica-Bold cguidfix -/F3.1/LIFQFN+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%&#'%\(\)*#+,-./#%0#'%\(\)*#1,\(*#*%#2\(3*,44/#*+.#5\(35678#',*,9,3.#4%:,44$#;1+2:+#23#,44#$%Ӝ#\(..'#*%#:%<=4.*.#*+.#*&*%02,4)[ 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 13.694001 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 9.143001 ] xS -48 262 m -(.>.0:23.3?#$%&#:,\(#=%2\(*#$%&0#3:02=*3#,*#,#=&942:,44$#,-,24,94.#%\(.#,*#*+.#@,\(A.0#B.\(*0.C##D3.#*+.#"%44%12\(A#"2.4'3#2\(#$%&0)[ 22.837000 20.500002 22.837000 13.694001 20.500002 9.143001 20.500002 22.837000 20.500002 13.694001 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 29.643002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 ] xS -48 312 m -(3:02=*3#;1+.0.#EFE#23#*+.#4,*.3*#-.032%\(#%"#*+.#',*,9,3.?G)[ 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 13.694001 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 27.347002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 407 m -(!"#$)[ 24.641003 24.641003 24.641003 24.641003 ] xS -559 407 m -(%&%&'#&\(\)*+'&,'-%)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 453 m -(./\(&0*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 453 m -(!"0"1#&23*\(#1,"+*1414)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 499 m -(-#*+)[ 24.641003 24.641003 24.641003 24.641003 ] xS -409 499 m -(&\("\(50"-#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 47 0 0 -47 0 0]sf -48 602 m -(66)[ 28.247004 28.247004 ] xS -105 602 m -(67896)[ 28.247004 28.247004 28.247004 28.247004 28.247004 ] xS -248 602 m -(&\(.6)[ 28.247004 28.247004 28.247004 28.247004 ] xS -363 602 m -(789::05#;<)[ 28.247004 28.247004 28.247004 28.247004 28.247004 28.247004 28.247004 28.247004 28.247004 28.247004 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 709 m -(D\(4.33#$%&#,40.,'$#+,-.#*+.<#2\(3*,44.'/#9."%0.#$%&#:,\(#9.A2\(#$%Ӝ#\(..'#*%#2\(3*,44#*+.#H.04#I7!#,\('#I7!GG<$3J4)[ 29.643002 22.837000 9.143001 22.837000 20.500002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 27.347002 11.398002 11.398002 11.398002 34.194004 20.500002 20.500002 22.837000 9.143001 ] xS -48 759 m -(<%'&4.3#"0%<#*+.#BHKL#;)[ 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 27.347002 27.347002 29.643002 11.398002 13.694001 ] xS -0 0 1 sc -515.09601 759 m -(111C:=,\(C%0A)[ 29.643002 29.643002 29.643002 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -0 0 0 sc -774.86902 759 m -(?C##@..#*+.#BHKL#32*.#"%0#2\(3*0&:*2%\(3#%\(#+%1#*%#'%#*+23C)[ 13.694001 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 27.347002 27.347002 29.643002 11.398002 20.500002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 ] xS -0 0 1 sc -CM -151.60001 628.12 m -214 628.12 l -214 627.64001 l -151.60001 627.64001 l -h -f -0 0 0 sc -0.23999999 0 0 -0.23999999 28 811 cm -/F3.1[ 41 0 0 -41 0 0]sf -34 909 m -(!"#$%&'"&\(\)*+'$,\(%&-\(./.+*'\).\))[ 29.643002 25.051003 36.490002 25.051003 22.837000 25.051003 11.398002 25.051003 25.051003 11.398002 22.837000 22.837000 15.990001 11.398002 25.051003 13.694001 11.398002 22.837000 25.051003 25.051003 11.398002 22.837000 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 984 m -(K::%<=,\($2\(A#*+23#'%:&<.\(*#23#,#3:02=*#:,44.'#)[ 27.347002 20.500002 20.500002 22.837000 34.194004 22.837000 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -898.00897 984 m -(,0,"+'%12$12)[ 13.694001 25.051003 13.694001 25.051003 15.990001 11.398002 22.837000 11.398002 11.398002 25.051003 11.398002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1096.16 984 m -(##M+23#3:02=*#:%\(*,2\(3#,44#*+.#.>,<=4.#:%'.#2\(#*+23#'%:&<.\(*#,\(')[ 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -48 1034 m -(3+%&4'#0&\(#3&::.33"&44$#2"#$%&#+,-.#*+.#02A+*#',*,9,3.#,\('#-.032%\(#%"#*+.#:%'.#2\(3*,44.'C##!\(#,''2*2%\(/#3%%\(#*+.0.#1244#9.)[ 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1084 m -(3"+4.-\(\)"10,'"&\))[ 31.898003 25.051003 15.990001 22.837000 22.837000 25.051003 11.398002 22.837000 25.051003 11.398002 25.051003 13.694001 11.398002 25.051003 25.051003 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -385.14899 1084 m -(#*%#*+.#.>.0:23.3#2\(:4&'.'#4,*.0#2\(#*+23#*&*%02,4C##N+.\(#$%&#:+.:OP%&*#,#:%=$#%"#5\(35678#"0%<#*+.#:-3/)[ 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 9.143001 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 9.143001 11.398002 11.398002 11.398002 38.704006 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 20.500002 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 20.500002 20.500002 11.398002 ] xS -48 1134 m -(9%*+#*+.#:%<=,\(2%\(#3:02=*#,\('#*+.#=.\('2\(A#1%0O.'#3%4&*2%\(3#1244#9.#2\(#*+.#.\(3.<94Q'%:3Q*&*%02,4#'20.:*%0$C)[ 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 9.143001 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 20.500002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1283 m -(56%,\(-".\)\(,6.\(*"+.\(7&\)789:\(-%,%;%\).\(*"&,%'&<)[ 38.704006 25.051003 22.837000 13.694001 11.398002 25.051003 25.051003 22.837000 22.837000 11.398002 13.694001 25.051003 22.837000 11.398002 22.837000 25.051003 15.990001 22.837000 11.398002 27.347002 25.051003 22.837000 27.347002 34.194004 29.643002 25.051003 11.398002 25.051003 22.837000 13.694001 22.837000 25.051003 22.837000 22.837000 22.837000 11.398002 22.837000 25.051003 25.051003 13.694001 22.837000 11.398002 25.051003 25.051003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1397 m -(RB4%\(.3#;12*+#.<94#,::.332%\(3?#P#9%*+#"2\(23+.'#,\('#&\("2\(23+.'C)[ 15.990001 29.643002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 13.694001 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 20.500002 13.694001 11.398002 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 11.398002 ] xS -48 1497 m -(R5,:+#:%\(*2A&%&3#=2.:.#%"#3.J&.\(:.#23#:,44.'#,#:%\(*2AC##M+.3.#,0.#*+.#9,32:#4.\(A*+3#%"#ILK#*+,*#1.#,\(,4$3.#,\(')[ 15.990001 27.347002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 1547 m -(,\(\(%*,*.C)[ 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 ] xS -48 1647 m -(R5,:+#:4%\(.#1244#:%\(*,2\(#%\(.#%0#<%0.#:%\(*2A3C)[ 15.990001 27.347002 22.837000 20.500002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -48 1747 m -(RS2\(23+.'#:4%\(.3##T#%\(.#:%\(*2AC)[ 15.990001 25.051003 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 23.944002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 ] xS -48 1847 m -(RD\("2\(23+.'#:4%\(.3#T#,\($#\(&<9.0#%"#:%\(*2A3C)[ 15.990001 29.643002 22.837000 11.398002 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 23.944002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -48 1947 m -(R5,:+#:%\(*2A#;1+.*+.0#"2\(23+.'#%0#&\("2\(23+.'?#+,3#:.0*,2\(#".,*&0.3#,33%:2,*.'#12*+#2*#*+,*#0.=0.3.\(*#*+.#0.3&4*#,\($#%\(.#%")[ 15.990001 27.347002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 13.694001 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 13.694001 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -48 1997 m -(*+.#-,02%&3#,\(,4$323#=0%A0,<3#*+,*#+,-.#9..\(#0&\(#%\(#2*#;.CAC#U.=.,*6,3O.0/#78K@M/#A.\(3:,\(?C##M+.3.#,0.#*+.#9,32:)[ 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 13.694001 22.837000 34.194004 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 20.500002 22.837000 13.694001 11.398002 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 ] xS -48 2047 m -(:%<=&*.3#&3.'#*%#9&24'#*+.#A.\(.3C)[ 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -48 2147 m -(RM+.#0,1#,\(,4$323#0.3&4*3#,0.#&3.'#*%#9&24'#A.\(.3#1+2:+#,0.#,43%#3*%0.'#2\(#*+.#',*,9,3.C##5,:+#A.\(.#:%\(*,2\(3#%\(.#%0)[ 15.990001 25.051003 22.837000 22.837000 11.398002 13.694001 22.837000 29.643002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 ] xS -48 2197 m -(<%0.#*0,\(3:02=*3#,\('#.,:+#*0,\(3:02=*#1244#:%\(*,2\(#,#*0,\(34,*2%\(C)[ 34.194004 22.837000 13.694001 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -48 2297 m -(R5,:+#A.\(.#+,3#-,02%&3#2\("%0<,*2%\(#,**,:+.'#*%#2*#'.3:0292\(A#1+.*+.0#2*#23#,#O\(%1\(#A.\(.#%0#:%00.3=%\('3#*%#,#@1233H0%*#)[ 15.990001 27.347002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 27.347002 29.643002 9.143001 20.500002 20.500002 27.347002 13.694001 22.837000 11.398002 11.398002 ] xS -2207 2297 m -(%0)[ 22.837000 13.694001 ] xS -48 2347 m -(*05678#=0%*.2\(C##@%<.#A.\(.3#,0.#\(%-.4#A.\(.3#1+2:+#+,-.#9..\(#9&24*#9$#2\(".0.\(:.#"0%<#32<24,02*2.3#*%#%*+.0#3.J&.\(:.3C)[ 11.398002 13.694001 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 9.143001 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 ] xS -48 2397 m -(M+.3.#\(%-.4#A.\(.3#1%\(\)*#+,-.#,#:%00.3=%\('2\(A#@1233H0%*#%0#)[ 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 27.347002 29.643002 9.143001 20.500002 20.500002 27.347002 13.694001 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 ] xS -1158 2397 m -(*05678#=0%*.2\(C)[ 11.398002 13.694001 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 ] xS -48 2497 m -(R5,:+#*0,\(34,*2%\(#+,3#+,'#,#-,02.*$#%"#=0%*.2\(#,\(,4$3.3#:%\('&:*.'#%\(#2*#,\('#$%&#:,\(#,::.33#2\("%0<,*2%\(#,9%&*#*+.#0.3&4*3)[ 15.990001 27.347002 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 20.500002 ] xS -48 2547 m -(%"##*+.3.C##M+23#2\(:4&'.3#2\("%0<,*2%\(#'.02-.'#"0%<#=",</#=0%32*.#,\('#=02\(*3C)[ 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 22.837000 34.194004 11.398002 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 ] xS -48 2647 m -(RM+.0.#,0.#%*+.0#".,*&0.3#,::.33294.#*+0%&A+#\(%\(P:%0.#5\(35678#.>*.0\(,4#',*,9,3.3C###@&:+#',*,9,3.3#<,$#:%\(*,2\()[ 15.990001 25.051003 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 27.347002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 34.194004 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 ] xS -48 2697 m -(2\("%0<,*2%\(#,9%&*#@LH3/#<%&3.#*0,:.#+2*3#%0#.<94#,\(\(%*,*2%\(3C##V%&#:,\(#:0.,*.#$%&0#%1\(#.>*.0\(,4#',*,9,3.3#*%#9.)[ 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 11.398002 34.194004 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 22.837000 34.194004 22.837000 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 29.643002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 ] xS -48 2747 m -(2\(:%0=%0,*.'#2\(*%#5\(35678/#9&*#*+23#23#,#3&9W.:*#"%0#,#<%0.#,'-,\(:.'#'%:&<.\(*C)[ 9.143001 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2896 m -(=.,0$)[ 27.347002 22.837000 13.694001 25.051003 25.051003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 3010 m -(7."%0.#3*,0*2\(A#12*+#*+.#5\(35678#<%'&4.3#$%Ӝ#\(..'#*%#3.*#&=#$%&0#.\(-20%\(<.\(*#3%#H.04#O\(%13#1+.0.#*%#"2\('#*+.<C)[ 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 9.143001 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 20.500002 22.837000 22.837000 29.643002 20.500002 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 ] xS -48 3060 m -(K3#5\(35678#23#9&24*#%\(#*%=#%"#72%H.04#;-.032%\(#XCY#"%0#\(%1?/#*+23#2\(:4&'.3#*.442\(A#2*#1+.0.#92%=.04PXCY#42-.3#%\(#$%&0#3$3*.<C)[ 27.347002 20.500002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 13.694001 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 29.643002 13.694001 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 13.694001 9.143001 13.694001 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 20.500002 20.500002 20.500002 11.398002 22.837000 34.194004 11.398002 ] xS -ep -end - -%%Page: 6 6 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: TIVLJN+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /TIVLJN+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /T put - -dup 34 /h put - -dup 35 /e put - -dup 36 /space put - -dup 37 /n put - -dup 38 /v put - -dup 39 /i put - -dup 40 /r put - -dup 41 /o put - -dup 42 /m put - -dup 43 /t put - -dup 44 /a put - -dup 45 /b put - -dup 46 /l put - -dup 47 /d put - -dup 48 /s put - -dup 49 /P put - -dup 50 /E put - -dup 51 /R put - -dup 52 /L put - -dup 53 /five put - -dup 54 /I put - -dup 55 /B put - -dup 56 /period put - -dup 57 /f put - -dup 58 /y put - -dup 59 /u put - -dup 60 /g put - -dup 61 /c put - -dup 62 /p put - -dup 63 /w put - -dup 64 /parenleft put - -dup 65 /slash put - -dup 66 /parenright put - -dup 67 /zero put - -dup 68 /seven put - -dup 69 /k put - -dup 70 /M put - -dup 71 /hyphen put - -dup 72 /j put - -dup 73 /quotesingle put - -dup 74 /W put - -dup 75 /six put - -dup 76 /colon put - -dup 77 /comma put - -dup 78 /A put - -dup 79 /S put - -dup 80 /Q put - -dup 81 /D put - -dup 82 /Y put - -dup 83 /F put - -dup 84 /x put - -dup 85 /N put - -dup 86 /dollar put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9588E030F091D4D3453F98FF4E09D4329A560F49E1063C424203A2433CFB1674F353353D110DEE63DAA63FA213EB1FB394FD6CEA4CC12BF38FB091C827938AFC80C607996EA6E4E3DE38B5AE53678B853BB99F7D310CB2374E7442186F204EB9A4D4C61551C3EE46D92AE9F66259BB2C3AC2ADA463F435CC87214247B356A8D181124006B248A04868B3581B8B0E406854673AE332E54DE40DB00DE39C74572094EC249A082A22F1E05F7760DF0E0641EAFAACBB56DB57D84C1E4BC9167485029E43BA4D8AA164D961BCA87C947B11F8B2EBF39B65D388D172A73E8E672304CB6FF8E22C937F866346EA21B74FA994EF29D6DEA83806B4C0BF8D284BE583D18A5818E126D0917272F79CC8E87ADF4C3511C54B9CFF3FFEF9A636CC8B9CA584ABFC4B14F2DAC60E02985C1B62AD1A2E616A3B775291F2135445B14913D7C0F578F0244F47BD1BCD16131AEDE62B0168AC5FDE0C5BFF9A80BDD8777F39C1202C9569BE9DE1DEB5575ABE06318EECCF0425C809B1B9F0CFC8E96820E9B1461E0373DE25B0C3349E1C745B4A0AF698CC73F75B6C53CBC9C879820CCDFDC8126B9B9126E3EE58522A37D1757758A99614315260A765A3BDB663EB4988281C7DB9A60066C08F466700378C8B84F7499FD2DA42E04ECAA9883D398453B70B80D43B2DE9F0487C824A3456AB3A347549459C67A2186FB4A20D87878BCB14D344C50996FAA22F53F30F3D5C3840B0A27EDE4F189F29B789260B579DB87D1CC5FDE79438CECE - -F2755671331B022B65107A25AFFB816D14F37DB78ACFD2850DA7B6F265A3D5492408B16AFC57C7D5D8334D1392A6DB0ED59F62534FB4DFD780E0E86AF63B44983F8F4A91A49C6AC6364D44A7B0F06F02CEB6463FB5228BE0284DA0D9AF7D069938D5A6CBFADBA2648BEEB6DD458D021D3331CD2787F97208B80F201D713AEC55202154A518BBD999BDFB7CF938895DC9D60AD92D5EE047A1C48B8640C2D9D93D1A3EB7BE011BBA43FAAC503B3B47F3194C567A3F513B2A1D5291D385C38D0533063F6AB8B51357EC097E353812BFD9A7FB0CFE7CFFF94B98F9F03653680BF36CBBA87306C80BE3D12579F8849E8500A7DBAB3749486E12CF67F8A3F1ED29B8D9249B09A4DC6F3367B1930E2226AF10162574A7C69B844794EFED79E45DBBEFA7AA9D45E0F6395D5B0AC5F78FB8AC725C7A938E0FC14BE1688A31456E0B8FAC2B3A12B2D7E3C167EC556199040487F404236D869D2D0D660FF1FBA792798B251E6053D984E7BC53DF6EE1D8B9B187ED841632F30B42D24F51CA7E2AB4778119F1E5FECE229B318E7810FB7A8EBA8BDF74F7F69163319DB7052E3579AE13C5A6A19C09EAB4D2369AE46AB16C4D7BAE3FD0695AA40C868F34DAE10470C26B1E644BFD8A775FB3E4ADFD8CEDA625851B94CF45832739465AB9E5CF9EFF2AC614AB622D28BB1C6603E0859ADC69CFF2C46FF5DABBACF005E5BB45BDD055A58E2FE0565D82002FC5FA37940F5AAA0F0260C38D3E94C445AD2B35572398878E19F1B560DADA61A561F3CDAA29BE91D3A421DAA2932675110A45287BCF94D88DE4825759A7C94BFFA8B74442D4188A33CC161887D9CD2B3FE94F892795ED6D83A28439B255D55440AF162E245AC8C705A93AA007481F1AE86C41645BC304B9CD56654B8238BF43FCA25EAE85146B73AE9EA995CAFBF04FB657E293219296F445595AF6A75528489372DC6A2B3BCF647D15BABBA6EC10FC5199C29846A3F003F5B85C47117DA6923AC4DF398D66F6B6FDC0D1362612DC5ACC4E29F5C8EBE5216A3300E9806C871AA8EF937632806E2A98DDF6C470B080C31854142558D1F5C7698B6973C1C087B1F93E7E1662A9CC157778B868BE751AEFCEB9AB0075BF068DB57FDA78820CE46E1099D4C8CFE735F818FDCCE041C1F2DB7ED849F1DFFF73E83A2F4E907B06F2699E2F43897F7866C43069A98251BB690429A7A5287BDAAF986E8E7B4D30582ADFA20B71831C0017B492615D99DE9A8EA91CDB06A3C0283D81DF09A204762474C0904D8BC8903135DFD77177B23E45F43E71D904DC15C8BF8D553C2C9653C49F7D5B456D18D01B83E7DD86C5AE83E22B26044C5C86185348F772C5CEE5045C7B410DB148697273A1CEA7F9F9CA4134464A193347AB1F2B0E5273E5A70BEF28C869E41B1F1F18D00ECFE5B9F4FF20ED99E429EB9D6506B63EEC7AAEF6FA7B - -1DAA6DAD996A9A38898A9F5070B38B66683C848AECDDC0AA4ADC051AA825FA79A762F936A12DA5440A8CA3374E0174184F5DEF69B5CE0FDC4FCD34094ADD4F422DE7FB75B554BA55E033005BDAE66DD295D5230174249A0C1B127DA0A22BD136C97D835DC4647AE50CBC6385167ADE778DF785099EC39422A9DDC7EC40631AD3531DDFE5661972429B10EA2D11B482831DA7E5F0CEDA127A3CAC2DEC4B2FFC01BE6B75B3C4F3AC4008B07DE3261ADCBD2809E0FA876C407A8A10D73F6F47A5892C9CC61FD2D1006CCF02ED3B943FFD3693E5F5DA30032961CEC901E1F937BFF140697329D6E6FF7D815F0F694EEE92624546141276DD053423589F0B3B76C8C78FFAFF57316AE2685BCC2640E7A9D94DE57512F04F35156EFBFD2D6F627B7E3783808B286BE2937605B93BCF13AD21A0F647A576D045F78179FFA7DCA84472374C1EE196E7021838451DB1BDB544F05CF48D1D35599C16832DD6F87C732FB172FD355F0B1F4F41AEF1957DE2199ABC16794855C391A369F8FFD0D949F9668A0C7BD3477EC5C18D752EEBA49FE1A7DEAE2C27D02809DFB150C757FB32F40B9BE2EED830D1218542C2DBAFB4FC6D68E3328DA664182FD1B8804E6DB2A14CCC9B4A1BF8F4C8089FC80993C2C1A6A30D257AF7C1DDD24FFA264DFBF857F663170F940D055C5A3A77BDD031FA49FCFF8B8D62C7902FABB3B1D42350036E66C446DCC2D2AE64EC60E04D5658305D213EFB56F03C84E4C8DBB3EF83415D0DAEEBF01AFB9C1D6339F14F0F1E359CDE98B736DA8BD173051FE6358D909303C0CAB2079B0E714C1E1C33F67D5A75A28F76802D70C8611648DB4A68E969A7478B9D20607987B933FABA7CA9BE5D104305DB9C386728BEE655F978B386A0D5AF2D7DD6FBD490BDD2E6207E07A8EE2877FE92848E3F685F1CF89D8D20BB37E1BC5A0A8FA9714BCA85963F83E7D61F4A91569C6FED067EB0EBBEBB361537F62F4083C801749EB3B19FDA215249400640CF7F2AFFBC6ED2CEDE0211AB23ED3DB8381CA797706A46F953E5EB951E691DA230FA9DA4084508FCB13940B6FBB7B1DE87D2CE59A5340E2FF8338A673AC66F333537E27A3FF76398E60951B6922D753045C2A388512BE133F70CB83062EE768F56E0B672FA0DE6F7B4007FBAFCEA164BDAB61CD52F1B2FD04757B2FA8F58737C55804F05C6586C3A5FB6284D4ACAD0B26C50696CE98AD5DB1DB21EFA703D0FEB0D84BC1B9532877CF65E9A76194D757C7CF0DE788261CDBDC996A925BBF6DA7E60F5ABC9BDB6AF2D7D58EF33772AB57DF0103562D5511F51C64BDE21C1FC87B471AD42214744EA4999B5D84414ED0DCDB8A7CA93F9448354AB3A885932F74303575DD9EFFDE677D6F3B716AD2A42120CE36468DB281B07BC7CC7436DC4D8659AA59DFD6AB6F28D5AB415320AFE97D00B9D99EED4A7521F - -DCD98B97E5077ABDE3F1E75D124A8CD00C55967BDAB234389828A42747C524EC11414A0E94DA3CDED2D549AE67E8BA04A957EE1EEDE76E68099B35C756FCF35B890774D1DEC993C33E3F8A28A04A55B8549B8A448ED2A0010EA303180956D9983DFA151926DCC560BCCC159D61F3CB4EF48EFA92F58019EA53CBE5981C1888C98A0B1E9AF11ECDBC591EB69D3D8E469FC18CE60AD2E4262BC622F6F01A08F868028EFD918E78E46EE553CCDAD2DB9BB9D2C3106F7ECFBD364F75ED565E46071BCFB1131D9F6AD9FB162FFD136DE6617D9FA26F78DEAFC377064C5DF3EF988FF8A750E2FCE050EF869FA848A5252E29433ED318EF6277BDCBC13057D7B7B6919DF620C1A401B0347A7BFD3A310D2F29893ADE64B56B46C58D6E45A4C992E6DF93D60AC3FC11E7FA68C4AF945CED678C5C376783EB96C4219A04C37FCFA4659D4CC984010B83E89EFF1E6E4E5155C7A78E1BFDAC6CF44FDC9CB802F7EF6CB18317E6E798A13F5F40AC53F7140CB79AEC10D9823CEA8207C58899985D0180D246FB905774F28E037194253FC12B3B7AFE34DEB651C3D0F88115BA731BCB022D10A5B215AE9B1B8DB5806A95A8E8E58DDDB30ACEC29E2827C67816C4CE70E9ABC88F8970897DF3F59847EFB39F17151B51E3263CF95AE2DF0CC8C88A6AFB4D2967ED089FDE4A258B76396C972A3D7981D54F90415753451526B4259BBF7FEE671F7963B5B0F1460A6E29E8D0DF0091A7ABC25326DD444263A1D0C63B6EE73B37377EC979DF57C5CCCAA9F0B065C7AC973D251167B3D15078DDD46B453AC8F1FDC78F7614094E63D73D1359276D40FAC85EAC4799EDB6B027D38176C1690A7700D7CEC1881CE40E1770BE13B35BFE5EE518BFD1C585E1CE982CDE02459DE5187C8EC476D7212804685DE81F54F2A5ACEF6A756239C139CB75489C365155DD6334F68981405F46538BCD53B884817D2D8B133943BB8A94575FF1A603D28CF85470D10621B304BE7727F7AE478FAB22BDFAE42AF31B60C5C31C0121F84B8DBAB3459B4B19F3B968904AC28051A7524DA9ACA98B354023ED020CB464429B14DC3F574526D166453970C0BD8F0B5BC97AC1791621D095D30742014D9F82BBD1617CFE886B7642BE6532B54A65139B52E75A4D0ED3101820EA4347F4AAD63B3F4B28B12FB6CB5D44990D7CF78C573A6AACCAFB476C5C3200F4F26E9CCDCB338836230C24F6E065A2AC56558DD9CED71C217FB79AAE89709410B6DBBD823B6239F0213BA76D700231EE23CDFC2ED31DDDF1AC53D3D83A5696137668C0E6494A8DBA606969B64F4C9287F3A36DC504E2EA23B050554522F1A73B4BD06CCCE9ACE245106C30D232CE2695B228D8FE63FBE254F4FE7BDFE6BA89FC0DC02FC45D1D350DD4159C2B8B921AB4031FCD088FA490EB8415ECC54B5D64C3C7B5D486FE033758F47FB3BE - -3908059D474B3F197FDC771D01A654E4D1239BC5BAE316E022647DE8432F0E76AB5AAF7BF51C303B6A5AD7D825F75EBFB0E791F8EEFD7FB5A10065026976EAEA317D05D3492EE5632B7EBDBEECAC3A7D2CD9B5D8993A69830C9171017382439BD632C6D3B0C0812D0FA1A7A9A2AAECB6269C5F933048D6ACDCC667F5F5491AC04D19F46CD1AA4B5AA8F29F915DD211119EC1C70D75664A2DEA09E1AD3005917D3696241B0791B60506D27735A67BED7B6267867D0C4C10A11C55A765DD297ACCA78DBFA8C42E4D20D11D7C4EB9E3AEE3878CCC211961C1C6FBFB204F650E4CB351DB8DEAB0FD13C4E83F67C70AA573D680C607AE07A3D99764F389105B13708483C524C23F99D9AC14CB34E0BB49C91F12301098AFB3A449C0C5ED236A6D4916FDD4DF95B74B83721C95BDB34CC02D4677908B3635C2BE9CE9AF56627CF5D7C2AD8D37F60E5E8547193F1AB530DCEDE9A4692FC20C248ACEC4A5378ADCED200698EA8A05466458C1E01860B584A35BF680C3B29F4F4F37317F599E16744D088DAFEDC3866CDA5E3AA1BB4EE1D75BD6471A808C73B2A745B09A66F6474A04F5554D8886B8AEA8ED085374DA83B345EC85DD4D20AD647DE35300C920D7901295B95878412E6F355C928439DE91E788A4AF349C0A12CF4390DB207D3186B3D17F5D9D9E163679FA17C2A71D6A56FC2E7F89BAC032C2CF08949D32FA1F7537C8CAC7460C2B8EBE72D5074452CC5173B52101975BB803F6013D1DE687505FC267E060D9E6A6E43E279EF60B36051719E7D767C383206EDB245061A91FFA3A3E16C1F39E123373DFB3E4E204050B1ABB2DD50D20B37FFF9648CDA6FA49CC21ECB552276B41E9B31A758FE1D1F3BD8FD90FDD68C4CAA910878CD110A208C639289F2D4C887E895FA40D73247AF099F5720BB93A18E3A0D0EBAF572888C0B7E467C727FB87212817243A964CCAEC7731B5ACFE68CD21ABEA824645371A36385477A6E5911DB98419B432E5DCCFD5F9D358180F2057D467FF01D4D335CE0900C7225E5594442C0B0EAB4B8287700B9F00CF678FBD7864C7DDF0621049BD1E90FBFBCAB5F3D31657EF1EF17AA6FD5766C3F31F28AA5F0850614A848D86D37EB81D380EBF83A991FA2445F9838B3528ADC251A57B3A0D5C9C8168EB63F36939D9972A94188915F6837B51D5B3C54707DBB1299807B2CF4A2230DA1211970F591CA5DC8EDE2BB4EF64D87EEE4E678FAF4B016C455B0615F0BBE2F2722E69B186B449ACBD110538FB33BDD3D6858E29FFA29AB1BD2E970B915C63ACD3D90DAD4F3D10AE7F1EC2D788CD221473883D8A7BB73AB37004604D1374279E62DAC094CAAE84029483A16B19C1CA33629C4F9C17C9A1DD3A870433A8E7DA48F94B93B09D0FAFB0D8DEBC28FE541FE7D0F898F8FC81EA3AE0EEB92A2347A7F2F3BFC5AED6FB0BC4571166 - -5A10FFE747E7C041119DAA38B27BE1B94F26E66B7F61BF20D2FD9D61402446349CCC9735BE347142CFA84740B45059248B519A133DCD383C68226F485FAD6B73CBD0C765D80B40947D04330C20EC5927D52936FDD472167563A7BE943166AB309DF57ABFF12B0CC845EBC66F1AF48266ED5E7E5EFAA35B41D71C9D979688A3B58698127634EB37A3F5CAE1D9DD7807D3900FC3B15A3CC81AB0FC6F6724DA0C13CA9097B3BD471FA12BBE8B1E9F0D714D401B4180FD167195F1F8C36F1119AEA48310FB87C5E7F55ACB46EC39C54626C9D51EB164BE951F55E649EBCB006B092A1C9B0764D5D0EA6BAF58ED19A30DEB8314F8D9D3E0410DA604D516C2570CDCE4ECCE2CA023B784B0F6FA2DA7AA7FC62007DBE0245B75B5257077C7F60D5C097E956B59783304CEA892F7CBF6A13DD351BFA6D1C282F5564BC917DA44FCF6B9392DBCED764D8D52A169F767AACA8ABC35BA05225405210B11EA605AEB2F1D0D27A1FB466A33AEC466B63F8E6F1143288076A0A551812AF740BDF45112A0403B5C4AC67670840AA82FA695BE0B59D0330819772D7EA2CB2B21AE605FF3927A8344AA598E8D18FBDA854D18AEB3FE3D56E82D1632C7051E7EECD4565CE814C2C1E6890C30C5FBA04D92F6CE8A70B6A4FA533229AF99F481059767B83937E942EFC3B7EBE2D73FCEBA8649374856A18462BEFD7F5B339F622541C5C3A701B5C5E80EB86691655502FD84C8D5885D8CEC550D0D2D9ED27F08F5545439C0FA99074773D76BA970798A10725BFD459913EFA473CC8F479AA6F6F9C214AEB1E2C8D5525FF9EEFE19B61A3CB7F937C3E484DE2E581199E6338F3E7F44501228D14961A8862E4C6FC738B415E769E597D5976C27FE246A6D8FF721BB9081D1AF1813E906B8C4918215AC7CF95AEBFC0E9026830C335CA4F1B6ED006388E58F6FC64352CA2E6CC4CB658A76D67A907072DC50FDD8097080614A4D7B00B28CB5384C0B0E3275B51C36608F4CAC760EDCC9A73E212038844B929696E653C3D2B1EBA73D203A4AB79CC5FB75C5C8F4FECAD9776AFAFA5EFE837EB89F1579EE5A3E64FCBF3AE35E4BABA9AF6C5252B3647BD6DDAEDCF60B268C750CD62740C9F81913BB01B639AC8FA172461B9ABE9F2F5B9CBD1F54C41684C53230A482BB6607AF1CEE89C2CBBEE7700B2D0CB773338A480AEFD76072F951E2C2B4E00B431458DE1D1DE794F05E5B407A0B6B85811032C4204D48A980890112CB2103CE2C9F42A6D98BF59A210D32CEBF0FB1ADBA6DBF64CDD2B94E78B8FD9EDFC8D0B6389977CE09F8BA7161CD77388CC0978BC842A12B30250B7D2DC5BBB14003C1929850D1CEF29AB6744C798EC5BBC8F1D193B912386D28E4DA8DF0F694015B2410C026F0B942B04E9BECD6E1BB0EE32D44B6A56F30DA1522B8DE19BC922755A20CE67B4FD8FF0FD44D5B7B - -2FCB37DD0F8CAD058E72260FCC2644B435D191FA09B7BCD71C724A05EFF48DE12660075D19A81C269A697E9484F9C83F918DA730165FC970408A23EA7AACA1F0B32B72D1872A36C2F8B79A3CCF0615D7362A907DE1D1A16FEF04704EA3E55DA2619DD7AC4ECA6E530683E477AFADCA5B118122E780154DCBEBD71EB7B1F50DABF0945E1A4766D7645C5004C8543CDB90DF7869749BBD0A0C5E68DDA909E2F765FA5049AF0C6B4B3C8B0633A965E73B18F126B5128073EC19D8F5CCFC9184D91F3A052055667CD92C73372320154FE2DACCEAA3481EF66DD470061A75321F18A53F52AEED3CC50BDBEFA4F3D6A98F149ADE54BD623638AEDE8BABACF5502199D9F9E5D7B538109EFE0255DB385667DB27636071CD4330B6C27E17FFBC0F80D2AB5B68AD20455EA4B97B648502C4743F16A45F7D1631D51F368B52E11B34BAC24E930A08F8E6CD3DB429ECB731FA9C4F123F9D50D81F874AD70538E1D1830024D58C2A68CFD441F5A091C8C9A940DC57E59D542CE23AD9DD2D43728086BB7F6AD7B636917D1C0F64346AC12E8631F84874D253B3855E7760645AAFD0FDBC2149148D558DF3CDBFD7502E7F0D9D1E4D2B631B2BB84E6E8740D2FF1A5E7DA659537DC3CC812829DE8DF2FCB7BB3CFFEC314DDCEF9BE9CA40CC630948BCE7BE806F1724E4C52D6C5C4B7CAF292B339849EAE7698FFC2DE637CC86045ADC779DB1B5B8188029A7F2466197F0B623E9D861753814D7323F9B0F1692F674232614D913BE6F109DBCB25548C9880E7C64E6D0F241E33280D83DAE99A3077905B55323297861562869ED0D3E84E7483570A70CF0C4D6153B4DD645F075CF9E6269C46BB97E3E851A1B5C1E229DF3302F4BD13756BC3AAE4F2ED96697463DB7965F28F77E34219F73AFE581F3BD5A7A450BF90764761DCD7E203A0AC86D54514B1B01B741EA893BDA2BC8FAB29C68864966DFD6A1ED0A3E13AE2C3B5B318A58D0847520B57919C90B11B410D7BC4041F09F4EE6F768257B35D4A3E58E168D94B3A7F2FC7E000BBEDF06DF997F100B4F13803E5838A9C8C96FFA843B76AF6F8DF28E171F833B4C6CEAC4AF36B6D6D8E28B01B457EDCACBFA02FFF88F08EFA7E621DBFBD5C4A2795CE7476077FB06694CDD96A8FB3987C83B65D5A35F0E6EC807DF707B5CDB3DEE6D69D91E5244C5E2AB6E70CEC8522C248500E5610F12142029D23D520FD7BCEF7ED0F6FEB05004D809C1249AAD5DC93CC061DC8550E6525F38A7FE086A2F18926EAD3B23C300A538541D46DE2DC390C319B624B8CB20B183E13AC71ED0BFA00EFED3E0599594344308965783B28FBDE7B73AC9D2DBBAFC55AFEB62B97E9D6F0CC3D64AF81A884F4989A9ABD30D7D91B285DC5F47738434275D84251931B71047297DDC39D315574A752B8F43E42FF11907152A5CC0B78F906787609E235D3E - -0501F17BBD34AE3816E54BE81A9D1EAAB60DC0CE60F62214F38CEDEE3590F6A7EAA855EC561435C11311DA4DD5861EE756492B98376FDBE27CDCC4DD460FD5CC2D173B01D9143A359D45DB01531AA8BA48A806AA1D480490C499514F6B78A691D2762E67A1C34DAEC925855FEDA73F4A8ECD2F279DC74BFEF2F5962FBCEB1B88648BA8F0965F8D6B34685FC03AC96E463848B5B6ECD6845FCC19171D579F9C6AA3784BC6B82427EA25AE51E413B0B3B026 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TIVLJN+Helvetica cguidfix -/F1.1/TIVLJN+Helvetica renmfont -%RBIBeginFontSubset: PMWQYP+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /PMWQYP+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /s put - -dup 34 /e put - -dup 35 /t put - -dup 36 /n put - -dup 37 /v put - -dup 38 /space put - -dup 39 /E put - -dup 40 /N put - -dup 41 /S put - -dup 42 /H put - -dup 43 /O put - -dup 44 /M put - -dup 45 /slash put - -dup 46 /f put - -dup 47 /c put - -dup 48 /r put - -dup 49 /o put - -dup 50 /m put - -dup 51 /i put - -dup 52 /h put - -dup 53 /l put - -dup 54 /b put - -dup 55 /a put - -dup 56 /P put - -dup 57 /R put - -dup 58 /L put - -dup 59 /five put - -dup 60 /I put - -dup 61 /B put - -dup 62 /dollar put - -dup 63 /d put - -dup 64 /u put - -dup 65 /colon put - -dup 66 /p put - -dup 67 /hyphen put - -dup 68 /zero put - -dup 69 /period put - -dup 70 /seven put - -dup 71 /x put - -dup 72 /w put - -dup 73 /D put - -dup 74 /Q put - -dup 75 /A put - -dup 76 /semicolon put - -dup 77 /y put - -dup 78 /equal put - -dup 79 /quotesingle put - -dup 80 /k put - -dup 81 /g put - -dup 82 /underscore put - -dup 83 /one put - -dup 84 /six put - -dup 85 /three put - -dup 86 /parenleft put - -dup 87 /greater put - -dup 88 /comma put - -dup 89 /parenright put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9585740B80545CD7002A4BC37048272461BAB021BD2369A6FED4E38BB47331669F798719790771E586CE7354E447389745D315D797E03A9F4B2FF5826050265579D4E255AAE1A9E12E3D1100FB0A673645C460F63F51A23E86AB2AC46B05BA6DC79563A51579D86696338801A7696686D9CAE442027C537E91FF48D652232B99E393FE51359340E36AA7751D98310242A287FC2C8F3939E82971EEE03D3240FB78A5AE887BC5CCC888800021AA0921217F89A6514000BD2361BD995CC27D7103A6E0CE81A23D1D23665FAC4E4C2696728646F49B76179744A9F9082BB9A32932A801E72645DAD5B866FD27DCCA6913F05E5007CB883AA56C39A65BC5FE06AABC094950952EB6C450D0D3D3539396962DBC97EDBF1450BAEF52554036CF810F1925BCA7697F96F0ADA8662547A57041D81CB75AAB8954D8C994890E88B3F1113A1A599D64BA5118EC0000FA8E48FE4D3C56B0D3F24300CB9EA3495E2F6BC087F8A761B38F2A9DEB53F54EE03762FCFEDE387CAC416F4B10732388CF41B0C968F620E1A4C147102620CE6A3661A2EF27A8D4548C8B941503DBCF9A38E67B69BA570646993332DFE8087944EFEF8CBCB2A245BBD02DA9301D47961EBBB4ADC4984DB66DCC1E338BD2399465598B88A66DCA814DBC31B788E94870841F7D861FFFBEC36D8145CD8928F450ECEDED732227FF7D59CC7A792B318AA39D3473D6453F3F67814F2BDBD98F4603F9AF84DBE5055DFD9F4EE2DA59E7AADADF0B4AFF65D032FA - -059F2DD21529B77689E031C1121460F9701B9530D37F815FC27C6D2959B3B19C768B5DB3F5FB614E53839A4C6EBD50847B3F9BC68534BDFCE3FAA930A12DA4E340C4D32F0AC66E90B11DCD5E145A67E2CA7D4A0BEFCD676E5E655573AAC971124BFA8E83A861BA8C64003281F2C509CAA8302F291FB0A8EBD2BE6CCC7A67B5742C1D4E035282F9BA6ABD98C93E99376E54E98CE98993B9436AC3C71DE8339AD9DF0BF1B539403CD265D725F1D5AA4D1572E33174D4CF4BD17667A9657FAF2DCACB5E32D212B8C59BC6F91E137C41B177E562BB51447AE8E1220B0B342F2DF05364BF902B39C791DC676F768D31BFAECE3AB8EDDE978DE726BC4A07F7167479A02CDF8D12D10056672EF16A15DCB8C5F27CC095607F62EF163E7ED25AF7DA2A160F45719F65D31338E7C9EE3DAF5F53D3C346425A8DD1F971BCA325A67225D72B6B15B65AEBCF89CE8C8441890D93E5387D25AD57C39748068B94C24107A04EB03A1178BA052252354BF6DBC1DDDB99B77F3D96E8E623F65684C76481C70E096DF34E3C43E2C2E2D0080F5B6336EF68DCCF2AE28E279B34FB59D3F3FB0697EEFCCA2A1A7D3E4D7FD14175E51CAD9FE00CCABC6A5E62BB673A0DC2C6FFFA618603754F963586D47230FCE03689CB9E4AC0662FD67307C76AD7BAD9409C0F4FDA82432E37974DBEDDD0C4291745FB4A30C8FD1E3CDB1B58230F924BE48DFF07159B18E8D6CE7BBEB0AFC9E4D03A01BCB7D890E1815995413D21357B7923CAB26C66CB1C9D9351F70A053B4C9030EB927939B704A8F85E5BACA90E6E868A2278752BCBA55DABE00CCA2DDE32105AB503BD961F08182AA48AE179EE453F28F254440277D2B03D450165E101B509850907B0FAD0C34694C30E77E39AFFE1798674B60DEB8F50E74C609B47341A62C06CDB0BDE2BB434A9901B0050D8C9032281E23722C6CD431B0309351029D9FD34F79C2777233AED6E3EA11E410C63EEF550E8ABDAACFA834396FBBF92A978D0AABE43C5A1FF3CF429A89D0C47E35975D2C9B61AF4AE0FBF3ACD4B836AA4E9741016CEF196A5CA75BE5A373B9AF73DE12DB859367F9C07E33CDD8736AA99E84267E6209AF2A5A83DA5CA0C23B4E922FDF975BAD62B7D7585BCA1B3CA142F345DD45FD6C29BBC3BA6C0FE04CB07DB2F93537678BEB708CE64B224B7FB7B5026F78232AC9AA9F6A0B3B055D3D3239EE33911973A113F4E4696FBE1FC791BEAAB07BE17753B5DF096F67D68AA21ACDCCBAAB37FDF079A3B7BCA6E694A8C305DC92884B4B43B768F8C0CA55C4A2FC553F1D91ACFA83CB0DF503F804B0EC0DB2040B77AE68A61BE659621B1E178D104186C6F9C8A169FEC18FFD1FB4F1C6FFE153D0B222BE58E95746EB1CEC105F2CAEC99EBACE2FFCF29C09E41106E887691189DFCC87FF8057B21D712C83E0F5A08E28CF4C210ED3CE9 - -1CBBEDB5B2FA641FB87634C2CC94A205251E65AA29EC13B22EC3DD88266DFDF180DEC638A4BAB2A89E8E37715916C4FDF7E4B983B140E584C9F9C3AF61DE1468E8549A2B6EDA801EA65CB1D6CFBC7A0A7D437BC85A93E2D2C3086FD0F53BC2ECC8FECF68F0DF0468FBBD183CAA4E3713F138C0BDF65BDEB0ADE61A92D555A0D8443C58261C904082F3003E161EE5BB0632F9F81F47AB5913287AFC9A8D51C0FBAD060F94AE485D402C670088FFA34AADB35414D0AD2C3BBE547AD342369BD36BBF74F9573184FD29C3DDC7831006B4D5BC8803BCFBA03BAA40F8F232312DD1F0C9EC1D904C0787B6731209BDD08A946B801DA33A1D815599FBD1156C077331FC7B7E9A22487B132A45985A27901EE775B39E8CABFF923C2A76DFB47CCFEA6080970AEB1725366B6C11E094BAB09A9EB60B2FC6AD508AE289BFFD305C6CCB3841DCBEF496F50CAC15262B2D906B1E0C922C1DAA125E6981524DCF37D7EF7E04C1A0AD37DE56C8A9664A2A09E205D8147E0097BEC99449107F1A276718498FE473CBCD5B78197D5A22B402E8A73BCA11DF739D446BE956D9F63910A7A3445DD201850C32EE9AF33C7F2A60DA36A61BB2A62B6C2430B0BF4044CCC9EA7BD454925BC6E28261D452EF9AC2080D80FB0919E67607A524DD9752129AD0FFBC3CF849404E0D78ECE7CD77EE7EC1A35F3290806CAF894677664F8B9ECDE60BE1DF524D28A913E17088422D4B002F3DA9919D782902D781BB26AFE4A2F5349146E5F51CF21F120C6D27F9FEDC031E76C4B6A7048A914E10EA374F686CF03E7C334814B69A248D7CD33826E6354682668727E59479CDCD4A3C682600FA0E82907A44426075710E0D3B5AD26BE8F106664F162AEB12721BE46C527B35B6A26612BC89530379B903B04473B6E29211F15F1B6696E0C863B25DFFDC0FDA4E960BB8276B96F807DE8C92A042BAA40183E2E2BF0C2C0DAA776A99B5DCC95862471CC9C70B64A0C7059D7DCF87661C1E13643992C36393AC87C5290B5317D5C0D89DAE4B9694FA418EE24A5475533DE06BB90A61E53BFFAC5EC6135F27FDB1F301D0071DBF9A38254753AC65279FE3B55CF042E7687B76D390FF92366AD1A0C0C573FD71F328DCEC2FB654E114D3F6306D862109C75DE0EC95B65FB6C29CA7A28A642FAA749EB958FFFC30A0DA3BEA713ADB476F38831AEA788C14EAEA7A11F0B24F276D04BBE6AF86D7094FEFBA2912A5E830C54FFBF6B700B83E686CCD734417BAEE92DA6FF5EA8C2E03249D7935C707B7C2A353174F93EC886D847DA753F002F8B04B38705D3F4CDF34B5970995FF6C917C5413BCCF68333FF5BA9007DD33619718F2827DCDCD9322DDC0A72CAC909B2C163FCD3A781D3685B75C1D7591BEFB2A5AC8B79F23A6FEB799369A6BAF568F53E40195E5F289B76D7F453D4A34E465C98601651444C8 - -D84A54812F00C7A26EED24A572A5D343B4E738DB1339415653D3661962E182F1AC1E4B6B58D05B5982C052200ED312FFF1C5E14E35E51A74CF6A0CD748BD698D0B4A6DA666E0406B5F1BBACA5EF180B01570BCBC0221C6CF9A3863D1A59639AF0C064DDD583F7457CDB2780CCB4D4FE77CD578FF7221B17DC9F38817D2BF5A7622E855D39506ADFD9B0ECFC78ABA7B7FC593204C5CEE10D524B41616B617AC2423CCCE840E8AAF2008E4F68949C74CEFF950B1526DB2FF3678C5F4B2493954F65FD67040A034B005526171D0E3208C93D7001D65A65A3B8657727D7781F186399D726989BA3059C324CD9A174F04BE303B1B8F4DFF0B31BD9DD4E3EE54F36E762D46ADE40A130246A360E6479A2314B6164372E19C3E14F01D284F04C379BD669542C6326A188D0A43755E2BF64D983788ADF8323127AE37710D9DFB2D2FA8B16B9DF11E2B0EA76D6E3127D291B40D9D57F3AF189A67FCB833B76882EC21511A65D3011885BABC9FABABC48007DE3A5B9CC9DBA3A99FBCC7054B11C73F5D81A6885E4920ACA4613F45CF25E4058A25D9B81AB444891CBB1E68613D16D28655988811CA4BFA213E8A0A6EAC9E183A932CDAF9D66FFE82CBE1CD2AF93B8B635ED7D4DF9F1DF8ED7723678E5CE7E727247A2309A78E409D6E60C4032AFD950D423D821C1665595F250647D52B370F201EA0594537378EDA9E6A93415AA9587AC4530FF584F29EBF380071EF8FF3256F1B3CF9974DEBED8F56AA57ADDF6AEA3430B6FC721A12CFDAAEC51193DEB8C1BFFC28D1C3B171A4D8ED331AEF3FCD78B9F5D037CD632BA797D7257D3BA29249CAFDBFD3F9AC5CD1E3B9AE96DDC3358483C3C4F6E06C959FEB10CEB9A3834B4472305100BE4F22BA9E944B6364842E41465F0DBA87C79BA31035B7D2A45DEEB10C032807398A32799461D0AC7CFD4893674BC8203E0DCF813B4A181AC6D75DCD596D7347BC4D3EEDE2F6FA8E58B414BA748B577DB89CEF4FA53B8054FD38031BD800B91DD9761FC67EA87A6809D06A8BFD988ED4419B24CF79784C180110B7D73CCF330AB364F8002B06BD1F6122A9DA67C438D2BC4F6FD0BE1949DE4BF60E5799EB98812ADCBBDD278B7C96917117A92DF32BA1651420629808A5D8B4749225DB236A1E7821301D1D3EE021304D1CD7E9B590747AB315DBE25A9BA6B53C6FBBD7EB6040C1CDFBDEC22A6D7C033FDCCE5700032A56342839B095B8E4AEECE03E7A30CC8087A57F5C0DBEE6079365FF036AD0BBAC615F8DB2C0FE4B45ED70445627B4B6DFAC10223B8B263FD1EEF7C1E73E298C1E584AB046D508A02086D614932081FB6CA729785A5F03AA0355704EFCE2DB8141B79E32B015E65F3FA2B52B8A95F74693E6115E4CB2115FD84518A4124BFFC4C10A2A02C37FE7467F559765334A2F100E95D3293DAF9C84077964BF2646F251 - -D31DCD74B6B67BC9D899C8F90BCE5B82A4418FD99B64548768EA8038DAC4F3FE0BD414B82D040EC2F7DA607BACDB659D16DFE9F8680CB5DE0DE1787B4C8906FE6AA2638392C7237F28FE826F2646F7470FA54E3A7D9B5883028A4A10CFA61D83078D4DA5757C3420A69DBAB1123EFF857CDDBA74947758B0814A12D080AEB4924567A5BA9F7E08EFB2ED112967D8E16A9F822736E74278E044B802C2A6B119D8D3844441D0523DC05A10FDB78FDBA6AEFF7D704CC064D1E57E0E9EB1BBF86BB9E084FEE837D3DF1D0EE2250C9DC674CE86BBAC652307CC4D64730FECA899309EE8B3074C105B8449A346DC4887AE76F7C369D18A87D118E2C60A4A46721C80B064BE2839CA3D43C49827AC3FBEA99017DC9924E4C97FFCA263E0A523899EB2ABD47686D2F8CEACB0CE129DF3D782436FEB415635B0528FCB301FC782BC676C76F885B53526741DB8B4CFBA96DA4949E8F7EC7DC8B02D7313CBBA4FADC1C3E4360AF377601122A3A763671EA8A69390E07EC7BFEB012289F7C9676EC166338CB2111CB361CBE72A5D38D3F8B0AE18ADC539A057198B4CFAC657C17737FC1A8E41E9E794BE057FD76CBE7C1C9EB2CD0AB66FAEF7EAB6EF57F706410FA3DD6397F23A6D5337ABC91E515126CBB5D5B6E220C93B4AF28DAB291FDADE7BA1C714DBAE05A13F0A1AA978EA4F6759AA534FE19E899045D6A2CC334710B36A31E25FBF5341D63538AA9ABF83B5A190F3BA36234D062B01CA4A034F26D8E6404213C6C1A159CFA965E5FA8B79446AFCD322D6DCD015DB2B6D269BD39CAAC9786C857C7C3EB279B0CB72F9223AA7A8459ACCF04B1DB3126DBFCDCCD3A2BF80581DA2F0D4A357C6332EFB0B7B134E2540FD05659ECCF45E9F9D59D56C954ED935417C74475EEA86474E534C20FA01FBAF731321113EA8467C8A4C7F2C436C004B4D064C266D7352FBAC0082786968EB2AF6E1560DD38363C6E6E2675CFFB1BB7D4540961DE63C64FD7AD3B424C63DAA215E10843745780D966CAD71DA06C7E2637CDE3EAEC2547EF0151DA3CA658AF09A8285B0C2398AB25A58C55DE9D860D4E717255C92068F5A6D62CF6C6B5EF19D2F43B763A230ECC30982BB40A858A9E24288DE9EB5F0399E2A3F8E6A70D16C367B758FE46EBEB7705A43B25B3206E091442C1B8257167BEB0CEC98DE8FCC0CD4F9D70E575FB175292A299B3A697A0A4324A9801743B03B5B12EF8CAAC4053CFF598A0AC82527CFCEEBBB2D97550FC345B5EAEAF53C10CE8D89FE4C1D0B353E367886666C44168468A85EF4FC0566D50DE9AB40058B1CBFCBA283CED83C9C04332A98739CF286E1CA1276D4E32685464F4FBF85976887D4DE032E1C2F2608F0C6A661188EE84876AE05A4AA2C92E66BD96450CA5A161223DD8BF0A6683E9D44975E2483D1C903467C8C98A102BCF4E9209602677E7A91 - -122C9A12CF4DDE4534E6F1460CF28ADDE2872827231ECDDAACC07A5871356BDADA65BE65268D8BFDF8EA20E6BF64FAE9877D895A967D68A157C43B585C6A8A14A51E91E9CA76288DC60CEF4768591A1D8F1EEEA1AD94BAB2E45CB3800B85E58ECD69D7274FF70169F6E4BC4E578B7B037DF23261B698ED0A40907960AF8361C3E85A1DB0CDE34AE183F18D8B9249FF54827B0FE3F3BECFFEB64D537DDBB0DC54D66A38A7FCB01C91C50B5172F1527CEDE921DA7BAF8CACA5AE21B96990A6009589DC4615CAEAB4FA83DD4AC9DD94A86995708E469AC4D76BA6278E4C2ECCDD430412965FAA1F34217ECC341348A6107A3A1B2A9448888CDD8E1CE3DAA9C99F8D45F193380011078EA8A874CA80A56518A292512664BFD7E0741FEBEA653B981860C3CB13A3636D17AB37A67906F07581892053DC794840C12993D8257D186830A0957F76B72F24813E1223C199E367D6D9E90524501FC85965ECF8A9260BB644C12299CD409915E660E63E466A44D84E84D084D17047B63E2D0AD65AC58EFC144439B377C6151D28510DF385E63D33327426312A354446F69EDEFE5610D611177F6303B88058C8EE3B9824AA0DBDFC6D61636714E356A091FB526BF4AC4D964514ECC4A37980AC38028486C5566B0CD4AE04FAE82FCFC035888D9E551876430DD8F13AC90FD277D64D03F4D631C890C6757FC63C5E1A54D560F44983FEEBDF1CAAD52C40B25DA7C8A701551FEF5A085F65CCBC9C93DDFC3BF05B4E2AB8E9F5C714A9D882B96A71C39838226A1D1DB56106445F113DBFEB3D3CEEB9C9D0CA79C2E053F8EB85394537D9BD6C20B558D5045E1734FC26E71803F65C81496A854F54FA8710EC3733E23252493912C1FF6AEFE2A67F54CF7802789C34BC6AF62E6ED5E8992CC933C617C7152EB0141CA12410E7FD59B78E391D400760B8B3C40BDA7EAE75A47DBFDD564C34146E5CFF3CF28596FC111DBB3537F35130BF119BA120A789DACCAD66AA3ED9075307FF8BAEDDDCFB12429B5A38D80F3D2BCDA4546D4DC7F242AF44B12DD15BD68430B0911E9BD15A497077440FD88202A559FC103E4B171E7337D32850087296827FDBFEF2DCE307C326F101F577C053E806DDED384148B4CDBB1D66E13A15061C82101F3815FD41D01E1329568588634024CAD4E35F8CA5C71A3B179E07E36D544244EF4619365DC446B525ED018B865D3D220EC8D14F7A6B6188692D1B698B823ED9759A652CC3AEBA80F53BCCF80028B8B2554CA4548222554E7CDAF869028373422E3B7A1AB6A63CA76872BC57B94F1514E57338D12A0D2AB7B68AF69D813105DBCBEB57536A9FA4C9C96844E1B846768D12CC7EDF75F186C44DA60D33232F05B877CDD82D1E4602FE5499375D5054D287D0B269535AF27C1E2001DF989784B63FEA52C6C2CFF08FA60EBB53AF376388E9F20F4A84 - -2982E78F6BC584D7DD918F12C094590FB5C1284F5E95266981D6D16E49BDFB648FF1F515D988C4AE8542D7F9FD7480A483053A71FD974AF73628DF6FE026AF38AC59309FEB624BF746930F29608901CF1CFA32C92E5D92ABAE7BA44FCCB887189452A75E2C07FA49594492317846E9333198BF759F7F6222127D65161794B4BDD4E30887B8460E20D3E3468562F20A8392EB65156B333CFFE20351279F7E35D16FE2E58E289241E233B518F80CA33B259A61756694A758AC311E2E99EBAFC08008D584C1E496D86ADFB60652E3347D53A520F22F5E975DA1457F1B4262E1634E8072D2A1C95DBA03DC70769C7AE5118875324C1318A9CA63F4ECEA0B5B54DF37EAE42CDF561C1882E8184AD6314B597F33D941059F92AD9447FD5DB3CF9B4409553809FD817A9A80D45DAD2B9113CE8034A7744127BA7AB5A5452EEC691456376E5E337DCBA50D8A4422C6098C908F062CC8644646D097C38913689F5E82FD2AB89AC20B00641FB0EA853FDCB02076F596399101CB9E794143F3D3B2B97E7E6B137B26B3497EC2472E7AC9078183A53EFD67548D1B1341E726952962486FC2A0D91C8743CDD7ECB317218DD1D582102474C6F3D9F5F2237AB3DFC0C944F5C7D1822D95A070B6E81D459248247C32AFB940A152168226AF28F2CD424B597CDA1DDB5F0361565746AD9F9BAF3CAE77DC4C39AF0F6EC00A72293CC5A769EF31D3FDDEF17646282161AAA8AA7A79337CE6C57FECD3697EA6B9518BB0626E4E5B29E98F163FB571C17A5FC538675186F03BC2C822BD2538780A0AEB5E4CE78D7CBC1B0EB50040745AE3BC5F731F201353E90196738C788F722647F84991296770A66B07DCB8786D5A33BDF626FE920C14E6CD185086401B8E37494C59C64579F5992D05171811E4C8C9414851F2EAAEEBA823703435B4131C0F130B36A9D49A3AF84A7615454EBE7D37F9228407F35914C946C8CBC90CB441268F463B01903CC16D42F3F24F8ABA934FCD4570D026E7399F9BA94B450AA661D111A544B58198D15C08C4C82B70A3463BCF0EDA0CA99B394E49A7C790DAF92E69AFB372D70044ADCB2608647D14784DEFABF7A89740B0AAD03D93F2C4B578B83FBF953262267413E3A2128D87BDB4D6F0949FD2D50BD58F55034B333F06F1E672E59E94A0A89863D11A1849FB3159D4F411D1D868639279522E11490B0C03A7A8AD433850F1003018974B228AC731842A15AA8F160960E0740339D4AD2663EE40E629E7CFB87D89333A06FA62A9967F3F08E2D7A77F844D5032DE4F76DA5F39B14054A3851D8E22A08C21FED24016EAB6F395E3EE5B1AAB171D278C13344BF4C96172B3DD2F961518E3FF7B382024A07D002C4EEC33179459D4C135F4C87E5B30D223E8317D9589985408EB156B25527D102AB4D0D17B896B3470045F1A64A1FA785688B747FB5C869A - -A7C27674A4DAD774B2295DB90DF461AB4D95C510E5791DBF74C3D3613408CBDD7F66FF40CE30B4E26EAD84D9F0C22D03745C665CBD61B0D4E4CD99E1111EC9A645500F94C0F86FE786A72F6CC85F42D30CE4DEA28E26894B4B193B7AFE56766B75C701799A0BFCB958C6ED35453E8B258D98553BC1CB095E7DCE7A6AB9D50E56092F44887DD81E2C362D0774CA03FF08D1021B2E537C8B823854583E05DBD823E4190B972AE1359B665725000836F378614C4F19D6D4AA9308EDE2998A84E8821733A782FA6C6A597E854B16FA86BCAA94508CA1576E17A0CD95D0A1E31920FC4F74A05C696AA9845248EEC686A8D934E0CBB9B74BEEF2A3BE057A24CEFA49306D6C9924AC91AA58B395C9203EE880FD2EE761395A0D3A47C1007F79B206451B10C2D2D6A53FAD1C2AB1FDAC4A3FCCD4681897C863A124DDD38CBE7744C4268C3C8EDEF57C268ED7652DE741688A3BDD8672C1FC0A98A61265764BF699FB882F0C91994BC2C5321D1D528C57FD7375323135669C2628518C0B7EDAD4C7E64CAA8D8A4BC489D285C4462AB641D6D7B6F3317941C9D7D02F44888CC2431B69246E735E689C0C2848A54024F045A6FF800A911EFDACBD8E0A66EA92F67B49AB3852963359D8545BB31D830ED3C50C2BC4A208BBF6BB729946D60CAEB6F0499CBAD6570A161F5D2D4DF11A2605C47D3AE91941112BC8017B4124A438440A3A2DFFE116605C48A6F3E63B3DCE7DBD0897411FDF139BF06196D0030BFE8A84CF67308A978452F14CE0D362767AA258298652020503DBFFA4E3A04EACC2612BE1375383EBF2886E1735BE1068BB13FA8DC960408B906CE5851056F2AC54AE26D1FB2C88330220142C70A93CC822F9B4EE53B042DA0A129BAF426BC6E283301295EA3E61645F6607AC6780E17D5D9D7886F60B60B16A20AFC134D2BED7A327D0C2A8B88C77C82C180D0092B31D0FD4AC89ACEBF5637C8886060377B9BB2CA7B2C7F87CA8218D462D4D35DF5755CD07AC8A1B44B26EDFCD100C6BD58F6D935988B89C67AD7CCEF90022A226F7B5235AD732B8AE643A6C13B73F75357DBCF925C0D698EB235497E71061AF18C9502E38913D4EB8636FF39E22702A131C76DDD4C2EBE84641EC492CC55B5E82887D70903813BDBA7E70BBA1AABCFDFF68BCFD4D494EE64D7B17F25ECAC652EE6C151EEFC7A9EEA2A3E5EEA66E4D50555D4AC4FBE731F0F866B948502A6506A7ABF75E5F6DB066C400EDCB0B916812562B19CDB00518177B459A03769701FED677FA9DA38E854710B7322CD7A89F8052E87E7FE2A17A7670C5ED6964393D3FBD2FAB85598F7C9D00D5D87DC19E13BFB43483A258AB9B5192362FBBEFAB89B9AB678D1B782711DBD82CAA0F92D988B073D38E34282B7508636C2ACDEF2E36C33685124A95E7572B5C55D3AF228A80414E2B10016AC847934377 - -7813FFEBCBCF723DC28F864BCB2598D48CCAA9609F7499F4D184D9D4D0B4B7CA539E136B0F863BB85B4C032F942450299F6E10D77C886479C8DB9CDA5E1DCA3708B549E8CF157AE5D56E7845165DD9EA570252B69916FD6715EA5095BC18FA4E24727DAB999A64645B64C2BAA5DA84D5D5979A08C1BC27316C5CED29EFD5D5E37961F32AB5C013963C2E894B0B61283156D67332C69C068CCD5DF2A3248FD6E852A9C018D4786EFEB05C076E315CC3CBDC1DC538CF487FC3475A01186AA1A9E1B4F5691CD731C99703DCC124BE3E068F3B621FFF68171C6CB5070B02DC84AF68F583A294E37A16877135E8FFB3A88769BE6C46ED9EB0F4BE1E0487A507075E0763FD63C97160967FB8BF8ED2E6933FD526A8D8BAEA079F07EDF0F60B426BC749D950FBEC5FDBF322BE0062C00A1BD1049381EE153C768C034599341FE079D6472ACC8D07CABF2EC56548D97C62D0FE4C4AF18540BB6ABC75E77833D8F894ED94A4C1B3E7C68381BDE69B5C21F511A779F8A04E895182303FC7C277BEE6E5A5C12B70678076F7F4287C010B93140926A570E4F13A59FFD3D263E1E70549AD7B50FA82518588B9A698787EAF5F56598DD06A3EC280233B6DB6E23B5E624F7E9DD9F2922C0F07CB3BB000E8386FEF584472819CF58720E9814577A4F9A2D43F08AE6AD6443BEAE8B9DB05E9019378704211D3CC03152791FCDA725FB6BA02003F6328E348F24920D67B7DB848D9C984AC97E076BC8C7667E969DD7EDFBBAF689D3419AED606045E05397841B97F2C15BE03145DD36479E7DFE396E6D4BBE01CA6E6D7DF2062706AF0E5347DD75502E766E56175320A507B2B3BDD5CAF593E98FE30AFB93B9D6EA36F4981F41EEB0CB87C7DF315CF6868F767FA7EC7763191441AB8924A1C2EAA16E596EFBB9A2214FD0359B6D3F3F344816B15AE333DC99C173FC22CF37C87C99ABD1C4B6F51B57AE6E1AD9780C7212DCB7B1A81848DB2E83D08B0373465637CD31B021598721DE2D0ECE8DE729DB035AB61FB9F1F6CCFFC6972AD50ADB6332898BB742B156A8B8F94643DD955BA6444A376B0951A5D6C7E025A0006F6867262CCE5D984E860E996DCBE9FFF020365A62755DA340AEA96D0BE1EF193EC657FADB0468B0D4E975C3A2673A68D0E9861C1A008A1CF08ECBB0E158C91532C27CC7EB9F8A70E38157EF16B5BC48C7A6BF0BF3FD7DB9D18F03D89EA4B947E9BA44278DA65CDDF29199237D162D7DFE8993ACC0989BBC1963C122D8B52040055AD530ABD03976839311F8FCF458DC44B38F7CF8A7190F3B29FB35BD0456244E455C5406F92EA5B17A04FB7E34192F25B6788356F553E04FC4017515449106ABD2B2D8887D95A1FD68CED8E4DA77C582A67F2850C3AA88278300A37A0A7B14739C8CE263E758CE17489471E50B47ACDA189ED784AA8A152477986E914205A - -069FDF6F59DEC04BE6DA7153E74593F39960CECE9706AA2EE1402DD222ED90117BBECF32365E403DDFC57CBF54B57FECDDDDC9C6E1FD1749123B418E1FD6E71F26E3A1FCC2610F1E6C0757D2C516B8E98224F28B7F8F1984DC54B6E39A5F315501C31D83FAD153E6A099EC3C9D386AF9E1F8DFDD21B4E0C5FAD200C3E7C9FD2DFD4140BCCA4AF841DD1583545525EBA0BC15C2CC4F87AB3905B656489926A08FB1B60C811D1C684CA3E4FA793CBC017844C6F158D2DE015AEA1C59606E8970802CFAFC56B88DA655BCE56A839587C3B5B65723A8916A1C2D8626A613B175E0ACA52979F8C9D17A66B6824BE41F34452BAE104E0BE3E3615FA1E7AC5A9AFD5D5DA5B52BB187B2EC71CA0D82E04FB39ADC2E2CD01FBDF02CE5FD40B02DA004A13F8B2EFFA930F17A43127DDCF2F9C036A9286C86A42FF6E3103FC6337565EF06C9DC7D39160CB8DFA1351E7E9E096CAB038F577886BA5DA83BF351BEA308549A5E4A819A8B8F61DA3B6CCB46B89AF412A17F73BF386FE15065022E567CE0E54A35C8DF0C76EB7F0CC6224E576AF2B1EF8DD28C9B677D9C648BF82D9480599B9D2BF3773E96A56E4F009DD7E0CE5146A0A262E1477DD092D310713041121AB4FCBC327E715DCA694D4A0C5510D3608A0DF482940BAFBB282611C54413B78CAB2B8323AF1056549B5454B115025444FBB35B799A07FB18901F478D36874AB1DD1A6A053E5CF1D31767D08E4D440FED5D8B8C48D28CE27414B219077492B25CB7D1C3071E203B6BDF9B8127199B55C276B445BD2AA255CA09955B3D1E093A62711C921E147CB30E99845B6BE07636CA6E49BCAB3B86B1803541BC522FE04AFFEDCA272A422EBB734FE4D4403C3CF8B3E534B1DBEF1E056476CB5568F00CAAD7EEEED42D91C180BCD6777D4D6FB35BB646B796D9F8E36DFE828AAC63755C4F35EF5AAAE8A3232CA6B082B7C7EA8E556C3537FD3F0007568BB702DACEDE492BBC3AD0FD9F30C1BA49174AB53B41D26AAACEA648975B5C2E229EE38A0586AD501FFF4680CF75A668E6C303A4BB3114EA4007A648B3E37056A249C2CD329F26FD6FBC1A501B3CB679A6E8CBC8A5CC43A7701106998D7A02CE4EBA0E85BCC46BC4774E5FE9BD408C2425E38DBF11BCD29C1E849D653A00CD9FC9611235C4871CF75F9A652BFCB4852D379F52B5F3C443DAC52FF6352113CBFD9E8AEFF7DDA63C954D06E3F6BBC74A1503DDF0E406C30B0EBB2303199A003B7C939A83A0E3640F41141799D784B6B09626097808577B2FB512F67A2E275E333E6EC8495950D869B1111B7B74F9A2599322BB7BF1A6546837ADA267CF8A5F73DFF8F8866A559B08F9CD93D88B645CF4B70C18CDC9292ED1F864EA63A52D869439A06C681D603AB6B52E6A10001D57FC699A6A04E3291504FA0133502225072C69FA78F05173D87533AC00AC62 - -1BE4D8CF0DAEBE25738151AE9B3C099F3E1213197D54D5581840720011E3AE8EC5A2326957B8A4C89A515EC80F6176A1716B4DABE30B4D06475AD81AB454492EE0594B55BB35732D6989A7268CF27439CA5219124D61F41ADF2BDE26FB61639A60115F52AD4D9B2492E2038D85191059BD59A17C8D203215B3F29077E13CF84C4DCB079860AC8A2F04402725E64C9ED2AD4A78800256BF8E53B7F9084DAD1EEF31843177A768E23DD61E14593CF897253FA3E814728B194F5DCA21BBCAA36BAFEA4AFDC2EDC4F3375847F45C588002B1578E232C0855053A051823750D01A786B95191742AD022C6D99AD7EEC06BCB8A024A5BB92DC905128BCEDEAC637DEA0F8088D7C74D51981F4E370CECA100D698B55988245BF230C4250724AE7CFF0A89CC3658E4A5EA28EFB7A3A1330F4EA67BCDDC58B0BD059D86D53494284287819D06B36014ACE89FE139B4C0ED8D8D1024351B29DD460EBE971B5515B0DCAD1A0E71316A137E64CF6DE3E93D77D856F728C62A21F7C7129D42E3974C60A17E0DF1B969E9A3356BF32FC8C11EDA4FEEA24DAF8DB72E8D55EF5F7E0A3153EA6E11E95A8E1AEC0C1FC8D0A3721AD92BA3549A1BE757B0DA592C54B7E32E8B40D4B92607B24EFA5E31FFF57C8229028A1CE629591F79EEDA3A2544EA4EB22C65E7DE77E77A388DA71CC4F01C6AC5E6A656F12CF5E660567F95E7DA88EA433694BAEEB09D0ADFAA8EE2349135853DEB1D1256ED0140B825EA329D4CF8BE13DE2C661B3D0342D23B16B78542591646685756D7CE3A8DB7412D1726B946570800900CEEB0B178C9646A3346E7567E8FF23E31E77D6CC3A544202A884B4077D055A64885C76B9D78131811DA9E5155A7CBFED04AB02E9D7B259C4EFA8380D24E543DD3C83FA4206D2A15B5ED46A9427E191DA9A62F75ABE14EC27BFFA39124C870B817DA2937E781868A76106F183D19847F5811D1F6720626A5AA2C44D0894C84DB22D2F028ADD2BECE5A74F87B68C9737C6A6112B1720C0A0A8324CADEEE01B0956FD84DEE256B9F1F4FAF6D6051ABF35DF8D39E47FF20AE2EDAB6DD6E9AF11CFE6ACB4E0A491C071C049CF3019794C65CFD51D2C30F5255FF8FD7321C8C443AFC93F78EB84C73CBD128D14892B45BF679F62ECDBD699CFA1AB3D474587FC46A208B89CBE1A4F64866352F766D1BDC5D41BF015EAEE31125B73DDA585A9EDA7996386D56781024A113D564137F9DD3E49128DFBD5C22DF8091F717F44A33CDBAD4DDB39176C11B162FE61AF84708688353AFC182E0A8E90F7F449D1B529A6FD4E93EFB492C192ACC2D20775A64891CD83F5739AC5D557A9005C537E921F28229B2D6319083F24C407217738351715867CAA0A32ED28628F677FCCD3C898DEFA67B856F354DD4505C97EABD185D01A78FBACBD12E681B3903DF18A16135F4F9B738C6D119 - -733B58082D908C7C589E561B9CA3AF6D33ECDDF1BB2C693AAF1A3B34B330DB914BE46F6B501AFBD5000182AFA159D694E389651790A2FFC0D1F1108F8C8BA5DA0F142C4B9570595604D2358BE27C885DADB5B4C7078D633223D69266DE980C6947FE51401FCA3EFAAFCA64CE3E3E57054CD21C72CEE940F34D0FBC1D0A8796DB18809795AF3890180FA4C20F00CE00FE565248C4C6CBD44B22E1091456B07757F63F2F2B23E639896EE74D705CD8B5E52C443CBDE35A14184740961F527C30E536899D4C582FC9316449EBA5FECA3B1D4B640E2376DD80B0481F928E75B6A1686B932CE7BA52C30F2ADF01FAB031D7FEFE0AA5D5DC92FA7017B4FEAA97863CD4B56EB1EDA86CF27936DC027785317295656C7DB277B41FE7FA5F89A0C635D9A72D56A444912E87ADCA58674FFDB0BE1C6306FBD22B8B822D32A4F6DDD5045CD08CD4D312A78C31FE2F786157E7A667A374826496DD5BBEB570F7260051780AF1ADC93EFF1171C887DDD2FF2FF768003C1C705C486EA7373598F179DE8E53662DE750C5F0CBC3D0966193715DD361B7DCD235CFEEE227ABAFF5D75AFD28F7C25850CD8295DCB536DEE462649B314010072AE9E91A37A1A9F7EB8EB1A8C297E63748B5790BB9FD3309C27225658BC9105C3AC72992B714D4D679A7B98BC5C3DC0B1EEF5164DBE1B77D8A38379B13A57FCA5587D782E3EBFD46D9FAE12A6045B45D41E462F3D14384039D7FEAF5C6213DA9DD889A1EA3B4EBADEDBFA983B49B966AA59A8247ABE9384B0282A5C7C3E655CA13224EB39E84AB17BAB959B713FF62A04A1E56D9BD2AE653148A27DA0582FA9257F699203A32C018C7F0028BC91AB03A14EFBDCA1DDC4EBCB86455CEF15B6BDD1C2E3BE7A53DA419C24F85D8C4E9BE3245BE2711E4A29C6A3752848E659DCA948F706E4F3D3952AD6BF76B93697122BF1D1A5D4CC6FCA8A4D9337D68485EE2E8DF59BC2D8C6A2390CDA3C9D46FEBD8EE52A00EA90C607B29E549DB70BF88833C7E8EC175A38EDFB2BDFBABE9103F4C116868EDC492AEC94FE560357DAC58B3B96D35E1BC0A6E00B6C3C7FB7B9D506B18FA0B72BB7A8EE7291C60EA0266508C9A8776171EDAC52F809275B2E75D83CD415180DF34EDB3649B39F146837F03B987345BCE370FF76FC15B6A2921C8E779D72F71E528A6C6B3F73D73908E72E6A4531AF26F774212942A441582E0CBC43F6B6AEB3A224A37EEC194A1ACE004CD5CB0415D2A6482A0A2F17ECD5E56BE4FC622B160FC525443112A57C2E0C5D9EB65C93B238FC46F51C84ED9A9BB66CEEF7DA65B548723EA5B39BDA4776420CD4E67D1A25730C57EA47A70ECAB6031CE590126DE1E018364206A417016836B4709BD77D1331782E626190C2272003B1E5BC4366BD173213152C5719DF198AA0CC617B3768639196F8E180D735F1FA7863B4181 - -72C95768C2151B982DF159A247A69A040031E06A18E1E7C945E8E9A2B4FE7F88144313FD736BF035B3C3FEFC89473EDF0A9FB4A93F2E2E222C3128DAB89416D11105BFCB365DFB035C77D2409B8F3ADE2A6A8D0E7263653F72A5CD6582DABEA6C849323879D6EB1D39BFABD0BF87B538A51B35B5A1EACD9A9C1720962BC22D5A74D1D35A1681C53E592C23DB4E786197ED048E3A9C002AF249FF215DA5BA9968914F7A5E812C30FAA8D763F1620580D092A3214F32D856B3146AA9965B7957D7AF4029AE9289B4A18991DCF68B05A796D08A96827EB92749F30B7337AA6083D548EC56463BBEDDA50AADC3383B9643128D7F8BF3B27DF24ADAF27A7B44F7DC0DDE913DB1F0F94CF1F85F5DC7E8E322CC14342839037403A62DCF6C0F78FF0C02FFA19BB7C201D6D22B0D48D97BAA681148F0B64C9C27206845AED70EA5F7E7BE820D7ECED38B5B09BA7EE4B2C3836645E0FFD6F85C136955B62A3BDCE5A652ED735EC9C9614E4DA3CD541E2F61BB1883B3293F4D93778DD7A70524E6E039C08E0F47C88AB7D272F1A56500E6A3427C35F61AE1D97FDB31CEEA16D3A880E8829A9AFB97CB19DDD839B651CCDA34A56CF5B404F882D879952E508F92A04BC8C582BFB50BA901DF5C1995921555FB284FE89757CBF9CF5DF09076368DF3E66D3FB0F8B689C84C9565C635C12FAA5C1E6F29040AC7AB650F067B314B610D7479E733D5E47628267F7D2F60E20656ADBF1D6FC69D2F36B58A53415387E7B7F2A7224A1E840EC93095761ADB91D1E71D2DB5A9C3B8277A6B9D8298FA1B3B9F5A2B61D2A484FD6A19D388CA7C85CB11A05E90DAD2E09DCDD205B3A74C91CF2A680D9764F30C489AA1DB225F188171CEA7A9ED1CC9764348389F3E52F796C37F58C60320B285D2B5AD82B155C30781211F0D70C627D5AC89AFE430D2B50C6E0A512CB68A69EBC83B16778FE6EEB328F488FFE550028C101BC8729FA3008C9496EF9FF60701A321794641FEB771E4939F4A72582B34CF01DE22897789D5B43FFBBCDB78AAD22DB5917071607D1DF3E93CBE0A068DEA89059E8DC1D8369EC8E4A7B106E44C145DC24C442D38E89204BE1257F0C9D14D995BCC241730AF60DB0177F0947C34B99E533E98270E86F823D722CF03244B4011129C5723A4885E743D2DB9B6D0EE3F2D68547529FD6205C6311F328A887950E4D47BB46A261EA71831E87A4CDAB6051E169A41A590C0661CB76860CCAE68E3E4FDE94B04825437A8A0C9B4FABB4447F59A189B7F5F2BEE92A72F8C8ED0426AEE2860CBDF09365253BDA51110E24E10AFFABB25B7537EBC613B27297BBF32AB3FCD7FFB9417D485267E8746AAF00B33852D5A0CC3069936338281D4637458100B5D19DDD7EA06FD236032D1B894FC99D640B88823DB251A24A44903B5C37404FAB54E1CE16109FAD43498F01D19CE - -CA98D6F991D73699286BA1902D215B61483163C08507D480AA060680BD3AC9B32AA62292184BF1223296E2CE0B88E8242E77EB856A85C2301AA64F344E8BDEEDC573609731FC0C1AAEDDD94927709DD1E96C85FDFC138C560D38A19EA0B7965410724B0CE769477489D4D3936BC7DB28D09528306D080B7DECA1201021C7EBF3BDEC34041472C955015522AD29E773655A00DD2242D932718BB300C2C044F0A7182343FACCC254AF41274CB398B68F4A5A537CE9D35C494FC2733DB18EAC67ABBC67831EDCFD48C7A3AB7582F60DF6429B9778CD3E3233EE551BF15FE956B9B90F3BF5362A1AB1637A2F - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/PMWQYP+Courier cguidfix -/F2.1/PMWQYP+Courier renmfont -%RBIBeginFontSubset: FVUBCG+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /FVUBCG+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /C put - -dup 34 /o put - -dup 35 /n put - -dup 36 /e put - -dup 37 /c put - -dup 38 /t put - -dup 39 /i put - -dup 40 /B put - -dup 41 /u put - -dup 42 /s put - -dup 43 /space put - -dup 44 /O put - -dup 45 /b put - -dup 46 /j put - -dup 47 /a put - -dup 48 /d put - -dup 49 /A put - -dup 50 /p put - -dup 51 /r put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92626C4DEA81D313B50D8F4EBFA95F2709469CAA9CCEDFB298F70C76D4070E2FEF56F7430C12C0C563090BFFA3FD5372FA125AAFECD88D87B09EE681D3D3DDEB179ED2EBDA47B47A903948C94A394E1AB21BDB5419F74AF8DD1EDABE5F66A616C0B814C3F6A1D4CA4AA96170CF10D057BD00C552030A473CB8D6DC6D76329414F7F2D7D6B60F5CE46A921EF940EBE4E03CA21314629BAE374D8A5CCE8BA06E354C0EF406A5E43D808961B4C45D973C67A0CB529CB4D426CE9D1838C5E4BC348EBD8EAC1C5520FAC85A5C944E26D5031C6563A8184C3FBDD693D574EDE430C5F17B8BB607C5943171BF92D5B196AF797B34411B536B9E548146F6B4890CEC8C4EC434506C759DB5647058217816BDB99226E44132BF4FCFFDFAC353379440ADE29B190B75BAF9A5D618166749CB5E08188444B27DEE93C24C5AA318F35E39A0F89EB6D76C617A3921CBAB022451CB3F5074FDF47D2F8CD82F9ABFCCED0B74E4D5487323FA895EEF68D0BA4A97EC93D34884F81ED585060F4989671E317C60B59AD7EE1A19E87CA47BD7FCB6492447AE4A940ADDDBFCC70D92FC2411A47F038862E5B98762AE9FB21404FF5FE963B3C18DDE74CA1F5593BBFDBAF28EAD26EFC9D9C736266D78CC5A5AD2DABAF1F7D0ECD4659A4B3B32FC0B8184F9FD617C1C711884A2262BFE8F5730A4FCE27FBF4C1C3D3EC35B6FBBAFCE86F18D16E8FF8B39178E06A5EE7257EE89B2EBF6678D8F95A5BFD40ED2283F9D87DA257B45057C9BFB7D - -0DCCC45E0561F9017A76A206FBCEFBC8F2BB63C8EC8CF1EBC75C83487223A69661D753C99A87F38BE9E25CD0AECAABE3CD9228F782C19493C857115C9B51BFECBF1AF2B48D4963DE113477767304A223649F0912821986B4A8D5FF4956F70E1B64C238C5E36599F7F75317EB309A3069E84331B3CB268E39916EED465ECCCF4C7CB0349CD084B9E6AEE27A29B870B0340F4E4DA56C02A2F6EEB20D0E9E03706D03D4D2195A9611E43B5441FEB03ED417E2BBA100CE1774026A1C7737AECFC77CE49E02D0982CD36E301C7248F2D548294874D082BE4CB4714D17336B3024A5AF202897A9CCA274C554D0780A988C1C08A00FA43F05FB664F81BE7FDCB79E71AD975C380E7A284253E8F7EE4EFB7182F1C821A970B9EB8CE220B53A9A010CA7F3419B4F53C063D71A01151F7D06F25B691EE3A4B27A51A26371FBD9B42749849AF60D6375D74CEA475618C387207D30547EC59BF4EB58E86352BF2F5E39ED3AD42C6CEFDA37DEB079D867C2E6809F1067C3453A7185C05F76141DBAF32BE5E39753A8E3930B03EB303F611CBF11F0F41B58A65FC7E225D083CE6F76B50A64BC088A79B10D392372288F03AC97A7963C306A57960A0CF032F00D0B11A3A1376027DF96922AF7C0589DF0FAF7EBFE8213629EEBA4DF4BB323B145EFADBDB65735350528DE6947E861819CE1B5B3E7EF157D72716160AD617BA94928F27CF509351CDE2E8966E101AFBF3CC58EC63912FC6EA35150561DEA5C63219472EC8C9E8CC33E9CC1E56D6E2263EB24008EFF4528B18491899DBBBDA75BFB1AF792ADB07A7700412140D7E1921C923AFD71BC8FFCE70FCA4F7B2DD15E944192CE47EE197F7F0BACFD8A7381CAB1D1B13C29F9DE9916A62F04C339A147A94129C180A51045FAE6BFED38D36F1C1D5072B60DDD223CE3AD5294AC39ECF5FD32F46377CD480B48CA11273CC14028FC5C324EC7CAE6A5827ED9F4D0C0E0777CF6D3E9352BACC9BFC50DFE0F72B4C4C2EFA3BA44030EFA3C7B4BC2CFCAEB7713B95AB2C3D4E5E18D7DC2EDC41AC7919DE8C98DE0CFDCB9AFA02BEC051FEAD5D85A1D7642334342AF239DB16EB2A35CCD64A44C48DFDDCE013112136D8969B50F4DFB81F7ACC1C3B0437B018C5E4E0EBCF826FC8C4E0F604F9F0930A47319630F807BD2BD47F88543FFB4B738F0E9618EEFC9981A0D652BDE5ACDEDBAC7A956198BA923B87C9BA09A522504BC7C7DC0D40D986E4690035E5448A91B83D527EAC2889DBF3DD8E87E67CDDB8D4AC9263D164B75D9C0E487760C8491B8085EC607469E3C5C962CF1C8ECE09337EFECF0417B68F93FF70142B4E913CA03EBE3F97596527AE0A98668CB1F550EDA189F5216C91FFA4D2B3191F730D26FC868B7985E12CF7DEE5390E070DD76F0E33306E970B79133BFE6044AF4C1524968469B2748EAF39344CEE9505880 - -CF899E30191E50F0C06087B78316DA84BAE1F4904E1A47D35229749A7CEC2D96BCFF556529AD6336F08BEA55146D96FA4265B606E005BA4B1AB8EEB809E2D1CB1D5D483D8AB998F1B95C94FB0B29AAA2F8610B005F8E9ABB009EC88201EB8E44AFED104E0119756E50AC49E51C949879E523877D1B5736BC440524215DB1F27FF6935D9DE8B30FC6D6E437013605F6BEF177D1E70165071252C6870E5CD44257E6847D05F71CB94AA85FE306B0409622237FD5514D33E7DA1CE0D975F91C0F8DA0F60850EFADDD79557820EC10E2425D5179B0E1E78C69CC64226B13741FEE30AFC0D00360FB4385A277ABAB684A84BD5682EB32739EC8FA68E01A641919E18A3F0BCDE08B7CC9C3587B6049F457153B9B548D1C7EAFE702D67F86DE2AA29C7174E26C4FBB7F6163598536680C33B6E5DAC9266BFAFADA82D7EA1709E38D84C01430BD7E240208E88A5E8EA82B9E445ACE339D75062C9D8A4CFCF72226936CF025481B4A19F9783E9B3CC9AB1B486BC404B69213CF3D96E05D4BF9DD1A8F55FB78E41E2D7639C6FCC3B8B30A0D78B98081E396E43A6C838917E37A76EBC0ADE2C63271DF5D9218EC9812F759C438DCB97606AC068F0603D59E3A147CA4BF39553E3CB87C87F6A9BC8029D969274827F6C7C5145A8EB1BF0C88F36743AF6BB405D87A49AE183D1A7A63907F5D0D2698A135BA488DC1E36D1A340CD78137E479E223330847EAF8C5034F9559570F4E08618D374CA5D4A9C0C335240933EB0526358C45CA4A8040D053748CA4385EB1622661DA78F0219B32F68F8550E7632814B7151EA2E25B845ED195A157DA05EDD609CFAE596C706ACE543AB89CDDBBD35BB289280CDAF1301671CC0C8390BE8BDB0F0759A6C9DF3D4FF3F066F2AAB48F73CECB958405A0DDEF9119C7AB34683F1C47E141D0312438AEC985812E1C744A5214F8744D3918C1216EBEDC03D8D81684B3691C8F6E5CDF9CA00D85954E1C27D0080108D4AD1523B7B653C2ACFE11554A7F90D511F1F68A02DDADFCE449151B2D800A94B52D7F0C2ADF4987E4F053F4E577C40BE747D69055E4CF40FCDC5A9DC947C38C3496D09444A25BFFC791DA173C0A71A0E512A64FDF3C44E6A7AC8BEB166CD0A5896B51E7A9C8FF10FF6BE57E6063FE8AA280CC5C6FFBA8BF8EEEC0B2EBA625FDA14E4FEA85FD9911DE6A175F5726F1F37B07CB80FBA95A080C8180774C5A25EEAA925470794A724893002E88A66B161A843B863F3C61B959B37C848FECA017607530D3EA8EC4A72008876C5FEF7E5AA29CE9DE529BDCC688133AC5918B76423C50436B03C77C16A9981194D04630B93D047B9C69556C0ADB499217087811DF0709CD5C109731B4913D82CD87AD0130FD3BD53A92B2B1BAF8F7F865E4C8EC8C4601DD3BEC672A10AD36D73B4425FBF96A9C0C156BA5D6AF98ABFFD0106275 - -95CDB320F4E0FC5C9D093ECD8D052E01160ACBC70A7C9E08688143CB02CA943FDC0D49D1948DAEC5ECC1CB3B6EDFB250A115C3E771CABFF151E38007B2936BC5699BFE4F99E2771883F75F4881B578147DDED35850ECA5DACED94493BB7762E86A1FC99681755C56535017E9576E25832D5BCFC5B7E26E720C223571AA198567C12056A5FFA8D27BC3758B98D476EE07FEA92E4F2D5AB2C85E363A3C66C96C67B2BBF79081F26DFE2FB4CCC9383A804893EF23EB0F596C309AE627C71066BFB98B059447D8476D5D7A6BCC8822693483DE9EB1BE0EA073F4528ED875B16AC8A2298E8AE89C63C456F73440B3ADE1E26B07A2E7CCEE6A15C75D01C8C17567C6988AE1DBDF35A5ADFD76BF378ABAD4EEE2B066AD61EEAB3D0AC6CBFA5109F152B38682E73F63C0E2195562F48364FDE0D3BCC88373D6FAD4313C10C805F70D636744B2F60B9D018F3597C8A671E9DB79EFB4A8844BC10FA343839E8BD50999E4E03733962FB51533089B57DD45F3E6A38B94472F780059E20F07C144B0FF0BC8174A7501E71694648A67E981008AD4F852E7ABEBFED043F18D84C8297501C2DF95230F2C167BFC8708152387AAE0C24A1D9351 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/FVUBCG+Helvetica-Bold cguidfix -/F3.1/FVUBCG+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 262 m -(!"#$#%&'\(\)%*#%+$&,\(',-.#$+\)$/\)$+"'0$'0$123454678$$69$:\);$,\(#$;0'%<$=0"$$\)\($+=0"$:\);$%##/$+\)$+:>#$'%$+"#$9\)..\)?'%<)[ 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 27.347002 27.347002 29.643002 22.837000 22.837000 22.837000 11.398002 27.347002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 20.500002 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 ] xS -48 312 m -(@=",%<'%<$A%90A=\(\)=A*'="#.#A-\(,%="$+\)$:\);\($/'\(#=+\)\(:$=\)%+,'%'%<$+"#$>#\(.$*\)/;.#0$:\);$/\)?%.\),/#/B8$$69$:\);$,\(#)[ 13.694001 20.500002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 20.500002 13.694001 22.837000 20.500002 11.398002 34.194004 9.143001 20.500002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 9.143001 22.837000 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 362 m -(=\)%=\)*'+,%+.:$;0'%<$,$&#\(0'\)%$\)9$7'\)1#\(.$%#?#\($+",%$&#\(0'\)%$C8D$*,E#$0;\(#$+",+$+"#$\)./#\($&#\(0'\)%$,>>#,\(0$'%$:\);\($1#\(.)[ 20.500002 22.837000 22.837000 20.500002 22.837000 34.194004 9.143001 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 22.837000 22.837000 29.643002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 27.347002 22.837000 13.694001 9.143001 ] xS -48 412 m -(.'-\(,\(:$>,+"$-#9\)\(#$+"#$%#?#\($&#\(0'\)%8)[ 9.143001 9.143001 22.837000 13.694001 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 507 m -(!"#"$%&'\(\)*+,'&-$.!-/01/-23/4"5"-607$/4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 603 m -(!"#"$%&8'9:;:<=&>'\(\)*+,'-"$!"265-21?@5"!A>'\(\)*+,'-631B"05CDEFA>'\(\)*+,'-"$!"265C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 649 m -("G#"0$75-21?@5"!A>'\(\)*+,'-"$!"265C53#"-21?@5"!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 753 m -(6+$",0$-#=\)*#$,>>,\(#%+$\(#=#%+.:$+",+$+"#$2%02F74$=\)/#G-,0#$H;0+$?\)%I+$\(;%$\)%$\)./#\($&#\(0'\)%0$\)9$)[ 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 22.837000 7.831001 11.398002 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 ] xS -1810 753 m -(1#\(.8$$J#$;0#$&#\(0'\)%)[ 27.347002 22.837000 13.694001 9.143001 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 ] xS -48 803 m -(58K$9\)\($/#&#.\)>*#%+$,%/$+#0+'%<8$$J#$\(#=\)**#%/$+",+$:\);$0"\);./$/\)$0\)$+\)\)8$$69$:\);$,\(#$;%0;\(#$\)9$?",+$&#\(0'\)%$'0$\(;%%'%<)[ 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 ] xS -48 853 m -(\)%$:\);\($*,="'%#8$!:>#L)[ 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 34.194004 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 25.051003 20.500002 22.837000 22.837000 11.398002 ] xS -48 953 m -(>#\(.$G&)[ 22.837000 22.837000 13.694001 9.143001 11.398002 13.694001 20.500002 ] xS -48 1056 m -(1\(#0;*'%<$+",+$+"'0$'0$,..$'%$\)\(/#\(M$:\);$,\(#$%\)?$\(#,/:$+\)$?\('+#$:\);\($9'\(0+$0=\('>+8)[ 27.347002 13.694001 22.837000 20.500002 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 9.143001 9.143001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 13.694001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1205 m -(!"##$%&'"#)[ 29.643002 25.051003 25.051003 25.051003 22.837000 22.837000 13.694001 11.398002 25.051003 25.051003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1319 m -(N..$/,+,$;0#/$,%/$=\(#,+#/$-:$2%02F74$'0$0+\)\(#/$'%$,$F:OP4$\(#.,+'\)%,.$/,+,-,0#8$$69$:\);$?,%+$+\)$,==#00$+"'0$/,+,-,0#$+"#)[ 27.347002 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 34.194004 20.500002 27.347002 31.898003 22.837000 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 1369 m -(9'\(0+$+"'%<$:\);$",&#$+\)$/\)$'0$+\)$=\)%%#=+$+\)$'+8$$!"'0$'0$/\)%#$-#"'%/$+"#$0=#%#0$-:$2%02F74)[ 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 9.143001 11.398002 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 20.500002 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -1661 1369 m -($;0'%<$+"#$9,*\);0$1#\(.$*\)/;.#)[ 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 34.194004 22.837000 22.837000 20.500002 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 ] xS -48 1419 m -(=,..#/$Q768$$R\);$?'..$%##/$+\)$E%\)?$+"\(##$+"'%<0$-#9\)\(#$:\);$0+,\(+$L)[ 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 29.643002 27.347002 11.398002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1514 m -(&&&41!#&)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -259 1514 m -(#4"&41!#$72"&H4"0""&'$!',=:&?7#767!"&53%"!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1560 m -(&&&?6$72")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -409 1560 m -(#4"&$72"&1."&'$!',=:&?7#767!")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1606 m -(&&&@!"0)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -259 1606 m -(#4"&@!"0$72"&7//"!!"&?7#767!")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1707 m -(S'\(0+M$?#$%##/$+\)$/#=.,\(#$+\)$1#\(.$+"#$*\)/;.#0$?#$?,%+$+\)$;0#$0\)$'+$=,%$<\)$,%/$="#=E$+"#$0:%+,T$\)9$+"#*8$$!"'0$'0$/\)%#$-:)[ 25.051003 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 ] xS -48 1757 m -(,$;0#$0+,+#*#%+8$$!"'0$.'%#$",0$+\)$-#$'%0#\(+#/$'%+\)$,..$:\);\($2%02F74$0=\('>+0L)[ 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 20.500002 11.398002 22.837000 11.398002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1852 m -(@!"&=31AA'$!',=:AAI=\)J:AAI=K?7B#10L)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1953 m -(!"#$?#$0#+$+"#$,..$'*>\)\(+,%+$&,\(',-.#0$+#..'%<$1#\(.$?"#\(#$,%/$?",+$:\);\($/,+,-,0#$'0L)[ 25.051003 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 9.143001 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 27.347002 22.837000 13.694001 9.143001 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2044 m -(2M&>41!#&&&N&OP7P7E!7$Q"0E7/E@POL)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2090 m -(2M&>@!"0&&&N&O7$1$M21@!OL)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2136 m -(2M&>?6$72"&N&O4121R!7B3"$!R/10"RSTRUUOL)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2237 m -(U\)?$?#$=,%$*,E#$,$/,+,-,0#$=\)%%#=+'\)%L)[ 29.643002 22.837000 29.643002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2332 m -(2M&>?6&N&$"H&=31AA'$!',=:AAI=\)J:AAI=K?7B#10VC41!#&&&NW&>41!#X)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2378 m -(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&C@!"0&&&NW&>@!"0X)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2424 m -(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&C?6$72"&NW&>?6$72"YL)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2524 m -(J#I&#$*,/#$,$=\)%%#=+'\)%$+\)$,%$2%02F74$/,+,-,0#$,%/$>,00#/$>,\(,*#+#\(0$'%$;0'%<$+"#$)[ 38.704006 22.837000 7.831001 20.500002 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1669.48 2524 m -(C7##036@#"&NW)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2575 m -(O!12"%75@"O)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -318.64401 2575 m -($0:%+,T$>\(#0#%+$'%$*,%:$\)9$+"#$2%02F74$\)-H#=+$=\)%0+\(;=+\)\(08$$S\)\(*,++#/$=\)\(\(#=+.:M$+"'0$0:%+,T$.#+0$:\);$0##)[ 11.398002 20.500002 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 34.194004 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 ] xS -48 2627 m -(#T,=+.:$?",+$,\(<;*#%+0$,%/$&,.;#0$:\);$,\(#$>,00'%<8)[ 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 ] xS -48 2727 m -(!"#$V/-$&,\(',-.#$%\)?$=\)%+,'%0$,$\(#9#\(#%=#$+\)$+"#$%#?.:$=\(#,+#/$Q7N/,>+\)\($\)-H#=+$?"'="$:\);$=,%$0+,\(+$;0'%<$+\)$#T+\(,=+)[ 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 9.143001 20.500002 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 27.347002 27.347002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 ] xS -48 2777 m -(/,+,8$$69M$"#,&#%$9\)\(-'/M$+"#$=\)%%#=+'\)%$9,'.0$,%$#\(\(\)\($*#00,<#$?'..$-#$\(#+;\(%#/8)[ 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 13.694001 22.837000 13.694001 11.398002 34.194004 22.837000 20.500002 20.500002 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -49 2926 m -(\(\)*'#$**+,-.$%&*+/#0+,-.$%&+10/2&"3*)[ 29.643002 25.051003 22.837000 11.398002 25.051003 22.837000 22.837000 22.837000 11.398002 31.898003 25.051003 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 25.051003 25.051003 11.398002 31.898003 25.051003 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 25.051003 22.837000 25.051003 13.694001 25.051003 15.990001 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -49 3039 m -(7#9\)\(#$?#$.,;%="$'%+\)$+"#$?,:0$+"#$N16$=,%$-#$;0#/$+\)$\(#+\('#&#$,%/$>\(\)=#00$/,+,$9\(\)*$+"#$2%02F74$/,+,-,0#0$'+$'0$-#0+)[ 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 29.643002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 ] xS -ep -end - -%%Page: 7 7 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: ZZHQAT+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /ZZHQAT+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /t put - -dup 34 /o put - -dup 35 /space put - -dup 36 /m put - -dup 37 /e put - -dup 38 /n put - -dup 39 /i put - -dup 40 /h put - -dup 41 /f put - -dup 42 /u put - -dup 43 /d put - -dup 44 /a put - -dup 45 /l put - -dup 46 /r put - -dup 47 /s put - -dup 48 /p put - -dup 49 /E put - -dup 50 /M put - -dup 51 /B put - -dup 52 /L put - -dup 53 /b put - -dup 54 /j put - -dup 55 /c put - -dup 56 /v put - -dup 57 /w put - -dup 58 /period put - -dup 59 /T put - -dup 60 /A put - -dup 61 /P put - -dup 62 /I put - -dup 63 /g put - -dup 64 /F put - -dup 65 /x put - -dup 66 /comma put - -dup 67 /y put - -dup 68 /G put - -dup 69 /C put - -dup 70 /quotesingle put - -dup 71 /k put - -dup 72 /parenleft put - -dup 73 /parenright put - -dup 74 /quotedbl put - -dup 75 /S put - -dup 76 /colon put - -dup 77 /D put - -dup 78 /J put - -dup 79 /O put - -dup 80 /H put - -dup 81 /hyphen put - -dup 82 /q put - -dup 83 /nine put - -dup 84 /R put - -dup 85 /Y put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9589AEFAE63F23C534C3A4EF5350099343EB500F6FF7E57A2292A3DF8F602411254514BE676986C7A4221863431F94C226CB1ECB9EF1B1C607C7491F06C94D2B693D5A32F6967E172F054DD4F22253D1A18417E462550BD9E235DC7B554608AB0BC9E84BC789951513383C66808DDB026A309A77DEB16CD67BA24AAD3B723518A6E33DC9E3DE9EEC955639F6474185E3D913FB4C879D6AAB32BFD4DB5043B764547F37A4F0641D8669BB872653A7E6C09BD3E4691F66CE10D52E30111A17D6ED576655D5E84C40CE2379FB47730ED8E298B38E29A542027886B277AA509F21977B5414F6DF4A5F4429F6192478A4EE634CCC57C8611FBEAD0AC3CB19C3A315EF4A5F0789CB8846C7A2CA89E9E4C59BC4DAC9859B7598D346855F431BBF59D553BD066300600658F97B562D030610BF689F6E8551F398EAF5F57D22992BC010D4C97D5E6850AFFC5E71AB541160D8428B65EA30891D73584862266552138E0F62B2D5CB7D78EF6E5FFF134AD1223194273B208888914BE2E68A43E4B93ED33B200AE2755F1FBF152B44E3F0EF884ACB3254207FC43E36EB9755C93C8D4E08643AADCE0ADA71F258F7133E347CF9047376677B05235CECE2EE42DEB294454B8F7958DABAFAFF7542178F1E7BE9D118BAAE666E5A77157994C436C1B5E1BDBB5932BB739665487BF7CD981D0369DF9EA57FE2994923BE3A4CFA331DF278C402FA8A474A7DAAE6AF184B898D9CBF10EEECE0C116ECC494FC7A3611C6B7D0CFE05305F3 - -FB4588925CC8D4C9D2071573CDD34EA84D7AE6AC192F183E6AC7FEC1B2BF681C5A2B39711F9023064CDC6CFEF2558AA1F21D32D245C030C4A597EA4169F219716B09C42DA9448F7E25CDDDF6846C9265B4809EC29621B2107E6DC6B8F78C628A5FB38C06600034B0528AAFB87613A2DE00B842B25FD8FB7577DF353BD664D0CF2A92907BFF8DF0B1881E7B379666CAB8EA4A0D23BA6BD565B8A8055114DA736630A6070D0B562432244F9CC406199779BC0288B9BDF2734E8E228EB0B1047F1898B28EB54BF80E914E48A8D2AE529185C566AABEBD32718534453D2ADCB1E2DDB0ECF9008F367B7B07BAA13B9C1FD37CB0B3DEE56AD76CE9B5E1008E8023C34945C24EF447722B54F9F8815B482021CD9F076F7ECA8A4830DFF2F9AE25B601B4BDB305DE32873EAC49208F6C9370E721451667EC810E059D794AA6042F212FA512F56EC9F6579A1521081C8BE3DCAEB85F40474D8C25C5899C304435990D3AE75D7C5F315930912329F43D57F76F6D080F63CB2AFDDAC35F33B0131A473EC6D5B1D069AC734B243AC9B0C91103AE09AE98CBBF7502A8B0C6A930A3583CC1F6BCCA1EA1A5847A3B6D44F5EEF4233035E30462E3AB7933931C5FC63E62494CA7D929C2ED2AE6F0C1E4ED624968ED2175D92B8CD4A11B6389AA96AF865E31C66047162681F7A88EDBCBBC1A3B628842E3550EF3CB499C0F178EEBCE8D13A2D7A8E08CE180A2EB29CA6438A8EEB565545B2108CB2040965929E1376318A7238ADA27176369DF762B7DC7B2CC84DC0D2E8B4FEDFE8E5B72C83CA8315C79A18E3AE4745CA63022849FDB30ACD934A56D541F615FEC9FFF3F12E063876659FDAD38ACF3E8BF52A2D9C302315A95E421A05D8119931A6EB21F931E154BF394C1270714FC745EFA2455C73DB26880A3F706F0FA6C168E852663813B22C58561E6409645A9B193AB118548B411851D8E75C37F262DA323D3B89DC1CB039BC8AF19FEFB7F9E4D727A1239A2DEE05C86B6E032426321F10D55518BA5C4390C0E3AA870F9F21015A0D12AE327DCB922A81C6814CED48FEDF0C3BC30CDA26B49A96426E47E0D8EED2C555B91A5A9620BD506F91F3696ACBB438C223CF98103211F1C541040CAF2B888AF57D3F51598B863FCC9FB1992E40F25050E37504A9178596A6CD23EF0560B621520FF91D355741A6125A841DAB7CBA1A55202D30BF89B3E3C72FE4083CE013C9E61F735D275187C831BA903C76A7DA1873E629D4D95B44376CFEBEB860C36AE55433FD3E3F124501C5A39AD68E6EA24CEE7910A26AF51B27042BCB658BE407CB8A45777DB3AE26DE9B9B1358D543D7C7EC672C7BF3B2AB1F7D6BB1623A3F31B7B8CEA813BFA8A1D56FDAA9F91EC963A8DC282F910411971BE1D6B5B6B13AA55005A73AC1EE3E0B7C94AE588E2545BC58623B58093FBD42639D3610B5165 - -056B27A0F3924385F9754519B9A2D9A35967DA602D5384C12DAA48053CC0011E635DA17C381E2DE7CCE49BBA67F5F90479CFEF08D3BD171CB9AE167F75ABEE1ED6166214C892D08BC7C4EDB963370E8B4057EDB1AE94B453F0F152C10E9E5FA4528D8991D060E6CB62BB23AAA0BABEC7FDF06B26E9C7142E3E57FC5E601B1C40ACFFA9510FB9121E4179E4BF9475F8B4F1D65FD34BD25ACD88D4B8639B70B39FFA30B07221089CE15EF1F1D0C7D6EE195A45EB615C1C4439598B3CC2705887BBD963550D346B3FD766AF14D9D07A408C688DC37EF603A1BD7E8E21FE13F8DDC26060DF914B60DCE0EF761D1FEAF144D2FC10EA6F6C1302352729F21C40EEA288885DC4CEB92F9B5852F772C52E6A308B5C937C24CE9BBA4AE9382806E20222FF7A103CB0C6075EA1F5411AAF92C9B053277D2AA247013E2A50100C69E56C621C038A86A107B00619C177C97898A7D93B084A18BC24779478689299AB8B9E936539D638F3397056154B52EF9B64E94FCDAC9A263213846A0969CCBB744F005D6B7D363B56DC419DC0AD24520A66F2A9B4916FF8910204982338527F91F5F2650E86C77E84F7505794D4EA58DDC08377033F23BF257DB6C65723BF6C2786F9C1D5F366F60477B19C9BD992060D0A6CD8C2BAE0A11D850A59DED1CB182D7F20608068AB3A84E55D9674E8F609CFB5DF50068C12B477D531B628606581D05A39319C14D5DDEF801286E2295BD41CAC86E0A1EE7B87577E022214E81ADAB3280E1DD3D02CA821B8DDA5226215866587D80549B72B4DA3C21C565513E42E54E73EB191A67A7D404E7AD8BA90D0ED8F680CC77510069AB3A39162A16455208C0E8402C636BF81EEA6EF5D73196D94B9A66CF7B1CA31D0DFA137EBE801C5906711F276501404A8A7ED902053B1CAD3110A29A5B27B49AE6447C1231071171F83DE40631BC24DC35811B8A311F02FFA0C679890828FAF25DB53C39CBF686B55F907575E9348CB33923EB3FDA58F92B9A3012431F9F8F915595ACE5AE594C2C1C96BE4A18EB594E1EC13B584378438EAE346AE88D5EE0C886BA1CCA738BA8C38FB2B9057D18B524F2A73CDE81E98DCAF5E149F913A427886B49B4776B2AA9D7EB07C3F1105E23361737154A20CBAB3DA70531E4CC9347B8A78531992DCBB1360CCD08AEDC090C982A489D65D871D01DEDB32D4F35FE3EC17A1BCAD48FE83967331444D25CD9B672A708AED60CB0689C6E6D3B1B7779C617937EA500FDFAF960DAA570345D94EB1B6D6E4CA85D97D249D7C42385B20CA31A510CA49C6844993D0FB3DF621CC1A6000B6CA8EDD909631C059C655D7D07081EF1F200276E3C46019BCE9ECD71F8C4B13927A3AC042310FE459BA4F51F873771595782DCF34EC1D682EB6847FA8A18609429AC31460274C1AAC986EFEE45E777B01BCBBD18D1820F5D61A60B875 - -8B80E8A5A7E32CFD4EBE88E92567886809375657F1745203B18C006562784FA2DF8A7D36ED39681FF8965F80CFAC32C1984DDA7F3728E048F617D3E087DE474BF623D4D3B206E9A695E745B9D367561EA4ECF514229621337FC5EF5BC072E5B7BF0F64D7D00DEE26C2B7B9510758E2F4697765012946F75F7393875C1515E00BD67CE8191D8ADB4684321685FCC39EE127087DF1BFA9A21023F76DB355333C98FF91D2D49226C64CAB61AFCC828348C0889A6D1BE4A2FA1299830F12E43F1BABB52E301F106BBFC000849194DE8E6CEC991C5387FB1EA6EF618601EC92DD171ED4CF643FF89C54FE0C7583E7DBDA589523BE5EBE4F99D3DFA99E1946B2BF79FD42279FA70F3D3194AA1FD16E04766FE301291140991EEF6F5709747D7F2365AB3507CEC58493FF5F86E6B66F8DB41B3BADFA8444B6CCE807813AC4D8855631EC2F72D73057970992D24839D2ED7F080292C83074FC3A3DE1954B318CFD09C226F8781F6FE1246DC6DD9B0E88BE998F6A3BD4118754CD7B32DDF484F1D340F22E3D82D34EBF1973BD27AF6A72778FC8506EEC5721F75A36CFA04AB2EC9BE8C9A878C510C84DA908CC527BF737443D2F683BF843C24F2196E00C3B46B3BFBD24AE0D90298EF014968BDC546B9454CFF42D02BF9E5AD2127F6B307A8EC17E66929F16F9A9FB6C8E6A3DD22C49233FC4C4A4639735E27FECE53DC5D168FB338E81D7C0EF95C0C46DE2EC93CA1A0F2E455E11D3FA549D1BBF957C4C80390920BB44E192EF6C13B845DCC763AD81264198A8AE5E7108BA5696B39A15839B3BF483190F1031BBAA850454D320EBAEABA331DD74B01F339AED2A3AEFB2A89B602D2B7B5FFAE0B452F618D74283C9850AA6CD8CF0735923F1D239E1470773C083E32069A0DF113CBFE73B10789E4CDF417135C6FF623927CF2073F28A5F6810A43F3F3F8FAC219CA1A24A47EB2CF2F34668BFECBA913A09D4D10C64073567643D859DD0D573D55CA82CC7AB890899D3C2F977F07A8AB2DAF5A4174F9FD7807887F3E73DC2FD5BE4E71E2E107F98E4B6486115AF8E2F1DC956D0008C6227B0D781934E84D2D9B18735C9B1272E472F1A762D19DB3CC93A5280A2A4173E8E0DA2B9B0D815CFBD8B4A6B32B753DB6AECC2D91F3E2C8D1F5F58F409515A48BAB9F884358077EFAA627324F50E77EAA03AA4235B1A37274554C0FD4E0D8E0CBBA9F1FB4507E43BD39D1C03AD04DB3E27F93D4AAC58F47B3D861D8F17E119BD22F877A1ABBF0A28232BF3C65F60E2C28ACCB3A9C78DB791B41C5E286A7F0434561877C5A2EF45568F3D8A29DD456DD58A6789063D77FE2F6ABFF870B26EA383DBEBBDA0BA8BA39F9352AC62A5688651AE58F795DBF704043268244F4ABB65410137E3045AC2B4E90BC2B7A39CBB8B8C4DA4649EB008F692AC063540B070FFB8BA9A997CB320DC45 - -FDC045BC5EC216CFAB242ABB6FA40CF25DAB66B9F7B307396EC5CCCA889ABC51167A72FEAB02F88358057DB5CACAB85E5E94D6735A5BEF685BB43D9BE200FA1E9F0017AAA566B86E96EC05B7D4C5BB552CA07CAFF679FA0DE87C3F2440DA98F0EA13C1A80D01B66D8C5434C2B8DAAD680D648E57CF99DEE277F0C67B3E40942E2F68E4E0FF266F5D77FBF795877F409DDBA81BDF9DB0A5A874FE4CE099FF86626752DED6BB7B67A05B0AF5F5E4F1FF3F0F4801C3DE742EC54BC09C03077ABE0ADDD4CBE1AEB75FD4CFDCF8119C7EA68EDB2456E405B1FF8D909B07A5D89C71DE3B158E5046D858FB1EBCFD0B4D7ABB082484AA55EA60D3C8BA252C12CB8614DAED5AF89F2DA930CC0932E54C9C2575B2E52B9F67BFCA0BA9185BD6D801BF119CFC481C3D020AFEF401591B60B401C6F9CD3F39791450F344205E11B08094F9E506CACEF0FAC5304E0A9D89C5B5F70F02F963301DECEDB9BFB28AD53D9B5777EA46AEAEC602566121450405283A7C6285150B5F47A08EEBEC25527015C0B038612684F37D5821E367C5C17CB3285DE63EFC3BFD08AB66C134D069B345C93105263B30AE0869CD08794E69A1484166C1FF019F8738B46EA306A318166B6CFA01C74A2B9056498271FF6CB33A3E3FD409A92AB146BA256D6E830DF1452B20F5828E05FC2213669EB9949C0DE591B48EBA61830A3F7CC512609DD98F340086FC5E684D50CDF08F125AEDD1CBC72B2FF2458D98D0B79EF8D40E928B60B4CC5D4B0F292D8F3BACDE0781165BCEF86780561C5561196E535F7EE37B7EA4D07F44ACA2F8F3B1B41CED37854419065621EEEFD9B7C3C76A4E9EE15FD88BB63E9733351033596E5BB3CBEB6320C6F920A1354B54672931D1C8249EA507D4B3EAD11C28EF6783C45C76234DF35116492AB4428E8D0D20BB93CF144826D9B403AD9E33AA22984AD382237DDCE8DCFB0773995B711CC60FD2087FBF1911DE35AF17D8705E7FE9D4D75574A961EF67E7237FF23006A6DEE2049BFD605325B2570DEAC510A6A7B39BAC9EB730BC4E808D326014B22C594F85EDA941E315C361CFAFC4D6D5381F4BDA5836DC6570908B428A1C4BBBB43A6D443D820E5A93E122B980A75AAA99878E1410C90216E42AC8D1D97FC2367C6278CE52E30F8CD749C26D7C86D0D8AFCE61F0846C8D5B64C6B91DD0C3BC3237C3099AF37647AB33532A8E9C824153DA2AC0572DDD152AD1F46AAC59DDC093055CD273499B42D888F800398F283615BEE26A7E8A450E4C45ABB0CD8C9AA9EE858DDC4FF3A6BDFA4251A3B010AA9B00DC6C84B2B62E138D0009DC803CD3DDDEC592C11639704A825033EEFB8F8C6CDF3CF71100025C799F50D9CD6474FFB5E3047645BFC34ED8B08F0154CF49DF112D71FC7A9545D542CDABFD32DD98D2CCE381AED6743B8ACC9999AD18306244623BFA6454 - -B7FF0B0D28D8D94AD3EDFB0CD9711C9514055D9F86B57CD0FF8164E80D1134823EDEC69CE8CFCDC34757B4BACF030022B0E68FCB5AB5184008A2F7E7532D1E3642C4E6A36055D9ABB42D814E1C7CF43DBD06ECFC3DCA35D9A39717117539F1B1DD973DF56C16D6097E0D1630B34F9DB7BFCE953FA3AAB48FB176E9ECC568E97BEBD1DD1DA7585980AF27A29F9E5AB7A1147C30D3DAD8CC78DC97A8CCA822A5E94FC1F3F47D7906D03F8A17AC510F48225018FDA804BD47ABFF61B0D0B3848E01B73FB6A2F4AF4BBDD85F16D3380053374423F3841C4FF57849DF4EFBBC71BF591CA9E7135280C0E92FE91223CCBBF1D99CFA8E8BB93FDBBBDCEF5545092959CC45D5E23215CA086BA84C55397ECE4D408E67747B0968D413189ECCFB81B0CDA18F5C2B52B4D6DBC0068AE820F26669AEDB156DF9D9087351CD280B57D816A9458C6D28C503C2AA71E4883D86ACA16B9B60D62025D3B0469CFD3FE3A5F3A91C6D5BFBAEF338B00D4AEA6871A283BABA37A1526703DDB8DC744F861BEB85847408958C976EA6BE31609133EEE7EA49AAD2CA168F1B33377692610C81A9F0BD749CE776130BF96AF213293B95CAF530BC634ECD7FDA711682FC6BD7DC50CDD3426373C8F340ECCB28BBA86AA6674FD59175A5D9EF9A4606BF0AE4DD7688D87AC5E83A3905C2FA340C602030CF2D671E7C34132D8D6E263964E80477ECB5BE6705751C2B1348F7B377DF120FA5F60347361C824CE4AC0079FD29ED3098FB622843A19917F9AF2493C2ED0213ADC62B86B8BCF494FE24EB656DF7A85E456F586A401DDD4686179F526BAF151E24438944A8E2ED4BDC6173DC215A3AA5579DF1F50DAFE7F35923A9C51E47D175701E1683FE7D85A90CEDBDCC367F3974ED258F8882338487D8D48ACAD519B19861EE94A926DBF3EC3448450A0C29202A57E2086E4C3C33FD77C6A58BFA03A10D88D1E7744FC66D57D21651B3DB828E8A13B6B48C729176A389FFC1008A12DA2549667ED43AE80A688EEE16372D458237F066145CDAA71C019FE0CBCD924CDA0BEEAD88F479CB299BFC442EB99D761286AE53DD02396C9554AF293D6855D85FE674BD78DF4986DA8B2C4BE75CA880572602003F234AC1FDE866F62B4D0E1E738F4D34C80BCACBDB85A5A7E7E80EC1196B6A7BD585D2084FE1B4678205F24C79A491643512E43EE367FDA81E5AD273F03ABC377C78B186AD715E23A754E413AD692F2239FE5D2690A6C3EB6D5B10F0CCF24E45DE6D5467D6AA6A1FE39E26B7538A63BA3719F6B3CE5966D6A44C0030EBCC1A447F4DAC0EB480B0D8385633214E32F42648391AA506A22CAD75BE88CFE0B8E5E3B53E189C9204358A4C9B6AD299BDF60069BFFE6B99D85EB30A8C8761CB375671609CF13ABE4C4ADBE0A351A588229612AEA2F910F1B08F0AA305C31E80223B780B9C89BD - -0B3A30F7DE9BE8AF63EC5A655BACC1BBD65140555947688E288A1B5EA0DE4CAC0036A75440D164FBB407444EAC87AE9DBDABA951BF310C0E1D5A6CE218D8BB5ECA46B65DF5FA47C78AA2F61EAB0D9D059C1449143B36292B4285170E2F1E5F52772EBB38923CF3F7678EA17A85B4446AAF3CFD1136985D28E641421F80A6617F202AF61008A3384BB493920B2E23395C814C09D88307D05EB41409130AB4481E89571B04920760EBECC4C2139688978F3EB1AADBBF7D71B39DA4C39D300B9E0DC58C703B77509B9A95486CE3E9E3841B474DB5A4E0FF96780D88F808A67344DE2D1FDC7229B44DB366CF70C5A1B0DFB0E1FF198F0C7CAB511BB04CF9EFADF3DB5E2B18B7A6F5781A01D215EE17E3F125D962F06BCED852DDD172731C193B503A0BA618CB844A3620076E8602FA0A359AD14609ECEEE7090DC3015A88B3B5ECC879EB6A7EB74A3696AE28B0B69CD2469080B45601CCBC45E43AFBB4B682AEA4C068052F35D03659BBDA792A7CAC2B11F775D3F8CF2778B1E8D0313503DB356C1598D1D7714BB730B8350CBF6E5D4D253B665735B881B30067469B6FE6F33E4825EAAF18A73E9567F665A14997E4A1AC0863FC7DC2A43E98B99BE2D9BEFBD6DC5B1759F048C1CE04C017F4933C327FF851AD903D50598479BB892045A9176EA9EFB3636C0FCEC1A211FF83890E10D02E764A851DBCC5D3021EE081CA626ECDDA382E2FCA2D81F545AAF1789EDD5A7EC74A43B614B5BE85C039ABC43647F4F278C7B82A65D91AB7D78E3BE43793CAE2F9033C08A708DE3F6F1EC7EB61522CD7AC426F042830D0DEAC4D20EED1AB322F14D6C28CA44B3DDF06540E0A67A15281F34D7F06438682FED65CC0FE3940C0CBA91829B0E327DBD0C180FB59C105D0C56D44D57C928ABD330E1EEEBE040FF1CA11EC6DB62D6CCCC3660589B352506E7FF22BF5DCC32541998C440445DBB228C96F7E86B6E565F7E08A620D3B89543419CA5BAC72A35DE5CF2ADD70D22B3E0E2E207FE77B6F962CC966EB6A2E4FC0958852E2B6F3419A1862BC862E1731088B04A17979EA0C6804BBAC4AE19EEF5FD57E97E9A71EB475917820FF24EEC1BF91A500C16B5E5371FA5D8F0CACF3FEBE090B15832CECB31F1B639905B72A17C2456B78FDE40E7140CCABC1F53AC9E3D8ABC965A16AF8DC6892540B53782B16981E317CE73D6693AE48613685115F9F10ECBD4A5C95EAC43900DC7965EE3FE5D8FC4B0AD34A1AE78031709EF27C41E9834B6D7891D3A4762AF886ABBBE0DDBE2B9C05552A5C7C742BF97ADE3F1492E4DC54112342A8F74C0EE036804A29BDDF23620C447E801613D7BF42C2376DF6C1AC4A6C2DDA3AE24CEDFF151ABE119144A1C2F647AB55B1931511F879D2D8CB93299AFEA820F0AAA97818D1A78DF87E68382DCA795D9913A8 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/ZZHQAT+Helvetica cguidfix -/F1.1/ZZHQAT+Helvetica renmfont -%RBIBeginFontSubset: JTMTOE+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /JTMTOE+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /g put - -dup 34 /e put - -dup 35 /t put - -dup 36 /underscore put - -dup 37 /m put - -dup 38 /y put - -dup 39 /space put - -dup 40 /dollar put - -dup 41 /n put - -dup 42 /a put - -dup 43 /d put - -dup 44 /p put - -dup 45 /o put - -dup 46 /r put - -dup 47 /equal put - -dup 48 /b put - -dup 49 /hyphen put - -dup 50 /greater put - -dup 51 /G put - -dup 52 /A put - -dup 53 /parenleft put - -dup 54 /parenright put - -dup 55 /semicolon put - -dup 56 /c put - -dup 57 /l put - -dup 58 /C put - -dup 59 /f put - -dup 60 /h put - -dup 61 /s put - -dup 62 /i put - -dup 63 /quotesingle put - -dup 64 /zero put - -dup 65 /five put - -dup 66 /six put - -dup 67 /three put - -dup 68 /quotedbl put - -dup 69 /period put - -dup 70 /backslash put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C93181B17796A1204F5476A04185A500C7D1646046CB4388F5303793A562B17EBB1797E8227F12214E8B55DD6D70552C5693E0E0AF74C5703A53BE2EA7C2AD2D477EBBF16B0F75AEB33D9709CE8862C19B21E66C123147FF6B69CF9E4B22E9F9C49EF59AD6D8FDA67A92BF81C38B5E5177EF076C390EB5B6862D239FD5007BA040F69239493192C4AB795695610013EA61C93248601FD8DF6E968E65C24DFF7F51E67C3B0290D78247BB280E77C2DAF101C10EE9D4101C39C081A72CBC6FE9302DA24836D9CE292EB749B4A29AFCB1F77CB21808D6C903DD8EC7157D06FD242E772B23D8CB25E6A3ADFF0727FD8048D7A08B36CB847270F5D889BC516F20C1669EB22DB9555DA1FCE937D059CDF4FADAD547A7AC814B5C38DE95BCCAD0D5B6F2B273C067D547DA4A34DA707F0E5B60FF713D5DF476C4F61C11722E269776F12A0575494E1A75A1B6921D3A6602B6D499550F0A93CF562B69A5EA37EA7DBF4C72849792CCED21DDC595CB5920588B2BE3BD5A41D6D8FC7F0C6063F94F24CB3F76367A1E3E2568273E48CA601162130C646EC85E75FFE63A5C7C97128F243F39C36D02D5B7E6EC89519BD356B24A3405D5FC227D990C0B4F8A17F085FE4F51BC65E2DF97FF52FA301DEEDFDAA543D13F07BFE855FCE8811E371922C51CF9128C13C4CE3816629098902976F43EF4A25C449E89BEFB9172455DEF1F9C8FFB1A68CD368B370544BDED476112777EBBE2A7D6D906C8EC12CFEAEE040B18AD706B737ECF0 - -9704B9644E77D50F2D1CA303057B1C2704BE763D3D871D2787C5F5D5C33607CBAB62D0AA1326C6C895DDB90DC4D56004085D29BAB1F58627DDD5B9D88445855C416FAB73351EF91C8BE6A7881C30D077DC447061696952C469FE25C8C2DCE14C14B6D192EE3D0BFDB8C8C1EA7CF86BFA9AFD265389F2FCBDE8889C9799BE7664A6AF92254A2BBA251A038C623B80C2E827444A57574D66295EB7CEA831FCBC643B4DA836CFFFB21E0FD02FA349EFCEE18FA1C13A5EA8BD9C5F269B7B4B0F1399A72EAF919AC42E7A14B6005D27C28C23C5D7CB1D7A9CC4219CF451B4AFA2E09F0BDA8ACD56E52543E8DED057E3DC4C97DF0D969F4B78523E4491488CD51FEC496E28049EEFADC75AEB119C1FC36593CA9FBF108C40B5CC2A652C0351AB0B4BA11F46D501CD42A4B47ADDABEFA66044865B1EE47CDA440CAEB352B351DA3218657B301B28CAAAE6530CC631D7B9156DF8FB1753D7AB7E96DED392F126B7935658D6546E7E766C7319BA00AD01544B02644199FDE2B86BA3A9E9A6A65CDAA0DEAECA98743448846F199BDA1B3032FDBCD7C60D0C3CC79CDA51270B4A8FCECCB79253C8C3FF605A2BE25F4DA6F34B9AB150253C994358AB0E61BB058E4D7151D31348595C5DFB7BD8A938E92BC1B8AD78FB7F84A8C8651C76B9123B607D1CBD9D4AEEE1AB6C9C2415EE7934C27D38DCA7A4CBF20D3E198652B32F893CEBB75394CFB27859AD3867F995778C555C817091829284DAD8A8DB7E92B2E730ABC9396C6B9B9EFE03704429AC5E289D285A0F980EBCDDA331F4C1BCA7060BB107B1AF1EF74DFE5BC85AA7BF54F85DC1C515179ADDBA8750F4265EAF13E2AB8F0ECD96E913B150856CEE40212EAF3DE69C4E6F19C7DFAE6E0BFC9F9F52B983CF8FBB358F16B79DE661D83996CFA6B30DF49163D2225B9F37B732CAF61B7915096D6E4BB86C982D918353C3628B4008DAC6586DE326BEAEB34ACF1FD8137594934F5EE0C93BB69EA26F6C901C102020D0CE6CD2EC4EDFF68EB4EDB8C503B64603769FC02E79298A5246FE663D56AB3AE327F61FDAEB02E2A4DB5AFF159FBAF104D475176B6F69674709ED1EF8B50B3038A7CDA706867B9F7AFC749BD93397DAE3A1F38CB411A8F5368DED5B4C7DD38E93C8C13FD58705E07016E9209D5DBB9E10559EBFD4AA7973FD64873FE27D2C9AA5085D37216460BC95263735B44118CA217E92406815DA9DB00FFEEC8AE230B73D2A2DADF8C0A1CDC19D47994148D67B76B5B58DE375EF42477DA67EFCD54130941D40FA0E2A22D5AC75EC9D9E0C585C253C7E069478ACB59332228F22935D9BE09E78F988E69660E795B8A5E996AA9F4C14B9948A1831BABA0EBB06F5AD6E51F9AED138C6F55CD59D4D232E736EF33B83EE511FBB82273CBF0460D44F736FB70247511BB4B6F3D58B26E6B1CC646366B302BB111289 - -7A394DDA5D481C5F9C4EEBAD54EEE4C52F43BB7BC5BD0F50550E3B14E31E2FF11082CFF9BE035D335611027801BB88112A07E4EEFB02663CEB4DB38030185EF66C2E0D61BB5635B4337A80809051304748DFA7F1827B8AFCA3F5C58B2A01B04CD252AA881E85EE32481302C7F868994A726D8EECBDDB7180BFA0542AC5D8394213D4AB501C84982278F55FD64EA74EF1C789F39DF678083E5E7E3FA639118AF642A702F632196CF1FF3F38871496DCC517D7DE1CD49AB718B2FAB30A249B658FE3E85FEB9D10E441FFC495910F41471EDA6B912386435509E44CABBD48FE8295E1643E1AA8409C5CE9AD93284015693EA7A63198224FE413BD7740CBD17B45D499FA55D21A06AC87E77B3F8C1822C30533879E880C42F0538327D2D1E8EDEE7605DC3E278837E357D2FE1AC972AC343A97AB0A02A8080FC3C80E79A37728133C8BD96EE457C5F069BF1511AE6EA25FE12D74A97F8BBFECAE57CF75E45A3E275AD32E611A5A9FEF02FD395FDE53AB95212FC1015D91F477A6933DF530EE282817F002E1151B146FA8CDB2A5B95E4BC11BE1011C21C08901751D663D049CF1CB71166C88BEDCEDE7F30A3696E6CD9B32A01CE428C530E1C4CEFAB5D15E93C88CB7D5BCB9224BA918AE132771DF06A15BC516336528F5EB4EDAFC18FDA455F65AE270F51DE5727B727841C75C275B3F442C1B41490C4F7E224B78B26CFCC0626347BA5B9CC29029DE51488CF3E33CC59FD6EA34EF76D6E1CAFC7506440CD66BDEC71E3B6A6AEE2964F0A2A2F9256955374046D6F1FA4BF5F0253589DCF0B211DED920A53566D460C3C70BAC58A642BB1A0FFE389D92A1F5752FD249343096B8104DF18E8A6662766708A7E2CAD343625ED539A6CBDBDC02CB3527FB5F2A8BBAE815EAF38F35D1ED69B69D65BF5EBE46A7B574AADFC858832AEED7C5B166184D97FBFE9AE1CD98F2DB4CDC99221880BA95BA1DEDE60949D523CD5E3B3CFDA70457974DC071C4DD1FB06C2C8F49556DC18CBDBD8B5CC0714A042AE51FA7272EFD06FEABDD455ECE4F6ECC3879CE9630880D3B5945961523B13BA853EEB371F98502DA3CAEC5BF9FAD5C138768A162F8DDBDABEF73FF91EB37F0B31D5C04C8F49C731DBF0F8D8A608D98B11C799217129808C14A132B38602BA4ABDBDFBC98D8028F7D83E28D9DD976EE4B452EB5E18C31ED5347930475D209BC45039D9C583500273AD42C8DC711CC71E57279B0A98B3C58E94A7E52FBC2D2CB29D2C609150F1EB70FB67F35F11E8E77676110363766A81437B595FBB73DC7F8C6BCA586B22EA8ED701441411C35442A83780D02065327DA998CD81CDC69B6D7A450E0F2E20B75881AE2EF2FE10C5F1ED518CB9F790E9CCB37613A5C318D3391AC473DBBAF3F87BC30A1B4CE0FB25416F2C22D0149BB1E6642EC25CA4CEEDFC4ED59CF5FEBDA16CB84 - -D85CACD0392141D8885B308FF222CC855B3FD0A7A6CFBD338027CBAD53C4A22843BDB498DEE48647E13A7BCFCAD441E2DB8E510414FC7BCDAC54C26B20E8FA27B0B7BB120B7B65B80514AE6A4A1B0374B27D34B2E8068A34E138924A131766D4D800159A7111F0F5F19D7408C0B8E26001D27DF503C474424DA604387F698B891BD3D72D53BBE316B6294131F8528D85C247F143EEDADFA4E3316958C8D38AAC1854AB2155D06177BEB541CBBFAD5CA2BDBA9C424773D433B94EF3230547E3B5D9B5E42B2AE65917155A5EB2459ADF955C0F782F57E73A32A9F51D6ECC1279B5BD25333D12D50EEF9BAB218E0A8B9369C7938075D465D2A4D42B9856A3B6219C0727BCB88EAF5173D6F1EF78B22676C0BAE95892047778F63FD2DF88DDD57216735E061F36F750A6F7AB308240FD2F91632A81DB501A9CD35114497CDFCEA03DAF6FB029D7EAC0CE463669D3135EEAF0A3DBC7882BE2A5FA8AA4A56B1E8E5274748AEB8D1AB1CA5683F9CDAD71DB02359BBE3D5DD3668D9605785337372CB2747BA2572A98D08111B6D05F642AE4C27A3698A862E30C03C8A546D198B0C0600F35969C7C79B2076FCD4ED13F11099113E61D13355E5587670A7C87CCEE8E1E30F6D67D066BD0D973726C807CA9CC85C85DB778A336DFE95F87EC197F6FB9092F3E20646DF16AD2A29CFEE5F9114B5075041785259CA005B51D415E445A3333F77BDE954FB68D9EF7570C176FA4466CB029D7A7FBDF13FCD8AA302699498E44D34961F55CAEF41029D6EBCC0259B438BC0724214674A24019796969071546CEB0DF303B5554BE4FC2427E9B05DC3CE46EECEC26314BE350C6D27E957FCCBCA7C22FF1BEBC18A8EF08504B9072E5BFBF2730A8F2D8E40078B6B570E5AD2B313BD4C3AE86BB0A119648E9DC4CDCF160FDF17F7F19448289EE7FC3FB695819ED396EED87EA9226753A30B19332EEAA4F8BE2EE272CA560D55DE214D38F3CA4220C3C15AF4D8998510FE4463C23761F66C1BBEE86D95242A597DCFB990D44C33E1EE24708E903B4AD539065CFABB61ADB20662E0F6207B001ABA0C0DDEFBE01E54A0E2662EA80B4850DD087C6285049B25B16D95F6424639DAE1DDD7EDC5C5DFD8C2FE73BFFF85A35FAAB851622A012FC72BC0C982B87AFE5E178C986E284EF83069D56F35AD76505DEF4EF6B4C9065F251AA676D5E4D7768EB77533C0AD52747E7FF0D3933DBE1577950AA3501032875815076BF903374BD97E3B77105F411325D992FACBD6BE8E43856225DEE5578481492D78E6B9C4500A7E3B1F22F020C86DBAC61A9C58F8CC72AFC376E7742F1A4D6FEA79E33DC9353B78B855E325DA539B144BDE633A377363D307B853225B503E2F472A437DF094DC359F01C09EB619E23FC250A930E37ABEF96EA9791747CE90D90813F7F3B25AB180EBC5167DB318917FC - -B2D9F4E996CE866802E6AD1DBCADA256C9C3563FA50F3EFED4EFDBBCB24EE9B4CA75C001EF65CE3AE3170CC6CA07A886032C19129F0B78134F6AA6923E57FBD2C3B08BF8560E588879B771444A8AC986B17437C5511B4AE38B3534D1B80264F3D159A00E209EEB52C04392AD26545B9BF1C291B9C497B5BD150CBFE2899751887021C822C48E745CDBEFCD2904F050D719A47F60EEC1095EA6D8F672E0A08A0D01CC427858B19C4AA73BD965AE73D64135D3CA34CEEDA530FCDD914590CAEA2C6B2CB897853B375C857B2B2CFB0FB421AEBC3CAA400CEC26BF550B109A6E9622ABBE86E83E0BC14C3C866278EBE467A19E096CA44B95FACF96481B6137E8CACB9F39EE1F18F4E77B589F6CB5FB233200079B7A3C9AAAFBDD8529C3BF62240CE9AB5FB76897217CCBD86719EFAD7F9788B7A110D59A46DE3A984DDE61095A881CAD419D536CF5AB7403F489393D0493C3E36334421149D83D28073FC120D04E8D9906E965D932365C7E013AAEA83498D3CC6B009FB7035966D0491FEAFD5A3ECB285E0E04C37C36F6D950B1427D35CE816D51FDAB6AF901645EDECFE3DE066B92B38C632D12F0DEEF9299C983EA385027B4970FBCDEE0F923421FD3AC7B8F0DED99AF1DA549DE40E1D14EF8DD41DF21AE5F922F43364411BE3B5B61BE0BE726AD00A98343E7F32F362195B593D16DC96D82183FE2EF3539199E7E964CA3940B335C0B7BA2FE9D6BE671F80076F65FE16E883570238CB0AA764900CFF02720148025771F489C06BEF7AECB159D23C4ECB4B7C19DD3AD0E8B856FF5EA23DAF970586544BEAE8A505784B684666C15E886D5DFDADDA522618A4175D12ECAE8D24178202E046C0C97743E749D3CCC5B2BB58424D0687E9DE98E84D4C653E4F5FD6F89F6761CA190A2D1FD1EAB593778A0E03CAF23776789D453F509AFAD3142328F6499406D6BE77E1B3B1F6D467CB72025CA233F8D66E1BAD60C99C06F9FE7DE230EE2897BA7D5DC7A61349D94F1204B3FCBCFAA930D0B584DBC3D27DDBF648D3AC12DE8A88C659FC11FEA0F043024202201CB945F2A3F4E3809708B3EAC86364D12B6B61E96362E13732A192FEB59FC5A59B9531526984D541DB4C24F298E38655B51FE23B42281318F3E024E097B6B253A69854ABB607D880552B476C8D2318B734778833B41EC07A2F70DFEFCEF98890FABF4E91649A20BB5CE337401754BE7FCEEA45594EB7310F0D9CC6AE2F51A9B1F47EA008B8AF7C07CEF76226BCDB1C8B0E210CD4C6D85C182D455C2480AFD696422AF399269952BDB1C6A2241E7EA94B6180CBFCA72572B586A138C04F6E68758502DD00D294C5D0882082BFFE1098F98C52CCA64C29193C92367D863A7556410BB5AB409CAE1FBA506BB69598D776EFC8BC824309282240D23006400F35F09A6D001420C912060C650F4841F04806F52 - -024675F24DF19EF4E1475C962C9990650F35598BC667DB5E6995CC65E5D8E3C8689920A9B2EAAA58C8082AF4257E0BD9DA164D4F8D76576E4C8425F4EF98950E8C644A19F5F3EA7C5BF24E4B5D367A7B612E436B7F50F5B2ADA2D5A1A01B7991D50BF767E949810DBDAF4D28D79D78CC5156713A66D39D191B6E0FA7752E06B42163F0A38F2F7E1FA361C2685228B19E204B9B9BE30071CE5AF61138D02876B5DA50DB4F2917B6F994BBEF0769C1A2AB6F9750F365C5885B376C6ED582BA7C8BAFA31E4817C52DB7B26138A6560C4A8174E85A02C8ADDF43573C180AD5AD9CA8FB6484EC628DDD067403AE4868014CD1A5F99C4891745B8FC1AB235DDFE4EA94EE814DC54CF774529406C5EC3D11CCDD73353553294C33AB8E08C987EC219B844903E221C10AD08CBE1928F69E182B11BF88B12F7CDF62C894E37ED6EFEAFA63D8AA14D4F42A3678FBAA6DA484C4CC63D7C4FB0F3ACB45135C45C2EB1539E9CD405AB28ED224552DCE167C7AB8466DDADA754ECB03B621BE845483F67C1E40F096C121A334D66FF37ECEBAC00AAE7CB21F30125A78361847D876F55E2CFE4698EED8CC1414244196B41A43AA1B50EA77000D9DC6CDF9F8606DC7D0A18AF192ED9B3D8FE6AC7227E435BF6F1C234426BE8697ABFD80903BD46F83FFCAE3DA310982685E63538F26718EC35F151D6F04151B4AAFE5CBA8F181B1D46669DABB0C930471FA48A5EAEB136572E01B473FCA705CC2B7ADAC7E56E219C55CF946CE818E0C91099B159A0F2EE425DD012DFC97C099D457A3199D71E9502F286CDE7BEE203A87458919AFF756A8527B9359B17411BB2F9E61E4D1BFD2B5A3A6819CDFB284AC1223A0E88757998D03CD3E2E318C06D296B7B4755499B6549B6C958CDC3F3956ADCF1413BFD857A2707D8F464FE6DADE9101994ABE5AE3A1F577F7CFE41A07B80FD783AE919C81E82CE8C735568B16845780F56E5834318AB5D6E887072FCEEFE4D9F72C2476198F5F718D61AC339EB2869061DB4A2238DBE36F180C11FA677F500AC9251BAD47F6F717BF124C5B9D842DB689DCCF58B47363A846018C1D52B9F027ACC6920CD9D44621AD4788DC22F56B6750CF467FC90C9FD5A9010F38C03E29F39F576995F535F7C1021DE08892666CF47AA3D71AD206099C179A13B0349B9604A15CFA90D1582B3C505E853104134EFE4279C7A5756280E717473A0B579ABA2882BFF90693314698E4818739E0372FBC2E58F423E1B10E4FECDA30C737B633E888DCF77D8D5C2077EE2901840BDEC301D7FBABED233E027617FCD2CBDA31F78868CA93D250726BEBAAC153BDFF12229434A5E7127AAA7FABB9C0B4825740AD3A10A48B31AFD6FFC8025FAFF75BD081722F4C0FCCAF804690F75A68AD0B77E4EF755995B8EEBCB7FC6135EFEA13B2D033A6BDE2A5EEC380FAE08F665B37 - -1A6D8CB015566F275ACDE85D51A1DFBC1BD5498DDE545B1FE21F56D85E79179830F34EA581F9DF437B69BBFACE792E819C89BB4B126CAA50C3C956133B0265358FDEB90E27374D74ACB6D1744DEEFE10559C5194B36040F1E4DB8C78EE0FAA79E2E4579D1AE2EDD1BFBF7CD59F4F179B1B58A8130DCE031E4A01297D14E85655C3AE3C81165954340EE8397794C3696DAAD7D3C95D6ABD7CC18095A0A0264108C239CFFB2250109D50129F2452067C1533D6DD1642E38CA4D7DB5C7DFDE255241938B956CDC7C9EFA2C92E443E23A162C97D5020F13E6875BC799D91BC95300B319C05B7A94D8C7B578E1F734AF93E01DF8709E76BE4874876B7C38251F6108A82E8C057D48E337F0F4F50A1EC3A4E3BEDAB27BF5A9E6D13A839B469C28FD8D6780DC3042C802D76451D27DFE26AB828FF38E1658E69BB01EEF81438491E849BA73072A2A667FC4847AE3C9A02A503874B35260910E430FE665BCBD6C63A558A79639CE03742CED59C889D0EF0772AF3E6071401CDED00E2C40A549FA69AF53F830612DADF3ABE9902C7FC4BBA5374F84674F2381092AA2C05E23682292960110A1D94A77429333EF79AC28D202051DAD67815A95F2DC66117718CFD032FFFDB8803ED1A23C175D2B04C7861BC16FF3E86CB9C3770D8713711BE5E62C40D209758F309AC505409629FD87DF5DC4FE98BC25A627AE27BEC8D92518668BF063F388BF2D46DF051C59049630886DA5E32BDE3EF227ADFDF5114B123EAB2F081C66C62DDE7892D0BB6C2122EBF2A06AE624D4179F5858887FD2F2717B742AFA35B712F064129BCE5D3CCF8BC34BA75ABAB5018EADD37E6E2A0818E5C374992CA4033D5A6D88E2E0F7E84C6DEB7F0FEF36AE372A6464DD48667D82E6C2021C7E67DF185018095C02F975474A3563D302FB397CB5007A1194056338F834ABFEEB27F2F692460610DCF139D1BF318A662A8A21EA89A992B81A9C8A03111696636D099D14DCB08AB6FD8A9EF3FB0FF7208C662481177BCECBAC94DF27467E33032DC60F547FEFD874DB27EED1649D31E021C0C296D5426A1F626F563A57ADE917CFDC24DB96E140742D7882D01C5482D58148E44ADA5A401E2216F5AC2A01B37BFF50E5CAF85C214D9582C624C7390654A2590D30E4AD925132A4CE6192754F407AC405839D7712817D8221F8B94DE6CDB77644530E19404BEB24B62F75E883FB5E8A19B52799EEBF2A4FDF4A57D49C4B954BDA9DE04F0C4768FC9CB5FC32989855AF50AB203F569A64C435DAE3CCEFC2BDBDACE16B00F2389B8DBF32786DD1B2B673AEC2975B15A9CC4FAFC377362F089E8D4C2F8F267E7C0D2900817FB031634ECAAA8F77EB5BFDB6DEAC81DEE4841B73DBC179BBD240F9E63E6FD92AAAA2B3EFE6A8BCACB5A08356476020BE9E1499E0D4127277B40D3167BC89DE20F997DDE87EBBD - -78184A0B8BFA9034BD60D696FA7D3E664943622F07482B3655013E80FF313F66A1A9AADCF46EB0A4E4E44B462F389E3B04F26DFEC779156538C7D12694DC2E5937E715E3B8B76796019D9817F25FD430C61580FFFB5C1B08FC32EC555A41B3D2876D52940790340A17767A2B9E9FE129EB23A06C6070ABB5413C8728181AF21E253083C0410D9436735D3C421D27512DDF2A406A533027CBE07787392BC1FE03E3C6FF17266B871B00914273E0983323FE46D7A2D01E9495A10F6E7CE9AA9683AF07C31545F5ED0ECC0EB7BDDA82F00FA860ED645A7E7DF96B48E99E0AC8E994BC8B619579AFD70A19DD70341DC3E8276E4C1147A8BAC62E4B24376DD01526857C26EB27983FF5482CB84151C0B60F1FB1CED95F78D9CBA1E0968BDC10783EB7E0C3D1B7252EDAD8376A4E9C8A05C76F5D9D5F0BAECEB9B3474EE8AF2476D0711F5F629EACD27A1861E47D52E14AD3A5122B309E66DFE50D0D9D702B02A0522461F1574B7923CE01E9F6D6EF676B8A66CA2070FB097A402A9F062FA63050E3D1F5022B8DF77833C70B4C6273651C16424AAFBFF96C3011B0E5B4C444E461FF5A560089C1BFFB26CC28FB69F529EE201982662F872E362074BB7DDFAF80887104092CD0F3EECEDC2505D0CF2B1AB761A48AC8C3BB627913BC6A57650736823D302C2C1F3BDA68A5F04A772BDFED696D42D0667E60D3D36E12CF396703BE29D5983CB6BD5AE3F31AA0EE0CFECB2F825BB2348C1E270C2CB06F9B9BA6B913F9639D2B90BD5738D48B5F72F0D02C96F0E2A2E83BDD2537660377B00BFD0A6D508DE025E8C70999DE2D9C7BC59C9C77AD205F2E40F2A7A6D0967072100807BDECA63942A3A458EA6412260713AC11D43BEF19E66981EC75ABD129923A91215B7A92F2049C28B342CC8BC1A0E62BEE7B2653F105D422DB05C1530B768CDDB51FB821D5A5F9132B241D0C35B64D46A43A6C1F3F51F99B49CA09CFC056856B426D37767BCD05E084B9194FA4681BA24F4A866B8BB152B186DEBFD796988D848793E84EE55049BEB4856391EDBD098CFBFC2672C4DBC588A899EE97DC54CB0AC4F45674C9A17C6984B5DFC8124C7E3DF65E92BA7E8E74C9D64D31199741B40E4A612F8D3231B6B19FC95B0BBA2C6B8CF7B534DB9C5B7ABF9B4C3CFCCD20395FC484B806A92F66BAB3A8BE84F2A0932F127760C8FAFF384807FB746C6BE1F458079A1446CF912119D4869E58128732D560888531DDF2C69A71A9C55800508162A65DBD52262B78A97A9E4A66EFFF032BFD22B32E510A21D1AE260C436B416CE9BC747E9B6AE2BDF29AE3C39F035D4209F09337F710491DCAEA666795850B15A1F1F569512064E49064FBFC524D0DCAE49D5DC005EAF0FAD7EEE947C096634F984D283558ED1E373AC628F523B43EA94CB5700348BFA6C7E5C7CCB2D352748C8C1BF07AF539 - -2A8DEBA86B9CC4C1CCAE386D70F90369C6CC2CF2794373AB50221A1158A9E50FF1D4302F6DA23A27E7155DF3CEB452D9777C1DD0C4B2BE4D4FB2DA180E50E476F23018FA21B6A5588D058E2A29C111048EB9C1A7A8ECC468C51DB5588E2DEF60178200B6235C4FC2FFBADF36EB04A88A3165908738B74F4AD409DE0E7006058FC7E42F8AC55D6E9B00661ED4B2F646990A0442D92BEF753A4D53E2C05F684C1B086F74D2E096393B7AE32464F1CFA61AB59EBD4BE29E01A866892DC00212C280CD41EAD8DC1589B110E73D3ACBC56C314060CCFF2A2A870CD90F54284356F5FFD67DA07237941BAC40E9E976210F2C69C2A964BD48C5BB171D1A6587D07CD7D46300DA2DA118DFB31F92E99C04A3F27AA2FD197C80A678322D94A53D468979F2C92B11FF5FFDB828F49DD089F046D404A29DE27EB315A2A1C8741C9AC37745A3A3320499552B406B84C8DE8811994BCD0778EE4C95459639747956FD88E34F8878FD6D22E311AA0D9E5BB495558FC86E09941D6AE54435A9FCCBF776FE9B0C4050B9FD88C92EC3121BAF6B624F99BC72ACE25E49AD43539A82637E526EC8371806E44E20B9D3F742911CE605E5170DF646C94B28364BF2FA34B32D45B61DD60DBCF2C5D0FA75A98F65085F1E97595BFC16FCF36AA510B1ABA87AC325AF7922C2E65E335F6937A989F6C53DC1D2137820B19341C9C7B7B2C746278C866959E967D094690EE94D3A49F67AB59A219177A83DAF59EEA2A65C0C5BD029ABE0D34FEF4FD4BA8E2271197CFCEB9CE5A4E4C9B60E58062178FFBC6C1DD40F7A6FBE131BED176158A67516131C2A0A4D197004377349EAEF3F0AF5A302450961E7FE9FB0CBA4C11A7FF4EC82E5B5BE439E25B0FC9C5467068A05061CBC5F4849ACB0481C55E11D0D04EE2320A9A46C5EC75ACBAAE3297171E0C60C81BD016CAF415BB501C9E9B6884C742C63898D7C2317B75E6CD68AA642C6ADC09592D06932A7179715494D97A756E8966235070C8E6AF5140A1AB9C6E78721300A34CB579C9EF65370BEC1A520464B215E32DF285163CF0DBB89 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JTMTOE+Courier cguidfix -/F2.1/JTMTOE+Courier renmfont -%RBIBeginFontSubset: FDDIKX+Courier-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /FDDIKX+Courier-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /O put - -dup 34 /b put - -dup 35 /j put - -dup 36 /e put - -dup 37 /c put - -dup 38 /t put - -dup 39 /A put - -dup 40 /d put - -dup 41 /a put - -dup 42 /p put - -dup 43 /o put - -dup 44 /r put - -dup 45 /quotedbl put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-360 -828 1574 1829}def - -/UniqueID 4427719 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B0B7175CE49F0688B3F79EA3DBC898217EC91EE332F98D08B0D78E00207A8B472403088DE1CFBFC61CE143B8012B98EBB31D8F50580F15598627F2AE17A3142D63E973A0A09F60294507CF2ED7B61BB4D6EB13B6254AD2435F418DBE79C20A296ED3C9496A18287BE44654AF150AA53CE91078D51574212A233021F5C29B1D5CA0243841C38F140EEC6CA3B51F2C626E0B9FD0D9743628B6A256F717BFDC8BF72196457402923467AFE4D8397D55C7017B2EACA3E8E53721582624094A8BAFEC2CFB2ED5030E5C2D333A5C193356B49C0E07CEF963348EC9A227A01619FB2776544EC28F180A24A9C38290D8763A1C4B9D3B1649DA8DE93D83DF0AFDF4D6396B16C975570FE9EF52EC203E7402083B2D855CE34FC1038B5650631856CA52C95AFCE143D015219E539A0E15289E8D114D299C78273F9D2DC8FB84A2E357F6AD34855509D86948A5272BF3E5F5A7F661484F7B08618FE3125DAE4F5FCBB5906AC2BEEF679A04D88165232E5C6EEFFF17362D09A10C04F9A2ABCAFF8965693DFDD7CEDBAD0ADAD3D4DBB90E23DE2EB05C802E0FE489FA7036BCC7FFB042BAC82EE71B934E488E1D80577E9F21A62506ABF5616C9BC717BAF1C7AFBFF118DADA237D4C7A99F20BD0B7E2281DFFFF0AF7CABE0F2AAF2F21DE6589A0236D79E67CE8927F15F3464D62DB5BA9FE1A4F9AA31D4C06EDF333973FE34E02C3F0107510F26B38EA2FFDDD62574969FFF76B1815A176B8576E9B90BE9FA5630E9EC374F1454E - -2DC6BD1A239FECEBC0229D2FD214A979D6C9DFE5652E5A480BAADFAB25C8A018376C19C9242B97ACFD77BBC0147D52E16D5B5BAD5E58EAB7BD04170A2FE8026AD8A5F82A98B1DF9F5E5F5272BE2E7F5CF3F59EAF832DE183923CDA9B4B3DB7791E4DA95B368A59F5ACACCD909C1D8D825CD4E1BCA650BDCD006BBC8E93592ECFC314F35997546E203649D6700DC8BE30C842EB9A4C0D6B198B6B3C08CE7637E09EE6CAF8CD4B582DA90EC13BA79D3F95160D6BB7E81FC4116D99A567301B0F7B18F8BA3E1D1B0BB970C0260BE90BE805E183E6C66D8A98B0EA06F4B8579F2A822F8D30F4FBB39EF6022FFB1E7B54261CA121B45240285C7ADAFB5D9CEF927262679194D8DF087CC8DBD10A437BD6E6EDBEEF0B882D6CAB8ECF68FEFCA32F24641F35EC3658E9C588720C1C75CC84837FD56FA6FB6643D5002F2025FF35DA7A9F4DE0B8C7FA624E4F10260DA88BF9F8BCD23951F11F25E6B91E26388510E3DE834BC661A9DA805FC7A5C13E735DC6E96003C772583E2B9290BD4BE94126C6A1A33EC733DE111F56FC135993F155320E82AB5D6CA72B0877C3B857DA514F9D5DD3C8B0FB6CEE2DFBFA7853BCD1D52E87748C7AA7A7345B777D47C6082140D799B30FACF7B6FC5ED11E6403565250B972E279B471F08E2133EB19D3639B6558F250B8830CACE6E068E2D6F5B0B8A2946DBC0C42D40297B07EC648A83C3C3322C7AD3AC293BF8B1F1338C10CFB3F635A648990091D44D564D7C7404333C75C6E038FE653B544CE9F1AC537BEB1D8C0301BC5155F3B5818CF3BCFA176289AE1D4AF96CB7E52F754E89F941C17E1E1C1AC91D14F27D72499BF7D4A023B5FC26F5D6BCF2D500767A7CDF0A1ACECF2761544C14C6F589B5E5E53395FE87804C224E99DC65FA7EB07B20E308CEF5D6F0E404FF438492164158EF4D38BC111346832C765800C7FBFFE658137A7FE55B7081A84AB484786D75523E6F291BBD0C438879B55815BE2CC0FD61C089772D7A9EA262C7C7B0EB6A27AA1E2B443CEB75D18032C31E1CBD79EFC84DBB0FCD82DBB327B813C54626073722368A8B67751D083B58D62E7B7A170FD8FAC5CE34E6C00442454FAEF0EF4E479174A51A1C5D7F84C2912EC42E665064566E43A6A985E5E7BE24754FF5ADFDAAA256558A29ABFFD55038CC7269A50BC8576BABFFECA95B9EC81FC1081FABA23C9D3E5F2B0F7F7C9986B70907F7F6246F1A342B24F34295F317976508B8CC6DB793D5E2104075B837765B304D9FE0E5B65FE0AA18B5ECE6F433F4AE72C97FEDCE612B5416D1492CD760D148CE369A2914CBC7E102DA2377D7C57F9FDFB4D9751CEDDDDAD0E2A47D6137CB5108D80944E47BABD860D77C1D10D567B8B044D0098C86C507C14BF8FC7C1C582B0FCE71DDCF62BDD526CC6EF6202B938B7AD1E7D2659263B54BA30F76C1FCC5F7E14 - -9AF68D8E7C2E073F05054BF331E3D7A1D3849D99C6E3158D959045A5F20862702774542D0573DB6C28BD5C7ABBD59207DAF8D8F09998923DC09D23E1650DCE72D61D7B0C3A1644E0912FCE6F435FFC4D0964B8B0FFCEE890AC68BFEABA3587C5B7AB79863938CA697EB7851058A1CAA12F3105FAA5394B62886CFA0BB55282FBF068EE2C27BDCB62F28EC813D060DE72B50F56612AFCA9259D7B677C959382C3DD34FF98931D175FCD62549F02D527068FFE020D49675DCDE141203EBF415104E54A4626454F9930B43D66C423BAAF6BDEB56ABB9C4BC22826D8B6185B61729B52C88193307CCBA368D73C6966A519F69FFDE8D030F7C9F7498765EE25C2D6E7989E71870CB99CC9FCF46DA2473EDA3F2E2B68B0FCDDFEEABD02D3C4DB9F7FDA8239F44CDC421D22743C016F3D0B464BA43A916D80F577C0FECFD26D7F21AD66838A6A7FCCCB532DD03E2D42CCE20C90E5E6F94E1A47EE74D388779DB040CCE051538D5FF9AB6EA72C0BB867891057DBE838231AE2729342B4CEC64E7E327FD2AEF7FD2FAC89357D1E29E39EC559B76704E455DD0A6C9986CB5512525B12B7F6B73153F33FF7D5202B68D1EA9F47A5DD9A962D8BD41683647DBDD62EC9F0B5D3FC7744A8234DA9B7ECD1FAB187C28D0BC32E4DB1580CFA82E70CE2B7A311D13E224908F1C44C988DF3CDBF5983ABCDFFEAEE600A7B5B18BD7D33EAA2C4E83FA4A66C7A153D7442B4188F9A61E68A70CC8D68F44097810B060667524C88C8C2F03FEB5FCAF3DBFF3BEECB6E65E73AF5CC3F4CBA80D554A8F5CB373C48AF62A6C41BAC5ED2C12A37F2E49B4A04029DA06F029EA9A7CA436A1EE227ED5510E05D29DB5F11B0A0AFA76197D9906F7F0B75A70280C71DC929DBECD629CBDC06CA9F78CD9FBDA284C0CC3271F9619491D1DA9B23EBE1DB0453C3A1D55325C0B0D99BB3C615635638DE554171DDBDB6FF0F03D6E3CF3525923261E17994B92A220CB61060DBB0C1046A563D3AAA20BD41F29BEFF5D88D195C23CD5D40A499B8C4BBD5984F1AA88B3C5B93311CBA9A80B081A0B150BF7AB95DCC3F0A0811BB5C19BB6821E287098310ED47937C163EC2443BC28461169DAC70D73AF355750537B2CC94A31789FB4BDAEFE68A9B273115D2F8AC007D3B92913DE8C4839D618E7112340003C3731A5AFDE39388FA0D0D721343A1867B9223B93064B32B85275A9E31497E76FA5CA30E20ED010E8FE3F2805FC5734A0BE825E1EA1CAAEB6823105F26F6ED26ADB73B1363EAA5428AF27D3D58018D4FF8E7A906DFF08BC793C2C33E5E4640F9349324144C39FF6C1643DDCBDC64BAD61973D17AA21D96A9149A86A3892CC13D0CCF8BC6368F321697A77B34FA020691B6A619A5A3F52109B1E15E5EAAF07D6FA32B66E3470E9E7BB3E43BAD8D7233AABD59AB8A2698319E7AD06E7CC3D891F3 - -33B671A9E422F8FF0F38668462A4D7C835FDC41BEC7B5B52D6F7EFF7637226F71ED25A8659CB7A97FBEE7BBFF284C225AEC05FFB4C2BC8DCDB7DCDC91AE2045D445E75809CCBDA05CCD407184B56A8008171D7BB82C1C1DBD21BAB054EE44F5EA7539454F7574E92BC45FF0F05D4E28BACDD137269F4DF9B76DE0A90C23363D0AAC1D0A1A75E4B46DFDA18208B931065063E858DA6910180653F9EE39299C8AD4F4CCA842DDD0F7DA0AB06A25A0BD4402095CED943F083F31048AE03615B56BCB5FD97351AA5F582195C6E6964D6BD8281CEE26C7955AEF8F043318D2DEF2D2ED834BF6CE39ABAEBE8984F5EA3D1A55AED65FEA776C12E1C00FF0C296F00375273795AE88B60CEBB8431BC1E334E3BC79601D739EBC82EABF6508037C6D783C1744EC640DC95F7BEBDB8D615B0DEB058798F0AF0E7B10D186EF780E37D12E4F341F08661DCBB5BFDD5501BD051B4DF70CC559A6E94244AD1DD938A9808A711EEDDD9B6AD1E62F751C36D15E82E6EF2A2FFB6B1D2DB84D646C0908D61A238DB83EAB8C9AB683F98ECDC26FD8FC67D290E108B20166D1154F0498F801A70882C856FC86BF990F0D5AE48AA2354163E050EA3B44D17CD33EC05954C473B79D081E9FFB7FFDE48EFC133E29F5CAB9C789FD562FC4B28BC1D147871186ABD0EE3B967B4BA60A9F36FEF958E8FB5906C40B064EA692FDA5437EFEF6B8A - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/FDDIKX+Courier-Bold cguidfix -/F3.1/FDDIKX+Courier-Bold renmfont -%RBIBeginFontSubset: JBFNIF+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /JBFNIF+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /L put - -dup 34 /e put - -dup 35 /t put - -dup 36 /quotesingle put - -dup 37 /s put - -dup 38 /space put - -dup 39 /g put - -dup 40 /o put - -dup 41 /m put - -dup 42 /d put - -dup 43 /a put - -dup 44 /C put - -dup 45 /l put - -dup 46 /n put - -dup 47 /R put - -dup 48 /w put - -dup 49 /i put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91BC64A62485D7C863002D39D4194FF17CC8AA420E752C449BD1094F4D1F95E92330FAC9EC5D2BAB9AF18F8B200CDEC8BF3E15994ACD70A84654AD96996492D6CAB596D1829F3E1ADFBBD5ADF8300EA07526C8C79F767BC8B982BAAEE4B3C5C0D2F3C8659D16DFE9F8680CB58A40A9E0054C240FED16B3488B42649A5CC821CBC6BBBC8C71EBA3A38E8EE1C54B02CAB6AFCEFF990E8315A2DBEFCA6196C11BC76DF13EE4555E7BA0CF2DA0533E47C263427256D2FA80B3BFA83883DCF7545690EDCF66AD30FC8C3EAC281C9AB89AD5BD5BED3085926872B660919144F24B4CAD46CD1486612799C1EC7960A56B8D6590350DFB8A2BB0C40D9A0C9ABC02A614A33EA80E95EBB426D23AC71C47399C22EB44A26C937987AFE67AC9AC1164C7EEECD4EB4EFCB6174148C45A06255657C98F1EDF290B7B77B33C589FA3AA439BA266ACAF470769399F0D511295BA5BF482EAF13593667369188E4030436D9D051F20CF97728AF9DE5ED4132D7D9E3845DA40BAB9B046C1768C12B37153072AA66A37611A8CFD951DB7B5FFA7D44C2A82F0CCAC53DB2628A2CC54DC2EA75E289371C1E1963E633A77A3E77D50AA5EBC197ACA14878DC39E0F3104EA764DC40E9C7F2D585FD83C2A55FA023E3DE0D9BF2E3009BEA2A78CE405D07999356B4A79B2205B1889C6FAA500FF2394735C4CD1D710C8B82F374444BCEEAF0CA4B2BBF1F0DBD35214423858E7CBC3B08323C4E4B84FE3FA5E84CCB1D2864B86246BA1A900217408 - -C70B0D8228084F1314715C70D8385A4A6179FDD33E82A5D2DA1669099CDD4C085AD512B1D5F16DB77183AC026CB3E3895BE23CED23C2F9B31E7E3411CDBBCEA3DF2339E740DCA61392B6508682772A731A2BCACA7EB980E20FCC9B2EEC922DD21D6DDBE17758D2CE7D54BEF1B6D8EEB03E74C70FF13303D4FFBED4D89FFC812384520BC04D308FE365280CCED4ACE3568A363A26AC13152F8490058BA19AE1A8B40B41E1FBA908405838ED2C55F2700E6E00B2C0054FB7D4438037965C93EE7E6732C720A6C7E0FA01E6357263569C5758D3A7994EDDB0D9884CE891FCC3A2A90BBB2451DC53898368C82908D033B7B02D069275503BC4043C585EC8EE207710EE78E088D66D8739D052797E743BDAF92DDA48A090389A07C588EAF37212C766BA029EB4BF98B74CA38C333A40B4A7DCA48663FA9F8721174E22ABA5DA378A5550144485D08B77A46415ACC35AC149004AA8F28FEEE5055F5963CAEB8146371F49B0DAAD60A5FEABC8D23AB632295753EE1BFA98061F5CE1A13C3F64288DBA8CF7C502B1FBCDBAD92CE347E62452CDEA668AF98B11FF10B4B126DC77EFF39F6ECEFA58726D64EF0DFBB32D0282CAACB4A32E90CEB9F08C973C104EFFD501E01E9A8F743035E8249EB3412E75E7EC2A5AC85F1316FAF07E0A65508407F6BA0CF8122FB27EC76124201B6A2BAF189E17CF6257270B7BDC508EBA159DECEF39301AD2747179E50CAC10236F100F096549836F24F50AAC78BF04F5176A9CF21EECEF5F5F89D5F34DD08F705DA3D729B26437846E109B701F2A7380733ADE1889F4CF8A8AE3141F560A509176EC4360DA52282242A5C89CC216A4BF5F07CE6902BFF04244F956E47472EE90097C2C7EA86E4DE2BEEB6726CE1ECA6DF883AD79036696CFBFDCA75023E2625B1160E9A0EFA4E1EA8C29AA13ADD0A0C75B1431E3D1359AE478E54852994061A354B42CE151E7CE670EE282DF8E05E7EC3A9F7D54EE83ACA767FDDCE179CEC407D308DBB332B799EA507ED43A66061405703570BADF29E2A7DCB47FF47492AE2B9D5F608B6847B216634322991D06312DE1FEBC38127615E72F385844198279F4A894E2FC8182D43EA1D7A10B899441CC45D4C58D5F8DE66409267732698F22FFF9C85D3D5A4F9EFC1350E6A955BDBCAED543250209A616B044F0BD65F1E013579A707DE8E0A5ECF47C78B2F93B8F5C0D296EBFF9A5F26C888C4C6CCFB5AEC6D5850E193391BA81B98C3A25642AA01A00DE2FA276AD80897C9CEC1F7B1E42DE2D42AAADF162B4580FAF8B0E519D3033950E9EFFC675E2A4E9E092ED3A4A4F5932584D522DFA51E692CDA271347B8AF0A78DD77BA9B5BE176AAA35470058A7E07F5BE8C20DBF06F0EE31E7EE07E2E7D47E28CB9B72D8FAC3C5339E53A2D97D54C81E85117E45D875D228B219D059F420A081AE03C26D868B - -AF6C2788F044D2270FE339EC940AD968C42E5DD498B390A493C590273D86D093DD6ED061467DFF3A3C4BE0C6DA5BD7BB9A1470D7C20320669D2BB18456B6B32C4D637E107C717E26598E6C4076963D6D6633DF451B3637AF07FCB3F232AA80E527D1DAB165A7432899AFFED6D7C224A843110AB2A4B669E4C9ACAE1316BD4DF67C68352DC51A37433578FE6CD8427E18D302092928AC2A1296237F20CADE8B498CB209EBA6FAE1D521EF766F02C73AA60EED1869E11EBB06C6FDC4327D94A9B7F33B59B384DA75C119D68441CB180209D9B7D06EB3B42D36F23B394C4A9D91C92234C18E824276CE711070CF3F549C07580EAE10DB8D997D9F04CE87E652C8C44D8A2481A2F074590D3A4A420D1DCC2ACF8E716C4C78D4850726D47A387FDCA8DE617FCE8858D956791FDB3274BB5CB2203C1F80BA74CE27DA522D09FEC1CAF7CA0FD33CF9BF9D5EB5AE3196BD41A9D717331A0161B9249955FB550A911A0FDC09B5F2B1FF327D6C2B3C3B88E17BC20EF4C7D6F0AD31B150798438252F4E7E1D18C4429A019F8B3606A8487FF89175A4960704763E93E3009CE6709B10CA96CC6D7307F3C625D217130D7C23CC174ACD873818289562C567C0EDFF9919B6FB5230AEE188E9727A432F5C5D3C019CFF75525465406BF1F81D18F2C43B7FD155858EE8B42CB6C4C682AF1E49768B208A3EFC294FED3F32CCF535CD0EEA56578109D77B72A396566BE7A7EF78DD6DA6A80F19E1D4E3C2C9E56879A31F6FAC7608A31AC60F172177446574745081807C161215AE7D07EBA473BD0057203B88B870C75CC711CA18573215C95DA1449F0039E6BCE8B6D729458FC697641ED3C37A026B1F22644CE331B4C937E802223552ECFE0DA9A4BD8EFD66DF9A793A3645DF46D6465C1406E33404AA72571DC7DDF4EE6D028F919867A9596888941A336CD28B3092182F7651CF6B12D28E5B502754B53C568CAD64C1567B65522143B380010A081686C937CC571021388F432DD4E515B9AF37AC5AB243D98BD7A63F0799A39AA7849691810937ADF444EE903DBAFF83CDC3F65A99E4CB2570A3883367CDCF35AA1787BB7EDFF93FE54E3D4231640FD0801A8CF3C15617EDA4E5C0ADF4DAC84088028A47B5AC4005F524CCF8F22678C4E159FBFE176672F727A3CDEAF087591D7BBC4A768A16EB9B5367BF15866C830A29BC93BB0265B88CB91F61CB714FABFBA213DE8E1155E2F5A0E733D10CE27F93B107CD7D30C8BA13405EA99D6F67AE66AA0F11448F6399675247D6C8BBE396482F8B6E22DC377BFD5784BD03EE544AD839976A0B10F7E0D75410E695277A1DD6482415FC9DF422A4A170D723C1C7D0D5D470D1E9D7C5509880223C06A66DA19E10F94DC2DB481B26 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JBFNIF+Helvetica-Bold cguidfix -/F4.1/JBFNIF+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -49 212 m -(!"#$%&!'"&#!\(%#\)*&+,$%&!,-#.%-,!'"&/\('0/#!\(%#1&/1234#"56%7!/#\(,8%#9'!\(#!\(%#+,!,5,/%:)[ 11.398002 22.837000 11.398002 34.194004 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -49 312 m -(;\(%#1&/1234#<=>#,--"9/#$,&'0*-,!'"&#"\)#!\(%#+,!,5,/%#+,!,#!\(."*?\(#8,.'"*/#5*/'&%//#"56%7!/:##@".#%A,$0-%B#/"$%#"\))[ 25.051003 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 20.500002 11.398002 34.194004 22.837000 22.837000 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 ] xS -49 362 m -(!\(%#$".%#\(%,8'-C#*/%+#"56%7!/#,.%#!\(%#D%&%B#E-"&%#,&+#1A"&#"56%7!/:##2".%#+%!,'-/#"\)#\("9#!"#%\)\)%7!'8%-C#*/%#!\(%/%)[ 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 31.898003 22.837000 22.837000 22.837000 11.398002 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 27.347002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -49 412 m -("56%7!/#9'--#5%#7"8%.%+#-,!%.:##;\(%/%#"56%7!/#,.%#.%!.'%8%+#,&+#/!".%+#'&#!\(%#+,!,5,/%#!\(."*?\(#!\(%#*/%#"\)#"56%7!#F,+,0!"./F:)[ 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 7.831001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 7.831001 11.398002 ] xS -49 462 m -(;\(%#"56%7!#,+,0!"./#\(,8%#'&!%.&,-#G&"9-%+?%#"\)#!\(%#*&+%.-C'&?#+,!,5,/%#/7\(%$,#,&+#*/%#!\('/#G&"9-%+?%#!"#\)%!7\(B#/!".%)[ 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 29.643002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 9.143001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 20.500002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 29.643002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 ] xS -49 512 m -(,&+#.%$"8%#"56%7!/#H,&+#+,!,I#\)."$#!\(%#+,!,5,/%:##;\('/#9,C#C"*#7,	.'!%#7"+%#,&+#*/%#!\(%#1&/1234#<=>#9'!\("*!)[ 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 29.643002 9.143001 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -49 562 m -(\(,8'&?#!"#G&"9#,&C!\('&?#,5"*!#!\(%#*&+%.-C'&?#+,!,5,/%/#C"*#,.%#*/'&?:##;\(%#+,!,5,/%#,+,0!".#H!\(,!#9%#"5!,'&%+#5C)[ 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 9.143001 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 ] xS -49 612 m -(7"&&%7!'&?#!"#"*.#+,!,5,/%B#'&#!\(%#0.%8'"*/#/%7!'"&I#'/#,#/0%7',-#,+,0!".#9\('7\(#\(,/#!\(%#.%/0"&/'5'-'!C#"\)#$,'&!,'&'&?#!\(%)[ 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 22.837000 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 20.500002 9.143001 22.837000 9.143001 9.143001 9.143001 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -49 662 m -(+,!,5,/%#7"&&%7!'"&#,&+#7.%,!'&?#"!\(%.#"56%7!#,+,0!"./:)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 ] xS -49 770 m -(</#9'--#5%#/\("9&#-,!%.#'&#!\('/#+"7*$%&!B#!"#"5!,'&#"56%7!#,+,0!"./#\)."$#!\(%#$,'&#+,!,5,/%#,+,0!".#!\(%.%#'/#,#/*'!%#"\))[ 27.347002 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 ] xS -49 819 m -($%!\("+/#!\(,!#\(,8%#!\(%##&,$'&?#7"&8%&!'"&#J)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 14.555001 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -847.61902 819 m -(!"#$)[ 24.641003 24.641003 24.641003 24.641003 ] xS -/F3.1[ 41 0 8.7148399 -41 0 0]sf -946.03497 819 m -(!"#$%&'\(\)*&+,-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1290.49 819 m -(:##;"#"5!,'&#,#K-'7%<+,0!".#".#,#E-"&%<+,0!".)[ 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 27.347002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 27.347002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 ] xS -49 871 m -(H9\('7\(B#"++-C#%&"*?\(B#.%!.'%8%#K-'7%#,&+#E-"&%#"56%7!/I#+"#!\(%#\)"--"9'&?L)[ 13.694001 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -49 966 m -(%&'\(!"\)"$*+*,#-.'/'\(+012!"#$3"\)"4+*,#-.567)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -49 1012 m -(%&'\(89-\)"$*+*,#-.'/'\(+012!"#$:9-\)"4+*,#-.567)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1113 m -(M"&F!#9"..C#'\)#C"*#+"&F!#'$$%+',!%-C#/%%#\("9#*/%\)*-#!\('/#7"*-+#5%:##N*/!#.%$%$5%.#!\(,!#C"*#+"&F!#&%%+#!"#G&"9#,&C!\('&?)[ 29.643002 22.837000 22.837000 7.831001 11.398002 11.398002 29.643002 22.837000 13.694001 13.694001 20.500002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 9.143001 34.194004 34.194004 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 22.837000 22.837000 ] xS -48 1163 m -(,5"*!#\("9#!\(%#+,!,5,/%#'/#/!.*7!*.%+B#5*!#C"*#7,&#.%!.'%8%#!\(%#&%7%//,.C#+,!,#H&%,!-C#0,7G,?%+#'&#"56%7!/I#5C#,/G'&?#\)".)[ 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 20.500002 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 13.694001 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 ] xS -48 1213 m -('!#\)."$#!\(%#7"..%7!#,+,0!".:##;\(."*?\("*!#!\(%#.%/!#"\)#!\('/#+"7*$%&!#9%#,.%#?"'&?#!"#9".G#!\(."*?\(#!\(%#9,C/#!\(%#1&/1234)[ 9.143001 11.398002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -48 1262 m -(5*/'&%//#"56%7!/#7,%#*/%+#!"#+%.'8%#!\(%#'&\)".$,!'"&#C"*#9,&!:)[ 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -48 1424 m -(!"#$%&'"#&%\(\)"&*+#+)[ 25.051003 22.837000 13.694001 9.758001 22.837000 11.398002 25.051003 22.837000 13.694001 11.398002 22.837000 25.051003 36.490002 22.837000 11.398002 25.051003 22.837000 13.694001 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1538 m -(O&7%#C"*#\(,8%#,#+,!,5,/%#,+,0!".B#C"*#,.%#.%,+C#!"#.%!.'%8%#+,!,:##E"&7%0!*,--CB#!\(%.%#,.%#!9"#$,'	,C/#!"#?"#,5"*!)[ 31.898003 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 29.643002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 ] xS -48 1588 m -(.%!.'%8'&?#,&+#$,&'0*-,!'&?#?%&"$%#+,!,:##P'/!".'7,--CB#+,!,#\(,/#5%%&#\(,&+-%+#"&#,#7-"&%Q#5CQ#7-"&%#5,/'/:##;\(%)[ 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 29.643002 9.143001 20.500002 11.398002 22.837000 13.694001 9.143001 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 13.694001 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 ] xS -48 1638 m -(1&/1234#<=>#'/#\)*--C#7,0,5-%#"\)#9".G'&?#9'!\(#!\(%#7-"&%Q#5,/%+#+,!,#!\(,!#7"$%/#"*!#"\)#,#/%R*%&7'&?#0."6%7!B#,&+)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -48 1688 m -(\)*&+,$%&!,--C#1&/1234#9".G/#9'!\(#+,!,#,!#,#7"&!'?#-%8%-:##P"9%8%.B#+*%#!"#!\(%#&%,.'&?#7"$0-%!'"&#"\)#!\(%#\)'./!#5'?)[ 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 9.143001 22.837000 ] xS -48 1738 m -(?%&"$%#/%R*%&7'&?#0."6%7!/#'!#'/#&"9#5%7"$'&?#0"//'5-%#!"#0.,7!'7,--C#9".G#9'!\(#?%&"$%/#,/#-"&?#/!.%!7\(%/#"\)#?,0Q-%//)[ 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 9.143001 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 20.500002 20.500002 ] xS -48 1788 m -(/%R*%&7%:##1&/1234#,-/"#,--"9/#C"*#!"#9".G#9'!\(#/%R*%&7%#'&\)".$,!'"&#'&#!\('/#9,C:##=.%8'"*/#.%-%,/%/#"\)#!\(%#1&/1234)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 20.500002 11.398002 11.398002 11.398002 27.347002 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 ] xS -48 1838 m -(<=>#7,--%+#!\(%/%#*&Q'&!%..*0!%+#/!.%!7\(%/#"\)#/%R*%&7%#8'.!*,-#7"&!'?/:##@."$#.%-%,/%#S#"&9,.+/#!\(%/%#\(,8%#5%%,--%+)[ 27.347002 27.347002 11.398002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 22.837000 11.398002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 13.694001 22.837000 34.194004 11.398002 13.694001 22.837000 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 29.643002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 ] xS -48 1888 m -(K-'7%/#Q##-'!%.,--CB#/-'7%/#"\)#?%&"$'7#/%R*%&7%:##<--#C"*#&%%+#!"#+"#!"#.%!.'%8%#/*7\(#,#/%R*%&7%#'/#/!'0*-,!%#!\(%#7\(."$/"$%)[ 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 13.694001 11.398002 11.398002 9.143001 9.143001 11.398002 22.837000 13.694001 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 20.500002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 9.143001 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 11.398002 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 20.500002 22.837000 34.194004 22.837000 ] xS -48 1938 m -(&*$5%.#,&+#!\(%#/!,.!#,&+#%&+#7"".+'&,!%/#Q##9%F--#?%!#!"#+"'&?#!\('/#'*/!#,#5'!:)[ 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 13.694001 11.398002 11.398002 29.643002 22.837000 7.831001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 ] xS -48 2038 m -(2"/!#*/%./#"\)#!\(%#1&/1234#<=>#9'--#0."5,5-C#%&+#*0#*/'&?#5"!\(#$%,&/#"\)#.%!.'%8'&?#,&+#$,&'0*-,!'&?#?%&"$%)[ 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 ] xS -48 2088 m -(/%R*%&7%/:##P%&7%B#9%F--#'&!."+*7%#5"!\(#"\)#!\(%/%#\(%.%#'&#!\(%#&%A!#!9"#/%7!'"&/:)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 7.831001 9.143001 9.143001 11.398002 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 ] xS -/F4.1[ 41 0 0 -41 0 0]sf -48 2244 m -(,-\(."%&+.*&/+0,\(.#1'%)[ 29.643002 11.398002 25.051003 25.051003 22.837000 22.837000 11.398002 22.837000 25.051003 25.051003 11.398002 29.643002 22.837000 31.898003 29.643002 25.051003 25.051003 13.694001 11.398002 25.051003 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2344 m -(E-"&%/#,&+#T,9E"&!'?/#.%0.%/%&!#!9"#5,/'7#+,!,Q!C0%/#'&/1234:##E-"&%/#\(,8%#7"&!'?/B#,&+#)[ 29.643002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -1800 2344 m -(7"&!'?/#,.%#!\(%#%-%$%&!/)[ 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 ] xS -48 2394 m -("\)#7"&!'?*"*/#/%R*%&7%#'&\)".$,!'"&#!\(,!#,.%#5*'-!#*0#!"#7.%,!%#!\(%#\)*--#7-"&%#/%R*%&7%:##O&7%#,#7-"&%#/%R*%&7%#'/)[ 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 ] xS -48 2444 m -(7"$0-%!%B#!\(%#7-"&%#9'--#5%#.%0.%/%&!%+#5C#"&%#7"&!'?#/%R*%&7%:)[ 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -48 2544 m -(>\)#C"*#G&"9#!\(%#,77%//'"&#&*$5%.#"\)#,#7-"&%#!\(,!#C"*#,.%#'&!%.%/!%+#'&B#C"*#7,&#.%!.'%8%#!\(,!#7-"&%#+'.%7!-C#\)."$#!\(%)[ 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 ] xS -48 2594 m -(E-"&%<+,0!".#'&#!\(%#\)"--"9'&?#9,CL)[ 29.643002 9.143001 22.837000 22.837000 22.837000 27.347002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2689 m -(%&'\(89-\)"'/'\(89-\)"$*+*,#-.12;"#8<$0&$*88"==>-\)5?4:@@ABBC?67)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2790 m -(;\('/#9'--#.%!*.&#,#E-"&%#"56%7!:##U"*#7,\(%7G#9\(%!\(%.#C"*#\(,8%#!\(%#.'?\(!#7-"&%#5C#7,--'&?#!\(%#E-"&%#"56%7!F/#'+#$%!\("+L)[ 25.051003 22.837000 9.143001 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 7.831001 20.500002 11.398002 9.143001 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2881 m -(,.>\)#'D:9-\)"'>='D'E'\(89-\)"12>+'E'DF\)D7)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2982 m -(;"#?%!#!\(%#$"/!#*/%#"*!#"\)#!\('/#"56%7!#9%#&"9#&%%+#!"#,/G#'!#,5"*!#'!/#7"&!'?/#H.%$%$5%.#Q#7-"&%/#\(,8%#"&%#".#$".%)[ 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 13.694001 13.694001 22.837000 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 13.694001 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 ] xS -48 3032 m -(7"&!'?/I:)[ 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 13.694001 11.398002 ] xS -ep -end - -%%Page: 8 8 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: VZORSV+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /VZORSV+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /m put - -dup 34 /y put - -dup 35 /space put - -dup 36 /dollar put - -dup 37 /c put - -dup 38 /o put - -dup 39 /n put - -dup 40 /t put - -dup 41 /i put - -dup 42 /g put - -dup 43 /s put - -dup 44 /equal put - -dup 45 /l put - -dup 46 /e put - -dup 47 /hyphen put - -dup 48 /greater put - -dup 49 /underscore put - -dup 50 /a put - -dup 51 /C put - -dup 52 /semicolon put - -dup 53 /f put - -dup 54 /r put - -dup 55 /h put - -dup 56 /parenleft put - -dup 57 /at put - -dup 58 /parenright put - -dup 59 /braceleft put - -dup 60 /d put - -dup 61 /numbersign put - -dup 62 /T put - -dup 63 /q put - -dup 64 /u put - -dup 65 /b put - -dup 66 /colon put - -dup 67 /p put - -dup 68 /period put - -dup 69 /quotedbl put - -dup 70 /backslash put - -dup 71 /W put - -dup 72 /one put - -dup 73 /comma put - -dup 74 /zero put - -dup 75 /I put - -dup 76 /w put - -dup 77 /N put - -dup 78 /j put - -dup 79 /B put - -dup 80 /S put - -dup 81 /O put - -dup 82 /asterisk put - -dup 83 /D put - -dup 84 /U put - -dup 85 /quotesingle put - -dup 86 /braceright put - -dup 87 /k put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958B0B07AFAB3DA92F1921A6C43FA1B878C30B000F123DB7C8086DFFD50F793DADEE5807684335AA6F2F955F6B39A752DED033D9FB9F689B5ED294853537CC69443570F2F8FA1C25667994F83F39A8B3E36E30FD0452807F6B8B2EDACCF414DEFE7AEFD8DF460C34B2DC00764C38030536D7C0EAAD5B1BCDC83762281B9FBB1E2057E6CEC94046FCAC92EFC1215682A3BEB3D640CEE437DA24EF20151DEC0DDA9D09B22C30AE438899C169320B569A1C8879C819EBB4172FFA09763DB028D23D48D3334ACCF25DC364F1E2A6ECF75AE203A8CCBFBA73ED7E6BC78A98C47D5C50659AFAED4838AB2317B5544DEF7CA81BB68BD912A8669DE0CD51E09AF7B9A44281B68C13498F97FC3046BD04F001F72E6130801BB1B929DA35FA1F2BBC6C9942A4F54C12EB5F7A5D132BB3AC1508590DC2E635C95E80266C7F523F5428DDCA8620B22CBA16A354B0658D76C5D6C8D491EFFEB8154240A5378EDF55DD720D4884404D80A18EF2C5D52D9FD8D2C964CACFBCBD46088C59B992CFD34B4CEA259C45410CBBC7F9FD24A0BEACC0A577BED3792FA183920B21C694460ED8789759CDDD94F00F05D7931A16BD77784EC96DEEA633091F4EEAAE3B0631E91E4A62BFE3BC8C6A9A9DABA64DA2830EB89C72849CAC25E5C35CEE62BBBD8B4ED126667952C18F3EDC4E0E614FD85B2FD6B9554C0EE9492EFC343F3C21FE2A065E6DE708042BAA3A236FE59DA7482C4EAD20166FF141323C63BB767A2564E0A74E1B8FCADA550A - -F53AF6BA613429FA7ECE148EB53DC12E67A4F5D66D04C6F07F57F671ACB86A1518D8C3965A9B7B7AD647D11B2CE63A68F05FC7C7A2149359608DA369C8D7315FBA06F6857F34EFB59D02380C7F5291502D0107441DD255B9263CCA8035433DFFC8C7E6BB39F90B21FE629AB73C866A11EC9F54A534E79AE2BE76D4A1FBB4FE55898A6997E4B6E6B12F14E370A7B81711463994C405718E67087953F2FED673473621FE36B007B5A8D30519EECC1C7E2C12CD418ED6D596812DA479E44F8245265A9337FD9EF35518340C9ECA679F9CABDB7E5847BB18A396893BE90B8F61BD966572BFC1F7A3E3050FE10FABAD5A685458BEAC42279BD7D76D5C499C67B461036F3409ED7E735430EE73DD39E39CFD0E3DD36D40377C4D5C5C7F970D5A6673DB9428EAB7770D2F6B4D0E7CFFE5EA5A30D195ABFE13FB087F4D52C4A829EE56ECCBFBE09C24D8E8FBBDAFAF5FA53F5F6D3A7C25DDF37FC49A78F103C5563DCE466AB34C75312E0B75EE799294DD4DD68A748F1E6C292AF7A97E64AD178AFB2806890D322F1B97FFE78895484B2510019D2A4EF201F86606F3B6C125DDBDCAE685F6FEE8A72C46555B3B4CFD635A109E41F5D6C2E74398D1F661E22FAC11988C55E218FC935C94B16F6DCE2E14FC1FAA413D4B05B26697692D260390712F1131DE517E98F89A1EA06EB5336A356822D55E21754668362D2637AB98FFCBBC86C4C3B29C2B3BD54E319A1BD1E56769BAA0EF537C436A7BE95F2DBEA333369077483BAB8A9B7BCA202CE80F1DB1B96735B11BEE209F92A82369BEDD8D47EE64358CA1EFF97DD05B76DEC79E07638C3C096BE9C4855A0A4AA2072458B5E67B3C3028C0A34BADC0B8F516FFEAE5A1089BC3C8BA792A0F52719BD682B97B46BA5C61ACCDA0DAE6509B0371A834057B4FE2EFB9F49EFBE2C6C4FBB1562B22A6927A56BE6FC1C5341C14C209619629135B7DF05B7EC636AACA1C8BC0A2C1C08BC7B32A80A095A7B5262D07A19AE468DC39125E3AF264F59FC531358DC32B3F521DF526C8C8E72D0F3E2857FB33887C4D8D901D2B763CBCCD7C1FA8B8BBBF06B6F76CE0B2F9AB94DF04CA816ED41B9E2F814677FAF56952E3719FA4C1E4ED2C4FB471C0D3594FD689890F584771C81B404A2D535C52EE4EB2A3D8973D2F69A745FF97D2ED7C84EE1B734F6F843E4D80550F828F3068F8F34E0D07F28FE8517EEB1AA8080D3265E9D27B9A4836D9E619A2FA71E3B47BF3E5021BFDDEA0158E004C60B7B3159185449B98120EB87108C2BC79A3BEC5BA7C6C4D70C8B7F3A52146CBD1B6CECFE153BFBAFB9AE24339A1B5EE3AB4D424CA85363824C7F31935E92B6EE1B99A4FAB919111DC5D0F88CD4F55C0A26F365D5CEF381C3729DC9F66DD501E75A440E8C749ABEF34FA42F816B175F69EF4D1A0B543ABF7C05F27AE13B367C6C755D501A5 - -14B58BF7F6A64C523207E758E65EE281E72F1DA68D151EE2F5E0CD2C5ADF7041415A7B2165BEF535613EFFAF3BAA2441CADB0EF2D2644DB9553DB4FCFECE12C2FFFA17546FFD58CBF3983B6C728FFB04686347D69CF4307AD5C48536105D094BED53EA1CEAF222F4C2D98DE30B434C298607A1C18C48CCB28ECF31AA0225DA1BBD6D4C4AE5E2B10395774B75920A3F4E055DBE7751215CE33415679E28CBCD1C2E60902ED785A23824687667A7E5DC2DC23DC23F4DAF656C79BB8A179EED0366688B9734A6B7A4E28A75095C07BAF5859CD5C88E90080BA1CE28ED085E59F7360A16224449120714C6E8E17199814ADCA87B2687EEB43B90C861CA542BCB20B0D786B1715B470D07172D9455CED45D5D4C5CD4B0749648AF1883FF95BCB1CA78AA5DE27ED5D4CD0FDE477DC3813870848410513AE7971D40306CFBBE7545F022EDE7E99AE64A22614F7B61E15ABD9C97DDC4345A1EA55609BBC77ADC7754103CD9F3366A76DEAD0D117C3CDF95C19D893BCAEC880107B2ED1269DEDDAA4BB8F3DEB24818C7726485BAE663F46B5A79423D8296616074EB38661DEBB5302CC9F30A3E75B7F9F7C51D0B162D50CA14B05896D7B50BE88350778D71863F2AA37A1F229FA583B1E34C92627A051143DD2E1C79DED9F120492CFAFAA4E309D311306682D751F037CDA2B9D4DD7B25826459EC6ADA73F28659ADA08A4B727E32FACDB8C1DA99FCAC58D74FEC7E2B2E9335A64C2AB6E5181B1D9533EAAC78399BCDD6435A2D4A6CF11978F99023785B20AB9CE0B566513561C7B7942D508B0A15F3470BF922EDFF2E72354E1DFE97F7F9A7887C2375ECDB93234FC2D3EA75CC2328B75913177DC3BA33C68DA88DD97E50E0220DFEC6E3D3835B99B99B19F273DE77170BEBE45B274400863BE646A1FA8FA13E6CA24C6671994F014A73CC76D17668E1D9CD81388E34680A8FFC748D30F51036549C46707B6BD9847EB9CA97C94E242349D4EEBD1D1BB095689B778A8B5A7926495A2B03848244ED1548693B0DAFCD264B9AD430A1E97A4A5B00C3ABBA9FDF290D03EE12BB52DD1273D30994F6B83F8BE754D931EEED5A57F772007E300E014F7F1F8A3C4057A0065E3CDB3B6260077F6C425E91F2753BBA19669D835CBB3318F5B83F0B21973B84B419726DC265999115714758D5664029707F4598B027D7C713FCF38D7A322EEDAA767D4D7E68A38219ADEA8979EA633B93DD3F744F3075C080AD6031A55FC06F16CEDF26EB0B9003DC21788370E14BE413DA3479D5AFD3DE6F5C1DD407E3963EDC1F46A171E44A90B1262E5C4645A602E3B520CC35DAF03034A6F517CC8A10355A8E38AA2A58D775E3ECF2D39009E786DA627C342902A8D7CC0E12F90CFF4D6DE5F7FE2A06B7B9EA63A42F48A7C18A10F39080F3E33EC8CDD993BD3B2B7122E90C9185ED15A8980435 - -27260FCC4FF43A860E6672BED68400DA3EB2123A2AC0FB4D0D6062E540E2F97B2DC9F440F8B434932657CDDD0F4B4C66851B0F57A1EEC574FDB87C8B43CD30D987CC9F6A5AB8882779778EC09C143538A8BCBF96AC5D74D16611D514F8ACFA2305E32FE6E435373A8CDAA221893FF963F3A1E192AA1639BAD25CA348B6CC2B41120551481FFCDDA0E801C290E56A63F532A97012B2B4157CABFA82E0BB6114F6B00C087CA58766264E4710764AE70111170EBF2CF89E1B83E83934C5028A8FDE55F9D0784C2D9DE204DEB0E432AAE744ABDB375AAF1D132B7F6828D9D87832DD4648B3CBAED2269FD28D8C3F5FE5A8E709E30F4B953AEDF1EB330412F78EF83AEF2EC1318A6EDE46E71F65EE8D6610DA1A70FE7BBB46BC0FFF36AF5109DA10492AE230C52111135B76E7FBB5A017301A17B020070640E0B2B35D11069AD66E59845A3F36F3185581B2F2F724250FF9AA19A7D79C41ACE9491A1AEF2869E5D89D4258980BC66D42B62C3D461FAA6B7CF4F0C5E322BC27C8254C2B38781F6F477460815E6075B8BB7BA95F25086D4426D65E0734C8E17D17C7FB712567786B5110214CA4F16476255A050B9DBAAA30DB1F40F1F8EA237FBB61659058EAE9863B80D7C67E8E16F2DCB1F87F2B8295E89D11A9E7D6599D4652D5B14C71A13B8E008C46E8A19D726EF650520C5378EC15C4A363913A8277CAEA72A203803814BB35F3BE2A8DE1FCDABE5386DB4B283679DCE59EE5C3E7A4DD6293111C12E220CE5DCBC011058AC8BF258DD56F5385EAC4056A60DD1B37F44912FFA74266BE7B88AD617F4E6FE57AF43C3DD7DC5C8423F9D6FE8A1855395DB6B65AFFBD0A86D0A32421FD5AEFFE9215F4A50D2C1966E647643F2B1B6AEE0EC76FD4D526445DEE353DF4B9C95D91EE53F49081339409A4E653B8F0BB329712C4F168DA234BBDF743D2B0EE81D35E16847060030CEEC35B2281A84DB9AB4E017F6F788A3FC1651AE9756A9B5E8C6ECE5B882250853BEA71EC50BACE720B52D91EC23797CE7B3B84B88E93EF82E0C5FCF26626DF3A6EFE07F2D93FAA2E662A98983E29FAD6DAF0212761C0BD8D2B2E2B99D80E67B439CCECEBB5ED70368BF53228DFBA39D808403D4A07B56A0D38C5BE2BBEA503F17227EA00D2F96DB64F48F89F9D5FE3012A3A64B714E70FBBB1D611909C5DD09CF23D180A6176557E9A60CA8ACEC7464E6791667283B19318B26B08F170C07471F9D8E2A987B4E342D72799E42A079664C589C5EBB81620C67662A153B23E59BE0F6954C86CE1E8BA689D1999134825003E23559439C51CD0472F34893B18BE4635350088FC76BFB2F39DBF32D36002A6B3AD4A1EE1A495A86FF3BE49417FD9C1FFCB8E5FE913E977EEBA1649E2F7E387E6A044CECF9F1CC8DC75550279892D2A008F6DB97F913CA0E6AE9C5C5E70C94F0A3DCB5C88F1 - -AEF26C25E20B555B84A6ED113EC62F806FC29EA544DA84C6EAD559DBF06ABD2C05AD965A421E6A4DC9CACC1F80EEE11FF3752B4545B21FFA89978392EB57F78AC77340C9A69BB6745D3565FC5701C2097D3929FBCE2569FD61C20F495804E348C43B70E0C22F568685A5067B6E1577BD2A583157B378D6B4C6096C2F23A8EC5D8704512DF9A4C8DEB9F1738703934B43E97E23C9784A87CFC1A202F005ED34D8F2B7B868A44C1F2807DA023294708BEA398DEFFBED8851D0EBBBA5D394C69A894E60E1F82EF1A17C0DD3CCDCEEA61EF883CB66A4A325A5A19394FDA8EFCA6F5B445BBC4ECCB116DB85FB34F0CFDF6DE6D8D560D4CEBC26728BC2E97F8BCC4591ECBE857236F2CAC6A6D08438718AC21C142F67CCCAA93C9CE5E9705B8470CB06486FFA2F445D047A73174659098308E9C226DE913DFE2946044DE7A40AE7522D0B89736F395F1669CC31ACCF0AC132787E6BE400D8D47F83008A81F6810267DBA46D685846473CA1ECC4C81526861F505AC769335F8B21E296C189CCA6993BCBF30F902ABD9CA8E14D1738895FA04C8B25493BCF7DF3E26157CD669100C0E8B7F4D85F6A4DA8B95E906E1C5B43E16070D041A88A7CF0C6B511FB65C8001319231FE1377F09A1DC261E7FB58853BD7DD142B6EC5D4F5E39B44A6732BF72E89D7A567FFE345796B73FE182FD877E01B09998F732DD559BF6A19BFCADF83E3EB5D95FEDAE1D50C43B20CBDFE55CE6860E69111D8C23F82308F256D1A6EA4FF6207A51FE8ACCED0823BF1DE900610C3070AFA34EBF47F0D07161F25EEAC31B81438881B77A9D6101076C7684BFF5221A6C6095DC95CD8C2D0C0BE87F71D177263F3302C919FD18105BC2FE445F8D11C8BF89889956E847A7BF99144B5E5D2E101273F1D263B4C65804768F8BCB0B2D4FEF80CF6FF59BDB87CCC076FDB8B100F68470983156C99ECEA7D437914EB9502C034E5F3DC4F135EEA6D4A2765F120C161B6A209C83432E570D2B64BD144CD1D29B12A77012AE010DF4BD6C4BC480403AC482F9AEDDC91C1D012B258702322BF9009AC76239362B8390ADBDA83A56A6D94571C698CEF0D566909D7D1633F7E798CBB0288F8E99831EF8EDD8DE4E285CB9E241E2DCC461258CFB488E89FD47CE86DFE061AB5EF6DBDCB1D909EF093903399A2BAE37ECA90C38A0C93E7E6AEACC1796BCDA7FFC474B9BD3751DAF84B93D82A2BC644CA6A10D62BEA11E2B97D5E9FD06BBEE355FE231E0B7C63BDEDE58E6D8981A0163F4BA16FC35FDCD8A4A91F7DF9FFB619C8BA3521E38E7020CDA883BBC566EB60D366FECA93CEF83788DF1250A1658C8E68DD49E29ECD5297AE9388634AB9DA3B3FB3CBD69F59938F3D868448BC97CB434F008B4E3585441FF9683347509BF1EB6A4EF7BE0D55C98B15EAA4AB05C6220B55337ADE1C2855DC71EF2C2FC7A88 - -E3A6217742276D48D2C23D115F9528BEE33E1A362E45AA7AFCE2B38990949FE5F4D97002CF2D1BE707C42D8D8F2E49A671CEC0814ADD9A048C92F98C21ADE751163802B85766783438AE4C4B0C52A8E1118BEE3729E5628B127E0D66E897610436AD79F9C279DEB22FBEACC64AD6982B1C170BA79DC2D9F8E0A06A9653F920F143EC66E0ACDBCDA65267097BD06376D14691304813325AC55A7E41337DAD1200351614A8F1354684B7943BE8EC5E90C0016B698B33431A3A79AE06107C1FFD78334D39F33E6881F819212391F4D60B51BDF4DE470FE644FCA48D758BF5ADCFDF1E9F95D0DB989F8544D26F52C78DD102889347B71AC7CFC9E26293B10691410AFC704866A137140F38938785B7B621085D16DAEF6B069076AC4030BD7BB697AFF933BC0FD3F2C336EA90CDF3DCB24B936C4DD52B8B4542177185671859EDF54866DDA682081425CFC48B6707E72067FB5B2C5A6EB682F499B61BA0BB06C7BE4CDD989E88BE249E31A43F6808F1E3C52375C4662FFDAF69AC939835994880BDD3A9CD3CBC572EEDB35073524FEACFB9C68DAAC8B8C78F561D25447A71A6F22F81F0C42D2858945BEC64EEA1333FA008C67189E0674FD99708E374B94FDD63A5B2A7A02BAA3EA67617ACAA4A4D4E62C91D322295E99B0E9FD058D697F5D242C8FDBBDAFD551233CB1D0983A90492B27008A1B1AED0294F3AAF03F4CE5E927B1E0CD36A43335D5C95652F4B332CC690FB291AD95D2014771E3FAAD6637EE67ABC68330140BB2B52555406FB6888095B237ED6C91D72C4B14536FB7979CB33971F5D3BDFE52AE6789682FDFD1501C808B5FDAE895242D22D4FCA0589C4E5ECD357FA77EE799B111C2C66DB863B852F3171E8E61B7C657DD76C57286C378DCC850F8B87CC9E258F002B992E2AA8ABCAEA8B6B3335EBB0702B9B4C42974D3C624EE396DE6B296F10E021D9D850098984EDA39C59AB0BAB851F9839C24E2CB57FDD0D86ED8E6DDE2DBA92D2E1325B156D1DDF0C91C83587D987F2437C3F326D331C6D7175A2D56C63644394C678735D4FC4D4F3ACE9B6EE57866DD6D32BF82A62055E1D9E9518D2DCFC74612AE2FD1E7AB5452F1DACB6BCEEB1894C2FC49C419E68E3EB886073BFEB0AF7742917662AEA3277BFD9209DBF4993751A5BEC3758465A2D8594D36F4C7FE6F08FB8B9119DB3BDF725FE26B2AE5F80179212348A833C647E319D69B3CD053C7BECB1FEDBE1EBF5D8A1BD553D028743E811E6BD31DB8743732E3F031B206E207F8D0E1AFBDEEB5BDF761FBEADE468567705498ED4BA138B4374AEAB6E142012D87338C3E0E6DB1371EDFADBC51AFEC15AB763D854197FF46E82C666BD84CE28326FE10C0A26695F4B64F583003141807A8E63915A43F2B9199F982E2608DB7194EC103127A4A3BDF3A2C35DFE986DF134B82ED8B9648E057C36 - -4EB81C212D1E71C6FA949219856696F934C70A187921DC7604B6108EC58AD9A7263399EA984ED6E28F03ACDCFE83E41A22C7F75058BC345AE1E18E8BE268273FA0D77EDF668B5F47455B3E489E464D39AE12D63F3E6B9111497994FE2AE8ABCA3B37A115900C18289AFC8F39BD2DDC68F318AF2C5D926148CAD27D59B345CD9F82C753633B5471080CE7391F1F46465B39B7FCFDAD0B261CB732E3CBD5BC246F6F9895F26A57B81BDC6812F891543605D3CAE0EA2AC079254574B151796F20FEA59C7C47FD25064E8CECB9F64959697897601F80C792CED670CBBD30F1018477C857FC61179DD33EFA5EA2F6C56D43A1258341B3F5FE565DEADB30BC97AE0F5ADFED781CD5C09B24510DB2755C900A47ADD974F3E248347EF36AC5E926C1A160B42482409D0B62C8CBAED6FE295556A163FE3585027958912854A35C8CABDA89CFA6321D026C9D7BD82C52E2E065C705316143E182C014441EFD6703D3F5D9C4D6300ECBC10B9331FF5EEF84D1FDEFABA6453BE67E31A5BEE0B44FB0E595C1D80A72117AAB479DA4718FC322661DA1B0D18766AD3D851A1E05EE9A8B1A5921013CF3B166F5D96ABFB995E8972E35D38EE0DC6793628A1A2268C5FFEB19FC0F0FC8EB7CA1EFE9202CAD5E9CF3CD8535D7A84B81784E8E09BAE84FC995EFB1FDB2055273090EF44D80963DC192BDDC6B22C25F5CF416B2AE7E7B98E6D8193B523920F784A86A03288F967ACBBC57A41871043093E33E0046DE8DCB2272C343488EB443DECB4DE7E3DCD7D20A423C77ED9C0ED2DABB4202C97270F8A09D9E22981CFFF03B1B176BCE95B81D4B72593FBD5622703E3CC99CBDB2006198BC265BBCA3B051C625A55B72937609D353751918886614E2ED4E464A7614FA9F3D8E84274628F2E503262FD27F6713CA90E21AE0ABB3FD3442DC220B33A37591C1A5467E804FFF4E2F7F8CE20946C23065C40C55E2D5C7413DC0AA9DF41639DD4EF8111CA5A81DEA3763D0947D4A1C1D91FD4F475BFC925515100AB1172E2DD61E9191CA8C54869276C58ECDD73E0EDA58CDDA435D1BAB60EA23F0D5AE22EACB764877E5D138573AD50256929A5640AEFBC6F1011DEAB8E192EDEFBA5B6DD1B8DECAB173D1B552F274FF0ED21B4A01CFCD696F12D01D36C7D03E7A9D38C7BC939B5032F9A7107BF6453B7CE2058D5BA65FA2A55083F392E05AE386AE2B4BE8ADC8489657E0C87F9BD2B15A463BA0D6D676CA7D74754EE9F6B8AE5628426210B051FD5ABF24912D97D975EA9819465D178D864BF6C849783DC8C764BBD401B074BDC3A7D348F1DB3DD8BA41CE5EE8E5125EC87909DADA0825D3419B311F5CF50EB32FBA04F6C883F71BFF4C6D37A7181C69B58C259F8D7F04CC4EC35411F21F253A2291794602F8BAFBDD38199F11F0618FF21E8E7F1E77738221C97371BBDDB9BD49770F6D - -D3EFE9428CB980AA00346134C9A1AC7B1562E7E4CDB0A3C181024B843471DE239B66596CB8998B77CD43448A4E0845C73B8962F6B3A13AA5F6E5707494DDA94128E39A58419BBCAFC3941B7A7359965299D3BEBC269AB6534643F9F9D52D7626FF14D938D5BD9BEB822899B9B19F12952441B441E0C0676984464D406D2A883A959BF9657C61E5CA61169C05AB35E09BD0FCEECED033C8981D436C0DB569CEF15B967D2DDD6FE8ECE5DA2E65AED99F4287A6CC79ABE78D90C7928FFFEAF84A9ACA8E209B1B62C19E120AE111450077AD4D06B308EEDF5BACEF334201B23C317202FB0BF07E9EF5170054F74AE6686E8332E54FD2E9C41E441FB959F74DDFEE772392B33FE50AA8C3326EFE39E6E2CF05EF863EFBE215A37B49A1EB99E11A9811573958C98A50FEDA1F5B53DB732ADE3327701453CA8F23673C40EA4AF5963E4BE5852E1F67764A4774AE001B7CB01138A4EA45E7BF28A5B58DA3E7112B7E2FC4D25AFE537835BED04A8C850C1306876837EA132268AB60E9DE168080E25404BB32CCF7E9664642D6EA7221423D904D76DB0EF3C64B6CED2EEAAC467745B06CEA6761FFDB8C4CBAE8B4DC6B6E8E292A636B11018C21DBD783ACEF1614697145678D2344663FA007EE36F7C385266B1D6D53D86CBDDBF7CA27CF0E9B38A8E66686047CC8D63F31178773945BF4D182C5B5B62012D5524F29B81EA8BB62BE01EA317C304F05BAE5F6D0283C4788ACB6B66BF29887C5FD7C51EA71EFA88E5828F5EA721498302D7F7880A4EF2590959F0DF07A02B4AD84ED5C52EA38BD2266802B127E591655E1E85E18D6423ED9D3D2B9C70B2AA3DFE315BEAE32A8511626B21850A76494C083FA8E2B1C55E8791337B8B67EF773D22081EAB3AA40EB4B09401D5F847E16C9C25671A2F907076DC8805F49006D2C51192D715D07F13D523D0249EA976DFC23DDF118DDC7D744F76D0DDB7B929FF376FD820C17A5C91EF44D67D88B2C4D0CC05A7A007E0E7A95E9F4582A68F3FD7F42CDFA44E400A445EB033DFB8A88F47FEC7418B3B8485C73F069B9ADEF5D428588153EFDB6A26ABF97886044545E6E3614BD25A63D04E2AAADFFEF806BFE108025939D677BCA12C418E5A25FBE18C3ABAA11C7A9472E206D57B897D5A128E2AE785313DEA6B34AFE335C9EAEE036DABDCA12EF934FDA9F8FFBE0F32F77C12AA85DAD2B4F6FEEDD6634DA8C27429032688314B19AAD9D6F4230B0D3DD0841962B054ACFC517735C5A1CFC880118CF4645A8D4C82E4CF7AC22DB6DE9B13D43C984C9376D3654F7F1A6C93C28BCA95E0A599CAF8CF9052AD93F79C14B6AC596CD080ADC86A26AD6A56E7A82CD519D7253C7439B0952A72DFAD779A0ADCF229E52171395A99CC654BD585ED91D875A519B700E4B5F4B6280E28A6F2DE2958E3D06583FB97E4B0C78EAB2422BB5A301 - -DEE5A9AAB02F86DB32C3BB146EA51BA758DAC1F0525746D4BBC59A017217F8E36544B8FFF22EF7BAFA90CD50E4FACC5678E0D5A318348FF798945F3FDA3AB656341699EA3EC896ED6BC837D1A120B69A0D542CE7165F8550287EF3B967D1849FAFCADA6ACAADF6D0D80D85214BCD45215CE7944821756DFDED7C5076B1CF64605F0D602F2540475DC262BB30E553723FA3CBB05B1801CF0ABAB5CA6286822687AD8BDE1A4B19F27245BD8DFCA96586AD81B67B24B4ADA7A38D56503352DE4674E706277A138FECC3BA3442F7B8AF91875F1D423749DD4BF2CEF84F464702D9FF33403AEAD55AF0DC665A070D017D6F34BEB30ACE3539C5BAFB186F653B7FA95B4363C66599CA00FB0CAF6FADFEB558AA6B0825907FD8F23E9B7F5887F40371B38CABD18D027F4DE8780554229BF586EFCA69E5A07A73C48A565A4D2211F530C36A89A1F23867EA6E99B82FFEDAF99B9A8F2A2175EE751A4383064149E84DC534228C312B6FF19FF8B47FDAEF8B0C5F3CBB2F269A97E35986A0EFA516C8AC65E5D8CE36A1C0BC936F7262A7CE4314B51DF8F897AE0232242F14388CD17AACB9621ED253AED0054F1AD9BCAD9A07CD8E232604ADF296DF6400244393EA3C8FE9457A336F0639203D319086BF94E3035680F65F4C4500E75A2CE434E7AF80789D7884CB285157963DB376279A90B7D977C804C18DAA8D444A57C103BE53496562BA383A5E02E05164F2C4BC16B2908C893A2D64BB5E3DFD65F0ABAD102BC3F08379ABD2420D097103D1F1DE3BFD882381F256AC64DCF4D87736924F8EBCFD157CF3DB203B7C36EA1C312C50778AD043DE46B8CC33432FC8CEE2EF4B28C77285EE941842E4B213C07A55FD96765144D59787B4C413B4818965BD444E4CF8253DB2A05204EE3B3E077446420771ADFA3632F8C7F9EAA1775AA9C3F77047C6D96397DE995EFA6839196C20FC9853F84CF0DC044C6204AB0C145C44D441FEC377FC5C50CEC227B9E8F12DFFB33B69768B206949E547BB4D061DF0891A3B7D007B2BCA55E263913140B4CF70B405798D11DC19C3DDF77E31D1922EACB4EDDADC1AC66B4D033464384E7ECD148BE19AD185AB6659971B130AB16CBE44D9FBD6B2E9A297A194127C2D4113178E1C5275D76C9DC79BB96C06FC4597D9E550F8CD60D8E1D3A4386C5268808C58A7ACFAC32D16B51BB9F9B2E2E187E72D17BE3670E61D0EA08B4BD92616AD4B21ABD932CFC12BE995577859456F7BF7754FB749D196C43D7B156456B6ABB5F1170614728143C3D6330074A7C2F844E4CBD4D4D98C5ADC4E1903B37AD3BAD597D4E976C4F566329F8A3AC7E6CCBBFDC3C816CF1E1FB093038685A8CA141140853E10FDA6063513061D32B00133D6F707D392705DF73E1E9A9FDE99196705E47D1FAC3F38656F265DA7B0BE515C4A2553A43BACCFAD8F3D07BCC2 - -C7FBA3E182D3E0F5CEEFEF922D765D72126DDBF4CCBEBBD7EB86DB41B357C0362179F03E4E8A0AEA8920BE45E9408D779D0FC8487CEBCD3AD777EA859016F8684909749F74E3C9B3695F55C69493594B323B5CF4E528D76B53EB07929E166A8BF57573AD810E7614466CFFBDF4080B89216122D849B94144AECF1384702605EDCCEA55A19B5CA0D7999FDB427C6CC29388E3708444A12884271EE5764522169477D45DC3DBD4B344135B0A7458928DEAE901CDE7313FBD4616BE2B878C6FB49A965AB72701B7D3EF8CC8A33BB5EF8EEC06769C2D98C1CE5DAA0A84BA1DF8A13F3AC0BE392F99E2382BBB3F55769366F46348D9481B029DB23D2F380710B51FF2FE4A157A5C4C7B90DDC17CD132951767E5468A4AF38478C69861A3DBA75F9969657E093250BF56612B7CC21D1C2CF45AB5E5212D6389F0B6D9ECF5F287D9B0EA16233C3CE25BFDFDBF5F1B13B3BC1F57E348B2792A753AD2D3344CA745797172825552B92CE8AB99CC29622F098BCC0DEC142CD8A097BF69A1B8F9DECD4B2C767EB532BDD99EEF8DED58AA0D5A8F914BD8A74343A4428CB95B1F957389111C8EF7C1030E6C9714AB7DC4472955FE046E4D78FD726A1C34F1BC95161560958BE17243B7C51B827748C93445220B0E772DBE31C6DB51BA5192BCD55E6ED632E9864797C8AC3A7701F13E38B45462BE17296BC192947FD6D8BD6B6F53DEC0234D3DD4EA441F3C2A33B8579AB8877581C3F5F1D0DCDB0A873756853A2C38AC4A3C0B4B4753F63C57EDF2F0BA38CC4EDBC7828638638091E7EB719CB0B92F7DB2D294087D9631A42677F0C67B3E409D70F0C56521F3DF1BE5639521E3DD0DE17FC088B018A60BB9D8EC641872A7FEB77241878A13249DA0A13D9A6B403E60DB95083756DAEE17EB7A2C5EF36E7BA1E4D339858944B4838A2E7087125574E7F644CFBF3CF2D9C6115486CE54DB37CC8F6D9C508A798E77E8DBCC41380077F3A89FC031BA263CA1F1A0F6F9DF9ADEB948AFCB03E7CB232413BFC7A05AEEA2D317BB0A7FC16504BC376459BD806950D2A42039358D358EA3C4AAC31702B9AA6ABE945F3EA0B2BB6F98DD485AB7F8D3243356E202057DCBBA0700D0A31CD63EC44FAACAC134EC76E7CF8852A33ABD3CBB739E7A39C31A814EEF90E561578F5BE81B0F83F870A8C7C0229B98947EFEAB83E27212523922BC136F862C4F0C879B642D5FFA663339EDED19F04615D21D6D408F2B49558C10FC0AA31A2A9C70529F9BAD15F89DCB2DF3236E064FAC6617B7AEF486F3020C517027C00DFFDD034459C55F5B3C892441E502E2B70AFA2F0CB3167D5CA33AA7799D0AAE0F1D38D64CA1FEA01228DA09B4E80D0B905AC45F6F43FD00608CAA69DF7E8B595C50AB9B691EDE502EBDC231F571713C8BA488051F32FB3847870419C63EAFFE65FB53F9A90A5599F52142 - -DDADA740F4A98FFCA9E3504C08C15C3FB0EAE717EE8F1C6BCB42A04282496C3CF7F91955B8B9074D70B8B34409356D32D008EF9F65A324C0E391CAFE9197D2C684A5CC0182A46775CC9FB3947DCA113AC9177C7AF1785A0B3FC3FAB079B6BD2B2C5ED054898DF2D236AAA5DC0B3BAA85DABD7CF870A2EFD106B1D62646514E77A85115C2BB322027B683186F55B4ED007FE3001510DB446166B0BD76304744B505D56B5E1696277AB7BA3D2EA3D260ED868F8F43799FBFEF302758518538912CF2740EAD2F5FF5DF6CE3BCC6B12995B3F7C85F717DEA9BAF321A2A9A4B5A316D482F6917CF85530DF49E20C53F92DACCBAC18F89C74C7C0B18FA387768DDFF9E60B6A4A28C4BA9B68C1958DDAF33E382BFBD2B50D905F8C2779C0BC077212DBAAB67F1541CABE0F037B0CA3025D6E3D7395F66CE369EF95F8A0D4C5458F15717EC0ACF23756B00C2C0B00B497FB94FC6B52459DD058DBBA1D0617F6CAFE0291D62FBF0E28832D3A6541D43C6B3EF975D977AFCE30212C712CC65AB25C8D2A2341C175C8F4A2F43C951BFBCE3218017D17C879718D87D1B00BC10A8A9C82B489DA6BCF1F1C2F12EBDF91E9F5DB9C9C1EABF0F74242F989D134C48532B16FED1784BFC50A82486F1CC82FEC0213343BBA19C22F85C68ED6DDCB679796A66F29F799EDF1C33F9EACF85E11D511A46B9B78CCE3011C06DA2CBFEC979B7C418073538E599C5B2CA48E9AF55F91CBD8452F9809B47B9B8D1BA4E8FF3E412E8B775465829B77D953CC1021953A3755AB7F37A9AD8F733B321BC50751CCC7FC0C08572FE7C6C2315533129EF59719EA5F25C3F59F899B9D5F85CF4CD3B8000A7E17C4053AE65FE63A756C8A12A7EDFC8285FC3967C1D8D96AB2C28729A468F8ECE3C35DA55FAA210B96AFAEF08588FF80BC4A6C144DBC414386B55E7735764A5D38FF5DFD09B25607ADE61C8D28006BFE49878638F2A2DDEB454F4DE63AA19FE65BB726B27311F70E1F99EB364679B1C5E98500ECC04DF42E5F8675C6B35AB7368111C28B74C9D0B60F6405A729A18DAA8EB387C9571E502E234F7721390D1820A5084429109306FF4BC6CAEB3EA8FA81664BF135AF7B372E06E3A1052CAF57488161F0A023AA6FC3DB70A35F77FAA498020F9AC0609587CC31A17E1C008CE6A2D764D8BCB32E0C02CD30611B95E69996A4F447C1F3D2D24F0080C6E21EA65EF87F376D8B0B36272DA35BFE75A64A5282F315DD8118A753578CB449FAC0738D3FA46780772A8BFC87567BEF5BE637BEE79CBD4020C43FE6BCC2E249D25EFCD127607C71F2D26278D7C42ACB51576BF1C1C9A6AE7CEBB34E8122EA5EA585D6E53BED9631AAB1198253F5F385787A103BFF8FAF89F82F9CBE8C44CA27178B872FEFD42C53E9B9B015E19D4CC8AE6C86CC7DCDC048BF894D64D646BA4956724F408A10748A0 - -38031FD1B9211946AC6BB9EB0140C7BD6A01FB50B0369A8411EF468AA83BFCD98C5DF2EBDCF5C53B9DB0DCFC58891A8129F302B08B674AAFF397E7AD23B3B24B05D8B510C76ED3A2078863DC463A10A8852590E2A3E342EBD678BA4D9307A3CEF6004B3FAC46FF67084DA2FFEFF324B814E305AFCD15E8FF963E5D490612C726F4819F42A6CA006E8D44ADCEA53C9077C67484AF04B5D459F09DA49F5E84286BB6089771751588CDD00EC02FF7A452BA9F7EF8C3B04960D5250321B6EF0DB73265ADC074D621C2B5C532AC73E3D88FCC91064C1BE0CEA9BD67C628324A57E9857A9ADBCC2B72ABDF47C2852AAFF5EF438197C1F83BC784F52A1E8BF0CA0E7B18728516786A87607F27A45C718C15671B2FAB1C12368ECAEE50F673E29C4398FB244FD7899F57051382DDCC4D454B11DC5B15CBBACF5D5F40BC233447920EE020B0F4ADC7EEA2D49C421045EFCA03D555BC49486360AE5CFAF431B9AEEE3F47A6899F90B6D94BC5E2E0A8910A72567FA88712C0E0D89AACE43A568FD0BA92A47D5E14EF97DC14D5237F992D13B2FFF6B9BC2FC9A87BE0C8DA3C720F9EF3963E8710AE5063C956F6484A34D170EF49A911903AE6C7A154D5939D544A627C2BB4B5FA3158A672E6118CCE3195E21A22428572A9BAC14B3312A323B08C1232108622986779515E792B2E6DBA8E39C7BAAB42A8F41989F24C1EAFAFA359FF5F3BC30EA97C12FF0D1E704659726ABAC587EE77CF94F7D6554372F34C2D6A5F8AF4AD53A2590E1C28FEE267B05ACF90576562E3784C783D6B4F0EF667D126442984E64312E64F108F00B01BA03CA62CB87DBF29976F93E9F2DFF40AEC9416FE0CE4475709352A3F4298B154FD0AE292988371B2086ABB48CBE734B598926825236A3DA944748C665D63CC3D3CF7C975E08590B57C51004BAAFD9678A65D22CBD638BE502C82B53ADD6976C4B1E209F82F58ED5D004B24A8BBE151053DFB0F9E6C98CFBCA0AD1CB7A17C7BB6242D22E088509F56E6A805A9099C889A4A1939E081E8BE1EC13690B033F68AB0E5731D8E0EB785778D64399FE37C1218767D2E756790F532EFF5B1CB7611F13A9A067AA0C3E76D05D7BAF0DD4829C8C93C2A17241812C31BB790CC845A258EADDC12B079AD3E2264BD106971C6448F3539B0D72F34FCF9D269B071ADFDF9DAC9D2841B7223F85034DE74EC9D8DD9F0E99930D2665644E67B5AD9FAFEC2141A82406975528C03812C839D1012277AB0263D64BFAA22D3BA1B1B37A20219055A128AECDF42714980E5C4ACC6DEB1B61FCFA5334F2FB93C4077117B4342DC7B9DBA81CB25CEF05F8A78D8BECF40C3FBAA5E96D6E3FF3029E5EAF385BAE6D3C8924D4C6AC271CA7DEB1BB9843F08CC70F8A3446FFB25C777FCDFFD51146EC7206055ED335470891E28039D22D80248C1CC068440DAC68501E321 - -1875213C90FA4FAB72816F38A3C67EC0C1143656B73FA0BEB57E93DA01F5C81CB51E94EB5D159782CEEFB887CC8FAE496FBE5F157CF26FBEAB9B456519E765A0BBA3FBA0BC4652AE4F1133369FCF43C41E7D322ED40D6B85B163384D378F638AC24157A1CD94D9EBB27AFC7F3B160CCA8582BA8F58058138A8B927DF75CD5A1285217A00F0EA0BD2FDDAD1E9C18A4F6096A3331B61B5D2604609522514E896436E09BDCF428CF9480DAA8A61F0CFD79217B1B9CA947D66BBECAC038E2EAA440DDC205F486F9836D409ECFD4FEBFBCBEF5471F88CF02E535F97C4064A5CB8DBBEA0766207B7B269D00F0E84ACBB9747D6FBC9CD26EDF4CFA90D0F9AC2D63935D0442E5C36C46782034B5D8FD22DE18C6AECBCF67FE2967B9548DC46B29818AC19713B002EA164763728E27822CAF41E5F24BDF8E68DE0D68E7340B9F3D7BF21E7BD8A569C3795CF948B72A04A38C89EA48F76FCB949B52D222E78BE5CC5AD7004A1C8C7539F3E1A4652666D1EF8A2359C357D968995C5C3204432A5D28ED7B7EA866F607A0CAB023C46A9AD38162C59C18B999F60590829ABBB89575859B15C31EBEE3E4A71AFAD82A9998562045E45BC3931F8F74BDABBBF0A344CC62BF0090424DC5A11BE3EDCA3E0086F8CE066EA62892A47EE6E288E13FAFA8CAA8855A4C1550D0055B19E0733CA514EED23A8DD0AA87E3AE25142051B3AE7847BBC2917FAEA142F3B213AA0801D55F9A21E14A29B0F079E7832E48AAC59094381C11377B8B4C61705B6D5A1E7B1E68467ECBB68E57CB243534B71B29B12B58DF59D7A82A3C1295D5DC0099B34C48C24B08D35AC48F7E260E6C8E49776C857BE7A28A16F2B6EE9D0911BE3CF945389D994A220AF601CA3B9B07FA0ECAFF22BFE085043C394C8ED4C1CBB45318EE254C503354EB85BEB6BC136DBAA42FA749C2BB7E972E5A42F6C181A4F21F70C40FE569A6BA6FCBA46A86375F0452D35A5830793ABAE86131C8E11F72D9117551DD699268A10AD03FBAE8CBC08F47F9B1496D6947D993E97D67C9B822337FADAE44D4764BA0AF1A481B44E79CC6D08A5A1EFDCC4E55442FC5F1A2E6F7C5C486AB7E888283DB2D0940DF1798D35A5BEBAE7C787D36028E51231A9AE97FA7F365C01B8574B7F5C5AD5638071541B9C1C01BB8C68550D72EB9BD80AF2D6DB6F05BDA68253DDC362E77EC76772AFC2096C44A8895526B280760FE2B80DE5F3CAD4C83258873A0025295AAA78413DE80AB417E339EC5EB4FDDC8B76769E68AE6440EEE2D3B5FF33A45F06A39D31625CD095A4E5266CE90FAA6DCD9A1558B583303FC7EC28FDFF028836AFADF1C8ADDDB1249086065A1FFD53E7579FFB19DA476EE830C9180ADF8FD6EF34CA3163E663C337841E5EBF5FA6E0519D1BBEF261638D63A0232AC962DE149DEDD42D99498C00C44C61EEA602F063E83A - -58F04526DE10DBAD3DCAAD798F129B73066295C09D46652734EFB9 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/VZORSV+Courier cguidfix -/F1.1/VZORSV+Courier renmfont -%RBIBeginFontSubset: HQQBJV+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /HQQBJV+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /W put - -dup 34 /e put - -dup 35 /space put - -dup 36 /n put - -dup 37 /o put - -dup 38 /w put - -dup 39 /h put - -dup 40 /a put - -dup 41 /v put - -dup 42 /r put - -dup 43 /f put - -dup 44 /c put - -dup 45 /t put - -dup 46 /l put - -dup 47 /i put - -dup 48 /s put - -dup 49 /R put - -dup 50 /C put - -dup 51 /g put - -dup 52 /b put - -dup 53 /j put - -dup 54 /period put - -dup 55 /u put - -dup 56 /y put - -dup 57 /p put - -dup 58 /q put - -dup 59 /d put - -dup 60 /m put - -dup 61 /comma put - -dup 62 /S put - -dup 63 /colon put - -dup 64 /M put - -dup 65 /O put - -dup 66 /x put - -dup 67 /quotesingle put - -dup 68 /T put - -dup 69 /k put - -dup 70 /B put - -dup 71 /L put - -dup 72 /A put - -dup 73 /F put - -dup 74 /H put - -dup 75 /E put - -dup 76 /hyphen put - -dup 77 /z put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94D956C8CACDD228A0D45D434473E147547351FE977748F063306733657F5D29F2EF0252802437A1D4DEFB84866639A8BFF98B3ABB35F5E8FC327A0292C10EEA18D41127C0DF961126C3D00DF6A628A4C8E125AE167DB08659F199DDF3FD785F449B9A0ABB3A77995D5BFD384BCD8BFF18F7507F1DDFC5E7DEA6A08B21C2A2E576801D099F7561B43F50AF21A0D921C07DC466D413451FEC4D74B6E03A09971FADF3E6BB0C3A7ECACD2E887CB8C244B3A29215549E0A355740B7C24975E6C9648A838CBC41F76340AA110D73371B8D20F187D26AFAE5A63AE55AB814273981FBF8750A7C77624B1953A814FA9C9B16324AC75D7A203C039C138BF21AA3163ADCFBE844FEFB6440E3C3433B990B62EC9A113418D082D1F7E84EAB1FE1CC5C415C3D23700B000DA06AD95190A992171643702D4BA653D5AA96C26F0D49141181B200ACB0D80BAF1AD98B1119809ECE0EDF2256FFCA82DE358E8CC60881826A58FC789CA9AA85016796D3DBCCA0F253108F3909F2CDEC5B9F6EC948663295F51E25D4E72206E494A4E42E6E516E1FBF31AB9CEC942A1A18BB95BCB03D9850D414BE89B23B8E34291764EDDDF3FB342294477CD4116307655018D6B907EB5394AEF72E4F2F424A81B8BDF1EF7A9D3D784C8A6B892C4012296654B2E4F82731B45F477A47C953778EC43E51071462C720004F50BB3F88B490BD4FF3AC365D41F26701A8075D0AA056D6F541ECCAE98E6950EB93CEC57CFF58CA4E3876A055E955D54ECC - -AD1D4646BE89414612235100A87FA6587DB05A4D76EF3B94E3E7571BCB6D4D5DD6E58F0872EEA2E7BDFDCA19A504EF96E863DBEC2C834A5C53FEF21844C8F3D93B4A7888B41B3017B04F34929C61E3F5076F09E27FD6372247A0840F726A894FACBD8307990ADC4F00426002023265F8AF6C118DAE31F009694DF2CEC15BFFFD1600B87ABD5340E2E9563BCFC7D52DD0CA838509384C06C0CAC86B7D70483E84D88F8735EBBD14FF7BDC6597F4E8993380618A78BE2C5029E22B8EBE049EE056234A4099B61DECA90732D9D000628428A49E37AFF3E84B67A9B27E48DBB11018F48D4181C5FAA2424C50F3D8864E54F6DBCE5592543C989EF78B0906E04500CDEF5985CC6CE9332B3B1AF64633E78DC232472AAF6FB4241629E28664E27B92C27FDCFF53763A0BD65E34AD9B7016B96148B81A761476C4CD3D2DCA2982B12181A12CE1ABD2B5DD4EDA5E95D6BB2F14DD6140FD0C97D0332C97500850874122891C6D696FFB26F754F2A752A095F10457EEA9456F5D10076A53BE5403A48C64D5A23F1242E0A3B9C759B1A291117EC14E22F61D36DC1269AE3D6A7435FE90BA953BB63DE00F646C88CDA61D7F9FD55DF635523A4A99366C714EC7ACFAA7112D0E549BD2B512D96809F90C48E1340B3909708A766559C829F87E6462C38D3F7C6E98FCD8589065937B60AAFA4E09007A6E73FCE7E75B07F0D3A96E74386B2209BA6CB01340DF333B6977908EA62A9C758078F2C2B36DE8DC9A286C4E76A6DA78A5B540CFBEC82C92D128D6EA0719427A54521DAFE8890DA4FCC82FF9C3165416CD4CB619874ADE66916329986B6088ACE77D25F0071D927A019BD97B86564DA698D5C1C99C93600AF5F99EBE26DD6EB86EBAD742EEB0F6E2A717DE6E690627AEB2A5A92EB11BBAA13F968BE7C3D3D40E216ED471EF22F87D9BDFD55C586C52F9EF83E138F546D4F8673E32CBE4F1E52645FCA1818C663F48CA8CAFC410EFEF112F1B85D7A106AC668F412595FECAD50CB8C7B0F39D4901831F1D4E0B4429030B1107693BC787ED559E39B00EFE3DDD68978EF8355C1D116A5A9E6D24641B933791522F2873A114AA49124D8C1F88E37C2260CA697FFDEDB1DC4C916DA44232E251C3A26C5AB4AF8A99ECE14583FEF758F5F7776CB65D6E087D3B480D8D2C77F0E1ABC2AA61D98FFD71B60C47F1F7759DDE960FEB0E46B0E3DC7E593951C3C28FD7130048B4B39F3D05FBD8BA03FF371491E53B6BBAAB23E21D500FA484053AD23E4BCD14759C73B523221C782CE0EE982FE6DF4A25C83B4BC6060BBF838FF76DEF1FD58FEA91ED052094D78EDF84D1328043573002A4437F7225955AD89BEAC2B83184A547C87CEAEB655B1EBFCDAD690FCE0CFBB0050188D97FF72117D862BDACE3C937D161D0D5E08BF178F174915DBC1C33AD961BCD7584B3EC8169C158D5C3 - -A3392C6DB4B2D1E7EB98BF06741EB8663BAC95EB5FB2CE8000BEE642406EB9410A1EA15E107909AC42BE9B70943CE48637AC1741C22F6FBC2311308356AD231013575496AD6ED9D4B964462DA3ED466BBE18B83DC2A2AEFEDA04C588145A41360204C14DFFD1FEBF5B0248A306AE31954F3B16D3CDF49E1CCE80D007C0EB701AD7D35E9CD98CC9C06DDD189E28422520BD807A5BEE397CDD44104B0CD4FBF23C56BBC428407192BB030E85FB77F72F1800D2024BDE3BECA6EFC718F80B350F8FF95D4B1AC7828D6298A2353C4D079E5242D271BCB2A28E08D00FE6611D2276C802E2B1BE4B4C1C6880BDE49EF28EFA7996E1B3B31BF4123867B5E98669DD9C2327577499F8B3900BAEB2C21CFEAA08AC3CDCDE04AB97FF77D01585007D8BD4F9D74141B8657EF43CBAAF31E455B3C1DB9F524359C76E3D6746BFEC5B0AAD34A5AE05D740C068064D647F2F885BA607C3251F15A282FBA0800CFE8E92E1E7F96898233F79DE2496078585E21280EBC5B8FD4FDC15E1563BB348F56BFECDEF77F866CE74F023EEC0E3CD7B3C3377C636041BB33FD480FA6290CA8C018E5387850676AECA6E7A51BF423321B8AD7631148A1540047B2E99AA7BE12DC2E5C623987876C3FC6C056CAEFA331AF44F061D29D97AF2EBAC4BCBFA1A22EC92F98FD316281EA8812FD43BB4428157034D35E7F5A6A4F2624514286C631AB5DFDB8F465F7EB422FFFF46CED79FFAB2D43DF7D4A7A368B0B92788A11755B067FC6766FB76E21C9F0CFA9A14138607068BD4B2DA2047C623C4D1F4F01B15779CDAC3BB4A1C073E622EFEDC6710DBF20C0791EC1DCC2177B769DB15C6D4DDCF326A68ED5CA71EE6E20AF7B76B31A40C5C2475B9C837C94FC7102B35065B5619BFDE7149AC5861947A3518B5ADBA6F27F0C372F7C4354943F79B11419B6779417341D3D226A97690490C462F95BD6B8D27F479EDBD3E9F58EE39945F573FFB8EB504AA39CFD7AFD0F409AF3DC00303F013B83C7F0DBA8A51AF519EA35C7D53F9538B4CA9A379DEDB00B1CD360986B31E0F96821A59A69DFACD5D71631B8DE16C7C4FEBE6AB5A4ADB1A618E2D9AC4763AB8D79B103A43AE95C3EEE3D0A84200BBBAE5578C78F577E0348373B297EB39BF567F665F7F6A088678B9B74A42797B7642CB897E025806EFD44B5BA6068998A9460B918C066343D7D687F0507040776CFAAD0A0C87F197D1970F9E6FF45AE1FFEF30D3C718FA0151334C3950154C73F8B05A54DA93D00215EFA686D7617E8155C5EECC9858DF9E48FB89FEEAF4CD55458A08239EA13F49362C4F794C622D64898C4C8D93E8F60663C964811CCDCD9A230080B2A7FC50CD8DF6F34914C67CBD7DBE928F3134DC5A43B7A6DC507556A8098F83D0500070B52A0FCD30AC60E2D5BA94D9A37717E2550DE0FC23AD64E19E45E8B05583F9A7A3 - -3022799ECFEEA007988954B51324C5A6892260AEA82068B76D78726B600CFD6AF67952BC4C3F8EB9C2304181C77DE5781DE02E3F3143CC7991FF2988A4D2308DB7A136C0E246EED0061460A8733A772201FD1762ABC70637E1118A3BFC1AB914F2A1FE6DDE66CE354B93524CC99128E4EB88F0C30C41E34FB3ED6C19670B62E449DDA2CEA77C4F0BECD1478EFCA2140EA4D23B7466F58957CC4894F3F0C1451377A07E06ADB481F0DAE37D2AEFE8AD2A2FBD0A1B3335DC1BFB170F106CADCA22468ED8C632857B0C8B564202594AA17CF74CCB36C60A6CA02BF1876A14585D0726AE30A2B746B99665714613762500E1C04AED3B14DD493CC9568195C7E81A4A45ED6FFF5B47BC0ABDC8481DA79216F0C085C563576F89391794F022C8E4A5947BCB8F251CA681595F547ADA05B6ACE0A7BD89EA5D4A4E38BBFBF24E18149A6A3DF045941244786692556BDE189CBABEB007330F267EC8B8CC67FC7B15BDD51997801B0CF267906749DE1F60DD592C6775DDF13F61E54C79A6CF36178AA3C898D5C1A39D6230F430E8AB4F8256FD4F848CF30434579CC1D922C7F5348A56C0378B7A928A549B0E31A98530C30D3A79682E66FD99ADEADFEAE4C093E2443F770AB0289CDD437AE11C1659FF83A290BA06BDAD2EE7EA7FE74B3F8FCA9C8DBB7DA6BE72BC747A94E5E7EE9C661E7B71407F89643F0E5328C10CFA27E6A279FEF522CBF01899D5825FCA043D1462D16A75DE2564F37D943145184D25E8413B0DE6111B53FFDB403E5240B924E4C1290621C3A71D5B931C690BED8FA14F4DE4CD612D2C8454E83A9EEB31EC3AC47E761E2ECC27558A2FE2C41FF9C679DCC6042767979073A7534F3EF665F8DFAFE37D0A206E8593A37D1AEE2E4E0999E2D6F36D61DF982CF936B7F37FD22979C72BA683C5855FD73F5A59ECD50AC78499F74DDA38E63F8F32C024EDA84B8C89E2EDDAF9D8F44151F92BF904154A29D2472D59523698FF82F1F3EDB385981FAC803BEB6C18649FEF3656CAFBA24CCADE2698F1B9B990DCBC484A036D4BE8DC2DC2758245251551234AB5A350EA24438214B02249871819E3410D1B1BA4C4D0B97F1B69984B1C1EDEFA35E501539533C79E9159DCDD8354CB6E2B89C7743DF217DB0A352CA7F1B4296B18D12C3F269FA22EA6B1A6A8ABF13C162725557FB262A996B22945708CAA4C600977D5F84A8572B3EBDA9879A87FB893B6F186624F649D50CD9F5411B73547DED7F63E5B18F34A4B84E91EADE1CA713511BC0922EE119FCD42307258D5CDA5C22173B37B79A73F85CDDA49589174C1199AEF41AAAFA31DC57796A4712FCE06184D90CED58B6FD6F3280431579E349ABDD035C0092E1BDBFB11E8E1E86BFB0BCA67311DE8D899853B7D93B48E8CAFE9D435A00FBEED84F0152688E0ADFC1137B1F5EBDC313778466B9DF629E3AC - -2A86B8841E3617FB2E384957864E566E59DC642C56C54A37332D01944ED08952DF8A5088D05EF8AC0CBB1EF28B476426C2CCDF1F00937DB678CA2DEFBE50DD19095E3AB89EFB2C226E4B731689EB3F2DD2810B85C881CF2DD10A9D059FD0CFDBC63F5A0A4A7B211C7424A3689027E441352F3BF805187EA702FB722A4249B3CE97F6B7D13B6046D8A95FD54E0397BBB6D78AA296019003FD5739B3FA80B4AE24B7D2F5ECA362E8EA1386D581D838083346B65EABA59699E1CD01298DA5789924A91655ACC9AA479BAAAE976122081AD2C5120F159583FE01FD58E5831D1540C1C27B7778ED7439FD6967F79EC9556D97956EB691F82E2D9F1F262D78D8CF845F6F26BFD4D1C1A8614250B89C9F7834B49FC556ED4ADECC3BDE04A3158A42FE24E7FC59AEDB602AA4C80E1E22909CB0379C293B742E91CC585406450E1E2B192B4AC95AD389EEEA909E7CBF7229A47334FFBA82CCE671F6F47ECDDB944C962CC30B3492732411551824080107029FB08AB61A9ED796F2EC83679243E433FBDA4214FB8186D4A3AE3BC43E55666BEE9057699F0B7FC5EC3C9DB8B6A260B9A7A68E393B283D1EF1405938998A923086F7F36EB8CBF43A9BAB8A8111496814AFE25837624FAD2EB73D81EF03B4FEC16706ADE577C40BA61E06A0274D6B36B0C2E26F2C174A34E801E618A5AAE9A9A4E62603B6396C51F4B6646F4FF8B86B96C408947BE9DE16F75B7B190FD91A7867888DD975691765F55E60C06047A545C5AD163C2DF96D19E65C71FCB82C26E948E3AEDAB2AA3553FB69122CF8CC5EF61498210B5034556FA1C3EC63EB9DC098BF1A9AC14A1FADDC1F875A20157BB67CA63D6E9D8D0DC7B736B15F6E16BE51E4B20344EE6B9484EE646001011F0C53E4324E74A9444F5DE530FDF435160341BD5C79FCC6D2DDC99B66BE678A1E889C8EF595F21F29195E2D50830BF93DBA2BFC6601364C477B87BD1BDF864595C60ADB55B7CF2410256E4C786B4CBC2A6B78A36D44B8C155E1B0F23DC7C92B3403552E6C1E40C59C5F0CD6AD6DA5F45BC5626083A2E631E6179DA4DA3275DF94E4C17E2120AA04BC6BE1976180B26572AA083AF77F0611FFE04A3F3FF0A89E8DAF205E073BAA7913DDAFB3246A4491045E5D9BDAFB2CE7024F70782B7805618FF3BE5704582902CC948AA2FB3892E076DCC8F3ECC01EC579998015E7D3E68DCD6A43595D93FBC2FD795459DA092C9CBF619E7074F3A9375B199529C61DD7F475013163EEB3AEA6169BC0F286077803C765D67BD564A53510A23573A7B481140330624E5102B91F88180446C30146C76DB5CB0FABAB162BAB13F22F841AA40792183854B9335CF6305B1A0B6E95CA47745C8C2566B0FF077D4BD8ADE7CC78B7EF50F54E918EC361E4E1F6A35CE4736257243FB978A8F11A8F225C51AB7F456C9614F0A923DA8F45 - -75684463B101DD366C094DC6866D703D4991F6D8A8F7C4AD294D3A1A65B03AE3CC0C686FCBF1394E31ED9AF004FD127DC32C469FD4EFE77AD64B30AE4BB5B81458CB1D0C9E496B09A74DD2B8BA0A1C59C51C5C26D0395A58B4338FE9FAE4178F7CABA7819D2F7051A17116A70566E3E0B7A461BCCD3F2331E3E8581822ACC70CBE82CEAA7768098D7F0AE355A426B5417DEEE984F7681054CF62C0FF6FCDD58F68153F78E7445D74DFF702EF8F18E86F27135EF5FAB69C5CB2FF5D4EAD9345AA6E60DA923B5A53E5DC1584CD932F77457F3FAAE8B2A06E89B9423279370771DA59490E981EDCDED1FB2FAC7C2EC61E32382D1F48FE076023E5C87E0E6FEBEB48C27EBC69644CDC8D44748904C1650CDAD14D7824BABF5823657162FFBAE5242813102D0B7F1595D056651E0B8AFDAA5F21B8BF6D1BEC6137F92E548172E0B7C69F20659E33C91AED2FF90D4EBE165CE764BFCDFFF76101CE2AF3710D3A3915981AF9CC5AD73BCFFFDB2AD027225729E95707B0594AA2562C7162647FFC69FD06DD3B634CD87FD277947EE8ACFB383844C8DD0EC43FE3F5F7417AF30B039703C3D30F2D806EA76B8A496567DE2FAA8FB1E9DD6F1D0246AC2F5352E99288D72B80AA12465E6035B0C55A9618C95181B0749A099AB26D08A15E93C0387E27064FD078AFD50AC356AFF9842EE598C7E41DB3E1FA9B62DC84C682E0FD2F129BBDD0E08BED8F98C154CA7417C64D39DA0433069421B4AE8D5A82F25A5F1F5A2925EFA326C1B866AE9109B6889B044E0F35448AC457F7C138E926819516D1CADE64595B64287A7DA3096CCE6DB42D775571B985E98A7C9E09E46A887C3B5A50E69AE2BA46434567EFCDFF749A5E68A68837768953BC76AB4EB76E3A0E78D7CA650FCC704B81613E61EF8F050D810EBC82ECE7B057254C9EB56187D107251EDC1B8D0FEEED7DC04EF40B7EE2D031C764EE2DBA3A9D93A1917E96FA0084D99D992FE058C69642BDF459E5708B3EF14825EAEF59FD258159127C2636824D8294817858C032FA8B36A34E5885B9000319A60646E6162C726F14CE7CAA281C36ABBEFDC98BB73CFE8181EB4777A349DAC727CB0EB3083F79FBF97D62216F150E64FA5ACBA10C2D8D561093D26A3E4DE297F5D1C45456CB5E0FFD9A09F93E722E0E349B4162266FA70A05693DF3203935F821C50DBCBA6402EAD554DA3EA2E755970381DDDE7FFAD612E0C5D571DB4E029E36702B6F418AE8AA690E8B2A1FFFDFBBE9D358BF2C95A50F8ECAF423D6E2FDFFB9341C0B764F7CD31B14F317DDBD546CB68C34274FAB41A8DD64A778FFD1B95B5829E9BC77A9BDB8D9E76F934402794E0D04B0043AC97711CAB064 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/HQQBJV+Helvetica cguidfix -/F2.1/HQQBJV+Helvetica renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 253 m -(!"#$%&'\(\)*+#,#$%-&'./0*.\(12--13&'\(\)*+4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 354 m -(!"#$%&#'\(\)"#\(#*"+"*"$,"#-%#\(#./0-#%+#1\(&2%$-/3#%45",-06##1\(&2%$-/3#%45",-0#\(*"#\(,-7\(..8#)[ 38.704006 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 ] xS -1663 354 m -(4/%9"*.#0":7"$,"#%45",-0#\($;)[ 22.837000 9.143001 22.837000 22.837000 22.837000 13.694001 9.143001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 ] xS -48 404 m -(-'/0#<"\($0#-'"8#,\($#4"#70";#-%#*"-*/"\)"#\(..#0%*-0#%+#70"+7.#/$+%*<\(-/%$=)[ 11.398002 22.837000 9.143001 20.500002 11.398002 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 20.500002 22.837000 13.694001 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -48 504 m -(>\(8#&"#&\($-#-%#3"-#-'"#0":7"$,"#%+#"\(,'#,%$-/3?)[ 27.347002 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 595 m -(5&6.2%7#!"#$%&'\(\)*#89$%&'\(\)*+:#;)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 641 m -(##!"#$-.'*\(7#,#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -441 641 m -(%&'\(\)*/0-.'*\(74)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 687 m -(##!"#$\)<#####,#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -441 687 m -(%&'\(\)*/0\)<4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 779 m -(##=#>7.#+.?@.'%.#&5#2#%&'\(\)*#\)+#&A\(2\)'.<#.2+\)-"B)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 871 m -(##C6\)'\(#$%&'\(\)*/0+.?#D#EF'E4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 963 m -(#=#G.#%2'#*.\(#2#+@A+\(6\)'*#&5#\(7\)+#+.?@.'%.#\(&&B)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1055 m -(#C6\)'\(#$%&'\(\)*/0+@A+.?8HIHJJ:#D#EF'E4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1147 m -(##=#K5#L.#L2'\(#\(&#L6\)\(.#\(7.#+.?@.'%.#\(#5\)-.#L.#@+.#A\)&C.6-#2*2\)')[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1193 m -(##=#8M&\(.B#\)5#L.#26.#%6.2\(\)'*#2#'.L#&AN.%\(#L.#'..<#\(&#\)'%-@<.)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1239 m -(##=#2#@+.#O\)&BBP.?KQ#-\)'.#2\(#\(7.#+\(26\(#&5#&@6#5\)-.)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1331 m -(##@+.#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1331 m -(O\)&BBP.?KQ4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1423 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1423 m -(+.?\)&#,#'.L#O\)&BBP.?KQ8/57#####,0#FRP>SQT>I)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1469 m -(############################/5&6!2\(##,0#U52+\(2U:4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1561 m -(##$+.?\)&/0L6\)\(.1+.?8$%&'\(\)*:4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1653 m -(V)s -/F2.1[ 41 0 0 -41 0 0]sf -48 1757 m -(@\($8#+"\(-7*"0#,\($#4"#%4-\(/$";#+*%<#\(#1\(&2%$-/36##A$"#0"-#%+#+"\(-7*"0#-'\(-#&/..#9*%\)"#"B-*"<".8#70"+7.#/+#8%7C*"#3%/$3#-%)[ 34.194004 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 13.694001 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 7.831001 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 1807 m -(;%#\($8#\($\(.80/0#%$#-'"<#\(*"#-'"#*"9"\(-#+"\(-7*"06##D'"0"#,\($#4"#70";#-%#<\(0E#-'"#0":7"$,"#*"\(;8#+%*=#0\(8=#\(#FGH>D)[ 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 34.194004 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 ] xS -48 1857 m -(0"\(*,'6##I%*#"B\(<9."?)[ 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1952 m -(!"#$!2+W.<+.?#,#$%&'\(\)*/0*.\(16.C.2\(!2+W.<1+.?4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2053 m -(J"$,"=#K$0K@FG#9*%\)/;"0#8%7#&/-'#\(#'\($;8#,\(..#-%#%4-\(/$#*"9"\(-L<\(0E";#0":7"$,"#&/-'%7-#8%7#'\(\)/$3#-%#*"*7$)[ 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 34.194004 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 13.694001 22.837000 22.837000 ] xS -48 2103 m -(1"9"\(-@\(0E"*6)[ 29.643002 22.837000 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 20.500002 22.837000 13.694001 11.398002 ] xS -48 2203 m -(A+#,%7*0"=#3/\)"$#\(#&'%."#3"$%<"#0":7"$,"#-%#9.\(8#&/-'=#8%7#\(*"#'\(*;.8#3%/$3#-%#4"#,%$-"$-#&/-'#.%%E/$3#\(-#570-#%$")[ 31.898003 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 29.643002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -48 2253 m -(,.%$"6##J"$,"=#-%#;%#3"$%<"#0/M";#\($\(.80"0#8%7#&/..#9*%4\(4.8#&\($-#-%#*"-*/"\)"#\(..#-'"#,.%$"0#+*%<#-'"#;\(-\(4\(0"6##F"+%*")[ 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 2303 m -(3%/$3#+7*-'"*#/-#/0#4"0-#-%#9%/$-#%7-#-'\(-#7$."00#8%7#'\(\)"#\($#%\)"*L*/;/$3#*"\(0%$#-%#&%*E#%$#\(#,.%$"L48L,.%$"#4\(0/0=#-'/0#E/$;)[ 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 13.694001 13.694001 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 13.694001 22.837000 20.500002 13.694001 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 9.143001 22.837000 22.837000 ] xS -48 2353 m -(%+#\($\(.80/0#</3'-#4"#<%*"#"\(0/.8#;%$"#70/$3#>./,"0=#&'/,'#\(*"#-'"#0745",-#%+#-'"#$"B-#0",-/%$6##J%&"\)"*=#/+#8%7#$"";)[ 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 34.194004 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 ] xS -48 2403 m -(,.%$"0=#8%7#,\($#*"-*/"\)"#-'"<#/$#-'"#+%..%&/$3#&\(86)[ 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2498 m -(!"#$%-&'.+#,#$%-&'.12<2C\(&6/0)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -761 2498 m -(5.\(%712--4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2599 m -(A$,"#-'/0#./0-#%+#,.%$"0#'\(0#4""$#%4-\(/$";#8%7#,\($#0"-#\(4%7-#3"--/$3#70"+7.#-'/$306)[ 31.898003 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2695 m -(5&6.2%7#!"#$%-&'.#89$%-&'.+:#;)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2741 m -(###!"#$%&'\(\)*+#,#$%-&'./0*.\(12--13&'\(\)*+4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2787 m -(###5&6.2%7#!"#$%&'\(\)*#89$%&'\(\)*+:#;)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2833 m -(######!"#$+.?@.'%.#,#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -590 2833 m -(%&'\(\)*/0+.?8:4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2879 m -(######C6\)'\(#$+.?@.'%.#D#EF'E4)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2925 m -(###V)[ 24.641003 24.641003 24.641003 24.641003 ] xS -48 2971 m -(V)s -/F2.1[ 41 0 0 -41 0 0]sf -97 2971 m -(##)[ 11.398002 11.398002 ] xS -ep -end - -%%Page: 9 9 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: JTYJCN+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /JTYJCN+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /N put - -dup 34 /o put - -dup 35 /t put - -dup 36 /i put - -dup 37 /c put - -dup 38 /e put - -dup 39 /space put - -dup 40 /h put - -dup 41 /a put - -dup 42 /b put - -dup 43 /v put - -dup 44 /s put - -dup 45 /r put - -dup 46 /p put - -dup 47 /l put - -dup 48 /w put - -dup 49 /y put - -dup 50 /u put - -dup 51 /n put - -dup 52 /g put - -dup 53 /m put - -dup 54 /q put - -dup 55 /comma put - -dup 56 /period put - -dup 57 /U put - -dup 58 /k put - -dup 59 /d put - -dup 60 /f put - -dup 61 /S put - -dup 62 /hyphen put - -dup 63 /j put - -dup 64 /x put - -dup 65 /one put - -dup 66 /C put - -dup 67 /H put - -dup 68 /question put - -dup 69 /parenleft put - -dup 70 /colon put - -dup 71 /M put - -dup 72 /z put - -dup 73 /parenright put - -dup 74 /two put - -dup 75 /W put - -dup 76 /zero put - -dup 77 /semicolon put - -dup 78 /three put - -dup 79 /P put - -dup 80 /I put - -dup 81 /E put - -dup 82 /B put - -dup 83 /L put - -dup 84 /A put - -dup 85 /T put - -dup 86 /dollar put - -dup 87 /J put - -dup 88 /F put - -dup 89 /G put - -dup 90 /five put - -dup 91 /quotesingle put - -dup 92 /Y put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BD3611493FAC70DE6E0E23EB0DE8507A96255FBF1F30C830FE459C289585A57F93EB1F0DB008D0C90C4138004AEC236F74841EE052052303961AD4E6D736C2E7944B0A4EB009726DD80D284F71A0A8A042B6250B4B23B9D971D6F2397CC6E781C066C594130A91CD827E4DA1C021638FEF6470F9FAF410285756127BD063A13F0A0CBBC242300EBFF9F343EF828ACD11760B506E5A89C1B74794392F55BA4490EF9D76A49EB5282C4CAA8861E2F08FA6650A069565EB4B9ACC734E25FBA076F2FCC1BD08A4875DD220873E08434D5E882D6968AD2E9A7350BA63FA8E814E45D4A092964347B83E3FED4CC6C0891C9785345D9CE20DF8F03EB7128479F1DDFD5431EE02EA2479189EE84A3BB8E663B39D17ADEBAE19C74A3103D3364348C6500524716236C1F95084915ED501F27B00985393AE430F8BAD2BD69D98087E7359EF46A60C32A6F63F0397B6DAE68B76FC6D97E14E58ADD9AF53CAD89BBFAC07F4B209D72C82DDC9EAEC3530704250CDC0B56EE88D5BC9A9CF87EF47307C2AE9A148E017A8FFC62A38A30BE583A1E9D10D4B2F03862BC99AC9DA25173F42FD561AD1FB72EE06038D99BFC8B48D8F0BE9712E02ABC4A3DB647A419C7C66E1CE80BCF9798C4DC3604D7179EA11BDAAA486B493136F5CD17BEA6406347CECC9AE554F86EFFFD41B4DA833850E0C8D1366A25965FF6E317CEEE19AB3DCD435AA985A9D45040FC5E609905221FE7E50F565090D401EE03D0C8A162D54CEDE2AC9F666A46D - -C00E7BC8E53C6F15EB202D946FCD48F786F9346C8580A63915C07364A9DAFC98597FF80170B3D87086C042B6992944E1F23BB95883A3DA51E54AEB55B2B6B31083EC631CD216EFAD3A79C26E1A92035B7FD0A5AB589201964BBFF1F2752B48F35187778C7B15CB067D0F571E397669EE4CC852410619C918F0D166F15C5485CA44EEA371CB577D9C58F1FC6A71E3ADED9284D04C14E7372CD7FD51766887909652BDD03B089E112166FDE8077143EB9742E16263C1C1E8FD3154A41103186D7BCC6FFC321033B519F7946AD93D2D74E6FDB137F0F286B4872DD476D4F975FBAF0580566CB45A30DA72C69359D97D90871C9E698554097801038FFAEA484792C08084A37E169A10933DC2733BCE2D4DADB7FC2710FDDB87B7817B086A8C111BA26B393AF03158C82B4A7079495D34DB851E6BEE9FFA79192FF81EB8663BAC95C20A493B749139D2B94AC84E1922344B08406FF38AE22343AF71EF43FB19329E8FCDB2DE20FD2FDB508B95A5E1315B2A788604ABC7155B7DD2639097C307A40DD89177307A3F574A12E885E69A73C6F05CBE97D6C342EDCEF95CFDAA968B81A7C22750658682FEA0248DA581D8D51FB54775CF18B29C7188762C88EB62D75C4B841DA3B11DBCB845729F6D52B75D9AE50B5DFADA37A84648ACA838BDF9CBB2D78AAB5B5E185969CCA44B942B7CCDE011C1F2FDDDEA4CD8E9A7133E94D25D20757E8D2A0A9FE018C7925B7D5D18A0FC034D70DF9E4E956B45C83AAAC69DD185E2F253FFCF54239D50A4DFBF1FC6EBCD2FCD81D98BEE4A35F6ABB99E1F7D4AD645D30724A1814F7B772BD502D2281AF8447142443B5BE147E5CC16495906E5D86764C66CE118F3B976C1A5B32B4B3FF6F40D937B18ED64E39AF0CE00F00FD8E5AD6AED49371B89941236F90C70E292403F058D810DF41566BC1A7153A6455C3691842C4552181A07199CB6E60E5573A6C141C66567C0D801FECEC184F8C3794A8649D52847EDF06ADB17E333C481464DB56A1BF84B5DC725C54165028DA1BCD82C80980F102CAA528F8656B89C3DF1B947595FE326454ADD56F26B103527D73F08B8206D978C6BB3B0797349C56F0158505BA146A5F91A139FE32F47A92DFEF44C26F0E405657E29A707A01EBD1CD139C9293A762B81F59136FEFE7EDFDDD09242A995D2604E9991D249404950073AFFD05F7855ADB3F6E3DF87810385788B6739D3EC50E8524DBFC28A7738A3A72725B88417266766DFF47A6CFA4D34934388896B86735657CDA780DE5BB1FEE8871AD1ABC6EB992C743DF6E27EE0E66AC40F7A5699594CAD6C543031AC918D700BB4A6975B1ED7D439707829B6F7B84A78A58370521C0E10B14EDE5EE370B8E140E413AE05A0C3795658ED6C39AB669119A3801D77FE82C49C0C19E6FC4D5C07D51110B130C9846F63B12FB5CD5D762FF30A6661 - -038C9A6FD6F80ACBDD26C2D15A61A5F7D2B824ABF93434C96719901FB9001F3F5C64A2D1238F88F959C83D01A93251C368ED1B00C9C7FEBEACBB34DC0AD02FACC24F5DD47F14022F97F09FE0F6C1EC7E50A60CB030C097EA5993557269F0FB1405C57D1CEBEC02FFD3C995C0DD62AD7E816FCADCFD4E630276CC307364437C20BE8DC2BEC200615F26B3C7D23EEF0A0853F912D58E025EF356DFBB0B11F64380FC34A7C09D713662F3A0E5BF6C30C3D66A993AD248A49F6DDF182E10D8FC7A173B02F32E899D52328D6A05C549FA3E400B870CEA90E31DB8F982491620F0D411DE2B3262E3E9967208BC2D312B2CC4C65D22472DD003AF74D4FB2FE911DC1FE1E746EAEF9FDE8843270E5E3C7AA954F2E18788AFC491D85210798E4BFCB5D65D118A7C3267C883E8AF45AE1F1423DE1FB247C28E6F6347FF856443FD7DA7907A9D2B949C3706DCEA4FE5EAF3D0B29BA7851B2E87C73BAB660DC9813B985B72908BBF16C1FD4347AE926308EB98A1825995070AD408930ABA90F723DB2E8937F3D348A27E33F274A23C094B9E0738F53E575E195059FCE8FB4ECDBD07199085375FAA4FB1AB1579E3E078B8B07A1DA0722FC3E0FAA594179F0CC4A4B9936D1ED9AC5F76B08C53851C37659E33BA23E1DD61DA24A87F6533FE5CBB5E3B7949ACB0AF15E8044262BDA3025674558773AB535EA243B059EF5DB3B0CE2169D30FD32FA1F1F74B57CA80F66CC3D79E2B662136CBB40E77517D7D8A8F59B9C1020B1921BA07CBB511252442E58D875C063E83BCC67595D5F94D43FFF18BF0111D9F498D8719E9F0A15CA9532B020A5D332212CD6E9FD95997CA7F1E1EDEF168D35508F164A22A01DCE05FA8927F08916D0C41F2EC73079A7F0BA78A6F78D933FB80DBD7B3BDD7DDD33BD287B23135F12F093C974B205B9B8BAA9D9BE933ADE61C3E51A56821B7F22D7C4B308991A67155DE953F367BBA1CBFB4378E6ED5875AA3B1EA7FF1AB94F24D6CC030ABD5CA359CC25C5B1D3264C3EEC9F29A36F1924C351CF9767A2154B1997D77BFA33D94023C203D73F9704562241FB4D1DEA5331A600E2A4FF80083C3D81BA842877740D811A31C8DF8B811094C7A652734A942B3F539124EC94F8EA4AD28D2264901953A7032E2EB99A1B371F213AD71F018C7277AB5929E4984D184E653896575D2FADA9FC73E4EBDD69A7D589DDDB6D385CF43490C8B177ED0D0A6A4063F468541F1D7C0EAB4B452FA81D56AAF8395DCA1B85B3D5847220D67D60526C745F81623C417DBDF38D3ED638835F05E359D0BAEA1B33CBACBB94BDC7B2B72B4DAAC92FC162AA21B55871D23533DA1A54BC651E590176853FCED26F26BB6EAF3461B6A534F2C9E6A28AECAC7FA2172A70A714E7A06E9BFD306F1C9FBFE4FF5D58B615BC79E204EDE81B513139A29C4F0A98AC757AAB4EEF9CBFD - -1D6BEFDDA1548E46189CF416C5FCC573F3E57123E49B46DC5DB3CF5DD5D0A004D057AD0A95AC206508CD126293E4E5F44226D0391DFA2E2264B5894F0DC9C90DC5DFC95E42CB0B0FEFF9A38137179BF34E72BAF78B8C30406DD9C28041BC6FB0D1A55B38506FD38BBFB27211570E9237349F3DC74B0CA3AC582BB60A8A4B69201C7736B4CDBA1CA43DE41A383E31F104E8742F50719400AA2EFA265D605FAB35AA8266AF9726E8CF34C42B1A32AE0918BBAB84CFFD46058F7113A26F30B54DE7273631C80ECEFF710E0FDAC8C066D3AD08C9A396DFEAFCD1E88FC356B9E74830618944BD4DB753422D5969B640D502731B94411F2C1B3C98B720C2C53772C886E00D4A4DDA6576173E8A835BC980FA4DDF52E049B57AE6EF6BEAAB1B15CE20FB84FB21A218B973205CC8E346CEFF8E174A71A16808BAD9BC1E70562678857F3FD9F93B3967A1012417A13D09885A5525839B31422645E838403C0FE66DA21A1643F054EC835DA0F0A16D13A28CD176CA71692EDD6837C9F6F1088185B14FB105D6B7CBC1EB34D2C9868BB9643E85F616BE3F09488909EA8C9244DD32EA76FB6B96D747D1EF56578D070B09C6EB0B10CD2EB9016EE1A3419544BC239D03FE3D44142D1E971CFAEA18D5BE03EB301201842CA004640FD396F286F08ED238CA0E037C1551446308E32B257BA61C561CA46075334B5F7CD9348EADD8CE19915FE416DA3EE3072C15271C11A2DB509948DD3AE550DB46D4D8815C198B1B5B4B99D455300727A359DE5A305D72BF6473452F08BE9B98A2E4046C4A8B1F661AC883997A959E7DDA1951D68196E59689551C4D6F5259CB924F5C0F6D3145A136CEEA8BF26EA6DDB62839D5690CB8A40A00365BE3702ACD61B31B62FCFE2C596DCE8998B3205F1FE2660F1DB2D3EF887859E7F189BC92820012F57D4C479FB8EB56CA5ED0AFC22025FCA57F9C587AEE2812788FEC54B3D40264F8165BF20588A112C403D4426C68C48F8201C9B6E37B9566D75B82A7D85861E0AEEDE1F86397BD1E439DE09466D294767EE5FC5595548D623C447EB72622DBC0AE942FFE88771EECB36AE0D7186E2A17ACC87082DC577A0C4AC2D1B238F1B58D7347B139EA5F8A17DD2FE893BB59431C219E203CEA65A9B3FCAFB9E2148C5D0F110CEFD858025DE3DA5A250F460EE0CF8C3C63966B7A6BCD740496C75D2B34F5B3260F4531F3BC8B163AA8300455E76FCC68D1A7237994B8F4C527A3ED209299C898A5C7A38EF99B29B757F0DB3C71ADBA6B0B4300F27932EEF131CF671AADBCF40EF619B6D394C4090EAD43ABD0779129CC6388CFC66E2DA9F710D400FB9A27A33F4E96B0763B2B6CAB79A4F5D8AA457AE2FF0E6D14FE7B3DEA7E0010044BE86BB1694F613F2B562555DF0DCB6CB72C5F76CD000E499FAD7397D26977A5E6F00E9EDBE20582CD72C757C9 - -4A923FA4AAEC815AE88CA0D5FE58639B15131BE631C15CCAAB3F88C34F7217D380FCA17079EEC9D7FC8A020C75BF45827C9F4CA09340F552B91814013DF8D0879E5D2153F9AF82B6ADBD6E06D9497CDD40A29CC5444EE80DA75ED40855493507200B62859B28FADE0D47A2917FEDCAA4DB0D364FA41B751FEAF1C1BA6257982EF6A37E8CE7227CAF5BD6DAC19964559F59F65EAC7BAAE2AF6EBB62EE0721CF53AB52BA633B8344570063821BB34968416F8AF1586FE89812F2265B6AAAC212BF09C370E2C8D1085E4920BEAFDC8A1930D36658FF717275CE68D398DB65DCACC91DB4FCAA5A87E491BE452A690BF0BDAA153A7D544D182513CCC8E42B2676CDC1FA573F50C6A41D536801C4A5A18EBB8938E1F68EF68D9422F2A5D953DC23C1ADBEAA766A441D3A46ACD8611112F7FA8AFE3FE6424980EC7D213F775FAD02B6D0DCBD4C39DB54A74811BDE60006F4531EAEAC19B93E50ABAD7263D8B568366EFF7F7B06D0870C8D586D57A16553616557AC4371EACD3F7A0316A1E63F58B018789E38DEACA15A5725CFDF5A89F96486EEFCEB838B6FB043C8E3DF7AD502A418DD8196AEA2D86A9FEC14C9EF1B5CA8877CE780BBC3164548B60A63AF26958CE13E4464D31BFDA94B62B630A6910792440A6E7CD749A52D912E86320E49941925952EF1C1BB307A9745A4DCC1F9F242050068B7165B39D146B3D7F49908A849FD104410F68BB6928F5CDBD077E0076D92DA9801005E5EA3E305577A6EF32D2781BCE7EA2A44F22282FE57F071858BBA18FD987166B1E137C4E2C042671736339FBB3E82797AD4505FD865EBA2586568F7AB68DB3A0091C21692CF76869FE1CDA219846D392257F556C4897382530DD36E9F05A4B0684203492C8A447E8F499CF0316D2C965A43411D459A6CA6DB1A4E0D31DBE1D51789C152CCA5C5CB66E22CB9E1174CDC6293A1873719DB1A0DEF2388B9DA775D90F341B360D04930B0D077F4368A5E86FDC1D229E9CB1168FA4720089E992ED430909909C35DA0A42389A57A9A1AC883043DA20EB2810FC24C1905032655EE507E531E4DCDF86FEC9FF1B5909651449E761669297C0E1D4FB4C6BCE4595C2CCA91B6876028085F4C82CBB9BD0A83FFEB27157CDF28E254F2DEFA9AB89D8145CB928084F25C16F8589ADD259E8DD94E15F7E99D7C5C0CDA374CED2B2723BC625FC8A451BCB4BEDB4642AA242EA5B9FAE0AC14D1ADF5D45C5531C4D947FFC82B06146D307BC037AD1E66B04B3E6ACF80FB343C69013B9C205C43402E669C1ED4ABD06F9A653B2865544A5A15BEC4BA94908E75E39A65B2FD00B590B80E8D6D23BA8554D354D573ED010E23BC3B1406F3295777F01A023DB4F62237BBCCC21EF9AECFBD950EAE6B0F57C45EB56A63BCF1C82383E38F894FBE86A6C202CACA1E0E3336EE1869FECCCAE286B470151F - -C7B125867D8C47BA3AB4DD651FBA4891514F8F09D87F46993AD823BECFD478A0EF0AB3539B49B04A41E01D17E88003110115F98C88337744B3A4A88FEE6546F1D281BD306B9EA2296728E649EAE93DDBA37FE523FAABD95F2B337F20AB1984399BAE56A511814D6DB2F2FFB6542531C0BBEC44EE0E6F22947A2147130365A5922C848B0153D292FE8D899DD241F06E63DEFA184F4363C913EFDA9C8DCADD2CD7DFA0C6D1CF5344A3F2D5BBADFCD1A7953DE3756476F9AE76A214B469CB6BCF0BEB6E806C742C6C34CBC5852B31A99A54F050A810D87E3D5EE11FCED4C83B9E88385A2824D95F9358A882C0ED77534A6B00ACECBE15CFC89077B9632500FF541734E233399C2D94F6DE86EB83EE3F7027900246820FB821B0AFBDB30BA5F9660E66637D3938548CC4BDDD57DD99F399A82348ECEFBEA81E92ECF9F20E7D2A8F3AB88797E9C6C681DD6C7E38A3F9A6C8E15D66526A673040AAB4472C590AEB6BCA30D9D27172C2C259BF6F44751B3D13BAEFD42971C4373ED3C4F9F7CFEB081F4A1F045A7D61FE2D830B08A8405675C3921DE2FD1DB5396B406BBF6592B729AEB2CC8D731D2989200965C9F716C8E9B0FCEB5FB6A399C4420085BEFDBD77E47D871F59F2266AC2BEE045D09CDF101B7B5AC00388F7C233B0684FE7ECCCEA5CFDDFD058B99CE43E9971457AED2A9E457E06CF8F963E36D96696E6D825B9140408FE20893A261FD1697FC2186E6B9ADC5ED020E6C64DCBAB38C5D5D6FE764A0220E61AFD997BFCC46FDFE04CC5EF1C1B65AB183E9C6F2513E2EBA59A6ABADB7C2634490C253403D5F3E2E0AD516E7E30CC9F187F09042D920387A247307C446756B11DC9DE08656C939981C1F72357A5911BE89D5B162951E5E167105CCEEFB4961D55CB89E86AAE18D8E99832DB0BED37CBDC38770B8AE278C07607C45DC61A6E55F41D8DFDA902D7EB2C3066F12BF4CBFA1E005FA43F21FF8E74B18C03B51B1379C0E9789D071771E21CDE734D36936FDA3A4F3CA044CA847059DD724D5880AE3137FEBE6A5E059B299BEE7332C6E62B051869D91BBB8ED66B9ADCAD578D1628802A4A11562DA0483EA9B0BA55225F9743974140B2D6F36AA499E4C506E081158DCD42EA1CF8A0CD5BCCED1F5906A66EC8DD45A21CC961477590D63CBE5E1252505E44B6DB01E099B1016F496991640DF01103DCF305B76C88A5EED96F0B7E25A0924A169595B7AAACD16FB11672373876D21B2F0959B53B399462CBDDC034A35A1C9D673AA5E62FCAF8B9AE7D26FF7F76B31B3247306DA467AEF05E9923B4CEA3078202694E235236D2AC5D2ABDCBD315B391D855931D753659CABC398084CB8A971CE460F2CBA27A626E0F47306EF8171DF870B5D78BFF328E65E1411632F93F5CAD6D80264BF3DAD6DEA8C8EE37FA454EA4579FFC36A88A6AC2B02BC680404B - -C67C4E75C1DCF7A9DA0588FA17CD4ABC65ECB41A546963A9F9C0E8F678B6799EF16889C03BA37BB1EFDF1B209437CDBAA881137BCE2E4D3BB3A376199461E7E5156F4A4ACAA80E9906A50DD2D9707E181CE2987335852AB73554EC977B2DF4FF601E71780CD2EC06B2077FF014769E3F2D720E93E2B94D0FEEB26A40C726C647E85C21D8128A9EC1444EBDD6BBC9C11A802499713A7D79A4EC3B3B597441FE5BACF8C4B4AE94BB7433309AE75959E8AF6014844271D2A00F64BB3B47645EFD3375CDEE263679FDB10F463487E8D5269BF644F10CFF575E9E79A1DDC50A0E848A0DBE01B13E6A13E16B1928D3B29F2C0C2DC794F5A9B44926C487FBF0AD7593FAF1E04EF475C087220D8FE6808C4DD4744BE40E5BA8867EA3CF5586FCB7C650F86F020CAEDC934F17D9F36F37CCCBF948F1D127CDAA0649980FC2D60431CC76DC733DBDC4CDA7FBC4586C36679BDACBFCFACA6CB1F2DE56A9FD2022E65D19A389EBC97CD319CC05B1F3905C3E0823434202C79D80EB4F9A1ADB766588789D2F9F7B214401B3744D11DBD79B076766FC9E78ACA5E00871222E8C6D9BD70A34821484A38126E95AEC3B48D2A75800FA025A0E097B58CC09A67F22E405DB051FFAB949EE6AD5735AC63EFB1A7950374FAB2D1AEA17D2D8AB9A9B8549864E0F654E734EFBB90B5F3E464B89A419DFC09640140A6EBDC331505B27E61C0B2331371FC19D7815F57CB9AD9FA4A3F6963C0349CF66C4D1FDF013122A356AE5561EA3900B6D6D6B6DB9AC2D24DC55018FB491740101ACEB69E9470F03176BC80C712D2E19832CAC694CE6ED0C629A89FF3CE919A7EE84A0B3FD7855777F60B3043DEF186258A0AF21FA1CB587120516435639FCB70DCCB276AE6CA392BEA5EBBCFDE5EE6D6062C9AC1B2BB5F5D58D08E0DDBE15869460AE9A3DE87ECB441E0EE451C657552A03FF6EA304DF27C1EDC14A611F24C09AC500759E46A5A730EAAADABD2BBF432364E5E86EC172F92D0109AF856CCD33EB540FB2EBD0A54A97D8E868AE8247209A778A792F0CBD35A14A93BAA73E3565F27AD06D6AE4135A6A8FB11D77C0A6587B2BA8C858AC51F447AD4FD23D12F1F0416EC8EFB101C2F7B7516E50F0F30E69198A1A26EDA7BB665050D3071E194E407BF0D47C43C2DCFB78D7EEA2EC8349643C99B96A7A8D87FB41F172227567E5F758C983565DAFC0766E13ABE5137AC56FFFAFA564C83C6EA7B37F4694C8F7C49E764FFE6DA418DC8245BA5139DC2481E9323D1130CCBD1F893EA35EE080A53068280B39BEBDFE04CE11FC1A4A07C4B52491F1481BF5FC40AD5DFC16D93BE51CA49CDF9F653A6937D9E5B156F2AAB6CBA2C82AB5526F218C7DB4B0867D3F2CBBE1A5340FF98F0CEBB1947B3B13315C4687528A5B747C8B42FB52511BA684CB78DE5A0D7C402BA38CDC2B231DA5644FA922 - -94E21F29E1496145A8E7B5D83947F2C0542622E0F80A0BDE740314671E747DDE9BED245A76C140C4118BC1E8814FD2E5C29481AA63D11B2AF7920973A44493161017188475BE4C6693B7FBB39C9C940B1D1B75A0E7E218365ABD9C2741721F0E3C343AD5942767536CD2DA7225A59E88D359C90CEA92271870EE58944A02168A3E7ABDEEA150BA2D8845433F11A97569C3745CD5E4C49226D28164683EF6398C6C6AC79ACD0536DBBCAF9280A498E3EDA3EB24BAEDB278058DF3D9BF80E90D76C2B2BDF9A8CEA7986EBCBD22BEE2EC33C1BF3B639C870030D8DA420EDECE50BEFAF7CDDB186461048AF5C4A7462DC12A7EDAD7EC749B6F0572002BDE3DAEC1B997A5A4074B5731B152FE2C9E15A5D91F6D32D59E161C8321BA685573DA96E6E6AC3246283DA59AA2D502F928F4B0AA6EADE0DBD269358E35853AE0A140BC1ABFDA35F9783D39FB26EDD55CE2C3BC587C1487B4B69A9322E091D7D89D593AFBCDBABEDDD5F64D02863047D984CF512C9292D30ADC094221E0C15185B1CA423329E5B49F08B0F5B673CF2F1D36F471029C9117AA3CE59CD26F75B432CAB8848C6FFBE79F420108E10DD7F89B8DAEA4BCAB9FAECC916D5BF8B222E5FDF40FC8181D4EDF5C23802EAEFDB8A7D8871E465BA7D513A9966A5C3FAF4E5E24155E8EE8CF706641122AD25F1017438AD167C5C31C2FC19A1BE5BF8C0572F1A67255DD27D79E3AEAFB6400C0548B264DD6FDCF0A360E859589DD56DCB455306247802BC3777E4A9116FE8D4FA07E56D19C629ADADC39ECCD49714BFB0014ED0C06E016300F53E64ECC403D9769FB14483A469092703200E5240EAE5A6929DA52A4F89B5DD60E87278F5D99B24D3C668360D0FE583B4A3DE1021F21857A56C02459E442A708BD4033126D7C9C6ACFAB5660F2262E6ABAC2FB7B63BA044A89B1F845578C26D347D5DDD491602207818B0A228009BB4D0B494AF48185DD87D33FABCBD331D44DE98D8B455E823E739512BC419143C8A65FB3F7B3A98A046CE684E733D3F91F269AA6F06739489DB2BDFB04EA44AF6F8BD339EEB41702175A7C913A787EDA2041E193F6ABAF7DE70B0E37FBE7B4353BAAB567C656FA36616ED9CFAB9EDFBD2BB2F958130A5C2C07E31395A77740D891B2E35E4A661C8D7BDF5360BBFD49FE3C096A495FC22DA22DEFC9C9EFA83428222FE2D39C9FAE0CB3A5C591F2D9202A55FEFD37ED0D71F4199A9DCAF4F41289FB275AFE47FBC8B63ABBAF0BBDD20DD5A17C2C2962AE494CF8B11851304AFB687B03516BAA6F2956A37FFFCAAB3877F291362F2D4A32CB7262C9B3394AEB - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JTYJCN+Helvetica cguidfix -/F1.1/JTYJCN+Helvetica renmfont -%RBIBeginFontSubset: NVMOHU+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /NVMOHU+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /x put - -dup 35 /e put - -dup 36 /r put - -dup 37 /c put - -dup 38 /i put - -dup 39 /s put - -dup 40 /space put - -dup 41 /one put - -dup 42 /S put - -dup 43 /l put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B64DFC330C1264D9E86DB21FFDE360EA73793134E310C3576495659FA8612BBF809CE248F446F3707AAB5562CD8AC1C571A6D8D0D09B29355FC893275A99B99CA05C4503BFF7B51F9E928E2FEF91F7952F6FA2AB1215CCA35E50FA82240A653D789642CA89C657304283892B0E3E0040788AE833BAF99CE60F3561FDC984EFCB2D61B13DFE64815CF692EB75772D9B7473086FF00403769E1AFB91078F909A890A894B471FE6B7D51AC1FE4667810E639DF5874FFD636AFEFD5D49855F4999F1C520A64B150CDD42182CBF2F3B535065E2DB61A4A2E047D19696A55489E094BA22EA736D2660C405848F2A3B5A8F14A5FD9FA90D8F27C99394C6FACBC90C79818B12807853633D0E076BE4A98C4C1D26362CDC8AAA62D361034C02CB1C3884D458ADC46BCCC8C63020D1644172E8804D4F8F543FF22113E7074B3F538F914AA03370548013770DEBD0005A4890F19E04B0AFFC94D67B936455DFC846262B2BD07D66B5EDB0975B4A1382DDD1A24D601C651A74B5905C86ED7029A81C6D560B09F93B3C57ECACC05500878E22B76BA6F399004E2DA09238677B949C40144E7D8C90972346701B24FAF5C02F7F3FA9D2C175EF395CD3C339DE668361D96D0EB1F6D03752C73F4A0FFCF63224898E33F1AEEB4137CFF9B23A0D879017943F7303161197B948423B6E64A9FCAB2E7321A84394056A4F0308206D0C60ED93266898D163940F7A9EC61C2AD9A11B11C396FF074D7BA48F380963C0E12E2E545BA8A73F - -0051A0D96F38AAC9775C39DF13E1892F99B52210C7C73B3A4B23423C2E2F2C5BBFD5A09C6BC8BA11E3A27324FBD2FE890FEED04F127F1BC3E2969BB4D5E23AA10715252EA43599A66AC506A59B50C521C5CEEFF9C77C19782F537EB71C7250A2DFD95CBE96FB8A67C5EC66D634C035571889185DDA44D49C2AD8D36A3E3AFADE08B2553FF74AB905A1859F243CCCFDB611C2210FEDCBEFB74EC8470840BBFFC652A012495C1AB150F53BEE16016F5DE6AE947E56CCB71C893CE99BCE0907093839C21F6C06E5E59AD546EF0D9983CAAE3584677D542F77B60D5BEF5200F484BBCED06087D6D4F79CE649D848B534578FF6F5CC7EA98DEBE55B69E856EB6D0A0455A5A8513FDF5562EA3340D7F88D89685764B751A41F700BC11C4EB11A96E96D92DADC56BC2B5B1ECC319B5755718F9524C188C6DEA01FA6A77D5D59D0F8C396EA1BBF3B74EBD368BEDE3EBFB009A8316C28DFF14D6DB2B50829F4724BA3AAD10CF08E2CBA847BD1829FC291BFD877097DBE25F744CE7F52DCDB13FF4879B35F09C25668F499811C5F930F27411BF3F2AB9A91D7783F0B229923D7A7E71D1C13D0F49A22E96C799CA906FD1DA086AC8F4738030505711A72203247327CC1C8E2E62304279F7AFAD975F65EBABFA8624D1970E2918507AB060E58A807FC61E80C05A1259C65AD7BC752907335388E80D8C05A60A11BE1AF3C5B3CF20D45992A25013959F8ED5A92BFDA1273580D73A6E48333554C9741C828DCE400BE2612FD898E16C45D1E4800C19ECF2C5D33678C17083E9991AD491A1116F98ABBBA08152B2DC7B240E9CEB791BA1300CE3026D23887721A659C9075A753BE54D4FA733728DAD31E2E5AECB93EAFE4A96C2E4251E7A3F351F985F74135911FE70E2952D4B1361572762AD04F890B3254CEF888FC5D63A327455AB49A8791255F8C2A6D3BC66158C0115684D79A90D815E4CAD34818A91A5EA2C188CDF367DA0952209D4D97CD49B9D0C81A6B3E3C48478484252964A850A8FF0ED4F860F4393552E6218FEAA2D9350B128BA84B62E93BCB86614847FC3F17F1D3B244B4616E2880903B9CE1E0F65BAB8D062B94AF6C869DF55C69EFD0700CB200F40670AAF7707FAC195DB0180A178AD311D9680AA01B0286773C5961315D5A1098F178C879910BB5E7B76F664CDAD2E960722362444BE74A01644E2D427BD6C6B6031E4D04133EF229F96D67CB9FB51ECCFE8EFC2167D49EB8E040D49B3486471A3807100D1F0D4973DC727265210967293074202B2DECC99A05EF - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/NVMOHU+Helvetica-Bold cguidfix -/F2.1/NVMOHU+Helvetica-Bold renmfont -%RBIBeginFontSubset: BFXQWL+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /BFXQWL+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /dollar put - -dup 34 /d put - -dup 35 /b put - -dup 36 /f put - -dup 37 /e put - -dup 38 /t put - -dup 39 /c put - -dup 40 /h put - -dup 41 /underscore put - -dup 42 /a put - -dup 43 /l put - -dup 44 /parenleft put - -dup 45 /parenright put - -dup 46 /g put - -dup 47 /C put - -dup 48 /o put - -dup 49 /n put - -dup 50 /i put - -dup 51 /s put - -dup 52 /space put - -dup 53 /m put - -dup 54 /y put - -dup 55 /p put - -dup 56 /r put - -dup 57 /equal put - -dup 58 /hyphen put - -dup 59 /greater put - -dup 60 /S put - -dup 61 /A put - -dup 62 /semicolon put - -dup 63 /quotesingle put - -dup 64 /one put - -dup 65 /comma put - -dup 66 /zero put - -dup 67 /E put - -dup 68 /N put - -dup 69 /G put - -dup 70 /nine put - -dup 71 /eight put - -dup 72 /five put - -dup 73 /six put - -dup 74 /three put - -dup 75 /period put - -dup 76 /two put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94DA64F5F286997C9D3D3DC4B7AB6992E61D91FE0BF177F0CF32A303AC6E21CC05DA74BA1F4CEA3F105BF5E4BE7A219DAA1BA7AF4BE2F2EDEB4AB5AD6B1C167716BE3685C291148D3339B33F34A6DC37227F52E10CD86E029C5D80381F893FD6419A0BFB774010224AAB6A0F4554EFBC21D6290E00AFB4C90D62F67E624598C2EFD933B8055A7E05F600950E947E3C55AAE1D70960F9E88853704CC0EBBFFEB435BC8293D1C3E5DC772EAF05F309673ABE8C942CCB5E39F5C7EB837A0D85C00DC296660A43DD78AE5097E26CACE14F33FBBA8EB92466CB2EC6C20C0B54EF90EE282741B8CBA7E82F11FC441CA8B187361E2CE9D998B96B63FE794FCB0AE6855AB265C92DDEFC0E99D1377AD929E9B2BF78CDCA26EB2D7047C268BDDCE8DA69B2B77E9E4FE0C98C4BBEDC83922104DDFB736A3E7350FBDCDB3E8B25FF2030D35279EC2D492A36A3CDCB125FCB9A0132191D8AAE853E28F7F8882D864CFFF53E9CB2040355F3E119EE024FBA93C1A6832F85C21AFE7E2485EC889CE43B6BF947FBD4C47DB8F605C346C3D1365E339F3B48349A70634CCB1D8BC17EB338A8901029D772000C5AB8B4770E73F977B23540681216BD7E41568A891AAF37A3AA4BAA9E38A2116550231F78BDCD83D62A3F776E92522A42290B248E16A25DFF56E070A52B9AA9BD2BF972315F46817A2BB49B767EBF5D37400DC9E1C0ED3DB1725D4E6B33ABBA95BC29F5212BA1094F243458A8782F25523D8A02AC0F3855983E7B645303 - -7739E129507A5C56D55DBCF048A1F4C847F431B4FD1E4995E0EADF51146E1244CBE212840E065CC7760715B49CA5DFD01D112419A75C1EDCF8D1E0D5708159A5E405D6FB89624E7558D3EFBBB87E2D23DF14DC29F4D3D1068763360A6E5E164ACDF156D5F05B015FA31EC9543D44B9AEAA957870A6100A24740EB28F56496D07B7564725FC9E141A1CB5D1F308A7D80BFE7EB431097F9E70E8FA7652B1A5DB48ED56CEE5A0C447AC0FFCCCD34DD1F5D47F3923C618F66829A89847D6D7EA109BDEB37677F072B73230A29479BCF4B1B19404916F5E9540AED2191E01D3612CC11F4727BC17B5F6E764BDB5E4C2C92CA0460C0D69764E835CA8D66965A22DFE72D303D4D41707AF51B0180FC5B537C9C1AC65DD5566CCF98D99AF9C2BAC0CB9ECA7ADB19A0BF7DD96097EBB3524AADC5659B03DA6779BE2AC1007F441B809190977A2B29BC8797590833E688F83FEF538263B9E53806F47FFE88A47B313BAC0D3101A3CB769B23B59CB69DA80BB80CC31894E4BABC0C18A3AF5EF531EDAF8FB75C60985AA1589AD59BEA8B2C42CAB15BC651A676A4618E2E8C8DD618504C48C150C2EAF785ABD51FD60FC13DF89CE34835C1FBD2A61A181101D3F5DFDF8D20C9109BBDA85B72BA033F5F58334B913308494F9C8E8580A45E35EFD2DE5DC8D727B95607D66B683AF6723F217216E8F1F1DCB24EBB621874526A45007CA47ACBB73A7AF4E947892FA81177D5FD3FB2418C19BEF6D1BCD1AC0087175CA73E74ED8D5165BA0B871CB063C9B684D4E7558EEBE8FAFC384F53F74501E80C19E8DE8EBFA4FD2F2763D08F284B3955B2AA9ACB4C5721037D97EA3581867EF8F89F512B2D63A081A5A8BBB1E27ACB95EDF605F7ADC6D246CFE705D4F1E350803558900D97CE867EFBC2010296E654F1EBF538CBEE6BFEF23F4EDC3110559BC41517629641229E1DCE1365646DF74B2D75E6FD4D5D5BB8505AA3CFA2D68BB5773BB7F45BEE685EA46217192D77F4B46F1C6105D83BF45C33CBB34A074CB533C3348970DE98FA98ECD9674E162778DAADAA2E01F8D011A4D0B605F575C5D8145787D8B5D1F355A8F1955D9E80A25E019C7133761003038CCF1517E7C2052F0D9414E8FB56E94EB8D01FF1D9D8E40B1ADEB583942D5161E29B0E41EFFBFE6FE82DBD583A44A9EC7F78F143D042C58D16722272F0FCEF1FFDF37979771ECB6B32DA1D80074821BA9E9A5E3A766B43E1192E4A83C23110E74F7BCB8727ECDF17295FA866A9B575B3982E75B5122634573DD1DA53D6212C88F0B2F7F63ABA77ADFF577156B43C9A12BC7F7E6EE7FE52D16A6FDD524E0C6CB13CCB97C35DCAE043CF06F8FCF663A770F53F89CDDC0BD4D073FE83BAE8B00BBE12A938FD01F29FAD04CDDC8929A4612D7584C2517017FE16F877C10455213511CEDC93FF0FBD5487AD57598AACA1040 - -E27DE59B3DBAF6D7E50A355E1C25B6D9728A6E3E89F5D7B09307EBC0CEF5BFBA6868D5B760DD6122E33E8E51F088F0B22BDE7DD1553F19C0FACFCDA4DA5D155F7CF977C0379478B87F13B8B9DDA3DC087CF40B33B7ED670C91E54E84ADB1F066B511D31295BC8AF095CCB9F650C8DB81DB49AFE110232FADC5240AFD8AEA5AB78B0EFBF0B64FF8A243912C074A62DB29176B3FBA09AF1D0B79C06132F92FC4F51BE4C6CB5A37D0AAFD13358114EE0B1CFFCF539FED0E0F64771550C9530D9C28F967FD8611B2BEFE8FBC725DCF496BC2824785AAAAB328487D68040E340810910ECC031E5A157334CD3C20D76F00E8911AE1692FB9FA49358BB56EF490F1A9956055907C38385A43538A0EBC71CC6172A869145781F681FC2207D767EFFDDA20F1604C8117CF42EFF2B70D2AD0E486ACA91D157D105AC21B44D441923F23DAA5A39A9CEFED05D259F63F8797E0A8422D36EBC555AE737D3F95F14A5C0E2E0FCB12C9B2955C5066A83F9AAC130BCD306D90480F9A9F130BE6580A9535DCCE2D0A1F92A04253DE5535F148B919ECA07A831242D4FD95393506A59D09905DA19419C53190CFBBFA93D2BD17EDCCA41C0F962FD6A8FF622A323CB949BA392721F8F57DD04A7948344BCE52E001C1B1DF600DE892D0F103A23531FCAFAF168295C39EDBD85CC5DFD03FDC61F6737EE74AEDAE8EB255AEE4F672963E14B28C915D3176CBF4287301FA6D409C9CBE02545D16D1A05B1FAD2D0CD818BACB7E7DF44A5D967961CEFD2AB279730227EE8272A505A099E9C0A6DD1A4153CFB136BA725D8A075D1DE761A396D8FD23F5DD8A3A2DE128F5D50148C0106FF3119030B5D8086C12833224855A669F0E7FF2E1F99EB1B736ADA2960D662A45F62E88BF383553E6A0B2BC7B4CE7CD9E629BBD041EDD01C888733274849E9F0445F383B3A2E27F418061E298B31DA5DB7D61F94B7EE1DC1B3A259BFD9DCFAD94C9639FE740BE6A4292BF62039546C668EE4BB4EC004A5CD836ECF2E84CE85373FF86A504EA7C1E617FDB2F21F081738E2BB02957DDCCBBBBE786C7B4D7EF09AA5C41D4E60B164167668F84B166C29DD0A4A755A076C05711A3062C0ABE5D8FF139B80368249902A5074B4A03C4D42D5F9FD05B8F0F98189D436C4C18B39F7A9011044E8B91D93D13208A20E2F4F68EBD63EF3B2EA378AAE00ADF567C9A7FFC52B4C8E79C3A0FD5F7355C69A66901652489C44626F6856118D04581C9A7FB6F1339A0345AB7A9F5F08D180A9A62FF3E255FA4C3F591B7AE11F231A8F9A537CC1DB025C5D2DD37985964B45354A26EABE2C024B4C19F0585500B3454E01A25CCB2584516D62EC66BCD8BB488EA334B81E0240A440C64F6A93132F24C32870401E7AD7636C00B27F60A2C331CEF770CE6C4D95792BC143D3303D44DDC4873689797711F9F974BC90FD1E7 - -B0918E6A568CCAF64E58DCCE311B9E4FE124CE26B82FD049335EA9A796E64668C80150E59CC78B0591EEB17EBC631CB7F908F4A663F9B0E9AE6BDF0F2FD071682875A9116E12DEEC16A60433CA0A502C8AE0CE2715D41EE32A2C90935A94CAB5F1307D80F2F0E1300B96ADF138129184DA76F52E8ACA802804EEB33F0B2EEF769204F5B7458489333B4FBAD0BD1DBADC0A7751CE8E047B61243D7468CB6887098FD3E722DA388844F0012B3AE1D65BCA03E5B09543858D5459680449A6065A5A61F061BA8AA02BE6BAE1BBE3FAF59C2D99F40FF80B2CC866D1C04F99AF583EB16653B7EE2FCE6EDE8B1B4929E43DD4BC36E19996BC9E08CBBA11EF8347992E7656704EAD2ADFAEFC33362C62D96AC613068914F0E2CE4A8F0A531C02DA2630F11A5A2613D6AB814BE7C3622C4FBB6FC965D69E8FF1FE1BEC75434872F9F07729A9C231CCBA31434FDE11CC18A1A057F698A3969AD2E601CB96FA046D5A50F9F52F541E0D669B8B4EDFB4C6C30E2EE468357BDD8E1FACB2790BC4E282F036B49DCF520356294BC7D5F84C43227B22C6FFCD8C7AF950E42DD1045DD181F2BC4B558ACA0AFF3A6DA6CA1DC2A6AEC67620D95CF1A7C14956B63724E602CC4BF990F423BE4ECC99A15DE42B551342A56778B27BA9784DBD7C6E1D578287C25CD1308C6C22831BF211E16DE0FE02272BEB46227A218AE1EAEFA40C459D6E57C285D5EC48B6EFB08D24370B9216EA34BD5D2B4998565A70AC72750AFA4FD89ACA731DEBEAF2B87595A3B4C5BBF9361703194114FE0D6E11906C77179BE2838D37C42D1A34AB471F24F3E916D8908F36007FF158AE41B00038B638BDD11941FA72BE8CDB7305B3229F02F3C70C0184EB925DFE598E75647BABBAC86926FE13FBA3AA8D3B6CF187839B6AD71F6DBBC4CC89635F29923A81E0E8A0D3A5AE3BB5E9FD184998A58BE7B9D1ABCB5FBB3696153440EDDCD1FA169420D4FC23449A92E99A4F0BFD18C5E0D06335149D5114EAAE08FAFDBDF673BCA5C4A83C6AB529BA815FD47A87A000253E928992D30FACC896BDE49C99AB69CAC892ADE1786340CADADC001637C10F0C12A957486951D8FE9E2C876DF917B35C3EB6097C209880CDB7F0677682591BCB77D1713C82C0C8B70E8ACC61D359020C2B2A26333DBE6C6735F639DFEC4F74F0ABE4388615259673172E69A8128478D4E7D0D2740B67E696ABF4D9D29CDDB610CF0EF068AE77AF39778A3CD6F272414D0A5320DF07E8C8E094E0C669E6082A462B16C38D993EF31269BF9A37378DE8564A69BC2DA70E256D5002465BCF1EB7770173DA0589289C460416B3D5F3C584E7A1CFBABA0E368104D33162AE346A02392879494ABB6E5B0699C9FBCEC55E3E6DC63A0FC9D6EDC9A5AE91B4B0FB3CCFFF973E892531BDA829F09E2DF2BA6525A1A7321D3A4F445577620AEC112E - -4B3E91F406112FBB7E2996CB5FB3277B0EB5998275B9384A7E2B0609D43594D4C0CBD5AA04645B05463FA16D857419FD010DE069F4518DDB36B9E043A93EDE6333765D2D6FBF268B5F2636C9FC0558D4393FF1AE1AC39D6D7090817A43A3E4886CAEF949E2AB03586ECA0196BB70A49791532A2AF269A5580973E05091BD61B9F5DF46C32F72CBA7B7AE1D64D95EC571EE2FA7ED84F2453E1B1B4C7C7A5885F5172F647294CBAA3BC826732DD2F99AB21B251FF463E2B59F06094AEEBB9280766095726A99B5959053D69F99D7558E4EF54F8A383B96FE2ABAACEA6E7E87F2A26F3449931FA65D837E98D6CE2A8384FF19557B7D2B464DDCD6B70E99C67A309EEFAC43AB39A31845D51E8751B65D4AAE83818CCABEB3A9578E117AE591F5781F3AD5F4C9DFCC94064A3AD359F709C5FA865A21521794FE31F13D6F32EC84131ECDF48A610DBEFFAC8BCC4515721A0E5AB607AA754664F8436EEAE596316C1FA449884B3DF6D5F295350FE27A79888A406E4830723D2B64D7A931D4DD5101FE46CCA05C640CA8B6A8E09FDFC9141E61074201E6A572209F33EE97606516517E85B1FB609042072481F4C603E4CE27C0F5BA6733279A51AEAAAA16B49ED9766128F8915687262E7D3D3EB1D20ED11444416606E522878F8A4E63108E6E59BF9C47BA54569EB9ED707DC1E1FFFDACE049890446F363C05E10780108D2C98C5A4953576A85676719592CE5986A838DFC69467F1C8E63BE826CD999BBB7BCBAF4DED22E6DF2481456B4A2092FEF74A39FFFDC84707666E01FE01D876AE481D0CB63F4DDB3AB7514D9377F3ED719092F12A0E963C6954D5195BC211772BB4C0B6C71576A48197B1EDE44D5225F97FCB7C8B5A93323C44B4AE7BD0AB0796D2AE0B615AC88D25DFF801496FC4460B21D1AE284F6AA9384BE75B61740203FE6052674F8F34A895AAD97B2F95367ED307DC91D8AB09C58FC5E7D777AD9C4A88089CA3B2776B87FC5ED6CBF2895E5436B48F70393FB923F3DE970ED9D8104F7338071510EF4C8F572AC835C1DB5014185B9A23D468D723321396607119A7F19C2781CC3026FD90A20A93784BD28B7C2F3994DEE6ECBF36A60B874BAD28126C3A0016A582A288462E5895497C9944E756720C0E4404975AF1AC7B9F24799CE0C5931248701DADB81B05F51E666401E1C8172B8A2253CF7C44FBA5A4AC21072B7649EC1CDD9C4EA4D79F9B5F26BBDF9E5F5EB5BAD83D5CBD395355DF363CE0A22694A065F68605E89224F768D70C8F0ACBCF68C0046096845614DE2E0A1BC4ADF2C570F542D27A37B245BCC501CF6D5C5A019AEF983498A946DA23B75C118BE2EC11135D7F735AD39778160FBBCD85C84B36333B5B57A436ADF6D72550F4C1899F1E3B94E528C1BAAA8BDF5BD36008F148A86F5BC2270EDFC8FA35A8C3FF5D757EEC030939D76 - -E584B7224F62785680CD9E435C947C4B1608A943E11D4AFB53BD4B9179A6DCC1CA7C17DF3FFACEF6A3972F3493BFD7D9EDCDB11ED3EFE8CC56C4FE14C71B96AAAA1716AAA926EDD0FE54DB373B9A55C3951B46143915DECE605FB6E214B0B24634F1378DB64045BB9F8CBCD5327665D2D5B2AD258D2561FC3CC933EDC01118015157C1060622A66428109E160C6AE2AE5F0BB83E26203ED508603ED4A8D3C59362CDE2DA81A4878FD5160CB10F04D8020E48EF4D6A441050C60194E19326DDAF9B3AE7F7B52BBDDBB550EE1A4B94F86EBD41F03AB4B75D386221DFD62F42F26AAA3AB9BEAA7A96A127966C7E85875F99BCD5BEFF3346DCBB17778C0469D77821D4CFA4E08891EB91F7A71D6DBB0C8061FAF240BBC67877724532605B619CB571D5CCD2AE79D91F7761B79AE813BD24C65696D451A3EAC5EC41916BB519A41AC4D5C487E69E553FAF7DDED8F29F65A16EDC6C454FAFD53DC9A74E5D347A97E3A39C37CAFDF258B3213CFE76722D25ACE0D85FE20E8C613CC3E918B37946B966E16ABBEE116627613CCCF24CC6AE76D6070333BD658F270877F54F7DA6AC66606B8A684A29EC018A7C3513437B1402C9F5C3AE83DA9890BA3C0B6F9C329201ABC4174E52BB0A9348FCA99C89207B738B10F36CDCD0ADEE5910C3E7352CB48D4B61744DBB8880F3068AA2A850A2A96EB3D5415694215D8BE5F395F39545B9417CC7CD1BF814B29C76273CF17870EBFB993E7E276AC824D4C88E6CCC39F1F88290C99306E640EFB1E6A33DDDB58C02C76279D52DB5B9737F40F9884C9C91212EE7873A5A66CECB33A0A58A680647A8980854FD621944140FC0B06F1F1D1D4DCB36EF28189AB059AB946133E9C8227C1F992F4CEC944198E7383C1247CBCAF54AA6410A0F51CE18B9BBF997DB9428B7A30E66BA7BE5FA575456161103B018DFF8A1E8F8D0352EF00C2F7A7AA5596EBB4789A576EF90B61FC082719A7E969F2BBF7079800EF80BC2EF2DC9EE8209C1443A365A0E20A8570DD33C784B9F442E4633893BD30BEDF9BED01A960E61061478B99D028B6FDCC151C8C19659A291056839BF5B52C490A63F488F6CBC2EC3017672A35532D0F448A045ED7F5ED252B5DD520BBCFDDB7D0752897E41FBC7A2D527DE89C6F5FC3159C631E83ED85CBC1D34038170AF25411A67EAB7585E057D8CD89513A8FE11B4E3AB98E7D4992BCAAEFA2F142EB6C7521C34BE92D15130CD460566844C6CBA1CA9B3427FC00DDC0414841AD30650BCEB35507203A4CB653617AD3227520BBBE92B72D520B473E2341E7303E7FA8A98223FE4612050C0293CC45CB5A9FFC016F7B502652EAD9E8720836F181A721B58D48BEAF3AF445E547B2C2A35917E2B72610F9A7B35BBEF23CC405C9A931788B51B1419C14E38D3C036B54E7FE49FE1CE73F206D4352837C8921A45CF8D4A - -ED07308441DFBF6FB322CD1D6384B44A2D3BC676273997097DB50E1D28A22B58511B00EFFB61E15EFDAAD6F7A89DE0D03C4C95A7681FD2CA56A9E8A414AB6CFF952798942B103C7098B53033106A1CEF8132D1AF66447F59F4EB12EBDD16711CDE7DD48071B0002ACD08C32390BE4E5DE213455B6CDFA1005CECCFB74090E93C1EA5895EE116AEB4B56CD97BBC235C3E526F24CAB27728194F2F52DF0F40D3D2B7916DEDDD8C55AF46BBA807FAE27EE3F5F322334D1CBA1814D700BB18A1309D207D3EF39F24058A7224FF1040F36D8B5D5EFB5C0CC8E807C12A903C5D4315CB18E0EB336E94221EED234C8338CEB8865F82B43A27FE0AA3741AB38F98F84CA56F3ACA0B325D5E0BC773D1C214348B5A8ABC75D683E43ED1FD9B7FB2373B02E0282A934CCCB41832DE3B5F62A395CB7D8D19E83A3245A0808A29389540A8A0A8C8B9C6929B94A25208B308B0B21BE31734DF4A11AF1579EFF947B28D65F546F2A52AD09714224026A8B3EC41E1A02D8FB22752D6D2F8371DDEC5C465FD45B492CFF5D674963CC2443E27CDA00EB4532E9F41114B235E24264C2E138F3F2F14BE68730EA112454B1F0F6B4BEA40B4DD32890B90E68AFC4B9C0546E65C920A2115E41171C9BE705D45AEFBF4B327934A33510FC3C0041502B9C63CC8BA113743F90124B548B45205A92C75DB6FB69FF7D820AE9661BE78A9BA834274B454FCF2207FC6053F22A873548F464E623EE2AAE04EEE9C9A2D1FE5AF4A054D9C99EFBCDEB906DB342CAF0047F62A62B2AFC77F84BA3DE41196646801C38A177F0E26B9871A3B2B0359B504798B52D8DEA6DED53DB5C19D9FF81CBF545B37D50755DDF6A8D311DCC867CFF813D47B28A6CE8085D76B6151AFDD2B84DE13E930C013FCF04411CCFCC095F2CFB287B447E1D964B46684632FCA37CFB05BD8F3B0E702173CECA68FE122A696AE14AD0B354BB9C0DFE0F62B86891ADDE65631F333B09AD92052348D714DCCD130EBCB4E3ABF76F195826C1FCE4637E58CAF1F1C9CB672F4B9F886788E91586CF08CB0A7AE18A1FB691A1F3CF64C620CD4CFC89E1CF17D0866684AF0472F799FED59127929A9767F70B6541FDCD0E90F8820AA102F60F25409610F8E9FAAE2FDFB69A2FF7C8C4D4529613F006F9FC77D58E4E5F6E5948B1DA661D49808168AE8708F736A57FE53F066F8A0973CB6A3FADC8FF7213F6D27F8AC8CD30756C582F9DF5CF9C0D6370399488E963918F29323F3A3E343E6D3A695874B0DB7C1F53A1035780070A63EADCFF17CFBE090D3C18184E0FADE2E0A448277918EE9ED3FD8631D67587B1D2717321243DF9231D2594DAD26665C5C8B3F17211B9DEFCBAE136DBBBD0689ABFAA9A7768A9F54141B4F8109B23D3EA8A62B5B1921DFD8831987ABA09FF9F571DCC79F8C6D00DB4CE4232CCB968FD9014B6A50D7CF - -07BF3B7F15B60F04E555443EA789C7FDDE75D15B5F1CA8A60EFFC0D0B1C07871B316A6AB8956DD97C29498A25AE78B620C142B7CC1ADE5A38F3415F89277E6BDF263D42411898BF14ECBEF12B61913BFBC96446E660CA6CF050BEB6DD7825031F0FAC8BD07FD14D42A0B16700287EC4FC160B1E6A77FD9AB6529CCA1BED37A62E4DD55C28CB99E8FC48E700727DCCF625A875E1DB4D4CE7B7E261BE9F1A1366B5D3E8CCC8E94E231E18B653813C28FA85DA54CE510107A522FF9D55B11C8A06D64C63A8692B4F53DF199973CF148E51950D9C4BF37348AA937CA421A70838AB895FCC124A9DA6ACE0AAA281BB2537FCF7F75A52C9F40DCA3118E536A1D47050B1A5AD27A4F53E22B8048178A2ABF070E33AF9FD165E3E1DE34C50017E1BC3DB4FA6EB25F66F7ED437F80B44880E54EBFBAE6422BE27D5154C2E10EF24061196B96E40AE36EDDEEDE3E6A0437C09DD050D6213CF740942F4AE99D6D95AB301E5DC9CF75633D23726A71FB95A1DE46A1C43DC351CC6E752A4097CAD2FF1419AE0FFF2E4FE4723D60DE929DE0C43A699F1E104FD59510BF223D095DFEBE2C9194173C26ECB2619DCBC3F7A9AB6F58526FBD838B3E1C1B84D6DB9A615DCB13876B900A470B3D64CF5A28D1CFFB7E402EB2464D4F96E1BCE2F7381722CF137EA7E9564CC6237F2446109ABBACE171D265535143E2C1428A87AB4149976BDA5514B1A766D0AC8FC4EF4AC6DECFE7CDDBF866E390BFA37D406EFA08C4CE37400579B7686D89CCA8408D91FF599531F110D08FB4C2EBAD10606CC6B0989960348CA94A3FD92D14DA0191D7E59E6D0309DFAB51AFDC984890BBC717F0CFD805A6B8AB9E36B530A8877D848962D53D06F720FE51FCA7E053EBAFE851A80DEB11419A0D268A6E1C42607993C6B65A34F066D47A05830669F510DFE15C431555D6BF1F9CFC4197BD8319F6D28E72E5DDAD4B55FD1D5252B819D8D7FA1AF3BB53DAA0EB9DD85E74334F43521E6BEE8F4C1619EE083A2AFFD9F02AE15505B7E55458CB0D67675786ABB135DD0259CB7C21FC1D208B0FB2ABA6BED4F3A0EA2A0DEB2417FD84AFF6B256B23C1E32CA5AB4C2BB8916E0ECB3D72A826983F777FB1E96D908AF5E2A71FEA94D4C14C6CD68F6C832438A956525337B492A76F408B2A25F57A3C6057CC658589DDFBEED90F7C29ADB0D9A96FCE6C8060720BF87DD5B77B6DA3C4036181794384857B24B11689FDFA0AF3A5BF139F0CFCE3F9D483C8F1B145DBE1BC310676FB467332B260AF544A09D5F49E6F17870B235ACAF5A8D0A40F3121906BD69F0D87E4BBEDDB09443B1B125930A6BD20945C87528589F2ED6AF3EC24C257A28DECDDD29525F4900327F7F49481E557E2DA2B326846DE7B9F2B1BE190923F0AB07B7063E01989C809F80B86B1C7D3BD792EB79653DDB5919EFF1C8F02FEFA2F0B9 - -3E2423DC5549DF09ED5A3DE71DC82681239F3259C63129B0E7CCE3FFAF75DACD265B9E94F6FDD7EBD7D28EC47789C0DC1F227D7C6289C92B7617BCE2246B8AB5CF79557766195E185C6E947C6BCBB80B4A8E255206F1E7E758BD4AC5F26AA1BC28979389A884CE9A6B31BA232E8C33491A83D6D4EAC9BC7D4481B4DD1CBC323D638A0C78D8F1F6A5114AE17A63E14F760FC801F65B5090EE6866C0949E168DE24368E9A832CAEBE05A53C2A96AAD1D3036F73A3DC3B8BA6D99D7ADE9FD1A4419AF82B1F4DD63E3696A45E94DDAA4020F2C594A2E9E7938D74B051EE9D47D78F4B553564A5C76A756528E1318D897D0956E738F0D77829ADFE742F1D81D2CB7E4E2FA44DF4A96280E9D1CD094CF0BC7BB0ACAF09AD6798D20FD45E40DD9EE4C29051494CC651516F76AF50166B9356C940E8DFF173FE023D7D97262B283229261B86437A2485DEBAC6C9DD71C699627E584EB8D1FE34D96C390EEB753B108AEEA4338FE96416D7D071F6B1C62D615B74A9A83B8C2B715F08DE78C829ACA1A9A1F822B91EBE94C5A2AE551C78A5EBA36973081CB3097E2A228934E5040CA75A49E5202D723A94CDB196AF5A6BBC237FC04A0BC53BF878320C46788CC37248B906130B387CA2DE6307026E6567493786FFD9EC2B1519E08C21240873A16FC514F61A13B3AF201A099734A8A5ACAD171755247E1F5336790674313BD7FF33F56B722EED3EB30A56DF073A79AA7BC854B04AF48C8FFC8F949CD132AFED9565A2D3158775BCDC6444F17C0A209D3924EEC623069F60DCD5F437B9C1ED67FB32404B79757DB8610788B5E812AB1EEE8A500E471F8C379AB190F72BE512BFCE1C2295C495BCEBC48875ACC1AC576DB74F74C9C9D18A75873F88EE214A1310127DA87CBCE5E50B49C1642AB4437EF1D822120359F462D375C9A5819775151B27E7635A4B8C2879D7B39942C955ABEDE7BBE1D4D7267DD1EFCCF0E65257B88F0262B43FF1BA6EA8D16871CB9CFCB783B5948C1D5EF1F2B4A8214856F6E9BC5B0EBF1240233772289A0196B0C9090C9706C4EBE4661724E838DD6B19C0F3152FB2C09524984C58DF3040F9C9FC87BE5EEE06EE44FF1DCA248F679FCED4189E42B8FFA8951BF69828AC784C8D23A8ED6EF385D83003B86F0B131D97825C956D2440AB499065B9AC4E9AC15D71A0FE8DD8E74C233F53BD80CB326D9CF6D76FC295114B8ACE2B66650EB958EF2C000835A62B46F2E80876DB44123DED88B02F25F613F6DC07366D21643E2DBC56AD9D6126A7AEBADF050C19C7985BBB6AAE65F6E1BB37C92D2799AF2E676F374C98F8C39A71D464AFC5CDFF20146F9B6DCF3D94C885FBE0FBEBCCF732B54155EFD3D8530B130FB0DC4BC571C7DE2DA1CAA8E6A444580A9D5FD5ADC38A357BD4461F7FEE60259096C51A6578C58DA750B52D81FA451325EF609EE - -8F5E5DF2246C161ACFECBF30758555B1C781D0BCFFE81E55A48DDD93695C8C486D6AA0DB215AB7F8CD1F2FE2FCE09B6538657BCC5D0CDB4623F8B68A98BDDE72907C8684821FA9A16304D65A0040881139B81D74A684B389A9E6CF1921A32B955C55E6AEF35B726ED5E8969B34A84813ABF54F840712B32BB41CF0BC1BD36330879FCEC356E2F0237B5F63D627B19DC7D16E7586B795B3F8E18F0A47317AE5265CDB66D34283EDFA077CA32EB3450C536D94AE02E9FA980CC7FEB8BEAB4E4F97BC1CB051E2904044CA9EFAE89CF86361C53DBE7D3C369944EA66A9A6D94A20818A1607BE349E67D045A43E730BCFBC4590B6465B10E10CE5B434CFAB861021AD3BFABAFE1F644F9C09E3B02A2C4055390DC496B7F71E83F5AAA16D0489771B38D43357ED121E82D0F48EDB5C2F4E76027B4324593D65791B0E73D610915C61ED0832FBDA4455C6FFA4E2CC729CDADCE6E119C70FD4EB0F08AA92C5D2F99639F7E127F7222897FB5BF24E6FB45F8238FBFB076F7C5DD2BD88C538E5D55A3D6C04AA4B9BDCAF851BEB2F564196A3C781F12338832DA54520784A9B7DF4A070FDF9FD59A1614EE5C947488209A9331E8E71B26E51DF66001A5A5C6AFAD1FDF897C7492CCC3A0C5153A0D06A00C8462EF781965FC1C9A765B2AAEE9169385E1A420D9EBFD604F70F1B46C68525095D1805820D3857178E34F9214ED89DE9376D56F29B09E089C2C28E13C0D0C9D03F69488F747BC46814D61D711513F086A8C8CD16FE6CBAD56284A46B06CE5519EE22AE63E44E9A2667EB007098944DF14FFF9DFB9CB8A4684ADF5B23FB038045BF88E82640D9F0CB7524DA52DA0B57934969D0478A7D229EB9AA5237FB4FA7B8432A11E38949769B8A7041D1D894F447E701AD4DE78FEF5440B4F24713EFB85084222E781F906F1C4AE1B65093BDE888E3BBD355912D0C8F2F01BB726E1DF9D39ED69D18F22193DA8111EE2490BA9BFFD546BB5BBA6DF6E98BE0A4546013687FF5C68125137E7104081537BEED796E2DB95A7AA6B931FFF98598EFE1CAB82803C2B321D94C1E5EFF947CAC135C7A2212A55E58A5B9ECED88085FF71AB390AE586D2FF7F0F1C2345BB385765AC390E86ECB1DBA3AA60A66A7F08E2D8A88D00F194294FE8359DD4BE42DFBE2ECD2F8CF039C33998669050DDDB2EC6CCBC65730F446955B0AC02EA9339B3850259901E8C998B08F606F5BC590B03EA3BB3D6ECB8E20DD6C6E99EDABFCF61BC012F56E6FCE1866FC475523ECB40BCBB35D00512D1617DF3A4144673735B1E1B4E15B8C2CBBB885D9895F50E9E52263F1A5A65B598B5CEBDC13DE9DA44D13C2DAB5E39F93B829440D19A86D4CBA4BBBF5750709C3E2DFF5D4B59F43ECD000B48EC0B96DB5B7519CB00A7F206480E1EC472F03B1D0ABB8DAB1268B4AA43C5A324D71FF658E349E31AAE6 - -C061BB48F7A41CCEE9DFE043CB552EBFFF57F5A6771D7CC0467DD936A1E7B8F5B104BDF476C76F6CDDDBBBF2AFA179B1F51EC351B59592DB5CF5597826F57424E95CE1651F09D466A7551BD002E40CA7C2052DAB0A5DA6611AD0184D93686B16748261CBDD06F14F0D5710CFCB78C626BB38AF99B45864A6DDDFB1BE365B3E422DC9B4E1895CC0437A99F45A52887934C39103DE2BB538E4E6CC512F7971AB2D5210E5B06CE52D0B38CA241151577CF9BD65C33C2A639BF7B317C0803CCB6E3BE3FF3C69235FA4BC7CCA75007D62CCDA181DACE7BBE291ECF27C8127B438471291302734560DCAE6B33E16A832A75749C039B501D1F6B6B8A000D47D080B632A13A98F25223F410EBA7A6FD16762B6D991DDC2B43525185BE2AFD51ABC82BFB36A0F338FA97EA3E410220F779AD55C02FA248F11603F2721EFE76099DA902AEE99BF52A113C4DE2D728AF4203C7C4221F6C1E5695A9B6BB970D79688F4B7AA83 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/BFXQWL+Courier cguidfix -/F3.1/BFXQWL+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%&'#\(\)#'#\(&'\)*"+&',%-$.#'\)//"0,'1"2'#"'.-$3#'#\(&'&3#$-&'4&3"5&',&62&3%&7'0\($%\('$,'."#&3#$\)//1'62$#&',/"08''93/&,,'1"2)[ 29.643002 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 29.643002 11.398002 11.398002 11.398002 29.643002 22.837000 9.143001 22.837000 20.500002 20.500002 11.398002 20.500002 22.837000 22.837000 ] xS -48 262 m -(\(\)+&'\)'-&\),"3'#"'/\)*"-$"2,/1'0"-:'#\(-"24\('%/"3&'\)3;'%"3#$4',&62&3%&,7'1"2'0$//'*&'52%\('*&##&-'"<<'2,$34'=/$%&,'>'0\($%\()[ 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 29.643002 22.837000 13.694001 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 13.694001 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 ] xS -48 312 m -(0&'0$//'%"5&'#"'?2,#'\)-"23;'#\(&'3&@#'%"-3&-8)[ 29.643002 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 13.694001 22.837000 22.837000 13.694001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 461 m -(!"#$%&'#'\(\))[ 27.347002 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 575 m -(A8'B"33&%#'#"'#\(&';\)#\)*\),&8''C"0'5\)31'%/"3&,';"&,'$#'%"3#\)$3D)[ 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 ] xS -48 674 m -('EC$3#F'G\):&'\)')[ 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -314.57999 674 m -(!"#)[ 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -389 674 m -('"*?&%#'\)3;'4&#'\)'%/"3&'\);\).#"-'<-"5'$#8''9,&'#\(&')[ 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 9.143001 11.398002 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -1264.17 674 m -($%&'\(\)*++,-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1534.8199 674 m -('5&#\(";'"<'#\(&'\);\).#"-'\)3;'#\(&3'#\):&)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 ] xS -48 725 m -(#\(&',$H&'"<'--3&;'\)--\)1I8)[ 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 13.694001 22.837000 20.500002 13.694001 11.398002 ] xS -48 825 m -(J8'K\(\)#'$,'#\(&'\)+&-\)4&'325*&-'"<'-\)0'%"3#$4,'.&-'%/"3&'<"-'#\(&'<$-,#'ALL'%/"3&,'$3'#\(&';\)#\)*\),&D)[ 22.837000 11.398002 11.398002 38.704006 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 22.837000 ] xS -48 925 m -('''EC$3#F')[ 11.398002 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -191.52 925 m -(.%&\)*++\)/01&2.34)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -586 925 m -("3'%/"3&IM)[ 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 13.694001 11.398002 ] xS -48 1026 m -(N8'O-$3#'"2#'$3'<\),#\)'<"-5\)#'#\(&'-&.&\)#>5\),:&;',&62&3%&'<"-'#\(&'/\),#'AL'%/"3&,'"<'#\(&'4&3"5&8)[ 22.837000 11.398002 11.398002 27.347002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 34.194004 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1176 m -(*+&%#')[ 27.347002 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1276 m -(P<'1"2'\(\)+&'\(\);'&@.&-$&3%&'0$#\('2,$34'#\(&'Q3,QGRS'TOP'*&<"-&7'1"2'0$//'\(\)+&'%"5&'\)%-",,'#\(&'%"3%&.#'"<'+$-#2\)/'%"3#$4,8)[ 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 20.500002 13.694001 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -48 1326 m -(T'+$-#2\)/'%"3#$4'0\),'\)3')[ 27.347002 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 ] xS -469 1326 m -(Q3,QGRS'"*?&%#'#\(\)#'-&.-&,&3#&;'\)',&%#$"3'"<'\)'4&3"5&8''U\(&,&'+$-#2\)/'%"3#$4,'%"2/;'*&'%-&\)#&;)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 ] xS -48 1376 m -(#"'-&.-&,&3#'\)31',$34/&'.\)-#'"<'#\(&'4&3"5&7'\)3;'0&-&'%-&\)#&;',$5./1'*1'5\):$34'\)'%\)//'#"'#\(&'V;*'"*?&%#',.&%$<1$34',#\)-#)[ 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 34.194004 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 34.194004 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 ] xS -48 1426 m -(\)3;'&3;'%""-;$3\)#&,''<"-'\)'.\)-#$%2/\)-'%\(-"5","5&8''U\(&'3$##1'4-$##1'"<'#\):$34'#\(&'\)%#2\)/'-\)0'%"3#$4',&62&3%&,'\)3;',#$#%\($34)[ 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 20.500002 11.398002 22.837000 13.694001 9.143001 11.398002 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 13.694001 22.837000 29.643002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 9.143001 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 ] xS -48 1477 m -(#\(&,&'#"4&#\(&-'$3#"'\)',$34/&',&62&3%&'0\),';"3&'$3'#\(&'*\)%:4-"23;'*1'#\(&'Q3,QGRS'%";&8''U\(&'%2--&3#'$3%\)-3#$"3'"<'\))[ 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 20.500002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 ] xS -48 1527 m -(+$-#2\)/'%"3#$4'$,'#\(&'=/$%&'>'+$-#2\)/'%"3#$4,'\)-&'3"'/"34&-'.\)-#'"<'#\(&'Q3,QGRS'%";&8''W2,#'/$:&'+$-#2\)/'%"3#$4,'\)'=/$%&'$,'\)3)[ 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 13.694001 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 20.500002 9.143001 13.694001 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 ] xS -48 1577 m -(Q3,QGRS'"*?&%#'#\(\)#'-&.-&,&3#,'\)31'.\)-#$%2/\)-'-&4$"3'"<'\)'4&3"5&8''T'=/$%&'\)3;'$#,'\),,"%$\)#&;'5&#\(";,'.-"+$;&'\)',$5./&)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 27.347002 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 34.194004 22.837000 9.143001 22.837000 ] xS -48 1627 m -(0\)1'#"'-&#-$&+&'\)3;'5\)3$.2/\)#&',&62&3%&'<-"5'\)'.\)-#'"<'#\(&'4&3"5&'#\(\)#'1"2'\)-&'$3#&-&,#&;'$38''U"'4&#'\)'=/$%&'"<'4&3"5&)[ 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 ] xS -48 1677 m -(1"2'?2,#'3&&;'#"';"'#\(&'<"//"0$348)[ 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 ] xS -48 1777 m -(X$-,#7'4&#'\)'=/$%&'\);\).#"-'<-"5'#\(&';\)#\)*\),&'\);\).#"-F)[ 25.051003 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1872 m -(564!3+2'%\)*"*7&08494!"#:;.%&\)<+2'%="*7&08>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1973 m -(K$#\('\)'=/$%&'\);\).#"-7'-&#-$&+$34'4&3"5&',&62&3%&'$,'\),'&\),1'\),',.&%$<1$34'0\($%\('-&4$"3'"<'0\($%\('%\(-"5","5&'0&'\)-&)[ 38.704006 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 2023 m -(\)<#&-F)[ 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2118 m -(564!3+2'%494!3+2'%\)*"*7&08:;$%&'\(\)#6\)'\(8\)3&*8&\)%1",?@?A@A@BBBBB->)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2219 m -(U\(&'"-;&-'#\(\)#'#\(&'\)-425&3#,'\)-&'.\),,&;'$,'%\(-"5","5&'325*&-7',#\)-#'%""-;$3\)#&'\)3;'&3;'%""-;$3\)#&8''!"#$%&'#\(\)#'#\($,'$,)[ 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 ] xS -48 2269 m -(-&</&%#&;'$3'#\(&'3\)5$34'"<'#\(&',/$%&'\);\).#"-'5&#\(";8''Y&3&-\)//1'#\($,'$,'\)'4"";'42$;&'#"'42&,,$34'0\(\)#'\)-425&3#,'1"2'3&&;)[ 13.694001 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 ] xS -48 2319 m -(#"'.-"+$;&'\)'5&#\(";'%\)//'>''\)/#&-3\)#$+&/1'1"2'%\)3'\(\)+&'\)'/"":'\)#'#\(&';"%25&3#\)#$"3'\),,"%$\)#&;'0$#\('\)'.\)-#$%2/\)-'5";2/&8)[ 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 13.694001 11.398002 11.398002 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 ] xS -48 2419 m -(T3"#\(&-'2,&<2/'0\)1'#"'"*#\)$3'\)'=/$%&'$,'#"';"'$#'0$#\('-&,.&%#'#"'\)'4&3&'$#'%"3#\)$3,F)[ 27.347002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2514 m -(564!3+2'%494!3+2'%\)*"*7&08:;$%&'\(\)#6\).%1%\)3&*#+%\)2",?CD<EBBBBBBFFGGF?A4HBBB->)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2615 m -(U\($,'0$//'--3'\)'=/$%&'#\(\)#'%"3#\)$3,'#\(&',&62&3%&'"<'#\(&'4&3&',.&%$<$&;'*1'$#,',#\)*/&'Q3,QGRS'$;8''P#'\)/,"'--3,'ZLLL*.)[ 25.051003 22.837000 9.143001 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 9.143001 11.398002 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 ] xS -48 2665 m -("<'</\)3:$34',&62&3%&'\)#'*"#\('#\(&'Z['\)3;'N['&3;,7'0\($%\('$,'"*+$"2,/1'+&-1'2,&<2/'$<'1"2'\)-&'$3#&-&,#&;'$3'#\(&'&3+$-"3,'#\(\)#'\))[ 22.837000 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 20.500002 22.837000 13.694001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 13.694001 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 2715 m -(4&3&'$3\(\)*$#,8''\\"2'3&&;3[#'\(\)+&'#\(&'</\)3:$34',&62&3%&'$#'1"2';"3[#'0\)3#'$#'>''$3'#\($,'%\),&',&#'#\(&'325*&-'"<'</\)3:$34'*\),&,)[ 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 9.143001 11.398002 20.500002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 13.694001 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 20.500002 ] xS -48 2765 m -(#"'L'"-'"5$#'#\(&',&%"3;'\)-425&3#'&3#$-&/18)[ 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 34.194004 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 13.694001 22.837000 9.143001 20.500002 11.398002 ] xS -48 2868 m -(K&'%\)3'\)/,"'-&#-$&+&'=/$%&,'"<'\)%#2\)/'.\(1,$%\)/'%"3#$4,'>'\)3;'0&'%\)3'.\);'#\(&,&'\)#'#\(&'&3;,'0$#\(',&62&3%&'<-"5'\);?"$3$34)[ 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 20.500002 20.500002 9.143001 20.500002 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 22.837000 9.143001 22.837000 9.143001 22.837000 9.143001 22.837000 22.837000 ] xS -48 2918 m -(%"3#$4,F)[ 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 3013 m -(564!3+2'%494!3+2'%\)*"*7&08:;$%&'\(\)#6\)'01&2.\)1*5%,?=/BBHIIJKLK@K@BJ@LL?A4@BBBB->)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -ep -end - -%%Page: 10 10 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: HUCTZR+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /HUCTZR+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /T put - -dup 34 /h put - -dup 35 /i put - -dup 36 /s put - -dup 37 /space put - -dup 38 /r put - -dup 39 /e put - -dup 40 /t put - -dup 41 /u put - -dup 42 /n put - -dup 43 /a put - -dup 44 /S put - -dup 45 /l put - -dup 46 /c put - -dup 47 /o put - -dup 48 /g put - -dup 49 /w put - -dup 50 /p put - -dup 51 /f put - -dup 52 /d put - -dup 53 /b put - -dup 54 /y put - -dup 55 /m put - -dup 56 /period put - -dup 57 /I put - -dup 58 /one put - -dup 59 /zero put - -dup 60 /k put - -dup 61 /q put - -dup 62 /W put - -dup 63 /colon put - -dup 64 /comma put - -dup 65 /v put - -dup 66 /J put - -dup 67 /R put - -dup 68 /C put - -dup 69 /B put - -dup 70 /P put - -dup 71 /j put - -dup 72 /parenleft put - -dup 73 /parenright put - -dup 74 /E put - -dup 75 /quotesingle put - -dup 76 /M put - -dup 77 /L put - -dup 78 /A put - -dup 79 /x put - -dup 80 /D put - -dup 81 /hyphen put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958DE8A836DAD7F577B600F60F0538BC6E9BE63C14B9A5C1A34B86705D93236CB74BA7B54DF6FEB3C84BE399C4CD7AD0CE25BBCE0768E7E850205F2FFEF00E0CE0E7C83FE769387E5DC76E84F50D4518175D9F9DF74470F7F4247F371E3B1F3FEADA4FB5B21B55CDD492B8C262754044E07CBED7866DDD095BDE615CE4CACA29BD97A3A6E111F92B0CCE11F756CEC8693DDBED4A939F1541A4415620484A189CD397C4A7FDA854BAB1A09F379841F6064B080AB059E5122EB3758D8C652C7FA937D3A9224B6B2AD407CD9F2E3BDE57F896C0CD93B661EB6FA4CA2FB3B5148DA2BC64C5310811E590118BBB39058557B2882334C5A21B4B700F2F7363571A370DA71E9F4F30A5F462F2DD51D17FCFDAAE37E2E6C7EC8A0070F4CC015C730F04D13B5391B32D423851653A14D16791BBBDB8BADEFA23EFE458FFA3F27F1B92489BC7230550FB819C2726F820E92630CEBCDD2927F7FA71C6FADCFADD7A024077674B96F73D049FC1B93DC365D14B65B8BB00204B7A694C6A166468C9A3C4B6FC098EBDB42E64D0F5186D05AB5C6260F5C320ECCBC8CE8B61930E5D954E7388DAD0DB3576E7D6368AC8E41DE0C493E7E896C026279F43686AD0404ECE7B16C7FEBF11B5387CB5E522ECA5342E6AA8773F6E4CCF1C909DDA122BE4ACB38AE27496343921B51AAA3B3761675B3B6386F98CCE96901DBDD58D78DB0F9E5DAA4E2473CD61B0F42CDEEAE3593C0D8921E59F9BC41AFF776875F43872E74827E20525C4D43F - -C36962E71B7DDE3F0B26D0A4E0F2B51E4CF6B472BF2FA066F146FB000DB8E16B9853C2B72B6ED57EDCF6D73F7E2851CECC0F404B8F19532445BEFD0F3BB32A3E80BA61E123EE19E2C3DA8EFA3FFE198C7895EA768A9294A4E112D230739DDD525EE6FDAC2DA9E95C473B10666A6146322CF466DD6595F58106C289B9AAE8D27EEF119BB5E35E308E9595C82EA20D9A49F87FA666A0262C45BC74C186A29007F363ABF9585D25011C00873B836CBFBFED3691790C0CFA9F406628DA8A6862346FBFF2E23866C7F208EACFEFA5A36803F5667940D64CD4979CA8C07B4E4409A194F990E56D1B1CEB831CF60BA6B4819FD1A09ADD33C3606B24690957BF11F8275C7B244FC9F4B571D4464C045D47FD43992C31A290AE5ED83BED6ED845BD8876C9905F8AD54B3986174AD37543DF483D78254CAB7E6FD67A5F016E61515B84BC81C7111F93960EAC5A9043075176E90F6B8E5DA5AABAC1C29D481BC5B6E076CAA5A73D811DFA148C8272C9B82EA075C242103DD8A1766D5779819327C2CF675FA5432A54853C998679C044D52959D0D0BBE80BA867733D3CCA8A182BC21D7829BA1E988B0C127323D51CB81A877EB63805525FFEB520D7378B42AC635C814E6CBB4542DB8D960CEA99EE0483946DB73A3CD3FF5A4CF97B7738E4D1C0269E8F9C2EAC5EED7CACB23A9E885D8D60A38DCDDDF6C7AFAB926DECA21635A7839C24006413FFCA07E13DC9DF1CA52ACE6F29608586BC5DB48F15CA149CD35BD056862FA4F876A2D274DFDBDA03BD9153FA845DBE30A9A5081079019C5E783D89325819E00F0D9F3C98020525890566B3D2EA3D9051FE65F355ECB9D5C8F30E6F72CB55D4494E66411E699869B190BE39B67574DEFF50F183C610AB4B5127465E14624FAA4B9AFAE9CDD8947FE90B32FBCB53FF2218F7CC98BBE11CC0770BFE7AF10EEF6A1B0397C04B6FDA99E3B3DE0C8E7A9851995C1C892D8AA3730C65582739936B01901615F8B7786881F5BBD9E3A6B1863D1F4CC5107C48C2135D91B738F6AD95850BF921F24E68F0645068C8D9F504E817449AF785068FF80402C5FCE1A277F6BC33B6E1054F9AD03DB4D2F09534E4CFD2215BF4791A18009D72B8FFE8B44EEDBFFC6C47DA33425AC526A173A59B9370BCAD7FBC938CD534F1A73AD8FDA30485A053771EACA6EA45442AA0ABE3D0959029A0E8C0A0DA1218118223328C22E9CC087D86C1FB4618A226613E8AAB5B91302350C719A0BA8D53054882D1A75E8623447B21B765A6DC23F78CC84DF75D973C84931179FDE6935F81ADE5CDCDFFDC59427AF937AA45D9039459E63CA067C4DC34EBC4393E69116F09EFFB00B375A9E19857E798ED93B4F060B969BC4F5B02E374253197000BD25DE31438959BE43A8BECD366DB4FB4F0CE22AA31088C3145ECADF2998C4425ACFDD4C52E90BF5943B1B4 - -5D46BD0A87BB13D0DC715D429D2B65F2E9CB2782CC696968FECF09F3C4F1FD19E6C70B5044C7BA289B4D58D27FCE2CC83327FFC8E09667A54BE33AF67C1815911345EB2EDEA3D673FA2355FF3166C3B9ADAF9A80A81DB385C1025212E3A5E84EE987EE14AAF2643D55810E4DAD0D23EACA80FF31A074C3A8B21817DB84B8A84A11C0AC600569BC917971B6153B26D7B30BE383C6A7751CA4338DC3238D79B71A08658EE432FEC993A8CB6C097D5769EAB756B51D0EF16E4E4938D98070F143BFC89DE2B27D85575268B6268B7AFB4CCDF2D9AD17AE71817FB86EFF205272C7D761016220A2A86B5A831EB4149BDB746E2FE79627B4B1CE938F0EDC324EBAB31BFA992795E975B3973387C2980B6641284BF1FD5E623C86EDA9B335E2160CEE5B0EDFACE7A4571DF2E5AF159F24D687E55236BC55C56B939F58E5A3F71034954BEFF6C3B7CE6E582DE00E5D3C6141F6F6A6E2569013B2B1FF858C6B18593AD0AB3E62968E7657AD8AE795AA33D3B603D7A55B25C8999865D1FF7C809A19A6008136547499FA0E381CE408F9AD43CD1FA89E537C329352678DD3D5D47782B6371123E74EE45ECBC863BBBD6BCDA87EAD4DA9888E532A8D7DF44355123DBBCA19FE9B07769B0C6D266C89DF02FB8961602096F6BA3164BFCBD09694D2EE1D4956359F9352C4FEE1236A1BFE3ADF42BE0447B1B388BB62268DE9DC91BB607D69C765DF1687039387D0CB96B5B8B1BB7A0AB2A921BBF580C3108E5098D4E60BF8938E19EC4890022AAE86DC55BC5782F824439BF48A901547D7F10B40D188E926940AA7A43759FEEECCAFF82174E6AE81BC170CA5DEAE5B1E0217EAF2C316C6BD1FBA47DFAC33C7C3A0BA02FB0BF07E9EC5A3106E89036B48679138D6679A9A9299650358327F1C2F8491E160F2740AF46DD0B003061E90A708426D7E26AA9879381258DD2EF7B9DE07AE522D98ECCF86F3E8AF0D9E6A90D206BFB15507229E78923DB9D8CAAB0CDC560A8074E96109ADEFB28665FBAECF2BF8C1A79249279CFFA95D0DAA6BBD11916C781E9AA220CE0E338D7FF15A7CA46A471EBEB79B93BEDE02E175CD127EA9B98B3FA03CF2593BF3F0331C7DAEE0E10CA4A98DD132D33F8774701E84ED953DBF4686746F0C668E7AB3C83B6D192DACADB0C69524581C48EBD22A26A40F46859224C2E11D1257E83785CA29EDB07F5629B2F1725B8C930FAEFB230E36E2E8C1215682A3E5BBCCCFCBFB30AD8DE16B61FC34BC33D09413E6D1FB252244E8DC2F4EF83DCB3FAE3CCB0D80301119C6CAE2515C28F75C8AD70DC42FD6D498F8EE77D55B566C3B46776D23CD54CD152CE7EC315683FAC3A4C0BA6D011CC6EE2201E85B491C86380DB6A1D8A212F7768D145A4F221930A83537A4C9336AEC55AA1E17EB975BEB5462B31E1E3B95631DCB225F7ED3678471F26904AA5636 - -C3E223BEE36B579AC00ACE358BA3851BFFBCBBD837D709E7B91FE85E3306FF2483A8861CA4DB7A0CA24C59D13827FB9F38E4BC8FA2229780BBECCA669C70CAAFE1C0F039329FEC4AB70E4BF4B2CD99353CB900D91ED25C784571D493FDFCE6FABC2435CC061DE10EFA9323EC3E095747F56C50AF23C5129261AB9100F3D75DCB8E6725F9B5BBD30197E72AD12EFFF9872F7354932A4FCE9AEF74C78D55C25E7C85F5985118DE2F487187BA6A50154AC001D1DA2B6A84AE80DEEBBB87A9B9B2CC27F334217B0F6A530B73FA95C03ABDEFE84DDD5259881F329CAA5FBDF9F15DBC94657BD5BF3F9212ACBC15F0C955948158A227FF2F5F636069F42E6C596C49295AEF75D69CEA4A1C6364EE1B43413827FE8B54E065666DE57F3A2410C3B9430B4CF39E28A5A37081D73A288380A0403966CF0B9862F698BF274CEDB75151535CA13795BDAEF6CFA8CF73378230F81EEE0F14D9DF4C6502F753E88A8453096BE8E2E4D2507EC9A4E31B93D1536A691268A8AEA005823A22BA5CE62F6393C40B0B81200BD825F5A1553B067B6292F2EA2916498C7982DB248F1ADD793A937B625FC51DFEBAFF6FA38C131B1F5E6A8D75F97246C06E7FFE0BCADDD29BE47C90777A84E79D16DD172D5F5612A4B00AB218B8DC3DD08DFA1EF25529115D508B95705758E24ACA4DF7C01346E51FE92B4122317D5065675A6033E1F3A3A4AB37D63624A5308E90F670843AD5645B60D1CD1B2A22E44C14905DC05BB3E8075F9894A6DA87F0D1C6C7F61B15EEADBA987607B7C3CFA74E6BC6B5A196322058C4255993F344F8F509AA563E5C9F28750A3681DFAD0468C6D1110F249A3F9801E3D46BDF0C066AEC6FD4832427D1C27828FBC44788F725F0A9F18B31F1D3D5236EC1CE02E31C9E51B555DC42AD80038512134E2987710E6F33E7E583FBF04CDD1C033DC579546636D2FF125AC69A399C6C94E3430409486036EBBFA8CD5550406607B040B57E6C00C39F2622505A4A0C434060E8352615F51972253985C5CD9966985691CCB4336DB85A8BDAAB9AB86E9352FC2D495F10723B6757B522DB612402717326554587503E2CAC4D4E40A52941DD6C74BA940F1860A263408133C9330879659ABE9E33B014FBBE092E5D4AA7D339D9CC82E70DC4BF4EB710AD1434C6988038BDD854964E3AF0333A45C1C7B0846C31956743CDF953154D76749EAAE104BD7AB210957C3B6E27BAD926B9CE090DC0B1FF1F92CC46DDF9FC45900CF3EB18BCB664CE4E89B4D3511C1ECDEC3412AB5294E4E15D53E5B2155A506EF53FFB876B1DF34EC8D1F97A10995B2F2782DD1E82B00ED337E848BD84788CFB730D8F5BCA138F0CDD2D1FC64EFB6B780B41CF28727413D7F27E3183E6700D19572BFE1631262426D249C7422AA4FDA4AD398D06AEF478ED9ACBD9C1460DAE9C1605B7EE0328D741 - -677C1C370A034C496667C37585C95AABFDEEA5C06AD0B330A56E973A722E245E17C272710DA3CD327B0437192C57F99EE103B7C3B5A777D0DDF64A5BC3FC3D6B2BE8F928F146D3CBA8FF7DE472C839F3D37E492DC584B10190AD2CB2407D2D83043E422357B712F900AB6CC062796F474D1CA8701451BF353283A72F6E679DDFCE4A223E7927F95D038DE4296615298D52A101347809D9BC0D8A1DDDE058EC845B1AE37E9D401B956F2E4CB7FA82ED48E4E05DB786EEE68095B68123E94B6E0099F786374E9338FF048E472B19255391067304DF0B69B14D783E98B700BF4A879E41F921231EF24A19CFE005560E938AC35BFC55C579A7E7CE8D76A10E0B92A99A6A6300FFF3DD9D4D9684DB001D9EE4B15B34CB91852B7223828294D68F9AB6AD45566F41191BF6E3A10EB7D5F63773A47463F34DC7A3ABFF3A2E4D57994F4D9D2CFD448780FAC775E67496AE1EF43B7DE3FAE9460795531080B2709437897E95A881EEBE69B8E4560BEDCBB90AB0D8EF4BB7CA1E8CD0773F89744C623B80AAAEE941C23AF14583DAA063817CAD95D55191CEC5843D40B4B819E71AAABC5664F8DF71DA4A50665CEABBD3226EA26ED25847ED6990F5FF7BEF7506B608C3A0D901F8DC6B28A529F46F96E3706528A62F92CDE915C3E8EC916CD458F655CF3425D4F6CACAB00491FE6ABBCAE048428B916503AF9BB69932732234464439DF80EE090219DAE7805359B986CF66D52EDC658E1053808D33559DBEE8B7500369D73181B25840FD2C559335AFB50871966D3A3439D333164D8EF9A18937258EBEC65BC9D46E621B42DB134FF173A1C1F6C92C1D039B85750E19D23E6959FDA7D833D8EAAED16EDF3BDF02241388FE9FE7093E6527F116762C2FF4350CFCE8AA7E40B8CD724736DE47584CD8154DCF06CA678EF1FDE0B4D41564581789B9E8D4A8B77973FA82AF80E7F1DE9078DA81F649923FD5E0B5D39197930A9A2B43014EC6BAFFF5B9E61A7E9B0EE38666A8278DCDCF469FD1D9DA071B407B6C5758269D8FF32AA29FDD9EFFE6F09F2276865942B6422FF0DDD6FC57DC996D5170BAADCBFB808CA0B8B786A125E67A41AF5D3CEF6704E990CFA5CAE0CB5060173FEA3C6A713BF6F6932BC9E9182E70761FC9459B9E9B9EA973D1552D7960A95478218D05279CB178F2AA164CEEEF2494638FAF002A17FA8357B4004550FFA70D2B6462989481893F659D5650DF308AFD275367D9F7844CC3A79AA38EC74FA824DE5CFB7393A3EC56A0158E6B8A19A0D785D911F934B41A901222334C5DE046466D7F79279ABFEB9CCCE4343D855DD4CA878193A91C7BD4A2AA16CEF3056E2424626C381F53DC07D44EB799C16E4607F42495E1239F41D543EFEBF6B88C75614C557150EB1211F831AB225562D2542C94976353C2A4577D794C557BA59CDDE718C0224C46B3B7D9 - -A257CD445DF69CBFD53E415973C26C21A115A519AF9CE7D45F278040D8B28EEBBCFCECCC428B75F46F11D1D927DF7A84CFF5346595BF6277E1EAE8064EDEC4F9D99952F51EDE400AA82C00469BE85DF2430EC9D73569F431B82AA491E590BA3E3A06FB7A31E0FF0C4F4B23D26A1BA57808781077ABCB61ACF11F6C1D10A3800882A6E3DABF8EA6C7E73CF8FE5F3874FCDA7D337CF12F56DE5DC2091DC84714B99A1C491F582FC99A52381BA27596E7C9540F5AD72ED79CD1B1B890660F751B40804CD526F06499BD600BA767B303524E64407F103D2611C7CE339C42AD75AD87306764A987588243646E7066122CCEB120C53975701FFC72F077FA16A4298BA18DEE6DC5B7D69983288AD3B66018C4B0B4D541EA661BF38D0A860A4E3A807BECA4BE1B03C4A0356BCEED2B66B941D9CC08DBB83C6E2EB64C689300A4A410CB59F8E81E2507365AF089696A4C593FD9AE94C390A9AA6BA5CAB261733C8D24A78120912C29AC3A5999E6EE73CAA2284D52A56B385BFD3BDCDA25842539CA24DE793ABA1E40821384CB3AD2730E203D6E65653A34D29E590E823D24CF77D0088A81235B7525B60EE9D22FCD3BCCD6F9B2279AEE9520719F68A6435F3188B8FE5F4E4E7ED61971419DC7B5F763940B8387A1666E41E61352EF3820CE6078A939B14B45DFCA808708E4C36746D48B8138FCC19CA8199B77BDC3E1DEC0C447A9C7300F11225C7BF6225364AE82E314DA976FC3B1D5657A88E2BDC88282A0CE60E136CDD036D48BE4E91C5749933FEFA8B6820BCC49EB3E56D09203351FB792E27219BFFCD2ED0F5313B19D5CD2C43462CF950E105E9E9346036B3D0D4088F67F8F0BBA68AD4AEBDF2C776DD7960C34A6F91F148BEDA1A744504434D31D9D493CEBB00081B5E7B1585650AA61D772EE45E42923C9D6C642860699402480787A00C2A7F9EB74EAFF93CD4C52C94A28E057AC6F0A237661D1A3C9EFCF080A9142B663564C1FC7CFD38299EFFA2A163301D18D696948357F2F878C603FC554A3FB5EF4A35C32E62C8F9A53937F6E45530117A478D8F1EB0A1458EB88CACAFC89E37858514CEDE4ABEA10721D2BD82D5BCF2185830D65EFD13EB6E29A351ED157C49E1F76A9EFDF600BE296AE53EB2CB62518518680B2C3B9F892C33C1D901F780E20B117577093330115070CD42422BEAAE650534391E1FD107A21DDD00ED0C0AAD6588065C271F786E9396CD22DEA7264D5093A13D97FE2BC89643FE70662214EC145CD455A473ED1B194123954DD374CCD1C8EC083738FB2033490ED98C39A643A2A8476DC37066255007F87CFA295B80D14CCB6025E744E2626758599CDB21B6CFF5421DB51F1433B0B79B712A2407C8DD7E0DAE682D7D75F2D79FAB8E9388CAE67B150D430754FF091730AB3319C5B5E279ED8CB98A2D0B36BFCBB4DBDD2A9BF20A701 - -95BC08E3E534FC5C238D8C7FCD3742B3BB022E3B46C33DCCB5AA4AB627167733EB4097E594E9A8954ADE8A30450058454FD2096069B8C8EF9CB3256394AE0A4BF1B153610DEF80D568A385CD206F0D70EEA2B0A28CD86131ED2645D726CB0CDF17E6BEEF8F7526997F8526B2B3F046ABDD4DDB9C0895A714E51911EF6D97EEC3BA8AF3C93E55911F1D4A087CD8369FA56AF3E8C4E77FEF505E2C0ACD776A33BCB7DE76582A562EFBB2CE52B067759BC3DDC5ACE9321951DA844606E9DDE68A1D1A6C2CCBCF436FAB7BBD82AFC14CDF334517F288F55388CFB13CCCE51EC418EB1072349537782E1AEDEFEA9D166D9485D6B08FB6AE65A11BF7D5CFAA5A99B0DEABEEC342B79228725191C0931BEF5FAA10EB038B0B2E1A8E5A2DEAFC3A9B4F578035EC09A3BF355C79FAA2BF77D0F74479A69137A874A13951114F4E597F6A78A281C1499180259E67A162221BF597E8385E08B029F8D137A22667BC18FB04B06FC99EDEEB5FF7FF22499670D2A85926E04806E9F0836212F686ABF16279A7975459D8525CF1F67ADDE1E0E4BB22D5B157A370A39B4963FC9FA85A038856B9EF5F23B2FB107CC1A5CD8C145DCDF7D9428DAAF608C9902B1D03B64190E2F327628E767B3517861AB9D02BA2C434566FD264C119D7BFA061F4C50B1AE7F190D7116D9B4A72150C0509 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/HUCTZR+Helvetica cguidfix -/F1.1/HUCTZR+Helvetica renmfont -%RBIBeginFontSubset: NBMBYC+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /NBMBYC+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /m put - -dup 34 /y put - -dup 35 /space put - -dup 36 /dollar put - -dup 37 /s put - -dup 38 /l put - -dup 39 /i put - -dup 40 /c put - -dup 41 /e put - -dup 42 /equal put - -dup 43 /underscore put - -dup 44 /a put - -dup 45 /d put - -dup 46 /p put - -dup 47 /t put - -dup 48 /o put - -dup 49 /r put - -dup 50 /hyphen put - -dup 51 /greater put - -dup 52 /f put - -dup 53 /h put - -dup 54 /b put - -dup 55 /n put - -dup 56 /parenleft put - -dup 57 /quotesingle put - -dup 58 /A put - -dup 59 /C put - -dup 60 /zero put - -dup 61 /five put - -dup 62 /six put - -dup 63 /three put - -dup 64 /comma put - -dup 65 /one put - -dup 66 /parenright put - -dup 67 /semicolon put - -dup 68 /q put - -dup 69 /u put - -dup 70 /quotedbl put - -dup 71 /S put - -dup 72 /slash put - -dup 73 /E put - -dup 74 /backslash put - -dup 75 /g put - -dup 76 /at put - -dup 77 /braceleft put - -dup 78 /bracketleft put - -dup 79 /bracketright put - -dup 80 /quotedblleft put - -dup 81 /period put - -dup 82 /braceright put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958CD97D0053BD1790ED66A68A35E59880268A83745F0730AA68F4871781CF22E6196CBCEF67F32A36D3C030CCB2E3DD8EB7ACC96E2892F239D2221FE774B74555AC17BA13A7D895A96EC5A7DB2E602C9568D723F5DA484C740B7E6A03C0699A65BFCA666AAF988B30442493D47EEDBB21864B1A028886E383B9B6669FD42C71FCB2994D4BC26812667481874A339E7C5487112BE3BE8C8295D8C2D29F3D2A89C7DEB5E7260E02FB8BE70E02DE1DE1B9122ACB9688FE90388F3D8A9DC58A68F6E880FD63D6EE84D36C057249E56A7AA768273034894A4387723000D2C77B09001996B88CC83FB3A294A29C7E5AA3515067E05CD69481D43A4018DBD484BBFAA398FB80EC6B3914E8BC96F223A94EAE357A56047FC51E696EA3F48B9278DFA52EAEE18AF518E7874B745CF795F3176EB8A8B7FCD07A2D497B2A79DF2AC462F0A4CE89B88D72A9243F5F85A619638327FE6E25E9EE30F7CE5B00D40CD8299E1F189D60B761D10037CEB8A526ED574F49149BCEECED7B906881AE9590C2C198018916075285CBFB0AD5CE9A2957C68A9167A860BA135258CAF15F50AFCB4FCE2843965F1B1F9E066FCA90F253C60CB038C8F9A11579D3D13C070869F1937696BDB1D37C5D9E32BFA6BB476217FE4E8934654F67C192EB613F42020C16D9177DD1DA026BA6317CD8EAA71FD1B7FD69A5E31043DA6DE137B51F3CC583A92A1D0E41DAFC567B7620B4FB163B9A9390A9CB9F7D8ECA88EA175497FD75555BCBFEE7F95BC4 - -7A9A005F25DB69D3A883068C8A31FD8BFE3FB11791E5DCE335CA7AEE1BDC38426AB8C17CC96236D8C07312AC8E0F1B4065F1D3F26E89DE5A9DD90259CBA51A48F83AF59A5536F4E43FB94F39B1D6D3AE4735CF41E08C0F1175CE647AF3C93C279E2B583B98CAA999B83CD14112D0064D7FB7E1231EA6AFD84ACD5919883938080261D0FCD6D0C66FA816A9926E7DEB08BF524FC1D3408BAAF5169FBC88EDC1B34620419746FF34BD0CFB7E9311D936086C6DDADE803F45F863441C518B5D5B17D17861A2F487A5AF5F82F4F50E425B4666AE871A3D780967836887B0BD01258DC620CBBDEBA199B0D22914F10AF6F45F8129CFD970EB804A4644E5FA91E9BBAD1B8277ED9C90F0402487EF3492B082FDFCE6D4281A1645AD9E53489A630B8D891799F6FF6870CD50E700106804D105050DAEFA958F5044097EE5182CA73B4750D8A02FC958545453C038FE659F72C6DD5DCE8A351686B1067AB9ADF6F823F6B0241D7700822CFEB679CE84082807AA42B6EBFBEDC21C4C440B972E22D2C9E1A3AA64257038184DB76A58B569298EE8468775FA77FFDD3F6CF1BA8A9F5613F71881DB742F86947C6881A082F30C8518C91D1C651E534468389A06C9725D711786417939FF05BAFA4414ACCB1AA3823E9144A53385D4FB6C5DB0B3E8308CBF1DFC4318D43B66499150A337E43DE746B337F8F6F838C90CB0A2BCE74BBCD9B3961BF80A1F97F904A8D8EA45FB4DF78EF637C6AF968FC7423209AE9F673CCBC3E7E3513B08D1EFF1B4F9A1A9B6BB732885BA3A482421DC752E68E2611B8E0A205EFD26628FEDF49C8EB660F50911226E65532685D45B866C4F66C47E0960E1BE359D73EBA14215829EF316A6FE43E1D5BA66BC9B9EEF2322F16028D5EE1F52CEDA6CC38FE3DA813A1FC4838CB13BDF0A1DE7B0E52A8747B7D85D76FEECF3CB07A2390C87F1DBFB07C812CFB24DBFF122846AC7EF8C3518A2B378D8C308D321A6D301CF1BDC1980D31E369113C8DEACA40D152FC5F23A3F0A1066FD2CA605FB9FC77119ABF573646B847EBC88235F5F1E24E0E2FD0E9ADC36F0E2708625E4FE30CC56094144E4EC465C301E69A57A9A2926FA11501280AB1E4F42E3F1A00621FAB46DAD575BDC42792B636AF7FA88E731432AE78EAFE9122699873E38408E3682329B52E30A723AACFA34A5B30A35CF6FBBE50B92F6EDFE9DCA6C2C62E7B023EC2E181948E3953AE62A764F4E5FDB5C84A6902748EF39EBF63735EBF09E97DFCC38902B3691AC102D4AE0256AD3DA5DC946A26610338C00CF02A0D4830DF088B3359DAC26A609AB94E26339E0A56173ED4899C1C26360846B5E676BAE44119CCE726171416855699B1CCD7A9741EE14E0FEB60A5AE61DF2AE02A33F1C1CFE911C923DC0AD1372D736B94DEEF0FE8F856D008086C7A7B67A9D40FD8A1523145FFC3B98 - -0110760B9BBE7A3B98CEB620C5183F66D70900E173A5BF838168036BD4EC380D78E3BEE487D1BA7D9D7A21E3CE2EF03A9B0963256473D20D83F2165B84A8C9D5FF679E25CEC06272072D3018AC9A0D5BC519EC6C0BDE9E7AF29CCCAABF2ECCA8FDBA48F373FCF4CAC31EAA7804DA8A7C8CFF3C2B594CA7198D177A0049F42E127FD63CFAC0E39545A5F5489C24D9B6625FF7711F4F7ECBE2AB2173A1DD27C7A42AE219753D865E69613EDC6F658866B7716CEDFEA0CA5C081001784A25D230A80D510D97C0E549C06CA48D76208C989122570BDE6ACFA42407A1AF9CCDC08B5FD1E27C3EFC639FA8498751EE0C7C285A324044A147C1284419D8B3A7CB4D4BF12892BA580D06707ABF06FAE6A828D65BE19E54D41036967089213CA79D4DF09B13765198B3486DD38DE1C4CA8E0B5B24FCF3D6E69B8216B5FB86E6B2FE3873D4DCA61F207CD8C2CEAB9C555D3CCC976B8AA81AF5509809FB46F9B3949F7A795D9BA7564D15D8485347F6238C7EEC3C2571715035ADBEEEE3F0671F2C2773D71442C0CB64D0B38AEFF8ACDE4CAA9ED22F4319022FBAD9F715492EC84C31D8253BAB5913C14E2753FA1818A5872EFDFE88477CB2396F937CF731526D09F9D62827A17C58952BDA051AA622A7809655E2B634BB14B43645A159D84063F63714E222F2AC883986053B7536BD04CB6FC8E1E8D711C49B40AEDF050A2BCE15FBB7FBC39381D679613AB7B6DFBA159C9B80357ABDFFB36A3CD5B6C4EAD1CE62AE96BEC0583C6CFFBFB615BF9F0C2AC9567F3C7D1424097FBA7429D0F8800CF417A7D18F5B0665C3189D7B261A8D367755DB584DAB3313D0F203F91FC495EB9BECD573629E8C153B9000889E970DF1550A74D9B21829C65D4345D03AE9C72BE19E872B080D77573990CC499DAA05F576005A61EECA4AD39842A469CE0912386DC5E8ECB5E565080E5592C0FD40E01968C8088CFD3B24E6CD397B1FA55C25E3257D198CC48EE6B133CAACF0BE179D50CB62B7B454FF56C86C06FDD9E2E8E9435D35809BB679BB72957150BF36ADB635CE306305599C9E113D9E5B258AFB32DA52056E5E757EF5E8C4DFC0B1BFBE19CED78B806AA1E04C917A91E6C02A1C48999309F05E413A51AD8D1DBD4C4064C481731781E85EC917BA8B3DDA3816C938D65880FB25DE99AC0702601A43746100F8D73C83916BB6C802785DAF9FA17F57E8799EE5401B317E92CB6E36F7EBDD73827BED223533E0BAAE6D57356FED42CA8F01B2F304FF6CD11BA1BB826A136E940208A853343B60E89241FE042909C5B507A1049C314E17C54E012CEBE3B5A9C215ACC73E77BDAA2A896AD60CB1E8E522B1D3DC022747332333C70DC43793BAF5491BBF61E4CE4A8477B1651B9E63FB985B84D5367D06F643D32D40BD647A0F35B4854FFD4D9A530FEEF633C6BD69568AD0E2F0AF8D84 - -2B6D1278076A0BC70BE7A66F84361820087B707C4AD7E57C7C29376548B8AAAA5A580C1B9F299A3436FD32C2902AE2625D37FC84883894E8DB1AE55925B5D17E01873CA942BD8618F7202E733EE9825F461AE6CE0D970D008E13F55E54CDFB67455E088AB90D64BC4CB8F0588580337413845163ECE3E991FBEB57D3BEDDC25DF352A8E26DF61F5711BDEE436AE3032BDF7CF84DD1E53090A35629CAFD71A77634089EB5AF7AB67D201B9F1794A7EF3896DBCBD2A851920FDC2EDC4DA7A4F4D8DA21049A5A1C0DE64B7EEA2E628FB48582786BD766F0CC76D6C6E6D141A892F9DBDC76D986E9F79D535ABE392F8FEBCA39DBC4A32E51A845D21AFF2CD5A7F6AC443552F52CAE188F16D49B986533EAA76C1A8B89F84C9A5F05175EDF01C7D5DFF677D5AB2E0FD05DA5E988668376D29882AACE0F34E15CBCA7DC811650A3C600C870A6A5638AA3C617D44C75754B61E2FA0B0C8456EB53B8CB1CC43E058B83F48E87A7880274D8CF0B519A8D51B8E02E81F332F31C23B026FB14AED184799D3205DCE009FCA2D248315E46B182F4189A4B9A7B6329FCF505F4D1F484E40C032A7820E4C6F58742CCDD6DDB07233EC31A6877D6D5C9CDD34BC2E0BC8FE9910F92385E68F897D6B54D55227355C3A264B23AACBB2555EE5A93CCB68801FD26D97DF09AEA9D9CFC00E545D3DB42245AE5179069AE672AC22A7619B919650335AC787D83212C24F10664EE9FEE1CE59E93E4E2B4B878B9741433E594467EF8B8F0DF652942A6F343FBA8676217979D2A59D7F48422A6EC1AF9CDC176B8CDC7C5308DD62C0E810E79EC289EF53D2AAA597F28117F36CF8DEFFE4C6D9F6C2C9614D915D56ACE72B6FB4196367B7A33ED82F63C7143FCEAAAB76F449F454F2DF7E2C4E4FC21F32D3C4F1EB00E18815DA0C2B55A0909E4F64509619AF540952ADA07B2436C64802BBC44BF7602EA4F8E438F1AB5D7732071C09144072BA445A347163EA90A7FD6755866ED57F2901C46903384DB3F876D451D16B5ACF861DE3C6A74CAD7A9E504E94C264255BCC74B681C5595FA1C76683C9467535256FC8997C0CD262533C1C64389C2441C4A1E03D27A4FEC74551D8DBA47F7E1D6A6816E58BCCABA51C8E02056AABA4A236698F7F2F337F9CE68313A4E5CBC4CF8ACC4B4B58A9F643AC44B97BE1E853DDF4B0FDB498E40BCD4146069A511390D8A0BEE7E6489D071A9B8F03A97F0BBEA57CD6BDFC34502096FD588399CE1630886EBB89C7352253659167E1AE873F22878EAF6B0A71904571BAA046A8FE5E59FC3FFC67752DE249E43E7B2075184A1A409A441B186773F660982765FD31BB618D61CFB3C38CD94A8E77546B5A4E9A049D5CA51A8705BF13C356889AF823E217E5A88C640E16B5534458B08C75C9455FB7CEDDB4C4C04DD8B412DE84B2887E012EE84637FFBEBD51269 - -ADF810F442A3B3432C20E145F0AA846AB772F97FA0B81FCE3EE48CE4A33AC2BE21F5C732B62FC68DE38091E41D5635A317220010B9D0C99849B712A27DBBC8E025A5505575ADB424D387D51F6B0E579C5CDDB87D80A95CFF1DD7EFD83FEF1F39AB72EDFAEB700D9240C75D4EBEC18889A1ECB78D745891F924B4AB1DC5BE48AAF2AACE5DB5E883AE25720744D56CB0984AC81338E9D1DA0AF5BE4F1F4C4EB84DA437594BC2007738FD8B3D6DC9F44123194A07C84540190D4D937588013ACA00E5318723EF81547F14BF84453F3242583BD083F627532CC9A3BC3384B1DC41A601D36AA7FF8EF71D2C32F896F83ED81C6602DC5A7CB6C8F2F2619FA84886EE9832A43ACDF09C670B6D06DC471E4F0FE134796BDD51C195E36106AF65AF2586384F25177A3DBA8B22C35DE889C9AFA78FECF2A755D5309E45C19E8A938957716376A4F6DCAA2B2C9C05EBFC4EC0A4DB8943B3765B12E826EE2FBA0027024003C8BD13403D36DB46387FCD7FE4AAE05D87AB3A43D12A7621546D6FE192025BBAEE6F62663C00D20A541D20B6BE312454033FD7CF4348DDD43AB361ECDBF44F52D66E005DCE8F84E2BD59F607DF1631ECBD6C199872F81D224E0BEB1927FC2D10F3B3003C0E5109FFD664A25D812B0F65BCA6E1CE7EA82EF41AB4C5187E42DE41A1724F6A12D50A239C0BA264BB529D99FBDBA021B63D650DE42F810590A4983E9E79461821B32013BD32B56781EC7812F2D2D0949ADF36DC6A79DE848C089D62CA716F0593B1EEF6CE29EA04F38056009E07ADE8A775A4833A2C513C71E80E33B42119953AAD1B2DA35D220885C63DDEFC5C6793F5EA0891DD2C14C79B7511C9917ED0099AFE720C4A30BE460326F25DE3B7FE263B95C135359F2DC7F8314D152CB967F7B9D51403B02E52C1771A6358D620A487C9EB43CDAF443C522F6DF4DCA51C320FA7639032D654B0C69AC4D6FEB143C99ABC8A1C226D20BE2DEB3FA5BF361DCF61CD8BCF505616BD404B9927EDE41EB67BDC280567D86F2521989F538F890A112AC762F644BE3E153686E7096BED9FBA7F4F4921C186054C8DCBC830C601CB7FDA9838624812251B1CA838372E808A836C6429ED81E430B32A391489DDBD111759093178BC13149674888184F08D6AA7DF986F36D33213754BA064F78FB11B18E6E408555B1287262C23B90E972DB3AFC7A2CE9EC8B4F915DF25648BDAB18D04EFCA75014006403A6DB9E8E2E701F3372B44389B69CCC13E4C9CE37B0B0A1C8E06996E050520E54931A7F700772C4C18BE057A87BEEF3E2951B7398EF2124E7C56D10E5EBF2982D270E45FEF920792E97C8D0787CCDB4381ACF2CCB60A2D12A34FD73611B1097FC55ECDEB1A548770B59A46DA3C00B09E53BAFA6D0599D77AA579EF9DA5C9A86CE33E86586F0B1791B019BC34E3384F27AE197F1702614F - -9C28423436E2B13260FA5A1EC6D97BC59FCA0C7CBA72136D94CE35F10953DA6F86D5C01B7A707963EAAD767796E1EC1C4D28BCB9892476E044F4956751BBA122BD46FC3CA01726E8AC5AD6DF7DE5223EC8CED4FEE115706631AFF3DD732434AB88EDEC435AD6D66597913217B3DED8D9ECC7ADF26366BE3491D60791C92583DEF48926F387B571B2A591938A988072CC1559D6F1C26805502C37EDAE85D20ED55F500C3FBA81CAE90DF85CE41D4955647C28631725965540BC44930A01CEE867EF11C8549919FF767B4D6487A3DB0654EA1FE5D4C35BEC79CFDD9E41901C4AD49E294C5F86D3C1ABF98436C2B5949CAE39F33EBA1546132938DFACDA4C30CDAD311E60B023D009172990A13DFE6131C25A10D25ED84D81AA318926AFBD1B325D5C8A98015D5539B2CF5CC41955DDB139D006DED041E1407496D850E8DD964C133835E73297ADBC8BE76431D312DF5020167D34E5B27745CB2E1EE196DC43B8089EE3AD269694FFD5046670CC7BEAFAB6545A03F1677272A2845194C3E5A9B55EA7BFCEA43FA197026A2324F08AA0EAFA65C531B4796D612DFA9BE11F49A7743A09C7437EA18A344980FC19C2FA10E39D99F3A197111E1E683ADA63A6A88E0D669673B4C85D5FE9A66B1CE5200D360453872BFFF2D374F448A7465E6D8DD4C472DCAFC6B9A7D6A0826D7FD3688A99997D65E7DE474767C6C1FD9F56B8175FC77D449CB378E4DB5B532A5D020B2AE04BB0075ADAD3AFDBBA5B40F6D10CF61F0DE89F287EF85BE7AF9BDA1AA1D3FF9E7CF1C904A67AD9180A7175B4817E09956DE11EE849F8D1CAD8FE643AA5C472F1AE2890212861FA6C65AAEE0A97B57C4D132A2FC81F15C0D621933A00DA3A24860A54DB869596C4AFFD2274FE7A3F458810461563E66294F4C5F0F212DA7864D5B36465BFE37FF8A1C79D629FBC1EEEA1B64E58900D5C5951ED31CD5074CBF8C98651ACD3D2ECD64ACBB1474C5547F1DCD56AE672DE602007B1BB640860512938DC174F7CEEBB33EB7EED5872090A8148C89335BF78BBB2E00191E2CFB5635E7E37E7BED24809DCAEF0E37544870202D105455D94E824F84195314CD082EE2D9116136DC57A71592C6147E77A5B278B87A4980A39822EC5213F99FC42B451CF919B70AA8E285EBDCF306E5AA2C0F03AD5EF722E0A3B3A16482B271B7F73DB02169E111DA5974A7E1793C85A2859E4363CD2B3ED18104197E84E64C719CBC4627613FD6D52D639BB44734565DBF83F490F17B849C0F3653AAF4601D456C222C585FC0094C347E0BB153D0CB0017B9C8BDCDCAB444357958719EB297848874E5D7140361BA7D474CCBFCC3172C339031E62611F79A340B1D0A4F21F50DC725097A76418B7D89140234B3D3C4E1A64D1679AA0752131ED7E5952BD02B8D962A72FBFA32DF0310C3FD6FA24CBD662083EC3841A66 - -2DAC94E2455AE56E32A7033D97272D802F2D484C2AF0FA0E21FB44491E8AD1CE570FB0D000942948695B657F2C2223E12FAAC10A4644DE29BA522141C5AD211898F1858C487F2C024F1BB296FC6BFA45143D53EEA5E589FA9F0840CD8F26624B37FA6BCCD66B2A314AC9AB6C91A79FE893C01364DABA34B10A0A1A1D89497AB26A600945FE5CA3763CF270852C70055A1909912326D20FAA9334A02F4907E8A5806DA90BEE4A93FEC2B7E06034906AAE6400B25D6E5255A17A15898E6D773F93DC75F04B968A4AD6BD3D131ACB4FFD58ED940CA947C08DA0E546E332C4036CFA02BB3A4E0BD4DB12D02F1323A1058929AD6603B05BD14F3FF43D8FA29976424B969F01CCE07B9F239D2D37852D469965FA84CAC042809344C76F122F5FB51EDF467A5B8E3C4A0DEE96559BF094F39B9380B09AA17A348A56CB5B74337C33062128AF9D19463A5E41BDA4A8425FAC94089EBE098DA870268FFDF4BC636FE66C7B27897E24D2E15974A6056AF0C41E0929EEBE6E52F5EE5C419A731073A3A191429E3F021790E25A9370CC20F9F93780AB5CB81A480728D1545569AD1BB7728454588110A9596AA82667FD482CEC1CA18C8B16039924FCC670CB21B310EE3BE6AEE14B131BB3764B39825938C3EF2DD18449910CE0581728F8BB657D37CD23E2B5D51139731849E555C426D9E6FDE169079FA70632ACAE0AA8D0E7C39D37FE8C89F3A9C6A9477B312AC6E874C91349E832C362D4BC9A3BEEAA08BBEEBF2B9B77CC23485CC165DE85427C3F1DF2DDC3D13D15159323533EA12D71842B13EC9BD5B7CE4D152463CA476F26444776773CE90E6DFB2691E01692C8E78A0C3569B07E4DDEE77B0E57ED0A240BA267AE6DC18C821114FA415D32F759CF3BBACB521461F36DE1ED18CAB467BA29297995C0479FF2ED61633A2217E5594E7D047C4AF036F4C0B06C426E695D3E55CABF9ADBC81161DCFE0CA873FC9F0A94AEDEFBEE0BEF20A5EDA251AA5F2EB7FB59AE5B52738B7CF4B2306B51BC6B0C0E6519F1BC4F674B20FCD536422AC8CE42B0E22ED3785D047DE0E7119719DB6172A86207117362B6976E9447E403D3A50877C5721496EE08B63E96463CB7C5FE0E3347C52155016F41B88008445CD1FC29A57EFF378DA3D7DA4114BD5E7710B6C86746FEE71768D44996060823E9DD83B61BF6A06187FFC1ADEEB21962F9B74D959B36202A0CC773E4DB36560F89A46D839FA47ED123BE3796084098E76BFB4EC39976F1FE12B87DCCB912F3113A0C5A6C075F85F9451E2BE33A8EC3ADD3FF6335E31022C3F4350716848D66A86EDE50AB5F0AED537041E4ECBE5F4A8CD5A5F2325DBC03F00C579C88D4BF8470CAC3DFA2F7C4E870DAB32291D25331490D9532C588DDE14E297C0BF95C4DF53BC22BBE27C75BF019FF85A1FA9A1E0D8C7281B6F54DCFB79669D989 - -FB53F25672C4294700EBAC5DD941520E64933A6EBB41A7F3537D9144DA32FF1E873D7A07FCBEBB6D107048361481433498BBA9905ACBEC888DF9B3CCCEFF213EA11D435F2E68526E89C7628C36FA2E73A95CCBD9D798CB27C04F4D6FE34C8FD880E14AF50539F97C99E26FAB3D574EEB25CFDD12902F2EEC3A548A27DEF8B58923D86309F685E5DE86B335BABA89E80687228BA879912A1A30A0BA9F6C160DEC8EA8D52413647B300D271D2EE2367AC8FEC96245DB9F71E479E969944EB374673FFF9289B20118E986A3F8DA292856C4971A070E919E53B9F2DE43C9E4CDCB92EDCD570A6C6C6AD32CF71B3E585496CD50A0220551F2AF9501D0EF2849004EFE13C09E3E7E6464AB80AF717754745CCDD9615B1674607751C8A98084692C8AC07D4BF4091961084D8D4CC3AAA992F70D6A8424850D4DF1177AAD43E14892FB15071E14E91BEEC633B41EB4695A5B2A815B077C7B3EC10C3BFFB6BADE0BDEE38240200B1E916B739B02B79A7BAAA3F988EF096C6488874CEB6EBE30D5739CF291D3587F5649D4E4CB294F22705F152FE2CB7DBC02F16E843503D24A11D6C25CD9792D028EE97915AC3A5BBADE9D0A5F3CA8BB0ED4818886C42C9342AEC91B1DA25CC4958588777FA0432FF3038959AABE03FB681A601678658506247D7E30A49CEC4A599293B9EECE3DCCF31A180EC3325C5F7F92241FB245175499C06469E7B2640A504E35A2C73612D8A51761120B928F9EADC5E7EC452AB6780EBB1B5D873A7DF3867C338CAD8C57589F42D018887A00EDC9644B6FC0BB011D1F8315C942D389C5E1FA796D6D017772BE20E631194CB05CC7EBE64D2FC3C007AD34AD210E155EEBDE467DB85E033B9F430E7AEFE6B06FC563D9B0053ED9E67A8054A5057243A9A9E2F8C4ECC11AEF87524132280637FCEE1BB9175E43D83145B37B9DF2F6C9B415FDF8FD0E76931C0FC4D4E479B5BD724F7589FFE0566352C79C2F76468575BDD42182AAF36BD820121C8F8EB5C9B095B630D08B2F00835D051796A5CEF3ECB8E30922EFBB4A517EA40FDB14E43553CCC707F4C410AF5589E90CD6CB6ACF23F161CD833272C65DAED1471F65A6BF3D84D6F2AD062DB5E44D740548E679D0B5E2BF3F67C352F4578AC3A3874CCFEBEB9D5E84D0893A318C42C4AAAC80E1E6002DDF4720C73D43A8785DEA1267B0FE12923C7024C8BA2B37BC3F6C84DA5A36020BA6E37DE716394B9E3BBBF5E020685521324BF3C4CE6E950F4D2A4FCD491AD36924DEA389DD32B050DE2FC979660B5465E58A1A69149F3996A592FE66905131B35CCFD7AC17178AED518C4104A906818A88B8567ADC9E25B64A9546B81E765AC390E86ED2C2FE395302F957B266609CD99C1AD4A9FD5EAEE06CCE6650140D85EF3AF5504CAC3187983E7BE4934CF529322225C214F32D9D653D87989267B758 - -DD0F38CE59D25278229F6AB24C84EEFD028225D45DB8E4DF829BA17FC474F7C1B81FB741267BF25BA6D20E1913D289590427164C245188F3FDED4E9605A4F347E6ED7636EA64A0CDA243B5334049573DBBFA92406A666496DFFC8836DEA3247A27C90CC3B7A197564A98F43229B24CF70F2FC9BDC39D35089C7A7C905495A941AA5F6AA5C694ED93A0E3CAF44F7603DD1FE16E908628472CA2E9C757DB5E44ED94210A1B9C842A2332821FCFB5C7A6FF38DA5BF098384F251CD036A3FE586216A34F83E6B0C9843E2868A283647E4DF15FF53CE6FACA65F7647A7BA502D85FAF1E22D47FF32EBDA6ABDB57A232A791D43AC20E19B8E829227C004C6C8CEBE462C19ACDCBF5B3E0AAE1F5489D86C3EFCBC4F27D4452CA32E76DF2F10296A6CE2E4B47511A67754561D2785863EB5300BA28F9BBC1B6B4AAA9B6285C7AC97BA3B2C5BAFE784157BBF95FB3DB48FD4337649523E4987B01BE8F1E97D9E22D67D37A22C6B34992B4855A48FD88D8C675A69E755571CDEA3826FE09C2DC210463BD0CF1908126C727481D646330268E3044D5896A99BEFFF9CC28438A599DE41BD763C1D66AC71B3D0A47BF7B72F5B9943113ECCF9044C18EACC73611DC20CAB0398EC94BD3BDAB1FE000AA848B22977556C873CA5AE9E225D68FAEA28F31B69AF48042AE7908885567D2549BC44CCD2636380012A5034C6EC18F819EBFFCADB4179E57E64867D4D23AA025FED3AABD842101953ED65A77CBE2F30AACE98F6B42232F1EC0DD8596C2DB314D85BFA69732639434E0F8AB461CF47DC53DF0CB13EBA91EEA7FEBCCE1763F5D6D1D4374DE53B6B7230CD6873B6CA1490514C0FE9E662AADED1FB06B6767B29EF7AD1DC207EAFF798D0594BAF3F7FD92E607DBDFFF092873C60A9DDFEF04BEEBB3B41318AFA301C8BE8139EF8277C581EBA61974AC63DD6A3B257366773DDB4E7CE73B479663E02C8C1BFB5A91822E47BB33859020EA7C1B682D79A11F68FEDEDD70EE0AC6FCD5D1459E97FE24D22A037BCB3FBEA8E5B32A94697868AA3306BEA137DEEAA51DB8B540550E592BAE2FD84F95051B2EA1B254ED280CA518861B980C04540687710486119002298819D4F86613EEDF768A3730A7EB5AD1F759D6EA634A6B44B2AA037910E2B11E52BB9B5697DFD86DEDDC1195CE22395C66A4145EF5672DA0F6CFED94D4DDD3866EAD7843B672650939AABCBC270AB50865EA42DF6DFF418953C3F52EE56C11427E1D68068B1F24881CE88BE81DF34734BF5B0F7D8E6DA4810C34BCC8935B655DFECC0DC32E8652CEDDABF25BE5D86B8A9D385CB108B02079F0E69C5F65F544AB61B902501BDCB7BFA9D4D35F994660593B70BFE8D40A69F895844CBB2606EB1909AEFED7EAFF6809CF03451CA8BEA55A34836A0F44D6373C62B164F746CA03B16C5A2E043EA49F91AF96F52F - -ABC5B8AD8ACE72FB9E983FDE9CBDE533D629ACD684C354387F5A60E935E1C0CB03C48C745206C8E98FA4CEACAB481F025B89CC0231684991744A350A5D2737678656FF5587C1DFF3E89171789EAB86E34D35775142A015B6C0A205510B7B972F314FB0F95992F68EDB8B9F1C5C94BB4C627C93E0CEEB23FD1A4FA5972E617D744103A702A22CC3FF095DD320AB3D7BC5317A50DE17AAE55819D79BB0E760E34271713520FD6F50802401A7F391A342AAE20BE1E3534555B98061FD9E072DA7B97C4F1733D434C979AA6ADE205D4BF7E381BC820EC93145A429BB1BE465ACA165CB8B33A5F92E0F184419F5DF902EDFE20A50E7256BE58C9375DBA0C52B46C7FB5798A6BB0D492AEC98DE01BA31ED52D5633D23B62FEA08E55742241ABCA82B07170F716A82E566BEAE631DC008D6FB275B0D8B7F620E20203537B58E4889801B5CCD74470C8018F6471284FF74C3AAAA405694614E2743BF6AD8BC219577DE964966B7F62A099B0A67D94576075FE678BE7660BBC5B71F8062FAF4B14A69CEF37102C80E4DF8DDD58002CA49EDE7E6D08A4E3C95E0399AF9A5381D00775213C456FFFBA699EC339BC28ABF9E62733F793A6EF123683F77B85D5EDA5EBAC376AC584F3334404626C89309A075061254CDDB945E61B8488512840E9246EADDE5ECE2203502360191BE4BC0E3408C4B67195C3C32CEB2864B8377F6C98D1D6807D234201957EB847F1DE57BF24E82261C32847D96326C4CEA8DF90AA94DCEBB90CA3F13C17AB3B9C33765EB7E3DC140E3A726CF51265A1DA576381EB63E1F7DA13AADBB81358F90CCF8C6C80EF9FAD31533620BCF2FB8A34101946A76C029CF46D1705353C31033BC34253AA5EFC01B2B5908D4E05CA75CB72D54D2665B25CA0500AD93E6175577776105F63B635F13215EE4C0B2C8334539152267A1E8FF271614A774D6CA3B15B5A5A98140F06BEB462987C34003506E229CE39AF8107087A75C7BAAD76CF320051C9E2B1F806AFD23F371AAC53AD6586FF62D6196EAA88586CEC6A70C4B37D54493A48925261BF48B0E61D72D83B70915250C626F4B9F0D99641F8DD7F47B59C47B715DAEDD5D56C238EEEE3E80C700F7F9AAAA6EF8FD69D9BF520467DA1D09CAA545E271E37EDBE418CDBAEAADD8C7ABB329BF983E4E7F31A1172FE95AF843386FE1E58AFC44D81169B2AD5C8D9148FA6E68856FA18BBDDBF1567CDDF45B5A7B52CA918EAE9C2DE97D0D7A2B7B86BCA4CA2C6FCD64EFF874789D2AF49D35A121137D0A8A8CAAE495B7B60C8FDB4F923D0B1B03BC0B5A3000B92E6179BABB5B5C2A6D926A6200D5176D6E043AD2B9D911D3C3F019A45216E27383AFF9A0A659706AAF0D93CDF3A7AB759838FC03A9A1AF43AE6D4DCE34C088C5673E4F39084BF23DE7389AD63282A63282896A2CC5684E60B7BD0CB4AC2D1028 - -4C384E2BD497EE7ABD2C93FF2D99E73085BECA84B4DD7E9C635FFE5C00FFE0510A92BDDFE8A3626369438AE8E4ED930CD85E668B56B102AAEF29F0208011C86AC8167F77FBBB0A12DFF032275A3A11709A216CA36D20E3CD84EE46CD3C18E12468E235B64A76E54B23ED38976B09314B35C78BCCA8751F3C15D0FC4F19FB46E5842518F02FEA6B094E7B2083F57B46E1F5614BA01223BAD17AFBC7BD42E4EF8D1C5AC62294868D576D15A820202A148EDAD944BC67DD6595A32114E6E8EE7494E0AA7C8EF16902976DB2F2DC6A2EF714161224F864C43C71EE5599FAE912497D67D89D91505AD89D5CF03A1C694AF9F0D2EC4AE313E41C91AB843EF1D1DC865AA50D5F3613A57CFFC4D2128A62573E92E1A3B2962FB59113615D6C25601D5EB09A9F2CFD1E5F1E2BFD666682213034E45810D9646E39962290CA66569B8AC3D157F36F60533078AF755FFA7EE5FD7D86BCA2B4BFD0AE76A4F42650D166561507EE50420B62B197852BBC420FE291E7B50B6FA349B23447CD52D76B5C68AE69B93A2E6A9740879633B33A1C17A483689734AE0CF15A8713CBE31FA79A5EFEFB676A4EA4478BCDC6721F9E9DC3219342FA5AF5315FF9EB75F66DC8FFB38B3A84FCE9C5D8BEE715A35967B8D3ED93A465FAD2B42A488F255DC92FED1A4BEFB709DD0A3FC96A1E68619054F89321B867D8626521900C3DD582A66DF67EB042FBA7982B147273256209A79A831BF9511E097AC409FD7345CF01330E908BD3663083D19341E3D3E267391A42694BD33157ED2029B10A89D298F6D841E8725CEA84069FE590EFDCABE5E97F8372C6F16A568F3071E65F07579D675C0CF06C92E5A5A1D21DEB67E0C4E4ADD655D8F86540A4550E9770AAE5F4C1625AF16941416A48FCE79730D7B6B1A996887535D1E80FB4125E695D8341CF145C7DC2985A6F0E6E47054F29164A7024129A793C8B9333022D6DB10458D4725766D97C7CFE98358F011109A2A5D253D8A40F8E99903C28A6A96AB7F4878FBF143577718B88AF44F0954C0A7BC3EB7E340BCE93E1D01D66087A9251922D8AB41A061A7A9B90AB835C1369F6A284998FE5EF4B8B72042282D99017E0A3E968B4C6B3414419F580FF8F8A7C1FCB1F79112E709554E07C1CE80FC4A1FC8AE7C94FBD0E852CA78A9B6571810A7C75B75815CC5260171399831963C5ABBC1425A7A1C9FA855719D9E75B54D28D58D614740FFD81A010D3B035E1268A39253FEA16AE5B134ED0AFC3E270D89019444270FEA25AE20B363BB40131B64509B0FCD8854D62D33D26E40EBBDD786FC760C1D307729D51602A9891879DD1E65E371A0140CC47F4F92DD4AF750E30111DA4317E92DE973E5E00A54356E9793654ABF3EC7F2CC395DCEC5E92187998B6D6F09AC5FF10414EDA8919E4C03F5FBEEE240177E0CC22C3BBCFC4169DB45FDC16 - -92DB0EDE26B3F6ED0E3708DD7505F8A5D4F6B25CB0CE98510573B748B9A9DD0A99D1FC89BF68DDF41CAFE6894A1A8DB3CE64AA93A12772844CE0AAA3D8CFCE19BA92A6F22F15D5FFABFBFB1B3E9E9D9980B074D6B6D74B8F8E6ED0FFAC4F40D9DBFD05D37BC57FD98222345EA032EE8E0591A5CF9E8BB43D7B59A0D5C0621548861A98E62B78FAC7995080275C0B09C9F10EC927F40874F508BCE3C515728809CC03804137ED185BA967F8FD59D8DF8697DC67246CDCBE26EE8DDB9BF02AE24162CF05042A599F3E57164686543AE4428829CDA2169FB0766B5CAE78EF22655ADDC938F1BEF4F95866651759C5919D5038B57E728511DD938455E67232DC716254E3D3E6FD2FCD84A4DD7B42BAEB4C6C4D393BEA672E86FD637D75023856567D965E5B98EC4F3AA8AE91449641DFA9C148F84D84465DF5ECE29C9AE703ED22B0DD448FFD409EC6038E5B4AFD3AD7BBFBD041CDBE203AD1864C0B8EDB17D937CEA825A7A801BA58D0D7F7C3424F216B011BB17E85AC4710A12D9BF9FC3AC52B17 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/NBMBYC+Courier cguidfix -/F2.1/NBMBYC+Courier renmfont -%RBIBeginFontSubset: FXHFQH+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /FXHFQH+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /S put - -dup 34 /l put - -dup 35 /i put - -dup 36 /c put - -dup 37 /e put - -dup 38 /s put - -dup 39 /space put - -dup 40 /v put - -dup 41 /R put - -dup 42 /a put - -dup 43 /w put - -dup 44 /C put - -dup 45 /o put - -dup 46 /n put - -dup 47 /t put - -dup 48 /g put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B322782D282AC603D1F5A452D1E7AE90B2FF78B151C731C717F5B5A2EDB414C7411DC55C9F113EA5AFF3AF7455021214DD5DE224A6D42151B6E2C13111934787BCDB2FFC4406BB1025953506093CC6A834F381188850441BC0B95D99DA2EF0F959169B21EA5C340CF463AC31959160A258F51CF7A019C8F9F7666528524A9FCB7FF55A9E9ED84F3F8BD338A037462D4BE5BAD085FF5B329C705BA39B85F32A9167BC8F3CF9E94B6DAF229865617F9A014F2521A285341860C189571F0025026390390DB9E94F66EDA7B5FD8E5650309DD02FBB0691A69F2FB63BDBE52AFE840636384E6FFF57DBF7E295510FF4B5D4FC8BD8C5F0FEDEDA2BCA5A6953CF7823086D0D7EB424672FBE2C88113E99BF75A7AAFCFAC6E5EEC9AB067B10BE101087E1F4ADE7F056D58D5B7D0A30ACC5F3D5964E0ADE5D3C625E6658DC4BF86CE63D61B5A5D76C3B6C00AF130BB10684C9115FCA10989BE8C55BE6A8841913DCFD57020AE66F953413727F9D62CBEACB747523B87471960D38D7F6AE5BB3C2DC203A6F7E511C9AC28604A8A7044E31552077C80588C9F18E81ED42049CC7823A020A6A1FE5BE2B5E8232B73FC6C1857E1243DA3474BF602DF8EB164390841D070DC4587E35DB63FA7C2B9514D7E95602102D8F84128CFFDB98C84A873071667E6B42991809CF1136487B857E89087CC2AE69F8094A22C2812122F19BDF8C3F21E3F8362598994DF5BCB22984088526FAD353AC8FE6C48E4AA139968E5D840FED977A31 - -2F91FE5380E2F2273EBFC93A5130B191694873BF3D6F187901B84D07FAF610E418AB636667A340A1F83DB8A157C9716DC9A726752AF1661364450B46CFD5353477BEC99F840C273D4C7128E75CE340558DE9B35C907872EEDA0AA92419D652FCBDA23D6C5A7CB0F298D594DCF3EB8C4B6949AE897787F592A368A18962DA4FBD4DBCF5D514BBB5BD7508E3EE4B7EFDE1D03C605F71C520ABBDCEE6DBBD6246016618E9B2F818EC6D83E871A190F39330E028ABDFF6085598C3880C0DD8BA8FB49E9ED82ED8AC141331BE5D415D92E12EA09BC2AB507295D52DFBFEE64B64C71C67C0A503269D5B0992E31A50994F0085596997A6FEAD5585765C6EFAA1D1863684C0CCE261C8AD7E1A400F1EAFC98CF15B71F0CD6AA72EE6AF96F15AA2EFB64F79792F45C6F8E26BDA2217A59525B98F2D4332C0347155706B497F14CD22AA6825F406BE30609F368828B920F4F9CA7797A7406ACC1340FEA987A3EA5CC0875F1433D56BB2D4C34CF11A69AA24E7F40E1C46A869E9DB81E6B6677AA89B6FF3A78EDDE91E55DD93DDE5A849710A4909269C30C12BF48FC4C25DECB5190282B79A61EE55E7663A55E2E3A2866496088D97A537E5427FF2FB3714FD3BEF17C784FBEFF0650B7FD29CCD2127BEFDE4EC52EB57645BB4B59D5528F76991C1A00349BA0750D1D673DCAF2038ADC247DA8BAF05FBC83EE7EC23780A4E46F0E1B2F35F86555302C735811454B1BDB0CDDD1A3A842A6A7FDE932CFE8FD6CDCE995F46F448CBA6EFA2D3B531A9E38F594994EFDCC1E0A2E57826FAFDB043655B44F0BE2E32908357977217C18006CAC27F636EF1CF670468805F34C8827F56367D051BA0839191FC0D250E4954055EC3A174738C71836827490B5AFB00A5D4FAC380468263957D8B1A7AA672658A3DC3918397D01AE39973C6CA7AEDA936D7A3823461C7984719D4D55F89E884B7DD263122DFD57D0E363050BC8FEFF9AD80B57B62405C2A530D7B2FD5B126F93D06A55785830A11E1DE7CF9109555FF7CADB2B0CCB96203295D70BB57AF1946A27130DB826AB435154E9FF2B47F61B4C46A5038EB3C14D61E952A99126F0D050F21A804E42EFD6FA36913C2F550199868DAC60E896DBC22139DF3A659850D1075DED997E11FBA5156002F1E06AF347F5C589406FE9BE7C81614B09B9A126FDC5BE20AD3E4CFEEE6EFCD4ADBE51D4982264C807EB2F86A4A642AD27DAB6C66EA0928575EC21E2DA8EBB6D75DDF3C4263A444E70FB96B7864E0FE8F0D3E356FD09844F69003EF7D18EE56D620437D738E7ED3F23FC51A6929CAEE431865408AD066B26F87696AF20F93A4E1171E9B09CE0512C838C3413E3F473FB51B6EF061632A45F9D4459BA13F6C9E875966D5B592523885DA1CE13C3A502A07023D76D0BF9A46ABDF71D49B54BCF85B92920C4AB75D0E54C92CBB403D - -06E86AB326964F6DE13605019F1365FA71E013AADA43E621551D4B8D6FF39E6535489E9A70753F001A37EDD77166BDA93D52E4E9D38EDEA1D998F5DA5C4589D1CD198512A4725CBC1DD0BC2017666738B9671801D80E8DC86FB26CD3F902AB680CB413741A7820075C871CA8D1F3190FAFF8CF6770A6A70D0EC5C7A59BEED0A0060773168AD9D11DAEECF8E725C6364A718937DFD0E080B9F226D4A5483A101D9B69C651B9B4440FEFDF400E6DF77EF37A5E66B95DB550A3A6A6C3A13C80583D38DA923F9A080F0965BAED929C969BABE69CBD2D7B41F5176A3282F154978FDE45E9859CE20091A0548EF9054C378A87A7F9719AF2C48FFC03E715059551B18055C73B70E293855D3BFF799A6CFD1C928D276ED52EB4C25F1E09D624924216A4FC667EA03B9E5688A3C8D62C4DCF5092A1E6CBB8D779153BCF00D37BE956A6C7397D3B5CF85A905E46F558DD5FE33A909F1AF8830365CD3F7CD4F2B499EFB8DED1EF5448A95B47CE2A7727CF52FA5F831A93CD86E1C2B64E6C6611DABB76C2C22E9E16F2DD4B629630F5306A464ABF49E717794CDCB7F53D15CF9A04370B995E850AF869EFE7C1C140E687038749B6ED21701F7775F9ED962C56C1F64DDF7D7EA19001B2C3AE79862889CEB353360EC4FCCA842AE7F884021F6584C3E6D8297E4696B6B08679D8C8D1730A5A8B98B0968C479A6F2BC0B829DE76BB948948E21BC555E8F4ADF736083EE53A56A1F186531F7E8089045B7E490624688FB71D364FBC63A441C797F31018F0AF22F5A050BDE2F5CFE8F708A8DD20916315B6305474B73469C4FE51BD1DF51C7638FF00844B160E36DF8B99A3AB68386AA52A930CD753D591D0F54DC6F494B352A83D3AFE6BBF0C5881AA1BCF59514D81EDE03B2D1108B7F87091DD67F1A6614A2633817305DFA527A4631A2258C5500F6521496D09DCF718E10DC0A177A5E5F21B4BE11585E50287B1A4AC9B12F8A4826D5E2F9014004004340BBDC7B732A03DB7664831C045CD3FF533672899C4D1633A76EC0FEFE0302BB1FEB62FA990E230A158164480085B74F40AA8B6E6EF79CBD781650773A542B17520A830D13431EA9BA0AF26DB1277847998236CB74BA7B54DF6904BE74EF11C825BBA4D8624C187EFBC56151E13268DE091417DD5B36C806448EDC89A638A11340179CA561DF9D6FA7231E6A3968914B5CB1C16C59CDA38DF9CA28D68A06C131E5901BE2260D6905E6D7F956D3288821FA6C3F3199653E5E3189B0C88D69788D970B7DA46893D513293CE6FD67ED55FB5B833C9D56549EDC78351EFDB04FD1EC73F0713B2F05887A0D5058BAB740D9E238F4743E675D29377F8E39F137EEF28C767163A - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/FXHFQH+Helvetica-Bold cguidfix -/F3.1/FXHFQH+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%&'\(\)&*$%+%,-#.'%\("+\(%./*\(+#*$%\("'%./*\(#0%\("+\(%1+$%$2'.#3#'4%56%*+7'8%%9\(%+-$/%#*.-\)4'$%:;;;;52%/3%3-+*<#*0%$'=\)'*.'%+\()[ 25.051003 22.837000 9.143001 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 ] xS -48 262 m -('+."%'*4%/3%\("#$%+.\(\)+-%./*\(#08)[ 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 ] xS -48 362 m -(>'%.+*%+-$/%4/%\("'%$+7'%1#\("%.-/*'$?)[ 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 457 m -(!"#$%&'\(\)#*#$%&'\(\)+,-,./01234\)/\(5+6"+\(&07\)+,\(\(\)%%'0789:;<<=>>?9@A<<<BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 558 m -(,/@%/*.'%1'%"+A'%/\)&%,-#.'%1'%.+*%\("'*%\)$'%#\(%\(/%&'\(&#'A'%\)$'3\)-%#*3/&7+\(#/*%+5/\)\(%\("'%&'0#/*%/3%$'=\)'*.'%\("+\(%\("'%,-#.')[ 27.347002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 ] xS -48 608 m -(&'2&'$'*\($8)[ 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 20.500002 11.398002 ] xS -48 708 m -(B\)$\(%-#<'%C+1D/*\(#0$%7'*\(#/*'4%2&'A#/\)$-6@%+%,-#.'%#$%+%)[ 20.500002 22.837000 20.500002 11.398002 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 34.194004 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 ] xS -1059 708 m -(E#/F'&-%$'=\)'*.'%/5G'.\(%+*4%1'%1'%.+*%0'\(%+\(%\("'%+.\(\)+-)[ 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 ] xS -48 758 m -($'=\)'*.'%#*3/&7+\(#/*%-#<'%\("\)$?)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 853 m -(!"#$%\)DE\)7\(\)#*#$%&'\(\)23%\)DC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 954 m -(>'%.+*%=\)'&6%\("'%,-#.'%3/&%#*3/&7+\(#/*%+5/\)\(%#\($'-3?)[ 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 20.500002 22.837000 9.143001 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1052 m -(!"#$\(51+7,!\)###*#$%&'\(\)23\(51+7,!\)C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1098 m -(!"#$\(51+%/,1/##*#$%&'\(\)23\(51+%/,1/C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1144 m -(!"#$\(51+\)7-####*#$%&'\(\)23\(51+\)7-C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1236 m -(.1'7/#F;510!0%0!\)#$\(51+7,!\)#G/,1/HI7-#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1007 1236 m -(\(51+%/,1/#$\(51+\)7-#J7FC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1333 m -(!"'%7+<'\)2%/3%/\)&%,-#.'%#$%4'\('&7#*'4%56%\("'%+$$'75-6%H/&%\("'%0/-4'*%\(#-#*0%2+\("I%/3%/\)&%0'*/7'8%%93%1'%1+*\('4%\(/%+..'$$)[ 25.051003 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 34.194004 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 13.694001 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 ] xS -48 1383 m -(\("#$%+$$'75-6%#*3/&7+\(#/*%1#\("%&'0+&4%\(/%+%2+&\(#.\)-+&%,-#.'%1'%.+*%4/%\("#$%56?)[ 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 34.194004 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 9.143001 22.837000 13.694001 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1474 m -(!"#$/'&'7K+.,/5#*#$%&'\(\)23)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -687 1474 m -(K\)/+/'&'7K+.,/58BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1566 m -(401\),\(5#!"#$/'&\)#8L$/'&'7K+.,/5B#M)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1612 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1612 m -(/'&\)+%&'\(\)#*#$/'&\)23,%%\)!6&\)-+G\)D8B237,!\)C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1658 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1658 m -(/'&\)+\(/K###*#$/'&\)23\(0!.07\)7/+G\)D8B237,!\)C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1750 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1750 m -(%&'\(\)+%/,1/#*#$/'&\)23,%%\)!6&\)-+%/,1/8BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1796 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1796 m -(%&'\(\)+\)7-###*#$/'&\)23,%%\)!6&\)-+\)7-8BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1842 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1842 m -(\(/K+%/,1/###*#$/'&\)23\(0!.07\)7/+%/,1/8BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1888 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1888 m -(\(/K+\)7-#####*#$/'&\)23\(0!.07\)7/+\)7-8BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1934 m -(##!"#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 1934 m -(\(/K+01'#####*#$/'&\)23\(0!.07\)7/+01'8BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2026 m -(##.1'7/#FN$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -318 2026 m -(/'&\)+%&'\(\)O#$%&'\(\)+%/,1/#2#$%&'\(\)+\)7-#*3#P#Q)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -109 2072 m -(##PN$/'&\)+\(/KO#$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -502 2072 m -(\(/K+%/,1/#2#$\(/K+\)7-#8$\(/K+01'BJ7FC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2118 m -(R)s -/F1.1[ 41 0 0 -41 0 0]sf -48 2219 m -(J+."%K\(#-'K%\("+\(%1'%+&'%&'\(\)&*'4%#$%+%E#/??J*$JLEM??!#-'%/5G'.\(%&'2&'$'*\(#*0%\("'%2/&\(#/*%/3%+%$-#.'%\("+\(%7+2$%4#&'.\(-6%/*\(/%+)[ 27.347002 22.837000 20.500002 22.837000 11.398002 7.831001 11.398002 9.143001 9.143001 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 27.347002 9.143001 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 25.051003 9.143001 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 ] xS -48 2269 m -(2/&\(#/*%/3%\("'%+$$7'5-6%H/&%0/-4'*%2+\("I8)[ 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 34.194004 22.837000 22.837000 9.143001 20.500002 11.398002 13.694001 22.837000 13.694001 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 ] xS -48 2369 m -(N%,-#.'%#$%+%0//4%$\(+&\(#*0%2-+.'%3/&%&'\(&#'A#*0%#*3/&7+\(#/*%+5/\)\(%+%&'0#/*%/3%+%."&/7/$/7'@%#*.-\)4#*0%\("'%0'*'$%#\(%./*\(+#*$8)[ 27.347002 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 ] xS -48 2420 m -(!"'%*'O\(%3'1%$'.\(#/*$%1#--%0/%#*\(/%7/&'%4'\(+#-%+5/\)\(%"/1%\(/%4/%\("#$8)[ 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 29.643002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2572 m -(!"#$%&'\(&'\)*+,-./#0&)[ 27.347002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 31.898003 29.643002 25.051003 25.051003 13.694001 11.398002 25.051003 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2675 m -(E'3/&'%0/#*0%/*%\(/%\("'%*'O\(%\(/2#.$%+*%#72/&\(+*\(%2/#*\(%*''4$%\(/%5'%7+4'8%%P'$2#\('%\("'%3+.\(%\("+\(%,-#.'$%+*4%C+1D/*\(#0$%+&')[ 27.347002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 9.143001 20.500002 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 20.500002 22.837000 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 ] xS -48 2725 m -(4#33'&'*\(%/5G'.\($%+*4%4/*K\(%&'2&'$'*\(%'O+.\(-6%\("'%$+7'%\("#*0%H/*'%#$%+*%'O2''*\(+--6%0'*'&+\('4%$\(&'\(."%/3%$'=\)'*.'@%\("')[ 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 13.694001 9.143001 34.194004 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 11.398002 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 ] xS -48 2775 m -(/\("'&%#$%+%./72\)\(+\(#/*+--6%2//-'4%$'=\)'*.'I%\("'6%.+*%'33'.\(#A'-6%5'%\)$'4%+$%$\)."8%%9*%\("'%&'$\(%/3%\("#$%4/.\)7'*\(%+)[ 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 2825 m -(4#$\(#*.\(#/*%1/*K\(%5'%4&+1*%5'\(1''*%\("'%\(1/%Q%\)*-'$$%\("'&'%#$%+*%+.\(\)+-%4#33'&'*.'%5'\(1''*%"/1%\("'%\(1/%/5G'.\($%5'"+A')[ 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 13.694001 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 ] xS -48 2876 m -(H1"#."%56%4'$#0*%$"/\)-4%5'%3'1I8%%>'%1#--%5'%\)$#*0%,-#.'$%56%4'3+\)-\(%\("/\)0"@%+$%1'%1/\)-4%'*./\)&+0'%6/\)%\(/%4/%\(//8)[ 13.694001 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 29.643002 13.694001 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -ep -end - -%%Page: 11 11 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: PGLBIV+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /PGLBIV+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /x put - -dup 35 /e put - -dup 36 /r put - -dup 37 /c put - -dup 38 /i put - -dup 39 /s put - -dup 40 /space put - -dup 41 /two put - -dup 42 /S put - -dup 43 /q put - -dup 44 /u put - -dup 45 /n put - -dup 46 /F put - -dup 47 /a put - -dup 48 /t put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B322782D282AC603D1F5A452D1E7AE90B2FF78B151C731C717F5B5A2EDB414C7411DC55C9F113EA5AFF3AF7455021214DD5DE224A6D42151B6E2C13111934787BCDB2FFC4406BB1025953506093CC6A834F381188850441BC0B95D99DA2EF0F959169B21EA5C340CF463AC31959160A258F51CF7A019FF45A1512E79A712094938FD9AA243C907EF05CB2AEB6319E4DA89A806472BD5F852A5157C1F8C171375A12B818404A23C54F9F1E656CA6E7516BA867096EDD0F0FE769A13AA1B84D395837A0416E4879F925AEBAAFD9B7CE027A6A193DF1E98E5BDB1903F401E36BBA0C81075F72570AAD1B3982F1A690FC7162DA4129155949327932E1A57517F617BA8BC0421E70AA1E83B456D8373B61C282C42662311D4AF468D16585FD3A9EFF79EE309187CA5BDA0E10DCC35F2AB81E5556766049B0AE8B0DFAE54A7DFC8BB33DB8FF40977169CBB1D7970D9A204099F7C617DA955ADCFF1D0E4DD0F3DE05F224A8F7779250EABBB8CFCD367877FDD85A2452A5430C140EC594C6C84161CB027FC25C3925BF8A11B51C904619485CAC7E37076D60FAB7234512123E37D6801452400026DB1571B13D2E63268FD70BC286D8F7CEAB708FEBF8B1B12E8424DB5F18ECCDC97CD24AD141FF5DD5B00AE66784351D85CD8886B0B12F16B010BEF21A777C9D23936DC1D9D856258ECBCB8FA36D0713A68F6F0EE61DD2B6E27C04C7C5954BC82BE46963B616C9EC1D657775E805B551F84D5AE8015C77E6AF48A1FF3B4 - -E63A0D2BDCDB736AD553C777FC48CC3825E76A97A625FD1B9B26FF509131487F6A144E6BFA05D812631076DC69893828839358F47AA6693FA4CAE9BBEC132A430FCA2F9F1E90A4F3C2340522E2BD1C7EDCC35C27DBD3BE657C37AD767821B13A5877D601E69F8A48EC570B811E4ACE6967225C06C2DD47CEAF50ABE4986B3D939FFBF941900A41B42E7774E39D0A4DB7A62EE44CC19C9B8AB1A5301EF794099A261E9778778D69CAFB145361D99852ADA84B009374D6FE772C508585DED10B6E41B04C36F253A36829DA0BDCBFB4C405A3D36C2002227281781B1689200572EDC4C8AEE3C74011C5B83712E8C0BB03D64130BF7CE19DE34E532A2E52DBDBE0E9D3562D1007037EB52C1C8CB1BFBB249084848F235590C4933AC604D35ADAD9EF4E88CA6336E7E1F9DB9BBDFF50BB724FB557538F596C83A5AC3714D6EF7E4C51ACCA6CC06020A110DDE452BF5A6DEC2A91E3BE5426ADE83BC5758A911465A9A4931E96B0DE52BB1CBFB86F3DDA7EED22A3B1D681D536585EBD682B42AF5A11B8FD8C8D960883CE8577791F6553D4763CA3A3640F6E64DA420C3D1C154F698B8FB4513D250BFE4C5FE760F7C71A9B8F1AA2E030241E57EAA5B9835E58703FEE2FA1B7C91392914CFBC662EBC1C60EFA7E9EF7295374CD9289929C162CC9EAC0C9E4D253987C11D56E01B8ED374AEA850D46F54167390A5FC5FBABE26448EE719ABAEC43787903DC7FD53FE459C7FF4B63088568ED42BA7FDE2474B27DF932B13CD10C34C0CB266C1A6699D7C6C0B3123D0933160DD103057DE4F3601885F753017FCD67A8CA48BB581A26EAE1DDBB7C97FC58676BC947D8F46F8E3C75E68D57F9DCF030E7900343EF72A59D4D6401B32936E085DBCF687B021393101011720D96712833E4D92AC585EAF28D6FFB836A0F9F53384FF5261D13AC622A113B0C10F3F1156B982534FA014CE8EBC6963BB42C60CE34F7006E9C1561702A28FEE78B96411A71738C4E24D4A6945946431777B1D1D30D910103B771FFFCBC88C73720A3987075EB3C90CD7290EF393D735979362B95140A6FFF5968BB9BE568B7E8A84C967E7BB05112E7BFAB84084C4560D8B753A0E86970459009C48D0B354E2BF5DCC3B3D0ACC1CBD34D5DC1390DB8CD1E385AFC181B0DD51CFCF046ED1113F249C1B99CA146CD54578F256E61F6B2298251D02244E9AF801077144C17BB25EF4B4CE882456468D3960B5369F9BADA50935EB636784D9070D1FAFD15C74EEAB7B2C8FDB9C0F23F87A3E33ADDFCA60E4316F8F73AD47476028097C4D2BDFC0405F1B0C6E28F90A4F2507AA18F4C04830F7F72133DEEBC2A4B46CE7E10B8FEDCB2A6485AB94717F753496257CE09CCADD00D3D91B08111BF46B8ADD927770B30CA44868DD3387AB1D0ABED5C2A3006B88C8DDF980B59FE29363DC4ED80293BE0386075 - -F09B06DD55608FDE0FB4DA2CC9E45C4D0FD211EEDC1EA69E540CAF45D989C9F6585AC19289C26CD2258D25A098F38B3FC6675368E17A820C6336BCBFF4B630FB3CCD06762F9BA72FFDDCF991D6766FF5586B75C7C46FDBA9820630DF2421F9674A54B7F19FCA7683E20E5BD15FF856192F1F25B44F380D3883AE6CE0A0C5454679744A6F3A43555175B83A82EBC2BB5CADBB3371430A6F907F847542CC1172CCE6A0E80C6B93881D9DFDD6BE8513128D74503B352FE4C47DC34E194CD9676DAF9228F105AF34663DD39076D2FB1E3022055B53D791430F7135ABC8CD2DDEC5A1FE622D6BB3BC5607D4EB43D50D54D0C0412BF02B2D6A408AC50E2449384A27DAE784B0BB35BDEBA36B7F755F2914E74990288F1E16F03497C4EFADBD8E35DC3FC2EAAFC6AB17EE03D0DD7ED0D8E60727D5C3F4ADD87F967E6071A91EB062266D59A9E8AF0A3A60C1A36625AD3420A9E69028AE324EEAA85F522896C778BAC54D1F0C38FE82E9C026B55EE535824D337E7489FD1BE3C7A4FA8F7E4BF791BB45D4AAD15DCD1D683DDD19ACCB5DBAC38F9D47360892289CFE08E36B6A9C434A184FC60759F97F5F506C4035B22269AA6D905667E443C4CA75D50027B38FD65FDD6CFF48E187961F37E52F3F46FEAAFF9358F1A2644F62B9A3C509B1156684280AB812B2081C872FC3B587530D4213FD3E1B8BA2943E0D6992CB1D4699719BC4F669116D19E4CD309A8325BD06469017F4F7DB45308194AC28B8EB535B4756FDD0FFB41EB6250C888ADD527B9C33DF0E34FABB5B6B536B31CC6B2D2046AE74B9732E76D78EA453EBF51E9E78F4798B83B6AC10973B5BF06341FC8974632AFE96BF1133B7CD6221CACA8FB9A424F0EC3D9B64CCDDCE5BE2715B56036AA96476C6B6218573C4744EB7A02ADBD964FDDCA1A756A1189B294255E7029B7367880B5F4254B0215DA8FA3AC6154D91ECE01583134DE1A880367F3F099CCB029B0B051050ED5E9422DE13AC505D633BFB7CB9070C85EF870EE3EFFA33AF9CCE9EA193CF8074092C88A78D2AB31F03B51D656B6564C29EC5FBAEEE165922D51C731F4EC0B1FC7B9EF1C5 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/PGLBIV+Helvetica-Bold cguidfix -/F1.1/PGLBIV+Helvetica-Bold renmfont -%RBIBeginFontSubset: VDLALL+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /VDLALL+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /one put - -dup 34 /period put - -dup 35 /space put - -dup 36 /F put - -dup 37 /e put - -dup 38 /t put - -dup 39 /c put - -dup 40 /h put - -dup 41 /M put - -dup 42 /b put - -dup 43 /o put - -dup 44 /f put - -dup 45 /r put - -dup 46 /p put - -dup 47 /a put - -dup 48 /hyphen put - -dup 49 /m put - -dup 50 /s put - -dup 51 /k put - -dup 52 /d put - -dup 53 /q put - -dup 54 /u put - -dup 55 /n put - -dup 56 /i put - -dup 57 /g put - -dup 58 /y put - -dup 59 /parenleft put - -dup 60 /H put - -dup 61 /colon put - -dup 62 /C put - -dup 63 /S put - -dup 64 /l put - -dup 65 /v put - -dup 66 /w put - -dup 67 /R put - -dup 68 /parenright put - -dup 69 /two put - -dup 70 /E put - -dup 71 /N put - -dup 72 /G put - -dup 73 /zero put - -dup 74 /five put - -dup 75 /nine put - -dup 76 /three put - -dup 77 /P put - -dup 78 /comma put - -dup 79 /A put - -dup 80 /quotesingle put - -dup 81 /D put - -dup 82 /B put - -dup 83 /L put - -dup 84 /T put - -dup 85 /asterisk put - -dup 86 /j put - -dup 87 /W put - -dup 88 /Y put - -dup 89 /four put - -dup 90 /six put - -dup 91 /seven put - -dup 92 /eight put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BD3611493FAC70DE6E0E23EB0DE8507A96255FBF1F30C830FE459C289585A57F93EB1F0DB008D0C90C4138004AEC236F74841EE052052303961AD4E6D736C2E7944B0A4EB009726DD80D284F71A0A8A042B6250B4B23B9D971D6F2397CC6E781C066C594130A91CD827E4DA1C021638FEF6470F9FAF4051C84DE96EEDD9471EBBCC6A20C06E68739FF1634A406F965949A37D564196158FB5482D19D0B2AABEAADC8AB1B1B658D66F8D76F521A9439809DC261034F4744095927AD9D481BCD5433E31900DA6C7054AD2956A4C37917344BC6FDE64E98B1292CC66E130A3B9220AADC1772F63A52181E5E6B0ACBBE7BEA4851EA4CD269CE8A48EE357221886A8AE75C75BFC56CC50FA7D20E73439C5213547D27FADE7468123C9B12CE3698680A08312D4DEA38610E4B45DA3D8E2023F814902BE46B612E838D047F9EE669A054B11A11BBEABA61C275DEF05105720BF0776289C85F8DFFD31F896D81C7DC86E28D3738BA0F5505B871DAC92E6AF18F0D883912F1C77E8ED63A2B5840B468D19C90835237080E29DCD75B8D1DA853A025DF4E1F3600793C7150E71B7A8E1F6E2A1418692D42D8D4653899C263CC607AAA417593AF05170DB068AFEE0AC1ED9C83F32E48FB2BD736660D00DECBBA3AAA8608762241F04DFF96015FF18E0869D34FE255B72C315835D15CADE656542417C4070C9EA0F853EF963A860C5A39B10EDDABE5B00768D49AA9983B9EA3B43792260D012E3A4357C78F06F14E4092EDBA6F - -85E11437AA94C3788C8CDDE38E5A9B69AD3E654B36B8229D4C4C329102BE4F84FBE20FECEEB3158F3546A593148832C245834878E03AA0F7422A695DAEB9FD5C541846E3A1FBA98C5460FB102D4806BD497272C118A4E6D92679ABF81869245BBF6E1FED066A46F63560123A6CA2AAE2E8408144154F5EF58E37869E4E04C5FEF1065669E3BE2CCED6041C6BBC33427328060B71BF02246E7627CEB68E8BA0614001A8B88DB4D1AB390FD7DC1413FBC7B085B35F13939CB18780828C520828F94896B6E20D88348B4829CBA11785B8ACA267D5ECBF6598F7CBD037925B65BF135CB95135711342D6EE90BC1FCA0D580791954CA64CD4FE23BF21D6EE35FAB4C23F4F86DA4100568F17236C982E79A25364909920E08D929810AE071502C049A6CA485F5B58F89ABD792C6516B78655AB59E4E13FD22E5EB7039FB0E955E9C366609F4438917DED7878305BB1D84B3BBDB82C37AC1B08F1F57461953FA70C3B9470B87A7F2A89E59A7C04B09BDE63DE5063E80061A0C22047FC5E68F2995F23E1D48796199D2BA3D379BE2F6CECEA4ADEE9154172C114D5AFAAA4A28AD8EBFB3BC8E005A0FFECC8CF5EADE6D6019B770CE331D552AEB23E2F5A85D5393D9953DE3973DAA20C384AAEF1DB183FA42C89F3A03D7363FFFACBBF4F6C08CB408EE21ED4C91E8D45FA875A4A9882585926320505B205C2A16AB83519711D7DBD2BA8C8057CF9D88EFA79B36087EB71270352B0A18EF911B70C7BA31870441CF819DD5861BA6D3BBBF45FBCB5BB04F5AFA5FBD8C4C8117146CE6750BE2D1AF17D23A1CF0467578CAFC83C9EE0F69C7F3DE4E000654A3D23BB424E59340CCD0D7DBBD5E3D77A67E76AA57589824B09E5271850978D735A2493ABE999C57EA68DD8F226BE727934D2EC8931EC338BC5E60A6ED439AB7E86C48F74D5EE3170EE94C08AC2E76A8F9A0FE9A943B9CEC538406251A97BC8A3B80889403E990CAFD3AE5737325BBDAD3E21D61BD404A0AC3A8A14EC6E8240892E4B1FF06D091CCCB045C08FAA8D44B616C9DF786E7D41A6C4E972E2D8B8487F446615A61F3DA8381EA3738BF1C26957C5BBDA743D8A780A27F7FCFC14568568A0B90B434A993C3C5336FEE6D1EF1976D6D255AD44924A1AF0E82D65B9B5680DB6873E5EEFA33C1C759A90A375EFD69EE68ABC24E2BB0873479735E20F0DF0140F0C0F1B79AA71060D5040677EA04B0B38AE75AF8C15A3298EAE9B8A362460338C80B75D20F3C335C08B3A86625E231220F27961B3597D8F1E60096E53CCC1773C08F6AF292E191A4251B7276723EB68A155890E7680F9CE792B5DF904C3A9D2BBDAC54AB8EB2C47808B68A65C24E9AF743325D75A01E57C23448AA19D4E8B25A1A81DD3FB761DB286F2CEEE9B4DDD6A0F3AE640D31348A2D1626D60ECE88B1D0438C9CF74B0E1D442BB69EE0A2D - -337FE20B8346A0DD847F9FA286F7FE12848695D1C2E1E653006AC49031D80BAAC63107FE7B1C007143503AFBC424A9F99FB40B7058F49D4EC0563908606B017AD0316934C9AF1F8C744A688809563D49FD9C8E77F659C205CD8F958C49FC249D8493CDE65E64B7069F20FE7E22170C27C24E6B70766A57EC9110E845BD07BA4F24A6425A451A5E07B49B93BB2749E3A526105434B25DE8930C7C5DAA63DF108A5619BD1CE8154A79C11B4E97C120C4E92D520C92E553FF01A97C971111D98FD1692BE1CF078CE32B5753FF9812A97D5E0E23176D6190D1181AE8730E6C14CBF901B70BC077444AA41FBB237782F5BBCD53954A2A9EC6CD2524F6563F7C5E86A0F38657F098A139D8DBCC7A2CE3F9B95C56FEBE216F1797D5612DB6A8AFE5E45471E9E9858A0DFCED04AAF49EA7EB3772359483D5BDF57C2A9374EB003F5563E14CEEC70FB11029A8784516DC1F99EE998965C351C78EA94D7C668D2D70393B3367F16C542719836BF84C164F449083B6839BBED51346BD7FC754186F1C05AA52A7FEB5F04E24DA15ABFB24C436C128E36526A68B6105D0A3E509D90B20723AEDF7A2B04722DC80B03A6AB230C03613D0F46FDC41274543A3199B302B6F6237AE00F95EDD4C0D0713042F462B9F7E1C170057CA6906A30E778447138BAC3989BDC10A3F7E7CF0568CC5E5A8A12A9E34751A17E2C3A5AEE3A2E10163ABB85EB97CD2D249FBE4A9CCB929F2AB56411F7D4AA48CDA037639F215C13BE7DF2DA5EE53854B941210246725D7AB978558ECAC313EC9ADBE2E6A403E4F075E27B9C7B6EB52369F80969725FF8D69600A068EAF0B25BB2246AA661ACFFAFE5ABED89134E24B427FBA83F4182CC80FDDCE8E16149A3919317C219CC47992AC36B5F6589C69474D224FCE590CA2EDF9AF98B04A5509729F9EE12450169FD0BAAC72B5E02B6F098593A13B7681041A013A996ABC1C10ACC93EB1C4381F0A08B9773187FE767AF74FA48E73CAD3C02792A354EF3029705C1FD839B986DAA50553CD8DCB984C83B6DE42340E037F5AED1E0832DB65D3D01F8ED1E7014753B2D68B4E858389EBE00FE8D6F1BA9CFF904D2A6F99B8A33E2628468904B3D5B7223AC01155426CC3C3577C57A9499E6DA2C91EB61DCE59C3B2C311A028CF94DA9D485031827C28C0C08CBC4C45C3666D13A658C150C2D8A5C523BD26EE2E4B51B0CE4972A2A89CFF30742BE7DEFF28E0B9493A8541BEE2C19BDC1ABC8E73850673C37787E82E6029C737EE7690382E5106EFC6A88209ECD9AE715CF7DEF61AFF69D211B71A873AB9DCD6DDF01F443D2A9C022B98F54FEB41210504E44DDB86830C36932049ED6E0927AE58A8ABB7F052826BC5B4A8511F893CDF7C18AE725DA43F521C2A5AE0B1C1F424B4F6296774F0FB8FCE6FB47D62170869F991C3B0B6CF37540B4F9E558651B3 - -1F3F6D843C83C6B03BAFCA9FCD71CCD8AB59A91606FF46233686E03877BCB3A3EDE9DB4986A8799F5CB8265CD8113D2B1B458247BBD3F28375F09BEF0BC0367D395A0010AA2B3C8BBC4EECBFA7B4EDA0C08C8F8E0E3F6729C60F286B8EFEC7F8651D9B1D1BFFA0AC3F071BA25FB7234C79252C7F67331B0D5E7808230B5CBC8CB077D71119B3A912EAB7F8CB29AB8E34D3F0E5FEA2F29205D371805BFCDD9D29610BFBF83F77482936C0721469D5391E2F095B824D37C5C049F5F0EC5E2DB247D47D8F1720822E5AAD60672170EFE7F2E5C9234860B6F0154D748989115D7B0BD70BF1285E89FF1F396331489B09D7A2098523F09290EBBCE0E6D55421413E4CE5DC9CD380E938A3B77046073E5A96102EAF80EAC7666B7C66D0DB87B779F0E21726A71933CEA9C94652EB9251D79076E8E37474DF6024475484596857C5F353300382814E940F664A0122BDF04550AAF6EB00B0121B550D9353B0F2603DB2579DDB77F673140325F23A6F04BE6AA295610D60264EE20ECE404E28E97F5A6000B269A8EF3C271132D46EC590B92D3E29569AEA48BFE8BC4050586810B5947C95B01C4AD45C70BCBADAD9188B1A3ABA5409CD3F11DEE234D8DF3135229C7E11BCF26041969994281A39260A62296DD109632D7E64D300AE9673AE5C916E9CDCB3A92CC619345CAF97875A1B9589FDC8279FDBEE2D3CF91DCB2631DFF199874520A800A47E87E85A3994E7DD1BD73A562D3930515EF963A74A286085F3EF7CCC881033CA3182E0C0DCA86B1EAB4EC8114605E7686D9865F4D55312E26AB48E4CC7D7EC12CFC661E9D1F98916708CC254C6B8D7836BCF2B75DA1814A1AC53FEF899D1B13FB6030A9F4AA78EA6DBB38B289CEFC29A7F475F7F6050DE3A4172B53DB3A48400E0AB42B611C50C68AA9C17A493BABC3A3B02EE5C6C8D448E7212B11EB044C3F129281578D33E4E6966BB75110CE92797DA30DE45A224B4A1645E77473C45AC654841A4C6268322AC64DE5243835FB1581208C637C4AAEE2D05BBA9732CF58718F9F325E93015C77FA52F103666234D679E96A0FFBDEB5545E3A60D4341829C4F68A38B86238AE5EFEE2CA63918EF2B75618869A5F102AEE288867C0BB5F1DD57736EB4C5D75D3FC32210F5CCFFFF8F7328C029D6C55BDCF6DB60EE5B07BBAE93AA679D74AC444EC7E3F21D0F3DD13082AD42E9A99E6F50BC6312DCFFDBB4AF93AA865BB09DBC59C6F625A8D15A86E8B82BBB4C3E838D6763FC542303BAC54E786FE3B6157FE5409296A9A409B526EDD8037D02D108219CBC47D67F0999DBE4790B76E231346851ACB8E3B1EA71518A86DDCEC4850C87C3D98CAD998FDABC3DB015D126981001789547CC3D6A1E90C99BA9149FA7F4FDE93389667EE76BD72D5871D270114C8F7EC0494AE7003656D65AC978724ED3BCE90DF626F3E8A6 - -4E5D82ABF0592ED7BE5F923CD8FB0594D25C63F53ACBEA94F189325A25065F5FFD463E96A23258FCE6547D9BBF910CEF3F0CABEEE00312E172D41C9C6EBC34C93BE23A21D229A039AF2F81BB7EB47199411CAD35CA25F13CE6D4D87D65EFE825CBB41F8F9F3F30D026A1B2B273D853224799681F7B13CA93592B9F16D8A090E8537F439C9D114CD0FCBA3EAABB3077771C3D7DC15EA24B97D5458F815BD5D9783DC59B3DA775500D1E6DA8B425440996BE705AA8A5AFAE891F3AD54C13F91AC89914A98B58F948FB8828CFFEDC803DC7A0121DA499C98EFB39C899740566F363C3123FFFB0FB7CD25FD8FC8444FC35E1F32185316240D9E00823F3B8FDF39CACCA9416F5B51E146DDAED4A7C82FCF4ECD63E110DE7DC14EE27168B5675BC5D33E17A92CDA0CD72D24E8DCA8E9DFC68A3998570FE69E44AE0E7F078FDEC75BFCC32EF78420C51664F1EDE868950DFC1A568EA9DF0D7751A4EA6EE275B0A634D724520D77E73587B01B5A01657D055A853922A64427D66178028A56385BC620E35E083D861F4DE629D462318EC733685B01800189BF50A39C06E4901D0E48015736D92CBFAD91EC19BB54B0A7A3072FC0245D1540E7779972E785D30A5C86CF609B218FD7440AC7EDC43CA51226F5E5B6780913B8223640709D80DE48B769926E3E81EA31D0E2FFCF1A64D21F35663E3797566B8D72121F2C26FDBF39292A9B59523274156CF7CFFEAD629FD3C685F3B17AE2DA132521AD7407BD6C2E63E2A94C799B5853A8897AFBF2295CDA108F909D9E6ED9D7D3F98CE02F736E8542DC92BE13EB0B19074A537C9C202489909ADA05713D43F6D0682ECFE82C95D733393CD806F4B9D6B2B980D034BDB562AF0B8A4D68BB0F894AEB701858DAF0DA9DAECC48B4897DB8B4B840B3975192BD41DFACF0B2D7C9A5FB39FC9A799FB5287F036539FE23CEB0E907630F47662F8D476385702C0CEF5C7FD3101BCAE0F2DD402D05FC3B6233C9730090EDA7730A32624D8244C9B83B3494D91F62E19799E16ED0CF9D05F0F341CA1F3A360965E209B5D781E47AE2C38F6C4CE493B9E6C75C1E2A2C1B28A2DBF05C88D9D551A1746F411814E21DC3EB81B4F789CEFDA7B27402F6A32C654779FD1D69AF86A8C1585B1D76C115BA2235888744BE78481C844DA48C0E438C56935D7F2BDE78BEF4677045F5300B4FF8CFACFE5AC78C421D320F86D6178620D968D750B7373A9B3CA0B04D18F242ECC8F6669046789C52B01E601FF7BB59CACC2E487F8D2F2A71575D01C3E41534A7525D6341ACAAAE2A6F359FB15422C94ECB8FA257CAF63A031FDD5A425A9F6201EFAB7711252ADE7F7E07B37332C9BF4D63DB337AFD0AC1610D0AAFC2C3446AD78BA5954B06ADE0E12ACB0D6511A3B6476A162AF2CE09910F5BB046445D592E9D947E8823A0611EC1C24F75D5BFF6380 - -AAE67E4C25DBA066B7F50297F13716A780D72930BD5E794BB2C540B2F96CFDD585FFA63292A0652282CDCE7F2F88A3DA710EE08F3ACF165CB01470ADEE94D3166A7F0AEAEAA82375E06BB703E069B344E624890CA05C33ABF733078278A7218BA39E55290D48A8850C6C97F2A0285BF7B6C10CA2A38533D6866D07DADAA37B6DE2E808B165E91AB8B01D7E9F74F125334B3FA7255FD909EA75E0AAB96972845E8E038B976CCA2319FE862EEF59F7F994A2EE5F632B0034A38214DD06DDED4F98A83787E4050B6C30CE00D7D23E665921AB28829E7E52B761E69F93F88D99C4FBF9908D06E5983982271C81E4F08A516AAF38EC432F4C084958C835F5D3856B63C47B23A9036E6B1855B176F64035A6BC1CBC56CFDE9754B909BE61F642C1F7BB47D9F7FF92B1EC2C74198236682771EE315E8BD8A9128F9DD295B77E2CA6B0BFF11A76E420E224D1C10CEA76D3D71D826758163ADAC260FAD95CE05001E747945785FFDC65EFA473CF8610F9F79D77F9B9E5B1C571BC6A9D4BC2E234AB2E5D8CF800A1B25F4336C04373674A84A8CC4D531FE68605C539EF52DFC3873B8018E89994FA0BFC97C1BE4C7A993E4EC7F1687A2998F5EFA6FF4E0994ABB741386698EEF95641508CC561E7C004ABBFE87152BED43D6F435BDC6C80C3A817597A6EB6E9180160E92A1BEB00F11C60E452C842C3062AD5FCEAB7092D502CDB18103623E0F5AEF345FC8A0640E5DD50655BCF46B9FCA5979F23EC0F3238632BB380E84F91EEA92C452C8C12224A4F3980ED5664272A4128D80047C5638579F44E06E5F2D635AADADA46B6E0DE3493784A47BB4A30949F14FEBCDBB872216421B4F26764FEC1F375FD6D9BEA376DC6BB76C4AE9B0201B3F277B50A4188CFCD4A9E34F2E6E8A4C702A2A46D59EB6B978927FEFB651B022F46A1FB64F012D06099CB7674F153A29CB0594EE4CCD11F35132C25ABDE3B7729BB4ED98A60E6891072F086475F7F9A11FBD7049430D32BE88CA1EFF97DD04F7645437DAF69608C55729D0C91E5ABBCA853AA0E345323FAAC863BDA90D16516FDC3A269D8574690F64ADE1FE0C57F47398DB43FB93E12F697831E8BC03D6346AE3410528D8E38CE4EE5C1D1FC8FF2A38686E670A1B040533D71D4543A7B21220CB034F74AF6638B8ABEFA73B12FDE1C8950456552177ACB12C6F3EE26869CDD26F0BC5243942807260E14BFA4E814EF25DFFBE927E9310F79D1A4E8F5AD5D27BC79A419207606AE36F8C470D0D29F6DB7CE2B119B4D5E74D6AD5470D040109F1243ABD2298211D3A742CA1834900793CE2829856C598C46AC0C0756A3451D745D58096062C4FD1B2F78EA550F8A8FB412F9F10457120EEE751AB1D0AD55E6CD2BC0210D153819354C762F2DF72AAC41A34880963F4C2F8A80E3F1ADFBF68B4B74CF1B6F7BCD0016AF769626FB1A - -FB77A7A419350F20AE61C78A51F6DAB375A7A041363FC5AF856EFA7E14B55098584ACE7A884CF9B0A6BB6B8AF02DEC3C1F3786D5117D477E88FF856531B57823EF4DE9CD38FBC6E31EA1BAB9A8E5CE80EC520BF6AA7342D691DCA03DDA13D682B0E1BE3DEAAAE7530C75D27EDE53A920665112A4CD45F9726656B1370EF6C4D216F6B13C71B5D22A3827CB80324A0E9750A3086E510A3D821DEF9FAA32E289685147442CB1972E39B82120EF2FF4290EB99ACA9B314486C9279834F8C7F8FB7100054A4C48715C892069503BE245703710ED5635CA18F96BCBB215073E4DE85D0C40B211FE1077F3C1813DD08F6EF0186CA49BAC5F2C00F40B24F19138D24365DE7C1B1429116572C52A8D60BE20626635F3EE0552B0EC63934853AF7B71613CBDBA09086FD41B8EC89883973B0593FC1CDA1DCE299D7C48F581B495C585464FD58045D0384A2FC75D62A9E9585790B1C144B9F2F71CFE53F99B2D017118808E932A2A5009251479EF7E76AAFE99C7F3F66C8A8B501F50A43B062D857284C614C1D43039F68BB25865B73AFB463EDEAF693E4415C2991E5683882D0AF00D0A51996427D232B41EB74F5ED05486368F797027D698EEAB8D187751EA46DF03EF09BA6FAFF2BC4B42AA0C87C6984FF5899460573D7A898D1CD3F8861C8EF0A9EC27CE3ADAB6EFFD9CC44A92095EB684ABF4B069663D1B293FAA13D3B8EA0152DD0B4C122133C01D937AB72398F69776D65F62295B7F62CA7CC4CFD81621FE5EBF2B1392D14B60E9B125D18136A78AAD563C74236957337D33D3EA4AF6CBB037245AAD1B8E9D31093A5AA27685B35FC69DE8E9B6FD875ABA8B8DA6A084759FB1EDB128A53FC92BEA13C2E0F7DB3140AD165F214C06F386D00E32EC2091AB13FCDD17175986B1BA12A8F6B033D9C21CCF8026F9134A8B36519C3DE9C46AF00D26F092415E850F0205866AA92B45163057D0F2E8C9A51FF8CE277B71F6F0964943437B545AB666FC89C73C1563DE474D25D55A95263B2167C5890BE824421F0C26C31339D4C8A510BB8F54F21840A715E116A36480F6FDE0F4CC07EDAC0EAEB562F9C236F6D695106C9ED662779091B688CEA8ED6F35FC5B8DF25A49B15B02675AA672018E5F759D7FC789E979D3AC1B7126B5AAB2753D7974577F812BB077AB250BFA2527299A090F0BC10649E0D364C8D14C49D576E3CC96460B892C5597B239BE1F15A34B8B7CBFF66050668DF118436FA27F29E579EBDF975442E44232D1F0C0DA21CA723E48DE74FCA203DE219F2F6BF1582AB62B3D2EED08C68E338B4B81FB206756F05C4E0889D714E5D4F622F30E5F59A28D7E3D3BF16AA2BD86538141331EC864AA7CC22A5342D893D8A132DB1C32BB473E6F8950A128C4E7093C4E3379364AAEAC5A290508D7BC88324B5BA3E0C134BF8F9A9486EC401460834B6F5DED7A - -8A290AFA063DABD96DBA4B0FCF1EDDF96596BCB799DD321B9FFFAEA8B7054EF5FA1CD66BF5A39791C8C0DCDC2AF193DCD439899E5A66FE01E35E7D57D317DA41ABD14C4BC967CA32EAE13C3AF10A95F90A6023B368FD5694D5D58495FE5B436C50B6ECC114631EAB542CE6B501609DB9F36C5D6C31B742892B7EE8195FE7E2D7D4BBA091BCF29CC5722CEBB79175765AB57C6A8F18A2A2A202B988023882814C8450F8DC478EFDB29847D4DAD2673876F3B334F2A1173C313FF60B574E71105BF67D22664A769999097EE32FBDA1603FA46A68ACEAD8D73E06B02095A6DFB43675CE0E51CE52BE9DB7F166B57612D313BEAA56135C3689D0589B2900A0CEA2671BE6369A6380173D68482F54A3A8363DE35E6B6FF87CD5949A0DD9E881817D36EE1A271B4248FDF8CCBA10590AB9435C7EEF33D7E26E79B4F43E4D6D73529B36275B62086D3B9431120A60BA8EC2AC4658497FAC2A682A44575D9C7F7B72F639DB832B61871D535421FB72B8846DCDF32030CC6ABEDB680E6AF3E91A0E766FB603E2AD4E384391DDF7E789656B8E0B5FEF860A43BAD0484A8CF98EB0D1CC02E13A2E7EA68A5F0ADE8B4590B639E1DDA44BDBBB16C66EF72891F6378D27072D15DB067060782AEC1C5A5DF8B43097BA58F6F97AF415F587F437790157659159F47C8AE9ADE1E687D3D0BA6EE6A05C38295240178AD65C0E67EA3F04D1CC1B44B3E1B59CA47A21F83528F81D0641CEB2FF02B78B4852E8281D5AEC28FA346BF92CF4956FB9E3E6C7F570B910D68F2DF49F64D7F3738E6F648A75279FEC3ECE3ECC4C4FEC4711C93F697FCE00327987691EEE284C8D794BF2738F6A07F80F867C6BC84113125111DEC821657F466BBC54E3885ED96C6107369D303440D33E01D274A02A6C04209C0BF6E39513EB0B008CE07479BA6C6ACF56BA8B3E322D6E279342362556A8D11D53326C748491426878B8FCACBA0F09D3F92AB2150A5C21DB667842073FCF21505D7C168B9117EF2AA6B238324F7864EBCDBE258B2966962E8C487702BBCC9C09C6B1A43C20AE43542420EF739DB99A4CDB19103FB8BB0821F9728B47CE5116E296EDE413FC0E3F8BE5FC91F6B06404DFAAECEFAE9984E9CAFE3D7E7258DDBEF549360D3DFCF2B02AD8A2AA188A465A79DBDB1FACAA865E70F8BE8D507AE1131B8A0C2798CBD9168C714FF51DFF305AAA5C30FCAFD864802B7D9248AD4D8AEC4A8121A534622EC42885A231FE5F55241819DD92113C917AACA979A5AFDC47DB86B8A3846C9C9D91AADB5307AC9A3FAB33B24CDF4CA7404FD7C23084AB218D0F9813410BD09F00F52DCF184EE9E7C0E4DF6060B29F3CA8E5D6BB14C560FE9C1A28D94929A5B171F01390831DA503D911F1D4EC2BAFCB970C7470B951CCC621344165D420A1ADD7E94B3AE26D795A6B84B62FA989B48A4DB0569132 - -E5717537F2B50CB06740DDA190C410FAA6E1C1C920C269440A2E7282A0BDA638E7F1A2D64999E54AD2C55595796E34CC3D0EEB231288271C871AF3F89B6D4770F577D58F6E0C57DCBB97B21BE6E7E9C25248ADBA5A2C6094773FC90F8BAA20CC8830B1684AF0522BD2E5DC53BE1A73876C3E882018E66AFF00DC564828474145B51022B8C558B066EA140D91E1800C3B1155521FB1E62A9F5A32033D625B7FB7F10EDB000BF349A55D0BFE2C90279F2DB3066BA7E987F36716F02FDAFE50844F1CC4287C3B06C1FF177D612C2A564FF5B72849AE7ACFD8CBEB77379ACD651090DB6F90B1203A6C71C8F61536EB2650A46492CF817295E91F4A9DDDDF34D33B1BA733EBFD8C7A20549618419186AE4383CD755411AD55E2C3003DD00D9ECF809BC87165375294D4D52196EE4344C9737120E5C7AD2E7A82E7168FEBA0420E1E0C1DB51449BCCF - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/VDLALL+Helvetica cguidfix -/F2.1/VDLALL+Helvetica renmfont -%RBIBeginFontSubset: TYZLYM+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TYZLYM+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /f put - -dup 34 /e put - -dup 35 /t put - -dup 36 /c put - -dup 37 /h put - -dup 38 /underscore put - -dup 39 /S put - -dup 40 /l put - -dup 41 /i put - -dup 42 /b put - -dup 43 /y put - -dup 44 /r put - -dup 45 /s put - -dup 46 /a put - -dup 47 /n put - -dup 48 /d put - -dup 49 /parenleft put - -dup 50 /dollar put - -dup 51 /comma put - -dup 52 /parenright put - -dup 53 /m put - -dup 54 /space put - -dup 55 /p put - -dup 56 /equal put - -dup 57 /hyphen put - -dup 58 /greater put - -dup 59 /g put - -dup 60 /R put - -dup 61 /F put - -dup 62 /u put - -dup 63 /semicolon put - -dup 64 /o put - -dup 65 /at put - -dup 66 /braceleft put - -dup 67 /period put - -dup 68 /quotedbl put - -dup 69 /backslash put - -dup 70 /braceright put - -dup 71 /two put - -dup 72 /colon put - -dup 73 /one put - -dup 74 /six put - -dup 75 /eight put - -dup 76 /nine put - -dup 77 /zero put - -dup 78 /four put - -dup 79 /seven put - -dup 80 /M put - -dup 81 /k put - -dup 82 /five put - -dup 83 /plus put - -dup 84 /three put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958EB6717097F133BD4FDC2735943420C26687CDC55039E9A900F0451830AB34225DFA1D1D95E592C2A600A9BF2571AA56D1A6C4560AD1025FC6DCD258FAF2EA49924CA840C284EEE67008F3C4B128179A21FF064DA49F8DC094F1DCD2F924AD5EF2E5552378A358E8822ACD4A8AC72F2B871BF2018EBB63CFDB9C87019E20833FE9A1C771447DCB26548C24C5FED57FB59EE8CF6552BB5F1ED918F659B1328E00D0AF7868A68D44A2AA8607A2056C418BCC16C410CE2EAA5CC2B5CAF98268A477F6D86826B17283123E90D9B9B0E9E8C83B336847B88DDCFFA540A16D21C7C00592C5FB9697BEEE66C37E6D02C465F170835F21EC5E124698A1ADC1D01F7D80993271F582562438472CA84479E9084D9B1CC114A2AB26BE97EC1E00EFBAFDC706E068AAB5C03EF2A4E0B8DB9DCD5A3D774E89ABAEA5F045E4BA91BEC1695C4C7AAD46779BB3A26A56499760874B231D8CDE5D28F2AF82BAE1FC79D474709A0B53AEFF730A046D10E72E642E4A9617EA8ADD23BEA82D465D396431499247C70DD4166CD7A5399FE93903D25A15E3388D5FF9F29944D908F2DB7FA1E749683A595468237F848B7B331B5B03D9695DB0AC0E7376B4DDC605B286D0BB4E31E864158481DCB7D1A8AE4F6A89DEB4B18BAC826A6BBFE9D24FA8BD4453031CD0B0A506D8A2BF6A5C5B446F3BF19F11E95208F847E1EFDA0DECDB3FD406E29A87863F318B4C0651900C898AF21815C13227725BE399C0F5097E53480BBBED6028BA716F22 - -82314E6815DF5A75420DE17CA08BAEBA0878D9D839451216259C5B2FE320AA451EEB1CAAAD3E9A77048F73FB55E7E36C2E37DFE2F9379ED9AC69ECFA8E867996B20C62358180EDC59D41C8A141E170B468575CE61B0FEAEC1E3073D59C9A0C61F3F7FEB65A8B3A73F636F2F7650FFC90A2504B4EE226A60FD918ABDC62F0E2D10E0D881F9FCBCF012C453BAB483EFB8FC9D82EBCA8E4DB445FF9A04E0E5EBB12BE6515C350D5899361593097F6A82F548F4C94CACB4B087BA99AE71E88DAA1391001BD3FB17726E17010FAC0F38549E9FF009F38D3C93713BA4079C6F324E09118B8A931CAFCF20279927DB9D4734B40DCCF1A4962DC187E8868419B5159DDB534B2AABCC8F22B9D52F7EEBD11399A40AB9156F290562C47F647F34538DCD6937FC2D175A0804E28E35EF94E726D774661DAF98F1D96CFADDF9BA62ADEEEDB93F26F192919D7489CA24182FCB991CB767709C14885E0F3C632C7EFB73A9C694F89563CCC289FBCBE99B9B2AA8565950230614B807F1A7BD5B3310DF81B13E2625307F1488D648957FABA24271B391B39CB5CDA5E9FDC4246258436D481F7852185C6715354A9D5A283E10F33DDB6FF5520831549FA31B6B643862FC4A81C891E383ED37E0B88286E13CD3828B1C06D93E73090C6B607D0706EE134F774902945F87C30D147AD127ADC8D80FB16B1112007D9ADAB3054CDBE81D4F02BA2C35DA489C46F7B9151995BFBC7FEC3F89916A16D9F5CA31168B12A389346991F24AE300A569A190AAB16B0D5F8226A7F3F8BD4475D13EC86EA3DD649ED739EF6B1F1DFC9ACA3F419B8ABEF2A704D45DB9B996D290845E103D31C53BC85F795193D1F2D7FE6DF0F979CE4FC619BCFF3AD0228BA15F648B3A724FBC408BD9267A0126D5CC68C01C80A71C46CD572BCA235AF5259B5619CEC469ABF8C2B94C7174609A9202B174E380F4E226099849346701018584ABF73DDE3620F1FE9D95C6CE68E1DC194C349752C9F3C6651CD01E650BCA57FE5ADAF408603573FF7D9475E91164DF3E07D2A0A4555096FAFF2DEAF5CBD0818EB0CDF2431760C97433F61191CCC1453878022E6305D0C64D83C268DB12414B4303DB733FB3E8F23C9FC7706E590BAFB67ED86F12C43F1ABD15819DE22279B3414F4F118D736A0F101DF0CB86651F80FBAAB28B9C7C707DAF31D9B209D4B1B7B7C1C67FBF05F2D3D14EA132BACB567E00693B73D2C15192DCFD69DC05A034640E33DF9B8773F90775E5A97B3CF6E8BF497C17926A41B91D6501CE8A56A4213498D893BD8A76715521B65B4B6088A0846C09B9D1CAC6B6A7116E61B40F5BC48128FFD7844E513B45684ED03374B343D52F1DE80F37E632AD61CD01F0A540C8186234E30FD8ABCC452FA9C5E88ACCAB7E599BA0F51A56899F55CAFE622CBA7F83C4C2E8C1DD7792751070D5D11F49607C4 - -EDD0472BE52C8E13A6667EE801B0B4E61AE60C8BF702704C4AEEBCC5324160E48D9DEA3C65177B823A6B9B4A1090E9ABCE37E7AC15F3F42BB572EADF188C2AAC0008244FF14841577E94F66FAAE4ECE3A1BD0257AAB72ED857AB2873A306C7A2F1EA18203AC6D4002D80E2AD5A3A21FFACE0EFFD09F1651512CDEAE68A997E76AC43C1FB54C60B5C31391AB9CF9C01DA8270B322C6EF6462FE1DE836B971D1AC8058397357DE2681939BA1A142191E51B94C2D06F0AC8287E5C933868516C01E54A2BC0DA45104B15C68E1C7A1F240EA9FFD18EC45E18092487A7D1F40258923DE9C17F05C8F576B86FA6CC501FFCEA1A9B51B579748EB64FEAA3EA319F76C660242EAC72C632F24D81568963D66E55211A9D962648677FE46CBE918D9DE40DACA0A540D5CC6BDF3E30343834E73D88BCE447D3CC6D81FB7A3C898F031A960F5693CC0688EDE662F5B473ECEF23452ADB0E6B930378640F835C1132424E8E0412A4C278CC180EC68B34B1FA4D5203EEC16DAB642783619915AD1C1FFA2EC549FAB4316DB2C43B998708C4C02967FD3383829DAAB81CE754BF421415815190C8EAD3F094F9B67AD779B517B887DF583D9DF2B60ABB264F11FC8A3217A7017D4AA0EBAA3C7AEB39CF9E6AD66E02C70B6F3E0001DAFF1726D08CB079EB0AAEF9799C6E1CAE344EB29FACF7BD4C735B58186575DBECAD8F53BE9BBD3EE3813682EF128ADA698D5D649270A476B3D10E79D2B96B1C1A1C5F29B8EB1EE59EEEB2408C58E6EEE86124B8588C20B631F6CCFBD61B2B71D315152ACE1ACA7867E8A779077F699B0BCA6A9CE8042102824A1AA9625ADDE6DE6CA8557CB95BCA06DBA7C8FB2363A05161870436144480D37C38AE3A22A51C9D55588AFC008C6ACFD235294B3ACE57D7046D67617867B91394BE1DB676A570995A9CD9695A77061A243FFA73B4A6D60B70034B6BA56ADCEF4E6C2B2CCF74C978089DA3F6FB896FC694D74BB4E2ADC50CE818C32A8913DB4900D262D77DE2A183F26E25311DFC3344624F04A164DC5B2440BD641ABC4629AE29FD0A0FBFEC90469081853C54F987D1B0263C599FFD814C701C2B82738C42154C86EC86EE807023F7DECF035D0783B2896B7D61938CD84D153022B9069BD2D7C469280B94FEF99C578F4185428EDC7AB93FB301C04DBC46EDAC9A99273A2FC28D7F6998773D091DE696D5EF86517C47810A1360A3F20D235C9704118C99DB0AA9F7B6CD07CD7C59160980C6EC6A02EA402EEAB0D32229EE13CE47249B8AADED6E9A61C38D7688D415D1A6315A7F9C28C4C125D979F58DA7906C09381532A8AA021B23124A62E3FF2FECE567F5D6775370C1E7C79EE36213631C480925750C13FB8E24295B8A2A41B7418699105F849FE0EF73DA570BF0A4F0EF92329FA175155509E870AD51CAA0D54BF674FE5A89A70DA88400A - -C79743DB334409D098BD54C8722706E5DBD207CA02087F1A418E0007BE43C46AC45FDEBCA289C017933DA5CF705F050737463B2BA1B42C78E8F249CD8EB04DAA33AC151C336A2FF1F7C18A48910C0C075BD695C86D6915B7967046C609B6B1987C6E55BC253CE9DC338114520D7F483452584812AAF06554C9A72AF2B9C60682F4C12DE8969FFA80A7BC64B6971C197CC781F390CFC1CA8AB819A050AC89FC01928B41D1F332896A20247B21DE8350EF6757862779D601BCCC00F9596B9F08BAA30ECD4CC7C389983BBCDD24DA7EB7BE9FFC86FA86D587E376922E7A26559BE5DC1E8C695E6F2DD948915A421069432F0A5B583680D4AB7777ADC3A3AA77FA4A3EDF486D98EA680C1EAE96B67249C3133775207CC36F34EA9607F1033C801F29B402E0751EB53B9E81C9B5447E09B47156BC403F35835EE242DC4780EF0155FD4966461913A8DA77B7733D7ECEC39FDF7A176775DDAD883DBC5AF2613F9509485E7075559BEB608B7B1ADCC29E5755EF1FC0D3511A92D99CF49F2CEDBE996C9129596B03F66A3C907CAC33AF5083E364D87DCBEA467E1FF1E85C7CC19C566D43C0423BE963580D82432E363C720BFB74CABED7FCE94B7CEC3A4FC0F0F827643F55B104CC76619D401E6CBB5E983A5FADCEA14B0433283C51D6532738317323B528FC024DDB07F3D7C6B359BB718C3F265EC5A035107655D31CBE31B28C0ADA0483DBCF1121A47D6D6F00A9A8E2E10F71BD95660164680F7F58840359305EEDA8D57D7F999CF24F55AA1F120653363ACEC32FD96D15FADA0997E24FC120EF27D9CA0D3512A16B8F47885D5E83ABEA4426268A1510A371E508EE01345847CCE4C31E0A1E42291DEFF66DF92D86881E64CA28638BBDACADA7EA8AD9003EEDEB55CB64FB3CC4A05BF9B13CD05B5297B4D887B4C0CB708B293B19EE92CD51386926C72E1FEBF0F9A6C5B5CE084C3AC8B97FB28B9E647180509C67CAB39EB733859D7B4DFAF60DD6320368321C432C7F0584F47DF51370AB635C782A17CDEEEDFA813D1F66D71FE601190C0417B47B7F035599F9798FDB5FFBC9DBBD367B58A1792EEB17F61D123A470FB3CC51967FAC7198A8CDF201428FD5007F7D89EE1E28187C2166DA2C89747395BEE03902DA858D32B96B6D8D50FDF8318D38C54CAE01E030277BFD0B5AB0EF2B1C2335E7697FC910EC926BF65BA0FB818D4DE411D31F7A6A5180C4B618EC1D3AAE736F3B415167B1F60C283741DAC819BD8ECA260113E9FAC7ADD128FC66989AA33CC3F17D9BD13F5B06DC0A5D40517B23810AB86F560F9CA2C88660079F7C9E2B0B47302DF0FF15B5E0EE91F43BB43C4F850517C2F4FCF7A001BDACD60C60E5DA11C64E3096463D53E3C4CE9BBB0A53C905A33683C8802E8798AB31B9D1AADBC84B85BB80674EAB2F2FD5300BCB6089F1F2708B191D711A30 - -FFEEBC02D493450F61493C5E7526CEBA753657BAE3BA2CED3B858FE6E1BECD6A4AF74BF00895CF5AEF05EEF458BA8A424F02B3CD16E82E91AE8E8C64CB64E1FBC3D0BDE1AD130602BAC7D37D74AF454AF1B4C2D5BA58E82CFE00E3490D62CD019D95A8E0C46CD67CECBA2C109278F263862805E46DD3C0F3BED65746FFD0D98B91DAFCC332C60540E6A0FD049E987D41CFD4458FA8C8C859F83C4C153917442B73F932F170D4695695FCED5C71293DC5C5406D2EA35BE6DE8BCB19093EF68DCE72033FF8659BBAAB2B3EF2E49ED506C894E8B5DB0DF0A008A4777FB2EA2C3DA0D752A29FC2CA10172CB2832C7A2A043ACEE20D40FE775BB5593D1C0B8B505211B3A9B1CD6C7FF8262109FBAA083C2138A001D9B65778A45A139AC2AAF11EF152F29CF455CF63716CA74FBE4CD2489FF00C4107EB7A1D0523A69DCC2DB1E07748BE87CD25BA29F6FD46BFC1724E74E32450BADCBA6163880D11C604F354F0E22FD05760CCEB95F10851B78EFA744D0E449B31735452B6B469F2D00CDB1B3DD1778453E4B5CC8164C703B39CB6E57D30057EE26351023F4D0583E66BAA3716CB69495C754A0D2BD15506831516779A085FD05175D4D9C0636F40CC5C7118C7E9741193BDE49ECE14E146F863EEEFF8E9268791F75B30ED1F5DDE856EEFEFD77241226C25DC6B7C0D490CB775924B3388ECDE80488DE659E097A10B14BB7E618D7D496D67EBF0F5BF32F9202A88EEC8E23A69733A85EE83EE081A1866958B24E10DC50D970EBD59F917AF6EC0572961E15EA298B60923085328C49A62E3F9C7B45724684927CE43B03242B27D35EE46C2CBBCD49AA31F6A0C6184C13D0CDD4708393E29A51AF5164F96A8C0882993FC8122D7391607CE184C3580269EDECFAC2A76A1EFE761E6832511101FD5CE636DCFC27C23C31E22DBC654D71F28905656B6432C128F9DC5E830B5C927F3571F0A9DE21D84ECE89BB04990A2068AE831020B227D696E0C0953B882B6A0767CF2B797093746CADCCAB0AB4B4EA890CE10001117E0DB09AC08C99AE8970AA89170FF9B7ECA965ED5EDFEA132C7099042497D4888854E30018AAE5240E8A20FCA1617315CAEDBAE9CD022E5651BE9501481BDDCFA5775BA8922FCF5840D254BE79B5512D94C1F161292F12575C57D2E4D17C6ECF3BF2358277CB0B986CA9E778A51BE0424C2F358618FD546043D351A3C7274ABA1859ECE44557B2C02AF56F771C4D1B5FD374FDF28AD185C947254987CFEDA300B6A29286E9C5995BD19273FC68A28C347870FE8F36A94C8B3229714D44AA207D96D04E1F834E8887D3B941F40D28DB4ED6F1A68671618738F7E03B56D0832B99AA1EAF91F6A13B7867BA291FB876FC183D6F5739DD2ED49ADE9E2BDFCEEC485236FE6A1DBEDFB031470F5A03D350C584770D9C2D4DC2B21A7C8185C503A136345 - -BD2A75CD70069C2A7FB598FF5A8AFA2379B195C973D40DADAA9CAE1A7B0F0DA17FE853BDB7E551FC853956DE1322E3379E97F4AD4884F8AF92214B0398A0782E38CC02C8987FC1E40D00E923422CF7448A027E2EF5CAE01E5C0D3F73808169D0DAEA161E6248AAF1EE9A9F0826765040A01B6219E33E26348493B8652B503E9907EDF0310AA9349DB270DA62CC0442FECCFA7F3ED6405EA05CE6C535AB118643ED8753AF78398F35B668AC61792E7FD7876A573D29014F493CAD9B2D14025E66038934501DBBF7F5845E50CC26CF922A4694AE0C7BD1F6C0C3BD5350641F1A4F711D9D041D224EAC70EFF5A787DF26C158CB69C86A14672D9D82550562BCDA4A1975223B0F9B8EA565888A8AEB121A9772B07F3D54254E2172846CA2616EFDD3A9F67E8AF843368CC6C62AE3EB07E2B3CB7F064FB3963D59AC5B65901B240CBC2962DA785B9C93D7D2445BE8D0CDCFC019322D8C8B739CB5548EF356369C1554D464DD79C42AD2E384D56ACF867F343D5F39AD648A308925F497DEFBC2BE615160651E635889DC5FE5EDC93CE6DBEC6F334990558387DA7B6C3EA851A5C12C20631D47CF4FEAA2CC9162E13162BDAAE7AC9D2C60D30DBEE2109024D8A54A442C4D1AA7B4236E1FC26ADB158AE7C89B0FB6DD8606EB28DCDACC2DFCC51E480C29564E46D0FA76587641B88E45296CBC9F3024EF63DD4198C58DD77B06EC90787DB8EE04D05DC16932C32C66A0907B9897DC2250D24B03BFA96F376EA37907C29AF6DE76D9E3F6840C4CD8F618FA6ADD33947CC6FFB4163E818FF03E0AA531A7B5CDB996C9B9A90ACFFB57C6635C02C288B331D0AFFC3E2B63C86E3C8BE2A031EAAAF0CD9622742F9C902923F90BB76B7E23340AF3CF57A72A4CE892FCFC8DFF85C083FC034F398DF59F5D6AAB5538F2732661BEAFE13CADCE65C9AB85BB2C301B37120DCB8CDC886CC4562B04EB507A8E9F022916B32B8E4D20BB19EA901DBF7E4EF33811526C707C60A99E52DCE85DA3B43C98F21C35F83D4847C4589CC6B88DA2C3047A92BE9048BED9CDC5E69B6DF362FA3EF241BB02513B578C59942126BA95D4B64BB6833D6C1BE464ABFF624EAA703F5434C6C489D38B149AB0E9E26A9372F7E507BF6DB3437DF9F3F117C370946AE9661B4651A5D1E29477346B62D35D353E3643055214D35EACF3A7F362907E9373FD6FE845202CE0886F6992666C87D1BE4354E60F0EF7990064C884359F49795EE68E1787C95A95E00F94FEAB4DD7879F169B5AE2691C86C8133BA82094188A4CC0AD336A525DCB5ED4A410528652DACA28EA0ABEA44BC4593F9FDB2B1DCD56792B9773DA990210A71A1D461B948CF439034C548997E47D49ADBD950E75FEC027023EFDCD43FCFF7D25BD44574DC4711AA4F15CC2351094193CA1B16330CDBCD9454B96E7FA590FFC4DF936006E57 - -554AD75071D9EED6C63C4EAEB742C164CF0E78590B2740FAEFDFF49D90DC3CBC6E6EA450ECEA7BCFA891938949BC49F3D1F095B00220807B3B78E85741795F032C25BDD1DF7F05602320FCA9DD228C77685B6FC2318E0F237B86B5F8AB872A918FE37E76AC4A288247B25F53A73C889C11832A25D66E0FA76B1100B9EE6DF68DC3FFE6DEE691A82B2E6F2469764DE9370CBF918C9E05856A18BE772B02D6F6EB24E5FAA916917628C338D44D37FBBA96B47E1B01F48C128B62D906DFD72CEE2713C7B536AC71A3D1DA56FD1936BD374D2BEBE3F96FD4AA43F67E538E2E1BB59A42451C5A92A9C30A48A6E13B3406813EF06B8EAEE153AD62739632F94D3DB78EE2EE5B0548814DFFC65902DBBB4EDC91B8CC76D026A88D31D30DC217937732B938D3E4AE0594276D5ADDC6141A7F2B88880EF54BBEC98A81F408CFFF9F9158D3B5BF0593B6A8C8BE9C45BEFCE700F0CDA1481E77699304C4B0F580D50AEE683260CFE5CCBDCC8BA8BC3BFE60EFBB00BA4263C08E2095D76296F9802BD2183169EEEBABAD98D36AF7A60E0415DBDD2405283D756A99CBC6E27434FAE1DD08F1877017C8E3200E1D0F7A833467D4053EF4E9C3C371AB2E4AF3304AF448A26CCF86FA02706A731B30BB22BC2A6DA8A68CA9E1CB218AA063D454DC69A0D4EB798F70B4E25EDA0C57B450E01ECFDA2FE1DC7F5000CB4B5430517AD355AA04F80C40C81219B346012F058DABC35F761552381FA2B7F4470F345BF18560D6FE0E9A6E21738B4B83CF5CE58193B77E4F0DBAA9EAA91FFDF73295F76103F3AC0F62918175EB8F34FDC5090309B219C4B2649C0B4A95039C5762AE3FA71340C7D81815884A8507ACAC840CA83A0219413FB7A68BBE869867316647ABBC0499EF6E1C14BF27C00A7022674AB4CAB5E240F201492C24F61959016997E4F982F6C1CF4FB4B62F7889B7B23142756BE59958A2CAC32F36B8C28304C46897F23406757C1E5B5C2B5C4F3419B717980FB4A56B09DD7DBF947A346AEE6CBC46ED153EE75B190BCEDB1F339AC95DEED3AB83D59DC9CA8A1C680133E45BB4DDEC5756180AF9C75E1B328CD26CD643FB2F2F3650F623513E989E0FFF523BF4B97ED63260EC5585E371901CC018D96BFF4764ADC1C9321289790B405C6DC8B72CCB933B36F1D953CF53465C57B26CDF6E029AC14A742ED9AA36A1D3385DD1E4B355E286D7DDDF5C779F7C5A30E1EE6DCB6E0A11286BC6E6FB25ED72D7AEFE15B8A32F9CF341E81554186BBE6DE7F6AFB64947EF6243CDF64D1C77C0D43936F4969E9EDD80F1B25A4E528F55CEF1C5B82A9226EC7F001BB5FC15FE17DA2EC73FD636A49473F83AF99BB88587F3726DAC3F4B6E80A2FD73B71CDBEC6BA980FC2182C906768885ABC1DF63B37927F008EF115F547364580F1523677AD5B066FB3572933D304D1257B634C006 - -C6F88A41FD19B7B0393D5479B418F1BDEB332502C36FA3863D3D31C5529A2BEC8D5774DDB3BBD0923D78C56359815DEDA2D8B0ED6A8B9721DD4BDBF5DFE76C1AF35D897FEE6A4E94891E1FA0DF24B3F7DD9151797C369F7D304898877C8BA547C3F1CC5E82075389D0EF2E8B3BE452022B2DB7FDB5BC5645503596D84A3ECEB1CD20B59C69354350406818ADA24B089185A3590A0B3B94D5F91B5AE62910B10DDF17E148742F68E7F70838E1A10BA164699A1F0642D7BD6DC2D072E4926F0A93BF9A99A903964FBCE31F5C1213BDC2632349C203966F346ED2241DCEEF21C8AB8FE57A055F5E312980F39D0FF34121BBAAD024264C37466677FE855B4C46B5A1CFC6BB012C733FDB673D73484F92E0A6B90FED1EE71054F987FBABC23F6AA34FFFEAC4C03E4D6E50A2D42E033A5866905B3C21518DF2CF9B226B4F98492EDFE22F8E0D759AE3A4001C7136501A2E2474302D8C63C77F6413FB50D0ECED5E81BF9449BC46FE26BE7D6E505C13F0B02CFD052BE877C0654F20F9012E5A5FE075F881CD5CBEFF6BFAEC40BF1169452A1B458247BBD3F283612542B8A803AD3319BA588570B14BF3EC6F9182BB985B1024BEB2E0131F143A788AAAFF923A927585030E43FA624A0EF270318A4674754BE655E610ADC5A27F2943667212A6F5899DE14DE687D58B4EDC3E1A7159FFFCA2F2256A3D0BDE29C40FA71A0625361DCF96B5E2AAD5AD9A3CAE7E0B834ED6AAC4EE88186BAD642F04D4D78E5BE219979EA7090C279D5EB33A88EDCD6B76849847D46C4D685FA32A5BB13188695621F892A36D04F13364C80834DE403B1BF49D2337A162478C0F95DA928E038E5A50BD4C4A055B90A2AFC9E22B1FFDAEE950590EBAFF6D75FB93F8F3E9FC49678E1B74F479693847B45EBD300286A6E85B128978ABC33097B8119F4FB6D161A506064402650B16A235B77A73D216D448F56C24BAA876C7B6EF37D5FDD03042257BE2879E7B74CEA0884E7407FF6A96D4E03254682FD61780C0A43C696A8B0437C459BB3E8C4C2A67B647F38C1B4CE50C6898CDF032DD0DE4877BC5A43648271A156134CBF01FA587C0FF5B8B07CD4EA8FD86D8F175D323C8BC5130C144B09B55EB25A43439E93DC8B1FD4635B76EC3F81452C60E4CE796FF80988473382B94DA4F544049F4AE952ECA4F80D21F3682E7996DAA2F1866073494FD9FEA79AB2DB6D079A887A1331670530D0B5B3C33A83E2DBEE9A0A53015B357A176EA39DD112B7B42B3E65291AAC44EAC408652FBAA38DDC34466130944865C45029D2E810C1B3EF24CE042BADBD3762F2420689C5D7884F5605DF58031BE786C6854C622F402B57BCED929554F7FEDA509AFB308C2AE6895AAA20371CB90C5DCAA6B285044A28ED799B416C27CDCA48289AB72AA7FB5F07DAD0535EF73990011BEE6EB9953DE57AA384700CC - -8804C3028D08303F1DFEB6A4B736D477D88D94DAC7522F1FBB0AF3AE3DDB63448C7AFF852568E9675538BFCE8F90F80A466C283FD7E03C1B23356FF50B0853D554DFD6D011BCEB69E0C0D05BC8C4B5C0E161E0D6B5700D1C571AAFB4FC689EC4FD134AE36A3DAB87AFAF6B7FC0F0A33906ADB7EFB8CCEE73DB3B1FCB190E66AF2BA63CF27067FE35A055AABEDBEF934C3D380016E8888E64C8C5A0BD187F40D669AB6D8C446789AC4FD3507EE761F374E90D2DFDACA9FF51D421D342FFF937874991F596B52C2D3FBAC7B4D2055E5526A258AB722770E9B42AC94805BC4AA34FE65905A9C2788EC9205018399B17D70BCFFF9E69B2842B5FB294153E28D877283B3DA47F6AE36FBC3B624D34C0D066BE92281899A94712B50E7D4475A2E89954456C2E58C3519D3D2BD98396BF0EEB105F6CAB75923CAECC7C8C70660C5016A736540A40C2E57EFDA66CC4DBB2282D35A285E707EF822AF85F1987CB58994A6F684395473C73ACA2D08CCA8D95854CB36ACB8C66FD118A14C9BD6AD5A7701D36DAFCD63FACB89E892088A90BB383814B0C875AB99D4F38E3E51C0D797D5CB867A7CE4108C30FDF6E2998A226EBB477E368CB107537FC09A000B66C99323BA65E990F6D098E9DB4ADFFBF143189CE04737E6E4550FA073EBB7DE859EB3D4617596BB2B866A0D288A5C1158BEC66E9F11615B12525A94904842119006FB85853D3348CFABBEF1CD013857E712E097B81FFCAF93F939A881109156AC246D8F421225FDD37F61B0526754961062C90D74A0895E4888D13DA78B1A8F80D246DC68F6AC8B5A2D40E32135267280FDF4F8ABC9BB677A59F7CFE7CA0A886032E61B90FDFBBF11663BDA307D1329FB471747C7624E3676CB28788522285686FBB4A505FDA78AB85E175042B965F2019DC9B35AAC14AE83E422183F020F7EEAB0C7767CE5B8B54201C79E4A3A459F7AB3C88F160CE1148994B2DE9259B8B6409A58BC4066819E78019397A5B71A5F0578745A59ECCF4E9555731CFE7F5DC668A8966C4A946985E7BD72B732F9B4E044B7B74EB9E2A8CA6DF78C886E9C186424D1DA3F2B2C1D2B4A6391E8C6E063C69483A068278878CF6FE5F33978E28C2D0223855AEEFA644442DD21371E793FB884E5CE5E0D0144CB40E0F868908D28FB09E222B8317C9BDE6760DB2C814D29304087B5EB05175C0284B1103DEAFDFA2EF22123176FD1FC1D27CC6CCB16B8D91FDC7AE617C9FE56E5ED5AE5F12633BC42464E72978B66EFE6C23D0C43F41A32D852556CC4A235C48CF832C7B3A485CEDA04CCC5754BCF18EE1E69BA2AB86897DDA5B89D136BBBE5D145C466F75C6CCD19DCBB091FAABBE65BF3D97A1C2812246C55EA8DC9561C9BCC7DB4ACA747042FA05CDC8E30A0ACE6F9396B14CB30308AC0272BD9F13C3BDF021B9EDC19EDCAF07BB51A30281A599 - -5143A8DA548C395C94D652E06B1E11DB0E659EDC4F18D681BAAABCDEA85A272ED623D5DFD56AF26E915B4C74817098DBF70075D8669E52FDCB8750356A5DDA70A5D7047572D2A0D27FFFCC8615FDD99C84A4209D0BF426A33C3730B2977BB22F08326B2919E878CFAB532A1B55BC03F21105494A9B3F157E70E4F851D364CA6F55DAA664E46403BD203BFFE15FA5EED68F20FBDB219A631D856E9E4B4368E47F67063FB9F89278B7E8F8DD2548AF0CA84D7A26745A39239E32D67B912CC4FDF1267A4B3E2DA65FADFB17CBE45297A64033EF4A9FDE4FA51A243967275E282AB59F7FE2796B622C0540A2B51C50292ED40E1E57F4CE9FAE2C317C9C2678ACEC5220861DDB1519CC60C058F9AFFA75B0FF34BC96F823A1385CF1C4FCA04FEDB664E841165A5EE23B6FB671FEF6C81BCAF7050314487BBF3D7280412D2E07B5833DCD2BF9DD8D393F876B2E2D80500EFE98C2A73B82515A189423D953553C526B94D9E1C969C20C8492E6AF5431ACDD7DA3CB1C8FE3A55832F7FF768C7AE0867D1D1F7E85ABE04CDE5AC7AEB6B7ABBBB8E773961B42A21C62A680C11CA605CCBE28AFF2A37F2E8A6FBFC32381620538E5744100C9465B7DF6B9021FE5E9F0CF75566224FC6C96AC280EBDCFF0EB8008DF6B3D6B41338EAC9F7E68F64C023CC73F3B164924E39487A3F69AF38F3C4F5261F0419673D26922E4E0C1DF750767F7CC73919B57AB4BC7B84D3C936900384F51F55C12F9BDDB74675C793A9BE81DBBBF3B7B1BB996284D43079BE7042D1480C45B59A94B8CDC2B18552BE4EC9340B53F44BAD2C82692A8FD461B53116251F720F22DA2F7CE1C4FC9B631D6C40477FEFD0CCBC9A82741AA53D6B701F65BC616013A045423E937E972FF0E969958D8A87F0C83A5DBE1386E271DC12C3208D174B29F0EAD7D6983C946908FC1401543074B4EB3A4345CBF96D8733A966056743793AA0911F938164B2BF19298CA8B0B40E072B11D6B637E4E3DFBFD7EE9179C02B336311CD85C0D4C0EC3128E37874129DE9D93AF38A66B78B2471F426758BAE1B8F160BA1282554B20B84BF1F3154AC8EEDCDE4741DB22E300692BC5252C7745F338C90F3736FB98DD6F377EB53932BCF0E258A5243FBC359BD4D5F73B64190D9A0D3B8879067CCDD0DFF93D24B0BF7520E649F4EA228BB6D09E4EF645107B6763B58245A7441782628AB42D3B226BA3E765C2CFB65E7B182BE3B1FAEF6D949D5E922E2B0DB3187A179261BFABA3BED73B9D2E13A2191A4D559576783734F9A3BC0264343B5E8F76180C67B675A08D7FA2B92A5D48187414007F1936CA81B68C34EC2A5C4954F2E61C27F3252F50A21F57AB0799D45769F7DEEEE753FB5C726F1501ABBE5CD7D425C75EA73618770D6417C16B1A02E3E96947E39A02D62CD08BB578868A97109FB2EBA501CD5627F6A18863 - -FA4411074268831E105B258C4F8B50E12B8ABBEEAA23827634A2DDEC1C3B01A3A1D6D058ABEFC57C89E01307F3A9487A82BFF10DC6AA9E6243C0EABA97C1A27728AB9445D63A6EBAF7BF11AE1D2F35937D722D951930903E228F460BDAD09B324A4D22382DE947F6290A70EBADAD90CF295382AFAC2B650834AD8399394CC0A3D3CA15B105AE9C1DDD6BCF18173C74A7141698D9606FF80550D4FA00360D6FE812581E46FE2E54FE580D250C42E27111850E34B7ED64C94A295F4B2D1D61D24352EAACBBEA8BBD4BB635F7F3C637BA470F7105EEA343CF585319FDF41B8109433A017379CDE44194A4FC5B21D46A6146F9CA208B2C1A3CA39CFC823DBDC7B05F1870E62BD4274F530F63E48B9F56E3D6271DD0A7DF569CF17335E04C18E6A49A97BA4A95124381DF76BE9CA072F3B39D91A07B37B79D9AF0405A6967C5B7DAA58D76109038F8EDFF1E5C654DECA6F69305C7B99ACC0C68DF3DA7AB7669F0B26FC69333695895ABD0EBD6CDB7E61FAAAF67358578755B09D7DAC2D1FA5F576DD5E5960B1065D84945E96ABAD8E3D7147CB08FB77AB69D37507639B98D848FBE30D0013500001F5B7BF1012BB66543F0704023EF24F81E17CC5C60AAF4A99DD1CCB1A0B7A51DF8AC2CEE65FEBD7CCE7B33EF22A14BCF33FC29F6212B58D8FBC1622D32ACAA61D8E23910493934C969BABD75997D8746318CA7FA6B4E25AC6DC8A716AD889335755ED82F87CF64D959A9FDC44B37735B32235E69440B0CA8C6E26578D9EC6486A2E95D2090F71AD6631D05687B6CA044502AB139A3A8196C919231BE24AC68A326473839637CB360960587776FE9920532C9CC7C2989B682F693F0BCFDE24B574EF6D6AE127D0B28160240D3B3A86FE2C6E40DE0714DC223099BAA5E4983B2EABA5B1AFD301D82640585A3EE74CFBC62F4237A67629E4698C9F12706E93969FBFEE269431F775145CFE8F70529F59EB9F0C9CE642FB02DAD1EAB97D245C68830756C6FABBE19D2A13F3329A47CE383477867DB94BDB55D4320307C3A584D56007B11BEE87D9CBD1914FD956A622D315FF30BBF2AF9F9E049418955B8314E42F0234A923F43F28D47145E7D6F6C3979875E973043E2649117467444BC4B71CBA2E44E7A11002EB82C5F026F1B2EDCCA68065B3AEA6A6EE1B2441F486A97ADC1C71683D628C6CD4437A38A2312A671ED314041282B46E2AB9898E5008B6B376E71B29F31FBF8B7FBFBA2DF0345016CEC9F87E83D2CF5DC0CE77A714E73C8262DF78080E5453D3CE4C37A40A38DF9C758FE993244CABD674DCD8868AAA352F7FFD5FC148B0E60D4E6E774D337E248FB74C5D4B3451EB5205193F8B3EAF4A111DD53A07E6B6E5B8B5C1203ACCA67467EBAB6947709D6ED0B42918192816D6D8CEF3B8E76F1929379F668E66F09A089EA9BA32F265380EA6B79EB17C632 - -5C2B61C11B4C4C66EE2A5E21C03FCB735239E43F49EF04BDA28B2E262A9C677C91A0AA18E849AE85FBDE8A84440395618A48F288AB0730AEC06FA1F010C46406A7E8F8A65F2657EEC721F835A82D5D4E173D936EBA80D5FCCBDBEBE955E0DCF24F48CEAB7E59A71A2D1032D5A5F3616C489A581304FD183CA021495B5ED1E566C88D92699426D20D1018315335B61D29C1D7C9294D37DF227B8C63F5B8D140863CDC2135C86BB0E8A964F699940DCD2A33C650F420CE8BAA64F05678215C337B2B09F604A9828DF0409556494E9E982CC02B15B87B8818A2521E186DEF87F3C8E6873FA3B0797D697C900D90A9628892DC26DDD6D217F258A1D25241B21E63BCEEE346D5B9879EA71BBB7847C4C47084AC12681720395E069536784FF5CCDBF85E2C7344119DF8663CE413B4F20239D165F04E024B30C2A36B8CE43BB53C37E25C841227085B957EF23DE9B40DCBA992DDDB4EFF5F8A40A506DFD03141E3586EAAD28CD80E27614155A418ABC61ED10DBE9286808F19D206634CC01C0FD543E28515259C0A55BB97CF63E87C0AA000904A670A34681992659D68202398EB774FE5972C4FFB99646235267E04927C1061163F64D270A9A6FA040AFC208C62C0D25F108849A5A42FBAD557F4FFEC5CB2889D8B946D36F3E6F2563E9ED74A6C35945AC58B572A93C600E44C413EEB3AC2073EC59B922ADC73FA5F89C45CFCF35BAC07647F21CDD191A1BF8D02F1A62CE694C6CB0C50B67A45C0E938C70A99230DE731AA6A65262F639E6125D500197795B509CDEC3DFAE563CA5CE7828309516D92B6A3A318803B9EF237B873D87DE1B9361C37B4A8C4D672F1DF71E7D2F4342A3B302A576DF2BDF3F302C0E161CFE953B7CD14A32C74650571EA15FF7B5E6B61DBEAD980D07583DEE0C846F028255E4169CDEDFB1C315EC308DCBDC44F2B4038BDF50E354BC1F29A0BC6A112734E1AFD5D3F7871CE34FE99068BE097D7B61D1631B615F85D1248C0AFF800A7C0D5462F1839ECA17F47932D80B9DE48CD82CD22187E8EFD81258E49E7B04C438CB1C81AED573757DA81B46F2015641444DD94A0A4F855272C3EA0D493CACBA3F74D449710264B42F20C80C2604DD868E37B4BC6558597A12502C76BDE457B8A157BC46F041AE757FA9D337D30CE7C107C57DEB6452D4EC74C0EA1EE4D74A180BA0F983F72E08E81AEE6B2BE753F2C2B38F0BD16665744423042F1DA8CDCF85B86BC4A13946420D039853D5D6184554F589B8D920A956D8DA50EB3A334AEB2FFE2EDB9EF232F6A51A40D668A29435E3CBDA6BEA50CB88040BB5FF93524B8FFB7CE4FC0823A4D65639131FB4BFDCC4D21DFDF13EADDD5578E001F7E8CAFF53933C2FE8D8B024AA1BE71E053EE5E04D4954786983AAE2CA12C21F70C12129631F9ABC6CEA758FF66488858B47F5203EE762AF36CE0C6 - -198902C27DCBD2BD67BA36E38D4F6BCEF4572CE9DD47AD07EEEEC662E2995994CD28FA86497A0B747DB081C1448C33A107A7627DE7048D729149280A532C93FEE1BCFBFBDA7D50A304F6BCD49E40A663664D4BE4B9F63FCAD5C181DD8FF937A1B43AE1018CD964578A26046F2B251DFA1D671769EBD115D8B045A6910FB503B446133C20BF8ED8C3FB097AC45C0FE120D809C991C3FF8D77D94445420B9E30FFB85C0BEF56E8A74DDB5DBF152A - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TYZLYM+Courier cguidfix -/F3.1/TYZLYM+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 211 m -(!"#$%&'#'\(\))[ 27.347002 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 312 m -(!"#$%&'\(#!\)*#+,#-%.%/&01/23%4#2%56%7'%#,-+1#&\(%#'+7&89#+,#:+6-#'\(+8'%##;<87&=#>-%/&%#/##?@8'%#62879)[ 22.837000 11.398002 11.398002 25.051003 22.837000 11.398002 20.500002 22.837000 11.398002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 34.194004 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 361 m -(!"#$%&'\(\)$"&*+&$%,&-#.,#&"/012$%,32-#.,#32"/04)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1179.79 361 m -(#/74#\(/A%#/#@++3#*/'3#/&#\(+B#&\(82#B/2#4+7%#B8&\()[ 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 29.643002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 ] xS -48 412 m -(C/B>+7&892#87#&\(%#.-%A8+62#2%'&8+7D")[ 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 13.694001 11.398002 ] xS -48 512 m -(E"##$%&'\(#/#?@8'%#+,#&\(%#9%7%#FG?HIIIII!IIEJK)[ 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 20.500002 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 31.898003 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 ] xS -48 612 m -(L"##M-87&#&\(%#@/2&#!III#76'@%+&84%2#+,#&\(%#?8@'%#+*&/87%4#87#&\(%#.-%A8+62#56%2&8+7")[ 22.837000 11.398002 11.398002 11.398002 27.347002 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -48 712 m -(L"##$+-#&\(%#?@8'%#:+6#-%&-8%A%4#87#&\(%#,8-28%2&8+7N#.-87&#&\(%#842#+,#&\(%#'+7&892#&\(/&#,+-1#&\(%#&8@879#./&\("##O@2+#.-87&#&\(%#2&/-&)[ 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 13.694001 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 27.347002 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 ] xS -48 762 m -(/74#%74#.+28&8+72#+,#%/'\(#C/B>+7&89#/2#8R#62%4#87#&\(%#&8@879#./&\(")[ 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 924 m -(*#+,#-%#\(.#/0,$#')[ 27.347002 22.837000 25.051003 25.051003 22.837000 25.051003 22.837000 22.837000 11.398002 25.051003 22.837000 22.837000 13.694001 25.051003 15.990001 22.837000 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1038 m -(?+#7+B#B%P-%#.-%&&:#\(/..:#/*+6&#-%&-8%A879#QGO#2%56%7'%#,-+1#F72F\)RS"##T\(%#1+-%#87&%-%2&879#&\(8792#/22+'8/&%4#B8&\()[ 27.347002 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 29.643002 22.837000 7.831001 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 29.643002 29.643002 27.347002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 ] xS -48 1088 m -(?@8'%2#/74#C/B>+7&892#/-%#&\(%#,%/&6-%2#&\(/&#'/7#*%#-%&-8%A%4#,-+1#&\(%1"##T\(%2%#87'@64%#&\(%#-%.%/&#,%/&6-%2#1%7&8+7%4#87)[ 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 34.194004 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 ] xS -48 1138 m -(.-%A8+62@:#/74#/@2+#2818@/-8&:#,%/&6-%2#;@83%#RSO?T#-%26@&2DN#.-%48'&8+7#&-/72'-8.&2#;26'\(#/2#9%72'/7#-%26@&2D#/74#1/-3%-)[ 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 13.694001 9.143001 9.143001 20.500002 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 20.500002 13.694001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 13.694001 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 20.500002 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 20.500002 22.837000 13.694001 ] xS -48 1188 m -(,%/&6-%2"##G+&#&+#1%7&8+7#9%7%2N#+,#'+6-2%")[ 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 34.194004 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 20.500002 22.837000 11.398002 ] xS -48 1288 m -(?%&2#+,#,%/&6-%2#'/7#*%#-%&-8%A%4#,-+1#/#-%98+7#&\(-+69\(#/#-%56%2&#&+#/#?@8'%#+-#C/B>+7&89#;:+6P-%#.-+*/*@:#9%&&879#62%4#&+)[ 27.347002 22.837000 11.398002 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 13.694001 20.500002 22.837000 22.837000 7.831001 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -48 1338 m -(&\(82#*:#7+BD"##T\(%2%#/-%#-%&6-7%4#&+#62#/2#,%/&6-%#U+*V%'&2U"##$+-#872&/7'%=)[ 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 29.643002 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 15.990001 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 15.990001 11.398002 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1429 m -(5+62,"7".#-6862-\(\)$"9:;"#&.\(\(&<"7".#=".#>,"-?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1530 m -(W%#7+B#\(/A%#/#-%,%-%7'%#&+#/#@82&#'+7&/87879#,%/&6-%#+*V%'&2"##O7#%/2:#B/:#&+#.-87&#&\(%2%#+6R#&+#'/@@#&\(%#1%&\(+4)[ 38.704006 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 27.347002 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 29.643002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1579 m -(;!!-#,\)/;)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -269.436 1579 m -(#B\(8'\(#-%&6-72#87,+-1/&8+7#/*+6&#&\(%#,%/&6-%#/2#/#2&-879=)[ 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1679 m -(!@,".$%65+62,"7".#61A2,"7".#-46B)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1725 m -(667,\)/#62,"7".#9:;!!-#,\)/;6C6DE)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -810 1725 m -(/D?)[ 24.641003 24.641003 24.641003 ] xS -48 1771 m -(F)s -/F2.1[ 41 0 0 -41 0 0]sf -48 1872 m -(X+6#2\(+6@4#9%&#/#2%-8%2#+,#+6&.6&#@87%2#@83%)[ 27.347002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 9.143001 22.837000 22.837000 20.500002 11.398002 9.143001 9.143001 20.500002 22.837000 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1967 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 1967 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 1967 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 1967 m -(GKRI)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 1967 m -(GLRL)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 1967 m -(JNR)[ 24.641003 24.641003 24.641003 ] xS -1759 1967 m -(S)s -1909 1967 m -(9I)[ 24.641003 24.641003 ] xS -48 2013 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2013 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2013 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2013 m -(GLOL)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2013 m -(TGJM)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2013 m -(GMJJ)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1759 2013 m -(9)s -1909 2013 m -(9I)[ 24.641003 24.641003 ] xS -48 2059 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2059 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2059 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2059 m -(NMMK)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2059 m -(NMRJ)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2059 m -(GTN)[ 24.641003 24.641003 24.641003 ] xS -1759 2059 m -(9)s -1909 2059 m -(9I)[ 24.641003 24.641003 ] xS -48 2105 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2105 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2105 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2105 m -(NMKM)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2105 m -(NTNR)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2105 m -(IOJK)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1759 2105 m -(9)s -1909 2105 m -(9I)[ 24.641003 24.641003 ] xS -48 2151 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2151 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2151 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2151 m -(NTJN)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2151 m -(NNRM)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2151 m -(RNL)[ 24.641003 24.641003 24.641003 ] xS -1759 2151 m -(9)s -1909 2151 m -(9I)[ 24.641003 24.641003 ] xS -48 2197 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2197 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2197 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2197 m -(NJRM)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2197 m -(NOTJ)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2197 m -(GRG)[ 24.641003 24.641003 24.641003 ] xS -1759 2197 m -(9)s -1909 2197 m -(9I)[ 24.641003 24.641003 ] xS -48 2243 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2243 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2243 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2243 m -(RKTR)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2243 m -(RLOG)[ 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2243 m -(NIT)[ 24.641003 24.641003 24.641003 ] xS -1759 2243 m -(9)s -1909 2243 m -(9I)[ 24.641003 24.641003 ] xS -48 2289 m -(GGHIJKLMGMN9IJLKOIGO)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -559 2289 m -(<"7".#P.-Q",)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 2289 m -(,"7".#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1309 2289 m -(IGMTR)[ 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2289 m -(IGMKN)[ 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1609 2289 m -(ILT)[ 24.641003 24.641003 24.641003 ] xS -1759 2289 m -(9)s -1909 2289 m -(9I)[ 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2390 m -(T\(%#'+@6172#&\(/&#'+1.+2%#/#9,,2&-879#\(/A%#&\(%#,+@@+B879#1%/7879=)[ 25.051003 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 ] xS -48 2490 m -(!#)[ 22.837000 11.398002 ] xS -109 2490 m -(2%56%7'%#7/1%)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 ] xS -48 2540 m -(E#)[ 22.837000 11.398002 ] xS -109 2540 m -(,%/&6-%#&:.%)[ 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 ] xS -48 2590 m -(L#)[ 22.837000 11.398002 ] xS -109 2590 m -(1/87#,%/&6-%#&:.%)[ 34.194004 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 ] xS -48 2640 m -(Y#)[ 22.837000 11.398002 ] xS -109 2640 m -(2%56%7'%#2&/-&)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 ] xS -48 2690 m -(J#)[ 22.837000 11.398002 ] xS -109 2690 m -(2%56%7'%#%74)[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 2740 m -(Z#)[ 22.837000 11.398002 ] xS -109 2740 m -(2&-/74)[ 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 ] xS -48 2790 m -([#)[ 22.837000 11.398002 ] xS -109 2790 m -(2'+-%)[ 20.500002 20.500002 22.837000 13.694001 22.837000 ] xS -48 2840 m -(\\#)[ 22.837000 11.398002 ] xS -109 2840 m -(.\(/2%)[ 22.837000 22.837000 22.837000 20.500002 22.837000 ] xS -48 2940 m -(?+1%&81%2#&\(%-%#/-%#/7#/448&8+7/@#&\(-%%#'+@6172#8,#&\(%#,%/&6-%#&:.%#.+2%22%2#&\(%1=)[ 27.347002 22.837000 34.194004 22.837000 11.398002 9.143001 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 34.194004 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 20.500002 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 ] xS -48 3040 m -(K#)[ 22.837000 11.398002 ] xS -109 3040 m -(\(8%56%7'%#7/1%)[ 22.837000 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 ] xS -ep -end - -%%Page: 12 12 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: HUQCCM+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /HUQCCM+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /one put - -dup 34 /zero put - -dup 35 /space put - -dup 36 /h put - -dup 37 /i put - -dup 38 /t put - -dup 39 /s put - -dup 40 /a put - -dup 41 /r put - -dup 42 /e put - -dup 43 /n put - -dup 44 /d put - -dup 45 /I put - -dup 46 /o put - -dup 47 /f put - -dup 48 /u put - -dup 49 /g put - -dup 50 /w put - -dup 51 /c put - -dup 52 /k put - -dup 53 /b put - -dup 54 /j put - -dup 55 /l put - -dup 56 /y put - -dup 57 /p put - -dup 58 /S put - -dup 59 /m put - -dup 60 /parenleft put - -dup 61 /C put - -dup 62 /G put - -dup 63 /parenright put - -dup 64 /v put - -dup 65 /period put - -dup 66 /O put - -dup 67 /q put - -dup 68 /colon put - -dup 69 /R put - -dup 70 /x put - -dup 71 /H put - -dup 72 /comma put - -dup 73 /B put - -dup 74 /L put - -dup 75 /A put - -dup 76 /T put - -dup 77 /E put - -dup 78 /D put - -dup 79 /N put - -dup 80 /F put - -dup 81 /M put - -dup 82 /P put - -dup 83 /quotesingle put - -dup 84 /hyphen put - -dup 85 /underscore put - -dup 86 /V put - -dup 87 /W put - -dup 88 /U put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958A7C83C7592E6320F4618683CE9C43C2BF7FE69F460B3B8D9820201F9166AD054AF5250768677317E711C32CDE9FA289C35C58F96DD0C8F9BE4E3D6FBB96207ACD3CE06559B63C58F51B6F9CC983475E7E2A7C9A0D6B3BCE2B120FD260EB04A3CAAD1CCA36C8A66D6B093A48E2BE441EC619E39FE86BF83AA35FAD75C0410239D1131FD11527A71C585898C3CBD447D673279D63E3A25F61425A2B701ADEF11E097EAB3E4E9A7C4E74DE2068553EB3641DABD00A9D09F91F7087861F33F7601D48A25D7681A422C8E63967CF2CE80488F9789781C370A8299E58187ADC1C739298E167A433EEFA5CF1B118B44764CDA690CAEB45C082E11CE09A8DCBFABBE59D70162A1B4C096EF43E86DDD70FF42E92D997E88436773570966B1D1C86B8175E46E5CF6D06724A31615C75010680DDFC918780A2066D2B73F1495195D257C9113D398AD1B0C5F491AE2180D1316013AA76CA3579FC05396CB47E461869DD43460A6000432E8B0D7D6249906D5FBE47F24B774EB782DB822CA11376F55E92D942E30366BBEEB4BBEE8663FA16B900A8A8A5141A4B9D344E6E7C557AA641965831C3FAF77D2D6D34FF5D0649A9F20BA15F0DC44407DCC04E1489AD6EE9744B380FD9F33841D27C9DEAFB44A9F0911C8E469285A934693E25964F8A6D8B4FBEBD0F111944619B71D01B0E9D195B5FA9CB57EAA9BBC49347590CBECFCB52B62FA935BD9B3FA89CCC3E79565755B2B060D8B04CA8BB1C4D26FB851F0F4DFB3062B7A3 - -48CF2FB369BE9177C4BE23145637BCF11B76C23257D5E714AD71DA19BFF72D4089C3548BE42E3727B352EFE41692DF9360923E834E629A9B04D5989E714EB71D9E8E5DDAD8577388BED39280ED045915D6E74791ED53926292613686B0FF9238E0BC27C73CEDB3A757EAC75CCE228EA47D8676DC2215D297EC1E6AEB5609D562C5E38D14AC45CCF082547C8902F6C6D30D727C79E57F37850384A23E890C37E232A5125A41B9C3D98711BB71A125D096B68760494B90827ECAC7BCB09B4D5A719403F94521FB1C829EE76BA895EB710B14D06896C5A490EBB0157C0F5631DC59DEF576DDB3D6B916FE3231F72DA333175A302B99D9CAEC72B8C1301EE0609DCA948F706E4F3D2D816122F275BC1A3A414B9ABB24B196DBA319E76A657F51FEDA4FC45E1F388148386FCBFC866CA940730D682D01E4E1074DABF4147984579EC3C33794808FCE004BCF49359B36F06173379600BECB899100FAE317687EB5AB1B848E72F3493E4A9AABB9C89E35D562A0C1FE00553A8E90C246AE56859639CE0F5008CDD674C490258615288293260A09C041A8FE1688892C5593A0ABA916159EF8CF7A1A119BACD1892094BBBC77D04012D2B0E43BAD6CEF3E7F7714AFED187750B82FD73032FF7C2F9B119AA7371AD7E0A309870DBF6B91C8E93A274C9AB664A40E0D5ADEF807C66A598DB09F15F279429BFC739E8125096DFA7B55FF4540F10127F247A6DD51FB36B7DFEEC612D9D79F81CCD2D94A79CF6E69E6E16B28BE9B0B01655DDD63E33CCF48A03F9EC273E9CA26A9E2514BB7B7245EF3875A32F5F50077246C94C9EC649EC1A5BF3540EC2BB081A22CFF4794129D096CB2D9E91D60E6D584574D46ABFF8568D75A8E4977D1309ED6C4DC4E50A1BCE118C36E2F5AA2BC14FE2F0D9DB7332D8CF70CEBD619D2DDFD44CBA3CB26352764980FDAD2FC96884A3D9B0A47494C6D9700CBF7160D3B0B34A15147CA766CF365A6D432A8F09B4EBF10726F6813C813BBBDE27DE1C7C7CB49E34A5187BF14A791293A881CAF6549326BF7AEEC05F202EC4765D7B87082665A745B335467E15D9D3757550843D85C915671C842C8357E0518024A0691FEA7DB8D0E31DD9B099C384DB17A3ADF5A9F6D5F70B7521C6BF88BEFDC64C780B261C588DF0A7732E28F547119F1E1550F32CC778FD5D6960C3FA274E168DBEC9B731CE13518888CB4C7DC3485811D2FA58C97DFEE6E715D8D4F5C79D26AF6057F77569D8D963B506002BBC8AA206ACE78EF9AE479468CF9C68D90F734CEFBA98EF314E593ADA66844C890F7F93042FCCE6737B7536A444A2BCE808973A4052F2D1F9D7CE74A92343BE986EF174B43ADA152B918FFC0EFBEC73D654A527816F0EBDAD4EB430EBA1E82449852CB09BC363569157255772227889F8297C1EF3652BEBA7A070027A557DA4A9B35B2A71AD7C6 - -62D74455FC11E2F79013A36DA48A2147B2DB06745B70BFAD384EE227BA425E15F86DE0F38D7A4A0B0E70DF3AD80E792997104BFAC817E741FA7E4ED18B847269629AF5661778DAA3CCA4D7F8CA802EE49FCE326046A91F1CDC9EBCD61E5B2259A3A979732152491DBB55A7F3444D88557B2B472685FD99F7655C6AD51AA0ABDCF01D71B89A9A382D0C74FFABBB90273713DB08BE7575735468F3B0C5D2AE8BAE571EF9B6BA036527326D55E325A25F81640A86AB713C735AFF0130A4D067D4BC5818367D1200C21699A8CEF9BC71787B914338016E544F012A6FD6F35A46D6BF99555220588B6E1056CDC563AEA8F167E4608A68D450FFEA0EE55C979DD1F4732871AD468C4F2F157A4F03301E4AD04DA03316A753C31BA755A20D15EB67681BDB97D30A7CC842A0779F82A9B02BBF475BDC78F82B50385113AD2303E3049702C6577F926FB716379C0B3053ACB9B17AF6F4928AED523B44D992620EAB76111D47FE39B9E751C1CDB1999B54B8CAA44F9E743A14E8B78BD03129B7F6FE541E5D5466955153C0683318B1CD693A9728DF38E1A4F5B2DDB6B100B3E2B47B3C45A5DB4D68F14CABACA5055336825A7E5764EB9949A575C0115B90D7C6FFFF8CD3553529335A0E811DFF81E0ACF4A5E6616352B7C4969978743F8A645D320ABC8B0FAA03FD0D7D7BA5C8387F22E060686A44F189720494908815D35C483A94D7DC915F2CF577D1F9B65F143400596A556936D1C2F87181D59982B08553D8171DAA0DCFC1DBCBA4B66732AA06051C1D19EA85A1974A44B582BC120857F5C2BC4CFA3CE352A8670EEECDDFBE5C25A11EB002FBA6B592A7527D9FF7838C8F2C6AA8EB8869D0D183B380AC2271DCBCDBC055749F0D3E402621518294CE9E89ACB1EF5F76504E1C3625876316480A6D2FDFCB8FECA809ADC62DA3B2255D3E08F2191EC7A8B686A91B2AB495EA28CD2152692A3BF99969926910690036C89322EAFFE65B6C354655B9B0683530C7EBB58CEDD518EAC4C8FDC1BA58AEC7ED446BD99793362A0FC50277DB1830F57F11FE72036DE31C7B3C45CDA6125FCC7190D3212731EEAEB0DD3ADD2E8B9BC97137359C7D9F218702E7584B0D8A65F40BEDFC58238B290E3C7F4EC77EA303F51D2579869E935D9C9CC57A8AC3A9BCEEAB1893EE7F8E20706CF93F0C0EE4257E853BB50C52F0A5D4C5019FFD1EF80E2AC7572D3CE965F349867C9204FE3A5E4F53EB2B99E446CE464409CF0B548A6F4A5507475AE5BE54FEEA549A76D413E9A57B89ED5BF105E2A2E7CB9878BB22B257DB018C5AC993D8EE40135A0374552BDF3D393E82566CD632F6119410B1385312C00EF1F80F2037B8DAEEA881A0B10B131B5991AE602B8A2A4D6A040BC2A4C780A871663E3E8182059BD27AF5CB84055DCD12923B58989C3C6BB057F376240FB386F779834B778998 - -949C128F9DBA348B43E6EB671F3EE8BCFF2AF0C63F196F8F2E9FD7E32AE38163F6637A417D5E36EF3EF6D0848EE2FD65A99BCCE15F1D7F1741CAA4D9565B37B2B6E954DDFCC54960658FB6324E1D82B22B250B0D98A4F301F27F2C546989FD9DF119D9FB39FFD5AC227A5EEABBB0ABFCC82967FE456BC2678FFD45A5745B107C8F17A205D8708C910E54409683F520D6F532980C0556AFEA6A077F537D95CC91B35EC4D270B04CC389664EB9845204CF8F9D25D88D63494EC9443A73699F32871A2830E3425C9C4AC8E04D7DD29671FB32B7A32CC968A0E4707E962B36DB3A344132B0655D581A36FDA2C3E7386942FAA8D83F96BFF046AC5B3982BFAEE61E920B6FC43396C916CBABF6060AAC0CD4CC0E2E73A6CE61B9A52F60E06A9D5EA395E756BFBE7E61443D8EDE845DB41E78B5A53B06855F01E14B7BA6B9CB78CF5C138C89956D16D621755991723C863DC77FACF83CAC968BFC252FF5DA4572C025A89A5CDF6F9B5E0FE3C8C66274C25F09A884B95A687B2FDBA04759FAE729CCFB837500712EE92D27200003F8A5B7E3C014A38BD374804808A1103BDC75714AE5FA42E49571B8F097E8DC1D818A0485B35D8FF57D9C1236E7841EB3210CD2FF8ECF2089E9958B81F0FD1011492725E2D5376C3F8E53C09FA47674945FBF889357CDE0217E8CCFB2E77A6DBAF27569CB2889C3EF578CC793B334E6698F767739BADBDAB20EF543C15E498640EDDA137E35950E49E710B7080028E811888EA0E24ACD07CD8EAC43956F1A62D4D48F05A202B54638997FD5646BE40CB42C92D0575377394430BA7BC19B9C8132E5CD4F875487E8832D60E97FEB893576C2272FF4D33767237B1C463EBBCF70FF0D204C7F353F8561657CAE750BFB3A4960E025E88D43B4AA2F97007EB2B63452041AD49C3842E18807CBEF0BCB5439341E6787801EC4287F29D94A030EDD95263E49EAC99C1625DAF8978F037A5CDB8F3C392C6CB0EC8D8F57216B56FBB1C9913111D6DA406FFB313137136E79E03AC0ADA39E604F3657BB538700A2D901529679BB022B6BDE3B85EDBD015C5AF753E5A2784283F4ECE7DC0057114639C0514ED021242E23143FD51898E964E6CE3BDEF83D9CA10AEC7EE3A918FA3F508F150B85A3D16364B23FF79A7B9B615205E2C7A17683785FFA138083AE0E59C6E1C9CE6CB3950344E946C7805ACDDF0C2AB29320EED5D3989735575631FFD0BE6A4CE9DB68B60C5BA4A713160810CCC8205886A4E81115988FDCB6A8BABF0CA4F1E1C33E9CEBAD2862E4EE37AC5A46D86EB198960717C98DFD8C991C5E15E3CFEA3031ADBA5676448E99AC286270F6BCC26AE37F8AA4ADB56C2933A1B722E3A369D9802E07CD753DB325D50E21B1781097F24784DBF1BC9E1C3917AB1ACDBDEAD624CF6138AF6F320708043FCE319688C30B8189F143281B9B - -78B705F6540864C80E2B42CCDDA411A730BF696B7F04ACBEEF4E4EC86A5137C81794226C2D7F9EFBB7E4F7389A1FED4138949F3B2DDF75786202D2046CAB7903ED95672571ED7B1FE945349D80B29C735D4E677364B8CE339CB13377F758D184E3CB792C08E9A16DF919D46A5CD831EF03172697D04353F8CBE06D1A7A2AEB924FCD045BB571ED7CA5E0CED7EEF3C4B51EF001E2D2B42379955956BC5265C22C491061054810E493478B47CCC2A11D6F0FFD82EC022954B5D7324B4557A458935B69C26EF62926689591E26C53BDDC9A7B73BAE66210C2F776F6E1ACA9CADC31C2894FD19CDEEBCFBE46D010293467673439DBF97B081050CA3FF1173B81FE54D74CDFE28C9AA341C94F55D6D4925A5F13FB31EE922478068AA0AF9A6C68EF7EC17BF77D2DEDFBF45EC8146B4504CF815CD692AE4CFCD7F272F7CF705292338CB0FE165D2E88586B52820308EFC55A49D9FAB5255171CECD060C9909C5C3D93EC8CFE2C76946013F0E05A0B4823F9B568ED2600C06D5E950AA4906916E79A3CDCB84202E46414582112CD0B0EA36B94B99B580E88A490CE7E5E34E708464589F7A4F4DE86A1C7D242E891A4D5EFD4ED06128E6364A339EF58AE528E9479110A982A44B605D5695C7DFCE860A53AC74709108DA37A5751658B2C025B4C69DD71D97374EE131DAD366B2F934923AE91BE209FCFE267DAB790858C27DE414A081DA5B32F4369D0D5B8CB5E37D2F73ED8F4FC4F6FC25A722FE21EA8A0460F89B4266D8EF2AFDC731C078C2FE41C825D6DE089F6843632E12D63C7FB5288B5C9E47B603F669AD3617BC3D69347E295F8B769E16D35B230D232925C387D5318156893628792A5B8770AD6BA9CE3383DDB23B778734CC6D9D013E1EC731B23C91C1C140AFE671F2B29BA3B5DF2A68893CC702541CB16678EF2C416909E41A71046D6AE7F87BF4B75B045E8212924A8E8DC15C372226DB20A8E7E297B88DB30547F12A9F8D9BFC2866903A5A1141F3657E3AC2ADA463F435CEA582C73AD3114220C5FC1EACBEBDF45220BB3BE6F97733E81103424C822A619E5F0553E172837AA5BC88F410C53EB5A53DF3E97709BA52D0A144778FBAD4E8B5E9A45CEC337C93CCF4DB797CE61610FDECB9E727B15C3CFE2B06FAD09F46164B4A2EA38D3A8CBB28D0D998592153AE8AB6A9A261CAFE9AA4592E798DD5D048F5E27BC017F4933C0D16636CE62392E8E7B4A00196A642601510EB92B849487945011F0C25BACAA911A0DDCCE1930BB842A0A03B2ABF540CE106907D2404186E0C68B68F74717BE00B85D7562A89F87A4A9D5D3AC8D433D636494CB6023B1E225A6C5DDC1D70786F01FB6CCE219C65B67A926984323E355AB8B7AF6D2ECF0331A27C104EF4CDA57D3E001E7CDC7D504ACA90A2592A069536723EF6AA10E64E95D3DB31965D3ED3A8E9517257 - -FA0635C83A987A2874EC500156ABEEDBAA43F1FBA387726ADC876C8E7CD7CF95D3BD3F67CFC871DA636FC48BF0D97C76723D91C9251FE3536E7794241595822399111539E4DC66DEC0F3B82F136702D113194C2B74ECBF06012CB4CB76C06FEE2843EB33E7503BC275C2A54787E7451B6430345260776E6CE5D68E120A584DCA0BD314DA808D696FD63CD5E4F874E87688924A3F9B14B891CB94BD25F18FCA60E31C4C9A644BB375B98765C0B96E032690907A144BC04CFD4EE06E85C66447707B73F24F39C02765DC89A97C0D1ED47A7FDB74F7CCFFFC4646F0518644A368E4E913E24FFC2087FE81D1B6F201D26735744FD7DABAB7A6FE53DCD2DE455E1CC924BEBF886CE7EF5198EFE6014403F3EB3F09D013E344F32074BAF15B5E05E3084C9E4DEC11BF541D56B58B6ABB27280AB337E6080305ABA545CF63B12974D593B16AD1C108FFB280FE5B3AAB944F2F4125748967F885D505A4B3693B7EB666C3B8401E47DD9E993A33F0A5C8CEF29E653B3C98A5956FD72DAFE90A6829E413439BDB7405C9314A2F74B161016CB6B412F46F10354BDA84DD9F6B8F86831DF469E2C8ABA3C4E9A08AADFAD58B68C1AF9F8A39955395F6A287031FC5BF449CCEDDBAE0155CB982A8BAC469618D7A17BB372CE4F85A6181EA0DD64C0FE4B1245C3F0DE7855FD77A76CC0AB87E10BAA11E65CFCA1B5D5E8ACD1CC677121B90F6D72A52DEC0BFA19D021B4029CF75A5EB50BB5F0143AC5D52E0AE24ECFDEBE7AA29379F5D7D2DF1D644F5A0FD2A212D34739BDFB2354526C0FE75A7B7071D1FA1339C925064542E94925D34704BEAB600368C6A86DFB3222DAA60A7BDBE6036F4142F14AE9BEC64F35FF7BF7486CFA89F8530F9ECF04FD5E472EBB4AE9EAF88B74100BD41A8C261050E316B7F6F63A757C3054F6449C74A5BEA2CEC036F011E0F436566655B59EC6E0C5385011F281D621A8EF985ED7DB2BE6D2F50636E6E39BCFABDD914F83CD18A846A7EE527DEFBA98E7D30C7EDD9183DEA45440366AE3F6B3DB533E83DB7798CB51F8E84390BFFC76DC3995408D8E728C3AA7A9659D1160D743405F8EC9D67601E3F798E1463EE16F40A1FD7DA1FD1052516A3C2CA4C42FFF29E30DD70A5656D0184BE5B5E2D233C44422279B73035D5A57B80CFCF7A00140D79FC4FDC4BAE1B21683A71CD0235BA38F1E1FBF88B2E0850225C793ADA685D059FB82268B7058DFA99D5C6696F003DE7FBB828607C94946C4C4A81166C28C0AF43AE2E6FAD2E7220578EC8718B06F4BDD3B04371408DFCC78E237878703B15012AD48ED975DF8B6546D45241BCE2C76FA9DD736132AD2E01A629645EDB8B89A2A7325B95E95D790328B844DF420D6BD0E6D48E124BD83643274E9C1A5A5EF1BBCBDD15DF6A93B904056803ACB28B3ACAFE5DB6806A475CC0713F30620CCAA21032 - -94FB26424925D790ABB0A4A84B8510AC81B9C199A2DEDC64E4FC45113A7EB8519D394E044E412D5BBB5A0B6CC5CF9F07D32479026B343BB23635D6FCB69C8A74EFF06C32FA15B554C79847829D3E5281BAC162140329D48B81A89A940A478854CCA9995BEAE7D66F7C51D40A1954D05B1CC03EBCCEAD762A927FC87DBF3154376A0BC6DAC281C15BE0464E514DBAB7734A21716C954924A46934A0069C85F4853223977A018B3E9CA4D7E04CC49883596340B4F8C111813B523EFCC01B2D7E86FEF8887E8D9E777F6BD9F3CF55A4005797B3A8BBF1D7BB0606E542CD972ED9D84038F39DF5131EB20C637F84438FF40EEB09AEBEC072B43F5D5DC3CAFD8F4EF5DC28C74615C5F5E542CE67247A0EE431FA172F80E79BB81106C226B2C6313591219A5E583512B61F04FA46A09A5798A8232587C25DD1EE3547FF7160809BC7C04A7078147893E649C773D48912986BD6436E9CA77B387B10617D1ADDF0880B748BAC92FA9ADF964277E36E2E51890727051CD4D946C98E2FF9CFC2E14C7D7E9BC06BEE3CAEACA95A63203BE1D0DF1E11598181C17D950A896E8AC7201EDCC2CF1EC0FAC250BC0AD120FC09246A6DE5AA924D3FF00D493E3899B049496775402AD756CE884D36A122EF035CB0B358D2D2B5A4582E4A0667F81D88F74F44F881B49309AEBC9E1D13FAEDBC745BADFF6D9A0E6E973E7898707A91783C527689D545B001F5CA1A0E940BE575F420B6D4659FC63171FDC03B57C12247564260289586EF83FF1E8B25649684506F7C006E058067E3634FA96FD1A5FD698F36CAEFBD75A659551D2C7A243E26030F849A53385F4F473CC3E4863E2DA58EB7C1CE8BF83D7282F72E9822B25E77A20A670627F6F43A4755A33913EFA577B362FF04E52A1643D7D47605E2AF496850CA742495AB47D9D69B18E9BE00DEC6CC18A9CB1F07CF7203E465F2ADFE770018BDE4782A361508742E1E90F538C78850C10ED2A9C735317495F10F977385470BB5E673DC80A998B634401BFA742BA04B20C28613A34E36719FBF4EC2754D100988BCB008E2F53D2C40A737EC24BC3BAFC67D067BDD4813E2FA03116B682B4425945F164B4C06AAF81F3031D964B210870F87BC617AFFB5C40F87D28325091B94CBBE422C000BC7498E214EC928F4F35707B0C51B353A75D5B8F271E7FCB926882927926BECCF2E16D2BE701FDC6418C8A1881C8180D0878D3D08D98F5BE6C08BF864B00025D9762B8553F7DF20C1D821A2DBBC644775CD9FD7CF9E4C9DD10A6AC1DB9928A105A3DE387EDA0BCCED7217E9544817D55F3201BBEE2B0977530F40B92AF3DFC2B5A1E9DFDFFA8496891760577B34F283FDF020AE38C7C3AA6F266AB0CA903F47EC114D426966E90940B3B92BA3AEC3A4F81BAE39B6DCA86AB6A3618EC91126A35D2ECDDDB9374BD50146DDB02A7E424CA2 - -3DD96A88A92B155FE65B4B70B6FE611787173CEED6A52ABCEB7B42035EB518E03A0A5A745D3C8D6DA6AE235ED068EA5F7215AE909A12263720734909E6821298CE756F936FFDABF2F5BEFA7DA72D54AFE1936A261099330B14F657AD8BF37FF58D2E84BAE7FB72393AB6FCE5265CCFC464AD60DA8B32369DB4F2570FECFFC3A1121CC637041081F934993078715478F8752036D412E5C68AF7BA21D5F234FC7F96E62D2E7E4512EF2B7ED906F9A72CD22B5F7BED8B1B52DBEBEFD87700F7F3C3ADB5E14A70927EEFFA15DC587E85372F31FB - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/HUQCCM+Helvetica cguidfix -/F1.1/HUQCCM+Helvetica renmfont -%RBIBeginFontSubset: ZDGQKJ+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /ZDGQKJ+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /g put - -dup 34 /f put - -dup 35 /s put - -dup 36 /t put - -dup 37 /r put - -dup 38 /i put - -dup 39 /n put - -dup 40 /space put - -dup 41 /colon put - -dup 42 /o put - -dup 43 /e put - -dup 44 /a put - -dup 45 /c put - -dup 46 /h put - -dup 47 /m put - -dup 48 /y put - -dup 49 /dollar put - -dup 50 /p put - -dup 51 /parenleft put - -dup 52 /at put - -dup 53 /parenright put - -dup 54 /braceleft put - -dup 55 /quotedbl put - -dup 56 /N put - -dup 57 /period put - -dup 58 /hyphen put - -dup 59 /greater put - -dup 60 /q put - -dup 61 /backslash put - -dup 62 /semicolon put - -dup 63 /S put - -dup 64 /E put - -dup 65 /d put - -dup 66 /braceright put - -dup 67 /H put - -dup 68 /u put - -dup 69 /equal put - -dup 70 /underscore put - -dup 71 /l put - -dup 72 /F put - -dup 73 /D put - -dup 74 /A put - -dup 75 /quotesingle put - -dup 76 /V put - -dup 77 /comma put - -dup 78 /zero put - -dup 79 /one put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94D7F983BE6FE3E13C0C2348013BC3E7E2985F18B997402B9FAE91ED54E4514CA68BDEEB79B8C5CDD3C933BBEB528A9CCD68C793B9D0901F39D91446094968BA2FBAC42C94CC9FE158BE4B41B8C444289ABD6388CFE0623A7BB6604B4C3909BA53E50B8C7752316E16C311363D91ED5530556ACDF739BA03A20F2C544C713F3858FB53BABEA4762D3F691D60DD23B328D1B1FACEA4443B063CDE99BFFE756ADC041850A5D695BE0C7C4051724B44CDF7635842CDE31FD02FE6E920C6385946A30D8D8BD11D72BAD77281200CDF94AADE373F04EAF2CEC84F8660A4C4F1F5482C4F2BAF4BDFB677CE10DA1E661BBA972187D9CBA0CCE5E5E357BAF29522FF016FAB05B1BAB1AE0A463307112FF15E0FD35F721C628CD7AE7D25F361E97CD6354CAEC5A3A29F12A3A4EC6FE9C70A202D408E556C69F9493E177252B85A31B0BE7A06D8EC675BF971EA9AA46B533FAB877383FAB3D800119A10A38C629C712909E5D1C5D270AD4FFCB7A16A632F207C473CD64A885FC84A18F7C54B9FAE8577D34BCE618DA8B6F1C66F591351F4E11455DEA87DC9651F8C56033104E093B99A9DD641614BF548004185E84E03D392CE7258132B51BE82ED97C243591F80446D5D6D6AB35A27B7E63163E461379EC43C64240783032096E3835D30015EE331BC604B5928014C2AD8558ADCB50CB50DDDC58D30B3D7FF6746B90C74AB6A2D77E3AC74B37020B3389894D843A064E8DDA6843E8BAC009FCEBF553F772DE22CBFC7A74C9E - -559D5BEBF80EC35AD2B789FFB4F96D11D0F03B32605901847636329853136678808B4CECEEC23EBDF5F62B65AC4A29407402A8B6CC9D90CAED84A3F28FD7482D67D6BC7A8909226692F5F2DE5BEDF7924CEDE8D5CAC153EB516FB241975EC34F9641E73B19562DF5605815808D0B044BF88BFA17C5D0A287CF8E7D68368BE455536E3165D8C2364401536E6FF853EDE7FAB764BEA3A4E85328790136A1BA56F81524EFE3A81DA91A9489519563E3A45BC736F03912645EE48769691FF4A0DAA86DCE2B5C8CD09F9F74E0C07497CA70E06BD436F37E6A8A6BA167CE5CA532FB2C40DA6F132DF591E3064E2F637C45993B3E1CD89B2820FCCADD88BFE3537E35C176FDE75A629C23B59FF7F91702EF1A7ED10443A2323EAEE33883E48AE73BDAB968274549F8BFD96C0CF0FF11C92B5FC7A9A40BD9A08E22895B9603013BBAD570346A207327BE20EE2BF9A56A632B71CE4B0FE8CBCFE8FC6C07B608C118A269A8AD2433C036DAAF94D2B1208BCB59023E15FE02B8448163DBA42781C961B49A1AC5223F644AC882198E18AA902B06E00A9C693CCFE2CF261BAF1FE0626DBDC1FE97C4CFA97B3F3E033E4626350CDEF3C97F6AB6CE9E5315EEA5D2065A7730D10FB3DAD213390E9950AB321C351BFB1F77581D0090F1242FD1C6061A4F0A7F0FB168B1A8E1457CEF3AF8B955954BF8AD8B131C5EB4D5EA57A2D85C2ACA87F274A15171EDA53019FA4F5BE285964FD020AAE245DB083D98B04C259D64D0F31B2661886F67D6AA14B46B78799C5B0E317CAAE0B7F6EEF33718478B37F85864C37C3FE27AFD3F880BAE03EA869148376A805762C3E85842BA4C1A2F030200139970B549FA5187BF5BB0C564245EC89F0CFEC8EFE405B218BCC7A9E29CC539346CC22887555586699DD5D053C2B72477B6301115D93BD55704B295773ED21158A2BA4C5917E66BA476120012A7BED658244332B80C93FD5AA95EB464CA2EFF7C30C7E13DCBE01708177969AAFC1177ED64D846C7B845ACC3A7B129674190D3840B646867C46A47813D1E8A6A7DC0C7A9C994470D4E65EF63F06330E094F2EDA2A56EE1D9D83BB8E6B1FD8ED01B71A6CC19D12C25F3ADFF238076CD5671062C7A1DF3933F70C48A715AFF9279136CAAC9A26DA5AE94C2B7A76DE9778C1524B1945196488F3A6D8B952A4F12E04D279CB940B03FF024211C0E5B270D7B9F997C9B7BBEC3E23EF9E8D1A7B5853EAF3754C9BCFA07E0CE298CEACD5C2C361A7F26CF10C04BC228B9E66DC3CEFAD9CB42D5C844630A283767770F3D957C0506481E9ECAB2A0153FEA78DDD37082EAC81C16333BD9B037208CA5D75B87C48D5135AF731464478F5CD091A72C8B574C8379B7557CE58CABB8725639E160A6F00BFAA45C6954200069DD1B9771ED6A2BEC06F9FBBD3AEAC8044976F9FFD45B61E2E2FC2F53B011 - -EA20850BC961A7E00CCCC2DEAF9F4FD79C63CA8E485832CE0979A2D913B425AF2D2329C9B60CB615B76A98328CBDEF8B63885C4FCA297294D25A6E1945DFABCEC94029D12369614432E6A8FDA5D6AC8C86D2444E35FFB098CDD38B6CB5CAEDF74DB7A78DCE307B4F99CC256A162F2956A7443BB1C77A6C3DD6FF0C42B493B1C7A2822C3ABCEC79DE6B081797F142BD429F8E910C02E644BB6759825A392EF1BA2C1FC2D5D7416E3EC813F9B958C024917303FDBC333EAEB5491CD606C443DEA6A6967C864E6727004C6A44BE410D3FBCB25C6FE0DB75C91126BF2F4CFCDFA86ED094DD31D5ECFDF92B49BDC98815C7792F5A65E18F98C620BA92591531C2499B2EBAEB92B24AC37494C2F2CBCFFCC510F360F81DF01B2EC0345A7183EDD2F7560BA390808FFB6DB8F49536AD60BD8D5863A1313B4DED9C991E14D7CF2EAEB1DFC65F757ECA069DE61BE2712AEC657D31103774614DEE876880C479F7C2337D68E53B779E838DE0F8099ABAB459A2AED31946C9121E677B06B8F091015EAA4EA5C552562B9BE0A9F01823290641A5BF7FB0E7BF9558CEA28F0C61F8599CB13DCF63E32B54864CD3FF160BF31496AE252E477D7052D0BEC9886DB32FD50A2F9429E89A61816A88AF9C70E1DB85E68B53BFF8670329F7BB3A954CE6158DD5F0D579092BE4E441BF131360FADE8B6C6D333FE2A058EE48E47F5FFB1154576C5862E1D1707A87784777A03B94E044E1019D11BF4DB409959AAA85F08C50AC624DD42439030D4EC45D25FD817BCEB66E666D0178B3A4DABC2EA84D8C3446DF250C923DD1FA3898F26A6885F00C9D899C5342550928B38F042900A4D4E5D99373964478447A29A19AF661F8A216D7A4877134C2F6EAD5483A4F4907E0485B574FF3D4F3F68D9AC58C2B74646C49C9ED1D0D068240FC225BA6C865A5C49C42E80445874ADE6709D0275F6FBDAC71ED29D00EC58F61A2A39D672ACB12272E1C5A797A1E7950527EFC4F14CF9B705C5B2F70161AB2F9470AF7DA3E82E0EB20C8B90233B69D55F58D25DEA4AED0C5B7D7794223AE92AD8E1D3756FD9F5926B70D84043E5E36B3ACFF8064E9635B5453294404F7A7F374FD029CDDB10382A10D0E30C570FA9CF1E6619394000AA56FCF988969E2A075643DB2ABB84A51F48ED5A26713977A9C8903E6C927F783BF13C06BF80BDE52DE6BC99D18023B1CCB19DB05CF3A252E1BDB169C74A32292652439ED6F0E597541C19F5A5C856005414332A8AA26BFD5E074C9F63784B618EA4FD7349B51A19F23F80DEB5800E893AA8204C6347DA733FA9C732D46B0DA443B2F67CCE8019849DF0BE8B9E30701BF6CD59C129392DAD803A4F9880D00C244869E8D09D2BF48FDDCA88FE2E253B73BBCDEEA823390AA097CA0D7C947E4C4610F75B39D6891C66BA433C27CBEBC1508FBA653C40CDB72DFAF - -FC65FF64F3FFB9C05925B8CDC66C57BF5BE3AB8366EC564F175CE04398E07205361FCE66FC2DD4672F3AFFEAF0C2FB80555D9816464C3121030303BC2AE0A68BFBCBBFC44C05DFC160D6657873680ECCE306FB238A8EDB234D31CC1E8CEBF267DC22B1F00E5D2E4EB8CE9C4FB8EBFED7DA0114CB07E2D11D4BC509D21AB4FC13AECD5D68D97729CCE1B9019D2686576A70CC34DB50CD96BDD3AAE67E62C711D36AF4702E6C880327184C2A3298F237B491A6CE75B3208ADDE400AE0712A5859CA75C9256F2413413C959BFA6D5E746C5D5EEC418D5495033C2C4E7E222155E79BDD548B53E8C6E77D2DCA0B775F3FD942BC3BA9052BE841712D231E2763883D514680FE94180B57DDF970580E6C9958760E19709211A6F9987BBFDC2427DCB705D64632A012C86F4E98F2A7A4A33FEA5788E97E12B97C184A55D600FCEE7F41D41F8C7F7D6162779AE6214F93C0072F43FB3863B5E31C0CF10B14985CB23C7C06D39F34EFA005E8A159C0BD0BB508AC988D8FD4ADF101A47FEBCC9D16165FDFF7988C3B7722DE9E93D4C661CBE378CF285F87A3C7DF9248F8F6200FB37A0388AC5911C31179BD6C58F5661C67199DECBFB023536E820064C90B23E96DF8260EF48CB52DCF32FDFAD1FD4C5959BCB5DBDDEBE46CDCC76DC0A5D5833F3C0A5336E74C51ED3DEB3F1E97C52670B01971E25AAF0180814F412772A95FD1A8A4912A09ED8EF2FC0F234AE133E7E1E3598B899A6162776246657F40D6E24DE2AC73530B74C50F0DD4E8BEA86F542D2A2E90C49FABC52D8F72289D03360D101438D90BACD1BD6E3A0FD53279B55B1D9F3DF244F5F4FF89110F6942A925F69C5400738EB5A5CB283FBF90FC432DEFE28A9044AAFB6886643D99F605DAD0312FE0F14889728048C50A6EFA7AF0951864CEDACCDCC98CCF010FCDF7574683CD86CE8C45B7B941C1714FF6EBC6EC7B709B1A93D75246D562307CD4646ECC2CEF39C48756FA211BEC0B9D85D3412F7F8B2C1864C273D7FEF16769466213AF991AEA5F743DCF52C96E71840E503B31A37BB74C9986C13E5DC7B862AD582E44786F5609319EE8919D2D7194114ED513E5AAEAF2BCF05D8DDF3FD8499DDBA7F0410CECC83B1BA5FDAE177FA95D35127944DF20CF48D455896BEAE4A692CADAEDB1726FA6F6C91E3D454B289F06CF8D660954C72B2B9E765527D611DA4D3A73C10F4E44D0191531F79FD7ACB863A9E74B12B4088BC971A0C93E92A1B9C20C1602C7B9306BAAFFBA97568B5043B717AF67F1401C1FB3B0AABA0F7547AC92E087FFE533842442655B4BE404D3B1386D92EA48648E2930B649CE65BF8E12EFB1FDB86B6C7D64DF9551A3E251305D98743DDE10E087D90FA28E566FC842203D0AA8762AEFE485451002DA6A2CAF42A8F7040CA12A9E6680E7B43ED72642221D5AE3DD52E282E4D369C34 - -59B8CCC615ED0D924359240929E53A2B5F9B856C48F039D7F872BF8DCBC452FBA9EC9C90A2CDA12BD76EB87F86F5D1CA112038372E8E2EE76FFB6897FD923AD07216869EFDA468A3E15FC4B7CB572EAED4B43F887065B945F47FBDB6C6936FEB5C4D1DBBEB59800FF6F0E9E3F262F4227ADE6A0FD3F190C6F62C1A89ED115101138FAF0780A1A719128C9E4B91543B5CA6929B43503EC768F00D4B10F3A215B41B415144BA8FE71A0D6EE3E9019A9B5CE5CA07F22EF7AAA5F748391FA20C4AE6AAED11B73E72B8906E7E11079139DED8A4086F6544540DFBB7F7C3B8F4E5F5A624EC109A156E08CEF67B8DC1A8F7BBF0E9F7B41820993C4F1BE3DCE7BA2DBE046E37C59C4139B842A49D1C509C99C48767CCE453FADC9B93E202484070CEB25034D413D7E2756A0955E0A4A44D37B18418542A83055056FA492961D1B6803EAF74FA7EA109B3B51D4E333BD2DB85AB61142DFB0BB61A93E95A38570CBC74AEFA2E94F5DE1C888AC10BCBC3553A416AE0137A67CC0267E4CFC599DE44B302E72CD29898BC689E2E4F48A298C6885D06E041ED5C81A9932AD3AF3739CDDB9AB65813C1E8FC61E62B2364271A53A191C571ED952DECCFD54C995A6C8038BB8FAA2BCA3A650E899E8720F26D11AC74729D6BCA22F95E3BC5683874D1D116B09EAB2FAC0775E760DD22544B4A0CF163C2E24D32518C8FCDEE5A46555D230D0AE658F7EA72902C0670D01C741B3D31EFAA8DA7854A745D2A8E95059EC9AACCB82DFC4EB54B1576F564B83781A51B2B0637F7C7A493AA03F46A8DEB549BC49B26B7E85C8CB7499073335F98130144631D09A15AD24EF99E82B3462E0508E22EDA6CC76A7B53C4AA339F87FE2F670286A3404B59952144E57D3F1DDF55B3C50E7184F23E88BE55AA77F314F9C5CB326F32CEB67D8402F68CA53611233BD67B7D8A91296748E7B49EEEEC821BDE9E5D3D09332EB9E35C77AC17D78FA94D2FBD2C7348DD82EFC8639439434FA9797918CE959F8F6BEF6E398BE51343D051058A8921F354F916F5399475A3F1587C2101B11943FA1CF610F103C2224F8E230C1CFF6D64F2B9F8D46F119F4A53E80F3542281F82411A9A5E66BC7AE0BA7B23E8698363368B82AB282E71FBC86FC06FF95D6E0A2A9579D5E9461FA16D25472106C38F9424BD779505522D41FC2E958B6A66014A3653764B36D3C1A4E7620756CB446C2C4EA95EA19487C9D1DDDF77F8D81506C1BDC4974C77CE4A98C8E5346CE6CEB6E0DB978B86FF1360E5200CD9B58EE96A86289B8366BCFB922C5AE093F1D7977B8C7047FAC36C39714B6461A08CFC3865EF47B263EAF00315D2171701861030546B62674B74AB7395316831456A85BE31DB4CD325EB3A96DA90650E31B6986EA13C87BEEDBC566F3C24CED3F0B025167ADE5334F69FEBF3EA2FB948CB653947F239891371 - -A883850CC4035865F403CE4171333CA21D0E33F6908B0AFD32B6B2A18D0FA0D00BC3BA476C4906E5759FBECF4EBA0E6DD3A584307E00563B618CFB8F9EA4E6B22C998C42BE1F7FFB0C20584B7B0B23B9171BC4C8FA4E1621D5786822E7DEFBFC92EA453A747EA742D25BD9F1C1EE9DB54518898DA64C9ED4BCC39E1064ECBF0679420CB8B5ABF5552B4FB3D37762344AB395791DBA833F4C95796610424D23B159E0FCD9253FB903BA329EF743C8D4108217B64168AFD5A839DEDC3EA1FA87D13CB5BCB562D29E85FFDFD83292364F06F15EAD014189C07E8EE4EF175145AFDD2AD81DA1AC20C7873E580ED04B827542748E6EA187381E28A3A58A7D8CFE48C41BF4CC4FE1851D18C1A19E8B9BA3DFE8E4040CF7CE9EB1CC7BCEC7C0CE30006270576F6CC6E1A7CDBD2188A7F6329B62C23EF2796948525A5CECD552CA162DD7404C3F747667E3CCC1085E30EF5ED924F3B5B073835FEDC65C48CC8D6B75E4ABFA42E645EADF672EBCC8818DF96795451E85C6287E9DAEE5476D2F56D922969950F0BB55A4ED49142481EF75F44B2F58A4027DC4D638C4096B8E5EB24C6D32BD05414E13ABD10D3D5F1503249D78CE46B6E5ACCFB5D3C118E45685EC9B900BDFDDAF13F30B43587140535FAD36B2A2D680BB2539314E4ECC6335BDF302042920121BB6514A7E0FD4EBE447AD5BDD54F948E49E2A784A46FF4D0F6DC8890C18C6E147B04498098F3D14BF8C2049D83FA4A04AF405C087B7A17F919184B72B342C59E5F1FCE9D21CA7125801E5A7E062D6A959D7ED7866B1F0285FA08B5A2895341121DF38BD3718F37EE350CA5A76C1EA96C90EEB6D55CC2E29D32889720B19A75DC53DAFEF577D52A6F8DCE983B162D8325DF31FBE9B66477303F287D65B4BF313155991AEE00A398AA1C1A4E547F095A5EB57D13DDD19F4082EE92B35C71878EFF5DE460732977F5985F67863BBE3FE585AC535E2A4E570CA1C0DC21FAAE48562508EFE35E9948FF57B8810A31E5F17B3E0A40DCE3E478725DBDFA348B92199C1E48A80A36F1ED7B4B986E8FC7A7FDE57C348003F98F49242C1BAC5BEA1490DB56D6C10869E5BD498B5BF9E5C773B80205D097BFC60C0EDAAF01B24289B19F72390B0B409255E61CF267293C0F98BBCFADE41FA4ED943D51AD7A468B074866ACAE6A1C580248CA1DB865DCFE371839C7554BD9E76CD8860A6CE3385DBAAD4FEDB8B8A18007F006BF26230A5C09C6DB07DE5AE5E8BA23EA3F8661965600C50DA8048979F81664B97A4EFDF367D40EA2DBDE9F2CF0B7B431B3CFF4F2A63E5DA5EE9CE3D807D8DEF585D49DFEFD5CFC90BF110273A8D8C5E12AE7194DBCEBE80725EEFAFA70BE2DFBE2A403C1333EC02B0413DCBB1DF8390B392A1394B289DE8A21D7ACF89D330416BF2765057155BD6C3B0A3A12F9F3F16452DB50CDB361C3517 - -727C2E29D0985232E802D290CAD74C8F6DAF532AEA3D8DB4F01A53E8346996B3C2C1DB80F903D539BEAA0D66A21C7F4AB11824C708EFFAA3C25AC8CCB1B6D052A6835AE9A42E35EEF1B3AEE2BDB8BD2F31A6192E5341215664465DAEAC34B482C47E92F670A848EEA7E4F8CDF03F314B023A9EFC3F11B9BDC814B0BEEF0C799A6BD9A7B9377B05AF2A5A052C67BC3B975847AFE7B04D9E42EF6613E7CEA677F6702D1C3D765B4E736C19FA8D0577ABBAD15F877BDD94CE678342BF9C9D7FD0C68CF81A58EB25C6FD258E1A80C639FACF7789534697B372720A44E249A56D8EC1B7E11F5EBBCE15DDCC6ADFC8D36123E065CF41A5B8168328A4F22C723955872ED0C3AFF6E42AC06C868B87F8E0A0DA3E4F7E4B7DD279EC89FB5220ABCD69E6F182B476E0F81141FEF88C0E61FD137809AC2FB715F5F1FEC69905F9082BB1C668F7FE77C39A7D53EB7D220631D102D3C09BBC2051995D82BCB8687638DEB48608D6AEC0E2C69085122BE5957AE931D142853E5D5E137CAF87C76BBF0A8F9D8023AC2B3297474821C05B24768525AC5B171B1A11D115797C697671E2FD98C0B17062A3CD70310CFFC1284884F97C0CE0C88F70333A9525205829E164D31DCE78E2EC6D85FAAD3A3893D8D6A4760516BD068BCBF068C99BCD3C8D0C64DE275869186C555333CC619363356D5EFB6B2F27BF53FE8B915A8D20EF066FA2F4EA3755C54898D07435609634CB6E67C91553967A161187434E59276025E443E71ED7E99D575AE95C4849E0B267C5BB8FF60039DFB26E08EC73EEDFD4F5BE32E66D8703C40D43C08DE380A4652FA6051B55DADD00050A58A928817B8C56F0188CC147671323807F0E079CB4D7BA4F39005AD0AFD54886E75ED3380B6AA09C0584D1C33860C7335F1F8458FC467A3880440BD10D1F03541FC1A8CF60755170DDD97112EA1229BDCB9217167DD4951618D75BE17A1A2089CC86798E02A406FAA45AE64B6EDCF0E774287DC04F57848042D29943AA0EA07D9AD9292B1D96C32475FB2AB9F377A4638A9AD8A39B410FB51C5ED9C192BFF68A61FE78AB7317409B3CBD23A8B8333CC32421BA38C71C935CB6995DB1765AC0F02E2BC2CACD4F25787360821AB3AE2C66E141F835CDBE019718896BA64451289BEF977B23A0AB797F754FB8BE0F51BFD1E0A32019FBDD5FFF558922B1E4147446B74F25B7D14DE89226D591BBACD6F139FD0DBDAB6CEC57E74C4327608E2263E11056F85056DDD528F09D1783A1CB77FE5F028ED41E1FC8554B5892D149DF72CB75339480274624AF475B6F4586485BD574504A0DB608C9A72D14D7CF84D7FE70287C61A7A1D239A2FFF3B3A59F7C89FF5730D073F38D644BB25EB880B51B0BA7613A94F75BD9A016E07647A19DA3971407115385B961D5AA267E2A9829200D4A74B40038F49E6103E17D02C809B2 - -BBD3BF7D129C813BDE404B529B36A2188A4DACC11277497DCB171BD045D70260871987D05F6565C703DBDF3E9F1772EC57070C203C26E909BF7B636D0F0E3F4D5EF3436B05B6214DB881026C00887159332B3493105DB89047D2F6955BE8DA4EB60690412B85930D08068F975DA92D090A39450973F0D48931F3C3F4CB925549EBDC2A4336111FF17A2FC4E5E50E954DC5CCE92B837015FE7DFBCAB7BE62903BF52368CD69017C151AF8300E3E3F0A58DF2E5F872B50A17345E95955834305A8BB20534E9CA84C065341106DF4E0AAAA6D20A9805CD64B3D108F30F64D1655F17D7D5BE31D0512E301565177A6F532A0C84861889E89FCAB1C375610819341C93E05D36678B2522879328069704887835FBE4C802D008402B7BE28516F2DF724DD869AB7B6291C0CD7AA822F43EA85003F776CFDC5864EBE97DAF0B281B5430DF562C3989C000EC10E78EC10F1ADCE8894FC3CFEE1500A9C384F0FC0FBD60549E51B3B0423883BC0AC4DFE51D86360E37D0E089A0B2FAF510E91BEF6CD9CF78C699F43127F8343298113B7121AF22283DDA6DCDB5ED21F15553A899525ECAEFBDA909617394241E107691D671BFFA667C820AD9E20AC3204A60DF2831929387ED5FA30E4D2AE4033DE542B724B60CE4061339C652CB33EC7A15386C6BD4D8B7CDD71433BEA65C3FE080E75A558BE71BC0500AF06899286039A149DB735953074B5373F8F0E77FF378ABE78D9328C04587909152D48E7F1BC64D6D618B646FF83E2C605AF714A2E94598B21B034A9D18CCB408E3496F206DF7D1D0E4A13DAF0858E73F43E0556605595F91FE8DDC09A7915C2FBF3E88BDD8B1727BBCA343C821A8F09846077BF89D98EFEDB1EA78DAC14B0586F87FBF1069E3CA6C2C0E6E0954F085BF1ADAE2AF81D32A64774563D93154402B9F1AAC21C149BE959A9BE7BFFBD53F1F3555BDFA7C844AE73522CE3273F5B271723F01EEB761FEE77AB7F7B24D3857A6E22256519276271B7E8E144920F34B05898D4537B76C445B0934DC40289F41644BB9C6A2D86ACE541C0F7E8D1E948FA490EAC7D5BEFBADCC1E231BB05D0C0034F6ED0073949E93DE7ED50D879226365657D9DFDA1305147791CE2ECAA35D79B386748F38BDAB92657B67E45D041B398F610D16EE9177523CEA614267101D38C9E4551201C14354E6E7E618E4B83B3642F527BD321288C2FBFDB26DF8B0D440682975C935D429F9A3EC6AB81F13BDC72A0492FCECBD7B6D9265A04E23E53F2FA9F07633E5A42A39A32AF0C2624976E6881FCBCAB9A2D1DEE1D93F1AFAEE2884C694F4F00497AC263F8865D1DE70FBEDF367A2E4CC8A8B609737380A2CCC8BD753784A3EC629A5EA1889BC20556049F2E4639B3C0560F311E85F1EE0B91F3273C8B3C3AF04DA7606416E95D6604033437784B93ACE954521268E17317CFC4 - -CC4CA0D241B11315872F41E9FEEC209505691C28381286FF5228E8C7727526F29E20372F139DA793D8557CAD5A2A5ED0B8EB3A5D7A5C7E5B3665FAA7EDB0DF3005ADE5F5D0DDF190F2098C4FDFA466D148B1A61EEAE70EFB9730B4F03CE33189194458BB9F1302125E83C5562270D837F427586FC6BA5B6E4BD4C16D927F959FA1AE24681AB21D17E56ACA60902DA09C4E4BD9C05998D11A2B0A057E3853CC149F574B59F3394F0D7A01450ADB721948007F9C76FC8314FE5ECA3C92974DE255C73ACA572EE897717FE78224355AF98EEDDAFB076AF959B67AEDEDA1FB34746A51EB8C9602D99AFADB6CAFC88FDF627D9A0A69F827BFA892D7A3B82EC8D05AC24B7E06099616083E49AE40AB919D03CD8697ABBDB7FB99F7237317C050D9E6D062D63AC997FF1F6E831848373E1DB2C82061322B802E693CB96CC3F1C6FB1976A13B331424EA5D752558E56D57B52DBC490F0D155267FF734A9942D197C6B8937BFDA9906FA0C18358820839F1902725137BEBC30B70A264031A353F29D3081EF5766FED58808AE430BEF6B8A27076F933C41D93C98983C5B89FF27747A717038EE5D7D43DD33CB17BC0ADCAEB0743BFD7AB931340FDCC41F3204983480A9C41DAF045ACF234E96215DCA959E060C8BAD86AD3815417AE75AE77391DC4C7C556EACE40BDEFFF4A296A0C8F6F4A25016DAED148ACE8B6AC2165A09F653E1C7BFA7014990115B664A540E078144D2DBBC5488404F8FD73F4B521A5D320EF5768872AAF0A9B1A6AD2FC7F005ACEB9A19021C05AFFD58B97457BE92A6D8FB5C3A57439A95075A387F95CC84E4C948BD542D3E2D936C15A0A60E44CDB506924FC3467B2B60800C33F31A2B1947FCE17EED6253E47E68C68345D691BA73DDF2B6C0DB5901A1A6F831D101F9B1ED01ABDE85EC58F2AA389CFE043FEA4E60347B9585C75644EEBDDCB97B0E5AD20DA7E6C366155248185325D00378A0A8B2E7CFFA92C272E77074CBF10523133262F2C3E751F8B483E717E45A1C2F63F4902438D387B7A4DFAED219B60274D8B42A53BCA54064E7557B9667672549639CFD9B178896BC343C6B31FB1C1F2615E15B103CCA1A38CC76A9C7A285ADF5A6CF916E9A6BDBECB170AF234AA33514EED82A5D5C41C8E50EA4E3DDE64A474F9DECE651E92AF87A12A3E8B67042A0CAA983192A7F81B48F80ED2EE0CA5E3498DF2ABB717EFE529177C3C65DCFB22B5D089E0CC9281234A9D73FB0854A151FE9031FE337FC1CA07C77BD9AD6010BACED05C40E37E9E70D6394C21B2F0782CDA87924C141EE78162647F7D94664C03DE4D919EC00AE0F28B6102D28BF16D4289A7BCE565500559C552C1316C7B03C583A6F6482D5ADD52CE4495D383DCFC97FF131FC66A4A17905DC5D09649A160999F275BF034FB89798B4C0B850CE0A5D064513F3B072E596C9CCC - -F560C4E648FEAFD3BA0FC6D28A64BD2DBCD28DB76F4608401B6F7F98CDA234CF2FA7B111296749A76A7C8C68F85996D47FF8C21F1738BCEF74D005D920D1DFD0F1D9ED2A095B18B041745176186C811430FE712023DAFDC216802F15C55CD0AE164C4C0B0922E11BB231E9D100276902158F2D9FD614EFF612D92BEDAB9D26B90FD2FDA246B9F7FBF7770033EC2195405EB125E3B8E981F67CB390CD83C9607F9146D23D795A97A35A36F9818FDDC2CB889883B06DF10985C885280C16343CE7FD2249EAEEE89B9F0FC33BF9FA4C687B71F4D345F3579941990A2C06088200623859499EA4BCD7280BBF98EEB82151F34CDFEDEAB14993AD8BC55A638B4CA921A9557CDEB2DA05198C8A4081535F15386CB5C22A70828D8CB76219E0D242562CFEC280B6B1CD807119C6627FD74B9AE94904820085CE21BB3502DA3040B0715E3ECCC4A6F725E044251FDF0E2A9C3BA9EE8B1B7DBD14BBF6FAFDA204D4E2B3BFC0268FE052EC52A09600B6F3F65D4FF5F3C8ACBDA958B55C6DBD72A39BCFBFDC1AF6B6DE59374C53DFDD3CEF7668A87384B6E4864A1EBD8185F944CCC9D6C57DD5542D9DA96296DC23A83F5629E869DB12DFE2ADCA2EBCF553C6F8C4A5BD03DB2A4FA991477A234B4404C9AD7E683CCD8881A66EF19FAA40AC161579AFAF365420FAC295BE006C59CA75B278C877C9E9A953EB1458080F468D308FE7412AC77659769C9193788B3F97A6B239E78CCC7E23E3629409C62FBA502905549DA892629A7B691B674D0DCB65AAE6E2D2EC36FD130DB8006DE54C719A4C43BDAE3AAABDEE22D407A92B06E4C39AD9746036B78A5F11501F8C245AD413424A993187DA2661604381F5ED4C681006B462731B49803A4A9DB5A5CAA1FA299F4D3F32B0EE6695120AF564D70E775818B32293DB8100DFE341B10608BE4E96CF3B18714B14FD534D2066194F89CC6588246579B6D8F728E4A7D9A317927648DC7E24E8E4FFA606A8EF9BD5B0D8ACF7B8A9DD0216E70B6676F30E964753B2C30C837D8A227DCFD15C49C761609EF4361A4ED2064FC2F01FF3B29E92D4F7577E3EC2FC03513FFBCF2E9855D3D6174E58119CAA08B1C120BA098B4298AD89A76FCB1FF45B3D8B5FCFF0345B8EF1CBFEA0E9FFB4A003AF9ABED7E150D8BB42138FDF9D78CCBBA0A98A40A36FE1676FE233027C768D7E8CB8A5B7419CBDA4083AD7E9B5FFC1935B285D9E8FE3474A0AD3E48444A4CABECA19607E4761EF78BDD7A002B8C0C93EB121D8F42B96445C9A90ADCEFCD1D5DE31568240A8F4D5A299FCBD4FBB457FFBABA8C67A52A642099E64FA369023FDB7638B7C91854627BF752194E1695BFA49E34885D17E2FBF69721A6BE4A7B59B84FC0854555C95E233365AF459277897AF90349DFB0FB21F65D72592DC2ED22638AE97F99E6D6B6B63520942C1AE3572F061EF - -33138332E49515F486D6C6FA7FBB53EDABEF88405431175C63406C9317FA114D33208FD6CF83F981EA9596DA45CF3B45B9E804FDCAD3EE71832008F2BED172BC5F4AB7B4576CFFE44FC42D2EF84B62D27663919812B1E4EDA61291514940174343247B651E79CC99430961BE90B97FC4E85A7DBF2147B3AF87F1657F55DD95D39D4EA81C58246364E824EA3DE62337BD679137697B2A73249005DF75AD3AFA777593AA0967EE0FA5B068141898434B2A6BC08828EB0EBF7181E2C7082F4E2526F8CDB1F825A63399ACEABE0B3227ABE13BFF921E2AE9EEA08D394665382ECA284FFD10A5AEEAED0A5ECFC10648B5BDFA4D3E42FEEEE72882EB3F766A20B007148C88AA5FFE71B945182AB2F786BB11DC01F1D04C51215D4D17ECA28A21DB042899C5696BED0F438D1583886479EB9F77672950E575D6FBBA96D7523245A80A78A7625DF2FD40908F388B14107779E328602162D6CDF5787EC8161CE8BE436407F8E473C7E2E8856F71FB3E2AE595F07BD3335AC1291190C2D2E31E81C87B8F9119454E4F026B46CD151D42CEC0F6E6BFE239BDEBD4F3B4A164587D50F103FFA0CF196EAD0526CFB2980F840B9E4DE66BC53A81D291A651CE1CD32406A725863AC71990865A7A2521F07768F326647E06CD44FF321575DA2D253BC0399AD8FDD38A55D744D656897FA1C4C22111714815045C740ADB135200DBE0BE0554BDFF819967E0D6EA41BD46EA85C25F598CBE9F073464774B8D446F9416D0A13FFF7C2F9B119AA7371A53816D132BF3FDB4ED7F4958F109065DA9CDA48B19F27897C3084D42BE5A0192610858E5F4C8C592F48153225B4FA40C3370B99415E51943A662BC0AF42FCFF397A8F86A0E9B252F68F3C54AE96ECD9B063EA3D7FC3E63A2B8EE44BF77510BB7EE07F32B727A2BE41164217ACA3D00F939131051AC9ED1D64CDB3960B75BEEF345AA35145732E69EF54C4071A40150B92D08252361B1D63EF6574C257804115F14FD287B910B09BDB342AAE5B75E55570E872BF09028886426B8635417F281EEBC44F753CEE04FCA57ADE4E8080658C44FAA748D39610ADAEDFEB30FEB3857EE74DDFF0C895E9460314EA433FB29FBF5135D16D619AC7FE20DD284E3DF58CCF6B9787E8DA02D11934669A1DAF5A4EC670A7EFA7E95D231E1C3D759CC95FA3E6101EC27858DED2516D5454CD4CC94C81434292D0D95178AA924F6D4DE0C9A58110569BE1CA75DC424327D377966C9F93A - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/ZDGQKJ+Courier cguidfix -/F2.1/ZDGQKJ+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#)[ 22.837000 22.837000 11.398002 ] xS -109 212 m -($%&#'&\(\)&)[ 22.837000 9.143001 11.398002 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 ] xS -48 262 m -(!!#)[ 22.837000 22.837000 11.398002 ] xS -109 262 m -($%&#*+,)[ 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -48 414 m -(-+'&*\(,#./#0'%+1#)[ 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -348.87399 414 m -(!""#$%&'!\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -594.914 414 m -(#2*#3\(+#\('4#&$*#/*\(&0\)*#.56*3&'#,%\)*3&78#\(5.0&#&$*%\)#9\).9*\)&%*')[ 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 9.143001 13.694001 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 ] xS -/F2.1[ 47 0 0 -47 0 0]sf -1700.23 414 m -(\))s -/F2.1[ 41 0 0 -41 0 0]sf -48 513 m -("*%+,-.\(/0\(1%+2+,$\(341%+2+,$#5\(6)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 559 m -(\(\(\(2%&'$\(78,/+\(\(\(\)\(7\(9\(1)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 559 m -(%+2+,$:;#+<',/+\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 605 m -(\(\(\(2%&'$\(7?$,%$\(\(\)\(7\(9\(1)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 605 m -(%+2+,$:;#$,%$\(\(\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 651 m -(\(\(\(2%&'$\(7@'A\(\(\(\(\)\(7\(9\(1)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 651 m -(%+2+,$:;+'A\(\(\(\(\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 697 m -(\(\(\(2%&'$\(7?$%,'A\(\)\(7\(9\(1)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 697 m -(%+2+,$:;#$%,'A\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 743 m -(\(\(\(2%&'$\(7?-*%+\(\(\)\(7\(9\(1)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 743 m -(%+2+,$:;#-*%+\(\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 835 m -(B)s -/F1.1[ 41 0 0 -41 0 0]sf -48 936 m -(:.;*#/*\(&0\)*'#<7%4*#=9>#%'7\(+,'#/.\)#%+'&\(+3*?#\(\)*#'%;97*#/*\(&0\)*'#\(+,#.+78#$\(@*#&$*#;*&$.,'#9\)%+&*,#\(5.@*A)[ 27.347002 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 13.694001 9.143001 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 31.898003 11.398002 9.143001 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 9.143001 34.194004 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -48 1036 m -(B&$*\)#/*\(&0\)*'#\('#2*77#\('#$\(@%+1#3..\),%+\(&*'#.+#\(#3.+&%1#'*C0*+3*#\(7'.#$\(@*#3..\),%+\(&*'#.+#\(#$%&#'*C0*+3*D)[ 31.898003 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 9.143001 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1131 m -("*%+,-.\(/0\(1%+2+,$\(341%+2+,$#5)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -109 1177 m -(2%&'$\(7C&$\(#$,%$\(7\(9\(1%+2+,$:;.#$,%$\(9\(7='7>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -109 1223 m -(2%&'$\(7C&$\(+'A\(\(\(7\(9\(1%+2+,$:;.+'A\(9\(7=)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1068 1223 m -('7>)[ 24.641003 24.641003 24.641003 ] xS -48 1269 m -(B)s -/F1.1[ 41 0 0 -41 0 0]sf -48 1373 m -(E*9*\(&#/*\(&0\)*'#\(\)*#\(+#*F\(;97*#./#\(#/*\(&0\)*#2$%3$#\(7'.#'&.\)*'#&$*#3..\),%+\(&*'#./#\(#$%&#'*C0*+3*A##G.2*@*\)H#&$*#37\(''%3)[ 29.643002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 22.837000 20.500002 20.500002 9.143001 20.500002 ] xS -48 1423 m -(*F\(;97*#%'#\(#/*\(&0\)*#\)*9\)*'*+&%+1#\(#IJK:L#\)*'07$*\)*#&$*#C0*\)8#'*C0*+3*#%'#'%;%7\(\)#&.#\(+.&$*\)#'*C0*+3*#<9\).&*%+H)[ 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 13.694001 22.837000 20.500002 22.837000 9.143001 11.398002 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 ] xS -48 1473 m -(M:LH#3NOK?#\(+,#'.#2*#+**,#&.#)[ 27.347002 27.347002 25.051003 11.398002 11.398002 20.500002 29.643002 29.643002 27.347002 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 ] xS -630 1473 m -('&.\)*#2$%3$#'*C0*+3*#%&#$\('#$%&#\(+,#2$*\)*\(5.0&#%+#&$\(&#'*C0*+3*#%&#$\('#$%&A##L$*'*#&89*')[ 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 11.398002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 ] xS -48 1523 m -(./#/*\(&0\)*'#$\(@*#&$*#1*+*\)%3#+\(;*#./#'%;%7\(\)%&8#/*\(&0\)*'A##-+#\)*\(7%&8#&$*'*#/*\(&0\)*'#\(\)*#;*;5*\)'#./#\(#'09*\)37\(''#3\(77*,)[ 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 13.694001 20.500002 9.143001 22.837000 20.500002 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 22.837000 22.837000 ] xS -48 1573 m -(K7%1+P*\(&0\)*'#<5*3\(0'*#&$*8#\(\)*#/*\(&0\)*'#2%&$#&2.#\(7%1+*,#'*C0*+3*'?H#\(+,#,*9*+,%+1#.+#2$*&$*\)#%&#%'#NOK#.\)#9\).&*%+)[ 27.347002 9.143001 9.143001 22.837000 22.837000 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 13.694001 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 29.643002 29.643002 27.347002 11.398002 22.837000 13.694001 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 ] xS -48 1623 m -('*C0*+3*#&$\(*#\(\)*#,*\(7%+1#2%&$H#&$*#.56*3&'#\(\)*#*%&$*\)#\(#I%.DDM+'MQIJDDN+\(N+\(K7%1+P*\(&0\)*#.\)#\()[ 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 27.347002 9.143001 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 29.643002 22.837000 22.837000 27.347002 9.143001 9.143001 22.837000 22.837000 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 ] xS -48 1673 m -(I%.DDM+'MQIJDDR\).&*%+N+\(K7%1+P*\(&0\)*)[ 27.347002 9.143001 22.837000 11.398002 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 27.347002 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 29.643002 22.837000 22.837000 27.347002 9.143001 9.143001 22.837000 22.837000 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 1773 m -(L.#1*&#'%;%7\(\)%&8#/*\(&0\)*'#/\).;#\(#E\(2=.+&%1#.\)#\(#'7%3*#2*#0'*D)[ 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 20.500002 9.143001 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1868 m -(/0\(1"+,$D%+#\(E\(1-*'$&!:;)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 1868 m -(!+$F,GGF?&/&G,%&$0H+,$D%+#>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1969 m -(L.#.5&\(%+#.+78#N+\(K7%1+P*\(&0\)*'#2*#3\(+#0'*#&$*#/.77.2%+1#;*&$.,D)[ 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 22.837000 27.347002 9.143001 9.143001 22.837000 22.837000 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2064 m -(1"+,$D%+#\(E\(1#G&-+:;!+$F,GGFI',JG&!'H+,$D%+#3KL+%$%',KM\(N9NNNNO5>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2165 m -(O.&*#&$\(&#&$%'#;*&$.,#&\(4*'#&2.#.9&%.+\(7#\(\)10;*+&'#2$%3$#3\(+#%;9.'*#\(+#\(,,%&%.+\(7#3.+'&\)\(%+&#.+#&$*#/*\(&0\)*'#2*#2\(+&#&.)[ 29.643002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 34.194004 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 ] xS -48 2215 m -(\)*&\)*%@*A##L$*#/%\)'&#\(\)10;*+&#%'#\(#S7.1%3#+\(;*S##T###&$*#+\(;*#/.\)#&$*#\(+\(78'%'#2$%3$#2\('#3.+,03&*,#&.#.5&\(%+#&$*#/*\(&0\)*A)[ 13.694001 22.837000 11.398002 13.694001 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 7.831001 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 7.831001 11.398002 11.398002 13.694001 11.398002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 ] xS -48 2265 m -(P.\)#'%;%7\(\)%&8#/*\(&0\)*'#&$*#7.1%3#+\(;*#\)*7\(&*'#&.#&$*#&89*#./#57\('&#\(+\(78'%'##\(+,#&$*\)*#\(\)*#30\)\)*+&78#/.0\)#7.1%3U+\(;*'#2$%3$)[ 25.051003 22.837000 13.694001 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 22.837000 22.837000 22.837000 34.194004 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 ] xS -48 2315 m -(3.\)\)*'9.+,#&.#,+\(U\(7%1+U/*\(&0\)*'#%+#&$*#30\)\)*+.,*#<+.&*#&$\(&#&$*#7.1%3#+\(;*#%'#=K:M#:MO:-L-VM?D)[ 20.500002 22.837000 13.694001 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 13.694001 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 9.143001 20.500002 11.398002 29.643002 27.347002 27.347002 27.347002 11.398002 27.347002 27.347002 29.643002 27.347002 11.398002 25.051003 11.398002 27.347002 27.347002 13.694001 11.398002 ] xS -48 2416 m -(V*\)&\)+\()[ 27.347002 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 ] xS -409 2416 m -(WX#&57\('&+#$%&'#\(1\(%+'&#&$*#MQIJT)[ 38.704006 29.643002 11.398002 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 34.194004 27.347002 22.837000 13.694001 ] xS -1034 2416 m -(@*\)&\)+\(#,\(&\(5\('*#<\(77#=N:S'#/\).;#&$*#MQIJ#,\(&\(5\('*?A)[ 20.500002 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 9.143001 9.143001 11.398002 29.643002 29.643002 27.347002 7.831001 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 ] xS -48 2466 m -(:2\(77)[ 27.347002 29.643002 22.837000 9.143001 9.143001 ] xS -409 2466 m -(WX#57\('&9#$%&'#\(1\(%+'&#&$*#:WKJJ#,\(&\(5\('*#<9\).&*%+#/*\(&0\)*'#.+78?A)[ 38.704006 29.643002 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 38.704006 27.347002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 20.500002 13.694001 11.398002 ] xS -48 2516 m -(X+%1*+*)[ 29.643002 22.837000 9.143001 22.837000 22.837000 22.837000 22.837000 ] xS -259 2516 m -(WX#&57\('&+#$%&'#\(1\(%+'&#&$*#X+%>*+*#,\(&\(5\('*A)[ 38.704006 29.643002 11.398002 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 9.143001 31.898003 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -48 2566 m -(,5M:L)[ 22.837000 22.837000 27.347002 27.347002 25.051003 ] xS -409 2566 m -(WX#&57\('&+#$%&'#\(1\(%+'&#&$*#,5M:L#,\(&\(5\('*A)[ 38.704006 29.643002 11.398002 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 27.347002 27.347002 25.051003 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -48 2666 m -(G*+3*H#%+#.0\)#3\(77#&.#\)*&\)%*@*#NOK#/*\(&0\)*'H#2*#$\(@*#\)*C0*'&*,#&$.'*#&$\(&#\(\)*#$%&'#\(1\(%+'&#&$*#MQIJ#@*\)&\)+\(#,\(&\(5\('*A)[ 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -48 2716 m -(W*#$\(@*#\(7'.#'&%907\(&*,#\(#30&T#.//#@\(70*A##L$%'#\(77.2'#0'#&.#'*&#&$*#7*@*7#./#'&\)%1*+38#./#IJK:L#$%&'#\(+,#%'#*F\(3&78#&$*)[ 38.704006 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 11.398002 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 13.694001 11.398002 22.837000 11.398002 11.398002 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 20.500002 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 22.837000 9.143001 11.398002 22.837000 11.398002 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 11.398002 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 ] xS -48 2766 m -('\(;*#\('#&$*#IJK:L#M<"?#@\(70*A)[ 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 27.347002 13.694001 22.837000 13.694001 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 ] xS -48 2866 m -(B+3*#2*#$\(@*#&$*'*#NOK#/*\(&0\)*'#2*#3\(+#%&*\)\(&*#&$\).01$#&$*;#\(+,#&\(4*#\(#7..4#\($\(&#&$*8#3.+&\(%+D)[ 31.898003 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2961 m -("*%+,-.\(/0\(1"+,$\(341"+,$D%+#5\(6)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 3007 m -(\(\(2%&'$\(7H+,$D%+\(#-*%+#\(,%+\(7\(9\(1"+,$:;#-*%+\(\(\(\(\(\(9\(7=$7\(9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 3053 m -(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(1"+,$:;2+%-+'$F&A\(9\(7=$7\(9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -ep -end - -%%Page: 13 13 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: XMEKRE+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /XMEKRE+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /space put - -dup 34 /dollar put - -dup 35 /f put - -dup 36 /e put - -dup 37 /a put - -dup 38 /t put - -dup 39 /hyphen put - -dup 40 /greater put - -dup 41 /p put - -dup 42 /underscore put - -dup 43 /v put - -dup 44 /l put - -dup 45 /u put - -dup 46 /period put - -dup 47 /quotedbl put - -dup 48 /backslash put - -dup 49 /n put - -dup 50 /semicolon put - -dup 51 /braceright put - -dup 52 /s put - -dup 53 /i put - -dup 54 /c put - -dup 55 /g put - -dup 56 /P put - -dup 57 /r put - -dup 58 /o put - -dup 59 /A put - -dup 60 /F put - -dup 61 /parenleft put - -dup 62 /quotesingle put - -dup 63 /S put - -dup 64 /w put - -dup 65 /comma put - -dup 66 /zero put - -dup 67 /one put - -dup 68 /parenright put - -dup 69 /m put - -dup 70 /y put - -dup 71 /d put - -dup 72 /equal put - -dup 73 /b put - -dup 74 /numbersign put - -dup 75 /h put - -dup 76 /E put - -dup 77 /C put - -dup 78 /at put - -dup 79 /braceleft put - -dup 80 /R put - -dup 81 /G put - -dup 82 /five put - -dup 83 /I put - -dup 84 /D put - -dup 85 /N put - -dup 86 /colon put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9588E030F091D4D3453F98FF4E09D4329A560F49E1063C424203A2433CFC258BC893DF202CD26C67E90300866E79B098161B3CEA7418404C9E6E398A95C8932DD23F2BA916D131604A8FA0B379D1E46AEC6BA00EA39C51355C4BF77FBF514912D2720E4761EA84B967CE59552402EE3D8CBE4E829DF3DE11B72BADBDF157F1B99B21E22C3A28A3DA5CA2472D760B8EFEA4FF673B4F276EACC2CBF93C40112E5695F5933E6EC3EA3C2022E2F177AFC3B352E8B1B291DA125AA4C24A5674856FFFE1238DBF95EDF532F839B3E12F95D20832E84982236565A52B355564EF904799678086B2BDA852E9622ED3EA3106659C16C832B39B82A9CFCAFCB00B5FC2CD09F6276B579822AB03D3837ADC7872234FAAF23054459BEDAC7C13DD40E32E11D3F80F32A0A94AC2BAF5B125D020360830FFE82789877A6E9EECCF1A7D94D820688D6A41597373C67ADD9334C56B31D62D5DBCE6361669081BFC2E2D52926A61666F6FECF617FF0CC6C007FB2CD75E6DBFE19A967DE7F1AE78F9B612F9098F6B1158A56814F2A31236E17996C584EC69BFBE92E8AD9B48F64B4FAF7C74F7215709B56BB48C8BA4F7FFDD38C35A75D5138E5A19993043DEAD3429C4BBAC58D5224D7327944E63569E02D6F44FBCDD24CEE334670EC8DD8CC755D4D79C9EC2E50BDFD0AA0489E4A8F90A41689CCA39DC63DB4659FCF2F5B450766E1FE99168EEA8CB3EED5DB2803855EF1174CADC90774E0ACFF93ECC870E99B65C31CEFB3203E55C66 - -6B31544E4BBE8184EF06E82788FE4B5D1D3D8E6891C82DDC4B2E156B2A206F187AC00B8990C9ED4E4E27EAF86A5F6A404D8F143219915EF4188F0049CAD0C184F39B690EAE666EDC2FF372DA88BBC282C6F2157F1FD91002A3103047D185DEB333217B28229F1CF47B4503C7E2771341E0DA15CFEED0FD69974FA346EB387D3BE6C3E190E22E1C43A2B1D5092939D9F5C557E76086B8C308066064A5815119AC32AE5F049204E2A17FB1C74C5DC71725DBA1CD53596EB85DB9BD77AD856FDE120B7E382EA8375BCD7BCA8181CCF9060AC9727F9C7C774FDA7B4BD77D077D6E5C49840EE9B9F0DFEE73AACB4292A5833E36E45B8BAC75B886942C20BDFAF86DE991AA1E8DCDC017C8CC606F58F5407380820C185793842624BF779CA7C5C6CB059A9E4A8B83DA9404668A90F35432B93B09CF5926FDF52336E4898DBC572D3437D0220025807927965BF882BFA53B9B771FC7E1CC3542EDFC42608C24915550FA9B2F79DABCE4E16B60A59829AC480AD2264D331D6D835282F4C8B6B5EA81C6FBC0F3D9326EFFC6E8E08EE252EDF607140EFBD67590FB5C19590A25EC37D8207FF1F71E3DA5CEA18EF180AC908AF9C24B1ADBB36BF533C95C068105F8ACC236B7A01A43F0FD289D0BC7434294BE0FDC3FB906BDAF8B6EFF1C75525F844FC246B8878BC18F32676D1B875DC5B7DB094929D445D5E6A006ADB09C5D3AC913D72A00F789FB198A02273AC9DA4F73A9806CC209BE9798A9BF13D008AED2B5D0B1687C0F573A327D160983EEAEEEBDDAB92588EA343280FA984D7B8A8396FB212B9BF0E645BEB8D1612B3A73995167387DE043A326CE7616FA09551323CC1E395A65E190E08489C2003CBDDEFD2E8F2380524E7DD076D58E2623E02717984F23F4A006FFEA1AF82440B8065B880E309D6019AF2E8C5F96BD7494C8AD9FCB2231FBBC900AB2CA6F876116ECF2DA5303B44659F311E23B4A63B688788DA3F7319A626B160D2D4C4BC02633386DF7C06505DDB9F3B839A30A84B75A093DA864E751D6F0F437823CE8326F03838545C151E3D92BEC513BE63E90957F6553C3113F71260A96113BA751C60EE68EC9BEA330E049CB638DE75EB3681E036FB024EC02633EE2D3987243D4CB104379303F9B90616B527D97387A8EBDE086CBD09B58CE3DBB148F05529641C112F23DAE90ECCB39EC51620E99F9E6A2189B9077A3B606C567BC28B06DBDF5943F04A71ED569D09D24C4B02120288FC5C8B311ED3BBEAAC3BEA0B3C53DF3E50E85B06947F4E08ED0E22C0B22AB67249BE4E1388CB934970BB28FCFF585B3FB2987E17C7AF41E3B01B8E07568B59BF85244701AE63EFFF58FE48D6F732E21F3BFF0537547A7BE479CAFEC6E26AAEB57C6BA795E3CE6287E030D0D0BF4E22F72DDB12966BC500135CD66D42F4D159F61532C82C83CE05CF61D0B4EA0 - -1BA8E3B8FF9B109F32720BABF5EBF4E6DC8EE082279C7ED6C1AB2BF345B7B6D6C337E22E6C6CDCADA35B78C341C0F2061776BDCF48AE61EA1D5602D2B2944BE1156B8A43CBA8C4F6437BB3D11672B888786C1F659806F951406CD9769F34872F48179A07E98B6B98945EBEE78B7B8656F6C1139092E7DA7DCE6887C9AD97680542978B005410FFF2D5A6710BD20D074C4B2525F8B60B5535DA6D330B0DF9B1D58934B665D7489E57084527EF7F35C572B27DF5BCEA2A6817BA4F2BB82190513EED2506528161A3D2818E03BA27FE24B1E3021372A7BDEA366F336ED87B43ECDF5E9E4373C14D05F698BD44222CB907276BBDA0E4738108C8E9BB96DF0DF1661C6FCF7B8F42A9664868E48A82397F4431F9F0C0AF91BBE14C5D0E7D9F689BC677CD1379463A238CE28A41E84C24602CD280C1E77D1EC6A950DAA4C791621ECA892948919CDFE483969B8550349FF001C6BA932ADB5C91E5FD4969371F540E6A1B6E4C86269B6939AEE9BDFBA58EA33E728DD547A7B494DAD20851C01288940783D39EB566F62F5234E73309CBF5988D7EF76D58858A164D4262BF8057733EB58BC3FBEBD70C88B679495E8C91A38B059457E1D768BA753BE203566716E969773C3507B7C98461EB104137E0B132EAE99EC1A989B625CCB3696A139A8A1D3E8E0570BC83FAC97A15A819494F83BE104946D9847348A7745B7B6811F818E4CEA8204148C507F4A0821E0CEC4BAD8F584EEC09168E1680B43C4CDD14191209799CBDE97B339FC99C4F5A6BDFAAE4D1A151CB7B4035983FAE4C07EDD38DAFA39E377E0288D98FA990CA7ACA13CBEB7F82BB9E1352E815EABB3340759FB13C4A0396B3C32D58A0F9A99CAF6217C47F350C584DB545F04047D61650193C118F79B085CE69BBA51D1D3FD11CA30F42E1D404786131A9B4856F622458B3F86220DBB5E2DC84D04C9287A776E66E86AB5DDE76B73B55521CFE1FD2F62FE56923777425DB8E280DE4C054B6C3187B5FE5BBE98BCDA99F95D34F13368EC0B1C6E93BCEB60AB86DC2790B2AA786917107E8DEEDCE3A1F85C895A6B66A5D155126877E0F19D21219ECEB433582C60A1C94A2AA6BB43A6F569C98BF886011D397B1BD4787B731A06EB4911E8EEC7390EBBD0BE554630B14E235435192B6314B0F0DD1D3306E37933F0ABF147AE9EABA2E12E0380A0248EA87E39748B1948CA1C129C3BAAD6AE383EDA72F58E42F84ACECEEF3892EAFAAEC44555270E5802A037E830E2A52F470242007755C9BA8693EA3908EE3D0B5C7D3827D3C56CD75757F967D9254ADB07766637BC140721E596A21EBD9313946794CBAE5730C0E4EEEBC527FF9C8F09ABC19BEB85C1CBBBDF556F63D827574EF0686110487430039DB4E06BD6879AC67FADD4AED513EC2B72A063CA8E4FF2C84041D1F0D42D8BD2EA20AF217AE854C5765EA - -2C3AE373F29804B9FC76E172D8A164BF0C52D3338F770D4C3A5E683652F35D92D2D1BCEBE5ED42962C9307667C5B993B33EA4C038D9DD534D2FF2B82C8BAA409028722A9D2A6A79730D1E0B717C648B1636941E8F2DBEE694C68287034FB4608CB0D0A29DDEC496A80537A9D2464DC0E2AD15375072FB941F74D683FA395727D9A078B8DF83862774066345B276BCAE555335AC22682E620F6AAAFBB50A105994A41124BE9CD4CACB472FE3425FC6747849ACFAE2150CA365AFF08C4D63FCD43FEAAED432AF3EE3E0DC6C2037B0440BB8B5BF444F026434F05A24DB5832653A6D26AE8FD5D808724D411E8C9B5EF9197F3C5896A888A24E05B2980ABC95D0917B201B0A9F8EFAE8936A9B4079E0C0E24BF3E395E7A058C3B488580CF3ECD38C6BC5A9C69DB9D170DAD361B2A47AA108E26A74E28BCEFD45DD18850BB1B8A74E8A93073F98FA7934F5E45B2FCC2CF2623AE132B38A8E66BD23EFA9F27DEE16A16AD3BC8CB52EADC89369439CEE02CACA0965FCA64DD04A185958312B36B97EEC9DB677FFC5F57FB43159830430F0E55148708EF79A216966C720D3B55E234AD2A674FC371A343303DE472329DFBE896711BEE5773DEAB720E7EDD3B0310ED31580C94D1158BD363227DB3172393C67FE3F967EC6A647A1558431930EC8BA573A386D3B1662F73AAE3F6C81848D52B6D5B43688DD0E1F06857B2833A7FE48C21F121AF8889997AB812B0D3F74956188719AB6FB10C289AD499A6F89D1F6783BCD3139F0D796E45E8996DE9074300FBDC7EEB6752C935380485B205F7C714DA1CD6202B147095FB6AF9910AF53F1FF49C190A1126EFBB806E184C87C4848E7632371779DB74144789BA51626EC587DEA749DEE4B0EB5CE4D0169C3EB5679A8FDB3DB160323A4F11022C59B680368BD85FD9034410CF06CBAC1D608529EAF102CF900051F096762DA0712A0C0CACC19816387ED088B0DD4C6F7DD09B479D3E06A327F3E79C908D1C60BF36E49CC2819166FE56A0EBCB6E54339826BD3853E89E530B665221473B3AD8E56772F3111892B54267F9D9464FF02EB42DA7FFC8B35C0731C1EA48F279508F6F4B39F5F1426E37819E4318B50AE5824E5CCFC0F4B2460453AF3E8759C6AE8A573C8F45336AF1A7B93D6B6F966BBBF0D3CD416D15F8A8F0EB71587AFE51D0E83453792E8D476548C5CA15BE7E2425A9135A2DEB5804878DB7D12409ECF39D08613BF60D0002D95943E48BB0A4E8B649942012F351B3B3991B1ED44A2C213DDC13759B02EE81DDA562B1FCD5B3E88A1D7B75B27045916DB4D7ADCCC9F0CCD6965C0F7C3FFE2A06F75222EB08DE67CB60FA0DF4786068449D42A7A9AC9D3E1119821DD1B24A5AB9A392D0F652F56784D134C00B0BA531B1834C627B9897A072832B16124B04BF753D7A1B49E9A4B27E36402F1B375099363D14 - -DF165C40726725E4C41328CC93E551D034DBBF60055104D5BA4118B24A1941A886C6A702E96B94515F9BDA84AEB2E4B15DEC3EC499DF34A33470CDC9D5838C2E5A8A2E9F2A5AAF862F0FEE654DCF0AD8D678420856272F0DEA5058CD72707D11AC6E6AB4D9E904FE78EFA57B54FB5696978F47EED2677720E32AE2341EA88FFC5B504D338A7BAD8D9F34C3E44169F92D6B33F7324CC9DFBA09C11ABBE56BB0D99AC7B64848E478620844E8EE7D256C9300949C7AF6134FF31DD0ED07778D8ABA171A74CDFF061081D0D32CB2331B9CB93D301394064299C8A2A4E3D30022FDE26A1A90250049772790966CE9A0E64D146B855084DC36A62266E01C46B990B5B1E86D85578027C11B50E152D85A46FD2DDC31847C7FD2E061DC4D9656801F44EA2B83729C7ABD44C6A9E2067FA3D01B7239EC28080D1BF978E0CEC22F2B20EA7098768BC177E86DBFFDC0E0D301C0B63F2332517CEF8A6EBEA0B1AAA95000C3949D35C87AEC35FDBAA056CBEDCBA3FB368B5C647A0C9322574EE6557F31859EEC4550C1CBF819E1C374FFB82DD7CF9D2C6A364EC4B880EA15167BDD922C217FFFA15774B1DD149244A3B8F2C3839185A282D4BD9CEBCC0F8ECF21D9A76A59BFAD6B05014376B28F5B203B00F7F105F07352429E396CF4441780886120064C27DCC1891FD42BB1F771C4E8001A3999D09EAEFB0475774ABA26EA2FFA7560C23CADD0AF597194AE68AD079C7339ABDA9F94264E11BCEDF96885F64C2B84FEB8726D47A2A20DCA642D30345BE54E4C2069BF3459A49F27D9E003DA8B91F6C1E02FF0EA8A1A1CA26C3E4D338F6BFFE3BE0260FD60878654A5BE1D92F5E05AEFC1A74034635372B5E825DA7DE976FD0407EC9CAC5BED5614654C31F0A30BB2933F5F48964018587E4D6BB595EC30D1B940AAD4723B3089FF5E3C4F0EAA063F237B3E61805D9AC882254D7FEA9593B013569EA5ED67965A309BB034CD6198539C054C34F4D7405FB95236C28BA8F0AFBAC4FF2709DE75BC538AC2A563A980E9591A71971C1439ABCA096C4E90F610A7C282047E777CBEAF3FFC3957B79B9E009533C922AF06D648826199129452A23D5D933079DF7F8D177C33876EDC5AE48816DADA60400BDDCD51CEEA8416086E375DF2437D28CFBE66119DB19F1CDFD73C94EDBD2E3C1553C59B0A225D6BAFD62B46DF4BBAC0881DB503DE0B80B8EB7C71256C1D2ACB4FEC6942D58DE30B1FA6ED7F0375A244283FD618C66BBF42914959F7566CD2F0C57496114B14D61169A7AE5A37388E9D7F254E678F1979BC3BB56C338CF066254FCA9B8F7A9D98550611B5414A506640A90EFC7030EE075B98DFEBAD6032386BBA138450067C1C4459EF9F2CE56D7B0C94063C976C6D872B00A276081B658ACB63E9B84962E1370C6C8D9B818B008C05CAB654453AF2B78B4B2947AA4E5AAD - -F8B110EFCD30DF9A21361707EB20539EF8F3C80B866D62CD36CD637BE9F3EC1386A7EC0A7925E2BBF1E6C007486277EA5D2691437FA81840BA422D2AD0DE4F8A69596A2E44518C664FF926944C3AFC2DB9F3F902D228E4A9937BF8A98D891C80F3D534F459F253FDCE9CA02AB878FE03F7E4BFF421DA0C176C506CE980272ECA3EEAE133AC6B26860B8DD1E36774DF2C5ED0917C11F6EB608A8F3B927CCF81E9D07A9B004732B99C2E149AC5A8F8E23D9811217520F586D2BF4EF9CFADF04C1BA935623A443B9B54E4CB651109627A489D5D8050003FAE307A2CE6B67768891E0C5CD85A3F4E89FCD7B1F4C531C0AC37E4F7136F39B81436C20F9CBCE95AAAD5CF2FC2A96D509B8CD0D457F656BC4764ED0369B9FDC15008E7B83132DF46D95FFA964BFDC1712731BB04ACC3064E347CCF46E310DAAA64C9C77C091D892042C892647E28F3B7C9D2EEF276F27E964AC49B4260155A7942C2541D0DE182535BD3CDE7E4EB6CA8A355FC0A6DB1386775388AD0B9ADE77F6D067C91AA95E55F3B224D5D4B733C2F194D8C52BC045D39BF784FB37D94A37FD3A6BB4A081E6B346741DD59A6E2CFB26411A296574C357D2673BDACB4924618A094A48735B42918A302242550B10D298B4924E4AF6D036532E98C25C7E272B9795207E2C8A131B871C2A8C0BC344CEF7A2DBAA83AF4A751AEE678DA8E5E67D85568774C4E4084FA88CB487923675069CF3C9E733FC18FE0F489D7464DD1E219ADDC91607D650834FF60B184E77ECD3F2E2FB84D15B17873D2FA3CCEEC06C3FE561572652BE60C8641D8B322E2B6F1AEC303A7E1C1188538269CB2A1DFF4A9DC298E9307A87FF93A7327D1DB214ABF32E5BC564E4054F1A8AAD2F91D843BDCA590547E049B1BBD5B1257B08D600E7BC9469CCBD9EB82E99C6BF83C7CC4DC38789A8B6EBAC02136789DD22D15BCF5D59034806B373BEFB5527A346414587943DC5151B8DA7097839CD2DA27324FF7ECBDB282BE3CC449EF680F0F0DF96CD937473C0885149A73311CD663149DDABDA825BA1AA86FA7C791751FE2C82E8D8C10566DADEF7D89B7B4750BFE577F1D44233A0D6B44CFEA84A8746A5A3B2E48B818F030A1C7C28927AE2C8951537329F606B7E4A3418F89A3421B7906FF2B5599F236E31A0D5F3115B69C41C5533FDE5A9C721D083CF44BBA7475BB1E35FE22FAE53F77A3F33A7B5437D787E07EC1EB45B8AC233E7FC0B1E7AE5C4D1B484B9CE1059C2D4F6E582DC0FA622A6BA604E9CED965CB092394597EB9992CD1D6499ED990CE22415728E69B21FCB1AA55493D509B112C458A3943CBC8A83BCEA202E7CC44B0A828BD206F6B89FF2C2BE9107C7C7918BB8EB96E66B6CBDF816124A0C8DD91C9D6873011E2193A8E87EADB703B90996B3E971B2D8C50B1283B8BA0FC8917D14DD4A4BAC47F9789337FD8 - -EC8AD0DC18EBA7ED2D1D6587652709E90809FF8EF7064018ADD4AD6EAF46924DAF206B889E0F08374097D03E414668D0B11E8B799D73044C307420AA05C1E75E90042311D0C6014E1A8F70E2FC93F065DD46A921F9581737E249E6037E8BFF1079625F253AF0D6DC5932AE53084130D2B4FB8CEE3F4DFDDFE3EAB600FD06F6DBFAAC780B0397121F8B20344237E7A4C4FEA2E668D178C77E8827F77036E83653098BB6F58EFF2F4B91BAE7B2BDCF3ACAB4F4210C694C0620F215E590D89E7894B623FEB5C0B21C2841B4AD7B8D77DB43A5123BDD99CEC2EF4425FCADEE63BFBCFD05A7B891E11C327A815AD9331D6646B5B098E066FE98DC8CD274C88674543AA61CED32C6D5DA40D446FBD8DDFB70B90BC59DD29493ABB871AEB95E273077536A2E8BADE31F5ECBB04E0D699B3D3EB84A371A55FE959AFDF05A095BA68C5EA877B9B9120DA1191390F49B06D3A544C207E8651E724D2FAAE4624853AF71B69B004F08E4AB714D546DAAE6406FA510CF7829AC763ADC3940EFB379419CB56936B68E8F8A9539BD3B3D16DC69BD1CB3EEB4CA1D1E2C32F382851B731B16632908DAABFBB1D81C1406F6882784AC905B97BA240DA9E001E8284377A6572D0B876ACE0217FB440633F47919006CC54592F47188E4289FB36D440EF7030E670E353733EE4A761C4620F363190CCAE1C5CE73F4B0CE486DBF9C29BC586F7A46C1C1C490740688261C8070E0AB97AC98AD4326C7A06602D053C160BA4AF6CA3F204C70E632EFBBF470FC170CF8CC92A35858F25F038749A0A85E2B2FC34983D64814DD414EDA3E48C75EBE7FE1987309FB318540078EBDB6D9D60E2CDDE9EC51075BAB3A1160887817F7FDCCC00FC679F7D92DE7B0BD7306EBC040A5A974D38FD8B875918F1EFB84D93C8CB74256B7EA43E5ABC20F0B9EDBA68039F8E7C5E1E7FC7FCD48FE17C8AC5A16C66671172D7E4C4D268FF5C44212BAFE19C38A57117706155E8AD2A022D412E3BD824907E7C272F2E3C9EF9DF50B42B599F8FEE45BB9932C7CEDDCA3A30F9BF7D8EC21C570F46C662D38F9E1F9D44EB866EB9706D9F5BDD97BD36614A3F6FFE26EAC3B3114092BAC44B9765355DDE1FFD65E2F987BE87BC4BCCAD475DFB04790F825E0A3BBA567F373B33F6020FD66A8C5D9DEDF1D4644F5DB8ED301F6B62EC7B12D329EA98BBE8F040DECC0B787DE0C428E30ADCA5C670038012C3CB29FFAD8E3C9A6B22097BF3BED68B847DB190142017AB3E89374139FEA4E61B82B439FA14E70478F50BC2408489704976C83C2D9389BC2D851322C02E5A3F0D7827CC1FAB12BD35848683AEE0966A059D9F329630FAB5A5A0DE5C01AE87F1D08B56F8689226B317B2F552F5FDFD672FC9B21803127AECC748915850790428EB1356121F729BF5DB4C8979CB7D1ACCB637DD22DDC3C105934761B6A676B - -804B6250E90609F05C1DB1AF061CF56C8F560BB471196A98C542F74B4DB746561B329BEDD45B2DA689560E5C463315DBA6FED633AF522492D8CCD96CA688C01CC6D6CA607651F0BA9A60B401F32DB98872E35B4AE5001EB9357D429A22B2DBFD8B6AA53162E06A0E6B9D074FDCDC25D9930C0DB33AB59B558BC24C8DCE5D6B642BE860661D5F16EDB354B6FF1313DEDE3870ACA2FE7C4F759049E532382776805A8C6CC41D321DCE3B819F3CF113CD76A0A794ED0BD378A676A663C1661AB9EDEA8DE902303A124DE23AE35E23C81BA852A361DAAE8E13C2AAAC3B350C427921E54E0919F12035C3B275FB597AB91377D05CAC62D3CB0B9B65A9939B0B1D26097BAC6EBC0AC5EA6CE3AA4B43046CF3C9477CE3B2338DB531165B3370F809982AB238F60035137694C265D22E0344285BFA48FC91F4A1C4873E531340EB3873BAD72950898F3BE17AC287372C21CC63FFED21DBF7E465E568B50E2F38664BFC993F034BC27F560D56740B83CC48E1C6C3B56278219AD4E3DBC5E0CDDFA2DE2AEAF74AB0BDEDF85D5CBCDCE8B761CE9BC4BD3A4694CA817BF4244FF469AF2BE940CB93B421B61BCAF944A9BCAD030C93300CB38CEE9531E5703200C667E5359BE7DAA865326729DDCE84C33F58D1D9E7A343BFD39C024D9EFD44E51A06B1E9B0AC2EDD7F3FF9E640234269153FB2864620E8703A23B7C24C918C891882E2190E034D2559A238333F118CAF0F03A388139973A92C9EA9F8EC1D08CED9F86E2BF56A012542F678874C9D647EA77C71ECBAB8444E8238D8FA569B80DF8801ECD938A7DA969E9256A95FF58120A87E336507987FA01B13A7EC5082C9B4B00DA46ABE1440410A57088F52E1052EB66880C62D2AC01B2F2D1CBAF8DB39CFA0FB2DD82DB8B6A1A4E00D8934BC1DF4BDC81BAE49D179F1371861DD5030E84CEFE8F599BA67F5A0076FC416C552CF1B20E6E3C51F8BAA49C622CCEBF6FCAE347C2BA00198A7BEE71E4AD2E1DDF8EC2ECB3A08EB52D7DCB5614C852E6D64189FFC37DCB83C37B01A1D6C9B9732AC58A3E3501D1C06304D0535CBFE1D9A8850B48E8C2BAB095C8ADE4CA8F7CC526DDBB710C102E0AF793B652D1E9C0A1BF44CFCE71FD5C8B4E5AF742012EF7897FF38083B2F123740FB93CACEFFAFB66DC33EA320D3009E600DCF31F136D8ECE0FB671793C11CA40C2446363AABC8C7890D5D01E183E458A5136FA34DA4F5EC2C7F8B7CC8499AC088C0F5EBEDCFCDCD71AC17C6110804F8CB97393489846C56D5B34C01987A39CFB77ADB0570A631FA0D43C115F25E038F75A3DC616B8E452E3C9DC598C3B4A384983647001283216D274AB3C8A4615FB0BBE56914C5CA06A4FF06C0ADBAF92C6A243F0E8518F311255FF9FA08EE2F44069D165BBC11D4DF809D07ADA35FB523F41F268B46B441CABB1AA6F311511BA5247BDA - -EB374E83B07CE38BB92B98DC03E07A0399F0E7AE79F1D92F2FF71F625FD8424ED3D3999B21971B8A53A4234DF6831EB28957C4CE846D3C64245B95C4137F9568B351AAC014BD6B3D44265332122512E0C9043F64DE14AE1154FE75E88BB9345AEC551689025A799F194ECC4EED10A6C02E6083D86F7130382D800575508ED701DD740736039D9C8E7CACFF6F83FB88827AE50A53BA3BE99B04B3492EF858F10120DFC6A0EA78C99E09B521F082C927C139B43E07F2E3117DC12707ABB5E651C72FE8BE7EEB0014ABA486D66913F4D193B7391DB337AEAB04E7FC0445C497D05CE4E99029E2D7063E4BF9F2E21155FF1220780548E3B87F8B3B5F6066EFB47267CEF56DC8266417C844D70AD54D67C27C46B25CA82395032452D40894D985FECCF0510B8E80503ED852AC7A7E87C1E7E4108CE110B46AAA95F5F9A7CDCA566C26F7FF07C750FA9E76C1BB424554CC145BAA5A6ECD8DB6517BE613E316AC1B31BDE524715BDFF438CD5DD847393E487EEC686D0DC0937539A11E9ACBEAD08209EA86B9A05769CCF58AB7F8F19EBF3EE8E699ABF9B48A6702EF263C625D25F4859A1888AE6B080182E83E0BC14C3C866278E9E65B9C0C6D64F4C4E3F6A61B348645848FA5996993EFBE70303C7DF000AB35393F5FBC365BC6672E9A94B2F24948A536D3E51A1317A6FA3533AFB0F2C4183E389133608937BD2541746648D1602E7502985FA66A0FC183D765F5892F818CD6EFFE5704B74C45F257B9E6E846ACBBCA0D59EA577DEC6EBEAD39BF90951941F16765ADFFDFF07DF5E6880D46CBC61D71E74A17CD7FEC495F1CCA7AE88C12C9AEFD5BEE62013F4151AE2CE59E51DB7F5801BA65B250070BC88C3E2E70D561B69BA6462022091353D30D22DF08E040220B644E3FC8BB4A0F45055CFEF43A2121D8A89AADE76ECCF45E8B5BD67A5E697E2C2344DF249A4C6FB5ADB6818DEECCDA1532AAF1C37C7A8EA90FE44AB31F882DE400BBCC7BECBA009F15C6775CE28EE4C33F931B30A1F8F71ADF43D6577A7BABC830F2322DDAD68EE115BA89E4503066AE0AFB99EE96A2B26E5682139F3D4C1E60422957E709C7714CBBDA4DE318BFA88AC83837AE7E84D64AECE8088D42ADAB6350CEEE2E190F0EAC110A6E4F916C89560E1D0D253B1C5DF56FB619B20B9515636F62A35092C3FBFF42C180D16C84A07B87529A2304426EEAD56EE0804D2546FA97B99222FEC1C900FF1E5D78FF79EAB37452C5748319E6B77EC31B228170BD4D2F869AF32FAC55A7A0DC7425BCA9DA832D024B99CBED64FE8B72EC7F1F1831D494E51E56BBEE5635409EC6AB054DEAA745B02FA075F4A1C03AE5D08F53E1FE369952FE6EF70B668842128B776E396AE2C0F9E97175676C3EAEC022E26CC405BC62E0B062CFF703C00AC498D7C7E986645835EC52F8C80DDA2D4827A146C02D24 - -6E0CE4AF0868F68C68044D8156B87F271518988845675678334B368D3BFB318BDD92F803250D754F0C1A69FD7F21AA2F147EAD795E527D3F3C72121D05635D0E7E1B83B9987EF52D7ED9E28F62B8D9293022F2DAD9178CEB956CF48957BA551C8B8CACE3A0FCA9250DBCF76DD98D1BB5CE6D7AA812A713FAEC8D33B3C0C18B822D03098C4FA152DD7325CD69671296A706A0CF0077A0AFC89BBEC418D7F0E108958DCA8D6E9FC9D8504DA1B37F6B2451D8CE64D46496D80FBD8C93F78ED8579D7D528827AB1F5EF0D75BEDA6DE22819465729D93693E2437F944547F54D1DF8D155DFAB1DE52AC41C544D9E000E328D93137497B7C7B8E94AFCBD1E617CA98BBA65CF7E88F25C49E034575E44AAF51B4EF09AF466C7C0C23B45DE46A6B5AFFB6E13DAD362C906D5832865239275A2D76F07E6C5BD8ACA94C081062E0E8AE0D6843044AD2215BBBF79432B4F7C0EFA18D7D1C4E1703DC208A195B4294683986B387B151E85A5F281C9A04B3A1DD5C28AFA2D416C10BD91E74EEA8093F7D6D563516EBA722538AFC69259647147B8FC35B7ED4E450F97FB7D57F11021189C42F2330F7DFFE8A5BCB7B3130DE97E4D8BE054E26C5D6F14B87EF92647DB366AD08C1FC33C240000F94DAA0419E7CC9007E3409D47B908AC86DCBDF863AAB14A4280118C5B499ABA02D9C40BA1E6DD1749F6E2FAB41C1004FFC525CC22FBC3D7BFB17A140B18315610A75B66F2EE6E03A80A8A0109D5080F1AF1A10E7A54B02139FE58C6C76F571BAB40D3CBF50F64CBB228B392FE95E48A21F067F09857E7A600EB4B5EE033BF05A8C130C77233E9DF9941719B53B9767061B90ECD2801CB3E2BF96FA7BCD41858172FAA90F4B733ACC8AD08BCD479A4186694A060E23655CC30A69A54D32C0224E527B8CC6DD77E5321D2327455FF40D10A61B272194605A858B31233D2B267BC1993475E3E5F64663E24AC7B348D2D2FAB6AC123AC62E9F973037D98D0E27A69845BFC648AD7DEA20C6590F010D38CBAFB33F0BF97FF9F27B4416B2F8688D33537DCDC59C91969EDA549E4EE8350D3C301D97B4EEC5516B9FC085B9DB7BE5F2309CF6640C1092B74B8C99558A265C644F2FAEF09D212E2E46FFC4A427408876BEB5A05E3861F70EE3B9CFDFFA8582E236CBC6D8B218A9ED9B55132D4E461047A2A0B76C4344F1AD247B54C088EBE271CA9390460E170F3CAE3B7A42397BAEDD73FFCCF5F8BA968AE9298C55443D69D3FC85E177EDB2BDA91D2475805991A63746CB45DF64C9799290282E4270CB99885113DCF2F8789101D8A8B3E9E218114A91FC6A643759A3CA443C6326529C902A4785512733B3625BE3A3B7ECCE1E148394336E87ED4B8D7D1D7F3909DDAD63AFAEFB788229E91A44604F09FE71404F1F1693517D9DDA3AD55BC7AC7DAF4EA4989C5504F8070E3596F79293 - -EBEF73E1058A83589DE0E67EBA6AE94CED34841909E5F608180171650258C4A3B95500EADC87C3753AA23FC2DDD2F28E7E5F02E042FBC900176AB5F407F23157F69F1B5C50C691124EBE22FED623D3C32EAA6AD21EA1B53637A21E18300FC65E31A69D620FE2CDF5C2EE85DD3390FA630C156ACCC4ABE3B2B839EBFE4BA2E38FBF0A774561AC9B018F095589D4D3537B20623F9B31336FBE608BEDF549CE690484C235A57ED7E138D6B0CEE5247ABBF1A421E79A81D630E9B62BAC0E6D6DD422CAF112F7503C089EEC82066FC5A3DBD0063B2E357744AA3373BCFD02533206EB0B9A4BD21234DC364E666EEB1673DC451D80C2A35049775E0B49B4C7D363B22FECF19A0273AEB16001973AA55F5C572FBA416F1B36145D2C20410FE850E272B06D232832FBECEBE802A0416033EE941CA16FB4B57DC8320C6CA5F65F17F6138B0479FFDAEF781F7B83B84994D6FB097769918282E8131ED1DDC67E2E1DBF16A5F78847B157F3A43B7CBD5A3AEADAB4C8026A16B0D66AD0765BDFA1FE96CAEC7ED8F78D890B2D256F7F352A8717B2E9D02D03B5EE8A13D2791DE0C2DB0B7F4EC26E3D268B9C8381803E5C367A14D668E5554F7D9173BF6D8468FF8CDA956696A34D2F6583035D4884135353AA87503BCC2AAB3716C84605CD8A3C8D4D0C0294ED909141499D9946C750EDAAE744D58B46F32A30CFB77F779CE3879F14327264B13BD042FCBEE3082DFB8109DCF612DB721820C7A85767F48F3FFF54C9227DA56D23DE565E7621A12F84713BF0E6E879272B257153E10840C733BAD2B5C33855EBA101031925A6E276FAC30187C110E96449A8C3D13E9D99F851970534339A958D05F098E2A79B50BD9404D62E0B7410A64685039E8596EA71CB92F01D20A9FB3E78E12387C898072E1173E619F5685EE5A3F1DD4D4ACEA6ABD4724C1424A2000A377E5A122665B2EC54C72187012E7A39C437D15617B2260E624DDF2BC394B1066E7694ED14311A6EA98905A2D3040430F2AA465C501BC668758939DC1BF7233D0AFFC6AE928AE6D3559CA253E08BF768DC34A5D87F1BAB4EB23126BC5300381FB8CE6B0A0F580BC866BF50BAEC5CFE0FF6E161083535A9EE44DC048B3EC256AD72FEAD54A10A8D9929F6C60F1E4C6D4A5F240650B67B36E19BDEC085753CAC6D5AE5510D4E34E0E6453FE42E1BCFE16AB5D3054EC7FD4B0C91804E0A4C36ECA616691102B0A7998253A7BADD23E92476896BC43BC9B9971809645456E32AAD6474F127D608D7FA568AB9C428F669DD5546DC3A306914BADE694B4040B188CC945683EA326CEEB2239E03B3CD144D5A8EEDA5348509BCE9E949C479D5ABCAA5FAD459DA25E24D045CD41E720DC0DC0EFD946588B52B88F33E2BF77B8CE306BE8182B6EBC2B74064AA93D18CF58FF04919F238DDE165C3FB26893BD81714AFBAA9 - -E845721851E0DD20385F238E68B3DA452F30DCEE883795449E4F1625865BD3F92237BD79EEFBC112F1F83BB0720065206E345C99E54C7B653E1AACF7BC6459BE148DA690BFC56D9941CFDFBECCFE9E7D40816D5EBE906825876C614901BBD02A3DB2670694BA420EFA873F739F83A9D84D26BA05FF3B40330021A663ABE24F3BABFDE69D709480B1B2C47C93B8BE5C75D355B8B4EAF193CB11CB1892A3BDFF6F88EEF36C582C895B0A018412C044DCEB5370D9D0462713D30C7CF740A7BB5574B4D5A39A170BC6DEC894EB60247D3D64610A1882D9007F435A0CBAE0B1B2B7B05E3B38CE066A97FF0B779B8486E1449830EB8E1B8EDEC05B71C227C43D96D4BB04CEF72FEB8EA582C1BD57514C7E4B5BB6CEE78A5FE7F4EEB8A5D575FAF22A32E0DF58CF2B3822407560D4142322E50B61E984C22FCD7E7614674AE0D2CAE3A5783D337907C782CF820EB3865D2BD4AAB51E4CE0BDDFFBA89084EEAAD3B8022F0B95E6B9A5E5A1D51B9A6D52782D0B1DC91121D1C7A87D23BB60BB4BDA556870628E8235CF6E27A139E048FC7D65D7950B829985FEDD35DAB0FCC0EE39334BEC2A921B96424121C7FBDD9F4A45D5C92218E6B5D26FF25974FA26FC047C61D6D5886C29220EA5820971138FC5463811E21DBF2AA5413FD653A87194D3463C5454072B22950DA324B54A12B594F391EC3046F5B33E03C76F6AF17B035D92C4BFBCA2D2226472F46824CD7AF4D2CA066EEEC95615D50B55C74131741D18BEF44EE8DDF30D48D90F9F392970FC29E82C89B3C897809C796A5DB81E16B66A9DF4735737A34D8EBA1E0430DDECE790E3601128D2104D42F665C8E6BC7911EE293134120A2A5AC7E3B409C9E52D5CB6D8C5C7AF7C17B84E44A91C16D982CCB67A563F88F8CA1C2F6E60BCD516B12AD00652929FF6C3F4490E0D1541C10B9957DD3050F059B2257B278E1CD1779C175416F57FC6982434D01EE0D64F01AE86711AC16AB0F5936BBBE5356B59C2D951F4978B7DDADD38D4EE458B82B19335769204A24E4C0D64ACBDA0C4B83D355AF528B05E4E1739DBD5F616D1F98834209CE2690308E1F46AA3F46B3839CF8E587CA942CB41C1FCD0327D816EFFD067288706A94E23C195895AFD38E3C8CAC4916BFC5E48C84DE7A161A4FA15E03CB5D012D6E430A3840E333A85D69B00D218B3FB2E5FCF552B63334A1D6E6B90D8F24AB7C05A89A3253EF6839552CF0088BEDCB5902FC4B98CA24E3173723064B9311D7B50B707A3F2008BD1BF33681143667184ACCD7EBBC48B6A86D1CDBFC8587DDF66A4521C97673BFCD8DF6A9B4D8CB5C14FA957849378037AD4A4F458B6075DB1AB0BC5686A1825537ED76BF3D3C159EEFF9AB3FCF238673EFAE29C942939AC946E1FA44DC7DCFA850481241C0D4FEA019534905A18FE5E92D58D7EC108B052C8B36386B7B26B - -91ECE1726392ED159C9D2F7D53C72B01B265BE63408C49916F86CE9AD540E53DAD4AE3695BF54E73A0DD65BDECD3AD6A444842DFAEB2A98127D39784BF88A44BDA41299054782803E42E3E0C18E47B671A9DF859FF7F22756E3527BE6BB018BADEB8347B5618800C185634E7BAE8CF7B6B5CCD2290249249188378042496B26771131B37565B05E2F984241D053FD62311517C704A9DC7A8768F085C86186AC241372008ACE8E62C3EBB97E5F70FF504101D6A857110D7CA4E04E145DBC86D46BF6199134CA41347B3FD2B3B104A7039D6EFF095B11D2B96ED98704DEFE981609DF9153457C847B0B37C27E4D6A4406A64B4BFF3F663A8B25196EB16FC572E9A716B8C8642EB5058AD3545740CC8ACDBECB28B50D534EDC5E7C545BDF4CEA61F47C418F86E4854C7C98361BB5B26603A061A97DECBA5ECC397607445F020F9F0CE0A18746C10FDB98F8CAFF2313B44DA12871D30BFAF647A2D57329E8D197B8C1CE0829A2500F8CF61CAAA8A3B304B8A1CA14C79097DD105576AD887A9B83A31AA7AF50BCFBED81EBCEDD5A3DB4B6DEF7AA7BC2474F9B9CEB3059E09739E386B77D22172A185AC178E7F7A774C448097B46BC54D91D0F5C926AA287482539F67D03C87792D79FDD00899CD0B83A6A80355887E7ED9EC0FC4CB8E5FD5DCF204F0D27A97347CDEA381C32DD6517C990F75FE8A2983D8053FFFC5D821A34730F2715EC40FAC77D58EB4F2D986C8F6933C969B56A43CED7ADE047F6E6EBC85AE9ED7F2C0A50887424CA298333E0BA34AA2174C9A653000DDDFB2FDAD129A1E24E131CF4AA8B3B90AD309C34AA1327A68DC76CA77FD7194EDF65E65697B2C56059FDEC5A1F36F03FA6D8E6D118E499096F4C810EB78DD4776BD6B20DCB0AE3F4E7D2459024B2888325618ABD30A86A5DE41D31BD10254884C2BA2E44F1F835D45C9CD9779F7CBDE86BBD0A9F64A9CD83A004B963B95B865C59C21238C6C772F1DCF91B947A509D7EE1861ACC7 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XMEKRE+Courier cguidfix -/F1.1/XMEKRE+Courier renmfont -%RBIBeginFontSubset: XSFOZV+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /XSFOZV+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /T put - -dup 34 /h put - -dup 35 /e put - -dup 36 /space put - -dup 37 /s put - -dup 38 /a put - -dup 39 /m put - -dup 40 /p put - -dup 41 /r put - -dup 42 /o put - -dup 43 /c put - -dup 44 /d put - -dup 45 /u put - -dup 46 /l put - -dup 47 /i put - -dup 48 /t put - -dup 49 /v put - -dup 50 /n put - -dup 51 /g put - -dup 52 /f put - -dup 53 /comma put - -dup 54 /j put - -dup 55 /colon put - -dup 56 /C put - -dup 57 /hyphen put - -dup 58 /k put - -dup 59 /w put - -dup 60 /quotesingle put - -dup 61 /S put - -dup 62 /parenleft put - -dup 63 /y put - -dup 64 /parenright put - -dup 65 /period put - -dup 66 /O put - -dup 67 /b put - -dup 68 /D put - -dup 69 /N put - -dup 70 /A put - -dup 71 /q put - -dup 72 /x put - -dup 73 /slash put - -dup 74 /B put - -dup 75 /L put - -dup 76 /F put - -dup 77 /semicolon put - -dup 78 /P put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94D887F16DE8E2A0E5C3E7175363255A9FC190ABF0CB1A902FBA91F84CF42F8738FE3A50C68885524C83AA6F44DD332BE726470D4371AF258733AA2825ABEB1DE2C4CD602D0BC27E20BB00CD2CBC0A27AE2EDC0B5069E01A9CDCA6AD379AC8C47E90FDA6162480737AEF4255C6597A498FE74E5E6C1CD3813547C15C5481F0277B2BBD949815E7C355B8171C18A22C07AD210A8B5F33D71E6FA2DE7CB7B248278FDF96FABB00839AC917E25975A4C901D2946462F3549789E06D03C2C9D04F3658B6D51A0D6F20FABE63FBEA9777C5866B52ADF56879FF7BB1D891E31377C3CD954F7EEF125FCC5C0C83C38812E5B841E63698AE430FDB0AAB7B0BA3A6E2CF7E77F48D09FD3C87E997A8639295CA3F9DFC65C01E34C28C68F05125D29A7A2E7E5C2BB21988800765DAD364DEAC55C6EFDF4622C40202B9FA6AE80D31B5AD9421175A1EAAAED6A50254A5B388EC15E33178AC95A5FBDFBE1CE47BBC1020983DC94F6DD34D1BE49953F83B7D74F57BB737CFC9704AED5D19607FE377BFCBA874A4FBF83074387F0CEEE0E4359362F44647888BAEEB9EC2B7406B4B70C835F8896A1977981C82FD60FAD120FE61B71A45E5AD6F08A079A2E8B97F2FF82D8A2A96FC672FB41AADF8525172F89E30596D510C20C294ED1085EDEEB8DE006435875E93C610DB44F540F91B6640B8B8BAA4441BD67FEA18A7252012E362A50AAB16E662B2045B3A8A86F8A1F0D4D3E6DB70333910D9FBDC3062BCFA520F21045E6970DA51 - -C71B3011968352EF2611E5C948C765562577BB1DC4D8C707E686DDFD8360A27D04C0B4F741BE98C3CF86AEB681704D2383545AC87B9FDF4E70211AE4E91600AF60D5E0386C021D5AAC445D26F78688CB6E4479795D75A65BD7212CEC06E862C750CA02D64B8B0C0A1E0252A900ABB572419BD5ED27DC39EBD31186B2D134B77EE2F5B9FAC6BF8A88E2CE1061FE0D973A28723F1014E4A1F529CC641A562FCF3356B7351ADC3E5C0CF4AA2CC53D7FADE38BF462F1A697FA97BD67EA8FA36F9368806EE62318A5177256EE5C8053B7A2A1B6FF3A21CD291B11099196D0E39CFDD7441AAB7530796B4CE994CEB0E9BBDF81E5EAA00C6C9A930012EDD045307E24F7FAA3E3EDA0BE81C9A0C9A8278113B504190D224C0849FC13F894DAAD534F07CB0CC48EB9666E31EEF876D4C4445528ECC74C535E5698B596A1199961F1D23D3CEAE0982C7B2E9879DCF88F846796381D5DFF13A14E7B8EC09A922FC341467ED64CA2F32196184F2B79FC79CC3F45BF869EDAF9E93B720FCE6ADAC4C9E50363F4289EBCB6CD009E3F5F1D81B5723DAD93A25217CACC5E7FE5CF20DC32328D24CBEA7209D1756EFF1A6299F5D12AE256B0737D75A13C5B20B2A3F492BDB6334748198DEFA29CE04CC5DA41A2FE6608B3C020C51C9A73D592F464241B2353A53DABB80A59E245309B24103DB95049E03C331B0290E3647DCFFFE7E30D7BE984D12F3F11DBDFAE61DB417BCC0007BD95D34F539A876E7AAB1AB1D5ECB11852F819AA422AD01DCE5F4D9F3628E98DC9F3A4B8AAB15948A1691BE7A16B39A7EBD557367267F65AE740758F878E06F79B4A2EE54F088579487DBCC9DCBF39DE41EEFE58CA5D9FE3DFC4762339133E00B5D28D2E8F4153F72A815528971450087A612242D58EE8A44CBFFE600F468C7F660ECD8C60841303E0D20DA72E96FBE42E6D238299B2869CAA87DBFE148E281E9995DC38FDD1B27C7377F6CA9007EBDE3B251F8F7AE93D49DE8850BE0A650D81B1E97969F73241C0C3642CFE3DA35BCCC292A1D8E3D13BEE144A89671F5EB29110E08D32E1206E0F62287BEDD62A9EC2531B69061FC38D03B20088EC4D610C67F0D848F2FC20FE3B54C6C98CACEAD26B683B319DE2802F79B21E3D5143A524A7B755C63A95FBE12B300BD8C6C7D67AF1C7C53CCD052FD4E8DDB1CAD4E156AB19CE3D50A612472416BD56C10F44FF014A6EFC9C8F39913F32DEBF73E260A08E4DFC54BD25C84B070CCA215104B40E9D75CB22EAFBEFCF2B5C35FC0BA0446F50630EB7E7F044E69F09104C57D7F15EA8848C39DB222934E916D1F336BBB2B42E1D869CF04C8A7593BC1084FD92D9BBB1D8EFDA12D5F5BE8F4D911BC1BB97244DFB9E891A838EC66758DCB3D09C529DD42C6BA0F2362C4CB6652AC470514DF19FB4B0463315B981BAB55346E2A95C94EAEEC12D9102 - -65D0387E3818A69E2836AC513D726AF7EFD096922887A41DB72215695B8A63EE5E82C24A78403F55F51E960D9398AB99EE15A3E04BDAF9474F884426D39BB7A49DCF0B8E709FEDC55EC85F6CA77429B92802933840D0A5E432621BF6A6DBEC0EEB597C482EF1E98AE559337C8DBEB990FD5F6DBFF85016D7059F4E1576C3FAD6C9CF5EFCACECA27AC885E0BF52B2D1AF587FECA6A134F119964E7A7C50458F8EB79E452F906C3A17541A800108307BB1E8178DB7DD947F4E57E053197DED53E0D35682AB4B8797FCD0301D207057D57078CFDDA07E9523BB1BC53E0943662BFB1F51D9D6A6AFFF27B80463AD003E90F953284B4326FC31E0370026636C6A49E075A57E3DEB755A37B29F91D53AAAD8834BC95D26BDA9A7FC2916CC91CCA898DC413986C40E60568EF9B5281D3AA1859113AF3AA4F8BD3AF51EA54BF6DE36D3E102E1AA94CD6334676F0D2E4D29ECF7ED35FAE9522660C41815E70265C3A8091CA9EA96414F47A1F3A68992928CA945DBFA07E1529E0729DE61FFDFB3C7517F61E829FC24DFB36F386888631BCF9D81992FF1A494980398C96F6E4A552E8F3C3C1114A09C74B9FF3D41EF21E8A0E65E0490E1B46E2921852EEE41E32EC936332543B1203D3752D5C4AB7916948A464C273C3F5D8E1BF2CC8A1E7634E511D5F43D02099F062A7851F421733443AE16D87AD7ED65E0238949652BF5EF5A792BFFAB3AA23512E8CAB10E66BD7AA307AD80791A6FDDB6285E5CCFAC9D26EB3BD9F5A2357AD5554E59B16E4BCDBE5CDCFDC1A27BA59251A73908CFF6EDF39DCE7003A861042BAD2FFDE4D3DAE33935EFDF1F73C6545E789D4E1F58E1170A24AFD024B110B009CAFD7F83A44D27EA547F793EF6BFC9D65C4C72DA5BB2AAD8B2D9F1BC841F0148F5A5D9AB80BE3D759B83BD165A795C76CCD32E8B4B5BDA7FE6392A4C3E11BBBAA5C54747F9BCA61709873654445A3DE2A385A9E184A547F176548DF298C5CABBE84355478107A2614AE7886AD510BD7BD3DFC9FEFA740E173630B169275074C66CEC0394B9E7A8053B6467504302EC8C1DB95E920FA208A7AF3AB424808D82BC351249A25F0989C9C4CB1CBE90C4BD8860DE4A2599207B67F096509A9BB3BA14B8368BAF465810238C1014B0A30C89D5C7DC68C3350246E877D8AC2D2FF4945EC6CBBBD78DEC5CFBDFCE507A7205B819AC4997A2BDC26F194D976C7ADC86DDEAC7B3C9B234C59FBE861C597567FA91AC5111A2DFBFE26AA0612D7C8822F3BCDA54878D09BE2D054BE3323CB43787F24F9D488D36A2838D1D7FDD7B006D0FFE436475F230820287A970D95E45432BCF5E1D0538865CBE1AB30FB436A69B262D9091F9641BE9C370E1AC2A3A727689DF510F849A3409744566E4C579CC8F9E1D67C09D1E5FE9C866D8CF61AB8DF03DEBB5A69178A94F3D2A821CED04F401 - -B689483F27C76C199FA5FD18028EB36C881E2BAF2F3941644A5F413F1EF8A42C08C473CA79CCB8AC11C3881FF00CF6F91E3DC38F1E9D4614F691C27381C9B68DB5460A6307925D54C68A0F539086847AE4932E8CFCB2DDB9560DFC715BD6DA7731DFE2116D0AC43B2BEB914BD3D1D93BC1107644B0EB110D7A5C27D71AFEFF64F1186F976C8BE5F053A48C561E2F3F8D88216F5749F1BC6A8E6952F06AFB95F27BB661025C61100BF396781AECEC61D6760F278E25C82253C175C5DFA17F35F0F5B1FF6116B106FC38BFC9E0060022145894F994F82831E9CC6AE26010AAE064F355EFCDCCACE40A234247C7C966CE89BF241A64DC21EA9266EB0CC31D9DB48AE584FBFD9D9D57A783FACDBEC832255D6D0891C1176EA8258DF3CB5A95002F43F76DEA57E93DD84251EFB4A50110D09F5CA19D58ED073095EC00801502B37815E7FFA65D9E4F0CDDBEF08A329B9BB9FC98DD218CF8DA145AEB686353E2098A7EC06F628A9B0823066D9D3CDD109FE5FC6A70572A7153158FE41DA846BDC5A3A8C986E7CBE0FD1054B9E5344AB7A67B95AF108B01F48B944D53B8EF9BED8B7E125C1EA7E4555C89E680772BBEB6DFC3F60675392131201C74D7965955C6978BDB94AAB01B7BA3AF05D3497A328EC2441549AA51F87EF47EBD68DF189571B348DAB4C6082C4F7BC54C60292E162CB97850F70224C4817675A55FC8D9233A1EDC09C591C303EBBC9766909489251CB12CB7FB38107E35430842EEAA16A0845C0445A3AD9E34EED59185A9479C9B12AFB54652538F5FC459108FB095A3A625032E678CF78270E1958C72A0687A9DB5A7246950FC5FDC8FFC246F1140C7D81815884A8507729D7C3B0C15BE38024139129C4CE7C7C4477906D9D5212F67CB0F8256AC59D25EAE3B42107D2A530EDA09094747A009C9BFECD3B22525E5CDF57ED1E4A02FB07A83FB65D41EDFEB1F7F2B1DC33C2A8B3E9CBE4D952F75441F8FEDB181E49E9E05E09863FD7D9801F80679814B00BDAD08930D1722F95F04977AEAB35586A3177E2FE5F386853C7821424B8D9B344F6C9F2DCCF9B0BFA0042417DE15391C2B2BFE8F536F2A3E7939E69965B2718244DA67EAC708F2C0998112F4572A2ED5DB6E8935377C7A93F67C8B60D9759DC00B6AF431A05A877A2AA57B78B83BA6B6F4FEE069051B1F4DB80DC22194A235A541BEBCA3CAC291E971D0A7F7F413F03AE23A40B327BC722510630090027E765B97F08691E3D6923DD2BDAEA71708A2371C67C4FA0560DFC1CEEA82E1BF6190C2D7AA361B7BED687791D8B783868A92BEC31E9FAF6B8010274619715045AAE7281DCEB92C03764AFBE790E3601128CD0831E8772AAEB60EC74CBA36E63A29CC6233E2D1E3BAFA3CD871AA69F2FE23FAE192EDA75FFFF0C6441D560BAFDA6E549A0B5F84FD7E07ADE38F936DAB21AB8C96 - -EAA589A58CCD19D6DD66610A0D1394CFF9766007201A5F183BEADF79B9E8E91E40C86989B246D3D3AB6AA5F1414F6EE1AB55FEA2C2A4323761AEBEE6BFD7BBABD2D87C8C46B5FD3606EA85A02E7251CD081A4244D163D3DCD3D8EC744A1731CD571A91BB94474C4E144635666BB6448C6B0F3C2543D39BAD2ED0A859E216B4A222F5B180347F5D13AD5DB11F661977CF43EA5E186DC2A595AE3FFA830536CD440C95A90293E043A439EC99BFFEED4E9D77F6ED9F7458BF80B174108783053DFC1B3506A962529266CB5944C4843407D8ECAAFBA8DD17210DBD7577D07F6F5F1E2F8E96F9CFD070B110A6BA0A5F0F3880EC925BB6BBE1751B93E707E2D8CE03DF3957C8CC98C0C1C2FE0A7B5BD3599F0C4F2E2D6F5E4A4BE1DE5A0306E9E065719521435BD69005C8D3003564DD8FB1FDE407443A8E4E8CA467E6536DF2D32C5CFD2CF6A2033407D4B953381A15E2B60589497ED1F64C8C0126F31C9E512C6CA74ACE78F2662BA4E6BA34988582BFE1D84E71365F16D65203D2CBDF3E3C9BF5443CBFECDAFC4B4AA6E90B85ABF6F6129CAFC493EA3B18777D77EB70D7A43B2F4C9A2DD39CC1B3B114FC05E72B696ED99F85EA6EE70A07FA9691BFBFCC88083E349A4C23A16755EC12385925C24913FC044FE325CCDF5B42AFED53CEDE4666428C8BD2FD9D84A4F979A596A65752C845B6CCB856D4F9E3378F8ED2AA543013A454E03545171ED0D0B26771DED263484F13EAB59B7A522AE80B7C6F3E0BD9312DC34DFB86AA235461BF2C529E5440FA3B37F4C27C44C45BE1E3C3BBD7833099F70D74244A0652AD588A12A81359617D708EE81FAA636543A3C13CDE12CD11F8C8464E841EB8B38F122A720B37AC5CAF616DA407BE199D65811A818CB9507B4E123F3EDB385D1DCCB72018171F9A6A82361B9186806D06D1736E591756EB2C79CF1D54CF98EDEEA5BDE16B41CFC5EACBB0AFD8C603949E57356C9AD7A0F67A0752CFB03276C55A86AF2EE3D317EC0A08C137B3915C937BB701667BA624CABA87287067D3DBC520AD53E1EF9729B25F47B761DFB6D0D299ED3345AEDCBE2780325D142A39D86EA5FBD119C85A9C411391E02A1A277FBABB8F6F9C6010FCC14A61A94B1EB894100BC3D1E854563A1F2FDF3EF7475F7C4C11CD9A045E5B1EFFE0BDB5495A7FC5F9D04CF1DC752E202A3025AAFC88087AD667B97BCCFA6C3414F943DF16C75D60363ABE092589849E62CD51DCE5E3185F5C2D3F47FF3AF01767C5520C6BEF1648597D2F9626F8CDBB2823EE2F7993FABEC453E8433F234529263A31A2F7E5BB8C776DA2C1FAC31F4948A08F508881DA09A0B75D9D252EFE50ADB30E788B42CA1E0BA8D7DF14F6C85D1BE78D29896B0FAB18ABB78E4CA8CE820EBC04AE42A9D6615541D9776A318184AAA04FE51074C73AC2CE8875C1C739F34AFF04D275 - -8F857AFCB82D1E91FE6E72D3F5601ED48EEA91D3EFF6A58195217F30EEB3233A34AF0B7C3B236694DE2F51425CC5D9A629EC30F22F02C27DF89FD6E7A7B2401493D33E6CA03B84EF0108772CE60F3D9EED2C3EE031A7F72D876A21AC1B86C06F0F9671F3C3CEBCABEE4A065C0D86C94D491108CB162E0B793CE5C0151E5DD1D28F88A92F355D52EFCAE435ECCBAC5B39EDE27F3E3563473EBCCF146B15C471727F3E9BD46AEB292BAE59E5E9BB3F51D5E4655EB4D69BF0DF06C131CCABABBB3B34827284A398DFA9AAB316F6752FFEE6B4DA52B575F687FE5B502E67913019CCD02F6BAF84FF97758127E619633AD030C8B7643F12B1A47B49A4120E729A8203CBF54BD119D9F0CE3962404CA6C07CCC0B5D726A2AB6AA903FA9B04FAC3EFDE46D65B929F0D3F6866AA88C3DBEA9315A738E99EFBF905B1DCF765BED1D35F38BDE63B9A2F15EBE595D4C22A6FA084E5CA5D4D6C4795AA4777F5848399DCB1D9FCCDE666320BA49F79D86971DB6C1770CB351AABA7EE10FB8C5955F8C616E3C123CC26AD393AC4FCEF3857A9DCBF95F4CDAC7B9A34E68FF942EE70B60C2C07CD0B453C2DD93049CFFBE6A07926CAAD557434361156D282BDFADB392CE33D34FF2852D07CF0FB5242A63C3B742B7BAD7C92282610CFE8F2BD094825524685FFA0B9E1DF7A9122DF505BEE6E4796337ACB2FA51F7CDFD934E9A48B66595BBD4675F6BD937209F8C6BBF14D93797EA7D738D109402562255DB3A0D8C116FA7CE08E8ECA1D1AC5F4BAA4D1FE345B5B65855B1BC77C3FCAFBC1A4F047196444C96E56CA83D7E16B61BDCBFDA9145DC2B19B6CFB7441633F1794756BDA5F4ABDB50566C65937D2F49805C5026D448922494F27F9E923C55CE54FF1E6A859DB2371AB50A7C76B1EE86E3213D01506D25EB6F1E1B1676B18BCD690D712C7DAFBA547533AA300BF6545488146A7F465030036CD22654C091A6A25FB4FCE6479D9EB4584BE14E2FA3E0CFB6E673ABF673ED5F5C614698C51CB2408DE4D47A0A98E1F18AE7F65D94E858982528E7C74EBE4D2D6D9CA2843E8E0A8608440C026AA770719D99CC06980B89101464318A831A56C23388C1DB60DA1EDA6BF3C7C3DF7FD91C89A26BBEA55CCCA4364674F424A02A5FB9038ECA7E305C6F04F62E9F6833178B07D9BDEE5614EF0C4EBC8A2F8703F4250CA8C624850CA0DD5E423AF225AD61D20E3EB5FD45EEC7AF88A4A079B1D70FC4E7D93B7994CD64DF1AB65AB1DE75C65339A5152718B6B3DE43272F0DB537BF3C1AC951C55E181F7D1C9B9F10CA2E71E7B381C4FD5381D338C202C8173F761BA32A262E0A3E7473497083E2FA51D358E3AE850BABE6B6469685B35861644476681183302F9D943A01A54CF69B47B8F0BB1DB23E2233466F3C863E5D6DB76CA06644DED4BDE4730DF5BF35AEA3D206F6BFF6711F - -7EE654D3B0A301F48CD77011F838FACD33188081CA14E9D85DA31012023B6F407B88006390625617D996CF55653F809817B6D57D5CBD63E01EFFACB3EEA5F39847A1ED5914C46A7522C274778EF09F9985005A - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XSFOZV+Helvetica cguidfix -/F2.1/XSFOZV+Helvetica renmfont -%RBIBeginFontSubset: XEGPNE+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /XEGPNE+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /A put - -dup 34 /n put - -dup 35 /a put - -dup 36 /l put - -dup 37 /y put - -dup 38 /s put - -dup 39 /i put - -dup 40 /space put - -dup 41 /O put - -dup 42 /b put - -dup 43 /j put - -dup 44 /e put - -dup 45 /c put - -dup 46 /t put - -dup 47 /v put - -dup 48 /r put - -dup 49 /p put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91BC64A62485D7C863002D39D4194FF17CC8AA420E752C449BD1094F4D1F95E92330FAC9EC5D2BAB9AF18F8B200CDEC8BF3E15994ACD70A84654AD96996492D6CAB596D1829F3E1ADFBBD5ADF8300EA07526C8C79F767BC8B982BAAEE4B3C5C0D2F3C8659D16DFE9F8680CB58A40A9E0054C240FED16B37892F0CA8E1D5988688C0503FD301A81AE769A85E3AB7D295EF95428D0200BBF4B7E382A39F6CB25E7931BB4B427CECB519509987B293FC54C8B1A1262DEB249C036B46B445737222033E2E6A6213A1D907E28F3D39E653AC05E1388AF87D25ACEEC860407B8B881EE0091A691CD7ABAA07EDB47B1030AA08E1E709965C2076CC0A3C2BB693057728FCEEF7205E20D7C690B749EE35C433DF94AA29C31972B5965D9452474ED75A982CE5DC349D80E831B4426D9D8952FB55A4CA046CF101F26C5709F474F37442A48089F2A21FF85B7D3D43968EC1FCDF075A28806F01DEDC0CE28821142F6886916641C2A048CF246F489E2A53DA586C1D64E2367B2C61EA684991DCCB5B3F2A70F0759A6C9DF2C991F5AA9A8A658EC81913FA03BB83CD935E88525BF123810E5FA83C7D5D4BDDF809FEF357FFE121DEEEB0C4EBE5DE518825F2A59156F275D33CDA60E530CA222A48C2FB0BBA82A0BC18DAE85D38426C3CCC83FBCA141C44E3E2CEC9F5F97FCA561C105131178F84BCB77E44AD71016820749A4B557F5202AE0A1F3668582EC5A3B4910D99528EBA28DD8F46E9368880DE50E24E532D2ECD32302B5 - -32A588A9F4C1699374A94436CE83672865DB9B3273F168235E46F6C238F3F5FC946F62C8C0B418A5A83950511C0856AE374643E2F03BEEEE41EC03C4A15943AFB4D8DB3D1830116E14E9A6F578CD9E7892E16FA8D91EEC4694762529006B5F90ECFC29A916E6DC43432860D216F8DE899CD1C8D38D4C7FC4D76E4BDAF7CC80C7EE21752646E33BEF7A7FBB6025476172F2F6AB0AA68A0C72AC3D6568728298A7971EC07D1836ABF420ED6EDD6EDCE3416553FE30F1326824A2BFF31CA224EDC4DBC9D4E36F7EC93E4D41161510A222F7DDF4183C73B66A6CC4BA81F0976D754186CB8D625D9D8AF4B0689FAED0EDCD3FCDC190C058D2BE60A5E74E08F38748323EF68A21E18A07C47A238461366B490A3350845AA9BE724BEF1E757CFA5398AE67EEAB44FE49735CA27347C965FD3B09A51C81467D4A2ED426AE529EAEE94D3D3DFC6CFB17F944EE9FCAFBF2D67BC033B3BE4929F1DB7E90FA7AD2235932232F1B5C0578867F9F73DD0D9B31569CAAA2EB90FE245688CC8836E05CA601F3D2F30D94389999C0E29F2BCD4BA6A8C9B783CCD017F9057D045E41EEA917CA802193505203314A5031030A5DB457A5DB75C1D93967608C7763B54424D93518BD992380D16E5D77B4E37CEDF5DFA7496BB1C2FAC4BA9A32512D51389C26B80690163C212EB3B788B0C936D2DAA3AEF04370FF3C0EA7187E208E685418A275BE55F947D925BAC4A4EFE41005DA591998932968206E79AE265A0344B321D7192B623A425A5A7B840DBB4597AB0FFCAF3F9540A137C722EA91E73453EA6430E9B14A094FF5FF9189535BEE0D17C484DAB3FCFC44091BF063D62D8F1AFE2D0A32EDBA5CE5F8147CA6611237F2BF27B23E53212EE5C8248EE7FB7D068F2B8CA0A78BB30A68D133BC92B13B2AFA87713FFF976B69270D9DFEAA4E8B12ADE4D19588628C52B7C74E0655B8D381D87C4E1532CB953E1CCA1AEC69B9171479019AD88975F359EDF0160B3BCD655C8B4ECB16E4ACACF0E092BA4136B3987834D624D058C0678AD80E9937A852982AA142E4D9A6DDA45A86A404277162E0F5150ECCBEC8D531872350C794DD47A101AB4D000617A9644C4444398F4797A33B1C55D8DC9FCBC090AE08806C07103C275F809A8D4CDB7FFAD2C7EC4D8CDEE8A2149C6D8EBCD98B17EBFFB1A133CD7338C657DD56E17526913ACB9EACDCAA0763A992BB71838DA64F299335D4AB5B96C010A163BF7EA0711F7E37D8B70539CED117FD7ABC12E0D5A28D8411461A7D95614A604E04B751F2C9031F03F78B70A6685772C7DB07341E24877030CACC07F53910572997456EF97FA3951D0916587D65201FAF5CD1B58BBA1372F80615C9949BDCFDC1B254A44A40B760A6CDA575920CA29359FE3C7581FEDDFC31E057B12C560E59C55F076198E67798764BC3576E0C84393BE498C92ABA47 - -4C1CC25B8A91F4768F4D412DE81ED1D22D5D32C5E6E6C53D67B278D8A64E40D4B9DFF2A992A9D0BCF7E217B70917093067D3AFF7CE35C7E035E460F1EB2FCAACAA387261FE5F2659190763F86F921032D3EF56B5A00DF728818DB9D074F6D3D8B7596A5D61218622E4ED04ADA6E045948C8846B00C5277991E3CD0B94F20FFDAB9F594DD2998E57B259A76C04AFB344489C8EB7FE184247A604996C5BE155B5B5813B709157E2CAA09F7DD005C5AE9DCFDAA0E98FF42584F3938B29D4AE610AF6C48B40734AAB6C0EF2A4E62E2B30F9D817E6ECB44870834FA05B58ED6702EF22AA7F70123235222282CFE996683BEBEDD5059D89BFB307FA2F71C8D7C7910D0ABFC0960FA01F1E4FCF31F6700E31B1FD6FBC832BD31C024945D27D972C34F4F4BA1B00E57A2700FB1594D2153532E6C2721484931308A5BAAFC3B00ED8ACFAFC33C4BE2DE43781777BC7E269C971E3D0AB7ABE2609FAEB57F22DBBE6DB7970A45904D75B2111A32030E66D37B8C34EB392989C8B62301799B6C9EE0D64EC7520F99B297DFCE67B0AB2D47B635AE1954FFE1A5B80AAF187FF1C0F1C0C012128A7C226DECD55453E057536C842FB281C5DC82DC3ED6924BA25ED2B2811C42B498E70284FDBBBA1CD94B9A9CA556CB047FC6A764A7AD399DCD58B320C00CEF5E59BE5B99E567B3E29A34EDEF1A4E680317DDF561C92626EB444B57F1D4750486B155385ACAF2AA28F2C7E5D4261B179D8BDE1A6B2C0AC4053BD94C4833E7F5CFDDEF213FCBB977ED5DE7937E97A4434AE816F3D048A11369AB3273AF9858EFA2F2436BDCB61F6E3C641516AEA13D8A97566BF676490FCC2C211F70C0107550D22A8F9FE7340EECF7267F894A501539D4E82DF8C5C566CC553244877CB53365AAB822659358E21B829F275F74F7168CCCB0B6D1C3CF116350B434A3D9D8B70F706EF7563C566EDA501E58A4F7CCC68D74BF7AEF06E175AD397423338A7877593812833293A0CDF34C7750635BD33082FC32EC30E18B8F91E14A2EC89E46BC0BD972B9A6D6D0206FED8DE4B58308C3BCF3ED9D8B98ADDF17C1DF65FC7E4DDF5797C5DD5838596AAF753884CF49B1961AF003C54A33CE946062E295664EB31F762B869E1642854036163A0C3828924371CB50750697 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/XEGPNE+Helvetica-Bold cguidfix -/F3.1/XEGPNE+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 207 m -(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"#$%&'\(\)*+%,-$!!!!.!/01/2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 253 m -(3)s -/F2.1[ 41 0 0 -41 0 0]sf -48 354 m -(!"#$%&'#$\(\)*+#,-\)#$&\(\(./#%$0*$\)#0\)/#1/23$\(\)*0#/2$4#&0-\)#%5$6-%0$/2%0#&,$-%#$0"#$'#0"*,$+&..7)[ 25.051003 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 445 m -("4,56$'\(7$&*%,,*89:&$51;,571<$%&-9$4=>?@%,,>A!B.BBBCD.)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 546 m -(8"**%#$&$.*3/+$2&'#$&\(\(\)*\(\)/&0#$0*$\(\)*0#/2%$9$%*$%0/+:$;/0"$<=;&..<$>*\)$.#&1#$0"#$.*3/+$2&'#$*-0$#20/\)#.?@A$$B2+#$0"#%#)[ 29.643002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 13.694001 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 13.694001 11.398002 20.500002 22.837000 11.398002 20.500002 11.398002 9.143001 20.500002 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 7.831001 27.347002 29.643002 22.837000 9.143001 9.143001 7.831001 11.398002 13.694001 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 13.694001 22.837000 9.143001 20.500002 13.694001 11.398002 11.398002 11.398002 31.898003 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -48 596 m -(\(\)*0#/2$4#&0-\)#%$"&1#$C##2$\)#0-\)2#,$;#$+&2$.**:$&0$0"#'$/2$0"#$%&'#$;&?$&%$;#$6-%0$,/,$4*\)$DEF$4#&0-\)#%A)[ 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -48 696 m -(F%$&2$&.0#\)2&0/1#$&\(\(\)*&+"$;#$+&2$3*$,/\)#+0.?$0*$0"#$*C6#+0$&,&\(0*\)$4*\)$&$4#&0-\)#$0?\(#$&2,$\)#G-#%0$4#&0-\)#%$4\)*'$0"#)[ 27.347002 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 ] xS -48 746 m -(,&0&C&%#A$$!"#$4*..*;/23$#H&'\(.#$/..-%0\)&0#%$%*'#$*4$0"#$,/44#\)#20$&\(\(\)*&+"#%$0"&0$+&2$C#$-%#,$0*$*C0&/2$4#&0-\)#%7)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 9.143001 9.143001 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 841 m -(EF!"45E\),$*#$%&-9$*%G%\)&:9!H!"GI'\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -884 841 m -(7$&*?5E\),$<$%&-9$;G%\)&:92)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 933 m -(J7$&!%,,!:#!&K$!L\):151$!K5&4!:1!%!M:1&57)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 979 m -(EF!N$\):151$*K5&4!H!NO"45E\),$*#$%&-9$*%G%\)&:9'\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1179 979 m -(#$&6K*%,,*IF*P%@M:1&57="6:1&57A)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1025 m -(>L\):151$>D32)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1117 m -(J7$&!%,,!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -270 1117 m -(M\)Q!54,%1G4!:1!%!?,56$!@5&K!46:9$!79$%&$9!&K%1!RBB)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1163 m -(EF!"6\)7*54,%1G4!!H!"45E\),$*#$%&-9$*%G%\)&:9'\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1130 1163 m -(#$&6K*%,,*IF*?,56$*%1G*46:9$="4,56$A!RBBA)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1209 m -(>M\)Q>D2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1301 m -(J7$&!&K$!45E\),$!#$%&-9$!@5&K!&K$!G%&%I%4$!5G$1&5#5$9!C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1347 m -(EF!"45E\),$*#$%&-9$!H!"45E\),$*#$%&-9$*%G%\)&:9'\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1179 1347 m -(#$&6K*IF*GIST=CD2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1439 m -(J7$&!%,,!:#!&K$!45E\),$!#$%&-9$4!:1!%!4,56$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1485 m -(EF!N45E\),$*#$%&-9$4!H!NO"4,56$'\(7$&*%,,*?5E\),$<$%&-9$432)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1577 m -(J7$&!%,,!:#!&K$!&PU;46%1!K5&4!:1!%!6:1&57)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1623 m -(EF!"&91%4!H!")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -367 1623 m -(6:1&57'\(7$&*%,,*?5E\),$<$%&-9$4=>&PU;46%1>D2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1769 m -(!"#$%&'&\(\)*+,-.&)[ 29.643002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 31.898003 25.051003 11.398002 22.837000 22.837000 13.694001 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1886 m -(F..$4#&0-\)#%$\)#0\)/#1#,$4\)*'$0"#$,&0&C&%#$"&1#$&2$F2&.?%/%$*C6#+0$&00&+"#,$0*$0"#'$0"&0$+*20&/2%$/24*\)'&0/*2$\)#3&\),/23$0"#)[ 27.347002 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 1936 m -(&2&.?%/%I&.3*\)/0"'$0"&0$+\)#&0#,$0"#$4#&0-\)#A$$!"/%$/%$&$3**,$'#&2%$C?$;"/+"$0*$,#0#\)'/2#$;"#\)#$0"#$4#&0-\)#$"&%$+*'#)[ 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 9.143001 22.837000 22.837000 13.694001 9.143001 11.398002 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 34.194004 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 34.194004 22.837000 ] xS -48 1985 m -(4\)*'$*\)$;"&0$/0$&+0-&..?$/%A$$!"#$)[ 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 9.143001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -615.354 1985 m -(7##*4:-96$!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -885.99799 1985 m -('#0"*,$*4$0"#$F2&.?%/%$*C6#+0$0#..%$-%$;"&0$%*\)0$*4$4#&0-\)#$;#$"&1#5$%-+"$&%)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 ] xS -48 2036 m -(<3#2%+&2<5<\)#\(#&0<$*\)$<+\(3<A$$B0"#\)$/24*\)'&0/*2$+&2$C#$,#\)/1#,$4\)*'$0"#$F2&.?%/%$*C6#+05$%-+"$&%$0"#$,&0&C&%#$0"&0$;&%)[ 7.831001 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 7.831001 11.398002 7.831001 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 7.831001 11.398002 22.837000 13.694001 11.398002 7.831001 20.500002 22.837000 22.837000 7.831001 11.398002 11.398002 11.398002 31.898003 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 20.500002 ] xS -48 2086 m -(-%#,$/2$&$JKF=!$6*C5$0"#$\(&\)&'#0#\)%$0"&0$;#\)#$\(\)*1/,#,$0*$0"#$#H#+-0&C.#5$&2,$#1#2$0"#$\(&0"$0*$0"#$#H#+-0&C.#$0"&0$;&%)[ 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 22.837000 34.194004 22.837000 11.398002 22.837000 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 20.500002 ] xS -48 2137 m -(-%#,7)[ 22.837000 20.500002 22.837000 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2232 m -(EF!"%1%,F454!H!"#$%&-9$'\(%1%,F4542)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2324 m -(\)951&!/;1%,F454V!!!!/!.!"%1%,F454'\(7##*4:-96$!.!/01/2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2370 m -(\)951&!/T%&%I%4$!V!!!/!.!"%1%,F454'\(GI!!.!/01/2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2416 m -(\)951&!/89:79%E!V!!!!/!.!"%1%,F454'\(\)9:79%E!.!/01/2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2462 m -(\)951&!/8%9%E$&$94!V!/!.!"%1%,F454'\(\)%9%E$&$94!.!/01/2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2559 m -(L*\)$/2%0&2+#$&$4#&0-\)#$0"&0$+*'#%$*-0$*4$&$JKF=!$\)-2$;/..$"&1#$&2$&2&.?%/%$*C6#+0$0"&0$0#..%$-%$/0$;&%$\)-2$;/0"$<C.&%0H<$&2,)[ 25.051003 22.837000 13.694001 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 34.194004 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 22.837000 27.347002 27.347002 25.051003 11.398002 13.694001 22.837000 22.837000 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 29.643002 22.837000 20.500002 11.398002 13.694001 22.837000 22.837000 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 7.831001 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 7.831001 11.398002 22.837000 22.837000 22.837000 ] xS -48 2609 m -(;&%$\)-2$&3&/2%0$,&0&C&%#$<%\(0\)<)[ 29.643002 22.837000 20.500002 11.398002 13.694001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 7.831001 20.500002 22.837000 11.398002 13.694001 7.831001 ] xS -610 2609 m -(M)s -/F3.1[ 41 0 0 -41 0 0]sf -48 2758 m -(\)/,0$#1&)[ 31.898003 22.837000 22.837000 15.990001 11.398002 22.837000 25.051003 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2874 m -(F$-%#4-.$4#&0-\)#$*4$J/*N#\).$/%$0"&0$/0$'&:#%$/0$#&%?$0*$4/2,$;"#0"#\)$*2#$4#&0-\)#$*1#\).&\(%$&2*0"#\)A$$!"/%$+*'#%$/2$6*..?$"&2,?)[ 27.347002 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 34.194004 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 34.194004 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 9.143001 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 ] xS -48 2924 m -(/4$?*-$;&20$0*$4/2,$&..$3#2%+&2$\(\)#,/+0/*2%$0"&0$,*2<0$*1#\).&\($#H*2%5$*\)$&..$=EN%$0"&0$,*$*1#\).&\($#H*2%5$*\)$'*-%#$0\)&+#$"/0%)[ 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 9.143001 9.143001 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 ] xS -48 2974 m -(0"&0$,*2<0$*1#\).&\($#H*2%5$#0+A)[ 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 ] xS -ep -end - -%%Page: 14 14 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: HKXTYQ+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /HKXTYQ+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /I put - -dup 34 /f put - -dup 35 /space put - -dup 36 /w put - -dup 37 /e put - -dup 38 /h put - -dup 39 /a put - -dup 40 /v put - -dup 41 /t put - -dup 42 /o put - -dup 43 /u put - -dup 44 /r put - -dup 45 /s put - -dup 46 /hyphen put - -dup 47 /y put - -dup 48 /n put - -dup 49 /x put - -dup 50 /comma put - -dup 51 /dollar put - -dup 52 /d put - -dup 53 /p put - -dup 54 /colon put - -dup 55 /T put - -dup 56 /m put - -dup 57 /parenleft put - -dup 58 /one put - -dup 59 /parenright put - -dup 60 /i put - -dup 61 /l put - -dup 62 /zero put - -dup 63 /quotesingle put - -dup 64 /period put - -dup 65 /P put - -dup 66 /k put - -dup 67 /b put - -dup 68 /q put - -dup 69 /c put - -dup 70 /H put - -dup 71 /U put - -dup 72 /g put - -dup 73 /two put - -dup 74 /W put - -dup 75 /D put - -dup 76 /N put - -dup 77 /A put - -dup 78 /question put - -dup 79 /three put - -dup 80 /F put - -dup 81 /C put - -dup 82 /five put - -dup 83 /six put - -dup 84 /E put - -dup 85 /M put - -dup 86 /B put - -dup 87 /L put - -dup 88 /underscore put - -dup 89 /S put - -dup 90 /R put - -dup 91 /G put - -dup 92 /j put - -dup 93 /slash put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96BEC53AC4CD713A38425141266AF54EE8240C6130897819B8BF05419A5B0762327E7B26730A173E35260D949F33AFE8766CE9D3DAEAD7DD985179CDA08AADEE3179CC2C752B5839AA5BDC0E85C282A4A9271B9B53A0565BDDAC127754C23B1C71B894B357A4FBF9ADFC01835BB63246ECAAA6D1A8E3C52BB86A1F148C98C9291BCFBA91FA30F4C130EC699288C34DD718D412607916FD7F246EB7230864316750FED7F4D0ED0DCDF6411B2A95610A7BF8743416635B1D0EEE5ADCA08FB70923A705007F8B2F906B148A8F38F63D4BC91516F45660F1070562E43924D7E9CC01D1C4B31DDC17581BA7605F138714B2C285730B8F42CDDC8732DD9E001A68C976A5FBF3CD87FD4843B16A8D2988A7A00622693F695762FCB81AE91994AA50DAB35DF0CBF9D041203645AE988AD7C017153C604685DEA2ABD6CA42D7B0B0EDB224BCADDC0708FFE2D47E21F14C4AA9F57A10A8E996D507FE676FDF4800CACEC84AC069E959E95F29215B88CBBA978380B858CAD415400DE96D31FF85A5C3FA56FFA781379E858DD695B21134DA3E1A1D113CD0CEE9608BA4C1B97D1478567AA92FFB86AEF16B0CAD7AB3A1182819B8365262EFD4059C59C144AD338A441EF2BAE53BBA04B9A0CBF587759F3869F718EE7ECE069956DCCA8EE1574B49AABCF2E91965CD18BFE82363352F54E2636E0C4B3DF49066ECAE1EDA1D131E8D3D0492095DD389994E6B6659C3D32539B2CE7F3FE059E855C1CEC92C6680292E10E3A9B45A92 - -B918638DE080F07171EDE0E95B3255A5B36CA3B5B35FB1939CDA2C02F257AE9E58B07B33B5418F2163E6C1ED9DD51A7B18CBF2FD437BC1DED9F81D21669FAD1B0B601EAA1E54B4D168098DD79BAE04099D77F5BA302DE1FA36EF4638BE4A807E2433C3E0456510F6F2A6B8817B59C48C4144B2293B319323FBA835E41D247633E83AC162EF454DEA004ABC6DE2C3A3197ADB5A5769CEBD84E43AEFD1E485245200A22246BEC734CAE1CE2C027AB69D7B6ED86932825A2430ECC0223E5D29ABD483EC32CEC58129C1B80F7F33915E5CF2455C23399D2B6987588255D7FFE596824E8116709829EDCA2ED3AAAC1743CC6657CE713055147F05F524CCF8F2260145AEB5FEC2F0A06B328FA6FA07009D54542E5C2B41E5DA0A876C13E8EA1F9C31C4EE8A4A692D4C9BADCD8610BD9313E59936768348630D118039E7DAA5B6A4AD4D77F61C600CD695917E4A0104E622A882C2925A53E68A7F269E0391929EB07FB09204517964EB14881B413E2508308C95659D6F0B10BCD3EEA55AC5BA76EBDE5C3037EA1EE647EB426D295F6A7BBE78514B6B0B4A1D1421005BA9D5AD20B95274AC80229C9F19B9601D6501601AB10C178D275F6DFD6242B56F884B8B564A91362512942011B4E26E340220D3549A0E5F3D81E59EDBE0BA290AE971A358B56D047B7CB4634F8B7D97D954C49014ED190F50E9509236D7FCADD562E403D5779546E90E83D6963183FD93B07681B87936D35745B6CCA2CE54F308BAF04654883ED2A1BC180A9B6339459CA855C4856C824C653D795C41F6E638FF6395A496075F7C98B5B3A24B70FD64D8C40416D6A679CEF9038D9EF6EC0CF5AE7BFBC259370FD9251760242F0F88E8AC82782916B4D9F19D9C9F0E455D1B5B17824D6AF33037550BD7775F3E13ECE9626436E4F6EB621C0397E5457B4E40B6856D0F56849AF42CADB8081A5EE65ACAE4FE114E6C541E1299337AA93782AE627E6ED0B0747CF3B7906BB8C59A67B6B068B797797C4A97571ACB46EF7021ECC12380D30C75DD8078593030FD21B41733B0944684B328BBFDA2EA5E6EE75E48A093B96D712E8B211ED469FA136495E19BD4DB5CABBA68CC88078E17565ED29A4C1D2FDA7834A772061D26E52C852E0F86913AD3A36A5737609CF89C88F9489B4E07640826D029BDD11AEF52722CABD2D49E8C014236F9F49806F0BA267DCB6DA603C37E9007264F8D07CA245B0999C8523E08F6C85D56260176BF45718F098C846AFDD74A3B46A4CD7CE05181F11DC8DF4E1D22BF19DA36E7A4A7F991E9532D1931BED5746D5F58E4C54E084F24B0A6E27F9D0B5BADE55D5AC2739CD00FDA9BBDE2672EB4006357132F631F900901BE8E68F941702DF8895156F19C131314B51B9D089C4DC5AAB8326A4C020585C43BE86B0FACE59A18F00F902F773323FCC985AD4FA7F3C250392F - -DCC707B36E15D4EC720133325DC7D55B2F1BD0A531CC6ADE8834F02A8E1AC58CCD6C3E86189209DBFF6A4FECDA00ECC621A80B7F047176682274340D1A4675D4A202482B087E554428A312FF59564EA06A4FBF3F25440CA285FC802060934D432E1AA4EFFE079D2E428CCA3508B15C23A1DEC5ADAB44E7CA52CD9084FAF0E19A6BDBC93C5BF658A974812DE571310D402F8923792E613ADBC48B4685900B727A5D697F8C66652F32F49223F3EE86A22A04EEEEA0DF91CBEE72CB6976BB2E7A8DC1845F973CF0BA89FC0A9181486CE8E00061DBA0DF47807CF344E99C0F2829375D0C0E9DE16A5A0C18E42BE272E92CAC9365D84227F01C17F7292E6FDDFDEB9113AE9F6BD7060DD7DF63278E5EDDC556329F5C40D8206789CB5EAF121FB9CB8D30B59DFAC4EE0419C9E6A57D27F96254C0CA2BA66C38DDBBD0C186699C41E33A2B82B04A7A54CD41A7D10C90A64A67386973F1A0C71823F84521A10BED63C8F4603AE914ADE795D0DEEA224086F89A62460CD030B317ECBF9A9B28123EA0254EAC826A7CA99373E653168DB22EBD463C14A98144F55447C636351B6C93CE1F1C693EDF4C233822C4FE53EA8E71D486CC704EDACAEC00F0695FCC345FB57BA1DB4AC1D739158A048A8753CCFADA4C3471D7B76B8CC1D527992FCD17091DEC179ADB99AD985EBA41F010B883A149609C9D5B3085B7E5E5AE5D15BF4820E62C974A174962CA77341369ED2BAC5841BE1C792363EE291966F8631C89B67162A342C9E80B97EEB6E6A0455F871B34DD988840254CC888925051C74E5BB88AF6D50669BB11724D71D49ADAEA6B671704B3B223EB45A09DCCFFA60A7A6716D12EBB0C0A7D88C4DE9BF8D2C6147E933B59FF5E1B4F9B676D5060A91F018890EE4A5DBB9D82B26D9B5E134E1374DF6445DCB1C9EEB6EAD894F44A199B1B3C9BAA776045DB353971CE34FC48141B7D35D699FDAF6F4AC6D81960C962C5CFE305E61F8978112EF8FB172094B33F45F9DBEECA6FF78865D2529ED6F4356F84E76F753DE678C14FD45A0805B813750391A2040A04915B0D8B4FEE034C9CFF4F990E5EA7A658211FDDD272CC7CFC1BD5BEA404AE8066BC974A1134D73E52D7FA8E4646821B830290249E6FA188630577A515FD6242B01B27469F25721413B5F2CD0BEAAD14B80E5DAF16CC6ABBD797534D79DDF8B656922B14267EDCAF41794939C2233DC1A6BFEDA53B8B8B234C6C4CF8B8FE7834F62C729FF69838428CD5E0E1CA282F962DCC9471837BFA43A7639A559ABB36454027C96A5DDE95E452409C2C2C147C13B93B410B28A0438E507EAD3DF115EDFFC079B7260D14623F044D70B55EF3C6ABC0FC1D1427C1D4F068B2F9B3A6ACAF3CD7E7F2F77DFBF09EDAB80B6CEF8556A640047161A55DD8535E0EFBA11E7881F26A84332A39892D60201568B15A855DE6EBD3 - -F4A4504707950988D26C5C14BFB453CDAEAE2EA7325E7292DC149E931573301CC0686124984B3DC19476D70E3D2989B14B9201A44C51929CE32051D2E3AB79B56EAF125EE43E7023FD7420259ED3C3E74C156F661F06810E6D45B1D5F834103B44A0FAC17D08D56D5BB23734A630AEB64D261679B28E2642B403D5B3EC4ECFCAA75C6F60C29131AFB8B986D2EB54F1EA6F39E2D0978618D71A6A6DCCA299433BD6D6E78381BCD3CB9B4387A71B2DE52818455D332C2DEDD34EE70C90455A3A790FD15E856B62A2F8D33D378D8CA0DE642A726A1C96AB4165C53F42BC559D3A8DA4ED38D6FC4894FDC091C358D48D5F9B55DF5C3AD53C51849FE0FB46182FE3F893D631347B0D45E5E2E8A142AA241F47EBEF689FB54D81C766602966C0354943511382FD600C8F1B92BE32548B05780CF2DB413C9C626161A02C9BD6047FE7612841772892E64E6D95A40C5AD4F1392EAE0741BF7D3C7C6A7760422ED67242389300094E29BC2AE30E800FFF93839988E734DD81C52DFD983D691F579C47838B87FABDC0E20927BB5CA7A714D33A5289BB1558071A9A4DA4AAB82F6C8A849A0C9B78B95584BF8C258757F3B05B6F7944538CAB9573FF20D7E5413EB0D54E384E9189877BC6E3FDAC97E53CAE93227FD8803036292A504DE66C3F4A3E3D109A7A7531C0891D7CA5D1F37F1E7EA88808BDC759A092FA82AA5B79D488A9298004EFA1F49BEBB78F51666C8B897A90C6FBB61612F035A5A08954545F796A420AD24D300E31091FC493E65B3A2D204E4A3BC6702C3714C6014203BDEEAC16F5F539F8F88A8F93223475F758231FD003244E6A53EB1C308DF8960B71FDB137E397C849315EB81BE56E58A5223AD281358990F5D875B447A2191AABC5117282F1C2497440C5685D036E868BA3817DE88D15D26B1EEC992E43BA74B651C9011B8AE3D06F8015E4C06EB9D971D6F239439F81AC61286FBBC2BC538C03A733232CCE0BEA07524734264E9374B926BE0D15A61124AC0A7CDF5AECAAA1074C9B0B0A62FE27F224EC943347288CBAFC8A71B07707FCDC1C1E15970F74BB9EE46A459337A713F1441F5464F54088ACA50FDE9C2854650466A542BA5596C8C608A3A1B85D60574B2AED5633EC31C7D50C6B3D6F308E96C9C486F31EAC863561C779B4FE8FCAB86F44255EC01B420B782E2D7DF856977BE792ACA4EEEB829E13D2BBB6F82A13D0844BD283DA37DF26E13AB75DBCEF19B069049408D1E5A82A63E66F8B5621EE1C104469C03EBBEBBAAFCCC2B124A567771ADD4AABB32360E12507E732EE5199853CDBB8AAE875116CA9EDFDA36D72A8C78BE0BB7F5DCDA96BD7EB40E22588530120612CCCC8059BB7BFF77465A6BC29B69C5ECFA7EE918879290C33CD5D28DC333BE046FD109FA1226C9CA7B100849199177B25DB30315D62BF7D42EFF2DCF7C1C4 - -36100FB653C497892FE57CE390C5B5652C129B6E8AB0629EDC888399029F0A3E44C58867436CCE4D568803883276B5B61B69B7D837E919CE8381A2DB40C6B4D211C5ECD095E92B8FB9A65B6438F239F99CC8B0518DCAA1643162E56B42108419D98F74BD3D9772C80D3B1B859584B8279F88609A5C3CFED50FD3A6856C20CE1D32C887164916220F458C083AFE5632ECD3A69746111FEAF53C5605516F3EA13D8B3D6FBB6DF0DC0C558E909DA92926E69FC0A732FBEE162ED3F84D805E72F8EDB8BE98197E75C1128044C952D33C617A9F80E00DA192B9C46DDD998133036B0EB24683ECD1B21D134FD9CD957EEBD17E579FA267B8C4F21BF528FD281946C382DC5014493170844E2C7B32AA4C1B880E97C7AAE6F5FDEDC1736169102406AB8149D3C14BE384181429945F0111A6A46558A5292633CD03F9B1A9F6B9B83F192A224B012755FB82B75137C3CFB313CB9E8CEF76D75C30B7A882FBFA77609EF38A0397C912925B8F030CE42790E94EDA7DD92702C656B97D3B66438F3892674DAEA2172BB83F1CD10780E24C927E641FAB6C196AF33660CC64E0B9057504EDDD740C3A1C57DC5A95B84C8424AB007A58ADC89B1F029681F92307F141FCF31E9C24EF6A61C1B358E0BDD822BA111906FFCCC76503A0617AB61364612A49D57FB9F26A078A0CC74B7EA82F6107B8E439695F61C20D41C8F3B547B3B0262B2C2C989E1BAB998D565946F4E76A1B3B3AEF99BBB6C8640B2208C8DAC8A8BC2198F05F93B4EDB69A8F31B696B7D7C19E17A1DB6AF482731E9E70DF991A631B4B4A39A9EE7C0EC8E5A2CC5DA3B2E114655DE1DBF30103CDAA721E613540F89584044E164023A385049822419733886FBB87B4410E01197DDADD4F84BD9484F2BE45CEAE4F3E31520F449F3F944928BC4EDFEE2E70EE33D8D507D0FCDCE82C8588A6AF61499FEEA0FEDAFF39DEB61FC22E8B223E641E604D88CD00CD86180D87C6A7D95D77BF2D87B2EC3515D7C28B0B0CB69BD4BDF53410EB97EE52BF8643ED333107EADB3C75C28A03833B6436E57E831A3FCA04C28C7788E714E30C1585B47EB2426E2BBA0ADD94AF35E77B3E11BFC032829DCC04D0A68E957A4F6F2403663D94A36B473C6A706D924B2928ACBFB239F5E6828C636A2066E831C31045D5F19FE17C5063E7448E740D4DFF6ABBF78AF39EE9177FD06879D22AACB08DAE41D6B84FA2B99E400C478B5BBC0BC3B1DAEE4D2C3D2FF93D691E906B1DEEBE1ADF714F288ED4D80118BF4CA7C3AA40C92FF855591477C75D0AFEA7DDFD90CF1E58032996A0CE0374EA942EB0169E742ED13DDF5FF3D9F4150246E9FC08222D328285F8590B85247E8845405FA5DEAD476C49EA4088BCCE022A499EC478BB7B67B1DFFDC2794FC7E3060593B3666882EB1D652C7C6527E21035A39351C719982CB6681BBB4EC626 - -C91A3CBA5F5E4D4E5B01AD7E13C7AF5064E0D69C121E284D3DAAAAD592FBECAC6CA703D06217A757CCD1BE3B9675496268A513F0F6FB5A606F122CE7CC12CD0FFEAA7D68A600D512CD9231970C9D5DED401370F81195F132C3607543F2C899BF719452F00965BF0987BFB08FB772E6712F277864E5B638C6CAEE1BCD0E047FC3BC43C7A71390292163FDC44FEDF4B389A0EA03538481E94425C678DECEC44FDCAA172EE7A33A326E475E8803E500C2A0EE00DA6DCE9A836CC0E91D36D1EB3F334623C71439D2C02E1CDBE104B9F11D2A92328274381CADC06E2EA5A6D12F25177094B342A9F51DC472AEF33D8B6DBD2196DFB06B3652A043CB3803EB96A3E2CE7879C35E452525483D939E14D3E526DF5316D7C3526E5429FDC89A947282B1CBBD964987EACC1DD0FAC4F7826C16A6E23380F1476FA0732277E99D2362EBF3C50E673DA30017A0A73BACF1707179AA21FF04663CA508F1395DFFB2474B067B6FB150B82E00B123FA91FF7963940A58A159512562BBD83772F8DD20C15224B78ED4779279D6ADCA06ED4D34A58CC9961D93D64A6E157008F98E25446D94B7034E4A29DCB91192763707B3AF8BA2B85CADF9068F49CB9E0064613C290466FD8CF963348F7913D8A0A8A8AC3F64F68B5241946F77DB93075B4989D60160049B23EDC04684418C4705F123123F3DD3F2DF6F715199FF0D2B92EE67569E5528C4F06A1D9373FA02418C1C406DC35D67F2F71C758408D730E8B262C39AE065F00B6D97754D44E3E14087FEE51E801C579895F59625D6A10B68ADB11C46406EEEBB7E1A2783C5B5F4B2B153A8F1CDA79C2074361EAB5A561BEB1FD9477076D6ECB478FEE09A88BC19B1ECF2D3B8A14B2F36E0F882964625B4E3B4CF09143C8E04DDA0EEB02CCA4719412903A2496F590294ECDA88DC39A5FC5AB2E46916629837AA1016DFA30262EA985D2B1F52978F27E43604EF9A49806E18EE61BF0F7C1226A92C07D7FA957E40D1CE7153AEDCB90D1FF1EF86BA58A02503A7E79DA343416A049F50E6DF77E9360D06E9122A3C7E3EB3F8A755535B082EA62842DC6CD47D66DA63A49F09EC7252035C70F2E496A1EEF28A775CEF28AEAB1156F8DFE8B3D68F5FB54584FBB552869F00861FEBE2DC6FEC813E12D7B6034A544852817EAA7D8BD9F725BDECCEDB9241D8AD313DDBA5BD83865B22A04C77A23BDD981E64002AD2D8179E684BA15B3D21C78D67E4FE344D163D0D3917B67ED9ABFDDD2C0F423447A8BE7D2225942F0467E284BEC03C3BC99F50CD22A0877779E746EB50AD4A8DA5139B800933E1CBC75E755DF466CDCE2E02DF51FDA1114EF76FD489A9ABA777217574AABCCC79604D5096078E25D5FAD0BB5448157DA864A6CA189D41146C9FA6C7B1C1E67A547F39C10946B105542509278BB79C1BD924491FE7E7A2FE2AF05216A8D4 - -89D9EA1D650B2BD7105387459C3BBE1C7E6418FFD18C220C096CC674C8B7AC1E19520ADFCB62A472A83D025330A16C13484AAF4001E78947812902B5075B2B6B91CA6C2C2F19BEA9C9B6ACCA4D03282BE744DAAA9899987D9B9188E7AA2340E9B694CE133954589AACE5801743B6A8B0A9E5140564D40C018C3541A2BBB741D5E9A7C6F43F26CDD05AD12E8593F85D454570DED23853A968565551A784E3D93DE9F89A3EA6B8FEA7F5605D386729DB48FEE5B5BFA3F6B7485159ED774B880082B4A78757ACBBD1D0CDBABF8A78634587F2CCD7BF43A659829BA570EBC05D71C8B213DFCB63FCDE2CF998DF2CF97AA8C24047D8EAF8901B0D47B3592912FACA8E123E942BE349FD74B1071F4B709539ABF43D054FDFB04116B46B841FB0AD9F14DC84D346E47DB9266FE992828EBE37DCE2AD39D298FCED9CA186D8338E7EAAE51F958CE15D721C50E4E5CC532CBDA95550C865B73AEF374130406BE80869EF1AF1969E80F15C3A2D79BDBFC023609567B8D185318AD6AC4195EE0F3A0FA5886DF06D881B3E7C393A7BD1BFA7281A21D40E81763354D43094CAAE3C77590E96DDA275D3E49AB377A851A2C8E10CCC586FBA00EDD7FA8712F05A5726E57ED7DCC0F05F34BCC9195B8EAB38A41D1D5CBC1DE8D8146DA1C2D6747D28A19E2B1FF93248C936C52FF6662936AACB23B1AD2C5B6D742C65EE320720A4B06EB4CFC1DB425A43C6074185CE08E321B108582BCA834D9B3DACCE841A45291F14AC2D82770B155CF3E6D0536A007F2CC81A5C3157B1A5E507765DDD4FAD1C3C3A5D5F79EEFD005EF688BB1932D49D547B8979937CE89084403475D4B7F3A6A6228FBE4CBDED1F0FA19AB6D03294D2F8D361F7887CAF77101F0E5FE36027AC161BC8F93C3F53CD430E794A2023A7D635E4519B39B4D62470A8B6508305B76CF8F428D845F98D2965C5CE704DC2C663C7561986741CBAACF70201F681C28B6EA3351AF4BA1F06884E6EB9EB878C186EBFEEEF3CE871E5C9A74CF0271628EF3AB99232D8498B8CC0E277FCDD17C1224DA065B20488A356620CAD1D5035A4B535871632A87956F19B11EB4DEDA29FBC0DC08D87B4C2B231154816573934A652AF5D1C088EA8417D3E9E6F5181339EEF9BAAA406A804BC7581AB892E341F8E96810F0EA95D8ECA5330FEBAED7E9511EA5ADED1445BD14FD74562E8410D068FC3F3A73DBF3537FC7C3F2BF93512C7714A6990FEDCF71932BF51BA1834D664DDE57D23698D24C0CD11AE888A83B1A35B4D5FE4FCF21FBA21D8604DB5D13124CCCD60222480F6FC328C9DD0D98FE67D6A1C238CC7C8E311B4BCD9CCEAF6BE318A76B2E400BEF2FC01F672AE135F684EA689AF9A82009B20EBE300D87650A39252080B0CFE61BBFA54AC801FE35A0E93AF9D2B8CD162FF1135896BF0B951A10C2473ACE3DFF78613641F - -6661CE6F2D774BF8DB1A4327ED82D421EB82BEE5C57336E9C529D6F40CD4860D3CF08C3EC4333A427EF13B34864E30A2383BEFA513055DA346E14DA21A7F52EB26A9F9851E1DDDDB239298BAA4F1B759344F3A22B107353EF448644CE564C329D344E1C1E90E612F7F1B859F13A772A7936261F75D95941898E2B5F28399178135424C134D75820FD1262F9D93C9FA298339622E1DA3FB6DF5006980A6A3C1C31F9127A68BBC4AFFD0AEDA54D961787740D1A0C07ABC1CE1B357B37BDA6041A75C2A9D02256F53984A3D1CABE36FA92A87F02440D4435F81385CA66FB01BB878B83885F749D5AA25F93E6E8948B96C242565D3017D0E4059D782E9EBA096F313CFF1D99157AE8B3E043FB9845353E9CFA3C80E3C82975C776EB527D1EA22504C746DE891D83C8AE678B45E124372396107BF597540B6A35E363C7876881AE50AB1BFF27040592DF0DA8BF1A2AEA8B4973BBFBB727B33C8FD8261A49D334A1169B4B89BD71EE5198312D0EC18B2D2DBF0C3485F46151616C961D507AE91FC1878C052BD8BB52C41F2554F6C8F0B6E5E6F539D3D8F05FFA7ACC44FA1B52893F95AEF8F3E15CC2E5C6646205FDB77C2E64234D5F884B64D87A94D7A516EEF556EA3689134E8983A848FE78FEF7C618894BD6A27DF1FED5EB67216E329D6AFCBBB1C05677214E62BEE9CBC23BC7A462C6DB1FD96345FF9A029B567B7D1BE1344FD9705D22A162E86DEDD879676405AE631A6B83807D6AC0CC0FAE0CA26FE54C877527AB073A58ACCF5DDAB92F7AE1ECC8B991AAEBEC5BC44A04508C0A6E7C6EC50DC1FE368D5634F4D5B6DF05FDA0BEC58AB1F0A7A8641A1F1A78CF7D678B1031A3A342C1B3FFD728EAA7400B64A743F6F01ABA335E58BB4410E8DBE9D919A142F3484B8DC4850B392B698DE792759511D66D10EFE3BD7078647D87B3B0848D225CCF20E8614C8CEB81109A1D822663A92260910F88067791ACE049E3922C7344B4641AECCF3A3E5EE9278E5038E74B542B96D13DBCD0C1FD239354AE4DC735FA7D8D207BD8045AE7160860295F5261FEE544B99A26171DA53FCC86D91FAFDF94D9EC1BBE2833FDF926F85711C58276CEF5664BB1079123AD6934E1575CEBE41C717A78B48D7B2B833B3FBEFBC4AE2BE0CAD3E507498F2269E31CBA22B23D23F4E1EDA4293FC48B6FAD5C9D35115511483D542A3C20D4ACC69540E5EEE99DFD6B08C0412D28F376966487F626BC03E07ECFCE68706FA899992A6DF848D1F880F43936E73DABF523C4B12AC75B9D1E29F433FEE91910CE0ECCCF2215606295088153A8E8D5BCCA9BBD916A0369049B462766F924A815A7539CABA1A83BC31AEB8636675E9B3AF0F0A5AF484132706903BFED8EE0EE6C07FBE469054330914EC2776875DC12E9D66763866E9B3D2AE2AA1F9FE20D445BAC0D79DAFAB70717E5FD6053C - -DD42BC0CAADB0D736939AFDABB5BFC6C297EB8F314AB7ECE7705DB83E8B80E82749527787A4AE44C0A0C61E78FCA311694621A8ACA11A313C3FD73248B039DCFF4B4E53F584BF3E25C4F575EA4C6B6845F69E4A642868E9C637BE4FF19FA559A95B00ECF3380232585CA61B391A80C679D11F2EACF647A103F1295F2423D53B9E77DC751DABA9BAF734E32553E533B2F80436F68AB19F1966C234877B0BED24E732C83C636C1D7D20289D4E976A6475256C1A1E41DB4C5F6AF138461421A6B630350E6939D3CF26FEEFD9322556110232366355FD0F913E2133AF4AB6E23208A9B1948C9137E531AB8E7745D6A19F762F75D66AE1997D7A7 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/HKXTYQ+Helvetica cguidfix -/F1.1/HKXTYQ+Helvetica renmfont -%RBIBeginFontSubset: RXUTPR+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /RXUTPR+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /space put - -dup 34 /i put - -dup 35 /f put - -dup 36 /parenleft put - -dup 37 /dollar put - -dup 38 /e put - -dup 39 /x put - -dup 40 /o put - -dup 41 /n put - -dup 42 /hyphen put - -dup 43 /greater put - -dup 44 /v put - -dup 45 /r put - -dup 46 /l put - -dup 47 /a put - -dup 48 /p put - -dup 49 /s put - -dup 50 /parenright put - -dup 51 /braceleft put - -dup 52 /t put - -dup 53 /quotedbl put - -dup 54 /W put - -dup 55 /h put - -dup 56 /y put - -dup 57 /exclam put - -dup 58 /c put - -dup 59 /d put - -dup 60 /g put - -dup 61 /period put - -dup 62 /backslash put - -dup 63 /semicolon put - -dup 64 /braceright put - -dup 65 /B put - -dup 66 /m put - -dup 67 /equal put - -dup 68 /underscore put - -dup 69 /G put - -dup 70 /b put - -dup 71 /at put - -dup 72 /colon put - -dup 73 /k put - -dup 74 /w put - -dup 75 /D put - -dup 76 /L put - -dup 77 /S put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94D956C8CACDD228A0D45D434473E147547351FE977748F0633067336578F86CD53EE48276C59BCD4F587BB85CD4DADD7C81892B0A824A1D825159D20374564FCE75002C24AD1C72B6B8790B57F76CBFA45A6F595E424D4536F25DEAE50AA9B0C7E7FA5D713F6D7B091FE8CC2BA8ECC68B61DE98AF978783649D566CE00B18CD0E70CBE3F66470B47D01A637DEEDD166A9E6E253AB090C06EC6A3F9596F60D5F34C7AA85869703282EF3796C0AE2111498D819DF0CDEB814A822025E2D0AB8EFDB37E172719FC1EAD7170F38EDD82D9462C78E1A44522AA1487E093959EB0AFF5B1B8FB46466A6FEEBC8415934CC226260C29D20E4F53A10C7E2A45A1AFA011F98AEF6024948239C5C3DCFA504CC7DFFFECA290BC16CF1A0E74A9D8BE169EE9DED54A151AAC3F9ED87C21252D8ADC80AC9D7FB69307F406FA4810F9903EB7B1A3B077FA4A8021364921414836281A26E510585C6A6FF3CC3E3B1CB9A6642B04A19F62EAAE727C738DDBA27C75C4E5607C9721C720804C10F9EDB2133D1D927A8EB014E210FE823257FC5B465845E11EF343EE78AE58733CE9996AA06E172B2A47B838D0B80B5AC790A236F586A5B150486E931F1700EB92B1CC63B0B10B7B7AD3C69C46802CA6B4D58BF87E016AA98704DEEEC10BEAB8121EEB1B176F545B5B10F4CB205F6199E88AF6DDCA29A82F39ADEDA9E8FF369AF888D47507BD1AF0852AF4333F9640B1EE1C6F32017D0DC2E19A7067DA666B644CEE7D0ED857F6A921FA4 - -174B25BEFF471FFB9F2A783A496B528926101CDF91406016C9246F6828E076F71A93ED0102FA7532E05B6D4D34C60A5CC79C4CB201DBB085B150EB39BCA8D8390E797507F59B0FBFB147DBD12B51B5A9915F127C8AE602348A3529519BE12BA968D98D8D60F44FC5C3520C736418E38AD04E2435FCEF0FD7356AF1EF8CEEEA12E2FA3B266E34E2834B27FB6E86C89971ED61DA31BECC6250010FE058D01212E11592F77028A58B0EAB7DDCA43E211CE164E47E3FF5D79AF0FD1B20E42DAF7980C9FC68C7E329D39B90C01C2DD2A41D8945EBECEA9D4D0F703FE0956939FCB71A6E3DF7A234560F9EB161A49183DD84B04CC7A0C2C92B0DFA4E06B1C6D38C9FFD52C122067CD0C2081161DF6BD508B3B7A3815FA921F90E28A179541D3167AFB8CD09DF2E8ADA087B957E3FBDEE420BFD9D36BD01455455314C595B69E6BF37D88D1C81942298E301447F6F8B5EFC9D6E391B2FD620876B37A69296C7B0C0DB8803ED1A23C17A38B3022ABD1B4B5FFA239998F28FFFF147BE8FB8869483BD84BA7C15CD77CBF0414857C41B166C30187ADFF85B40C4AB84A6BAB35B9A046BB2610A081060AF385E4E5F4793731DA96CE719168D8FA5719BFE8D5DBD7F8281758A31B6401870111CDE6B1724A0A7F5A469D857D3B9A40839495F9E60B72CABC84A781EC79777F2401A4AD98F8C82DD2507308AD110DACB2E378E9ACF0E1CBE9C85754E48FEE787DDA5B51CDE508B5843AB7399B0B6FE5631414188282E2EF793A4931488DE684CFB3A8A29D1CA926463D5BBA344D824F228FDBCE3B65E38AD92D39BAA431F1FD64BBAB75D3F4D2B240D21606621572219F7D32069D3EA11593CA858010AE479AAB345CAA156A3E459B2EEF7841AD3F000EEF479C20C2E8D4CDA725A4734DA3FDE95EDCE438104C659CADB7308CF0CBBF5506633714BA667EC237DFA65F1E6EE2A25B87968E26DA4A33B07D430F393014281A96C6F9885B04D1C209058156963ACD06FFBD0E9796CDB59B6C794C1564E4E34771B7D392D91C1B9A4936D6259A1D02043778B6AAD4251030B3D46011EEF1CF7AFAB5A94415F7161E1BC6FBDCF3A8F1B984A896090A49C8F68A95A318A3B4ADFCBFF873E571BFE2287362C01DB33164FE1F84AACD8809CDF0E90BE98D0C37D82B3267FBEDEB677068B3593FEA624218C9C2D481F88C7F14DEC9CB74EE099C854DFFB223100C6DDB12B302664E848961094B9AE6E7AD5B03E43066A91DC539325BEEB42B4322B5219DB9F5E8E1A705C27A3C6C90AE0A8A3B119C09A87F38BE9E25CD0A61B24CC2BA1CF674DFD97CB050C051D81FA87714F59009AD60638D53ACBA1B1E9EAC0ECA8A171E15CA61D56A25527BADD2BB3D8145D47E4F8615DFA52D3258E1D9182E2C043D20A25048A0A489BDCB1CD5142A4703562CEC7047CCE454BC00B92596BDC294AE8 - -6695E1241B8B7727EC3844708350AD680012F05AFBE8AE5B3D3CD7B89D0A6BCB5A2801C32E6E319F4B09AE90368B31C307082F1C06A69A47A35D684D42C8E9B55E728EEF1BAF4C52C17C518D6A39AFEF82F271642EC82E2DA643D59692D3925936B34E3991CA00E0987F5380CD79BD2CD92E8EBA7D3A404DF4D33EC44C1126517D6C57C2FD4478A7CA3ADF55C841A5CA343D63A83534DE32C4F5D9CF7FE42861BF1A906681BECC407B8D39C68BDA027329568CBC981BFA3B0E9E57DB77C5436F91A8797246DD831487617D8E66A788D7A9AD08B0A0F6B5400F8FA86EC722B2F53F13EFCA8788265A99190A10F43A5BB88746CBB34A7CC40EE0F080902F500A6AA06133D1373DAC4BCFBA317635FA0F328AC43F847C883F954006E2D73D771FBCDA82FDD561D473784748BF464F43727B6E0272456F63479D31A915DD42FBF8E57096E88020A34CD9DA612D160237F681CB62D9B0F1DB9CD322E63BB7CE5C8649652C794E659303346B00B57863B8CF93B062FA380125DBED985FACBEF20078BC9F18F5FE975D2F6868D756B91DBC5D2AFE6CBAD7D75E1C9890ACAA182A429CE6AFB4298410DF93A0DC41A37EC5A8F7EDEE26B54B1B25BA8C5B66807F12F6F52777B9C81B46622AAC6EC507213B46860BD86EE5BAC9FF74E5E3C4938AB07B58755F9D1BBFE9590E4BBD3A7FEE89FB1487FFB825B04CA1B596D12B037A72D340A15ABD0747C92CFBC8C6C3D25338E2B59ECB393AA3B05AC6ECF2DF102EBC015162680D20A90EA0294FE6C1496CE17A2E114523A36841689D338D5DA26E9FB9ACA22FBF10911B13F48EC351A9C5F2187180A792C6A9101A8C89D271AC26334ABB75232D00ADC8814F8575B65C0DAAE3EA2E92425C32B3B9C0E1B14365A57D3C20287EBD7EB71C90B866014F5EE187BD6158657D89A7E0FE88E251C131DCFDA6FBB0C889282053F70DCF20B840BE206357B408EFDB6D91C33AC22380337CD000730B51EE9FCB6F9D59916EE195E335C1E788FE637E744BBCF09938740D09D19DE2D3C5ABD91EF0D2CF2AB15218FB7531F0E6BF1297CE0FFBA4625BF08739F219E4FB27A5C5D48E5BD1F8525C42C6F43E5E63F5CAB38031F32F33F12DB2129B31F83519935FF672EF77F4955FF09277BD40592F32295736CC40F5161AB9295D57B901ABC2A4F315E5D752747CBB6704A1EAF6BB2F0A55B4F3C6BD59FE605B840369FC8BD4D87E35C29BC5E5098392C7832FE02C6CEC20A39EEE4BC2BA22EC767634BD345E060BB45E3C75177BAA233ED7E6D522DB32759DCA5593A40662FA87079E7BBD67E61C8A0671F479CA9A32581847411C00BCC233AD264E81CD079888153F73EC7D3D4CD471B73CB48766820287762621F1C3F31CDD3152BF035F3A46549F33C561E47D4F695C35EC4367FD77F9CBE8CCFA40B75D5480DAAAAE9CCBE5D6C68B - -0E7D987306619328ADADC99097ADE3FD29780E08DDE6E450EBE008E4D30A85A87C9269E3844043328ECC3BB330A982B8F077C77E7EC49A963AB8D132B47B83187029A07AEC10ADAFCEC55139CB193B2AA184AC2E9591EA5121BE1D2528F89ADA8246B66279C7778ACA52A70BF040C211A157C95427034723CAEB67AE8154D15AF62FD8731ABC9D96360A9A8FE154C6841C9F7AF9BE19662C7615FF0E0DDF8CD4E4851AC5D74471F80524B88598A8FEC683165D186F6CBC895C18526E4E9F7422C89FC9AD62DA6A333224B314F3E3F918CF21210F373150DB90E8071056DEDCC4B5EC33C4DB47A295B25786A4926F19BD085EF1C79B69E022CE9A64A4EF91445CE6441413E49FA47B5F6AC5CB6CEFD7422FBD8CFB5AA7033BFD40B28DE003E9A882E8540FB309DCAAFC855F8CED1F3E1FA863E03205BE30F1F731B618D9DDAEA392A1F371FE5426E721815C0D4CFBC7E0527D4F9972B7F282DD8973721EFE3429AC759C874F144913F133E45138BD1B2D221E3D0C94B1D68B65635F4F2BED3F499C156386DF0DADAC222791E2E794701621E4D13E545C6B58F787E960421CD5B52619A49790F095282C5B02F7FC6C092AE63FB150D2572F39CE9610E198D422B4D78B83B232B13C34C511C30328EB7F11F095BB3CF72FD8F8AD1234825CDC171A564FC654E62B5D2905CA8C1036DBAAE2A682F5B142432C2BB931C7C13A383DE62593A068B25E0B4314ECEB1D987C59DD89DC2EA00E2D499EFD9B69C0DBD7D353246F2CE5AB4662ADF0114E329B0223B47F670F8A06DD4076E634D3B626946A318B7470344D3D7F9F4237A46B36597065937AACA2C44E13275A75540C52C40F0B8034A4BA829469C80775DF2E469E0CDFB55E13EB9AD5C61936A4075EF4FFE8F69FFB918AA659FB2AD349F33E231A0C4B5C0433ADB76F22CA75540CCECAD89980E3AF14D387B75E8CB6647EF4B8C10EDBF379A5E2E6B2F87776A08BC7E003CFF9DF92736F49818856C2B79F1891ABEFBBE7ED38AE61416EF5A7A2E5625E4B057153BC4C228FA21106588DC5AEC1984CF92BB5C38F90DE795E925D5C38C1232C32650CF7C96B583B6037E266F3471AE6566F4A39A0BF67BD65E3F5C88E373A5F454BBB657615B2E7D52D3F6D0D415F16BF5793FED3F0EB2D1AC40B2F06EC446A3FF4A73F9A2A94203BBE2DD2A1730335CD768A037931A1D4879A5679A28FA51685B92166DE101FD13D8F5476ED2A60AED5E4248BE3BA507161DE3AE0FCFB1CEBEFBB359EB26B902E4A9336650BE861287FA1E40287AD4BB8CB075D71198AAD7D57A1A8CA693B17C1D844233995ABB9660078192294BD41CA626C38DCD11DCF7C72CB967003A8D46FD95B81C25B17CB882A2DB3473A6655EAFD68D311830EE343C47AE029CCA4D3377C403066CCB578C4C154E041BC4F2B19388EC26E9E8E2990F8 - -9478A7403163053EC0141AF89D9005523F6A1EBC188396A7D65175004338AD34DD3744CA77D92E1E032233ECE250DEB81FBC19DE79656C569C0AF171DE697A44E796FC9F671B49FF058CD7B7561327AED372C2DB1EC79504A5EB908328A99869B499AF64BE11AE79A858D4AEF4C3824750386564D19589151C1A59948D052DABBA588DBC9A3F31ED1708C84CBCE70BB5B5E3EF72A1FE3866CE2161DC2584F19980796A218B447E79A8FC4F67FC5E6E9A70C603B0C73BE72A463F0D41D0D290D3701147BF6D14CDABB5668F2B0218F1B35027B2414C13BDF38452151E87C0605001232166FC003C5EA78220C6D2EA1F5A62136BBFEBD8D8B3E293E86C4A6DB03C8BAE970027C135BC76977BAEEC1A8DB6218A23A91E8DBEAA2732F87F7963A9CB7C97D4F75F3C36C20E6A8500D9510AC5E1EC0BFD7EC0306A591AB8A6F99C5FF2D4BB9BCAC555F0E1D95E900BB05B4927BC1ECC73097B0195DAE3C79E73C44E988A1401AA38739C9B2315FD55F9DCABDF07AD6CE15F23C70813DB266F4D3ED5E2AF154120DEA216DA2C159D08D54CE711D5131028F3227637F40466141B9633763D968AA1A131A1AEFB11705A30A2333F581B47A7BC1B65CE9848E18B127A92DC2485108B6C4C6CCADF876CC41F86ACCFC8EB23EEB320CF0C5B5B0A0021326CD8E25B30077C01DA73B4DD8358CCFE107147D196E05B38CF29868C7185288FAF6C5D6CD9A5198CF7B70B7A5056B1C7AE37CE906F853188000AD83FE0747828D1A66126C15BEDA64CA3B2D14F40ECA1001F528752D6597097943B89DF3FA6EC83624250B07738129E73D663F31E4A932CCEDD29EE2AD646B8972F4EF08025B303920913659D6953EF93197695843FB1C1E74CBF6D60442669EFE69F04737B28772D365C0E3F909A0C07FCB688213DCBD5BBC18ACF3FB8301155C8CB0EC10085FC6BBFEF105594B751FEAEE587425F009EC94A52D9842DAD1F0125166A177B587A36DAFE69C9D110590856DFC765D8A78867790D323B469C17282EDF5419DCA0D531825452E0995C9A80013F069F4B77418966DF6A0DB208048B87410A40D2AEF9FC476580C41C9D946938ED2BE11C0CB6F11A39E817362570B0B0D83F17154B05A0C7AE6C7E3AE31AE85402AB79F2F3E0F34139B02CF6921EA584AEB44F4C5FFF62F74B66EA269BA612C17DE8FFDB48661598B07EFE90FD5B1F32FAE68CA9FDFA59817572917EBA14A4811DD472EF97CD87B677F15581DFA84512147924A4A0CAE427EE92F41EC6788CDAB054D5D363F68011CEC40707F969614C0BE6DC5479E1A2A9417B072DE664F0CC32B7CE6301FCE84C0D934948D514FD3FD9549D956380F9ABA037875F4427789DF322654B6EED6221C248574BE85B7BB8377B053345C27366D0FFA08C600F11D8BAD748E83BFB15B3262379A68625100D1F2B331DA65E44 - -BECA5107C691B396D38E42A67C2CBD147D9985714F6E49445636CE84D8F0A810A9953D5AF2A46496AB795CE4AAB5DD0DD8A2D0A4FA903614584EAFD5BEC575B13D98EF5F368FE0F82EE26798E84B0841B62713466DDECFA5FA2750D6A6CCF8A7D2FD2B1AB231515B4F7404D90DF72E2D0D45135D01D548F3A04F9E497AC593DC892D9164759276ED874996B6EB472DB5DD994C5DB39DCF03F01D5DE6FEA4FE83340E2DD45587D13130D8CDED328F394D43F3836EF9BAA1AE6F7B3ACA6AC49F2DB6D05DE4E6995FFF5BF5F659D86DF1BC97001CEFC7D977412060EC446B2A5BD6F3494EF9E1645AE7D128D9B1BFA898E5C26E542D9BD7323A36FF4C54931EC1EA053A3022FD713B0A89CCFE832FD3E3CF53B7178FDFD5A38DF43DA1EDA3355EE25CF3A87C1C460F25B9E3A0C957FF64FFE24C8AE085E848051CCB7097EFF46B7E93BD2ADB21507F9A842D4FE21E58A3BEECF722A78B967A2D8C5C9DD9DDBEF43BBF1F674DE4F9D7B7585E7302425369783039C4728EDE426E5B4378276C2322F7BB216DF0EDEDB1A53CAE9742B20386C00CA8C42D0B3E588C892A5622ED00F0C64B6D909DF7506AE82C21BEA3A4B34A437E4C7F179F199EF5E29A81E64F52BFE9A74DEFFF0977EEB8F264E8C4DB08F6F9C3757293ED78490709985ABB9BEC69B854206AF005E3D05B3DBCCDD0F82A09CE2D4A61A47CFB23DE5CC871976A78A743FCF8E53EA3189F38357E82039CADDE96214571A7CA8D5FCAB12F6D331D7E2BBA686DF5FD84E42F5887E41C48D06F242460A1BCEA6690FBFFD10D7816DD46B711394773D246AB2ED41DC713CDFB780C7F6836CC54C302247478151F7B4FD4483A51E3A14BB892814DC31FC788FF719468D88257D23951A24C62C441915BAE4F160CE88BEFEC1E31667F69FA9C43A53FD1FEB95EB319A479B88C72B376B8B54F37B41DBBD2082FBF653741F8AE869EF588F05B20836D94EC62FAF343E4CA2A74E3002707C0148319910DB25F15C12F3FC5D3ABA53BF1764B910CF711F71F41877D013369B887463FE23069CB294DDD753092245366A38A867D96EFD95774D90226B95F436A005AD38932167FF8E2F3613820B0BCC54C3BE6B81FEB4C236E40C18D2BBFC7556C097BDA09A3646D5A2879E63352F0F32D8B7E6C7960253CDEB81D18708536038B63815B61A14A90A77FAC27EBDDA56A058751A1D989D057DDD940B5C90C47F8E4B20371B2E8DF40752B91F7DB1A9CCD320B41F6C85F411A481A22A35C7B4F7597D2F5AD0D0DD97EFC6CB3D5021E982140F22C3A3C16D5EAEA194D7AF05E474ED8B7F422467CE95A69E89685A8CE1FBD2C99D0D6F51E8D6F31B877E78CD364CF43F72F56F16BF58BA8A3B8C7C43B30FA794D1532B54886FA5087ACC2A1797C85DD754A3B0D7292FA64109C104BC9C7C661453E363E919F5D9C8AC0F3 - -0E64A7B9FA79B6F43B42782B7E165EE81A347EE5E6B043695EBCDF2C4C7B65D2DD82C1A9A7D293BD978D205691BB7F043DFFC7BB73F32B708A9E40CD362D852B7B54E9C7F0E63A811C2CD35FD56B27CF2658D64E4080C7BC26B3236DC1A533B3138F9C0019DB062C9498E483A8704D78F775E721111263A36492134F0060D672E6F82DCF6F7C6106EE59DA8EC3BDDE51B606651617028ED2AD5CD9E5DE88761DB493460D05F6F9B16C196998163C9F8B35736C71E183891846064FDB1DB7B6A3B81E24D8F9E241CCD10AADB3C3A102F8C091945D0DDB75842B37662EA6A296E4C96CF62DDB92420D478E8A063985C50CDFEA4A8E86CB08477DAEC115058E79569C1EA1C9028190BED85D395F49F2549D5FAD2FCCA39C8A655F174DD3D48A523AD2196B1E5F7FE1E478D6FA955CC6825AD0876400BA717AD095B2369E02D68B6EC286A4AE5FAACC33E184E55A78E26FEE3366272D9D7D578DEC06A9EC446EDF4883FC00F4C2904DA8576C033CF8124007CC498172A7A55DC68BA41D88B4580951693362D792B5A04CC328E4358F568A70BB7FEF3AD2F04417107DE07E9E7EC3EEF9F0D6DEDDCACC0190AF118E8E490AF7F7025CA2CD5E1B6ECEA49ED4034C078D49161858F830CEB91EEDC9D5E97B20175868173C8F638117B39F344E1087DA7D0131489204A4FC3422EAEC40E5203EBBF5E378A1910505D3DDD861D014CB3716ADBD0D378B51E0F547567B3399EA462AE7D0D5AE77CE48D0FCABCD77D1B16FA1FA110E7B1DB69CD47B530188FF16866319EDC34353AAA530A1E4D95F74315F98FAA89A62AD53D0EAE675D3F3DCFDA4141CF8863AF6CC93972F540320435EAC2C1A1CB75D301931CAA78E464F65E0C554EBFBB37CA099E485C8884E11B3A5E09E62D73378638E33D5B1CC1E0B3E7DBD2331B8D48CAA657A45EDCE0ACD8EAAFE0C32A2B6BD85F1A3F03806B472D375A29062DE1420F70C4E8B5D6BA1D8D9E09A908BBDA8E8FF87BA0BD684C8DDC3352AD04F3CA10A8759EFBF329B2171114661F286E411A89F51430D74E5F7003459FA4E81B188AD0F619D5FB13B7F2D79EC9031E9DC1710295C4F9DAC2C0FED8D4C1F0468A552EBA4392166BB9F30256884BDBEB1D73A464B661D990B71400D91352161C889C0EF7C561E96A6A4C9D87A70393D94F1771132DD948662B3EB5525162E99133CAD8C9EBCFD87B75B71F27235B7F7CCC037A67AAEB7F0BEFC1273D8F6F5618CA219491B6BBE3C1E723BD01D49FBB9C13B35B7D4922E491908BF022C5D3EF6E48E9779A7328BF9903EFFF1FA5581C1A8008C50B0541C7225DB319636715ACF811A58BB84E6503F4682C16E110695A454383942C2093510DD5D32F30EFF412DFBB71AF97A3B24E982F84D3BE6D409804EEDB5AC7FD3C1F8612A146406EEEB791B7101C3355C71F7FAB0239CCB44FEE3 - -01E1D53FC1ACF8ECC74ADA19385466740CF26FAC903E2026E2CD18185A914418F927F0DA60405B8F9E2D33DCDB2853A273EF660A89B9802D41F61B72436EE12BFF1504BA61EFE9CAF71910AEB67AEDB3916915D2D128F8F3154896EFE5018DA27249BD4C32DEF033DCE0DB81C3F2B4F2E09E936F48695137D18BF38454CE0D74A154863ABC304EC24A9B458D7DD0CFDBF8C4FCBCE027AC3649EF63DFA0FB9186F6EBBA383F2108244786323D801817979282E281CA315005C132846A4A5F6DDF20294D981A6BE6504384B508D9A508A55D1691A6F0DF2D32DF9D8F13F833A62AF73AC5EAE7041B64E6AD8E79A6D934CEECD82C2CD16F4C182DDC7F6E5CD0AA5EF997BEC0AA89D74E2570F5483F55072E0B03382736FD7288BB19E959EE40A8806913D5BAE7289D3C4F7F46AD798E24451B57E913E6670DF70415A846CC738AB7C996C6FEA84336F44D445E3A5AA9081D4E07DCCCC52C21494BDE6E42D0A0B97680BA1023826B3DA7C44B7835221C20DA99A128D799467F7BB7F4ABA7FDAC570FA4640CEB99392C78907DDD7EAB38F1DEA453D5BD87546457996107F6EC5237E5B197F9EFB0663C62C5D6308852D69ACB4130B50DD8D223924303BB059DA965B56CB64B46355FD4A434F69333248A9A3E3FFD32053CF59115F4348DA829C53F604D05DCD3F9B30104CD73EB9B73B8F55153DD3DA388DC448BC9F93E163E29537E6B047C179184727200E084159F5CDBCF413956AB1CC93A2F0F6D9FA04C93599F785AFB4E001FAF0BABDC072220E11456C85DA4A68327C6DD076695F69031A169A60AAD1C73B36B4288102657923853BEA496EE099631062C890581CE9EC646DA34AFABA5924C8139BF5743FA6011743612F592CADEAFD910DFD7CE473E2445322DEF72785FEDC699B0B3E2779A669A227DEDCF06E106B120CBE08D17E5E654B4B24F343B8DAB0CD5753C9397634DEB2CE6FFFD04DAE58C5BBBCD8484741DB2E77718C32742E093F78DACC1439E0C7996115FCB90F5D8341D30F73316B6EEA302ECA49936D2E607D0C7B15A5A0CA09D478E9B4BE32D0D1A1927D124AB251E6F667A64D6DD23FDA7EAEDD2242906B219DE1AEECC47CC69BF42B557460E112BF8B9BF1F50D19304FC4A6FCB5938344B4BE3C5E2ADCE1574173451296037E1863ABBBCF388212B27272E2861D0DFC13EA8F5DA9C68BDEED61B1FAD3107E4D6ABD8FE5294BD14575AEB0CEAB0B429782CF3B94E76BC4FA43505BE2370268D99B63CA8F479B49839A62462EA61DA3503CBA5AF1100E59703FAB27C5599AC081E30A053DDC5ED822E745499CCD7EBD035E6FD18BAD7B837DE48C8101E09B96D861653E1A70456B29081D44D1BA6837E889A91F8C595BC376C7FC12B4B8045C2483AFF2FA99C0A36D98F59FC4A439A2A8FE5237120F74C4832DC44D59E225E5A133F3432 - -B00150C1CB909387315CBAB8D7594FDF86944377C6A5AAE3E34B39B8EEDDE093023F456D79717B8E19FB6507A470797DCE2C822E750B09712A176B998927B3759818FF2160120B84FB6323FE7BA5E90CF913C56F4864EEFC4CA0B6243095541A29DA00B0B7753E43567D866D7D18E31A7DFC25AB63E1A38BCF33BA2213A27EED5C505E833DF2E0CE2BDDF2EA8CC54D3AC1D148CF092D03A4B1B0C8837BA3BAA7CA7892ADBC2D4C463F17BC64152D49B866D2BE568EF6A2CD40F63D0094930F4FED3394D9B0893A3DD1109CC9CE6EFBE6348836DB8EF682AFAD2C38F22FCE1E97AEA3E4B8B249B49598A9ABE62C004F512C28B4C31B2BDEC7B691B0E852B4D9889E699EC71E0671C14818AACCB7F05F8C1189ABA3A60BA97CE74176B81F094371C7E85A789C2C77D22B63CBCF25C2074271D547587701CD33A4054281BA0BFF82A378898AD4A4F890141184CB67893F2454A059DB9AE863772924B4E84DC24A86BB9F76A6C509B1156684280AB802806F95D7679A47F7F6FF77B4C4ACF5610D17EEE5427C9213CC59A7AB32FDD5E7981327ECE9CF5F07E7DC555B24EC8AD4A71B60ED1C4918F4D52488B88DD8F37AA504E5DC02D1B6577EE67B86562B83E671ADD655FF7254C66C151D785FDA53E6FD38ACFD8517DD5D5A7B4F6D723DF929A642A7AA3A5BB610A4EA28FC23E687654A150A7FDD41CC18568BB5D8F1FF2AA76BEBD434B8DFE70538560CF8D8115EA9A2924BC58711D39EA37D4CD95E789832B61FC668C7AF78D86AE371449A6ED8A1EE617346CA5DEC739AD22C06ADF27BF323BB29DB25B22C720C69CDE72DE0853C64277B898B0072411C042112C50F6D42FDBF17D89A570FB97CF1EDE683739538C894630245C432F3460565EAF7DC7A270842CFD1A002499A3435D137B298C8561DC9427ACEDD7452D44741298BEB909A87826184F5C26E260C8E02B3E206C1CD034A6F66342EF5640268F5D7F56668DAFC7B4DEE8FAD2CE80C2FE7385460F3C4A764FD41AC0C66822476005E2AF1604A1B49E2F238F2AC98E6CEF1D750F059C8F3DA3496C00A4E56FDE040444CFB92760F17ACF5E60305CAEE31F4A5143A4A652A43316B3C0AAE9CE5607D1BC93A2F81E4EC3C6FB78B7A6D5B9C154524C124F20A82EC2018C78D68D63B8A92B4C467D9E71A3EB9477BE1528CC56C0F46D6869985BB9E55BB8A6F02D5D635B45F894F934D7B35C4D389CC573C9F21CAE03A9A3DD3FA62D683471B2558361CF5B20690253E2B46E8A73C917DF994277378556016942A2C5E10308E1D3AE9F77752E9E64C4F12AE39BCFA6536DE35A5F3FC50A9ADDBFE7E8C0DA354EF5E85F3D77A1ECE970B195550969C751E6846A96B6A2CB693302AF3C94D4ACE002EC8E420F48473A6FF239B55DF593076E6519B090CD4F13780BEAC0381EE672BD55078248782BAFDA9EE - -DEC1525041C14F1C50A18AF9C2483EF816B49324C81FFB39423DE6C2D73935D87D8A4B6C2C86BBB523DC4568C047B0B4B506283DF201901363F5D3FC4398B333988E4CD2D8A043D3923DFC1E271B1FE7C3028B7F58854ABCCB2E820FBD6344150C796602FB19C447873F9587ED7C4797E22801756F10C35BA9D7DEF2858FD40B0BE2660DCB0F42F5CB0025790362945540C2C4CB916910A18AEB849A9B1FA469764F8422AF1E196DB34C5CDE608F24C661C25F2BA57ED05920D35B2352988858D3CE4CDF39DFD2A761E35E6EC0DDBD2D1546FB040030EF01BCF01E64BC3657125545BD5A203A6E73729AB359CF246F9BF8538E2F22511A76F39882406C944FED7AF20A3FA3D5291012331FB9E857BDC08571A0BF627851D7C919BD4B04C7BE72F1FEAAA679F113EE63A7066321415BA4F8094AF8DCAF7555435269D57BE32526B01A73E687507224C79985AC5569A74A659213FBA6EEDFC8B8914A3238E54985C7E487C91400BD323F1BE97A192E4ADA694BAAB1992617153B534CA89EC245A914861C187B18273960ECD58BB7D4D5B4095708C63E6E7859D346CD0B515DFC0A36A07D175871EE3576CC149927F72D537BF01E2180A957B5DC8456F26186EB9B882D9B3A970B89C9E5A1325F4C7353A7FE2025D7D9FB59ABDB5B844FFC62F89198B2BEA03049435A53C63D83292C1B74D3CA15BDBA88C7726FCD76EBE4EE3DFE82227BEC22A21D9E1E53B6640B91D8114788B4138E8E25BE174077E995E61A6284BB85C7E4DCC7BD7A1A302FEF37593058C652020E7ED84045FB8375F2E0DB6F813103E400CDDDC7BDC1124ABA32DF6F55F653035B56EF98113B5A7A49846D15388CC763DFBEF4656ACA02A45011796A43871E1D938F683E6E82844619E22206D278BE2768429BEA9291792EAF6B93A8758377D647485821A2602AC7A596CF5027127E73D2FB71B8864E7F2826CD06F32EDCA3FBEAA863E230AA86E068D94EC694191CBEA7AB53044D5DA25BF2A116332D8BFE72A073FBEAD8331BE0A22BBBEED7973163582D0FB8E9F185F7DFC8CD7C55FC0A919C5DFC834C738B068E7FD6DCDAD1B80A9809DC6AF75EA6AC12F0A47962E2B25CE487A53E8EEF73F592C2720DA955918DA448C830B24DA31DEB7CCBDF963102381677BCCB0F15A533FB5AA83C122CB87635A4C5768669EB11032134A7CD56754990FBEFB2527544CFD9209052BD308BA0E4678DAB7E2BCA9F72FA4169C85EE8B088AA92C3CB36FBDBC4C46BDBA60B7CD21AF86ED8ECA76826C055E967F04FB8F7B89F4007F7AF4CECFF81AE264789EFBBEB068B60A3E8A1EA6D103850F06D91DF671AAE32E6468895784BC790C228FAA3448DCFF659790AA855119DB1A4C1AB75D820DB840A6BCB5D7DC9FF51C0DCDDAEF212E6F61977FA6170EFC9E2C9EA86F8DB47B47C0B49EFD99525C479 - -288F6539D3F7EC0B2BAA6C5BFC85AC2602F53756CC0D8C137C0515DB44F0B51AB1FF5402E5E6BD32190AA02F7CA40871CA733D51F784E3EAFCA6ABAD91D984BAD53BC850634A612E7B46D465B70487563D81A9A293397B904387180DD2927F6CDE1367E7C09B55EF5C448E870195B5012863D597243519AD0B204A9FC2D7916EA715115E0D1D3EFFDC53914710B7607BF55C7A12B534593CE2ECB83ABB66EDC08816A746B57A6CF4CDCCF23AB9BD1DD493F9C9B67611726514B59518A3EC4A35CE12249134C1DB5B3A16FCC4F5CDA251C802D89B263844D3DD1B7E699AE89C4BAB5D315EA874329A846FED785F3622B561ECA9C2DD5E88DD285E47FDDD2756B5B8C09938503A161DA643580A972433D4189DD6A4CA8158A49EEC1A5951E8FF01B79D51B72A50D7C2195E6C22465C768AEE5230BF28A29F269849987EBAC3BCF1FEF3A404E83F68B00C0094BC8EAF96919D109CF9C617492E3301646180E6D7829EFD9502BBD51B9D0E7A7E6AEE062E94E25E9988CC10E846A3D9FEBF098F170973D0591111D65DC510AB9EC7A879BD60B162116743F8D4E8594E0FCC624384E34AB2AC523CFB66E42A70429CD39F70C93880DA7021517A8145CD2EC6BF356398059699DB5A7C175F700B257EF9899026C896B78D13D67D7048102BA4192F851450F4A59F0DCA50D0549ADEA357ECCF85BFF332F161B0D493EE8ACE9A9C2BF35D1460EFC9706512177EC5084E461D220EF0D2B124724E488B307A3E13ED7F20E9A0237C5C071C091C4EEAA994E1E2A248A4209755E49DB210C6EC3895ED29E80EC29FF2D65B10A7D9A54AFFDAEAEA697E3C1081CC817C68F75ACCA61305A3A3329E01513A39B5E92010A8049A7E747A2BF809AA759EA573210E8DE01537232FE6F5C57430B4E55F2C88EFA9D27B1D1D31BE0A5DD9623B735B71C80ACB9C759FECECDED1BA9D6A9F30DE6AD9DEE81893FACA39AF2520B5D28DD819FA8536199893AADEC37D7AC252B14B5A5E905371FEA7EFA601ECE9A692681CDB049B7AE523A4F2A203C38A54A3985FA99DDCB1FA340347A1 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RXUTPR+Courier cguidfix -/F2.1/RXUTPR+Courier renmfont -%RBIBeginFontSubset: FFQRNS+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /FFQRNS+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /x put - -dup 35 /e put - -dup 36 /r put - -dup 37 /c put - -dup 38 /i put - -dup 39 /s put - -dup 40 /space put - -dup 41 /three put - -dup 42 /G put - -dup 43 /n put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B64DFC330C1264D9E86DB21FFDE360EA73793134E310C3576495659FA8612BBF809CE248F446F3707AAB5562CD8AC1C571A6D8D0D09B29355FC893275A99B99CA05C4503BFF7B51F9E928E2FEF91F7952F6FA2AB1215CCA35E50FA82240A653D789642CA89C657304283892B0E3E0040788AE833BAF987F1EC95598DADFB37FA0F4C93FBF322F0A9145A50CCBEF6610AEE6D1781AF582EF6ED1D749E5A3A61D6A1230C29DD4FE4FF1A78901C55A4E20C59F2393E3E0172CD0B549AFB61062B86104F28F1929ADD01C624D8F812A0CD6FBBC7211C887CAA4693BEAE8165B17072C6CF693D8BB765FBEFF3577FF807663BF8DED5DED05018434DD79BAB35A0568EA1D688CD23B0BE64D005F591C27A5160D07E856F973BB0CCD8BFD1ACCCD2B6AA754E734D159BBE157460B66D832CB08299490FE21A374F4C0021CF2DCE636051120ED0D648DCE2C868EBB0826AA33C322AFA8634CB519C54F38D26716E3A277FDA0B3A4384F6D60C6E7AEA91AD9A6B44B57A3EC84747B4A9A66D58E953510FBB8A874804D0DAC479D9D5DA1567E456695E66925412472DE61DC0BF7D0C9C8D536C940FFA5C24E1F7D85891920E309624D9BDC382721D9A78E278E23BF3ACD421124265ACCFAADDDAA4E2DD8DE57FCCCC89E84544A31D3263E5F5448F7D70445E9658FE6B14300955E06AB9B4FBFFA1ABE6953E433372488BD2DEECAE612F23A00EE3A3624EE23F2EFBA86AC2DA8D3F713AF9304454B0E7E77EAD888033948231 - -F699F259E13D48188ABFE9A167190B8BC188DA9192487BD5AA68712E8A789EB06F09B926029C85314040D393539CEB5F1AAE38A56E660857050AC64D8ED283B9154E621B851F8F61A5E3D83597A5FB7312AE3978F70284A4DA34E3BB3D1726DB14170D31D144764EF5F63DFF1CA2EB387C12A6368E0D81C359220BA5DF25C396CD449D1B67591A791FB6CCC9DDB7A42C62B5110DF4B7E23B2BEEB3EDE5716DA4DE5795E64515CE828C3D373A55480D8B747696321362348B9CD45DC9051248DEDA5F3E8B4444E66565B1767EEC9CE9AC7C7D5C83D099AD6DF42C966AE57321B1727C73BFC0F964F294C84FAF8FA0258AB17FE682895DAD7D1CFC5F4FAC095B54E212B7A4370B6F576A53D90F5258E6ED687CD06E4EB40C3838B7483FA90CA9EA8601DAB5B0F91FB5A6D764F8F077BB7FEAF4418141EA41B9B784C5572E13980B1C10859487C7F19C67410C3BCAD1AD2FE29CBE9884BF6AF8A94508EDFE774BE59E8CFB02B8E091F1F543F513251F9EE84056229B95CFDEF7836A54735BAD520B488F784CD0D1160527D93A2FB9C33381E22D2EE98069CDCC06AC24CC991D98C3D4C052B4BF5690411FA0D6021684074DA54080517CD826C0E04B3D69D977102F9C413F9DA0DA38C243F5AD40494AF64750E6F45FC6C1CB5E39311E8271E07103BFFB56D6CBED0DEC3FB86D4C26ECEA4D3D80025CA0BC7B79BF3E301972D6D3D458DF47FECA47FAC0FDDFA9941982CDF49AD0E18CE22C0599733B7079DCA3B19AE6A86813860A58BAED34930E58D35F54A8D86C8D499C544E8CA25F60E5104721D2BEA53F90848F029FB2B5474635B1F3043EB333338485296EE177C1F48AF656F5987EEB04FD3AAAF0059F8229DBDB3F2BE116112B56B7282CEB1D619B9C4FFB9C99D61A627E475A40DF1EA72389B11E3096EBBF16AA8F2B4D0744F460E36F7C796BDC34E78B7CFD3F56285D4BA022CC7096A764F3BAF2AB6E69F88A4DF705174D75D76CED4A0EF9292AA3EFBF428787A1BCB56FA93ED6141519C78558CB4E2F3120381D2A807D3E214F8BE35BCF6689F5FC1B84D0968227C3A7A6FC6B2E9510023FA0B36D3943C87967B96FD23CF6C9D6179C0F579132ACC620FD4B7DFD59E43189745DDDB441AB62D60D9C025B32A4727ECAC40F862D58C89EDC0105FC0C7A0694F274E952588EDECFCABC3FD5F95E88817181ABC4DA9BAC29F7DD2EAA9A0EB526E57F6BCA60C10E77F135FCC9C5117F8917666A054BFA1C9D468EB27137D5EEA5C50DE5F9BD3407F09E1B2A584D21EAF3B94A42952ECAB1FBD0390D0BEF932AB3BFBB76868B36C268711C995478F02D21E26AE5C59A2C0718FB8E9EE94D18284CA27B0D0C023AB752A5204134F462ECC75D6D616194427A98D18A1D4F735D0C1FF467B7BABE19DAE995653DE1257FA6385BE8E3DF924373CF2CC70EE4FDE6 - -3D402A0DDA1141369CC3DD06B1199E3C9F1E72E7C050B4CA5452E42A25F37A7BA4C1172A5192E24C700564C5A61530FAD23F0DF7B2AE542CD81CE56B0F858752D5930FFD9AD1C8 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/FFQRNS+Helvetica-Bold cguidfix -/F3.1/FFQRNS+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%#&'\(%#\)$*#"%'\)+,%-#.#-'/#'0#%1*02#3)[ 11.398002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 13.694001 11.398002 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -772 212 m -(%1*02#'04#'#-052#3)[ 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 ] xS -1110 212 m -(-056)[ 20.500002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 307 m -(!!!"#!$%&'\(\)*+\(,&-./01$%)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -639 307 m -(1\)022!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 353 m -(!!!!!!0-"\)4!567&89!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -516 353 m -(:\(;"\)<!1\)0!5!!!!=!%1\)0*+<##14-"\)<!=!5>)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1450 353 m -(\)5?)[ 24.641003 24.641003 24.641003 ] xS -48 399 m -(!!!@!&.1&!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 445 m -(!!!!!!0-"\)4!5A\(\(9!\)\(\)!:\(;"\)<!1\)0!5!=!%1\)0*+<##14-"\)<!=!5>\)5?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 491 m -(!!!@)[ 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 591 m -(7&%#)[ 25.051003 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -130.03999 591 m -(\(,&-./01!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -351.47601 591 m -(8%\)&*4#,%\)+,0-#\),+%#9:;#<"#\)&%#\)$*#"%'\)+,%-#4*#*\(%,='52#*,#"'=-%#9>;#<"#\)&%/#4*0?\)@)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 22.837000 11.398002 13.694001 22.837000 13.694001 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 13.694001 11.398002 9.143001 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 738 m -(!"#$%&'#'\(\))[ 27.347002 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 854 m -(:@)[ 22.837000 11.398002 ] xS -81 854 m -(##A,<0\)#*+\)#'==#\)&%#,%5%'\)#"%'\)+,%-#"*,#\)&%#"<,-\)#:>>BC#*"#-%D+%0E%#*"#&+8'0#E&,*8-*8%#:@##9F<0\)6#G-%#\)&%#H""-\),<0H)[ 11.398002 11.398002 27.347002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 ] xS -48 904 m -(8%\)&*4#"*,#%'-/#5,<0\)<0H;)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 13.694001 ] xS -48 1007 m -(I@)[ 22.837000 11.398002 ] xS -81 1007 m -(##J&'\)#5,*5*,\)<*0#*"#KLM#<-#,%5%'\)#<0#\)&%#'C*\(%#-%D+%0E%#'04#<-#\)&<-#$&'\)#/*+#%15%E\)N##9F<0\)6#\)*\)#+5#\)&%#=%0H\)&#"*,#%'E&)[ 11.398002 11.398002 38.704006 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 29.643002 27.347002 11.398002 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -48 1057 m -(,%5%'\)#"%'\)+,%#'04#E*85',%#\)*#\)&%#\)*\)'=#-%D+%0E%#=%0H\)&;)[ 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 ] xS -48 1160 m -(O@)[ 22.837000 11.398002 ] xS -81 1160 m -(##P*,#E=*0%#MQ>>RSSO#,%\),<%\(%#'==#\)&%#KLM#"%'\)+,%-#8'\)E&%4#\)*#TUVW#\(%,\),0'@##F*$#8'0/#4<""%,%0\)#-%D+%0E%-#4<4#\)&<-)[ 11.398002 11.398002 25.051003 22.837000 13.694001 11.398002 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 27.347002 29.643002 22.837000 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 22.837000 13.694001 11.398002 13.694001 22.837000 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 ] xS -48 1210 m -(E=*0%#&<\)#'04#$%,%#\)&%-%#&<\)-#-<H0<"<E'0\)N##9F<0\)6#G-%#\)&%#&-%D0'8%#8%\)&*4#'04#\)&%#5X\('=+%#8%\)&*4;)[ 20.500002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 20.500002 9.143001 22.837000 22.837000 9.143001 11.398002 9.143001 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 34.194004 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1359 m -(*#+#')[ 31.898003 22.837000 25.051003 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1473 m -(K+,<0H#\)&%#5<5%=<0%#H%0%#C+<=4<0H#5,*E%--2#H%0%-#',%#C+<=\)#*0#Y=<E%-#C%E'+-%#'#=*\)#*"#H%0%-#-5'0##8*,%#\)&'0#*0%#)[ 29.643002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -2092 1473 m -(E*0\)<H@)[ 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 ] xS -48 1523 m -(F%0E%#2#<\)#8'B%-#\)&%#8*-\)#-%0-%#\)*#-+C-%D+%0\)=/#+-%#Y=<E%-#\)*#'EE%--#\)&%8@#F*$%\(%,2#&'\(<0H#-'<4#\)&'\)#/*+#E'0#'EE%--)[ 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 9.143001 11.398002 11.398002 34.194004 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 11.398002 29.643002 22.837000 29.643002 22.837000 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 ] xS -48 1573 m -(H%0%-#\(<'#Z'$Q*0\)<H-#<"#/*+#$<-&@##[%\)\)<0H#'==#\)&%#*"#\)&%#H%0%-#",*8#'#Y=<E%#*,#Z'$Q*0\)<H#<-#'-#%'-/#'-6)[ 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 20.500002 9.143001 22.837000 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 9.143001 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 29.643002 9.143001 20.500002 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1664 m -(B8!%<&\)&1!C!%1.":&*+<&4D/..DE&\)&1?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1765 m -(M-#+-+'=#$%#',%#,%\)+,0%4#'#,%"%,%0E%#\)*#'#=<-\)#*"#*C\\%E\)-#.#[%0%#*C\\%E\)-#\)&<-#\)<8%@#7&%/#E*0\)'<0#'==#\)&%#<0"*,8'\)<*0#'C*+\))[ 27.347002 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 9.143001 11.398002 29.643002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 13.694001 11.398002 31.898003 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 9.143001 34.194004 22.837000 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 ] xS -48 1815 m -(\)&%#%1*0]<0\),*0#-\),+E\)+,%2#KLM#-%D+%0E%2#%\)E@)[ 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 29.643002 29.643002 27.347002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 ] xS -48 1914 m -([%0%-#&'\(%#T0-TUVW#<4%0\)<"<%,-#$&<E&#E'0#C%#'EE%--%4#+-<0H#\)&%#)[ 31.898003 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 20.500002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1274.14 1914 m -(14/F.&D";!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1520.1801 1914 m -(8%\)&*46)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2011 m -(#\(-&/:7!B8!%<&\)&!$G%<&\)&12!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2057 m -(!!0-"\)4!5E&\)&!H!5!=!%)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -564 2057 m -(<&\)&*+14/F.&D";!=!5>\)5?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2103 m -(@)s -/F1.1[ 41 0 0 -41 0 0]sf -48 2204 m -(T0-TUVW#<4%0\)<"<%,-#4*0?\)#,%'==/#\)%==#+-#8+E&#'C*+\)#\)&%#H%0%#9'04#\)&%/?,%#0*\)##<0\)%04%4#\)*;#'04#-*8%#H%0%-#$<==#&'\(%#*0%)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 20.500002 11.398002 22.837000 22.837000 22.837000 7.831001 11.398002 11.398002 13.694001 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 22.837000 20.500002 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 7.831001 13.694001 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 9.143001 9.143001 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 2254 m -(*,#8*,%#8*,%#E*88*0#0'8%-@)[ 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 20.500002 11.398002 ] xS -48 2353 m -(J%#E'0#\)%==#<88%4<'\)%=/#<"#'#H%0%#<-#'#B0*$0#H%0%#9,%"-%D#*,#)[ 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 9.143001 34.194004 34.194004 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 20.500002 11.398002 9.143001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 ] xS -1155 2353 m -(-5\),%8C=;#C/#E'==<0H#\)&%#)[ 20.500002 22.837000 11.398002 13.694001 22.837000 34.194004 22.837000 9.143001 13.694001 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1587.96 2353 m -("1DI\)\(J\))[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1784.79 2353 m -(#8%\)&*4@##!"#<\)#<-#'#B0*$0)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 ] xS -48 2405 m -(H%0%#\)&%0#$%#E'0#E'==#\)&%#%'E&XKVW<0B#8%\)&*4#\)*#"<04#*+\)#8*,%#'C*+\)#<\)@)[ 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 22.837000 29.643002 27.347002 22.837000 9.143001 22.837000 20.500002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 9.143001 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2496 m -(#\(-&/:7!B8!%<&\)&!$G%<&\)&12!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2542 m -(!!"#!$%<&\)&*+"1DI\)\(J\)2!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2588 m -(!!!!!#\(-&/:7!B8!%."\)I!$G3%<&\)&*+<&4D/..DKAL"\)I1@2!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2634 m -(!!!!!!!0-"\)4!5E&\)&!5!=!%<&\)&*+14/F.&D";!=!5!)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1130 2634 m -(."\)I1!4\(!5!=)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2680 m -(!!!!!!!!!!!!!!!%."\)I*+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -590 2680 m -(;"10./8D";!=!5!5!=)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2726 m -(!!!!!!!!!!!!!!!%."\)I*+;/4/F/1&!=!5>\)5?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2772 m -(!!!!!!!B8!G)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -318 2772 m -(18\)1!C!G3%."\)I*+<&4D/..D18\)\(\)8B1@?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2818 m -(!!!!!!!0-"\)4!5M8\)\(\)8B1!#\(-!<&\)&!/-&!G18\)1>\)5?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2864 m -(!!!!!@)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2910 m -(!!@!&.1&!3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2956 m -(!!!!0-"\)4!5E&\)&!5!=!%)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -564 2956 m -(<&\)&*+14/F.&D";!=!5!"1!\)\(4!/!I\)\(J\)!<&\)&>\)5?)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 3002 m -(!!@)[ 24.641003 24.641003 24.641003 ] xS -48 3048 m -(@)s -ep -end - -%%Page: 15 15 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: HCBKVM+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /HCBKVM+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /O put - -dup 34 /t put - -dup 35 /h put - -dup 36 /e put - -dup 37 /r put - -dup 38 /space put - -dup 39 /i put - -dup 40 /n put - -dup 41 /f put - -dup 42 /o put - -dup 43 /m put - -dup 44 /a put - -dup 45 /b put - -dup 46 /u put - -dup 47 /k put - -dup 48 /w put - -dup 49 /g put - -dup 50 /s put - -dup 51 /c put - -dup 52 /d put - -dup 53 /period put - -dup 54 /T put - -dup 55 /x put - -dup 56 /l put - -dup 57 /v put - -dup 58 /p put - -dup 59 /q put - -dup 60 /y put - -dup 61 /G put - -dup 62 /j put - -dup 63 /E put - -dup 64 /parenleft put - -dup 65 /D put - -dup 66 /N put - -dup 67 /A put - -dup 68 /parenright put - -dup 69 /W put - -dup 70 /B put - -dup 71 /P put - -dup 72 /H put - -dup 73 /comma put - -dup 74 /hyphen put - -dup 75 /S put - -dup 76 /I put - -dup 77 /one put - -dup 78 /M put - -dup 79 /L put - -dup 80 /two put - -dup 81 /question put - -dup 82 /U put - -dup 83 /underscore put - -dup 84 /greater put - -dup 85 /three put - -dup 86 /zero put - -dup 87 /colon put - -dup 88 /C put - -dup 89 /dollar put - -dup 90 /four put - -dup 91 /z put - -dup 92 /five put - -dup 93 /quotesingle put - -dup 94 /exclam put - -dup 95 /R put - -dup 96 /six put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C96B9FDE69F00666421E9567899230B31B98876E670114951ED094388440C845825868E8F726A1636F06B12632CE38F511CF9E7A64CBFA7EF5B64D1383F093F2DB0918D58239FFECA1D9ABA07413538897E628A5FE1B4FF43044AD2215BA56AD19702A056E415F460100F017328DD24A6F975A9E19857E7B8E38702EF523B015578385707147BDB4C2BE2D68EE90B018B39326DEE4B10958E9DE63757669AE7DCB2135F28AC7CDDEBF9DF7F98E1A5FB312D1DAE742D2569394B99AB623A5B09C8B4F6ABA89750786CFFA55891E9A36F502DE840CB4D5BA4B92D31B1470FF556AA6044B60B042EC6207CB1671099E2155DE7B71AD51A608AA82982B2FD726D99F7AB5172AD70A68011900F9E755D80672D81FFAA90B367494F9867EB1882ACDDF026B7E9AB55B467EB84E8D50446F1D1F7A70DA1B8AF72F4A59EA0C37BA38933853E98AB3BA92DFA9C43D2ED6F1B4BCBF924AA3DD8E8FA47BD748F06FF3D6F3B98561A3918C1FB27E0D0E80E3090377A14FC6724A376F9A9B224CF28539CE45494FDF2B11597AD275CEA99E1C2EA8CCD71B120A3324780C59F83A911ABEA927ECE390F462DBA27ECFC46F18563C561EEA525956C36C2F8DBEF53D29EA54E66F1BB811A8F3F73986D21A9F1088F075C21F91A01E968A66C863B5E58506CD2FDCC90F34B26A03478DBA13F670F0B2A670443C081382F4DB7845F83FBABC0896D4751CFAAED3C585C8666009DBBDF813CB7FB2F8C9B6E4CF3EB8FAFB3A5D4938EA4BCDA - -AA47DD71F47B50D764C03DDC945C85D93E46EC037141120E3FA35BA8632E33E155F2C9D2B8F54C338435E081C7747D890CEB8062ED524C418F6760CF91347DEFF3D9EF1EE0303A3BB38E2A4D5D32D315D7DCF018FCF13658D9BA6002D89FA047877BBD9D7B70BABC5F95EA79B9DFC5AB10063CFFE3DDF2054148C4D7F81C601C219A1641D959220F8CE353E3CF246AAA62217D4AE7E44AA8344C98145CE14203A2E57A88BAEDAFB20E7BA51F2BF731110D78C9C6AEFDC23ABB03C88EF7577F0CF4FC0BE429BDFAEF341507524A5DDE9EA26097745E2E55EB80B0A497EC9E478C69F93C130AA332E09A84B12F032A61DE509A932273ED0FD05F909147B86E029CA9AB699E2A32F03A92C89D97F9B7449D49753606B055DA09B472772CF4850DA800C9E167F1B04F26764CDE4890D1D7488C0E25D28EA6D9B67A0F5C18E3F7BA87E46DA1D619A71EE7354D794B0E357AB09093D1C43C6E50802C4AE1A40FEC3DFD1975956C28C923D0EF5E3C38148B536AC78761AC99A2F9D7ABB7A3DFD3BA9D09EDE81197F390832D114523A36841689D0F520E8329A02489B639B39E7F96214C0418B1C40EC9E02B0E1D8E75293EA302680040CD7B1857D8B9FFC2614A9F6BABA00CDE433F564E9DF09501DBFF8D1D7A2BA58544DED3CA3CB4A34FFFB863AC9672261FCD29BCCA5CAF078CB5E56A7EFDE1F840E0139C1301CF09E508CB9E6991EDBA66B38F10A1BD8B63D3E1F5A4C34945D236987A161F8776EDCB026DF61715B4E099F4EA215CDA8B0959AAF36D653C007F126E2668A4B21AD53148D5294680418A7D9011561BCFBED577D63ED5B56D9C2620EEF3C302F9D3DB64189F32A35745CD8C0C826B3374D8825DD01E742BF347BD7F4BD3F754881F62D58F62437F2EF2E36C004EA20D9506DA417B771C136745866821C5066EFEF5C215099B54A4B7B1C5F232E806B9FABEBB78818015D9B721C39892B1CC02CFA1F188C9C015C8387D923387879CB7B085B25FF9FAEC94785A1CEBBABAF93C1983F6D4D7B1A69EF7C8B1F2D034F3BFCF18F9A0A463C384475CB76085A0ADA1086A9E8908651402268932CC733788D5AD6E82F428E0CEDC793A6D363692D6BC131D89031908D45948D6AF11B280EC760F43816006413DFCEEF89337625B3D99878BA274A5F4CFA7F826A2CCE2B31A1166C91C6F865B8C723B957484A473486FA472A53CDED7FE0A21872B7F5400D16B4187827CB28B08CEC127BD53C452A1235FBBCB23F7DC496EA573AF1DBD2FC989AC1975ABD3ECF73E1C20DD2667171D54CD57EB19D59FC230103D321BDF965A682B07D0FF1FB413A4FE172CB8DA5442FCD9C8102875BE39AFCF1DA4826D3B2E551E1F36AC5D645FFB48222427DF62BC4205B05FBCB09AF32E0D0632929CC4441180E32D48A3FC2F041FA75DB880CC6BBCD608490902F7404E17 - -A09CD52CED51CCA2FCF009C802BE21D0B0A62B0200346EC5C401E1F2BEDFC94516BF24E1219E0E57C9F271300169589B945BF94AAFFE53CEC96236FD5E9116204C9D07696362A228BD5424486E80CB920459A44BE14A599E48DE33C3A87AFE6D6FFEAE4B9E7CEFDB50F193306044A5C4527AFB616260244012EF04DC788B0AD2D6E462BDB63D44827870D49704270AAD324B65EA098E605C67D1CF4F991047D04D94C0A769816B7AB0B254A3751756AD2714AD145390A58DB8F67A43EC92AE2AC75DDB381B1A19DF69A2E5FF91A39CBE6E1E24D90548CEBE84ABC709BC54CBEDDDAEEFF240DD9C60C8DD2D6D79901BEB5226D79CAB34A913F4D37D6D7C25A23530EF405BE5AE394AEFC2A61E66E0B9EE9A4C86595EE2188CDBD0DE91C8160CF6D92F35DE42461E83F1DD7154DE82E81E886489D6DA05442409B58B1739F0A56CBB98385F681103B75F4F283136899A227EECB409C339AF72D769442EC9CF78576F00EC9C4A052AF2096CAE7BDBB3863203127829CFF337870EDB56C46DE3DF242495454E0B2A69BB9D4874245ED4DE8D84E86E7BA6AFD6CFAAE276C7E230CA06A8BA16B27389712C2FAB0FBF4537055BF1783E33916D8734BB1209D028B37949A6A9FBF12952D376FD15E8FC9BC75DA3490C1C456B4C691481B8D1EC021E9DB16C9F3FC06CF045EBF9BD839D2BD91D065D9AD026F5D4336AB4F1E9FE12A07B1771068051B1BE8ACB9FB11D845E9152AEA8946B60427FA57F43E026BF52365E0ACB2CAF01A74E3423689F3ED3030AE3E19437425EE0D3FF9A1F1A3627AFBEF7B089B70A9C8CD7B94110ECED19D711611B73E455FB331DC0AB4CECA64586B1FAB74739261B79B70A66B3794C6C8CD536C1045B2BA71A4E83AB661638F574986D377681075FCB79A7978D12F039C87E7AF1477D606E942F5EB11F12D22D2D2420E2E713AC52E4FFCCD3572A7A5F70A9F49D2F31A2D16A5448A7663A2DB94AB43CB5A7E73143AEC32A781605F9484273E7C29090C2A485E751DEB8AD6359CBD3A1234F13B7D4AFC1C489B860D938BB2A2F6C8FF6BE221DB9BCD41502301395936517CC15DAA2B7EA4C0D2299A8833FA96FABE27ED3D60FA253D7E235736980A349BA8CC30E9A18E031E653A19DFFC26F710BB5F58B5276B8F1740A1BB8D8DF2C9BC3936AB02289C6D1236B69338D53D6A9552D41B1A410A4B9E130E67F9E324902CD4307DB5ED2F95DCAE1846C9A9334AE5995BE38863CC5E66A1AF23EF2FBB94E4C464AA590D5928B85D90C4F268CC741FBCB9E8FEE66A735E3B2429334514733C0F396CB4399242442E2042D48AA50CFF46884C9BDE1084A55677413B77C9B795EB22D6920FF6B35732210E9C129B8A4D67B32E8EEC3D6C7BD60FA219BF3FBD359D3629E7ABBD212FE276AFFEAAF1516B0A08ECE31065C7DD47A7FFFE90BA61983 - -46F3DF41A000F0AE7110626F706E2112C50885E0CAEBCA5B1521A525BAAB8DADEF2A04E148AE79104011830DB77C0C6ABB2AFE3987EDA2FE90F72A074649674549194CC8A656B1E858129211EA9FE80C756674E6181BEEFCAAFC370C21A4D605B40A345619F5B53CCF792B2E65DFF3B88BEE93F125E9CC207B2648301337C64CC8C979360F5BD7E4F7D04FB34BE1F42E062E744ACA84AD587164D4ACE2A5DA8E16009602A31243DA83D170907DE5C2BD2F8B9821341A3B5643BB140AFAE10E584D45112581476F05937C8FC8D0D2411F3C545088CA0DA46D9B836375B32AD94C69C7C51010EE8CABCD4F992EF5B19FEC8241D6FBCFD8CB221B9DC08AC10511087F11A05381575030C75264F2BE373B118D7382D52F7514B3AF2DCE7F916D61568BA174F049F75FA829602EE5CE5ABDFC7C77F5C068274F4105B4026EFBAB353CE6B78B48FDD6EFBDC2626EEE3AF8B07F8C85FF84395EBF8B305388B7C5FF09111EC9BFB01139C805C55C96248E3CEB2B34CAC54CAB115856EBE3ED050BC9008189562E625D93F6C384E039AFB48B8336ADAFE139651BE3FAB2D67A18877C9943300753AF8EA2D55DBAA2B1D79549DE88FBF2BE45CEAE08AE8307B5079ACED55BEF9C7F6F0F09ADEEACAB61EC22B4E4AA016B41521E0659D3B24A5BF6523705ECC1B515F240D8BB56648E2BFD6D142635E835BAE0F04A5669C59946BCA7FCF0927C474055A5DC563FE0F0DC626A8D0B52814C483E5D561B3EE8A2660E1CEEDAB29C5F4BAF950A66B3ACB68DF714156C1C3D79566341B34474281A98F3F5802CD831BEF370D9EC2B7DF2269BB92CF30C3B455248C6018F5E40612BE9A432C46F65CD05C57AC99A39A81F8D57402647827D041428DD5BE3B99B6D794DD319A9DFC85D2902759873AD78441A21538A55D66AEB2B9977A6355F24DC13B8E49164816C1776069B292CEB199556F05121DF3ABC10AB9D335E85435F0B7834C3E2BA30E0437FA08F9C6512C0EB8F4880B6AC00D6AF4B33F5E3AA8353282B4438B18DEE5F9A9F93EDCBAF88A484338FC5882309CD7B4B3A503184935081B670AEF5DD8A6BA56888130008693A1CE46674640CC9FCA61FA60C4EFDEFFAFDA7B35D796BCC16C8AB55D0AD4DF0DCBA66D22A26635E76A44E2F58CD1D03798585C9FB3AC1BE521598890FB68A77C1BD5B2E611201DD707E93C671EDE4BA8F6F2AAA6A8065AD973E6C5CCFA493B948C5DE3F9362C1669A832651FB4F4F68FB80148FC4BFB7020B40690620719ADD3149AFA5185A4AA09E44AA3F991552CA7464E6461E2C0DD28BCB5AA9F5B3427C94F93A2F98095A22024F17CBF6D7D5DA576AF3DACB27F2E86A91A9C57112E4A3F7A3DD62D1BE6D5030E7EFEBC5E42C6C9364E8E70910DB7E5A1EE959830B070016208ED6B33DB538DFFD3D60A0FE3B4B9C97571A3443821765 - -58CB85020A29A68BE98E25C7B184F76EABBDE3D34C1DCD298E3245FA5C4C19F55004E367C5B84A7A02F243C2D791A7C736C9D4A2823B10D32E4D15FF193B356B66C7796B81C164C37C4C3F17939DCD175AED771D9D1FC481EB0E60EB62E3843B90183B674C17065832D7F8292735E54B71C819FF4A532B3F325D2503E0AF8C55008872854B3CCB3DDBCD6793DBCEB0A3DC5A89DF79162E9EAD628CFC0B8EE39FAA8ED69101F8A7954DDB01AA5B655CA0F14F86C2A45E135F0A685DF9C4928C454737FA063C04DA77AED41E0D5D9E42A5C3EB3307ADE3FBB451B79C8EA4027C190EF6FAD8CBF883771127ECF1887E37EB4AEBDCD84168FBC10276D86BC14E1B8AE8D12BBB2A7107F7FB30B43DF0661E11549DB8A15819DFBB48918CC517592102776235FECBC863688B9FF06632B94CF1F54EC0786E0F2E75AB7E6BD3DA683DBBF682A569155C1A0FC2363EE31F84CCF8F591FA2CFBB1D4A871BAA2A569A1480B01FAF5EC8EA02CD14F4538DA0E87471C8030D7334F369E2B5A49DE6562B25B42A01454FDAB3B00E9AA038319765B13BEB3ABD7FAE08B0A8553771B0A54E19B93A7964A271D4ED4AD94FC257EF4A1DF7D7117D6DE10C053FF5AC1B6E9A57E2ABB8D9D39198A346D041A1C15ED0E0CB21006B495A279D64803871AEB492DADC932FDBD54F54C3CAD321338E183774F62E1B1C9A8842FB0DB58CE868FACFBC2C85EE1412473DF382AAD416A02926413554C8B1A099E539474FC1C503683F3A4B20D7EF5F594F37A89DEE2A9233B947CCEFB3B39F3DB21135C142808421ACA82FA9209DABE8391DC2F79E156F8312EACC5FBA5C75C9FF7FD88EF9AB77CD30E316CEFF4FD872E5BC90E6B215BEF1B7697B16F119FF8FE5F4BF6208813870B9D4F13B29833FC6057DBBA2C0B6EC619CA3B5963D9E3673F6D98BF3D56874AECF06C6D94BB796D33837D3CC2A183420517FF14E6A801B9BD059FD4EBCF8743753AEE55D271FCE5BFDD8B0950C2A9343E78FF3A6893F8EE46886BE4587A05D846904508049AD9987F7F0303DD1699005C7CD978CE3914073B5ED47D25153A43CB1B4FAFF92084626177ED9A06596B4DB775D6B4645BBAC33BF9484C9EB374C3F2F362C13C1D25060D11FBEA2030C4C3208052211008C91BFE42C2830465506854D100BFE9DB7AAA479AEEBA1C4CA48659FD1212A183253CF647D6191C5A865A41102E95C867733394126BD70FF46AD9469453F8D3A1C1F955E0881882F846B084D10CDDEB6390E52E08831B7E358F0A1782ED11087164516A55B1BD8C32EF74BA60D4294F9A30368BCFAE9AABC229CEA47E917676D11F9D153071630C93310AB5CF5405309F65B0C82171EDC346AC0640E61E774E8B8EA3510485018877025FAF54A574128C9AF6ED77C715C4843FC0C04C9A81781BE6AD62BF7DF832EC15018C7AE67C89 - -DA15231A3535B1F4B7F1E5173AE1F5E69E965BBF894C80DACC38FC54D0237E18A368E606F3ABD3CD01BA6712F7B7791332AF89648F99870B18269F5C9DB1502B91D075C8691F4ADB222056146DC092DF877C84E15749E8519D137A0DBA062860398F17DC1F6DAD2577EF0EECDF00893859F7A77C5E02AAC84039EC402E416A906105E000A2C281ACBF81D6828F6AF5421FB6ACCDD0788ED134B3CCC6B0998F19DCC951F6B0BD66742E63450771E92A7A64E5102FCE5DBB0E8408C9B1A9117A77066D9BABF8B26A565A2C980F32A395A0280025C7A9406448A6FE299AF4B190E581CB2DE42B4559BB1A59643B86D33A3649376B946CE2F8D1EFB051944DE3CA672F1854E3219E8EF0125E50524DB600817CE507D93FACE77EE26583B1BC12E687D31D4226F337B7F160F14254CE9BE3E763D6DE074B694EA2CF0B1F2962DCAA5EA0981E83F564A690DDBE3230A1E44C0DC480EEE812785F442AE8EB8BAA8327663E6159835B738CC5253A7461BFE82EC61382D9F3D4A7A16351A047B0C3E0DCE7323AB47864DD74F7A07276D2D93C6B1B080ABB6130A19E0F5AC21C1B84489D246E344EAF1CC5D13275D8755C8B2453D6C06885D414F9C5CB96650C62DEB0CE41DC3FA55DF966FEAA752F4F77739521419B9F4EA81C84E2C1BCE4C750BF0E1BEE6DBD77F62DB7D131C65B415C8D8CF6D030D716CDCD3EEF465A556918C4FC3F6271F92256F95BF4A72373233A7602EDE85537CFF01A4FDB2838B312462F62600E391CD9D3E206FE6A61C1B358E0BDD822BA7BA7857D34500BE707D320BA76CAE9AF407C99F0F9A2203B50E78E2974A05C2878438B65B66399BFA9E4B7022FCCEC8786661D7D08CC53946D682A218466D60A705B5A533797CC5F488F952DA33A115C4667EA5F65113ACEB07BE43B39D9EF2D353174AD129F6941B9F0C71A4D56B39C72B32819877C1C59235B35616BDEF66F618DA52BE9A7533B2D7F40598BA3CC421DEB7C0A05B3329A3A8E085E084DB8EDE8CBEBDF147FC83371650162B362F49CE28CA61C8883E5D7ED5FF47479D112665BDC12A838E04965305ED9C3920E7FA012C3571F3B82190432AB03E0BB048086E7F257667FD657CB8A8993D01A30361BE62421D736FF58D826B03D2F80FA3B125E4FA2E19514A46C6ADDC2FA2B9AB1CAC729C6BB7691954BD57A97149B33EF2E1703DF62FE2DB31AA52E4566CB495883FB6DC79729B3437EA2B3B0BAA3D32C4027D574B63295BD739EDE9D4573FFBE7180DA730A4EBBFD966D06496A2D3D4F47337CE2687598789F797CAE576637A710AA94279645721F1FA8B034D6795898DCCF63D4AAA2876E541653866D97BD6054000BD638CE87188B767F79612A6467646C4403B60DF7ACFE80880684AA1D92FEFEBD5D79EFB02818581577047F5D369B2FEBCFC4E5B21B6CBAB02378FEAA83 - -0D120FAA3F2FC28D626F54A7D9851421C7000E61EB411F2834A250C267C22F2AA335855588E4AA4842BBD26391A92AD8DB5F1651C0D7204796BB110EC7047F33660D257667363552DF83C2ADB08EEF60D53329A0A4B9EE4502C01F0EC1580554875869BA7173231C207B3B711B764A2BCB6A1A8C4955D752913F96808886AE2A2EFCB092F8F03B1BEF91E9EF493781B2EB4DB16622FABF16036F55309F17D7E4B3023C8E9B0AC93606E5F8113E6D0A0E4A33FACE36AE601EFC6983FBE14EE8DC275F0B1076D827F1AB6F4E068745C6A9E0B1E016E25104A4433D83F7555B3194C46033C809E6717201D0FD4EE8A30BD1BEE55AFF9163EE195F2720067A1B133FF735916448A54F5956C89155829FB5149915E3F037CC9C5201E91ED2003B96528D595E5766C505254491162825DE1E8E777E449EA4E36AF721697D10AA91905EFBA4AB8B376B8C5B3083B8BC56975B9B787F133D1E1DF1F32024E226F4D1CF9D0D022FE51758C3825FBD331BF808A366BAAB1CA407AC68BE3D8805973580D1D9FCE0151B8045A3A227D34EC2B82C8C2408E397EC966A1F0971668E8D6510C7F4C5BAD3E15D762DFE646D177D65BE35D569D3EBBAF51585A9575E6E79709D4B7B16053A4D73374AC6420F12D783852689FBF6A217D051E59EC3CCD699FCA6A71112872310A25BA5678A54364FFDB1068188BC30BCE5CBAAF76BB9AF91D667ADD3B01D01F2119991D0DCCF2CCC71C0F9A45E6B2F9108FE40CCE3203194863A668F52D9EAA03E20153EF8BCD58CAF29D8B6BFFE5CFB62556A982B8B42D928365159B0A5748A81DAAC12F56BB1A08AAE0DDDBA728361DB4163C688446D818EDF06B167B64F166E34C76A55E63A4BBD3ABC84A8D8227B51CEA7694B963ED61B6A4C568461EBDE665311EC2D5D881EB82E3BFA0D1C39F6A66692422850A2B01810C4CD49050706853B523A99C62D8AD772B890B3376E410622EB34DC730807DE4C4D9D51278DF3434A33235BD74F02DE0DB3EE1063C8377867CA94C092115E690FFD3D470E5DE1E58D14F1050652086FFE1845BAB06106BBD8D9A28F5589C52B01E601FF7BF7B03F52E124B54D2A84141244926F0315AABEA79C83DF0A729459CC84EFEDF6A0B2D5DAAB7F4351BE6B8994BABE650F46D9075B68FF5D5B26A082488C29FF3DAF07FF5A0540EDF02A2E80A00A6B58F6722056EC0500434EF7D8031FFE7882881161A6EA00D51DEEADB06A11E77D8F5502E08D8000F8AF97F25B7B73F018C89423FF08C3FA3E835D67F12BB05EA3FFCF7508FE4FD83E20520AA525BB5E32DA4814167659913CF57C8E2F414AC6D7E2C81B564C804FBE53F2BAF30BB82047F8E9074E68B45CC271A4D13FEF86F54C7B6E23773C8BAFD9B869161BDAD5D488A42D01801E685FF8EA459E2BAF0579915CF7EF8F4BA597EDEB95716E9116DAA0 - -E1AA1194F50A2DF37344B5B4537C570F4C8CDA27CE64809C02B89E5667D94A244CF3FA365B9EDBFD614AB92002D4695E87B70036395F8829CAF9B1C553647C0EFF571C161B60BE8F96ED14B760E46CFDA0CFB7FE0E7A63E88D7E5A6DAF1D4AC2BA32521D9F6120847AB685062F0D379F52F1B95DFCDF21994D0DC4A791E2495CCA3A8B8FEF9CE72EFC499B1CBA15D66BB37F5D9C655126D9DB23ABEA93DD6A12994EE5BFCA1DFB52A9C6B9540F00B4DDD76E6264CEC9BDDEE63727BC460FEAA68B9155C100DFC3423406B27E725101735B10A0FBDD8EC5377BA9E3597CD465D0523375C1456C2463B38463CF688C72DC8EE1FB7A8B65DC42D5A3EBE3A8D63D4AE47C96D0E996E1486B97CB4664299E307C6562A003EC538A634B8C08684C4DE5D339216AE12BD4EE0308186ECF7D4F52B7B3B9F4A446DE91B53203DAB650CCF2C3A8BBB4019833316C53ED06FFB1C77CD033D6B96B2C2F35FDF06BC744C57515262441126258ADF1D4A71D221847C53098641F39AB24843494BBD4A03F054CD3AB605DFC3712C7332A84D5459AED6A1B3519C5A1366EDD27E8AF4AF5BB9974201C7A19D0FC7BA793F19D42F5535D6A9F07AAF9CEACC418878485F047A2F9A28FEC466F2F2B9D021321E609B0CA7DC366A3D21F0E002ED0B446BCD1CE8435BC2655E28F59B56BD449399A6EF61869112DC1536329CA500CED12A0CB1B668DB01D70B6C4CC3091BA9E8ABE32280A79AEC44E44D7F28E7AA2E2F97D9BC74E037D8EEA0EAA524845EFFB8FE54857245AED1B967B9D966CCA534CDF9B21E26624F58903E45F44B7BB16604D692963A773FA182CBA91DC87CF8D6A7D85089628B448E700F1D9DD66446066B2D10D4F3757A68B47A22FF3E78FC927FCB40D6DA79034894A02E0848994918C94FBF6345D1C06204856E295209624847387C0E897F2579B61E5E29D65DEB9BCED671E7E8E3F11B8F812F8DFC8914D1B6E7D91F98B4145B8F77A392799234B2430C4BA85882FB77314C7FAD1F853AD63FB658BC4673E44AF1C4F3B012AFA50BEEBF6DFACAA9136FC666A0A33AE466E559D4CC4129C75B21CB58C2682100E913D934C0CF6B11D7B892FA3663381D77DBC5F641D8D23589357870D444DC508FBFEC5FF4F2619CE11AA2422D99C32F709125A660EACCF8FAB6031821E05AFE576C92E612D1B81C6FA908183096FC57E4A8F09434C70F148A4808865581BD1E95D9CEF25B92DB4A2FFD8430263846A95AC6E782DA67778530710B52923720A4A5F306CCE9FC53B35CEA0F216740101DBC4E6D28D61D33361BDE1EAC4B1A5FD7A07F7CE5CA608CC32D6685ED13B106660F7DA8B8C4C439F8039EA6E94C4BAADFC63A40376427BDDDEDC35A7A4076AD2E9FCDB28071E8FD43F586ACD0C47045D44F4E426936D6608E7E66F5139BDCE18AABEAAE552491A3DBDD81D - -93439800EC099F390EBF22FA3709DC967A9F861C77295A89CCEA75169731A5DAB7DFD1EADC49446F631565F898210BCD4B8528A8B6A33B4184E41BDB18630F68C44E8FA3C7A63A6B7A1257368D24A35BADB9FD319CEB1E9C7248B8138FE9A7D90380F36100BAB19F9E5B5E307DE5E5BBDA9F8454A056B25216A97ED8D1ECA5CB3AED01CE4CA70FE4276B166AA2B53BCF31E1DF8886FCC0B112517C30D9153E76A68DE4F03E83929C80CC41D6942E45FFD238B7EDC9581A25C92FC2A7EA88AE09395D1F0B758FC838B4A9BC23CB63A3A3CCAC0ADC4B0C24A36BF085D959738C48686239718043A7E8C4868F693567B2814472DABD3C5622BDC2BCF711DFC733E98FCA97B141540780BDA739257856B468F8DF85A25FEC234D76FB03AE384EC0ABC09CEEC20166DB97C7C18127C61DCBDBF090AE5962D19DCDAC3C37831BA537FA0FE05C836E9AAA5B2EE511A2C2867F96DD675B9805DBBB457FD11C9A931B7BEF95B5F370F674617EB03D506F9CB2844C45A0902C079C3C4468A12D4D09F80E9A3C898A045F582E0B200C6F10C44C084F71F341D4E9C9657B5F07ADF30DBB5548ADCD6DBB823FBEA489A9B2EF21E356809D16E95345B398A7DB563D9B2392E85E30C07ECE7F30DDE2D062F85BE5B34A034FBF4CEE441B5A7879925C846896AF0D85CA812F36BB9A11F45377715794018B329C1173D709BBCF19B75466C71A465F606BF6260DF7B9E113F708B7134F78904BCD06E7357F1ED74AB689DCC78FFFA61C2E5FA097E988625E3B82B87B585681CBB28965634FD1D9C24D2FA8346486E1D58F8BCBCF91CD3DEF26424039F74DE997550C9DDE2CB06FE7FE14CFC9418B51F883AFBB51DC3685C38F934CF2DA1245307BB4 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/HCBKVM+Helvetica cguidfix -/F1.1/HCBKVM+Helvetica renmfont -%RBIBeginFontSubset: NXLQTF+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /NXLQTF+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /d put - -dup 34 /e put - -dup 35 /s put - -dup 36 /c put - -dup 37 /r put - -dup 38 /i put - -dup 39 /p put - -dup 40 /t put - -dup 41 /o put - -dup 42 /n put - -dup 43 /m put - -dup 44 /y put - -dup 45 /space put - -dup 46 /dollar put - -dup 47 /equal put - -dup 48 /g put - -dup 49 /hyphen put - -dup 50 /greater put - -dup 51 /semicolon put - -dup 52 /a put - -dup 53 /underscore put - -dup 54 /l put - -dup 55 /T put - -dup 56 /parenleft put - -dup 57 /parenright put - -dup 58 /f put - -dup 59 /h put - -dup 60 /x put - -dup 61 /at put - -dup 62 /braceleft put - -dup 63 /E put - -dup 64 /braceright put - -dup 65 /quotedbl put - -dup 66 /F put - -dup 67 /u put - -dup 68 /period put - -dup 69 /b put - -dup 70 /q put - -dup 71 /w put - -dup 72 /B put - -dup 73 /colon put - -dup 74 /S put - -dup 75 /I put - -dup 76 /O put - -dup 77 /quotesingle put - -dup 78 /comma put - -dup 79 /backslash put - -dup 80 /asterisk put - -dup 81 /D put - -dup 82 /U put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958CD97D0053BD1790ED66A68A35E59880268A83745F0730AA68F4871781CF22E6196CBCEF67F32A36D3C030CCB2E3DD8EB7ACC96E2892F239D2221FE774B74555AC17BA13A7D895A96EC5A7DB2E602C9568D723F5DA484C740B7E6A03C0699A65BFCA666AAF988B30442493D47EEDBB21864B1A028886E383B9B6669FD42C71FCB2994D4BC26812667481874A339E7C5487112BE3BE8C8295D8C2D29F3D2A89C7DEB5E7260E02FB8BE70E02DE1DE1B9122ACB9688FE90388F3D8A9DC58A68F6E880FD63D6EE84D36C057249E56A7AA768273034894A4387723000D2C77B09001996B88CC83FB3A294A29C7E5AA3515067E05CD69481D43A4018DBD484BBFAA398FB80EC6B3914E8BC96F223A94EAE357A56047FC51E696EA3F48B9278DFA52EAEE18AF518E7874B745CF795F3176EB8A8B7FCD07A2D497B2A79DF2AC462F0A4CE89B88D72A9243F5F85A619638327FE6E25E9EE30F7CE5B00D40CD8299E1F189D60B761D10037CEB8A526ED574F49149BCEECED7B906881AE9590C2C198018916075285CBFB0AD5CE9A2957C68A9167A860BA135258CAF15F50AFCB4FCE2843965F1B1F9E066FCA90F253C60CB038C8F9A11579D3D13C070869F1937696BDB1D37C5D9E32BFA6BB476217FE4E8934654F67C192EB613F42020C16D9177DD1DA026BA6317CD8EAA71FD1B7FD69A5E31043DA6DE137B51F3CC583A92A1D0E41DAFC567B7620B4FB163B9A9390A9CB9F7D8ECA88EA175497FD75555BCBFEE7F95BC4 - -7A9A005F25DB69D3A883068C8A31FD8BFE3FB11791E5DCE335CA7AEE1BDC38426AB8C17CC96236D8C07312AC8E0F1B4065F1D3F26E89DE5A9DD90259CBA51A48F83AF59A5536F4E43FB94F39B1D6D3AE4735CF41E08C0F1175CE647AF3C93C279E2B583B98CAA999B83CD14112D0064D7FB7E1231EA6AFD84ACD5919883938080261D0FCD6D0C66FA816A9926E7DEB08BF524FC1D3408BAAF5169FBC88EDC1B34620419746FF34BD0CFB7E9311D936086C6DDADE803F45F863441C518B5D5B17D17861A2F487A5AF5F82F4F50E425B4666AE871A3D780967836887B0BD01258DC620CBBDEBA199B0D22914F10AF6F45F8129CFD970EB804A4644E5FA91E9BBAD1B8277ED9C90F0402487EF3492B082FDFCE6D4281A1645AD9E53489A630B8D891799F6FF6870CD50E700106804D105050DAEFA958F5044097EE5182CA73B4750D8A02FC958545453C038FE659F72C6DD5DCE8A351686B1067AB9ADF6F823F6B0241D7700822CFEB679CE84082807AA42B6EBFBEDC21C4C440B972E22D2C9E1A3AA64257038184DB76A58B569298EE8468775FA77FFDD3F6CF1BA8A9F5613F71881DB742F86947C6881A082F30C8518C91D1C651E534468389A06C9725D711786417939FF05BAFA4414ACCB1AA3823E9144A53385D4FB6C5DB0B3E8308CBF1DFC4318D43B66499150A337E43DE746B337F8F6F838C90CB0A2BCE74BBCD9B3961BF80A1F97F904A8D8EA45FB4DF78EF637C6AF968FC7423209AE9F673CCBC3E7E3513B08D1EFF1B4F9A1A9B6BB732885BA3A482421DC752E68E2611B8E0A205EFD26628FEDF49C8EB660F50911226E65532685D45B866C4F66C47E0960E1BE359D73EBA14215829EF316A6FE43E1D5BA66BC9B9EEF2322F16028D5EE1F52CEDA6CC38FE3DA813A1FC4838CB13BDF0A1DE7B0E528383660E5D9FC1876BDD62545052550FC23E5EB98AE58824A188000C0C0F90DF6E2EE87F0CF97B3B7A4E475BB3BB5C334CD4739C461C6F362F51FD67FBD08FFAADC3C8798BCC2F833AB0411F0C9FD2946879F98D0C54778D3D4BB22D7F7DD210E6CB939E0255046A048CC7600F612DA8A6BE03AE90A30A939E1DBA2C86D7C0B977DB9F27FFF74AF6645DB1AB2DACCE759F4E0327B574BDEC365C489039108A4257DB09111F5B071B26D2A36AE5633B6167BF1E9419FCB630CE1DFD07284A4F967E2A2DE045AF8006504E84080179A480DF53F170657D207EC29CF2F49CECF1C680CA70A7D93C2167EC39EBC185F813920F1DA912AF25F10C4F537D3DAEBCD41023E84D0C7A6DCFEBD7FE9E48B305CAE3234E00738E7DE7A6E7381BC392A2900CE8C682F19120EED6735A0B85FD1E2F1FEAB2FE11D7A955BC07F99B80A46522CA74FAC1D9C02EE1D48D33466D3DDB058488017E1CDB36F456301623E72B28E0AD63CB0CB9B5D9B0C44EA5E3118DB - -4CF1614B347056A1B56F112C597D42BCDADD46F687F361F717BE11C8C7546C9353F7034452C33E1B4AF61FCBCB71F05005760F59C6CD127FC438671F15EECE7E7CCDA48C48091C63FCE637216360022F06E86EACFD375B1F8F24264B659BC36BA158A4A1B423CFA9EE66BBF1417325D0D4632C64FE57BBEA65D25FE02215A65AAF4355B9632CE28D0284267F27666A8D8D1AB3847A9AAD92CD2CF9F44096A12B3F9FF1DF445A9D80159E1E9838CFF36ED21E1ACA6055B14790E54DC3CAC8A59A13B6F5841060F177669477A3B4F9BE1ACD21C40D83EC681DCFAEB776DA9042048158F84123DCC448FFA007FFB788DCFCEEA92F5BD38387B28E1B51E32A44D117607AECD7FA63F90D207AC9F84292B11606D60F31CFC0B5DEA410C4CD201F23578762B666F1F35046A5AAEF160A93E11EC935B1A035995A52EDAF53CA7789CBE7A64683FEEF5C7BD395DEBB3CDCD31FB24030BCF9C73143F6E3815087C8813083B4001AFDB2EECD76D79ED28D54C45E49D26968AF2145BFD8264CF9B9D1E598DBD044AA4E459A2748C44AF5BA7661068B51DEDDC98716B017E843A54B0B43DB5648C586601C920202D3C9CAE9FE1E8A2F537F25ABCBF059A7FF1FD5170488F42183554886C84F158276B717C692A52598A7330261064906A0CF2768052997865D6FE8EA75A405C17C2E801B8F216EEC632030231B0F5D5FCB144F3E590AD1711186A27E5A069662622D4A66A68790A3E5741B9FD08C9D72634C7E9D52760F92F732506B3AF8B25494DECD51C22941F4CC188B4B4FA39CB501C3B5C95CAE43129D0B073932EDF9BC37DE1D3BAF964F192DEA194DC3AF6079536E8ABC94F2F7790DC82C1046DCE6354B60AC004795464635559B1150FC981EAA2134408192EEF229C2018E82AAA34C7B392E310DAC60C82ED19C738ADFD499A0110457BE0D11B462F08D40EB330BC625782F1263B44EF9921FFD72F6976FE676F51E3A4E3FD7414A13618D72F3455AF98611B589D6AD2A6202997252C68A27EBDFE9B23CC53550209DD1B6D9160A96D319FA3842B53FE60E1652E11E58753346D7B20C2052170B8BBEDE4AF38254C6F1410F1E0E3B263A761BB706322CDB528BDF1500E5A26114ED4E7F5C6D42B0BE31DE8A0191108FBBA67437486907367D273D8B59BEEA6E23E8CEF521286D01F0E32F090610A942631F40085360302DEEFED86DABBA5DE935E008A8CC55E93EFD811B182BDA0861901CA01ACDB41AFC45D5D1217B643778AB9FE0E8E78FBCAB4D877CDA392A037A8F9BC16C058A9E66610DE40335BC7D69E6827B315938DD15C2FFB6ECF00E521DF14597648E646F703D166F14ED0172FF76350336411F9CA2B9FA4C70D5A7375CDAB3A7B9251518A8C037E5152B406FB630709C6F7A5353C97CD4CDDDBECD7F1DC96C37EA623347E7A830B08E90B9BF0F389F - -2ED304D9FA519304FC5CF84718F85BFF131B0DE9D73E5EC985D49E46709C16167B8EFEA9C8411454F493A567C2D73A18DD1C9F820E167F6499D03DB7216E87FDBE6CD1B301FCFEF0529C97406A717E0D96740E73311E614AE7559D9F719FB7006E46345521ACBE055DCA0450E0FCA71E39A5616E90538D3FB6F56F6D9F830A5AA77CBA11322ADB65257EC148C6EA1502AA4CDD9759069DB496E9464E88F63194D5AA6FE6FF3ABB4FEE97D267CE19560C7885816628E77FA97B29DD56B43DB9E10D646618124C0A2E342A0F52C8BA2535AD6FBF6A401406228331CC7D493390B3D8CFFA46863215C49AC0657ECDE3C27500CEA5D980ACF3F684760C54C190D562C844C11EF9D9AE859182DCFC07EFF1B6686F3CF53AA0F97E0ED9B8B9D1D32E97025216F13AF6797CCD0EA6402983244F9120FEC06A5EA5EF0D9A200706F9AFEDDE56E061F9369A289FE71520020D0EB73AA9ECBDD1797750A8EFCA802DC0A99641F1EC888C42DE05A1C4F24B96E3AC8AE50BEEE9B83439C8E98E5F52BB98DA032D13FD83C16D016692EBAABEADDE042F799C882EB42EBB529524B9223E950D2BCE72870436D9DDB5A1A27D4BB9AE487F002FB8A60884FA6A3017791B1865DFF486DBBBC5170C8143DB55C21DBBAF2EB4430FBC6E2FB1FB94B2A2579C35D659F23716E78878057A547D1E7A198145870BCC30A8A2E78DA5DB4A87A121CA3D2F1FCD6EB58A7357440F6C87288B26C4F7E20F529C935F327122C89623EC56B3D0277D26C792E91702DA31BF378D53ABA88190AB4C9273771760E1903DFBB234C0238C9E01D0895E7F528909384C67C5FF7C933F9B84A8F4AE9A97EFB073EE11492B4EAFA1F836E86DBB2049D6BA2F53D731CE590F9C2E3173C5DA7D2E90E897C0B9066643CB0E4C38D5ECA88B8494E8BBACCA411A11CEEFBCAE9BE574610A8D4D5E609B9FC86544F0BD411311B01F0FA83D9AE84047855A5CE5DA43AF467A5E95FBD4110F658C1885C5FAE429D05653B03385C73A7405ADCA55A654F8A6466A791FEFD6C44EFAB9B378DD736D916AF77BFAD31AC427FE4CD217DAD1DAD4450FDA176A77AA1F6A940DD4E85FC43C78ACFFFD6F15098D6AA69A446CABFCAB550E525F7768DD78EFE5B74A47AB27AD91C424B808AFBA5E89C3D1C3E1DA7FBA15442CC40AE7361C10E1CE3D20AE2633F43364ADC9025999367526ABDAEC117F81CF6F434642CA2848508565163177CCE5130B8FB810F83C5F77A8B01C9B4EB7252BA4FC9DA4C05A6FB6457A99B3F1FC725965CF3228DF69C163DC47FB375A94130EC7D79E9C5246CD8A174E14AF765C38FBEBDE0FD85645B465D5514A68CAE5BABCC15C688E1D7D6609576CB8157461162BE0DA3E21263CA18AA2675FAEFBF43C3529BC745429DB8995142E0A76CD84192FD78000770A2A05B68A2AAF605329FE791428 - -0B6CFEC364C142EEACC92BB2B716CE387C45FE46938282E9887FCC9011134A75D7419038ACACD59E75C13AE4C4C5CBD2A6190671E4DE8B178F72ED0C845ACFEAB698898BE4012C98FE2D1C2F347ADD1F82E570729CBAABB7C2B02E60BDE1D4F3A1F02B71EB66093BB88299AEA1757A0706A343084FFBDF8D5303F1F0B5266C8AF5761A9B8D33CBD24E6A567DEC0A41ADD1E8CE2F8CADB4C2D8AFD3D9C08FB3F8B563C8A3915380FA38F6FA5D633010D75B91AE4C70D7C54756B0196148BB3B9CA99191B6C7BD875BB6B0E2CD634DF0931FA669AA67A37A10390BC07F634FA5B051BC409171694D936F37BB8EF70B98EEE1529169F8E81CC8B3695659B85ED3E392AD8E3684B74A860FBBA59936C5AEB4524B22DA0A67ADF540ADEF9A1180263A912D67930E228171C138D2D3DA88D5A4BD4B51468F77C08AA5CC345788357841045C75D4352E7E4E35CA8764F959BB30845510C07B848A900368CA0241609688C0C1EB1A2F9B4588B2F42FEF33931B5BDC40403D0F01C10D8097E5F81CB1DEE526FE6ACED187DC4B744CF49D21109F9E5EB27764B386F3FF694FFE3B23A130DCC2BCAE70F42DDCA54D39339126CDE1C740BA94B1A4C2468166D4BE53EB64AEA2E166E78DD83B90D2AA89EECFC8E0CFB2D9448BDEF8F1BC2362A6E1C3D8FB3CC92F87339E3DFEEE45FBE9D7447D6071657719F31E5AFC94EB14D788914F0DFBE4453F99AF04D354237C6D93F33A1CCE985F61092516FD01E03B77593102BE944E5F2F98D4575A4F03842E51E973FA9C2AAEB56D0DBD8404232987FC1B922357FFAE0A7E298B5011F13FD1675BA768645B64E993102318D77EC98C6162D62A90BFBFA38087B2CB07B5EBF4985687E3E21B28C8B8F9B808113EF77132294201485663F1C3F1B9D2742BE3C5EF1AB58A82E3EFCCDC123289A7EDC7A5D6245150649BA4E7C6246250E11593D64B67FC7D2B3BE418E66BCECA094335688F7DEA7CE28EFC71F29443EDAB8D536BAA11A9ACED72DB0BE0753E8DC8E32675DB44781C1DD5B3D4EBEF61E8972C3D545C362933F84329C587C2DCCF1869D99CF1A61D687D0BB6205CE0B55BDA1D86AE5F08B9B2AE7F5FD2AE648B7EF88DFCB72090B327879522D2D7F7A04BC6B42032439B3185B819DC59DD1D173E6283F09878D77DC36B5080C4D427504DB08076E61392CC779480011522E75C25FA83EA12A817A1B83FF41EE4CEDDD85BC447DAF1A606FAD24F6013D8D6A909F2D0B554749970224C43B0BC90FFFDAE80169C936B74C390C73496C7FA7BBFE8B3284C1224304D94889B0E5F7D3A7DBB31D4699F02A162315D4C5F3FBE37624B2D9C59B7D43BC230FC13CBB07C344D82DE850E08F6C1190590B28B3BB1606FB4EEDADDD07C737F41D227C5C4C7549754957E3042B0D34C73CE9877CBA814519AD60A6435ABD3E28D8315D9 - -34D1ACE701723F30CDA6961DD214E9D61CC9B7A37492ED821E12649332439B2FA48075732F38F8F559661F50835F65ABCCEA4CE1A456392259AF24EBA74A1C30B94D997609DA40E63F6B7A3F663483CB8A3FC55917E7823BD0101A9BC5F613DE75D3C8F086062C8E8E1075B13A0937ABA18CDEBCC1C2015EDAE552F42497BE1BB0D138700235520D4F0348E163B14AAA8419BF44DA5DC862B138E773CB915DAABBEC895E6A436510091145BB39E20A6ABEA827BC76A3B28C69E0CCB0130BAF851B1A0531645D4400C9C771BA86E67DCDB9549E1519C83F8F4B605D3D65BB8120100FADF56721082E91F1056A41D81710E935BDE4A2236C92E00E658756A3F594158E1386FEF71D9D36D95E478C69C01DBB9B0BDAA9E661C7EB3A1AF83E65B025979BBD42D8D209A99BCB51D75CE7C5CD90D4AD8E615426DEDB7BABC1FC0285C9CAF17CA1E4065ECB648B708CA06D2BB663C49BEC7348E2F925D206F4D3BD42AD3FC57D22C84E05A84C57B3DFA96309DE7958A5911B9289280F95A6DD19F40574444F352D2D09134FF7298D11A31A16EB400234F06F6CFCE3003D99FAE129BFF271D259414C710D5BA8846C4A7A7BFBCB87BDF49595715DEBA073F10F23587EEE1FC35166527874359D09C7F37E88873C04A96DCDD37985678F29CD006800F39238EEB53FA432C0BFAF5ED8B677BC1A8CE1C41F4DBD976BEDE461D2B349AFCCBB04C2A92857044A54527D31D86FB3AFC7B314C4D1477812F7246490C59C14EA87C587066B7291283F12F39738AA3E9CF51ADD8396C8222AEFB1AD30113A6E5C83418972C7ABB0BF86B9BA02B808E807B09B1C0F05B2D74CCDDEB706E94753071CD7EC3582C0C0928871215287A6BCD1C78894021AE25E180CBF2CDC8D52EA0E7F49E444FD6588676D3D3E26C14203405C4404E6E763D85B8A2F02FAE618195F26CA9F49A0B13718D56E5D13B1D7BF4C14534918D6CB97AE49A424EFC9061DC5B606F2599C808FA8A77E3B87441D1DC78BE59B0C6BAE77A52EEB690DC7ED32FDD12C39B0FFD440FAE65985CE8A19246E713E59AD6330598CCDBDE604E2213C55448B7F4867319FD922393C95ED0359E8F051B7B5D06B2B9D247BDA2851CED09175C9365D1D772FBC2EFC1F3E737524F077AA4525CD7D98146939CDD7F0527E2F77D36F54F2D3C850BCA93B9ED4FF11B1ACA9E77E0B653AD02315B8218FE6E36914D9BFBD5D2E394A3326AAC624CA093EF55DD0DC88A477E53D4E865014EA05C9D623D4F8C911562FF1CF29AF6FE06E76842B91A6CE626753D51B79D33161494D43D009F2BDF7F0E528B856CF8D81A6E939EDD34B7C190F822349412EC66AE95364F6A3BA0921D42C26A89162D6C221A4FF6805AB7F8BFEEE2BDFD7392FF04B9BD1702DA21733F170225BA260A33BBE641430F0BD795CC173B508C9747307296A7B - -77AFF203B873FE6A8150A739B43B0BD013CC5E9063EAD96EE4FDB5F1D65B915D0418801EB67AA4A7CDEB40C343B869BCB3AA9603D7D8355EDC796C4D1DF18C3EF48A1EA3ECB83512B92C1C3A52781EB72AC540EC36AF5639E052D2FE20BE86525F12F72188C7200D4D3887623962A43D9A1BD51A0E2F13491E31721088A2A208016C0E48916DCC87A04FD24934E215DC4684A77A7819C753FB26B5A16284906C03FEB5E4A8E567F59DDAB05FC5B3C7B983C69D034A423F878C3C283C02CCF51E0C8148DE4F7DBD31EE5C40CD118B67147A9D4CA778CB9B89CA045DD4405503F30E058E956F3BEB0249006FF895DE0B4FE2BA99CCBEF3EA72153C40E6F3135CA8005DC6B120AB5EFA5A458F4DF52C9233755BA9BEC99A6EE936F3937B432CC3C128673ABAC86C01BEF0084D151A9767D0490C3624716B42043E435831B464D756C6A44323114FF957766585B103B0A47C1E856F9CDD38AE27DDC7E9EDEA77AD2FE159E51F275F16FF9572376BB3C30F151FCAE5CDD669C64760F7E65503C030483BDF036BA269029CD802B8B78A8985202EF6ECD3A03BC9DB47EFF2A9A17EDA68127206FEFAA20590971423A52F65CBFA2EE87781A88CC968297F1A4EE2752C6A29474F13EB617F57ED15C8E8FFE08001E6BA5AD14AA2A7763526EDC44C7DCB67358309200A9B898BA2C256C40CFBECC5A91ADDD6DEA5994A4D49A444C7C8892B6ED136A47E07A9FD1A82F2B70EEF3D52714D5C31661679560ED7333D3A2D0CB14EA360516DA5696DF498ABF619CA70E41BE79416E2CBD05E0279182B00D8A1C762CE7D75886BFD9A75C0969116797FAB72661B512445BB38B13D0432D62C47AA7BBC17053AAE6DE0AABE56A58A93387885605BC5874FCEFEC68EF3F5BE4DD019B54944598F4091DCAAAB78EEB527B93D65EF6D00B8881C83A4E3E22F6C1B9EFDA7FDE61DD517DD92C525B902552CA98954BD064C86AA0B2A60DF163EA1F046B2DF19467558DEAAD2AB134C441A11CD83AC2AC20EC51646DDF02ABB893863827100B248C07AEEA41BF168FCBCF1BAE3C31A4941B1350178E961B19B8D79B0F2A536A97087C1E7FEB4E404A72894A8A6737CCA81A7050861E664764165F744CCB8F945F07F484757978A630DA5BAD0990F879F964C184BCB9C2D7DBA929ABBCC04FE63B843C9EA9F6B7AAA7D8337E5C9610A162252C312FBF60F801A17B8634E8F01AE7E03133507E65244671FC11B486DE2D9B3B6E9BCA1A05451B1529548C93BC6468952203796F58D9417DF5A23D631E882DC17FE3C55AAC02DB7FBFD415D48045D33B674C8626C70F8D47A13865B5058B428B6034906A22F5763614D81CA7C34B3EB3AAB9A76380878DD72FFC75A0331724AA0A90CAEADFDAEBD9FB473A26F68D07736863E6032E0CC6C96FB4F246D6E407D1A2D55D3D71434D4EACB6DE62C - -CD923BCC685D1B2602218212ED31745C8F9BE6E5D9792E981BEF0A061A017B17DA824FA936BF4ACCE5A6343E633241C1A3946548659C74A09CB6CB66651216F61EF7D8437380EC2B894C5AC8F6A338A5E4B592875E3DA00192EB162853CFEBC9601C49FC9917D52FE026BA84A9566A1ED0ED8141B8BDAE87300178606E33823FAFAD472CD04DB8F23691ECBDD8308F1F7AC38217C14EA4C9E53679F06C597F302612FCF951AE01F2F5992B466359E98553EA12FB30635F541B610EC15ABADFDFF20CF4B199593E828CA2AB76348A32FE991EEE80DFE59266B1F1BCA01DCBD2881A4F24B36557B39E6E44DD8CE73D28FE241BA1929A8A21D8F3A569814600D1EF82940F1FDD01541E76E36622049ECFD84F2E76328CFB32AAFF24A4D871BF50C577909439AF205CDC2F0F0BAAA3E90D6BC4072A4F7B432ECAF113F64E2941C10091956B5137944F0B471C0C03741167307854FDAF0A8B3C433CEACE49670061213D2F80EF6765FFB1922433CF796A136BED14945B437D540218FB0AC1677F520CCCDFF50E811CA0BB33CC497691DF810BF74B1339AA1DF4540A62536B9070E0528E15F443DE47E9D92B5513AE1D6F7062A4CBB3568853FD164B688B8DD20001902A2A3FAD9C0CB2581AC3FA7B37875C7C8E04659ACC47C4F619FC6D847D75D7D8A6C6EC487780E33E7EDCB0A47A4EC424202394494A6229A8D9C96257324D4514C1926A473D1B25074BFB7FE8D9FD211E7FEF4E6B525A7CC85EF2685D7884D50BC0218607A5A9B9E65937140365026CFC58002FF7227D1D23779D0783EAA1B4FB86C448F49A75B7DB7A333D5EC9088A93A7863DDAD788D3ADEDB5BA4CA3E58790550899DFBE817502C74F3756A348AAA50A82D9D769BADA3EE979B54B337E1D0D8C2202933B5BFF0EDEDD538056533F81C00B573C07AD9A85EFAD8EC0B4FE23BB96439EF848B74FC506644C76B8131C6BBC17312CDE8E0A37D18018D9D2CE31D1E4FC57B2504DC9BB8DC8AF355BB65246E2795C61A07C2FF86A134E78AEECB700DE093B21E1075B6470C0FB82A9BAF0DD50AA67FE44A59352F046B18A4DD98FF979050F42BB872BE011290C1D0D3213DF4FF9663B36A802CFF0F6A0CB4D7B2A1BF6990117CFEC588CE648473DCB1EE1D3BD28A67D33C9DE44D1CE3214D2654ABFC562E9854CBA8BF910376BF89B0BD03AFB3ED8C28EF4ED7DB75DCDBB0D9CBAF7B04E2417EC76513822ABF9AC94A821442E4CC677B9FDFE6C0BAA5DA06912CF67F8A3F1ED29AFBF8E8F814370F539A91E61583EDB803CF7D76484AE93B10F7268449DF96CE78ACDA265A6421D486A2BEF9334AA637DCCAFBE1469F04CD2B3CCE95C42C6B0FDFD6CDBF30B288C27DE541748A91E152ABAD0F1710CD1EA16D22727793B0C1EC93F407FF596DE93210B7DB5E130F6ED81AA9B6CFF548E0A6FA419D6 - -DE676F1236E4CEE8DB29176B3FBA105DBFCA3EE60FB97EF3071E32727FF5A2C880C19E8A81429E97E5F21F50D76200C9BD6B172F43A70BF4B489F2A0EB07FEC3A9A02370559CE5CD6874438AB76D48EB54C3FA0458F3C25535E8BEAC97F64D9085706021A4E0B6B72E71F058812ABDD919F50D1AA2CD12CFF9E3BD45535090087DFBB41B600E79A7E029A3278C1726C8905D5B73C50ADF9D5BB5B3312F2785BF39E13790AD938925CFC1E89E79121BADD6A7D0B60080850F74852A0197268305A246DF5A78FE80379982754E3AE99965E215BD12B2A9772B078A828C49F0F55833B45AED4CF5A9F8152BE3A9258D3C8D06AAD169DC1FF9F19F7D991ACADA344B28E00B7EF2F170C1D27F21C1034BD08C8FB83BF46B86F6D16999F97B6A69BC5932DC649D67276FC27A13EE2BCADAFF27124DC2247C8E117C762B761562AA55A4BD8FCB810D9258ACA44E993E9C41315EED990ED843568E638AAB7418B45779A6C73685DC9DC994566B313EED7FC52D666AECE8A076D8CE7C4DF298DE4B672F41C8098C528D56A69394C859FEAD6B4F0D1725E68E1A5B5346E17912C15B8AD37DC03D7C0409F346E69E63CD09A6D693D2679A3B74A0AE5E026DAF979C9D3227D1D240BDF68EC2E16B4E8FE1D93716CF138C354FA119C3BE45564A8AB60E1ED42BFC863C8D86CE0D788DE47DC5ED3C829FD52C175AB84D91A12881738EB64E17CA216BE9C659EEC710290CBC18477782E9F4C0A74EF6D2D19AD93FBB833FD5CF2482DD74716FD904CFA4B7988FDEE8D4899F5DBA21B47C5AD5E7755287ADCFAA5D13BDED807C7D30855493D7C644A07350F9025903CB3CB2D772AA6554F060C786977651BF047FED680EABA978FF1D6BDD4E96E0A95F172392304462318547C0747D4AD0EEE92E6E64957E96BD85EFC6010D56C55E83F6A730988204F0C5BA1232291DEEDC9451DCF18AFE1DED798CC702D18DBB9B2ED9AFE915E4017AD2C313184467626196146F32FB61C96298D11639DB38E775484F1435315791A1F9B777A7E1BACFBD8B47353BD73EBEAF96092107F25A8C33754BC7784C16D8AAE852ADDE75168DE4DAD1E1F84EE740543A049A52C28E618CA67B655CA02748BA87A0C5BBBB9FC615829309CAAE3F0252C8D94D14B574E4E839764D5A1C3B753D6325EE2C58BF618FCE85892D9BEA41D864D576A7D8636F56E629031CA2BB1D18E4BE2E282019697B5A00A52B2BE586866CCBB36CCDF7835BD86AC9555EB5DBBED844760C29A7ACDFA51D4C5E9E95F873AD845EB058D71DA00E79B0853D4B9BF562C878C1B82CB3366E6A00CC47235FDDD26ACBFA9D8CE4120F84DFD133DE3163316729CC1E8571B42C87C912BD77C2852E203202351A1C811D9AD089B2F0399A4C2CB7DBB977E28191A99BAA94DAAA246221C48DC48C8734FF985D4ADC6C126FE3D96EA3 - -334E4361DAABEF85BD0B9CFBC691ABF65B3B74FE6978045E3E295D6CE872DB21B3B3FC8C7DB476F62DEF6FA6256F95A2647775234F9B028ABC76009E5C9D615885E562416E7ED61E8A5B0AD9E181D11B8B4192784C10FA95B8792A2B59FA038DF790FD9771092C03226BBB76CDA17119B986078AB28F14B9D96470FF9F5CAD6B1A4A58B838FA9C510E72AAF379589FC1285EB670E52BCCBF33116089BE39955166301A318DEEABC6CB211ACB703C96273B1D9FC99FA0BDF791491DFE0F4329483D7AD23406C436187E129242DF62FA34FAFF55655C7D3CADA5D73A62F8DB30C548029C1298D12FBF445775C809C93793CBB146B63B2635C9C57F7AC248439B8163755E74596F5E294E59D8622B9DF7C7D8415B72D2A7409FD7D0CA8586A517F734A909E7A6B0BC8505E3DDF7DCE96F599CA179E94C19D30D84168A4758DCE92339A74ABDE437266598263A183DB9A5418731BA6BC6FFD853B084D5E771C4DF6C363B29AD9700DB0EBD2408BA4DBBE984EEDF6FB8EBBEB171965AC9674F92F67699E0E5A396F794743BE25C4AE54E6D7D6A3EDD02F102B85658B36F8016744DFBF69EAA61F9F537C9AC106319503178CA43070D3CAB9E110E5BD3ACA6A1992A3C5BA1AD447FA960D912BA4CDD22C783924660BCDE9ECEA7FCE06E28143282DFE72F0800BDA7BF861367E8CFE4ACC7EC479658C8A064963C7D01442D6355EEC77016277E4F518ACDCB4F0AE558BDC321D412416ADC027F20D73A680AC3FB346C5F1D43061DE2FFDD79C6E828D96F3D0B2DE030C1F7CF5E80A814E96368FBFE6D4F01CB1E5F24D8725DAA01DCB2501B71CD5FCC6FA1037F881BF5443DE8A3A698D1FC81D296830C99A749BD47712DEE5B4C95CB6BADDBE90AABD26CA99C2C53E64B15865B9DA4366174612534164BBEBE949BB68AB0F872EE71F6D95E572C73EA708FAC366C8CD65F9BA89CE9B6D378F512F59027900AB5C55DFFA30E85ABC9482B47315DE54D71727A7C981DC6C277A0E21056A8D504190E74D66D0C558038C690FAA06C99CC28C11F15AD97C50A308AC9FC8675206A1C9A08A564576BEC99B973B9CE48070572F6FE9074D1CB6B41ECF062FA0B0B81F21409D2B791BEDF62471AF5A609BA7D915ECF25283DB8571A3FB0F8B48D5674E284ADE64FF90A32ED5FC4135380FD7C8583BFA3B768527F66434436A3333C30FFF611F143C2F039445BE36FD66CC77D8BF022F91CA6B1ECE0A2C4B323DE1BEEC2CBC1053D194D0AFAFE866BC1B4DCFD589043D8A418817927CE89D8434602325819A199C6845A4AA4DA792CB3147496019F21C5CAD8762BF6161A4D9D67109FF7799CE146EE4F4E831794EBB8E335ED567CDC98484056330E0203585E5BD4C45C86B5F40397C3E90BD85542E972FAC5161609806A3B119218697896ED118DA4366920B5D94F585C7F2AE6 - -365574B493FD4483A3B0570AB3513B57ACB5B0016C1FC12C6914679646163D73E933D0F5D91BA801301445EC33A48FFE2DED3BCD5B83E9270E66CEB4E78A1E832F946D9CE4EC7E70F676DF27D94B52DED88E968A35253CBEA2442E2C5A0BEC302ECAFF15B0E8B743AB7D6629DBD6BE04BA88BC0E6226603DCBED991628B8880494581AEE54ABAEA14D33B36BC81F97F332D3563A8F72EF56D00041994646AB572DAB552F1AA029AAFEA5C310A502C45C8AA02E4ACA31874AA16F1C94B0A7F343CAD3FD3B04AFA19956D8E9828598706AB7E71C9AF33366AA2167715E0E80A6A3DB763391075CF4C083B80AD5CB8908CE281239EE74DB5E524A355C157A7DD88C290BADAEA6CD96452CA37195A38688BCD500124E8EC05C19034C603270E3B23DAC7A991F837B267334FCA95920DFFD83EBF8DD640B5EEBF917BFA64D30EA97C84436280E836C20ED711974046C561B1A93C4C06C3E406775B2B083E26BDF9BB04E8E421A023BBA204942404C2E3FB32D71857A7ECFF3D710181A09E61610926A4935858D542E57AE121CCBE5C2FBC49A56DA8CE7381B4613A37EBDE111D4D6D14FB2702E37C450B3D9841F94C1AC0FD504B671358CAC5A00B6C41C6DD11B0F6CA553C5365666991271EC2E7DDFD07E8ACE8D79E4196A5AD763A4D1723F8561D8C0A6F697FFA05F7B5733FCEB6FB71BCEC4F3093477AA82B94C32EBD52458DF55FD59A9A2C34D9056A5A2FED3B0C2758B9BBBAEC30662DE6A56C4B12D9F901787591AFBF1C7362B4E9551FF103D22CE368F06AFE0E280A11250960429A6C6D56059808ABD54058798C3012433A7674A39B3E8C079C5B6A3C902B07AD8D0873242A9A2DBD9CCE7971349A24C5A3AF7D700264D30E3C1A776AA8C762C77271C35229C0B4FF79B93DDD6425B943D89D6390EA0D36C51D535FBE316453C97C410D63A71D3801FEE62DA1F503D7A89EC392407D84B2ECD676D222F3D7F7FF8F5D28B09D9B079CC187C0861AE736B0994E53C382C9D05CC42D2034D674EFACA8F8B115A929F1D407071150F5D419A6E48AD6DDA9A72D18FB66AA98B772007464FEB2E61AF84773B82682756245AF61983DB25BCF53319C3B9850B217EAF07CC8E3EC0A00882520D6994C68F21FB18A6A8177D1FB1F468A6DD76F72B22381C7C68B3354C511B62838811FC873ABA360943BE13AC95E503CD5F961BFACAA770CAE872306376FB5BB253B7742434853CC6DB4C1BCDE2ACC67BA7FFE6AF0B7DC4ED574CDA119B6D5E0148E2D7D38095F163893C5E1DDE4D4809B5BE260EDF411783663884F98478731960CCD6DE6E6F3360D0AC1EF071F8DD487811F9F21DE3351849649AB60A4576729FC4D1B0F8B5026D6D31BE0BD864A92AD40AF0D6DF614A8680D443397C61EE3C12CC82415A16F51AAF495CB036A1220906D49C328760CD4DC6961F5F - -FDD8E0C522500B814AF0F179A1CBF16F4F5977355E61EBAE8953B7A3876B5250DD5B8A74B5B249D40A09F2AC7C908782BE13F56210950DB93E9579CB2845AD5EF13A5FF33D3D478A25D918ED889EECD1F4485A4075986C09A54CEDE550CB74855CC1DD9B05F78746D675B839F20E4440EDA2D9F9ED50F352BD57DB7AA0A05F8379D7F3BF234F3DDDDF98A13A51B4CDB5F916CEC4F0CEDBA42BA7FC04E31F2357DE3952E2F2B1048494DA7D8A937BD2B43617B62B4C0FE5E0D50D9CB16EE28809F7BFEC97AB310992E52C81F00CC59FFE00D55A11710870F7E99EA2814056397F3FDF3A94D3083CFFC1DD4D4957524CA82D2A4DF53D2D128D132F4B481DE0DE99637C656C801713D92D726D821133861904D7F06A21974776846178F2FB1A32406D4A6BF7DD9C8697903643AE23F199B5E016816BF9D0D913AC08F58F4A56D58894FF34785EB23403690460DC7F974513AC01C0B70886A57FDB2C5EA3BCC2AC2D27F064D380C65C769F8E273800C8EA18F6519C5238695A2ED9B6ABFA86C9E8D4DDAAC7DCBB865A081956D6AD39012344F39DFF00341132E484B0A562A5CC683A3D6AA67B245D26DEDE816C3095BD99C323377F8145DC8F87EB68EB96408D8CF833E64A4F7C2EE6C434DB88C6D7371CAD02C5051D8B478ECD83B242BEC7D1A0515F5E8309374FDBC21B55ACC863345EF882E3BE98BDBB6B81BA96F524F239065461536FFE62B248FAAC627B8E17AD651AF7F8D92CAF86116CFAE6585269C6F5C20C17DB1F4AAB463FF0BB462EC72AF3C983754C2850F032423BFE1EBCC5CB8C65B183B69E1F78FF4D1C27033D67AF4D8BE109946E0EFE5F58669C35EA22D9388D5A03BDA3B3E938BC638EBCE985C9CD9957DA96494FD75F38B8FAB9FFC229FABDB41CE6448AEBC9C17FF9038E865E5D98B67DA15C203104DA43C8F6BC510B0EC90F0162F6E447A2E97DED0BEAE083E983A36706B6FFC5F235B4C9AC41E7F2B2D953F5F8469ECC042C17B67E7CAA12A46E5271A7C0FCB45EB0468DF4666770604E2289889BAE4548F336B36E0A4E608040B1C8ACA8CADFE33AE3F734FFB8FADE4B56138C07934E21F333F7C2CF70DC19DA517DA7D6F5736D620EEFE10613 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/NXLQTF+Courier cguidfix -/F2.1/NXLQTF+Courier renmfont -%RBIBeginFontSubset: BVVVWS+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /BVVVWS+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /x put - -dup 35 /e put - -dup 36 /r put - -dup 37 /c put - -dup 38 /i put - -dup 39 /s put - -dup 40 /space put - -dup 41 /four put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B4F1C51BADFF3495C2924BE71970B75EDF2A199B50F98194813A33F638B831359D379EBAABE7B1871ADBDC24922F92A24398D69A280783237895ACEF2500F425B6A707EFB996BC918BB5D3DAB1E48E61700B2037FD60D08ED655F709C0A11FFC0ECAB94F4D0857F0BF136CB03E7287C3E2D9DCE454AD4F8E14FC3005633D279E89BAAEEF1EC950098CAA6F7385AC2DF104AF9CBC068885AD7A347DE06FAC28A18F13A1946D399DE8C7D27778FD5A345D89C2245DCADAC0EEA6332B1A11C03B3BD439514BD50D96EE37724C57BE5CF6802D441318016F21578958D4E6119621D2A181E1CE26F0038D6F9C6EBCDD00EF9AA42F637CD49C234C68EA620B5FAD6F4673610A8E6A7D037F5047E4B733DFB08BFA64BA4327155FCAC00AEE607ED59C857B0907E5D8F62124B046133531B604A44322FF7B46917C39146D00E622BC7A24053B18FF28C10FD3EC1A3235495603C9CFAC4842B0227B2AA20BFCD742013C21E8FED5CB778F2D6357B422EA78F5F6A5A9F91AACF1D02F57562ED42056FE580590C5F397398B36244F7C2D81F3B6EA1FC1C7C66E852796277D01B25D92933567633836C9FC617D3AFC99524FA8C02525BA0677CEF6EC63E0D67A434B61FAC103967742BCAEE104B50AF8A2C4D3C7F88A5D937A2858E51F5CBABEE728DB36CECF6AC1240CF4831429EAC34C062263E783E35E04850A94364F1A8C1748E893DD6498CE58AD642F7D21FC8C4E0660DA72DC841BCB7B61AE3B6B4135FCD077E7617C - -0FAAE050AF5DA4A9B244D202928642DB1D0494467725C56CD345713BB75960E5C69D942EB72CACEB78BC6D3EA2C9CA799C29155C46D48617A1B84330359801D6F3387479EBB57709AE4D4B2AB45A87DF9E31918C68635BAFFF632ABB921CF07C3E67D7505ADC1554718D5ED0C671DC75B8B15E99F5EC8DE2F7C13CD26914CFA5689A74067E3CA669A11ED37EA2280D5C0CEF048ED43AC22C52C4CA2DB79E2FAC031874435A38B74C52430101146597C1CF5CF844A6EA2B7B891C48CC1EE849AE5B358AB3A3DEB5DA4C7843428F7BC2150D8704D9E2B7CAD584B4812B76F9B4B30B519F29BDF2D4970AFD154D949F7FE56FF20C7568738BAD1AA2221873D3827859330207228AF6641479F30323E793CE432392BDAC5680DB4BC4BB140958F8DC4C4DBFEBDF35D2A76E3F5415202EFE67A8423A7D0B65B471201F233152B2B3F9C5581F15C5909D7FEBDD1489EB71D062D788953873B2068FAEBF6EA9350CF12A4D32D8CDC0E3E642D592E06124F931B10C1ACD1BEDC9E42D67FDE63F22BF94DE1409BFECA45845D59EACAC603D1715D94C0268762C44BB58CB30B64E3D1B28BE9CDC9BC0165A6A556E09939A78D73AB90268612D633269945D6C68045F46E8719CBB15F6A7084ED53D1A83C03B369771DE7B6821EDA4A83C83277B59E237DC9E441D3F1A4A37E256CDC8BECDEACFB45DF2AE7DDD7387D76D33A7F608C7FE5E0D6E8EA11582DA4D4993269703992D363AFBC8430757CBB9BE92DDE123FAE9417F7D17FE96FEE87811DA0686A7F3B2E84E847B9D5823E2EF972F44FD00B5A7EE52CF9704718F010533C6913BCD7371C3AB19D34660A09A4EF32FF443F876CE9F1969236FFA4E9BAA711701B6C2F059632EF418F24AA55704 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/BVVVWS+Helvetica-Bold cguidfix -/F3.1/BVVVWS+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 257 m -(!"#$%&'\(\)*%+,"'*\(&,-*."&,&/\(*0\(&1$\($&'2&3*\(",'\($4&'\(&'"2&)[ 31.898003 11.398002 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 9.143001 11.398002 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1082.73 257 m -(!"#$%&'\(&\)*)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1354 257 m -(&+$"#*45&&6#'2&'\(\)*%+,"'*\(&'2&$7"%,3"$4&\)%*+&"#$)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 ] xS -48 309 m -(%$8$9,\("&20'22:%*"&*%&%$\)2$;&$\("%<5)[ 13.694001 22.837000 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 20.500002 29.643002 9.143001 20.500002 20.500002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 400 m -(+,-.!"#$%&'\(&\)*-/-.0"*"12!"#$%&'\(&\)*3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 501 m -(=$\($2&,%$&;.'"$&3*+:8'3,"$4&*->$3"2&,\(4&,%$&3*\(2"%.3"$4&"#.28<5)[ 31.898003 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 9.143001 11.398002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 ] xS -48 604 m -(?,3#&=$\($&*->$3"&#,2&*\($&*%&+*%$&6%,\(23%':"&*->$3"2&@*\($&\)*%&$,3#&,8"$%\(,"'9$8<&2:8'3$4&3ABCD5)[ 27.347002 22.837000 20.500002 22.837000 11.398002 31.898003 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 20.500002 22.837000 22.837000 11.398002 20.500002 29.643002 29.643002 27.347002 13.694001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 699 m -(+,-.\(%4*#$%&'\(#-/-.0"*"120"\(546657%4*#$%&'\(#893)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 800 m -(?,3#&6%,\(23%':"&'2&+,4$&.:&*\)&,&2$%'$2&*\)&?7*\(25&&E$&3,\(&,33$22&"#$&)[ 27.347002 22.837000 20.500002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 34.194004 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 9.143001 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 27.347002 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -1311 800 m -(?7*\(2&,\(4&%$"%'$9$&"#$'%&2$;.$\(3$&,\(4&3**%4'\(,"$25)[ 27.347002 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 13.694001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 895 m -(:\)%"4$;-+,-."<\)*-8=>.\(%4*#$%&'\(120"\(54665?<\)*#@9->)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 941 m -(---'%&*\(-AB\)C*!-"<\)*-A-D-."<\)*12)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -836 941 m -(#\(4E6"5&!----D-A-A-D)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 987 m -(-------------------------."<\)*12#\(4%\(-D-A-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1082 987 m -(A-D)[ 24.641003 24.641003 24.641003 ] xS -48 1033 m -(-------------------------."<\)*12"*!---D-A-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1082 1033 m -(A-D)[ 24.641003 24.641003 24.641003 ] xS -48 1079 m -(-------------------------."<\)*12)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -836 1079 m -(#"F12#"F3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1125 m -(@)s -/F1.1[ 41 0 0 -41 0 0]sf -48 1225 m -(B*"'3$&"#,"&3,88'\(1&"#$&2$;&+$"#*4&*\(&,\(&?7*\(&*->$3"&%$".%\(2&.2&,&F'*G$%8&2$;.$\(3$&*->$3"5&&E$&"#$\(&#,9$&"*&3,88&)[ 29.643002 22.837000 11.398002 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 27.347002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 38.704006 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -2103.76 1225 m -(#"F)[ 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1276 m -(,1,'\(&"*&1$"&,&2"%'\(1&%$:%$2$\(","'*\(&*\)&"#$&2$;.$\(3$5&&H$\(3$I&0$&1$"&"#$&)[ 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1360.86 1276 m -(#"F12#"F-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1582.3 1276 m -(2".""$%&J&'"2&\(*"&,&"<:*&'\(&3,2$&<*.)[ 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 13.694001 11.398002 9.143001 11.398002 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 ] xS -48 1327 m -(0$%$&0*\(4$%'\(15)[ 29.643002 22.837000 13.694001 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 ] xS -48 1426 m -(E$&3,\(&1$"&"#$&:%*"$'\(&2$;.$\(3$&*\)&,&6%,\(23%':"&-<&3,88'\(1&"#$&)[ 38.704006 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1185.25 1426 m -(\(%4*#64\(")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1406 1426 m -(&+$"#*45&&K*&"*&1$"&,88&"#$&:%*"$'\(&"%,\(28,"'*\(2)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 ] xS -48 1478 m -(\)%*+&,&1$\($&'\("*&,&\)'8$&0$&0*.84&4*)[ 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 9.143001 22.837000 11.398002 29.643002 22.837000 11.398002 29.643002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1569 m -(+,-.#"F&\)-/-*"G-)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -441 1569 m -(H&\)IIJ"FKL1281:\)%+4\(-/2-M:4#\(4MN)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1615 m -(-----------------------------1:;-----/2-OPJ7QLR793)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1707 m -(:\)%"4$;-+,-.\(%4*#$%&'\(-8=>.0"*"120"\(546657%4*#$%&'\(#@9->)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1753 m -(--+,-.'"'\(&!"-/-.\(%4*#$%&'\(12\(%4*#64\("3)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1845 m -(--.#"F&\)12G%&\("5#"F8.'"'\(&!"93)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1891 m -(@)s -/F1.1[ 41 0 0 -41 0 0]sf -48 1988 m -(B*"$&"#,"&0#$\(&0%'"'\(1&"*&,&F'*G$%8&)[ 29.643002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 22.837000 27.347002 22.837000 13.694001 9.143001 11.398002 ] xS -689 1988 m -(K$;L!&*->$3"&0$&:,22&"#$&G$:"'4$&*->$3"&,\(4&\(*"&,&2"%'\(1I&-."&0#$\(&0%'"'\(1&*."&"*&"#$)[ 27.347002 22.837000 22.837000 11.398002 31.898003 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 2038 m -(23%$$\(&0$&#,9$&"*&2"%'\(1'\)<&'"&\)'%2"5)[ 20.500002 20.500002 13.694001 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 11.398002 13.694001 9.143001 22.837000 22.837000 9.143001 11.398002 20.500002 11.398002 9.143001 11.398002 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2187 m -(!"#$%&'#'\(\))[ 27.347002 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2251 m -(M5&&=$"&,88&"#$&1$\($2&*\(&&,&8*\(1J&'2#&@2,<&MN-D&K8'3$&,\(4&:%'\("&"#$'%&?\(2?NFO&'425)[ 22.837000 11.398002 11.398002 11.398002 31.898003 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 20.500002 22.837000 11.398002 13.694001 20.500002 22.837000 20.500002 11.398002 22.837000 34.194004 22.837000 13.694001 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 9.143001 13.694001 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 9.143001 22.837000 20.500002 11.398002 ] xS -48 2351 m -(P5&&E#'3#&*\)&"#*2$&1$\($2&,%$&/\(*0\(&1$\($2&,\(4&0#,"&'2&"#$'%&+*%$&3*++*\(&\(,+$Q&&@H'\("5&R2$&"#$&'2S/\(*0\(&+$"#*4&,\(4)[ 22.837000 11.398002 11.398002 11.398002 38.704006 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 9.143001 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 20.500002 22.837000 22.837000 29.643002 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 2401 m -(.2$&"#$&1$"S,88SAFO'\(/2JT4'2:8,<S'4D)[ 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 29.643002 27.347002 22.837000 9.143001 22.837000 20.500002 20.500002 13.694001 23.944002 22.837000 9.143001 20.500002 22.837000 9.143001 22.837000 20.500002 22.837000 9.143001 22.837000 13.694001 ] xS -48 2501 m -(U5&&H*0&+,\(<&1$\($2&,%$&,8"$%\(,"'9$8<&2:8'3$4&\)*%&"#$&\)'%2"&MVV&1$\($2&&@H'\("W&X*.\("&"#$&\(.+-$%&*\)&"%,\(23%':"2&.2'\(1&"#$)[ 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 20.500002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 9.143001 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 2551 m -(Y1$\($JT$,3#S6%,\(23%':"&+$"#*4D)[ 22.837000 22.837000 22.837000 22.837000 22.837000 13.694001 23.944002 22.837000 22.837000 20.500002 22.837000 22.837000 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 ] xS -48 2651 m -(Z5&&E#,"&'2&"#$&,9$%,1$&2'[$&,\(4&\(.+-$%&*\)&$7*\(2&:$%&1$\($&&@H'\("W&R2$&"#$&)[ 22.837000 11.398002 11.398002 11.398002 38.704006 22.837000 22.837000 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -1408 2651 m -(1$"S,88S?7*\(2&+$"#*4&,\(4&%$+$+-$%&"#,")[ 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 27.347002 20.500002 22.837000 22.837000 20.500002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 13.694001 22.837000 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -48 2701 m -($7*\(2&,%$&&8'/$&\)$,".%$2&0'"#&Y$7JT2",%"&Y$7JT$\(4D)[ 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 13.694001 23.944002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 20.500002 13.694001 23.944002 22.837000 22.837000 22.837000 13.694001 ] xS -48 2801 m -(\\5&&6%,\(28,"$&"#$&\)'%2"&MV&1$\($2&&J&,%$&"#$%$&,\(<&2"*:&3*4*\(2&@"#$%$&2#*.84\(]"&-$^^D&@_$+$+-$%&"#$%$&+,<&-$&+*%$&"#,\()[ 22.837000 11.398002 11.398002 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 13.694001 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 22.837000 7.831001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 11.398002 13.694001 29.643002 22.837000 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 ] xS -48 2851 m -(*\($&"%,\(23%':"&:$%&1$\($D)[ 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 ] xS -48 2951 m -(`5&&G%'\("&*."&"#$&PVV&-,2$2&*\)&2$;.$\(3$&"#,"&\)8,\(/2&$,3#&$7*\(&&@R2$&"#$&Y1$\($JT1$"S,88S?7*\(2&+$"#*4&,\(4&3,88&Y3*\("'1J)[ 22.837000 11.398002 11.398002 11.398002 27.347002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 9.143001 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 13.694001 23.944002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 9.143001 22.837000 27.347002 20.500002 22.837000 22.837000 20.500002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 13.694001 ] xS -48 3001 m -(T2.-2$;@Y)[ 23.944002 20.500002 22.837000 22.837000 20.500002 22.837000 22.837000 13.694001 22.837000 ] xS -240 3001 m -(2",%"IY$\(4D&+$"#*4&"*&%$"%'$9$&"#$&4\(,D)[ 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 13.694001 ] xS -ep -end - -%%Page: 16 16 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: JLOUQW+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /JLOUQW+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /seven put - -dup 34 /period put - -dup 35 /space put - -dup 36 /E put - -dup 37 /x put - -dup 38 /t put - -dup 39 /r put - -dup 40 /a put - -dup 41 /c put - -dup 42 /l put - -dup 43 /h put - -dup 44 /e put - -dup 45 /i put - -dup 46 /n put - -dup 47 /o put - -dup 48 /s put - -dup 49 /f put - -dup 50 /m put - -dup 51 /one put - -dup 52 /zero put - -dup 53 /g put - -dup 54 /d put - -dup 55 /w put - -dup 56 /parenleft put - -dup 57 /b put - -dup 58 /u put - -dup 59 /v put - -dup 60 /parenright put - -dup 61 /eight put - -dup 62 /P put - -dup 63 /five put - -dup 64 /quotesingle put - -dup 65 /three put - -dup 66 /T put - -dup 67 /k put - -dup 68 /M put - -dup 69 /B put - -dup 70 /L put - -dup 71 /F put - -dup 72 /y put - -dup 73 /G put - -dup 74 /j put - -dup 75 /colon put - -dup 76 /p put - -dup 77 /comma put - -dup 78 /A put - -dup 79 /S put - -dup 80 /R put - -dup 81 /C put - -dup 82 /W put - -dup 83 /q put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958F44A777C1E8E91B704A25C65245684E913D339D821C761ACDB1F60B9B38E0ECB75EF2BF17D80E0C7460B15B7BE726314F4F8CFFCE29D6FCE4D5893D8E450EF78683463F26612D6D9A44BEF691946D852ED47CB4F7243CE5B33E9FAD94670ABE6590BA9563510C3A69D2E7BA8C93C4610796C1AC0C55CB598B5D29B3E7FC94C62204E99E90ED629AEFB56B88723DB3CAE79676BF01C8A81423E8BB0750821C4296331B3F7F3C020302A1C893F5429A816D7FD3C11FF85EED52EB99F215DE578AFF9625B358E9228324D2B7B38B7AD75379102B6A219CC3369D6BE094CAD16A9F95389BEE4F5CEF83A15E13475460E538569A9481B102DAB2D599A8FD0A1EFB281C0AEC93E6A6537C11E5A4077B8A480929A8B47ECF60AC36377B5912A95576862FB8E76032A6F31CF4DD18E85C69D3B049A7004E9EA1C7A59A2E55DD1BE65EBB2761057C06A6153C3E0488A918A276E65E8571CDC698E1DEA21BDF8B329BD8AE6318D4FE5147B08B4287C02D81055704E286226FBC8A7092F59C45FD9280BF96768081492C9B1E2A5806D9E1F553E13576FBBE71E9D3CB73A0C933D07FD6B6239B823A3F5AD44F81B9432C4919BB8A399F8E503DD4E56232FB29D6CADBE97B5DDFC135A99A15DB57390DC925E93D46C13D9A36EAEDBE2FC30A0A948C19ECE988ACB00E7458CE9F728DFEA1741483D9C34336A520EE952CF2CFB866DFDDA4931C4CA467B9CD70E9C67D5E54F961BB5BE08D7A7640763971A5620D417580082EBD - -5EA0EF993FBB683D74F80509DA76995CF53E82D1717E95206B1680DAE974C9D7C68EF872A124A9B61F331BE729B1A4E754A9BF8E897C94516ACC2D3107B4C9B6606C227AFC198E98C10A16D6F623D8744BD6D6A35E431446E7B0F290378DC02B21252AD41822BCC4D9BDA9B3E0EB240A780A236FD849EC6D43B0DA439CFF5B8383DA445FE3B8B2DE24C44EF392258ED191E42D0DBA721F1F095881D8808E3329C2F8210337CFD35D19CC0ABF14CFD9E6B11C910CCFAFE003A37D5D7722F829582DB9F85A1A5864E139AAB7DBF3067A32055883DA710479712E42D10B9398B94BB90FE3BF82C47D099009B4B3DD0E3604E0CDD4B2F94508A1A0805165A66CA4A266C62A2832E3E597ECD21CBFD3E88A34ECD201CBB5CFE352700758E335A6C2DD7C4B0E3FC310BC84F682EC34F3CC8A3E51779F2CFE0FAB4D6335464DFF19E0CF58C7F6D396DEC63C5D0E85DEB6F6365D65C76BF1296A36778AFA816607B65B1D4A2F6E45F12769409757985426C88FF067882AD4FC94294352AA1A3739C0876488003CF81129E60D1E810E743F6050282FA9BF9E5C00F7D6720284FA7A49E8C4AC89D0B0901A367C9BE33381BAC3E252A6AF3D3380B43F2FC1C107368FBC9529DF7E0E8E2DAB18784EAC779CF69116E414E13E50F5C4C59FD02EDB287DEA3F5CF997A37C787A9E4CDB3C79D4BC73B414A7B7F991192B208924100FCDAA26E387F2FED1979D580AB0232084067FA2CD9DD8FE10248AC0025FE0FB36CBA10FD77A78C57C91DFD6E45C32D9F82B4AF760995659550BC683F80C60B3DCB86CA14D7CE11B4EA018F912A38F15E5251FB510779110D50C5F4B6F58FEFF308AD89ACCE75B0BAD2626459E0D01C77A48C11DA09A74947C1574B468227EE10B6E5CCA31F5332D447129FEA0C66360EC2F61E0F633097522934442D0CF40527FE8A1FE1085F422DB12B0CB5FC162000E5579FF8CF7C23C6F19438B11EFAC2AF40D22A880BBFB3E1C29B0DC6BE2D8F86D9793816E90A480A44030CBB7A3FE46005B8AAD5AB2F9FEBC6F9A9A1BE1EABBF9C993223A6699ADDEB77E168F71D0917DD58E7B52D7A815E7AB91280B74F9E18C30443F7FD4E5278E88A02C0D449EB2F2EAAA6A8431263EDC9D3ED0676D7EDC83A60D855E693BF387FC0A29B7DD471E89E3CDADB883BE5BEE19E2A12761926FEAECA30BA03E5DF392C97E96B9210B2C965AEAE797C08FE1AC5CBFE2B3A7413C299F29659BD306161C2AC0394AFC64B3D7421A4CD13514EE3F566187F9480D911D9E42C1319E969F83CA1C71421E8D5AD0C91789E26C31F893C79D28781A2FC7A10985D2D35B3042565F3D823C81193CD5CB2769BF91A717B2D7227EFA2993941DA6B554462792DF32F4F0E21224EB2D67C73CC809094DEC2EBC718AF0FC21636520A5971AB74CE63C1094B486801C66FE50D6926A43 - -E4176035BA664E47A3F2CC43FBBCBBC5F64A4C13C2790ADB52496FA3894EE2B0ADAF0B8797F9971BDA5A5F8D6F130C83E76AC75B0F2C3F5D887D7CCE5AB1807732AC924D3FA1FD95B79AEC031D0A4808F6F1792E825112934410653E7729533B5D0ABF21AA2630067E8D98109390522E9CEB36C109384097E89B2B2FCD4E25E7DB087505949A5CA113814F7D3A24EFFC4DCF84BB8F9FFA57CCC20D73E8EEBB38D6C8087E1FF9552C613290FE1A888ED70E820D54C7DACD58EA48C10FA68C654F47CE50859F36F1BF120D9394EE8318668BBC03D1042729A29FD2F7C82FCEF191E984DB3BDB55D1B4D61B818B86C136041F5419F6EA5C40A86229EF36C3866A725BB31F558711C735BCCBCE82FAD9399B50111A951E5B61C9F87D7EE064BA7379C2DFE93D788BCC6B54891C5BAE2138EDCABFEC77C661B8A7E60230B2B399C29606492BB491D8C27EF41811C0FD9CE55BA3569A5C9B214DEE1EF1BA75FF2789906C931D6BA2AB3947D9C4E27218CDFD7BC5E87D57119BDE4EABD357871A97EF5AEBA7BF3C310822E618B777685A8A465089EC9FD95A682E42D7CA0D2EDCCCF4B98658D8CB460195F9EDD94BE95BA6433E518F2F036A1FCDD57C0E00D80099F65CEAF4A637FB3EBACB4F5AE758BFBB24E766861743A6A4F4E35CA6B89A0B13181E37131094370CCFB88F09F00327A125C68BEF6BC11EDB815871F901418B949C8DFCBDFA1DFDE80A4E26452EE25549FAB05EECA5230ECDDB5EAF21DC650AC6E195AF1F4EC5343C26489E224AC33B62E751E0266981C0E8DFF1B3FAD28F8DF8A65F2874C71DA7292E8102ED1A353390702CFE25A13498B85409780422E704498F5CAA897ADBBC04FD4B054189CC7659BB8067EE547F4D18257147C777B662CFA19659668B7033F051A8B94E55217EB2D3BEC880B0CD048A436B190350003DB36DDFCAB16EBC963BEA2FE5405E21EF013D6255D279EEF8058C64495D12731128948A499CE03654893CC39D3AC3C5C62DE9C2CF4B02C5B868D7B3880144C27A53F15FCD4F38ABD62042117EF9595603A778B9D337208CDD6879190D9A9D5A4AEB56B4DEC7AB4685544C5B2619ADB37437D355C95F93C6ED871799FF25C97CDBB9B8131F80409EB72E979AC6D933F73DD7795C9D861E71D855C15722BA864D2FF2623E73469DC295DC8D7FFD890F436787B8FF0496BD8CD5A09020D7AC13DE0AA535F78346514347607BCF372BD27B57F7816412146BF104494BC42394F94FCA6EDA3775688554335FA4D0DB447E55E291524529FF5BEEF2E78E88BC116F0E2D392BFAD445D03FE69B612E5243586773C88A5EE622F8B951A14DADDCDDEB9BC58E4F939FBFEC9CE9346CBFED210BDDD34C280E7AA46FB1444DEA55894DFA94EB8E6E25726D6AFB2AFFA0FF8167AFFB811E69F7DA673DED3F26A914A25D3604662F5C42 - -89092FBA9C748A476DF54D704E46044478919D2AE5B000DF67D52A32DEDC5A79BAF89107E27C51949F54AE2F6F7638586D5590EF729BB5D7B75CA90E457BB7A2437413188D73D00BC4779E2C0D9186FDE3C8587507449D7580475FDFAB9E65F73521CFF5B67BE3981B4E56313D00D2B1CEE1816565003BC35CE13AE158D5CFD5D84DF048DB964FDBF00FEE99136DD4B2944200044AD6B0FAC880701530225235415C154A093C664961363B820DED4EC6C0842DAB7BCCA607EA2F36C97E49A4D636EE667D3AD487B203D0CCA45DE69F2131D4C97AF6161BC00546F6E47AA5FC5C58D88B5FFCBD9434832A1ACF2FBCBD6FE1D7B91D58C6D7922ED959EB122B6B462BD6003C0ACBCD1DB90C79E25DEC33667A8153CDEB5A47B0E67C0A17E7A59D491E74CD335970A33C2F043FB13C0C4460DECB931A2BED04B242E997FB7C75987CB8F947FE3D594A2392FC6B29C054837743FB68A4F9B4361F50BFBD207652AAF10225C285B6388A8447A98468A21E479841892EFA21F2018094BE7A8F86DEC5CA5A26AE7CDF0125B1BC44AC95452DDF35B33EE86F901FDB9F691ABFB1186E7D9CDD2E5DAF124B5B8F526BE274771463A461E76C6BA56F75BD0EB10599ADA37BA8D0BF7757D58BF84A742CDA8796C6447B7DC5700DFB4D943E59F3ED7A203D79AF11B9C3F7B6823ABE65A6D31061D67D8F56616B7DA8C62555A3513CE44AC172FFA8437159B74DB919DFB9064D5AE69B80F7B43DB1C8C5959361468BCC841ACBA529CFBC7302EC154C3C95E39E8ECC406DDC37389C987C22639D655379D2F17D3006A05401D7CBF88908032E5D5E69004D0E430620E9AF26F836E8B31332C0109D84670CD3EB4A15EEB6B48E9E4DA29D52734FCA11A2A4F1B4F85011E1D31D3C2CFC04EE2F202677B31062F1C55CFB3276FD3F632E8B592F3F554F634C3BA0C4ABD2E02F2BF0EC6DCC5F7D38364CC3CB25752DBEB5D0453A186F682E86669E4E152C45552E16EA129342982D2BF5DC941B0489DBFC05BB9B4E1280AF68A358E8CDBFB057E6D90BA0CFBF36BA48A04283CFEE1F26A910780342A518E47B3BC051BBD7BB159C973AF86E8225023CF1C65C0E34CC9C386A1477F9D7967F3ACCBD87936922638125DADAA81DFAB754698EEA4A971E5CC487C44A76C5EA929B4C8486A57CFB5EA15C7FFE28FC7463693E792669760D5DD55687225580C63BFB473EF8E84E1ABE8EFF724C478030175875584192C84BF9FBCD762FDBF9BAF23C3B461BA549DF82A38B0D7233621E758871EFE444C58FC1B41B5F3E7E679C46DEDBF8DF35F52F14AAA230BC1E19285EB2D52CF6C178429336A06985ACF52D95C5F98E0B63365E26F8E4EC078275C840BF024B96432210EE5D0A134849644A19A8840CA3A18069419522CDECB2664C5D44BF2B0BF6E0EA1AA0EA4A2A256AA2AB1D79997F9B - -3D3DB9091CE83E3D1693CDBD122E0A2D6234D1B5507FF4D0CFB59170BC37495D65B23EEBAB9408CCE524C2122ACE1CE0F6D8077B461D61EF5F5661BAFC4A0CECCF95D992E7CCEA88261F754C58B39FE0F68B37642106AC9E7B254AB280983EC5AA0A474A64C4848EEEBB56A7517CFB73F221556CB7B7BEEA5FC5066B4C997F8544A100D135AEF5BA97BE456A84B9F949F3697D5FD772087E25A22E06D97E36A5EB5DCD2B059BC399F90E65F2CCA9F88796DC9993545018EDE7B58C593C92C674165C2B54C11A1BAF023B354CAE40B6AF294CCF53CE96B6B5FD7D6C4E14AAF18257FC13DC886F7F66842ACE4081243B3108715F496CAFF4B32C11D2447706A11FCC0A8B27EAE238853DAC0C26BAB95B16650894D90234D29837284EFAE770D60171B4340DA9A9567C0DDF77DF653A415E8E7ADA0E270D380921F33CA3F09893F87BF864F8D82E381AC4C1BC0C758C3FD095E9790453C9F71D62753FE9A7B1E589D607E1AE4E40B9D86444A7951CBE958727330D94902D123B4F3394ACC53D2A1AB7E5B75E6F782E8BCCF71C4378432C9281F69C9984DA4BA43CA4DEFABB8AE6A6D0CFE60AD426B9FDF5C544A29C2FF9BC03EDB96FB644ABA320AADE28CCC8051A9407CF44BAE91D5B397ED6A44AF285AC1DCCE056896FF065231698F5FB48EFC5C13B966720AE26DF7F944006C0D9EAF58E81DA4E507AF9EC05C9D5C03E82DE1AA3D429131BEC2DFB1B8E741788B5951A5AEEE11AC94DC63277B1841E08C9065A54FF85636BF7A88D32126C867D3179FEDE85ECA703DE1FE3601A6D935EFA75963BD35216A2F85D5E0FC4937982E1258F9F6C3152337AEB5118BE08230D9B209B774A8FC21DCF778FD13CE0EFEB390596B1AA0179972D47B314ED8AF722CF50E2729969755EC91F7B8022CCFEECFF87B2E0E486BED1984C985AD76FC24A8EC93F2064F30A4E463761BD7C07A4870C5F0D74800CACEBCD9A39A071D152F27600E8F2FE586264EB9F21D4768A64C78F60D6009CCBC1D5E9D235716ACB5287804418F917F93DECC748F147347B321F80AC45FEA178FC84B6A5F2223BD4BF6A2BBE5C4027AC3FE3EC8A62652B44EFAE794675AF96AE3C9F8F2C84ADD4E7FFD842B0AB9CBDC7046F9E081C4579B335CDDB2349A5DB5D35EA3180B196BDB19C0E5B8A0A204EABA5BDE5C3E1B1BFFD924E064824755FEC0212B40DF1D57A119B50B077B7C05018596BAFEB922848BB124535ADBBE452D729B5B281DFEF4E6B7DC401B8BAE30046B719C8C680905B774DD839EB5D21B9D4AE7A7066B55CA3A95D739D1C43BF6236A1C5F8785F86B2DC7F28792DE05325447747DE55711433A05B303B5A90182AE1A1F6455F18BD7308436D8E8B481FDFD894276D5B0E9216009F4470CFBCEAFA785EF3DAA0BBC3A6609E3539A56E90C0EF61D42204BBECF2472DCC2FDB0E - -9B9826435B1B2AF7A1F52A6E84A00015D5FC03925B6ACBE4623AB0268A27B9F2B6EF074FE2334D475529D281CC8BFE5240606FC3234507D5735456CBACED4B4B1D384EDE9BE05B5395281D8DDD74E3A86DEA8C1837BA3ABC3FECE46EB87A832A3D931F60E19B4475A9D858EC9A76302ED1F9570761F1D526DCE7816B533A6FFF74E0295A8C3BF11283F88E8B1324D315A66C18D0DADB88D7B7A31D269951B9F3F2B753165C255CC9E482A0CECE02D455443E08D3551463D4570D261B47E415593A445106A71AE27A6EAA47C7AD93C91C5326DED9DAE93B18AEBD380ABA725DB1C7011790947BF1DC35BBAF5DE863994B31399269614D6DFBD3A7B8F4218F368AA7826FD3E1624B5BBEA9F5D3A1DFE2FB3F6562B0223BA6C145FC397975428DF339D6EA24BFFEE59722E608C2BA803B13F53CADFD03A6FB7EA16A1989A99F52BA19E2590B33FDF170438B79064FB8D3A1C077A9E1541AB6DD7F51BB27298D6D17604340CE41B92E3E8A585FB34B0A2469833C4BFB2C3BF75B8326DEA5BB2E7DCDCA1C0A138AC7897B3413E6DA78BDBA09C6EEB3457C7782E00B8B48A09E4CF37ACC2A68FDC6CC26425E4A68DD5537149D59144C66715E80CDE8C7FF4DB32EF2143390D307596A665FB243A29D7CABA75D22C3680DD8C36D66628FE33FBC0145AC69723A8AA2AD16B344C5944B75FBCD0D9238221BDD62F0208D15D3E496505C3810BBBD50AEF3BDACDB957F23468B85A5F2E8B987FACF11480BBB9C8A1EE1763497509CF79F63CB356A497579095DB83F68E5285F16D122A528A73D9445D83A6253B48D3740ED9FF7086BD9F993F483ACFB4E007062D6BC301C28C07E0C5F11080126F1490ACA5DA67CBC2B9CA41309255986A57EB721027D68CE8B0782C5EFBE3FB1B53B4F65710E11E9741F86D15F39DE13403990EFE47B24CE02E0054D75558DDCEE51EE4C686B029FEECB792A834F11312B876EB7E48B31D10D9A7462F9BF7FAB465CA09409E1575D4D8C83DFBF606DBB7CB5A86CBD554E386D4DCBB7BE6ADD1EAF91405104DDDB021211C8C4317FA10FD47CF59D5E59A5ABD0CDA8DA43B10898EBBDE56FB4ED2E63AB0ADEE6533B4C0B5326E65FF335409C3AB59F3628E8498D5AC5A573CC84AE6101E3965C2604155D01E70B4139AF22275A8DECF0B66CE023E0C5FAA83116CF56689C0E13A3B33BE06E28B134C6022EEBFADCD3664CDEB0751A02550C3CE52D4F55B7F84B2C63415EDC4E66E6240520B47FA0348216DBE4FA3F44267CECB307988766746256529D37B59DAEC74B120836D1E992C25C5E2D5775CF693E9FF6071714E810D33570FDF82AC8B7D3A1D91E20426EF961B086A44D8D7CF6F44ED0062264AC1802C297A4F7013A51897FAD6348A274474C284DCDF0A853DAF460458475ADDD9719C3C0489373248BA869ECF295ECDB578DCE7E - -0FFACF55BBBFCC60093906E57E824AD8CC18763A5B29E2334251CCAEE852513F106135811E2CAD49C1915FAFA81D5B1B878BF45065E5AB95DF1CCCE0E159A7A0CFEF2DFFF85EFA8C5F6F046714911EB21AB9DA2FC75ED4EB43697F08B040C6317B286518F841CFACE2C9FE3E7B3FA834DF728C1D3974074E6B4A7ABF680C3594EB4B67320569A74FDDC76056D84908AD5ECD6321BFBEA7DE90460840E05054D077527456C137D6E79B566C00B1F93C35100B8C4DEA90B5FD775FD1994C76EAC8F24537338025F8B086999CA4BFCAF43C92C536AAC1EB4F9CCED31DEE81F89657F4E64AC6098E07978F27FB18D6B5B04D93BA654E2C0024706A1F290B9E5D0CAF6326074CD5720C9737DA0FDB318E252F1323E32B05671F4389D1C33B689F801FFB505BBBE203CB1D17B270CBEF8F11D8B4803F21452C0B23CB69D2D2DE77252B58E9E0561EDB97C30B7CE53B61ACDCCBFF74D81D3F770602803E14B8657828D6DF87227FB5AC0E92F831A1ACBEAB55E1035ED6E32F4A89C2435BFD0273DF6B17D370975AE74200F0133A6770E9AC8894E535E61E9EC07C6A295FBCD76BD4824164201FF831254DEBB09C5B953AE4961567AB83910DC8CDAFE7FFD1063A38202EB849FA7E52F5A2B6491B836BAF0B0B5E6FD93280635636823D34E47B43E131F3ED625C95B3C263D4D2E952DE34EDAC238AE32ED2FE705326CFF56C281604247DDAAF9A7CC6F84E280D9AB60AED4DF9142B9363BEF22E6FC74B59E044E1A632C9A8A7C1501DEF2CB6FC353B303FACBAA0F7FFDE9DF62CBB2339D15F41F7C2E1064033A9DD089187C3AB8D9BED65424F623319ABCAAEBA78168BD86B4D71C23919A0888DEB64B4D953F76A9A031235C1148B1C0808166C9FC1E19CF7AB83083C8B196E5F93B135A8C49D0AE228060B84ED2CA82467EF09601E359F4C1156AA4F0966E27F9016FD6C2277E315455389051946BF52C2FAB2DFFB80B41765DF375378C998CE13F17D2D31825519091436301FE9A72ECC744448249F22C60ECD226E6697F15E16866AD65D3E026BE85E9E7284CC4511D351CCA76FF15FF1D8741515CC71E7AF80619AD86C8772C5C32D456E9C6810B5947C95820503E414FE874BF990404792E3F3D256A2302243B8A5F1254355460C56C546CEB556B96BE6A4379A55EE14C7483A22D2742D18F894799ABE069E84EE725532B5AC6527F364FDE6EB134205EC144A6B9AAD86C252DE7BAF8965719AC37E1FC7D9AA44FE5417E5661558172F5D4FADB0740B62B5B36EC0645BE81A7C15EE3DD1AD12BFDE9032838B5081AD56B6AA8C1569C98D64C9E2422D20E138FFF59C6F7ED091AC9C15853032E70EF0996A0239C9607060E64DEC400A7F626D1E01590671DD9DFB123A5484145CD8963FA1110DCC82F57DFEBA20C5E24E2B18FA65340F3B0EC2BD9365C5E1F14CD2 - -138043E592C4555659583690DED6A99D7B2C044702FFD1CD789230AF1A762913720D99F7F53DD8F526C4BC55490E0D17FC68A7A853F30C98BA43BD52D15279AED202A39F80F8CF5A0D12025A0680D4373FE337B957F727BED5F8580DE482288652BD5E873EC9BBD4D32BC4E5901BD0722AB95302A5B852C5FFB78ECBB08D4AF693438C0C78B4FF6E2A911016A80150FD188C79C245EC0EE33D831CD75DEBCF1F1F8B94ECAAB46D0FB1B62A574685AF67BD100AF0AD652CFC1DB8509F85E1370FF62D231EE09E3D3C245B8D476026DDC8B19FC9D91BA9B049B9 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JLOUQW+Helvetica cguidfix -/F1.1/JLOUQW+Helvetica renmfont -%RBIBeginFontSubset: DKETFL+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /DKETFL+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /S put - -dup 34 /u put - -dup 35 /p put - -dup 36 /o put - -dup 37 /r put - -dup 38 /t put - -dup 39 /i put - -dup 40 /n put - -dup 41 /g put - -dup 42 /space put - -dup 43 /E put - -dup 44 /v put - -dup 45 /d put - -dup 46 /e put - -dup 47 /c put - -dup 48 /P put - -dup 49 /T put - -dup 50 /a put - -dup 51 /s put - -dup 52 /l put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C92633B2598E0B1EDFA3C2732C9D3498122A5E23C1999619F9F2A05B057FE1367BD91882364DABCD07DC7F439550F4BC017A8EBBF35889D512B9FB35D85D69AD3174FDF844DED926FDF884605362D6BA8651735561EA5E398BF656CB2553DFFDCB0B86682ADD19E254B8440FEFC09DF51A6F0603FA07ACB98A6E8DC435E23F751ACC3DB54709B5A32FCEC6B074D6F095D5B92896AB33548F8489CA759029C25AA3AB7A185DD214491750ECEE01917FB8BF7C7EE2DC086A4FC1E5EC19408FDC3C8B2C23E319A62EDFB7B4D12A9BA172C589693B210542C4ECC26D3299E286E7827349FBF801FD2B248E86FB40FFFD96BB48B23263C948E9CBD482D09D1094E8280A0DC6BAAECE5C23AA4E6C46F3777C26E1419E04E347C0C30305F78B79B5EA8CCBD2757BD48B3339434C3EC9D5865819122D835E303CA419182C3B07A8494AE44404E1280BF19FC95474FAC014DA297E813010F3B67DB93EDC971540348704AA9FE754CE5D14F88C3ADA51967700EAAA83A7AF3DCF908F6476E7A361B9012B3F4CD40DCDA1CFD8B3955B649B881B9C0C0EB23771439A9E9EBFFF3322C0054E635E90506A1BBB5A62D5F1DAD2266FECFCE083A1385232888DAC9585BAE0B03BF63F7349F1A0F60DBEC3DB69C4DE1C361B42DDC608F2D74980032F7EC312511C5347B77D840262FC90DE59498DA3FA9C580201B0825922A93E3DCD945D8915AAADD691B8AB5C72FD4774722A57692A5E6D4C203696E5045021F34256FFE33F9651819 - -24CB42DE32BE8CA6F22B76E2CD2A44B5BF3FFE657931E806F4C49A9C7525FA09AEB87F38B22D93E73445B8E87859C96F867375BCA4DA91073A9C446FE9774C951713F0EAC568FA1F6BE1101F8F41E5EC887AD6C474B2B5CA10B492A4E798913970076E95A3D6FA527636411122EB19F63B08C5988496D99BE108C36CCAFDC03E4A724559DE8142967FB842EAC32B5C4D7CE656795F1836C965A2910541324A2D1C57D1FE66DF2EC4C90888C2B352AD6A08B309A2D137E49F7392EC3C74EC28AFDEF91181001A0B2F2E6D89D38757230CAAB4C6AA978197CD94624F6FF633AE34005B56492AA07EEBBB4EFFF5A635A80E1AF8C5CE53712E7CEB9F5FF9EF25628C8081054B27272CFB4D73A9BA61ADC3C18DAA6ECB51320094533B0022AEE308463CB58EB7EF81F51DFD08AFB2F0859C7AA8B34A55F33E8E4C39F923C0A9135FFECBE88F5BF02070FA0262F04C6AFF1ED8CDDC2BD6D7F808530C7B3F39A2CDE971BBB1D69430C669133F4277664E177863E7FB9688D8A73880108FC1C9E5CC5E4DAED9BE6D82FB84B2C49CC9DD829A0F9214A987B49A52533CC840A5385CDA483817E139F7B5CA4B013EA137B03610D38B934239A3E39707AF2763F1F18D2E2C6E09D4FA1C30C949FFA766AE727F4A9AB8FCF6C1A5E6F11A097824DC5A6E4CA34D84120EA55692CF4FFFA0D64B0036004BDE5FA553FED518162193D6FA90AE3DDD49ACBCC20FD217AC2BAD5AE2367688EF36F40D623C4188CFC59144BAA438ABFB6D58A4BF532784E90DDB4264968D59978CF322CDE2F167CBAA525B4F9ACA030AC3FFBD3CC583C966AD9345AA8246F0C130EE6439518EB869FE30B4A0446F5135618DCBB71CC22082325B156B6C19AB07C088ADC6915F7754D3C835A981B140B14BAA49EB880DD3D2A858B991617E966BC744FEC7A373ADEFAEB03D6874A16347019A15356E147F155346F8E37EA878BD293A735E0B18CF0C012C8EC504FC1765AD815547CED6DADD9506D96349F1231A8C999A543B9838404503DBB938EB55865C9294D58CA96AAF464A28059755BE6872DA5BF67331E418DCB7E629D547C37E6D32D0693CE4A58C3D6D16669A4A665D29A8A78C770B3503F6AF3B539AD50B14B3634140BE367599EE5C0D584AA8F030B80881FA9B86751DB225AAD52CA6ACABFC5CEB4868182AB8AA038A50D48F8829A5A8F2CC409FE49400C283DA99C3E8444FCC9E27299DCE709DBDE47F644D89901EB883CAD422E9F4AFAE07FA4708E3A70BD558F7B3E3AE528A06DA682EE9F2FFCAB17AF4DDC0F52DBCA410D36D45E9640559158723794D4E3BCA05A89632A5F6214A2BDC565BEE891AC37D428EE72B634BED2DD0E4A49CC6D74324A77463278953CFEA00A6930A18239AEB4E283FECC6F84FEF8A9439AEA9E5F9DEC761DE3D3F60E1C4ACCE6B0731A822F459F40E20FA - -B18678068FFE9DB9BBA4EDC5BF763C3B976F1C20297878C8CCAEB2273FBF73D2093DDC859124BC39DFEA8F645378B8BA22B14D22B73E726BD657A87A8F2B8CB25789E8D10A7E9A97ABABE4727D676CEAA8EF7D3BA161B4A2FCB34A07C3F9E5ED89C73EF34B123AE009B11511E64BF8DBDF9322CFBB3DABACD5431709873CAADE6EBD400F6B6BEB1463A1A2401CF338B75EB509DAA1CD51ED729C7149E059771211352726A487480626F3588D8BDBCDE9CFBA46D010FC687B5D6F0BE9425C5243131FAAB59F2205F34B42CEF562F83B0BB14943A7750E719C782BF3D9737ED5FDA80F341B97193914A32BADA6403DCA5426308931DE57A0B6AD0A1863072BD5339ABB730CF0AC62EA60E5455BA6346BCD9762614C0732BC81925B5313B414105F8B794EF9960E95FF3F06B6CB1BF1EF6A3C6F6BFBF04CE36ED3349E1A9B613BDDB1B69015650D1F53777CA3A7D20796B142BDF5015FBFB2A78E84FA2AA45D5DF7FC513DB9697116174103331855E05275D8F4B728E081BF70B7488797AAB9F2C44D72A5DD5BAAEF02AB7949961AB0ABDD04904D6C1A5C210309F93DC35307EDBB600B291E7C7E17748051D21C11ED9C3639BF394EAB7079E914A94B9EB3304977088B163431DE6559D7FB10750E5169CD0647C2A60723B6BDAC7C98073C2147D7E8FDA5FB830E87149895CEB1BAE429040633CEC845141F8B8983035F2583BD596BD56088AA4429335D21C05D756E37DD588C46052F6E6350251DA9B75034CFBA768CD88E8A86A20B0F23BBDA37797FBD91BB22CA0FBF6B3D6354D784C07C77BD968CDFD5979CA3838DBD15BE78FEA47CAC86FA9041164E5F2D65F79AB4E83D6C03F5CEC10AAB2A6D5D1358A0FB4F729A57323A68AD21AEA9D9C96E4FACECC7D6154766DABA626EE09B38EA766F39CDD8FE3CDB05A6467E13825A82E597DE3CF192FF57FF936AA519864DD9F7EE31BFE1249272C1C49251583AAE3A8CFE58A60C7BA103C3AB7B36E892186EE2D3FD7A2F0F172324E600064AD55FB49E7A1AF230308637705EA7F184EFB0498F2C74D391C61A150265DE8EF3EA1E9F21D9034EC7DA98B5FD7930073F6F927BAF87CC5B2E40393FB653838EE24E117905A216ADB4A79961D0993E66858EF17A129A3528D1B81707BE1BB6F9C7F7A84191F061055CED4BB89322FFEC4BC5EA77075AF3F8E945DF97B93BB169A1E4C8D7210E4192DB8800CD455D98CCC24AF2A389078FD4332692F22A3A857B2F2B2B2A61E357B34C93BC91A175E95ADCB99DC466F996C171B3D9C7D91FE4B295604ED0D4FD43F607C903CAF97BD367A245C5A08A02DF9C528BD75CFB2D3BB17B279F1D7B8F6130E6539501FE2D8CEF10C5E1DFFDA265AF112C80EEAA36E23AFEB82CD6FA63FEB0C9C2FE1C6F2664FB94398BADE99B97527969BC1457014F7ECBB8C7A9DD09FF8490 - -77F1DC42E15624425C813AB6C61F8AE28D3CF49CB4F5C5C671156793D075203E74CA80A565189B2D8739E7CA1DC96A1A6CD9BC3AE064F7B31D160F93BE74144AD85DD53650B3BADE6CB3993B1E6694460195FCDD361EF37A8642C394FAC462BB7D09DF78F2D786B4F0C3A6AEB51AD50651D266AA435F5D7DD379A8D2BA302F1299417FDDC9C4DA7F29F713777CA517D1432F5A2AB21D8CF2252C64AD5A7C78EC8195805085DB24835C2D8E9D8C6D04D4332E27C8B6CFEADD4E32CF5DB6B997EBC4EBA5A8BC58B9A6B701CF7B92A88E2923E27C2937271406EA06CE7A893508D7ABAAC25941EDA8D949FD9D282181FF0F6206BD1F51B8B2F26E17BD8D3A3D1B255D0455F4C1516ADEB5C12021DC266D3CFAA0F6398EAF78A21827ECFD54FEBEE518EE04AAFD33F2C028568CE02E85262DB705E4B05007F313BCE3BF4BE920048406 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/DKETFL+Helvetica-Bold cguidfix -/F2.1/DKETFL+Helvetica-Bold renmfont -%RBIBeginFontSubset: RDYKDA+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /RDYKDA+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /f put - -dup 34 /o put - -dup 35 /r put - -dup 36 /e put - -dup 37 /a put - -dup 38 /c put - -dup 39 /h put - -dup 40 /space put - -dup 41 /m put - -dup 42 /y put - -dup 43 /dollar put - -dup 44 /g put - -dup 45 /n put - -dup 46 /parenleft put - -dup 47 /at put - -dup 48 /s put - -dup 49 /parenright put - -dup 50 /braceleft put - -dup 51 /t put - -dup 52 /i put - -dup 53 /p put - -dup 54 /equal put - -dup 55 /hyphen put - -dup 56 /greater put - -dup 57 /underscore put - -dup 58 /l put - -dup 59 /T put - -dup 60 /semicolon put - -dup 61 /x put - -dup 62 /E put - -dup 63 /u put - -dup 64 /quotedbl put - -dup 65 /v put - -dup 66 /d put - -dup 67 /period put - -dup 68 /backslash put - -dup 69 /braceright put - -dup 70 /P put - -dup 71 /G put - -dup 72 /colon put - -dup 73 /q put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94DD8F68E7C9E6CE89571C79E22E977A5B42C931CC2176483889C4D7EEA92845403A25DCCA7D608A9CCF062C4AA2D9FCE3829A8A833E2409823BABDD01EF6807EB291083A57813CF5DECF6D9F8B24039E228911031EAB70B64A7D1A8AD96496F97AD046E8CD4F52C5C774E6AE3414335CA79732536E94340942371B6AFE1FF52114B0ADD98D56FA85AA2409520D59B51B2F75B09DD7AB391B7058FC4A7C6ADA2D1C7946970B386B3D6E5C74D69535EB3D9E497631300F213A73C04683903E69D99C8C8FB90869C18C6DA3AF56DD01D83E160586BEDED54F2033D682098769C156985BFF89001C26241AF34A2DAD200D58D6CACE83A470FE3772A2A5C1A8D238F18C44DCB9F84F94F126B42FB86633A20FAA0CDD62CAF8F239E04F2BE2C7A7866A325101BA8D488E39DC250AC388F0AB529C5EAB589B3AEC9BEB03F75F3EFEB366E469CCDF9D75414B9750604CD2ADEA40037A8B73453C9E5B11D28E1F750B471C674228022E894F078438BCDAFACF0E375D831684369CDD9CF57213855D6C86DA3C878C3661B12BF8219EA3CDA33E7056D251CB9C8B639E4E61F536878FD247296BC10E3D1778CF7E7A27DCD1D2D48A60FE6AAB55F1E87073FDC8896FEC00A632A2710BEBEC2D747CC3512F55FC643223EAEEF353B1888C9C1A9CDFBB180EF87D23511E99BAA5A41650CF42005B56644A4051A2F78CC44232F58788D4749641E4F56B1180CB5DBD57A9467D2649F7F474153A972709EE0E2D46E6C8771A1483969 - -662907CE5AC1634663603769B605BCAA5B04B8415A05690B39981A261FAB523417459BEB1833FF8F20FA6718915231FB1C072D01C437D3DB904BD40E6E93D398C56B397E1D8F256154B6489139E64485481B89D7CCC590350CF68DF1713FFBAF0BA6DF77E186355B9972DCFA2228F53E0C18CC66AB1217CBCC153A2DED41D6AC753825EAF927E03CE2017210CD21C9CD2D13743207FDF710B0145C29719F71A06636908C58834AF79E6F0A9A0ED66B2C5B9C7B0EFBB2AEC381186F518027A304169BCB182FFAD30CCE873EA93183659345ED8FABDC2D33DE439DFDCC64EC00BC416D25B31363C5B98F8709795ED90B0FC3D01D46F359728D01F6A7E77D2A6C0BAD6AFB8812C07E6A2874F4402232277CFD626FF8F377A5BF93ED057571E5BAEAC2D1FAEABE0AF6F4EA9BC4919FB39E9BC6C2316C2E0AA2421DCBB475B91A8575BEBFA90BB1120F6C8B6A91F10C0A3B609D7DC57F561E1021F9FA4EA89D699B62242C070DC3FAAA0BE45F9C9BE585F3A7681229FC653830BF416E8F04659522FDBB2D362F5EA40A2627350891D1621699FAFB5103EA552C807594CC0AE20E7DD737B1CD15CC52A1E4707B554E24A0B80465809FDE9392BBBC2C32C1DAE1378F3F9EDA28EF7AB52B9AFA00F7B8E51A38A8351BFAD7877D76F37B22C51E739C0965A2FE476E96510A762E50C313E2609511D36E8E34D5415B0ADA66A9B37DBDC8E97C621FB986835654F9C3BBCF92D7A472902249ACDE69A1CD9FB3358BD7047BCBD5AF6DB7BDFFFF61E664DE0C8CCAC8D783829A4C8A643DD2E36E2F72010C6ED6F43E454AFD576CD57EA362DB82787715315C5967685DF4143A809F784C4C1CDE30E22CE94AE5DF947A27B2D683D99D7CCC11AACB57FD55D3BD66C83D3D8E85559C4AD1223194273B244676F029A7F35A913D1BEFCF460C622D3317438D4CD4772A29CC5C00DE3938BEFAC583666ADFA40738DAED48F239697A304FCA39B02ABC33E9B1B18BB5C8A5255C2B1F81EBA187EC52F61DCE9835036A7171D9A4A5BB6F259F9CC63B3936F5784A991991BB21522E5DF45C45117C1BC2E3A048C2B875AD1001ACC1B354F9769320842C26B13B5A05D40B16797411EF3232D4BD8C9391C6D44F3DED88C64B1890ED66F5EDBC27FE5EF0010A26BDEDEBE50615D1F5F0C37121CE051A7CFD98EB0932586AA324154DA9A8295933ADBB446F33E75FA3DD41517972519489FD36F5A3A430C76BEF8764C8C8A96E79D03632AE2AC66EFBD6183CFA14A20D6F32F80BBCF1F124215F8C62284F1F1F4AC0512B011171E02FE1021D28F247A97B10807D92A2AAE16338F9506E7B2D0085E88D6E1929194A8701C8D38E508F7C18F2A41D0014B3B4FAAE5A2F9B75229BF5B23BB6D1A6782E6ADB1C1611BBC8189EE82E907EF08E55A7DD97BE361328A09ACEE76554B003FB5F568F7C - -7CF2B9C7D2A4CA020DDA90810F969FC5A5D2B14A6BCC28982B6E32C2535E5CEFAFC00B2804090166637E0166AB066E77173346B5A7F0891225E0FA3793998BD1D3D77E3010E618C5F05F79EC30956BEDFB3BD1B34CCB4FCEBAE68B06A4A5E63ABE2BC7DC81831AF0CFE35414C5AD03561AC3D16FA921C3D8A928A359A9D69FAD5B00B46C88357D699487F0F79CB1442C10B0B45E4333EC83AF3F5068BBCA7A0EB28E2F0831B758073A80A90C00DDC406C14EB0D34B8645ACD602AC7230CC1D7B2B073B048F79EBEDD1E0CA5457362EC88FCD80BFF3DE81BAAA84DC1EDECABB4C74FA6140950FC0E3DB3B350DB9F7C2E9B3623CCCC3CEC87CD6EB8B9063A30459B8DC64A70FA34FAEAE75D4A7E9DD442D8599496CE9CD7402FEE4A89852FDEF9F850A9E1380DEC1905943C27B2DA2F22ACCFD29BF0880DE37BE1A32FE78B41189CCC4063D451E44F136A1C1C978D4B8AD1AC353AC418861B8B84807900CD290CB85B2CECF2345CF260F5BFE6C04E184E61B2B7647132E6260CA854126158285626F80592294D2410B8FE4322854E65AE2267D1AD0D4F5C49090C8866A295F0D988397AB10F776323F3A575888E55A138BC666AED78BEBBD447F91DC1968BBAFF724A8FC63F97BE57192F8D008B94751490D2947B10CCB0D265682BF02083A81C0BF0F424813BD804AECE7078D6D1928A029EE36C8456AFE2AD73A117CE693B14709009A4967BD6965F162D3F8123384092648B7B6617C5F0EA46D0A1311652D35A9A7D15DC8C2B321186395755904CF62031DBA18EFB394642E8725FA9C9FC559D6CCEF323C01369C7141DB22D3ADE6A3C4CBB8213454CF85A2CE2D602BB6DAF050A95DFBAB14C542214CE7AF5E32221C8953CD32CDE14B748189FC9820A5F6A41D2E586AB43A242516B1120E24CB267FB835A798052537933BE5E51222191B722ADC5E3C685E10CF40888E9FCE74A99FED2FD4744E0E1DD344E8B9C741D52CD2F146BA1ADB7FC43B92D502010EAFD0F07AE7980B425054BA13386A35B6398F945E886B5B5A94D888ED58051384F42E142B1E65449CD843C0787892B59C51A487086441875152D18A017400F8ECD68D9968055B83DC869994B4240FE5A9EE8ABE2E814F33D6F8898B77848FB616177EF4490122746C2D658F55E31833E6AEF6E0D662999308E7A570921FDB10C2DD4D372BF09D0F81FDEBBE38FD941F7D02BA357D21748DCAD9E1AAD7F8CEEFEC9129557600869EAF99261FC6725E181D9810236DC2278CEBE713B5EC3A986F15639471FEEC9EB975200714A301DA329129CA7557111F680CC6C1F09FABF70BEBBAFFDA30D41E40C34DF184744B09FC4A7CE781FAD4E010896229A2BB58C651060CB47A5FCC8DFD351FDF1F262049387861128AC601D841AA5857CD6F4133E3424D6A8E7B1BB79A0EFA4F3DD39CCA20AD9ECCF7 - -8A125888516EC006325ADD9A37CE0DF0360400AAFBEF45CF80C68F241AC14D24078DF5158561BC07469A426F6267F04951BA1A3B9E51930E8F97E94780DE8ECE4A7961B4EEE2453A4DABB4EC968F175E5102A2C6D5782741E754AE591C82185A22E4B911B09B07291B9A3BDE8A9B0466FDCCBBFD202BA283A0421875E663552D41F49196FBB4FD531E150DB9EE4C2082597572262F0DD113D0B7D42BB972A032A52F49B40684B461178C3EA3D2F5E5631550BF343ACDF2B6FA935B24AC614AA212A69579C638A405F0A480B1B9887BAE2C0C10A81E8013759B7B124D0DC7075A663633FA2A19578C2DC8032A725BC3D2D2882B36162886C614E28F7449B040F040C369CBC223156C10C04CDC2E6366C1361565C8979445C3445950E50C675BBAA4C9BFBB87CCE3FB3813A2AD8605178B1F4E1217021D8EF881FA3CD847FEC9DDF10BE602B16E3D9824CBB3D3F7FFD6D8FB4065AE7093BC39E1FE1C04BDD3D26C064EAF76AB15F899818AFC21016B88F6E699AF56A919441DB53D3623B72E29BD79F996FD64F14BDF48713D2CC219F1AAFF60BC144C697E6870048E31422AD9D20BC51A1E2683AD9FF3BB5D6A72E6BE8C7F9EBC599EE52E3130693506B6333D653844ED77362E289C044CDC910B385D938E2C133B3D443BC925BBD3695FF37A5008676936FC47074A367CAEE27D63D08BC43B6CE9499EB23601F27357F4F5C62210DEF659D75E0B9D1E459C6C43F39E7321C20ADF3D82D6A3A5D22B58A3B80BEA8D9DBEB3694F0ED4D53ECF8EA27D37FAB06184713350481F8560298B7CA62F067C22B8D086C352664AD71545813E3E3DF0DCDDAD559614F04962099423850B89C0F8E94BCB8D6D22DDD43C6DEE3E27AC6BD36721A24E1C9B3500E173E5AABF0E978439F45E858BCF7CCE96DD5C97D45A6A1CD4D03DE3A75305CA3C0D24D3314CFE8ACA32D0CEFF7A0B96D32D8E53711F51173A29245DCEC204A30483EB1E2D77B6955E9191C57DB61C45022422A74D799AD842F59E025E32389360CA52FCB928ECAFD0BE62B5483D6846927296FF80621F4164E3ED96511E4D1E408A30D8D8A01D4897791E975B9582918792B904F61051B2869A617C161898A2338F2595113D2A338EDFD79ACD7570E7EEFE945FC97A0B5445CD1B41696193BCB208074B73AA9AF2432332EFD473A508D8322D544455890B11A12A5191AABF9B8DC49FB138E67C3D601DF3D37176466226209FFA7B435EEFDCC5F6071682FB8C8EB7D17D92BE46A0D69784C7D17485ADD57FE99024ED658C20612F10E2A0421D0D005BA6F419887636C8106BA0468D5CF0EE0460141160DAE450A145B8DE2C9B9B720E4354BDA76D74D90A00C8174BBD4A95A2ED38D8C88A57BCB058EA26699013F6259494A5B2283184A6BDA31A2C42BA9C643E9A823E4204357C5418CBD5E4FBF1747718DF - -CF8B1818F7296B211FA21B3AC24683E7C606C0FBCFF2018C39C3A999289FADB728D4B9F18AD195937F5C40A47119E6B81B404B1F75FA6EFE0DBB1ABF7990D33CCFA3644090567DCE63E0B76DDE0470A580A85055EE991A44A209D51628F95101EBDDC7FD105FABB046609E1E9379B61EFA2E59A5A6CD0CF0504A9D10DA283872FBAB79FF5645D3E956C862C7F783791371F42B32DE625B92EEC51F363E9E378A80572684DC4CF149F79B904271FCE23B0569FBF7A7CF0359A39DBAE51EAFD31275C109B364E555218045A4A851E8EAFEE0F01E524F7241F1BCD5847D89D1488049AE12FA27EF24E0CAC1B84AB4224F74366D99D38659E5CBD02C9A5630854851FA0D422FA975071402FF81FEE9B692B2E16D7522126F8A9F021509638DACAB5D2AFAD511DAA1406C63A3B366BD73277FDBD9CFC7648917BAAF4F57A01790FFF6F8A4609BAB6371C712DB3D16E65AACA2EA9C9CF9464C0E5BAC9C5E7B7A3BABC72276BFD2F33B91B13698C7014B5B0D3402A756B5324B17515AED88EDEFA51DF94805CB16990DD6B5218EC585B7985C641CEC57D0A0B5A496E3ABD13DA0528A974B2C381FEE45CA42D01137081B071606AC8BDAA7FABEA99B6C7A2AEED99DF67D6CF542FDA39ABB0D4B689AD442431B76FD7E1EA72910E1B3C3E47707E08EE1B7A8E654A7A54B09C23343004C45A528280C8B9D4A90696674AE2C519CC8D853DC45CBA3BD4EE6FDDB675BB9A028A308F467631AAC575A612ECE035E5A7ECB33963585397529F6EB01C3F9A569E1B5830088A0A3B7F9CAE68B30593A78F91D8F94636E6169A9EE5966EE17BCA699301457F09C5C5581FDBEFE1AC482B28FEC12177001F4F88CE6116E98C0A0305CDF620311DCFEAE33C6E181862AF48113E4A60676E81492A5A48ED286333B4D9BE28E99EC38583B44E064F27DFEBE037F110DE5C512E1D246E2DDC9BA4725E048D8715FD0AF0E8B4FB214F5AC35309A100CB483213CB644E1C56D103339B53A1CDCC0AF0896DD2C96E5F18B3A233D576052E8DE4C581BE9FBB2EFB70F3D10DEC702757685046B9C6A936CEF24FB7A24B8E7D7D5140C4430D84AB3800764F68C76F2B8F36AC052055BB86044195C380FB8DD06C797E63BA35280C04610E71723AA14FCDEBD5555B1FA3E88CE701E30D734FFA926BFF859AC42FAF5C3665FC89EE6830D70AAA0C8663FA544C7D44EF37EC27C296658DEB98AA6BAC50462B378AA37E2DB761347D1522EEAC743939272AF8CEAE5656CE5C2751EB3E9133B873A7637D535BE4AFC1F02C2B3CA7344FBDE3F80B3D7C4F3ED4F9090DEA1DF6BA20F4B279F87B71333A2DC1C75213A65447A6B86C78C9B799C5BCCC0D3C50CFC00C780870182A6CC84DD04792B967FC32D993918708185B7144C5107CAB688549C58ADB40911A06F42FED994878B8B19927622EDD062B8 - -59771C4BF76E35859965620088D8BD9BB696FC656B1AA81055B1D025857D46774E889C4CE3C3189D40EAC081D2AC4E60AAE644DEDBFA71524AA4B26AFC43728298062A207B45C52DDE083CE242E217266A9EAB55445070BA21157A48DC59215D490ED70C3DE8928A84FC852174C1AD4BD60F042DB9332A4F900CB31A1DBA32DCB37E3EBEC7A83B68FAFD2FD29E1E45DF4932B3D6A7885309183C0DEE19FBA50167AE72497ED34C7B91D6A7C748191CD4176565DE6267D77958CFB16B92D189B733D551C38E4DDDCD3574B77DCE0C1BF463343C6CC461231692F70EB4C738F79662951E4CBD26B2E037384106214F33C0701F521CFC5D461874E9AC322E3105BFD28456FB993607CC8EB3E985EC548F48E2F788B8F19F2D0AE5F1C9D4D643EF45D720EAAC85FFBB197E00B7F371E5086ECCE477BED5D45C8D964114F0368FDCB0EB5242FD52E93F36060794FC67AE3CB8966BF7D9C9E7F4C2F3B289A0E5ADB3D4D3E8BE9760D1769F96171197711E903D7D77494F49885E483362A7D16DA7B1AEAD713B89C4B9D2939B880F6AACA6E79DCE73CBE1F65843B1B6FCFD59DCAB6BFA1042D28FB23B20123061CE16DF5B9C87F999228F93E79B0831CF281AF01AB90D0012FF53C50129C8A8AE844A2D28E6C570423ECF75DF105A872BCB83974A12EB5AA987F9FCD42B4D50D51DB8FB7BAC8DC8540F3A25C740C246A620EED74D2D1F449D04BFE9136D1E809039B168F006FA231C9E5780ADA8873B67EE91F7493F5E444E8E20DB9807562213D3C910423ED56A1CB43DBDB5F16458ED74C369371D4B9882A5D6C459E36D67C23ED4FFE34F7FC610F3753B09B85A4383FBD24FBB75C8751BD0B8CFD2F40D331689F8C2C1808E4D5BF0CC398FBBFF88011896D13E730F07F4A13B1A1C005A6648444B0EA86786325DAD0F39BD06A734419FA557E4453072C9FA5E08CEB593C6E4F54D5A4665B14EF6C327365779938D266C70308C8524A59FA5BEB6F0FD3569AB07984011F637871BB49FB585E1E3CA1F6C318E71B06A06193C869E44B385FB46BED5DEC0650750D454E24B0F9F2525E0FA6D102A91F0FB21EF02007F7B816A2A2CE35F3B8E0183C43DF61697ECB859C9B7AA6A03E60A1A3A6A50B7B147C8777825F9B3757893A9F076489F2713B1F10D0737FA855A7C1CE4A1550F4DA1894BD946376868465D8E5BD3B4CBD2C4EA553FF056141B8B0A5CE1569E760D3E95E5ABA4480C7E09CDC8974CBE79D96723D775162AED4698665F3247ACFB856CD2FE91AC7F71285213A0F64C59DF7B93E75E98BD6C70B523BB37110537D02709B2E44A2B5B6ADEECBA3943F48D1FCDC4A8F38CAF88B5D06E47F85B8C0FDEF0B051BFF64A13EF9A7D97E5FBE2DAF6CADBA3787C17AB47B9F8F9602474E87C997C293AA1DDFF151EB52931EA77EFA501410758AED698A1E89F2E - -C98C56CF0BF48CA1EBA8762C6B82C9A69AF0C3B25C0367CF3F09B9A5E48180DE00D6D180D937C6360FCAD039F6E46917649CAF39C1C6F76F56929F827BA6B65F9E2715E8FDD6606039041D005A03FF5969F47106A1504116A91DBDB93C38830C5716A405ECD4EE8EFA29BB740E477FC9226AE90B92E0257B3DB954649F9F1189A9F1C8B5E825D4F6410EBF6AD8F6EA186D9E76C52A32CCA340F864A754420924D42B9164A73F343B43A3E44DEAD025CA7B108AF7CA8CBF039D7BB7B47765492206C61F3DB030DB51392DF9EE4B621ACA3CDCA0EFD900E68B68CA9F4D626FABFACC251DE3DBB6914B7CB1FE5A9DF18DA2AE21AE4D17A97DFE42E2F980D527F957AB85092A8E5AD98426BE8DBF04BA2C66109FE8FDA729D98160B501EC2E539901A86F0B195FF63970A2D66BC301C1988D8FF2DDA847935CFB713A145A9A10EBAEEC8E70AA36FACA245A24826D9DAD2EF1F6B2697CA760F03C3ABBE7C621C3098ABAFE65DCF75FF4C045DAE8E67DB4BFB121EBBABF984564B51D76DD86BF51B5132DB2152418BADA74BFAD8888F7276E8E76427F375BADDE62911C08587CA9F7B242FA3D6A78E458C1DDA3B75DCDD17544CDA4F1E8F3224312053D4BED848B1E5A35A38601C7775A108A7AAE037295C311A830A04181FC6990A7BCE2D7B776851A237547C583FACBA3A39D413205B5D6EFD17D01C396AE9018FEB46499B6320CB4248513AE0D19D5866BB281F74204BC1F706AE60219721FE5CAAC90E1AB006AFF39E4D0CBEB203EF6447FF429C4DB9F8419D66CDDD58EC96BAFA61FB74CC9622BF8BFD94273BBD5EFFCF5F75A5E05F77BFB5B6CD088756E54BB0C5EA9F8A71F226F5FF837EF4F999D820661FD3F52B8C3597E4172178875DA6ACE15DB12039AFAB00E84AA8655AD77F7C165FCCCF03EC07BC84C5F8AE59A36B36446CDF587351A676CFBFDFB525547497FA8A8EB370FD7B969610B0D2D3DA01757280441FFA929AA12994A2968CD4D59A5FE5FD5A3CD4B47384D2A89307D1FAC5953457DF75FFDDA382C3993F8D56789F0B781E03A5333D44B22AE1881F549EECEA5701BF916F2F5B36337515C91C787EDE9290EBAB1C7A57260D2492BEB0EA8EBB0C6D6AD897FBD3DC56745742FA68D6C1FE537730517EEA8EB6261F96A84D1E1B627701E6FA499D0D3F4DE3EDE9F6571C8A290300B8AB8A54DFAB3B928416453FB91CCBF3315379D902CBBEC829B38248628CF771CA59A94D2174F708EBF2BC501F8E3C597025F59F2E20DB20D9BB7935C6D30DF30CA0495BE9DE8709AD2C5CD5C9CA38E1B8FC057F6C2DABD5FE61C5D3C05885029DE174AC650A86D0F75AC55C4727EC59C2A5147D6725E5677C6487634F695A7E943CFA547104FD3C86A69EC60E0FB9657218896697EEA9A674D90DA86E483FC17658CEFEE319AE24C339ABF526B1A30826F - -A7CEE4F94DC41E8D6425FF35AC891FA16C39CD74C7FF0399927CF18701F63BF8145A7D59D17E4B66BB4E989ADC389C50B2439744256F9189BA65E1E7B6399F2468B6AF454A6162F7EC62C40DF257CFBC3AA9F637A93751D4BD1055A1DE6069B06D9DBE2C15161C9CAC465E135F2C57ED88D01F7539B4166A9C158B97E23191C3517865CED9670CC8DC51EFA67C0FE0D864D9F92001AFA5DB37772C8A18C8725A2C737FC432A34EB1E239783F822A81CA235392A7051FECDA7F5F6D34697E77977EE262F8B66C9C0B21E26D70909E1D2F3EF2640CC32D2FBEA3B1A7E0194B2B23230933A9989D03448301E8B1573F623EA09D65B355F7ABA2DDBDA6B6594958FAB61E89839AD095CBA7B3A5B569C6B39A454F6F296FC5A73367DE4E1A57400FD962624E8EBADC2FE46455A1DAD633E4F3BE79C2C857B91D2FD07C5A58B8F5416A696F57E9C60E548F22D1A804B8E333F7DB023F12436BBC40C2B5DAC7F7415F331AABB54CDF0FD35AA7CA581BA6A9DBE0FA0ADD86A7DDC36E449604354D762721E013EB943F9C3281D67F69421A0DF4C54C28947B23C5A22FC6C3AEA5C5D317530155903F47C30D2D9B3F6D37F1BB06305D59DFD11FE79F7006688475A1AEB49EFEA4CBB56C900AB9BCC5FE7AD0D23C19BA92B0C6DDFB52946649A4ED88661FA0E5D3ADF6C901896F607D6018E5E5523AC7BFED1E832C3F66DE5CF99D86005248E513ACE5C747F73CDF8656942B2E986A8752B026DB519ADDF4F0584FC56EEFEBC2AFC2480E7D95C8AB9E12C28E70FAF1486BA4B615CC570AF0245A744CAB18D41C6A7E1E2A6B1244C4DF254DB3FB68EB983A0967DEC1B33E41DB62DBE5F837B09FFFDE976DC113AFACFE5D54CE8C243E12861540404B09EF63F7C98F7FFFF11AAEB06BC7A7657B619A3C4FF50D78C436BE1BC5056493FF6CFE1470CBA959FB7560111CF076C4F613668C4DC843168CF0715978322C3ED3CDA378EE3993CC093050D9B2471ACD15EC24B5CCBA478285B654A69F76EB06632F1E1D36937A6B6F5B41E62C8B7090D3A49A06A41CB30B2D521B340BACE4F579F67CBBB61FBE6335C1DD2D532EBCD49FAC16F014902A4241EF6AD034D63A8CEEDC6565F85B5DD57852EEA84BFFAE41C088BB4BE23505850217C800D15D6E23E994AE6E038ECF70AC60FB4121648D945A38F72C9BC05BA6329F41FCD5C0FAFF7D177572E2A3A0836BBBDE98016E3D59D9BB90E4E7E56CDA36D3269270B47C92C03CCC2ED361C9C07C8FD1CCC949632C09CCE158607A384BDF79DDA861CFD1D9F6D491F4935107E80014A0ABFE3C8E95B01BE1EAFFE189D52C6DA6B6C9F5B3BC0A114547DAAB321FC9A94122BA3349197EA5DF976334DE220AAE7D60D94BEF2ED7BBB01D352F758E924A523EC37FBAB66F084E38300DECDC1429A51F7A208C922531E0C3AD1159499160 - -86232F95DE9AC040AF2F7395941772C6D649FA611A4B6583282063F4F851C60F9856B3C496DDC6ACF66FF4ED5E6C4B67A5213AD380D5C18491ED55495D6E5D6EAE2EF6CBD5DE6B5193A759CCFD94E3ED98FA2AD50A7ADCECC99C3C5C6B6BD27A06CBD89A6037138A9E2BC8BDC90E4314E6B82A6A7D544E6DAA5FF409E234BFEA566E01AE3C33591ACF7982FF2955D000513DDF083C2723B2FA5D63EDDA94A76FDFD6BCAAA214357B16929FC0BFA447AC746FEA1DE6B0A8132487E973AE41377F84D4AE88CDBE01CD072FE392B4EDE70584B8CAD71C6C4EB8DA5A4F365FCC4BEB93B86A17E66ACA2950159F2DDA3686F6A17F87580665CF1757BC7C57A1ADC63F506B5003C6CAEEC9715A60B47A02AE3F7732C44F69A3A517C5BE454BEC1181CED5033AC2B7125357D04F736A170369B06A81EA799459C2B29ABF737D7527A4C6EA3B296E45DD413D0152F4AD41BE5A25861AF62A1AC1B17B222D69E910E0CA158E862EC46442C5D4A784B834A2A15711E43C2065EAD2E64757F2088F5608374E14E936D67CC9780E61219B005EBBD6D1E2F7E59FF0355D4363A114774248D26CCEEBEFAC245FC3B3DDC90F5EC5F242F4485D60B8D5693F02C4A22CBB711336716573D45D116FE8C48F8FF977B9A87CAB4651F6379CEDE82697DC13F1FAA3D223E6AA87F77AEEE64071D4AE6A95EEA22D57F18764B4E100E0EBB125145E7A4C550FF49240729DF71E7CB89CCDF4E49B9C243C528B7362C91F3D8C7383D7CCCC3BD79B29812B6953D82F4B41C8B50E0642FA15C5C24ED99B5D2714CEB7ED0925E3753725D2FC934303B8E734211347A917FC3D0B3D6573116C8AACD9DDFE73D8431331F4ED4C2223AEC3753CE8DA126F08E9A16C8D10094A58714ABB14106E5ACF5D12201D1E398BA0A4BF771E11CBD152B2043294D2A7F29F5DF9936E99EFF2B93FC53064E89B6E3C361B436143126ACE270FC6F9CB773A120DAA20BEDCB349811F72CC824755792BE6FB5E5EDCF57A281604AA66EF04502A97F183931AED1A9D259494C07AAE64CB0AE278C19199E42F53648D3567CF8FEE2B1FC96CF9AA71D484E25DC800C4117A5350AF5DDC1D6B7F69A9C89F10B3FA6F3C3FD5F3C6EF332A05BB517B63FFCE9C1CE191B04CED167D51D67210A552E6F271E7007448E94BEC25EFD0592026141805EE7CA0D40E127C77544FB6EA5245DCFA533F46F1C6F797CC950053D86C7261A63F857DCFE0AF6142A47E59508CAAB1566D871ACF6F65B00BAB13442727B43F1E341ED207989B35F537DE3D67E6BD115F89D888C8DA95E50A005AE17C2B2E211DF7EC4CD0007FB40487B6F3B31F11034A725BA45E5509199323D1EE705817DC62AA7E4E06DE445C3D93BC924EA3207245CEFE649D2B0DDDD3025D2C80CB699E41D1DEDD92EED2347B58C339AD027894AC68233EEF23BAE3 - -7EFF29C5C1AAB64F3DDAD2CDA178FA5BF843C45BD4ABE5C33A35213B6B729DC0F124D27F5819D4FB629438AC2D89535F77EF9950BC456F6FD7C904AB3F7EFD99F86AEE7A641C0F266980B64626FC283D6710DF21884209DF60289E8910EDC9311378DECA2F08DD05E2AF938282225DB903009D5AFAD5BC5D6CAAEB8F6B73FD2867C3BDE807D1687845A55BCB266BA62024472038F77C452D060640B10D09E8983F53630B6DEBA9C180EEFBB8B570C264A59B365A7CDBA85B4C55C1964D07F0F4E6C40E5CE7D09B856CFDD9096565706CFDA3471231DCC01E41E0E2BF4EDD3114BE5EFDE5F128E442B7D6D4825D2B2E954426D21C1E8A4A979A2F8E08E13F521FFFEE098546DE852A6E29CD40218FF2DA6849EB8A80D79D5BB9B5ECBBB8917E2128165160310C7A40CD7C6D1360B9CBC5E3DF007C862C10D4AF9351879A6B60918B8EBF1DEE7530C400C62863996CF10F1DA8A561B705E5D5075530B4B62F13EFF661AC9141B4F20582DF4741595796B7BC452E1F19662647A002161C1594C28D2BBF5A10FD6C5A9BF927D31A5E0A55F8F48B8AB312D84098E08A03DD29B3B9B6197674885403E7FE3B4C96AA97E6DE3AD648E12EBF55C235F4367CFFCA586A4D995A4895D31C17406F89ABBD2C27AEFD39AEEF2458D52F1E2E1DBBEA595B2C5B3B7F62DC43F860D05C6313C580A9C24C15C647249FD042A013DDB73E9E1317F52B764E7D36480D0202FE56B12F10AC1D368BB0F8E5BD2BF0A40BD172DADD206A6110B963E5D5963E89F77836835613CB92DA9EF10EF53761C2277249448D66CE2C8F72FE367BAC100E009B7B1AF3F530A21F91834EADB54E84FD4587FE1E489B1F4912588BB4B3BC3D937A70D09982B953723F71B950F8121940D42914F6B080A529E5F5527D6BAB3EAFEB9DB551E45D5C358FA9511DA91A432611539E761CE653652E1017B151E6EF1A5AC50D7576C02C23A25178CC4F7C3BFEE88F56C3042F4816C1A0 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RDYKDA+Courier cguidfix -/F3.1/RDYKDA+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"##$%&'\(\)&#\(**#&+,#-.&'/.0#1'/2#&+,#1-'0"#5,.,0#\(.6#7'-&,#&+,2#&/#\(#1-*,#89,#\)\(',1:*#\(9/:&#',;,'0,#0&'\(.6#5,.,0<")[ 22.837000 11.398002 11.398002 11.398002 27.347002 20.500002 11.398002 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 29.643002 13.694001 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 13.694001 20.500002 22.837000 11.398002 20.500002 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 13.694001 11.398002 ] xS -48 312 m -(="##>'-.&#/:&#\(**#&+,#?@#\(.6#A@#:&'0#1/'#&+,#1-'0"#5,.,0")[ 22.837000 11.398002 11.398002 11.398002 27.347002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 11.398002 13.694001 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 411 m -(!"##$%&'\(\)*+,'-.\(/.)[ 27.347002 25.051003 25.051003 25.051003 25.051003 15.990001 13.694001 11.398002 25.051003 25.051003 11.398002 27.347002 22.837000 11.398002 25.051003 22.837000 25.051003 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 525 m -(B+,#-.1/'2\(&-/.#&+\(\(0#:0,6#&/#2\(C,#\(#5,.,#-0#\(*0/#0&/',6#-.#&+,#$.0$DEF#6\(&\(9\(0,#-.#&+,#1/'2#/1#)[ 25.051003 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 34.194004 11.398002 22.837000 11.398002 11.398002 ] xS -1891 525 m -(G,\(&:',>\(-'0"##B+-0)[ 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 27.347002 22.837000 9.143001 13.694001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 ] xS -48 575 m -(-.1/'2\(&-/.#\)\(.#9,#',&'-,;,6#,\(0-*H#1'/2#\(#I,.,#/9J,\)&")[ 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 31.898003 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 ] xS -48 671 m -(B+,#,;-6,.\),#-0#\(&&\(\)+,6#\(0#\(.#\(''\(H#/1#G,\(&:',>\(-'0#&/#,\(\)+#$%/.#\(.6#\)\(.#9,#',&'-,;,6#-.#&+,#1/**/7-.5#7\(HK)[ 25.051003 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 13.694001 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 27.347002 22.837000 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 27.347002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 766 m -(!"#$%&'\(\)*\(+,$-$\(./+,$-$01\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 812 m -(\(\(\)*\(+3#%-0ᆲ\(6\(+,$-$78,$39%::9;#%-0ᆲ<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 858 m -(\(\(\(!"#$%&'\(\)*\(+3#%-0Dž\(./+3#%-0냵\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 904 m -(\(\(\(\(\(\)*\(+$="-0\(6\(+3#%-0녂,$39%::9>="-0<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 950 m -(\(\(\(\(\(\(!"#$%&'\(\)*\(+$="-\(./+$="-01\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 996 m -(\(\(\(\(\(\(\(\(\(\)*\(+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -367 996 m -(0?55"#34-,9!$%3?#$0\(6\(+$="-78,$39%::90?55"#34-,9!$%3?#$0<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1042 m -(\(\(\(\(\(\(\(\(\(!"#$%&'\(\)*\(+!$%3?#$\(./+0?55"#34-,9!$%3?#$01\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1088 m -(\(\(\(\(\(\(\(\(\(\(\(\(5#4-3\(@>A4B$-&$\(@\(C\(+!$%3?#$78,!!03#4-,\(C\(@D)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1425 1088 m -(-@<)[ 24.641003 24.641003 24.641003 ] xS -48 1134 m -(\(\(\(\(\(\(\(\(\(E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1180 m -(\(\(\(\(\(\(E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1226 m -(\(\(\(E)[ 24.641003 24.641003 24.641003 24.641003 ] xS -48 1272 m -(E)s -/F2.1[ 41 0 0 -41 0 0]sf -48 1418 m -(0%.-'/&'$\(*1%2\(3/%'#&3)[ 27.347002 15.990001 22.837000 25.051003 11.398002 22.837000 13.694001 11.398002 25.051003 25.051003 11.398002 25.051003 15.990001 22.837000 25.051003 22.837000 22.837000 15.990001 11.398002 25.051003 13.694001 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1531 m -($.0$DEF#0&/',0#)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -/F1.1[ 41 0 8.7148399 -41 0 0]sf -364.729 1531 m -(\(9#-.-&-/#)[ 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 11.398002 9.143001 22.837000 11.398002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -518 1531 m -(5,.,#L',6-\)&-/.0#1'/2#5,.0\)\(."##B+,0,#L',6-\)&-/.0#\(',#\(\)\),00,0#-.#\(#0-2-*\('#1\(0+-/.#&/#./'2\(*)[ 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 34.194004 9.143001 9.143001 22.837000 13.694001 11.398002 11.398002 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 34.194004 22.837000 9.143001 ] xS -48 1581 m -($.0$DEF#&'\(.0\)'-L&0#M#9:&#&+'/:5+#>',6-\)&-/.B'\(.0\)'-L&#/9J,\)&0#'\(&+,'#&+\(.#B'\(.0\)'-L&#/9J,\)&0"##N0#7-&+#./'2\(*#&'\(.0\)'-L&0)[ 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 27.347002 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 27.347002 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 34.194004 22.837000 9.143001 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 ] xS -48 1631 m -(L',6-\)&-/.#&'\(.0\)'-L&0#\(',#\)/2L/0,6#/1#\(#0,&#/1#$%/.#/9J,\)&0"##B/#/9&\(-.#L',6-\)&-/.#&'\(.0\)'-L&0#1'/2#\(#O*-\),#/'#P\(7Q/.&-5)[ 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 22.837000 20.500002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 27.347002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 29.643002 29.643002 22.837000 22.837000 11.398002 9.143001 22.837000 ] xS -48 1681 m -(7,#\)\(.#6/#&+,#1/**/7-.5#8\(0#7-&+#/&+,'#$.0$DEF#1,\(&:',0##*/5-\)#.\(2,#/'#0\)/',#\)/.0&'\(-.&0#\)\(.#9,#L\(00,6#\(0#/L&-/.\(*)[ 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 13.694001 11.398002 20.500002 20.500002 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 9.143001 ] xS -48 1731 m -(\('5:2,.&0<#K)[ 22.837000 13.694001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 13.694001 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1829 m -(\)*\(+5#$B4&3$B93#%-0ᆲ\(6\(+0:4&$78)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -933 1829 m -(,$39%::9F#$B4&34"-;#%-0ᆲ<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1926 m -(R,#./7#+\(;,#\(#',1,',.\),#&/#\(#*-0&#/1#>',6-\)&-/.B'\(.0\)'-L&#/9J,\)&0"##B/#+\(;,#\(#*//C#\(&#&+,#L',6-\)&,6#)[ 38.704006 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 27.347002 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 ] xS -1827 1926 m -(,%/.0#1/'#,\(\)+)[ 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -48 1976 m -(L',6-\)&,6#&'\(.0\)'-L,#\)\(.#:0,#&+,#1/**/7-.5K)[ 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2067 m -(!"#$%&'\(\)*\(+5#$B4&3$B93#%-0Dž\(./+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -933 2067 m -(5#$B4&3$B93#%-0냵\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2113 m -(\(\(\)*\(+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -195 2113 m -($="-0\(6\(+5#$B4&3$B93#%-0녂)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -957 2113 m -(,$39%::9>="-0<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2212 m -(\(\(5#4-3\(@G$-0&%-\(5#$B4&34"-\('%0\(@\(C\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -933 2212 m -(0&%:%#\(/+$="-0\(C\(H\($="-0D-@<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2304 m -(\(\(!"#$%&'\(\)*\(+$="-\(./+$="-01\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2350 m -(\(\(\(\(5#4-3\(+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -318 2350 m -($="-7803%#3\(\(C\(@\(7\(@\(C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2396 m -(\(\(\(\(\(\(\(\(\(\(+$="-78$-B\(\(\(\(C\(@\(H\(@\(C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2442 m -(\(\(\(\(\(\(\(\(\(\(+$="-7803#%-B\(C\(@\(@\(C)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2488 m -(\(\(\(\(\(\(\(\(\(\(+$="-785'%0$\(C@D-@<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2534 m -(\(\(E)[ 24.641003 24.641003 24.641003 ] xS -48 2580 m -(E)s -/F1.1[ 41 0 0 -41 0 0]sf -48 2676 m -(N0#&+,0,#L',6-\)&-/.0#0+/:*6#&'\(.0*\(&,#&+,',#H/:#\)\(.#5,&#&+,#L',6-\)&,6#L,L&-6,#0,S:,.\),#9H#:0-.5#&+,#)[ 27.347002 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -1873.7 2676 m -(3#%-0:%3$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2728 m -(2,&+/6#/.#\(#5,.0\)\(.#L',6-\)&-/.")[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 20.500002 11.398002 9.143001 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2826 m -(5#4-3\(@G$-0&%-\(5$534B$\(40\(@\(C\(+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -810 2826 m -(5#$B4&3$B93#%-0񮲗#%-0:%3$78)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1621 2826 m -(0$I\(C\(@D-@<)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2976 m -(1%2\(342&'$\()[ 25.051003 15.990001 22.837000 25.051003 22.837000 11.398002 22.837000 13.694001 11.398002 25.051003 25.051003 ] xS -ep -end - -%%Page: 17 17 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: JFJMTR+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /JFJMTR+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /E put - -dup 34 /a put - -dup 35 /c put - -dup 36 /h put - -dup 37 /space put - -dup 38 /T put - -dup 39 /r put - -dup 40 /n put - -dup 41 /s put - -dup 42 /i put - -dup 43 /p put - -dup 44 /t put - -dup 45 /comma put - -dup 46 /e put - -dup 47 /v put - -dup 48 /d put - -dup 49 /f put - -dup 50 /o put - -dup 51 /m put - -dup 52 /G put - -dup 53 /b put - -dup 54 /j put - -dup 55 /l put - -dup 56 /five put - -dup 57 /quotesingle put - -dup 58 /u put - -dup 59 /g put - -dup 60 /C put - -dup 61 /D put - -dup 62 /S put - -dup 63 /three put - -dup 64 /period put - -dup 65 /N put - -dup 66 /A put - -dup 67 /w put - -dup 68 /colon put - -dup 69 /x put - -dup 70 /y put - -dup 71 /I put - -dup 72 /P put - -dup 73 /O put - -dup 74 /k put - -dup 75 /F put - -dup 76 /one put - -dup 77 /zero put - -dup 78 /W put - -dup 79 /question put - -dup 80 /two put - -dup 81 /H put - -dup 82 /four put - -dup 83 /M put - -dup 84 /B put - -dup 85 /L put - -dup 86 /parenleft put - -dup 87 /parenright put - -dup 88 /q put - -dup 89 /dollar put - -dup 90 /hyphen put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9584A64247A9116EDE68329804A007D73A567EFC22BE6780351EA5ABCF75ACBFCF441DC75E1471DDD14B51690E0FB44708BF0EF9FC94F3FC174E5622F19764D2E43BD9D0CDD9E0B27346B4E7B84B2FCF79BA0C1E2D83EF0C56297C74C82B5ACB3F381D5F6AAF054BD1EA1A334ECC2470CE91EFDED8107A60CCADA49420F93A633CEF1311E0FC0DDFCD5C55A7ED8A1364D59CEAEE551C19B94659D00EF9A9822F1F7F271321CF6F3024B984C3AF4890C73B4EDF57761E5AA41547891FAE8CF83C4E379244D67C6819CAD9D10EF372F53970BD445837644EB44A92D90AB4E219B0DD2606BF51AB0BF1EB06DD1699298F6718CF8D60B07BF660CA047947667032DD5E63E0407DC7C5DAEEBA6CCB2C6773FB06C316BA07349AD5972E4D3C0097835E3C7487994525B7C86FFBF8FB2AF666DC24B46CC0132AA3D781C3E2FC54E7CFFCF39C73F44386771224D310B093AFA146ACBE6172BF751680E26EB12994C3C10B699617CC23FD1C8B4B35D7E9738D4E2BFA5FAE96399F7076E7AF7FB2E4733CCB780157BAE01A9E7B39288099B20D897F8CFC640433330B177568977102C24513DA5DBDD4A5B3BD518A927A096B4F1E97A1BB584EC8CDFC969B3F9A61C0F5E43458A43BBCAF743C12B93C0714553B1472AA2462769E1E2220C10C5ACB699693B5E031BA914F8782F3831C643D49C845962CEDF2CD168A5F72F9FD913C7AD2BE3FBDF7DB87460BBA4E6F0F3E38AB796C801B4E0946F65E3A5EE9A4E3653A91E0038A - -BB5E666123CC7105521F6B2346A0251FFFE57E756F350870603CB2D9B43CDDA82D98D93306F4A89AA0FB7EC66A064F7856B2E0296485B434F20EDCBFA739ABB86FC9CE40F20D4C215623EB17CF726D6CB71A0193A4301FD921C475FADEFB5C644CE2856EDD6FA6545AA7A424DA89B6D58FD2E1AEE7A3C5EB1699975E074A94F1823B9FE56C62E971311AB9E6E616F4C11E6747A9FD4769C45453BA2957BC72048A63FDD72F39D08C00F5994C47F6B31D24D18C2DF09A6BC172C1C9BFEC2E5CFEB466E6C726C4AFF8750A4B7B2D8DECED16953BBA8DDDB563D24AB1D2EC7854416E121E4CF729536A8C40A9854477543AE3CC913BFAF3CDC435ECC6F1E73ECD609A4F5D8D4DBD784BCAC66441E095BAFBA74D8256AFFB9A8DFD68F0F2524E4896F22376487FDC4EA303ED2C3537DD69665A4A8FD1A4CA4C3AD7180381069EB3CB27794652CD0CC06936B979CB51EC8CBB68BBF7D62C8202E0FB2B7854C8A92E7F7DAD588C45567B0369425961C59C093D3FCBCC6B73175B56176D176213B4B639775EA73465F38E5AF491BB990A1738C125633E944F750020222CE1DD056FAB301884AC12FD7000517127B8E74B0014A7E8FCEC09C534DAC055FEC7A6599D6A93FCD145EC43CF0976F5A6178DE13B55744CBF30C590310F29D46B86298B55A21EF34D47E874AE5C9B5E6784419194901B29423D69E644086E44B55F214C06F386D2A59E5D86E33CD6F6135747B47CF9A1525292FD372C52D8331738DF7A92D9A318C3A2CD414DE11D8F9FC6520EEAE5E1042010115D988A6578F4BF3D05CC6A842E6BD761BC84ACD8B5CC8A0430EDD28758D9926BB68895B9069206792FC220443AE66F1B01DCD0E82998B1907AEB0885A1781F8861FD8036D4351B2CB65132D6DCFF2DD36B00E16FE4AC84879850BEBFE0C40B84D8EAE463A87C58D5E8B5F8FC5C85F875F52B709C3DE633A7154FE64AE87F891654B590A52DEBDA09A01DB15F6939299B7D7DB762B7C93E3B27BFB3C70183AE83F75399B36562BFF470A40705C613D51FCD05CFB240FB0ADA2443C9C8EF9969149064409D11AD766A0ADF70546AF3ED8C607083C677FEDA9D427AEE7CF2A854A41B4760E83E1FFD95C2346475F9F6F2ABB0F84735BB5B98B55B08613DDB5E9198F599AE341E5E103FE74F49898408928939005BCB780923E5137294106A4CC75F8F29AA1F8994CC6CDAAA0ADA46A6436A9A870870859E76301BA6154D18F656796D065D076E53B3CFC6BCFADCB87658EB6F6268B987A7276841C12974702F7F076C67AC8020A7AC43A37F58343671A6AFEE08285C60F1FD2845FB2B83B253741283F27CD837B7701775A68459A1E31C9247B08ED1F603A7D78B2DEC0F35D00D8DB42685221500A121C574D13944429FE84DA0E40D71A887CF91E42A198E2FB31130623A8CC98B15F8A26FB4C3 - -A61E428E3F81E7EE66D69F17EFD4B0FA355CA6D00C627EE048C39AA20A922EC2A09AB26BECDE024D8C7065DF33F9341F00140D96CE05D79EA8FAFCE0F6CD1FA3D0F98FE01B96F29938331809F1EDE2CCD0A65DD30CB5A3C511D33370EFEB9D364D3A93880242BAF0DE0129C9F218F63A807A747CF0F41996BB070958A19E6F98F7C54A688AFA4E8FBDCB6EBDE03BBD77F105DCAF0BB5F248C2230115383C2EBAC31215BE098CBCFE47C3CC9FC5B5AC63B76E7BE167573303414CB59DA11597CB5046E2B36D659878829FCDEC163C013D545EDE42C032ACA26456661EA6739C33BF3DD58ED42F7D385A85D5C18A45AA85CF9D5E69046F98FADC4B2A1AAF72DBA451E25B228512F161BB47FDC2D72036C0775E43A2833F0D9EA17DDCE8ADFA1279B7DABC3AAEC9ACC38D628EAABC08697A7288A3F6660FCAE2BAD68F5E3A021BD7699BE54868C7B6F5CE5670CA55D2D59F095FBB57781B90B8FFA2D0E92DCB4DC411A73189C6620CC763129A4EDA3A8C9CB39726E140F62691CEA28780E93019473832F723DCC81D337429372F9AB2478DE79CFEB2A66B2E034D561315238437B9F093BFECDD38C1556F94BF1EA63F4AF15494920BFCE7F55D43561CAA98269E7CF048C379A4159104F7871D26BC5F85E2592F00C19DC3AED92840C569778F1C72D6F3B82AF1AF85F36B0027FF702CC15C93B126D66AF9F6769396C21B2C1DA3458377B393C107267052D2D60F2529E1122A437DC778061CE57D4A80CAB1DF57C73949B20D09D6BEAF1F671EE61F19984D3EF6BFCAD233669DD4174E20A9340EAA662E70CD0D8DFC7B37395AF3052A89338D848F4EDF61D86C36088605D798E95ADF0B94F2BC03CFABF207244561CE428EB579DD053F2429AA6C817143164E7F25DA0DDE8576A4111074FDA622C9BF33E035C778F2C3BD023D536EA3F293292ACF3EF24234DB6481E20904187D9543ADB233C104AE6ACC7C575F6F8263B9C3B131844EDA2EBDD507114B841C8AC11935A9A51EABF0281F9D75EF0109C12206991AD256F8C5B85F366854A90AB990EDC9D68C820B9A6AD4C134CE8392732FF5F1084A273F69F6020CB0901F0A0324EFC0FE2EB046333B998FD3EA31AE78D6325A8A2ECB92C1430FEC72263EC6D335A41A0919B283F0D74ADAD06224CF43E2A7E5A13A9F7057FB17915A2F9B8B1502D5583EC4912B1E0D2DFFCF602A04254B56860584D5C6ABBA515365742136A9EB71CB9E59F3F1CADC06C8480BF7F732EFA92B28CA53AB110DD7F2504436E7A0E2A0405570FE5ECC99836FFC879BEB786332576686C2893724E4D226D4934C283601A5A78C2A8330A02561040CE85B96481C41206096750DDD6AB353D6CCACC44015D32BC81D258E775C5255ACDE093B48D0C4C479799332BF28415A2D66CAE9BC8FB5A455BCF9D623BA11BF905702C12D59EEB8 - -FDD1A6C4684654482FEBA1B26D2E521CB57088CED2F2F4183E244DF13CE40B42DBBF89560EED67A171F56EAC1847D557F098EA414D53AE8AB259831F63314718CAD08A26AFF1A3D0445F3DD69720BE8005D4A329BF1070F60B4FCF12078C8DBA617CE25B92D50D557527E8B2D220B323DAA28831E310C1CD4BBB00206AE9276AE4CE4CF68BE60F2E957047D887685E5F3C649D71E301007BEE79ECCC9593420BFB130A3DAFD9CD117D4B16DA56D3235798525626E090C1A7C3A23927D4A270BFA0E64B070302E33259517C2890009A5D9BD87397633C1FC750025FBC22E719735F0809FDE2F28DD27FF99F24B8AA495732A3F4B8B99349318DEEA591E2B72E54A0B0FE1E12D8B066EC985EFBE998E600B0E188B00D6BAE2F8C1D66AD7B943237359CB9412A163F271BFD40242D9AEAEA0582AE7E0211679EEBE67157E497BA5C2453AD4B4E35904C27FDAC25D2218F21034946B6BDC8B7619D6249B0E545D593DC6CAF187C9A30A9AA8342CCB4FB847C7F421E5B8E5C7FDF73E7EFFE2AEFCEA2ED2C5237FD18ACA941AD758136CF6158D58C7E805835A733C244AC52FD334BEE22082339EBCD5339D0BEE7415624A0ACC8E05A1ED2D08465BEDFE69DA3EFBE26D4E14FFD046A89CDAA7767A38658F79485E9D61F13AB9E6D45C3E5A5E3708446086150ED266BFC00463337094787B2548ACF419CCFEDE5A11FC12DAE3C8AEFA384C4F3C703193811F607A89F91364F53B47F82567252CE42FFB5930106834EB39F76B00527B40752F4EA88AC8C784EAFFBEDC8B4AC80F06AAB5D7C242A36B66409365E359AB9EE2EA01D3C2677268AA9FB0A5175316F63F2124A806BF4B9A47088A0DCAF0A8C6C9E6A6A1B0503498DBA1D8993A1F44ABC4EEFF5910AFA1025AB49F1210027E494028E9F3DC2803367D9AC4A60D6EEEFF42D68396583F4EFEC2447737CB0D00C557F906BDA88C0D846F4C0EABC0469A433C7A711C8A03D746EB42DDD3272CFD3664F15B806390FF660815B293E44EA4FCDD231223C0CB5AB59356CD72BD03D50F189CA4F031EB8E49A746E97B93BF115E8CA3C3F620E74FD5E2712CE74FDEB184562204641B44EEA3FE957FB2404BD709458A320EF6FC5301FF5E54233E48749290ED16627D79DC301A19985EF7FCAB0FEEC9CA12CD414C427816E004631ED4ECC8A24C6084AB7E4C03F4597E1F625D209772D02E3585E8203ABA4A029D5DE5DBF00ED0DEBEBBB5863DDABBB985508A0577D8D86A00FA07F25E4E588761148637B56AC62AC2AA32143307F8CB46C474142A7E87BB7CF07A9D6C9E4B123B03B97054FEB45E92A69775D1B98D2787D789CAE4E2A01229F2F17931CDEF3D39E40F93BC51699DB8D48D75BCEB343DC68DE92273B41D8D98EA0C0603D4A44B6C11F4E340F31BE3CC48DE383E1C1BB1F317D617FB20FAABDDEDBA5008D - -3C7A3BAD5993065615DD789EA1AF5E07C7FFF9E5CFF2E9C90988B26D7CCB6631D3C7025222E241C089BE5F73ACCABDEBE55FC192643B89100F8A034B2DEC0334212E379B2631C6ECDFA5A544249A33A12B9A22074FE188CB0985F07ED46F6F9B78B3F7A17094AC9903FFF520CA30B31B13643EB4EB80E4DE77CEAF3E84F5BA2BC2A7D0E5986F784F366D1FAB4D5AB82D1B0A47460D4E06F044A5D7344708DF368C37985E9FB4541BA01B0C43DE872447043AED34E8AA9913915E5A89E591AF928441BCE5A7F954F679434A0AEB9046ECA63B5BCEC07EB757AB09AE751D8617C7B5EF16F4336F5AD2F3D807BB4C7EC474D483D02E692891472827B720A647F96196437014547EFDDA03EE53C16C7ADA23AA640E299AECF514ACB2ACC98B1294D6734F9C2308207346ACF152BE0B100955A45A65B1897910106FCEB0DD2591D66482254B60DF0EF59CA9090C79DABC602626B375333AA21D81D9130AD9E51D0F76F1A589DE362D6530A3418E2B348AB196A89C592FAAA42A93C1766963D2647E8030628F0E0EDB67561C1D5613245EE57DC0E90DFEDF89A93D37533F8E3F6608EBA4E2AA9DF5BB2B11AB29433CB8906DB3C088D5D32C8840F8D2C63F919E85DE7EAEB1AC880CAB9091F061ED7C37EB02FCD87AABC3859F6468C1BDC42428D6B458142219373F35B89ABBD07AA8E56AD4C231984D693785CB85427C6F59A76A46CCA281728420F4933627835AB44D0D2462F3035CE63CD63086B79DBF3065078451D4C651BF253701F651EE0220A9581E932F2F81164F1CC8C2B3135AF110415B301C612D0D9EAF877312E64EB2512CF46ED82D40E5EA6C19421FC2D1944244A5C91C906276BA3E57CC3DDCB40508ABC56E8B2BAB858C1A6FD6CA5CAAC2FE50775C89D73D3ADD8D1BF540533C5E20353DCE89FCFA5B145339CD2AFFEC7686F2454AF8073E2922099A64204D53C482C21077BBE83F89D933BAB32A306E929F575739F70E06F7AE82B80490DFF9DBAAC5E96BC7F7D7904B28CFDB560FC9E1FF998D90DF95467182024C0371D15BF2EA1DC0A60446452CE24CBEFA32B441739BB364F72E8527631A1AB97209CB8D337A323D6D78B945D04C30DE5B145FC288F2228534C78CFA67473C5AB6708CCC962EB55550A3327B82CFBA7CF7A580BE003C8B7E191750430091A788F1510AE88ED58174B19B30256743A7BCE38A7DD6E7A5EF430D98A463EC9D7EA5AA05926F111525C04AA2B70A76307C376E849EDC75D168A1BB658A5A57258A24DFB530B1A88AFBBB730C41DB05CE57E9B1DE189BAE2E73B0476EA6831DA9103858BCFE8974A0A3D3153F609D8A4F2FD453FABC03C9EA35259C5E7CE9CC990C9F0E75E293877728B644AC9DC594B79A5055CB962B7B21C485E09C0393B6410271F582D042F8F1B6D665AE19A537B38659F516B05C1F393DAE65 - -E5538813003E87656D29D7A2E7F9B8AE7FCF0336C17706E87506482566DFA9F6315B27CEB7AFBFB35961C8A1E1B1970DABAFAD563EDFAAA0D4DB6799D5494441BA5F62FB72B366BD1E5D1E7574215847CF6A6B65ED78F6E9260FC6E8E852B0856909F697F29BFA09BCDB243B514A2D160B43C61E7630EC2F6016497B50BC493CECC5CE8C1B8B2362A908BFFAAFB3032D26B168ED2226B70287AF888E8E3332FCCA037CDE2BB10A550F78F33017132AFB5AC7857A93A35CD1B8E2CB56D6F90BEA7E47F7FC79E350ACF9C6967BA7DA88B1527F0BE7D31AAE3978F70284A4DA355F81C6208AC37BA5951C65649DA111F9D616AACB12F7C72726AC2093EC42482FC6033E86EDE30C2AA00DDCA2D23B593BB05713C8847922F5AC3B74FC98DEDFCBE61CB4BFC0D35AB5121FCC0A0B299FB836CAF758607557CD2B16F563B5262EC7D4F9C032A8CEB74C6AE01152158485F975E18E2F4EFBF0210836C9739E1EA23146B13B7F992546DB2D87888361197A5B76E77DE0DD6538331EFED5F885BC249ED466F768611A11EAAFF7889FF7233831383AFB1E975E559AC2458CBDC82A395884EFC91C653737E1A3094AC83766D5589B4F8907970D42346C91D07F70656E6B65435C2D317E4D00FC68CDF180DB4803DE75B52DB20ACB54F852B7AE87B06D4DFCA420362981CBDB214AC2185C29C7CFBC2A18FAFCC00354D6F0BF58200B45B8293A4A852148A9A551075C261FD2F8B236A66BC22F2CA8BE2F9EFE71E4D6A8C4E9B4E69944051A1097159A93F68ABADBF976082E708E45214024B94AD6F6D0646791031B9C5FC3EF22DB090AD763E1B59D85E04D75C1D559783D6B56720633508F87E9AC2EAEDDFA3959A514B325DF7C0C9544556752B9F729517E5D8CA03690CDF6B01D804395B3F67EFD6FFB6F0C22FCCD292AAB66348AA2E121C4FF9DC755ED5012E4E35045B257CD23C303D60FA3D0643CEE739DB8F92C43EA4F7DCE721FF9B602409CAD20A46A19F9114F4A4BE054678E8DC7708A1E9C6F941104A4C7C42A54A2DA9E0AE74C8E407605DD948BFC38AC4A3F6701919E035DD1589D9AFFB2CD0DE8A7E000E88536577E0B6340004173D5938D37FB396A784AE855392F4860E536E6D8195059E4768E3ADE84414E59D33D8B4FE19A87C977521C39B6EE038267361C859B7E87507ECAB9ED6E8CC89DC4B5B9C2E1BFFA6C06BFAD1432CD7AFAD32367DE03B4AA0B0C9EABF4C4A8631F493A3471C1F032D5A8D85EA60753AD6A2DA74C5D428297A178DBC8AC36A2E97AC8AD087A6A53A866C821C0F3127DCD625382BB6318FA657A4C2957C5B942DDA3F76DEE7F513D72DFCC726B24DF19CCD58D1C8BB85837620B747F5F2875EF9096CD17D959CEEE09EE1937EA66F7ABE7D440AAC0C5C1272C187D994AFAAB48D1589E94D239D50C44809AC1717DFCD678B8F4 - -57968041B117A25D088FBD0B64F54833D688623BE142F3DA1FFB68046DD98FCCC5BD48D9351ECDEEA92257FC021F68BE9195AB58AA66A32344412AA87CC3A19375A937F126C2CFA4F7E637A0C4293379E7CB87A377ADD717FB1211F2C72FFCF7D61D3D39EBA15EF4AF2C5EB5305F76216CF770BB5934A997390116A5F818CA0032C4B5166E3DF8B4C55E9CC0AA066576AAF0C798753392AD4C7220B95666EFC145F41C414CCE3BB24900DFBDCE0175947E25C0827292981F8F5D5B7907C44567869B71F3B8EF099B1182035CC1C63C2193AF028025EAEBC3730553B3CF6F3E2F410C630E8647CEBF970017F86A5503CA2AD0FB4A2F0198D8C730FBBEBFE28B4ED1C8BA611C7983BD1722E48CEE6147F21645FD51F86F6CE7525D578FFB1B6AFA8E7FF9A86909CBDAEA525C4452AF56110E6597118C050BC72755713948F19D92386AEBFC1ECBCBA6DE97CBCB372A654F4D9B05A6DB391747950FF06909D4B442AC3E754408FD77710BEE955C9376E32E1FA57A141B1635C783F16CF07A168A8A49B212F6B348BC10CE74E87ECE669F020529C747D818BA0172013DF2A2B3E79607E22E9EE9F06342DAC797B68FE2DEC83BCBEBB2ECCE4794FEF8D571C7709E448A6218DE4797C988B9FE1CC0879BC48BAB3E65AFC54941759DFECFC0F318595685C5B29B7A6E9B115C425E305C622D6DA9F86F521F45949CCC9704EF3868C5841F7114D8492DB68EB392E5F13223EADDB0313F0B4D33DC6E6521F76B822DB72FB32BB1529D8FDD4B6DFBC8498FC8DE4874D32E66EBB8F0239463877BBE7BF124455163953973B26574F6CF5FB0C73052344DA03DD2ECA74F10B564C94DAC1B700521555FD4B46C209DBF6B9780F0275CA7C42FC432D2D13D2348221C7EEA4D2604AC34A6C291DBFC7D2845080DA96454A18AB3B242CCA59A7916FD18F52707E12D47CC5E7CF063927BEA580D5B82DD04FC18DE9EEA64FFF53F59343C62F847A28E38018E860422BB6B287D09452747165F66D84F3A9E789404D8899F285510ED77E497CA4A93A3D3ABD024B66EBF2FCCAD07C87D79F5C144FFB3E8F240A760A6DD4525C886EA3904B40ED08AF333DCB2C0E63FCCED921157DA88DBB46CB7D8F8759EE1750A39D12DDFA9BACC162FF90E8741E70C1CC399C97D7D67E84278C7C5B97063672B099AE19959A1F6F248E1A9BE5C6360BDAAB0A07BBE0541EABE27A4BA9BDE65E96CE0A86D5E5F6502F06806DFEAC4FA7F52A7C31EB993F6AD703DD26CE3E98269DF1EC19EEE0BCE4876983B3551A973C28EFFEE2D1CED1B396DCAC24296A85BF231EAB2665A5243A0AF4AE34EF4C8AC070B71AC510D72193E036D34B96A2067F9938A6E81CC3170077FDF674EB8888747041BA7EE6E2E42AA37D4E95809E71DF3A218F57812BD5F3DE0D80C3FAEA7AFD99356F572E3D81B049E0946 - -2103B1F834724D2739C127B32FB31B0C7D2E50295953B8C13D179312EA6ECDCCE30FF57360BD1A21F051857D3F6E727366C7533AD102E7C6803041CA113E59CBEDEC46AE98A1C8DCBA9ECC70A678A65B43495E089E7F3FD13673B470CD0C9DBF21280432BABA0E91B16FAF2AB27459B0C69426A562A1BD0E8094A2EA1A444AA51224BBAAA7E3022283FC56CF28CA743ABDF671CDB46CFCF9CF96FD0087619A65AEC3429A2E386AA02327627BC7C5B87ED65024921B8B8DDA3997651432FA8BFB1249D95C89BCE28AE1088E453965E0CC738672E525A456A2EA4A4AA7FC7C60F75BF92A73893C29E1ED5A442BF067AE5CDBB276C4CAEDE92F61F9834F52AE42D1C8E5E60E983594CD74FBB8ADEECB5F0754A73AD37162C997087C371B3CBD9C5AB4E9FD4D4E9105312E8D94374F2B81805FF7B38F15BAD7068B07F9C5F9F31F7B5FCBA137E35BECC913EC3D47A34558E4928352B8DC14D7851893F4BEA9D1EC4E00F853D5CACBC8D7CEBE94AB99E1B82B5CABFE4532D482F7E89A7A253E636B05920924B273E5DC0C719F8C40DE76BB92B7787E6230BA00CAA126A0373F1D97C119BAC9D00F2080A657527116B34B8C6707D213EB09F1787420BBB54540444670EC2758D6F577C6ABB030F19419F7736534F69C1940795D674E4F978485536297B99AB68374FFB7B68F7540CB20837228BF7DB6FDF364BC0FA4D0315483D88AD392D4D4988CCE8BCB932A19D70A332DB7C330C38366E3979D3FB19C0BA90FE691906A57D1E6CDE08DED0D763A92CB2A4A63E51899A3B66EBCB5377682BC7E22A93829F6B90884B8D297A479B65A8AF9BD8D017930C0FE4E8E3A4ABFDF8A78FE127F488FD5F0B549BDF7F4E6F59559AA47DAD0416AD00FF6E172A45098ADDCF7F45218BC182DA2F155DE46CA6263A2916D1FDF12C6196210A54E5C3E9849A2633CE34639AD6B0B56F64295D6AA969F88CB414AD3B68422C014CD219169C9C9E752831CC113E2685D8974B1C9560EF88BDC7E8F2DB5FC8EF230397B7565175EABC9D83D4EE6A5F37BBF1E3FAAA89E9850598F894889639877C4DADDD0B5B935C9E0D4D3BC3321A837DCCFDED4178F18A82D46A7959ED3E720AF95E6AF3AC0AADB551B32B4CE55823B88E96F81F25883DDA30FAE6922695E47217C06666BD926E179F87D95967D6060F2A6C2166ECA89BA86DD85DEE416B9FD5189BC0CC3EDD29B75D76ADC4DEAC102133451E7D1B8882988148327E92B364EF3B385A5CD2250B02B74FB973F8EB1C8E101BE0827F0DB68DE67D8 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/JFJMTR+Helvetica cguidfix -/F1.1/JFJMTR+Helvetica renmfont -%RBIBeginFontSubset: TANLUB+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TANLUB+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /m put - -dup 34 /y put - -dup 35 /space put - -dup 36 /dollar put - -dup 37 /t put - -dup 38 /r put - -dup 39 /a put - -dup 40 /n put - -dup 41 /s put - -dup 42 /l put - -dup 43 /i put - -dup 44 /o put - -dup 45 /equal put - -dup 46 /c put - -dup 47 /p put - -dup 48 /hyphen put - -dup 49 /greater put - -dup 50 /semicolon put - -dup 51 /underscore put - -dup 52 /E put - -dup 53 /x put - -dup 54 /e put - -dup 55 /d put - -dup 56 /b put - -dup 57 /g put - -dup 58 /P put - -dup 59 /A put - -dup 60 /f put - -dup 61 /h put - -dup 62 /parenleft put - -dup 63 /I put - -dup 64 /D put - -dup 65 /parenright put - -dup 66 /u put - -dup 67 /F put - -dup 68 /at put - -dup 69 /braceleft put - -dup 70 /period put - -dup 71 /quotedbl put - -dup 72 /backslash put - -dup 73 /braceright put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94DD8F68E7C9E6CE89571C79E22E977A5B42C931CC2176483889C4D7EEA92845403A25DCCA7D608A9CCF062C4AA2D9FCE3829A8A833E2409823BABDD01EF6807EB291083A57813CF5DECF6D9F8B24039E228911031EAB70B64A7D1A8AD96496F97AD046E8CD4F52C5C774E6AE3414335CA79732536E94340942371B6AFE1FF52114B0ADD98D56FA85AA2409520D59B51B2F75B09DD7AB391B7058FC4A7C6ADA2D1C7946970B386B3D6E5C74D69535EB3D9E497631300F213A73C04683903E69D99C8C8FB90869C18C6DA3AF56DD01D83E160586BEDED54F2033D682098769C156985BFF89001C26241AF34A2DAD200D58D6CACE83A470FE3772A2A5C1A8D238F18C44DCB9F84F94F126B42FB86633A20FAA0CDD62CAF8F239E04F2BE2C7A7866A325101BA8D488E39DC250AC388F0AB529C5EAB589B3AEC9BEB03F75F3EFEB366E469CCDF9D75414B9750604CD2ADEA40037A8B73453C9E5B11D28E1F750B471C674228022E894F078438BCDAFACF0E375D831684369CDD9CF57213855D6C86DA3C878C3661B12BF8219EA3CDA33E7056D251CB9C8B639E4E61F536878FD247296BC10E3D1778CF7E7A27DCD1D2D48A60FE6AAB55F1E87073FDC8896FEC00A632A2710BEBEC2D747CC3512F55FC643223EAEEF353B1888C9C1A9CDFBB180EF87D23511E99BAA5A41650CF42005B56644A4051A2F78CC44232F58788D4749641E4F56B1180CB5DBD57A9467D2649F7F474153A972709EE0E2D46E6C8771A1483969 - -662907CE5AC1634663603769B605BCAA5B04B8415A05690B39981A261FAB523417459BEB1833FF8F20FA6718915231FB1C072D01C437D3DB904BD40E6E93D398C56B397E1D8F256154B6489139E64485481B89D7CCC590350CF68DF1713FFBAF0BA6DF77E186355B9972DCFA2228F53E0C18CC66AB1217CBCC153A2DED41D6AC753825EAF927E03CE2017210CD21C9CD2D13743207FDF710B0145C29719F71A06636908C58834AF79E6F0A9A0ED66B2C5B9C7B0EFBB2AEC381186F518027A304169BCB182FFAD30CCE873EA93183659345ED8FABDC2D33DE439DFDCC64EC00BC416D25B31363C5B98F8709795ED90B0FC3D01D46F359728D01F6A7E77D2A6C0BAD6AFB8812C07E6A2874F4402232277CFD626FF8F377A5BF93ED057571E5BAEAC2D1FAEABE0AF6F4EA9BC4919FB39E9BC6C2316C2E0AA2421DCBB475B91A8575BEBFA90BB1120F6C8B6A91F10C0A3B609D7DC57F561E1021F9FA4EA89D699B62242C070DC3FAAA0BE45F9C9BE585F3A7681229FC653830BF416E8F04659522FDBB2D362F5EA40A2627350891D1621699FAFB5103EA552C807594CC0AE20E7DD737B1CD15CC52A1E4707B554E24A0B80465809FDE9392BBBC2C32C1DAE1378F3F9EDA28EF7AB52B9AFA00F7B8E51A38A8351BFAD7877D76F37B22C51E739C0965A2FE476E96510A762E50C313E2609511D36E8E34D5415B0ADA66A9B37DBDC8E97C621FB986835654F9C3BBCF92D7A472902249ACDE69A1CD9FB3358BD7047BCBD5AF6DB7BDFFFF61E664DE0C8CCAC8D783829A4C8A643DD2E36E2F72010C6ED6F43E454AFD576CD57EA362DB82787715315C5967685DF4143A809F784C4C1CDE30E22CE94AE5DF947A27B2D683D99D7CCC11AACB57FD55D3BD66C83D3D8E85559C4AD1223194273B244676F029A7F35A913D1BEFCF460C622D3317438D4CD4772A29CC5C00DE3938BEFAC583666ADFA40738DAED48F239697A304FCA39B02ABC33E9B1B18BB5C8A5255C2B1F81EBA187EC52F61DCE9835036A7171D9A4A5BB6F259F8CA7DCC3134F5A1E70C9AB2DF3BCE51275C2D9B27E0AAB8223541CF6EC46D2EEC33EA3740F8A08E1260DDE6146B71C18E5C8D5F3C706E6AA78AD462DE02FA92875B7427F4736783EB2D066219FAFE073269A259914022C699ED7DE242FDAD167EF60EFD394C4E01D8A1113E6CDEC5C37C58FDBDFD5575F634712BEEA67DAFBBF4A16E0BEB29DF0E4C7B2AEE7B891499568A821D0A68385DF5F4FFFF60EFD875CA925575EB7DD68DB07C9FDC5AFB123706EE76209ED9C33071BCF2A942CE24AACD54014EF35720DC7CED860DF0D14E0103E5900D084F9D275B82ABA0DCB5098317B74CC2891C8EF11532F8AFD5953161765C85C33F01F5049D60B856095DC2B794B35BBA444CE892F1731E2F2FAB36306A4EB1EC7C2EC0CCE2B7CD1A12233 - -55A8858D60A0C22DA054E437C10D4E70CD1F9EE022BB42E3766758FF18B92411FFE3CCCFCAB24B781EA014E93EDD73648C4620050D9BF1B9CD271735CE518326DB67D9FFFD50670014B3D826E023B843843B55495B9260E327533BA92CC572E793F594391994EA20C4374351D81596863219EA48C5AC14EAB91468F5FFE5047FF8DEC9BA3D1DBBF0908450C248938A0913513EE5D9FC2D85965C07F10C9693BFFD260F9F40D3879B46995689206FFCA6734AE1E3FD25607CF570EFBA39D69AAAD214452021BC5571D2C8D582EBCD70441BE0B27DAB2351F54DF23FC87EEB16916A1A066E9559A9155C9028730CA052F2AB1BCA249E4FF10E088EFD80ABCFDB1C9A4D394A9E93C042EBFB2E330203D47A3E719A67DA9EF35F3F1FA53C5F60C6744BF698CD5D903BC4F56161A8E99D632592C4DC4CD4C0575485ACAE18556B1B7F6797518EF28473695A9FA0CD6522BCB27EEEF8DDFFFAB9DB3CBDF5C9CD084CE82D32539906DAC22D813C01F9C7F4F7FC19F2EF30C9ED23368CBF71AAF6A57DE3718B33B988C40FFD2244626CE0E00CBE76BE6E2224B03A652B6C33DC229ADB7061ADB266BDA4558C06AED1577E62223E46634546A91A695197D2655250501B77E64D58CF78869807D56ABD549D8E70357B2DCFB8D562CD05DA43EBB7C90E0D3BAB158E581265CBACDDA22B7F3A314C7C59C4D905CA07ECF45012660AC45086B5038E5BA0CAACBEC74DB275E7294CCB46901E5ADE52E8BFBFF268FCA3AE78288A62AAF007AEF5B4C41C5AAF4ED7D751CB3AB175E6D948087617A9203D41D59A680F31EA1A62E8A0E955D7062DB13B7E1D249E00136247BEBC90DCE39D5C742EC4EEA48300A844203FFCF827B0C615EAB5D6657DF525ACB52388C9B300FF8478EADCDE94937D9E64583DC044B712CA34983BC449D3224CEB7790831B8BFC3F778E71D802216C75BE9A49DC04BBC95C620E7B2B6037D53CE70BC190075680518041EE4E1702504CD0056908F40B5E1619B4E418AEF32F029A7A9E1CD2B710DBEB3E1E5A7F46B2975F1D0E601257872B4F5CE8512F869865902B1C145581AD4E3942BC9F70FFF72A242945A0C7348DF7F040DEE6D8B16E91F1C501A15645DF40537BBF4F79F92329A14E081694A1E2A2800132409209FBC10F47FB0F4026E49E302E0D710D8486F2682DE8E61E44E613288EA85824E45D6A008FE7794EB6F874D3C8CEC0E52B8AD544399587B98F7DEF1044119F2D6918AF6006FAC39E71BD91ACFD35A68DBBB0BC7A34F02FDCF567A33EB0B318FB0D35EC1ADD24E1EFAD3B0AA5350DB5A3947D4D91C2871A28F3059C15EE6EF689CD7432189258F2D556638D2AA68309E0049B1E3B3CD9BBBEC87120583457DC161CB0BB87086ACF3A8247B562095303B28C362C2A06B3E85505373A35D7A83A0AEAEBDF1DEE9570ADC87482D5B5 - -DA6FC05CB2BBED6B4FFE18AC9B78D56700AAB1DF9AF7473F6553085520B79F9EE8D048B6017E8B49F253CFE5E6B85EB60A700849B06E57B4914E17765F39F33A5796894CC436EE8981A5F07E5B862D3566CB306FE9AC771F08EC601790745C3B486E25144B15B4BB0C59AE5E6277526B169A9689EF89F029598CDF364AE69B48F5F02318642AA0666F76C29BD3C7CFF384CF4867126C79DAEA290BD59CABEA3504BD203762F758AF6F8EE2D069DDEE1029F405A28D18086C9A445E81C40A5AF446446B4462D63090378B161BDF025DE4690BB2BEDE68CEC906A4FD1D2BD209D5614AD0CC9ACC65C30FEE46356028A2358059B8CD0AE0FD6EBACA676D5DEB9F5C91C98D0EF5A1D067512FCCC570D685CE4A511BA4B818C80C8E6A7D576812FBE7DE1876F6EDEE7DF89AC4B5CA1D82E353863A9139AA47130E86C3FCF0ECFC4EEFC932C844F2F3C2EFEBEF72A43D114487C1F7DE505422A01A3C7716C3FACF171A4775969AC4557566B3ECABE9773148EB98F077C96A0BE62824EF0D11EA3356EC86D9A652F17D45BB76E763AAD0E587DC48D85C2348D0A20C53C3ADF631AD3135232FF1E072BBB95EF53E69C33F76427206D7A587656511844B4419536E4060FEDD19F9DABEB0FF988DDC217FCAC32FEC3BD2B72E03E7E5D32A56C2A865D510BB565AD43774B7CC56125EB5C19960391B011535E841C3A6899FC9246171283B71D8D7A7DC2968702DDC83D7841BEAFE016D29F736031F0C8282D586844A5CA59B3959761126A4914CDC4A302BD0CD444CD356A1AF218D81E0A706E1E0981AECE8B9C6408B0AC3E2B6949F8D02825404BB05C4863EE9E3F2F983CF5790BBDCE13B7DD1CF00A1A9FD83035D7C5225E647B30680293F461B2F16602445BC98AB558F4ABB4E80F57DBE64220B45820CFD49ED46EF0FAC3201F0B0486DE19F75176D4413B19F147B0CF32CE58E44D7FEB37DD8E0D8CD0732053283CAB38BFCDF6D699A5BAF29091D88E0609DAADBD2BB20FB006C0ABB13EF0F81043D5F8E2C6AC22377472DB8D76571789B6EDC196FA9EB35E54F14F2110AEECBF68A4E66CB9EA33EAB6B4A8D07D8C1F8D3763F37EF853D8C71A45BAC194254F40A89792BC4FA28DB16255DA358E735A0A79A72E411D6241067BBE99C08F04C94553DBD9BF483DFF9857908B9EA29D5643FB4D318309143F7051550A053D8E94C66AC971E05F2C4ECEF167991E11B9384834A102035AF3CE85B7249005BBF44565AB2616B6D1A7C82C6F434B06F6BE15C704022CBDFE978DC8BE372628F9742F8EB5559AB1123EDC30508DF09E43369696720DE04EB3E894E1DBC63EF111FA6BD3BD9CE51A49A9AD792AEDBFE5CCAD97F8AB40AD87C43291ED4B07E0F4E4F91EAE35715F6AD17B894E955BEE9C44146143E3039A1746AC502B723B3412DD60FC96568B6D69CA65839F5 - -63E493B4DD9D967C91967B031497B6802D2657ADC47924361DA26CD8DBBE0DDC254ADE90C9CDB2C6E35F0D4A7D00A6B7EC45AD20F6871F5D9E384CE650A42CE857C35666BFBBA5F2DF18DFD28D1171CC4D1A7930496BA141E85EB2260CCB45481DEAFD3E03261BAA5C89B31A0D608FC28C862C7F8C8F3C988B98C0B0F8B045982FC7C885898F0C7F8846DBCC40F91495F0253C33260448423F155C7F487C2DBE757DE156F426900F46DC61D4BEEF2C2A141D9E3F4A483F868F606EE5C5913B5C6BD9CE2D5A0DB390C60DB91D39094D6E15B51B575862383791F54BE9F56636D44892C476AEE2AA52E7C7CEE363BEA36C1173F8060EBA3D3757B2E035C0B7B2A703CEBDDC00AC785B9FC0592080BC06A7C97956F0F53ABC01FBAAA11E4585A711CC0165328B31105FE08412A7E7835F52B3453AE2473DE2B031B220730B30A3A8BE46A9DA31246BB2700A34E41475E7FCA5D11DD3CE934A328AF1AACFA29040C3FDA88EA66497EA6F1A8963A383591491FDAD781207E99B86F9E3DED7FFC8AFE6AFB801D70FDCF1B699366857FD63C9DB5E0C03C60D9D1000DFBBC9CE9A37C538225B7D42E7B4A5149FF2461F1E40883A7B7CA6E7E02B9592110D00B5AD3957D88C2B4B7D42B6C29A941C8E5DC01574D8602CAE03A3C95D4E3E98431E0F856D59CF5C3ED1643295AA53740B0F97D00B93B530860E3E67507479E49D1E20FE8B2009620BABDE97D4C4891204ADAD1019FA04C25023453EEC2E4A1B7A8C9C7A09A0DFE79CDA9358F730CDA47178A7C6042441446439D191814D0F7BF088D665B6AC7D7125597ED21260A29847DC65110732AB7CB362AE2D1252CFD768C04F26BD6F4FB96A3301B207E24ACFA67E34AA6918D526D2B661773DB192A5033CDBBF1B34062A2A9819888A3006C1DD9BAF45132A42FD7FB80C1E50AB4BA2B9B8CD1ABD876FDD305403C8E574F0C1287342CFD59A8CFB42C6E44AA03F2FD4972B448BE922492C1F20BCCA5C298CCDEEEA76B57DABDE23F67B5A6D4800EA55732D84EB0EF9ECAFEE49F6A1283F4047C17500D3040EFDC4DE679632CD92FCCCA7221690E5677AE015E4FC46DC8CAC335C7466B0C04607508EA66AB48F512A6C9D8C7B133A090D2DC5F959CFA828A40FCC00E2F5B401CE7E6CB3C41FC357B1803D7FBBF058C51FC9B6A092BDF25DD1283356FDBB93AEB0D1C79C3E652B6BE84B611DDFF39E9338E640D591A4A7707F6978B3228C0656AA51C14B7E7DBA9F1693D4D5178E7CC8BCC8203744C8022A4D1B2EF392B364DDE5E90E6407AF0E342D972458570D5425E3E84BD7C1D6BA4F98B5B2D73E0C25824C2C97C30CE98DCDC6D1BC1B25B4681416B7D6741D9EBDB3124D6CB252829D71CE5D541B8B5A4B5A0C0881081EED46BD53F3234834D4298527F8FF63905FC0045C79139BF22C560BCC3D5E05FAD4BEC0 - -29D416FA4498CA5945F5D8576D3FAEEF9790EC397E084CD5F427BD0F76D0529DA7DC31084EFB948B8A791AF20784E7C3806528FD228913543FC628501DC801BDB939B45E543A7411682F1704D884A7C132D9A0D3D06546276E402B8F1AD5EBFFC67D64D9E0F58C043D5F6C4ABD9C44E9204A84AE690B7D65DB1DD1592A1CF36C640F93FA3F79B31A7D7C239A3191E4088D098496C2A9809C18B6DEE6901EF691AF042F70DE10D9DC0B08C79C382CB317521FAFB73726720FA4D942D830532B37D125D7A416D7158CC27E74B4996478259509DC6B6D1FA45DB5FE9112A3E631AD566D1D4775AAA5B09A803177729D4981CC3CDE825010AD9BE4BD23B2782F51306C50A33945D3607FADF5F18BFD8CDDB78328AA710E57C82C2F5312BCB9B08E5B20F56E623E37359638C0D06E0D5D5002F1B2CC373FF47E35EB82F511B3A35D484A612649C33DB5FF476992B0D036A48CAA7AFF8831BE201162A45610A0670FFEF93E0BBA4205D34DC26C98B57A02DD44C6273BD447FD0D385B15B13E768ACDBB0F7FE3BF17263D9DE50751F0B12D9975807B7558C5E4591E40C24EEFC86AF7B56F95FD569E3BDF2191A774A2BD4FAFDD3E15D1705AADA00FF7A49A0F75EA3F67B2B46C171C794600C409E3DAA08C523EBCBE80CD39CDE1762C3D6DEC37AF8B2D45CB4BCD1F7AEEBF998255D65FD1A39F53FF9F18B3358197CF78E71D389B85985D15BDF083E03F223CE5EADAB8D7E467771E719C2B2EDF7CFF184A303FE77311762EC391AFBFA7C68FE6BF5F202E38EC1AD9E338B4C04AD1A90B441FED5E4B9841F5B8D81DCDA7ACD6EDF7CD0EC348764113C4C7BF3275C053C9CAC9B370EA881CF2C4D964EF5CE8B92364D0BBB111D9D864A844F91E5675167C4A21D7AA67A7ABC0190E004E0BF670827264E95100C8707269894534CBC0D7048F24FA66FDBF0DB89061E18F09DD882D18F2BF126E479261215355ABA5D88859D20BCDA10B830596BEF38A066553BAA3A779D02AEE2A5B3443F736667C966D646876D0A34AD17DEA181EB094C8F3ABF2E453ECC27796CE84CB2511A33FA4BF4F1768715CED1845B0946392340669DEF527012AB10B56BE3EB003E6EB01BCB41A091D5C37FDD6B981F0DFEBA157A31F467FDC132C125CA1211424327655B86A416332F675A3D6429EDA78A828E0B2B802D538F4FF45D96C513B209600B053AD885F1B210F95EC996B5C2033DD4FD2331DBC87F668E8214CF866E9C51913218C6E9E6A6C9485D4BCF29270D07A16F6A20D6E90C932103A327531FC0D3DD174F9FD3FD03BAC38A6E45471346C257BD59347B890BF23EEE149ECFFD838D67190D5F2A09EF00F5074BD23BCE11F3D4C70BB7765B4DFD3D7791A7417491A086A9E0C487BE46885D4E4BAD3DD4529014167E6EA11A9FD23FA02C59ABDCC2BFCF0B2B1DAB93040706A2C - -5012F046A455626E458C8E9EAB51D6D97FC6F9FADC8FC6ADD40A9EBA0E77839C32F812BF9DF4652499197CE19D9295C5CF41D5DA0C8DBCB80A2D0E2B8213DDF7C68E0F4B6FC13FA78468D9F039BC5428B5E849BC07C3752974AD97AFAA3112D0B6ECAB61F9BBBA7CA050F69988FBF27428A24E80801022E7EAFD49DB0F0EA00C8782240522E0C1C61B16B48CE4C4BF5F605BF21FDC3786B9C480B2D822802DCC6C783D8A560944C0B4075940CD9FDA62D6C3C525D8991097C85893D25A458D3C9E0CECD1E19964947D5F57EAA26012D65E0305547BD0F1727825E098FF93BC55D2B1C330BA7D2961F227FB8020380628B778EA512AA98C246E83122A7C181851F975B8F205D7769CD7578FD3890695BFD6CFD9FFDFD7BC1880079157A61F9E7A2B5121A1849F3FC4B600FBDE133D7ECA00F20A7EDD6B262CCA72EB0F1EBBD30BFCE7E801CC32C4AC4DF9CADDF4F72C98DC48724CB7465B02478102B4D0E6B8913497483136494A7E25D0E7DFFED90852C29BEA6E52D682E50E7218FCADB6970F06A334D5DC154A0215393311BFD19EA22F4F8363F62B744370E7737ED1FD592591EA413E2E84DF870E78620B2B30128083DA69D3AAF2B5DA73E0399F2BF55C4D3C1C4151EB13958B071107179578C35425F5ADF199F5557406EDDBEF0604D69EB5E8F3BBB2FAA1D99783B639AECCA6F6122C031DC0908DD7F5F138DE4C421C3E307FF2FA3CBE0418305CA8C1A6F71EED3A64D76BD868C5A549AAC763EDF80D6725D8A2789AAE457ECA07629349E3E98FAE403A3D310AFC9794943BAFE7E24F841E4432501F8B77093AAE95E66207DB6576CFBDCF8F0E386AB07E5BEDC0EEC994A613681D7C40A981CDECA0BBA14FF12DB21AB1FD7FE0F781D53FFEA251D4601E2E62399E977C2ECC7A5955B50A6A80C4EB13895E4AD3A94C8403072C0C4591CE5166C50A528E48861946FE7F7E860FA7952B4D3353F93945896CD73262133420405AFD52079A300655AB52AB079F461D61CFAC1C060FCEAAD737A65C375FCF83E29492E9E1E5C0077C804C90492B7A198943897F67EC3DFA2E621D24C1AFCC32A1CBBA12DA45E79DF5DAE4A3F1B37D40C20DE28895CE9B6E73EA5181B0E5251E1339F4C598A3E9419998195A23013FEA9BFE7F3F07F1F5FF053CC1874C44895B0050A01D9AE9676985A62F7E6EB414AA6E78B46A6153B6DD35B94434464C2F0350FA91675D22F3601600FF3170AA945AF3976AE6E4F368CCEB21586E3F61EE642A60474565A68F196F34D8D8C1C3A4F575E5F43E66FA94DEBB1D256494EF1D933F030FB99F21AF1FA00FE47B06CD7BDFF8B2B12DC1F3B43F563248744137F1BF6AF28692B5A60A4C9E4B64F7DBC5EF113BB6C35F98728DEB566BB2922AFEC8E4E8D4EEADC64F71E16C2B34828CA76773E070A328B3DA3F7187A92D0AAB3D93B5 - -77EE63D22D5644B0CAF5BF1B72D3EAE569C4E426C258CB83834E1C62116A8F5F1E28AB99686BBA8AC68358B72C42A9D90D221B066CB5121294AED908CEDDFA24363257669961F5C122C667402F2BCE92D498F90B3874007DABD690E2E2B2DBF2E2B564BF9A7EE72069871A37CED3D74055E5B57F31518B056E7D585B9D7AB6023A32C159959B2F6F54AB253692137C8B1D42D5D20D77FFB65DDB0D344327211AB9032D888F8239089B76B4782B917B5368E713492B7CD324D1BD36C1809B49D158D2B8CF871F03C150D7123AF959B98166B31B290140D58CEB8D5600E8AB3915F5251BE826C7F35E69CD3EA4B36258DCEE2DF8563C347F1623A40028D130A822B9057666C4611B48F3968064664A2A2A22F1A3CA3067B9F516B79721678D2ECBBC7AE8233FD10D5B08DAC0D3FCF537CFB5397BA55EB90DC58593E13391280302A3BBC690578888F2C3FAC49E53F355AD2820F77A2EAE890073DDEFBA0113033DB73F16A36435FA1CF3B4D4F2F522A4D1FA9D821CD5D22AA82BFD8638A6A413C7D58D8E61A7D516AB9C82DA3C3792213962C801ED22D40552A8C3825DDCDB1259E561F4658F07CF770B8A12484C5C60AB1B234C791A771C956DFF0A61E2D964A251A1E838ACEA600907016A1FB3277C7A82121D7B410412892933863ABEBAF08EE8B530B45E2BD302F8A8F17909A7E38EF0EB48129EA856880C55BEE673E8C217A3B5530D34688B770B2A0C617B8B54753805031A26C4F01053DE249E9CB7EBE251602C12AE0949BB2D3207F58F1C3E96D07E115462220ADBE8EF8970D96F5B6B64E82D7DAC0BCC87FF8C16D2F669A8231AD05EC7C92257B0BCF83A8CB23BBE59C13CBB1A9A4FAA1BC05F6123F8F11ECE87587C46D86966B7C84468DE658A4478C8C7A2C14DA382B8B72E5B0F063FB784AE69A36DBB95BF0928E2EE2A3CAD92F73D709738686E8FB4D4D29E13A87B72344BDE282E95E16E3D6E7D1B93694334CDC5BE8FCA54EF9DEA5CE478B01AF3D54401DBD0E7DB14A770F8816F5A9D241649F77A22A48C631F895E5A89A9CDC38C86A8D370D79FB14C31F0E677545D586AAE742D8DD3E8A38D29972778137177F41F916B29A6EFAE1014EC046099AFDAE50A2D1B5F1E68B98E8C74B42C888D88B0B76E70F2940F69F7A80DE2B26CBF1CE3044F0EA1C6FA09D9D8794BBBDFFD78FE55C703724475D20B7E223C639FF15CEBC8935F12CF51F142D1A56488D3E6CACF526716092BF1BDCF29F5F4C95AEDB5BAF04B62264DC985ECB5F45B43BF29C42EDF75AF20AFF37CD2305E213C14865C76203A3E48FA9F667927307F4B977C19EB5188D9EB811AD0836D9836D635B5D81AABEF1FFF7A4FA36C4D5914FB8B53953EB5094CE1D7F25A7D43255577AD790157730D24CDB708366F7710B7D78235C8DC123A9A874E96417CA1E4093FDF4242CCC3 - -C44FC22061A822EBA7F8C3ED33F9D1628D87ADA77CB13A4F406923191087CDFFFAB3CB1C8D104B4CC64364EFC10E4DF18A52D74340EC7C456B7269C8D875CB9B62D3A47A66FEEDD9C27E5A30103EF0872E8FA6D7513026E42D5D06E4FBFB6E659F49102B131EBBE78E9498AAE7D47810F26F0753F3F17DE45572FA4502A403F554B7978064403C9A93E1B048433F25A005C6B4C756922CCEE66BBE105CCD179DFB319084E02AE835CB4386FD779F66DE1E84132D605EEBEBB31DF02706A080D0E15153C9A20915D5F5534EE21E27B47633CD79A45062E6DB214FB89CC5669F32BAE1E9E5DA18FCFE103B858874EDA715C9C6FAA9FB72C7FE355D3D7B4A64DF762FB84E648D96520967AA85580EBBD4F60993EE49C61B82AF7D0F935810DD0577D9107B683B6F0444AF6B01596FE9BFC7B6623A24813E8F0DB36A36F46622AF10F3F16A22B4D6BCF65BE8C14A942D91B6B5AA3032E2C2E7FE136B5DB42274DB6A148061ADF544EB716233194B1DBF2D76759FB4EE14988D718D50E8E304E5D46018C1536830C5C16A4B188ED35903995659DC8BB21613CEAF5D0DCFBF858BAB0F809767E2FC3BA652C88CE800470F991F3A0EE1971EDC39C4D0602C7E37837EF8ECFB00E1AB9D3925F99203285E9938BA42E91B5DDF52C49542FBA12C8D21CFEFFBB5CF54860DA89A54CB3644B1ABA36E97C576C41B47FEBAC249AF2DDC48C8FEC4228AB48768C1B2F5D63130CCDF803D5A40DBFED9434A49ED02598C99A22F77B41E87529B9374B3241C7F148B6F18916A04859EA94F71690FBABD7E74DE43A6B9F8AA8A4A1CE1C5C53B865F51B3FE2CF05E4ED7FB4B60AEED2AFB2C79212422652524738C119E1CA6A55CB26D1C3A8986F9C2E56A15EC86D46DB26EAC668A802F346C365A691749BF1CB1081243460BE6578FEE560A220B310AA0BC6C34B9062C890A207489E7FB345E02F61116085E4D3E42E4159E84CEBC8FF87AEF092D315BF08A654022A26C89E1B3D285C768151F66A6AED2E81E80A9D0C84A62BA398BD484B0F50D205A97917C0317887E3223E86DB387D94342C422DA55C66EB011A846620D5C26C6C0048543082C22EBCD82D936F70B7ABA76546929F683672116C5A85E5B3B282AD02711B68A0A796D8AC6FF03928926FFA6F5513315BC4182A1086D1A4F8DF2AE7BD4C3754EBB9E0292656B8C5B300DA309B412C59DADB82844362D128943133F13524531BAC6DD786D901511714B3DC98B3ACEBE727C33C14C706D980AB38E43D4AC5E6ADC65AF685F23777CFBE8BB9CC582A5F042732F83CF920C1AB9998AD59A6A1FB22B7F3935EA0DF8052C27853B9DA00F45CCD5B2079D2FFC5BB223E322A958D05805A79CC6F71A4727610213931394FA1EFED00A1CA393004A8EDAB6C2A2A6802C2E6B227FC21C55E37C759CBB7791B29D68F7E987E67B - -95DC97858942802DC74EC33E08AB671BEBB6F15E6CC84A03CB29997DF95866C4D93473BD25869577A642319FEBDFECD31EE702E088EE44F9DF91A35F44AD554370037B287CD7429C1B4334665EC564821E1EBC9DBCB855C0336EAE8EE1E6AEE21BDFA182A8AFEBB8882AC7B802E248A264B04BE8761DF5457B0F899E68D403B80A9A15F863456337CEA2C7836AF66CB5483066BD57048B7923906429E769A39A79265CDEF39623EB39F2DC7363780A939C5E61E60215D3F23C144A8B07F2D760101786CB604054640BB0CACFD50B930F9924B8AC50E95C338EE32CE4C0B36EC89F77502BF5748E9A06D8099B6967CC71107042532CC9DA7C670FE1AB44675E8989EF182A07B0258FADC5221C6077585970361642933AC39798C9B569134CEE780784D7DC70BC6F87BA8E1699FC022BBCF36D4556022217DDE14B8DB492B36477363DC762FEEE8598CE78AAC004EA785A2D3B06AEA00A460B1F6AC0B13DD1E66CAD6EFD36AA8DDD8A86919BA25DC61BA32C0121391BBF5DFED1B75C188E28E744963DD7D70A0C362015FE2484AB5FB96C2EFDD8E06750D98F006B9E2FC5683E8C802878BF090FAD9B440CB904E83C85F20C852553CAA4325BB1571784B1F580FC3E90ED6BFCEADF4F2FD02F6B35EE3F658B03804F7D45961613713D96CD93751734027EFC31924E1B3F94AC8635057FC65ABE2B2E1C835A0287BA4783CF56888459C04BC19F1F3FF5AE1E8BB07E4C07D2D9B9CAF5D9D5DB56CF63E5ABD22CFF914ED1460C9381ADB0FB7738FBB4CDEFEA9E38843C18671E60BEEB46B1D3AA10AD4A4BC2ED9FF084E8EE837B87DE75A101825010DFF33806EE471B90411980D89A1910BC5DD1C87C06D2D519038407C9E8CAD530D6E8E5B4A6347A3E29C05DDA1125BAA2EA7DF0B2AE14972EA8CA9D730DB7EAE2DB255FD7A74F913A015770A47A792690D83FB516DE78531A3F4111B7F13FAAB20741D3C0CFF10350A3573B35 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TANLUB+Courier cguidfix -/F2.1/TANLUB+Courier renmfont -%RBIBeginFontSubset: LQXNLR+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /LQXNLR+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /P put - -dup 34 /r put - -dup 35 /o put - -dup 36 /t put - -dup 37 /e put - -dup 38 /i put - -dup 39 /n put - -dup 40 /x put - -dup 41 /c put - -dup 42 /s put - -dup 43 /space put - -dup 44 /five put - -dup 45 /E put - -dup 46 /a put - -dup 47 /l put - -dup 48 /D put - -dup 49 /b put - -dup 50 /hyphen put - -dup 51 /T put - -dup 52 /h put - -dup 53 /G put - -dup 54 /I put - -dup 55 /d put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9266A63CD4C2DA03F4BF340963A027151A3FDA461900D733520630E1D8465A6C29088396384D4B2878B7E523D676496F633C5E9074527441E9A1A74714BD5BC7A6C25D9F88C2D7292A0765FDC7885C196A2D5CA6B4CABBA52E3C111BCA9F957BA20608762C587659CFDC10AF80CF21D486CAA991221DED167B9460C25E36872830E55B9042238DE914E3933EBA68BF48F5DC3E90584045936E774C374F01AAA86100A1E7364AB40F3903CBEDE84B9D6C83769874D32EE54F007B2FEF1751796973467F4A47A49E2402A4FAB2AD85A1339CB59F554A833BEE1D406654ADD656945BD1483E54C1D9BF14184BE6FD9E6CA06369BD46B5F34A996EDA526ED8E86D30D23BF5FE20F03844F72EC43F2FD0AC13F4721DAAC62215D375C28225F2D27FD7D28EACBE3AD35F8875E2849EA04F3D96AC2F9241C7F46BAA3CACAD30D882E9C898CEC44D530E058A86FD7908E4C2A49D5BB278DBE90F55F9C8814BA406B078EEBD636EF6C43CDEA6CCE772095F341B7DAE978D3D7C3F2E22F2DD0161D67A60ADE20037AD6B78D57B718CF226726EEBC881C43D3CE9CF0D398600EB978D2E3D2B15A0EDB38CE1EB9F84655FFE3D52298B1C4775FB0F3485E8DE8ED2102E872A3607D7B81B603ED70901C155FCE6D6D97F98B18A1FA9279FAA5EEA5B2FB99B8CE37F0500F425F90D908B06CFD159262C072ECFA22A73DF108F208C9171033C836B705E2DB4F678FE5CECF31C8E9FE03D401CC9E986778BDCF20E3FCB464969ED6768 - -BF33263431ACA81A77DB281B94DAEE70D9AB32D5458259FA20F2300E958C241B4D5C7ADE637583319FD6AF7E418DCD98605EA509DE0C367CDB6BFC1800D3386AABCDAD49F8BD620152424AA2367F444472F8A24183893A6CF6C71BEE53CDAD5599E4B3F5375D5B2C3F0850BDD55CC10AB84C51C5B7A4366202D905542D82701A3B83BBFCA47CF17DB20AC83822AD91CF6F6020251326E1E14604321D3E6C2F390E9E6D9A8F851371FFEB4E13C7EDFB16ACFC9E4861A009F576EBFDA01C79D2C09AD58C58811D7BDDF50D3261CAED0DEC3FB86D4C26ECE96FF52C731FDE32390665C1B228CB9C13A18F77FD22A059DE3864012989C5F91E954053EE273A0A35E6ADEC5BAA0281C93805B498028D936563D8B009269A2C3138FC7BFC059C3459549C7D3346F7E4B94282EE90FB7BE051FBA0C1DF7728B3884EB1F01AC8446BBCE3AD140939B3993EB34090503CEC68A54825B12F42E1E24A36CF1EBE71CE12CDFB17FFF796EA00C201CD07A6800C6F397903B7C5193F50B40FE06A4DB51F92568979DAB7F9F5962D6E595F258E92658DE834698D503C8F12F4612BFF53E7D5BBFED3474174DE024CDA749ECC8E1B874FD909791A1951FA71D17B9EFFB75B310B961D955D2055BE642AD6FFFEFEE8CFCD3CCBDC74C5BE88BD350B9F3CF631241B54DD7CC2751F001A43578D9C8C77EA1DF41D54939467177AA9D032571C7A0D7C05430F69A31C6B0BC8E8BC21365C685583468252B6D723DA159FC6034CE2B0DC837364725B75828EE38448ABFF130BF551798A104E25225D73EDDCF92568584B04DD0FD6A562BDBF478BB97C3ECEA813DC24F914C98D22248B06D365575873077D6D773B09B10588D58F85672FD93B51D8B0C0F87FB010F2544B11EF9CEC6195940A3E8E70C5B298FD2FAE0E8AB4C7D343A2548227888879D8CC0AD80343A7427F85B58169FEAE612C4F931DAAE1BDDD00BF7D10A1942E81A4F701618AC892599EFA802E62F4EC3AF6FFB7E12803B64B353CF134376C9DAB6EABF5117849BC50FEA916958E53617FA1D628D915B3F51EA90C438851D5E8FD3FD11295CB7E26B8DA0D747AB44B41A154ADDF6BD0EDA270C5300D2F9B60A0153BEF0F6B51506CD7E798BA707FF4794CCF9172944DB884352FA5153C7B3221A9FD3178340312FA97C92D59E4ABC4407824864D58D8570B5EFCC294F5FB5F5747B406710D648D38291C40C188C004ACF521F65B9FF9B4C76382226CFA0C283EE65991BD55D08238021E9FF21490C5ACD22DBA03EFC3DDB75BF0B9EFC8CF98F43A2916CECF032D5A845EDB8DE08C3C4BFE73C6C2593ED437824183570CA72CEB2006FBD8BDA450F6F19DEC79D3E3659717F9D00039C6DA5321444ED1A47E7AA944F15526D1B987717A269AFCFF575A9721C360A223E470485540B64832071C243A457F784223D9A213DA - -C9D581A9BB043270CDAD179E450CAEF66A5A6555C0259A01BD8BCD0CC70737D151BD40539907BE7C23A795E415BB2B808593ACB99EE22EA7B66B7150E48F8F9FAAD3ABC36F785688F8FD538BD1CEFB5E8B94B8C0E4FA9AE792B84DE9B6577C5DBCAAFA134337B47CCB0377F8E66FB8592B3ACCD3D8F9DD748A15588B91383EAD78D44ED8C4D0E0A101C946791D03A1A24657D12E2EB095158BAA88BD28B9704629B959FC308B4997015E8C6965EEB79C6F7F3B33EBD840458427B7291E44C74176D900EEEC8E3CFC1F5FFB239B76568D1E6572DF8BD2C5348A685E12A1A6BD6CB0B49DD3A378C06DB7B3424207F77D814EB4A9BEBD368963D56102A0B2435BBB113687776CDCFA6D8C1EACC5629CEE77142D72B41F0A5E6750E1965AC5C6715E9A51F7FB82C48DFD05544816D5A550046222DA49A7648AB1F159909ED78595DCA0F57EE009EF347B0128A9E2699C19BA9CE7509A61B7B20FA6D72CA8B1B1CF31E36D7C9BDE585850A83720F9A0961B9295E72CBAB230D76693A0F7A1D4CEB020DD4DA1D500F9E7E3BB00FE61F0AD1DD6D2ECA02B80C15E76D784C0CA1390BE611780327268240D9CE0315104CF5B9C60E8BF3567AF59E6971A5AE858AF7B954445827A00FD59E2A446B7AF3EF0EBC7BCF19165B4B9EC1ED0C509D3476B795ECFFC4D58409CAC060817A168FB0ADEFE5CBC200F4888502BAAEBC8CA365BC2E27491FAD76B705AB1C32DBE35602723BB6F50F85DEA91C0824238C54D2B8C37ED060CCF50BF0F61BBF0D825AF0D168FDFDB97C3BD60AA55A754BFF62748F396537C92F0372095D15179D8260D720C3C52801F4E690E9C165DABD07F0080C7351A7A08C675B50EC7F23AB1DD264816AA708C18FD730DD8E068233A65F9D5B828545FB00D3B52A5517357D09A035B68FF811A4FFE4AC77970C4F83665F670975214419CA18E03EAD40456381306646419C1368C1FDBAAAF3A66BCE4A872E945B2A522D796D3561E3399D25E3CF228CBDF91CA83A1274D9E9FA81AD3622DB42D422CCDADA504E8DDF0712E04CF23EFFD782210E72D9D7797DE7B19DA03696C4E2C159F7ECF9E54CE2131C7E8B06871598BFD566E651DF697CB02645D5A892E00AB20B7D5DDF5837D4E3CDEDA64AF8ABC3C111D736CAF98CA40B160DDC48BBD2C685923B18744DBA6012FA187583361FCE7BE11552710159E0A832FC82305262A7BC323DC813289DE7B042BD504C986CF0729C31D1E771930E8F6927150BD16C3CF1D3F57BE8288A7AA27BB230BD930EB68F9D08E802DF882E192C13DD60B8103801E6A0BF9A1968975431C2C7DF54138ACFEC74968025C8828276F2643151FF8BA4921AF7D5EA75F4F29AC91F06D27D6F1FC5D2232480895C37C1B0BBE2104CB24B54B494193B0FB32403E4521DD76365FFD351466191FE0B98CEC92809B6856F291A3 - -C09C471ADB7662CB101EBB0D2B3BCCC39F93A3C98A70C7CB253D7B3D10ADA61EC0864C037A9969BB1E84263289F0FCEC31A34A8D583FACD99A6FFCCBE24232C8B4941BD499C23A226DA23BACC0578BAD89C4D33BAAFB7CFCE16E9A41667CE6B06414C74B31641C9E2E6592DF865803459201F5897789BFD8ABFEB12EFCD2E6384CB832D543766F3D510AEFA7197DEF384AFFF1FDE38CE16A995A3AAE1E5D02B887C6867B4003B36703D929DA6F6A731DEDD4C1557EC29B038156FF61B6FEEC30136AC4002D3D96A3A6A6457A13B3DEF2C4FF6BA366AABEE90ABBB1999BA994B17BB25CB6840487A8E21F3CAD5F7AD8931BF9DFB59854D380EBDF973AC26C36F0943E480681E2B8C3F4E0A82AFA501BEC8B5C194A77362635905E0EA2BA7D0246BC557E2F6BD65D36D8B262BF21FD5DA381885AC328582C5192F7B9CD6EC70EA8EE0226D4A03475590FAB1A34BC2A20BDFE51BC292A872A54625F05ACD97F8E6092B676E09802EDDFC33FB4C56529468A9656214A8687FD40C5C50D3EFA018F74B59CC9B1445EBD31006FEE5B2886CA41201A1172BDFE1FDE11287F77A716F1409C89940CC85AB8152F6217699C4B13A180A7CD41C3B44710F2523EBD3091D1E98C3ABA8BA6B83D3AD8EA2E140270D1AD191974DBF49CBD705AA7B4 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/LQXNLR+Helvetica-Bold cguidfix -/F3.1/LQXNLR+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#$%&'"\(\)#'*+,-%'.,'*./.0%1'23%"%4.\(.%256.#,%-%#"\(%5.%\)+7*,%*\(,2%"%89%:\(,'"\(\)7",.0%'.;*2\(-%"%<=>%"\(0%"%?9%:\(,'"\(\)7",.0)[ 27.347002 22.837000 20.500002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 31.898003 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 29.643002 29.643002 27.347002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 7.831001 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 22.837000 22.837000 ] xS -48 262 m -('.;*2\(@%%&$.%+2*\(,\)%*\(%,$.%#=AB%C$.'.%,$.%,'"\(\)7",*2\(%\),"',\)%"\(0%\),2+\)%"'.%\),2'.0%*\(%"%&'"\(\)7",*2\(%256.#,%C$*#$%*\)%",,"#$.0)[ 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 29.643002 29.643002 27.347002 11.398002 29.643002 22.837000 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 22.837000 22.837000 ] xS -48 312 m -(,2%."#$%&'"\(\)#'*+,D)[ 11.398002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 403 m -(!"#$%&'\(\)*'%+,\(#-#$%&'\(\).&+/%01%&'\(\)*'%+,\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 500 m -(&$.%&'"\(\)7",*2\(%256.#,%$"\)%3.,$20\)D)[ 25.051003 22.837000 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 591 m -($%&'\(\)*'%+,\(01)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -393 591 m -(\)%'&%345,\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 637 m -($%&'\(\)*'%+,\(01)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -393 637 m -(6\(7345,\(2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 734 m -(C$*#$%0.\(2,.%C$*#$%.E2\(\)%,$.%,'"\(\)7",*2\(%\),"',\)%"\(0%.\(0\)%*\(@%%&2%1*\(0%,$.%.E"#,%#22'0*\(",.%21%,$.%\),"',%"\(0%\),2+%21)[ 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -48 784 m -(,'"\(\)7",*2\(%:\).%,$.%3.,$20\)D)[ 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 875 m -($%&'\(\)*'%+,\(01\)%'&%2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 921 m -($%&'\(\)*'%+,\(016\(72)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1017 m -(&$.%)[ 25.051003 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -130.03999 1017 m -(\)%'&%#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -277.664 1017 m -("\(0%)[ 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -358 1017 m -(6\(7)[ 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -431.81201 1017 m -(%3.,$20\)%'.1.'%,2%,$.%.E2\(%#22'0*\(",.\)%\)2%,$.F%\)$2:70%\(./.'%5.%7.\)\)%,$"\(%2\(.%2'%;'.",.'%,$"\(%,$.)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 13.694001 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 ] xS -48 1069 m -(.E2\(9\)%7.\(;,$@)[ 22.837000 20.500002 22.837000 22.837000 7.831001 20.500002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 1218 m -(!"#$%&')[ 27.347002 15.990001 25.051003 13.694001 22.837000 11.398002 25.051003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1331 m -(G\(12'3",*2\(%'.;"'0*\(;%"%+'2,.*\(%#"\(%5.%'.,'.*/.0%1'23%,$.%)[ 11.398002 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 13.694001 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 22.837000 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -1088 1331 m -(H'2,.*\(B0"+,2'%/*"%"%&'"\(\)7",*2\(%256.#,%*0.\(,*1*.'D)[ 27.347002 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 27.347002 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 20.500002 9.143001 22.837000 11.398002 22.837000 11.398002 25.051003 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1427 m -(!"#$/&,%6+\(3'7'/%,&#-#$780196%3:&,%6+\(;7'/%,&2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1519 m -(!"#$/&,%6+\(##-#$/&,%6+\(3'7'/%,&01<6%.=38"3%&'\(\)*'%+,\(3+7>$%&'\(\)*'%+,\(0178?@A2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1620 m -(B\)%./.'F%,'"\(\)#'*+,%$"\)%2\(7F%2\(.%,'"\(\)7",*2\(%C.%#"\(%1.,#$%+'2,.*\(\)%:\)*\(;%,$.%,'"\(\)#'*+,%*0.\(,*1*.'%"\)%C.77D)[ 27.347002 20.500002 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 9.143001 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 22.837000 20.500002 20.500002 13.694001 9.143001 22.837000 11.398002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 9.143001 22.837000 13.694001 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 9.143001 9.143001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1715 m -(!"#$/&,%6+\(#-#$/&,%6+\(3'7'/%,&01<6%.=38"3%&'\(\).&+/%3+7>$%&'\(\).&+/%0178?@A)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1816 m -(I\(#.%C.%$"/.%"%H'2,.*\(%256.#,%C.%#"\(%722J%",%*,\)%1.",:'.\))[ 31.898003 22.837000 20.500002 22.837000 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 27.347002 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 9.143001 11.398002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1911 m -(!"#$/&,%6+\(3<6'%B&6\)#-#$/&,%6+\(0196%3'**3:&,%6+\(C6'%B&6\)2)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2007 m -(&$.%1.",:'.\)%,$",%"'.%'.,:'\(.0%"'.%H'2,.*\(K.",:'.\)@%%&2%$"/.%"%722J%",%,$.3%F2:%#"\(%:\).%,$.%)[ 25.051003 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 27.347002 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 25.051003 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 20.500002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1729.96 2007 m -(9<<3\)%&+\(9#)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -2000.6 2007 m -(3.,$20D)[ 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2099 m -(<,&6'.=#!"#$/<#>D$/&,%6+\(3<6'%B&6\)A#E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2145 m -(####/&+\(%#$/<019<<\)%&+\(9#F#GH)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -761 2145 m -(\(G2)[ 24.641003 24.641003 24.641003 ] xS -48 2191 m -(I)s -/F3.1[ 41 0 0 -41 0 0]sf -48 2291 m -(%\(%"\)&*%*+,)[ 22.837000 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2405 m -(L@)[ 22.837000 11.398002 ] xS -81 2405 m -(%%K*\(0%"77%,$.%+1"3%023"*\(\)%#2\(,"*\(.0%*\(%,$.%1*'\),%LMM%;.\(.\)%2\(%#$'232\)23.%L@%%N$*#$%2\(.\)%"'.%32\),%#2332\(%"\(0%*\))[ 11.398002 11.398002 25.051003 9.143001 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 34.194004 11.398002 22.837000 22.837000 34.194004 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 38.704006 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 34.194004 22.837000 20.500002 11.398002 11.398002 20.500002 22.837000 34.194004 34.194004 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 ] xS -48 2455 m -(,$*\)%\):'+'*\)*\(;O)[ 11.398002 22.837000 9.143001 20.500002 11.398002 20.500002 22.837000 13.694001 22.837000 13.694001 9.143001 20.500002 9.143001 22.837000 22.837000 22.837000 ] xS -48 2555 m -(P@)[ 22.837000 11.398002 ] xS -81 2555 m -(%%Q2C%3"\(F%21%,$2\).%;.\(.\)%$"/.%\(2%+'2,.*\(%1.",:'.\)%",%"77@)[ 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 ] xS -48 2655 m -(?@)[ 22.837000 11.398002 ] xS -81 2655 m -(%%Q2C%3"\(F%21%,$.%+'2,.*\(\)%#2\(,"*\(%N=RM%023"*\(\)O)[ 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 38.704006 29.643002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 9.143001 22.837000 20.500002 22.837000 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2804 m -(-\($%"'./+0.$.1.*%*+2+34%+5%'%"./+67%.)[ 27.347002 22.837000 13.694001 22.837000 15.990001 25.051003 22.837000 11.398002 11.398002 29.643002 22.837000 13.694001 22.837000 25.051003 22.837000 22.837000 22.837000 22.837000 11.398002 13.694001 11.398002 25.051003 25.051003 22.837000 11.398002 31.898003 22.837000 25.051003 22.837000 15.990001 22.837000 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2918 m -(&$.%#2'.%!\(\)!STU%0","5"\).%V,$.%2\(.%F2:9/.%5..\(%:\)*\(;%:+%,2%\(2CW%#2\(,"*\(\)%=AB-%;.\(.\)%"\(0%\)23.%\).X:.\(#.%1.",:'.\)@)[ 25.051003 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 7.831001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 29.643002 13.694001 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 29.643002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 ] xS -48 2968 m -(&$.'.%"'.%.E,'"%\)",.77*,.%0","5"\).\)%,$",%#2\(,"*\(%2,$.'%1.",:'.\)%,$",%#"\(%"7\)2%5.%"##.\)\).0@)[ 25.051003 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 ] xS -48 3068 m -(&$.%*0."%*\)%,$",%F2:%,"J.%F2:'%3"*\(%!\(\)!STU%0","5"\).%$"\(07.%VY05%Z%C"F%5"#J%*\(%,$.%1*'\),%\).#,*2\(W%"\(0%;*/.%*,%"\(2,$.')[ 25.051003 22.837000 22.837000 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 11.398002 13.694001 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 9.143001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 ] xS -ep -end - -%%Page: 18 18 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: BTEYWN+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /BTEYWN+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /d put - -dup 34 /a put - -dup 35 /t put - -dup 36 /b put - -dup 37 /s put - -dup 38 /e put - -dup 39 /space put - -dup 40 /h put - -dup 41 /n put - -dup 42 /l put - -dup 43 /o put - -dup 44 /k put - -dup 45 /f put - -dup 46 /r put - -dup 47 /period put - -dup 48 /T put - -dup 49 /i put - -dup 50 /x put - -dup 51 /c put - -dup 52 /u put - -dup 53 /m put - -dup 54 /g put - -dup 55 /S put - -dup 56 /N put - -dup 57 /P put - -dup 58 /comma put - -dup 59 /E put - -dup 60 /M put - -dup 61 /B put - -dup 62 /L put - -dup 63 /Y put - -dup 64 /w put - -dup 65 /y put - -dup 66 /p put - -dup 67 /v put - -dup 68 /quotesingle put - -dup 69 /F put - -dup 70 /colon put - -dup 71 /A put - -dup 72 /hyphen put - -dup 73 /D put - -dup 74 /underscore put - -dup 75 /two put - -dup 76 /R put - -dup 77 /semicolon put - -dup 78 /I put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94D887F16DE8E2A0E5C3E7175363255A9FC190ABF0CB1A902FBA91F84CF42F8738FE3A50C68885524C83AA6F44DD332BE726470D4371AF258733AA2825ABEB1DE2C4CD602D0BC27E20BB00CD2CBC0A27AE2EDC0B5069E01A9CDCA6AD379AC8C47E90FDA6162480737AEF4255C6597A498FE74E5E6C1CD3813547C15C5481F0277B2BBD949815E7C355B8171C18A22C07AD210A8B5F33D71E6FA2DE7CB7B248278FDF96FABB00839AC917F13E23855C99B360E508679B7958C3ACFC27EABE38F312B7794390B6FEBE9F2FD6B40ADF2CAF6ACDD08EABF46946DB369F6333677BB4FB8953170E54BE2E1BC5D6A268B98C9C1A61061AE7667EA5C097DE7B4FAB34F509CAEFD80A51B73B3A49E19CFF664B1EDF19AD296386B7D21C6A4C97C202E22A12289E5072B9A2096D33E2D97136D0355DA972D1586ED871BE7DE383A7F74527362A696A1DCCE64C0E83D724C8D46E3F06EBB8E2F168B49EAF4AE02BFB3D8EC15B9EBA3DB0246B43F4364DEF1787C65BC43B182E4D9435C1656AD2462FB7C368CDB262034222C39A14525597DF2AA46E572B98A0D51B77280229959B503D2AA18F8DDD4D4D154C6A4E3E67D7F53B0C172A48990D39204569AA9DFE6F161D2D6943D5FC3C6FEA95B5604D6E76D131F1615C5DB4368DCB4F9D15CAD0234E47A690D3D48B3C274E7E42C73087ABBF9036B3AF43C51C15634EB4955549E29C00A9A0A40F0246C92CA220D20C4B6DF5FD631F45BE1197571396A7C22B0D7390A626E383 - -5319334E8CDB0BD3B3EFFCDA9AFECA51944E0E7B595EDB8E66832BBC9BB97DDE7E5F7B35BDDE4595214AB5F810AC0282BDAA1C832F63C5E8A234171AC0D0BC9A46E5A33A4AB58D58DB4C4327682DC094F7ACC96482C39325CEB654502C3AECF6ACE9FA7AF3EF868E3437D507ED1DC3AC58A08D75E7C76C4B68C6A8F9F31D80EB9275091FBADA15D0C658D190503105E4E200431CE1CE8102ED826339FE86E8C3CF13C3426B44F6518A006F3E5A0F3212168CDA244952D06F5F473E580C174650B082FC56DC1B990ED95D71A9603A03E17D54C4DE58DBBAE8006FD1DAC71AA74B833BFAFD868F89082F62841768C413BA3753CBBF02ED87B27BAF5EA37ED8E08A25F1C6F1BE07E6BA07CADC9134718E4A7255A82004FC9E0FAB8E72E5E7CC2A327BD77CEB43AFA7DFD9F24FBC583E8081F0CE29DE27F7FCA9AE77F3F678B1CB737F3BB73176EAD6107424AD961A67D3898DEB2492AD136F453639EC23285CE59F9B464D49C3617C13BFA6B5A3B7685F51BBE383BD7CF5A5F86CBCFEE3A1B4A7BEB16C506CC02B81FB3A469326885571F7E64971144E4D99F064994E0439B9BCC3B64006F94B90BF9C19D385E0C48758E3F93196F853C337BB17E5EA6A237EC93488ECDA1F65632A30AAA1292D8481A2F1662F744B7E35CFAFC4A214D2922019B6F894AA54FB1582CBBF145C89A2B74924B187E037E561C09098B8E6EAF54264FFDF0DFFFC8D1A59F0E3CC4CC01E2B7F65E4BC7BB6FFE585B22F7111FEC98108E0388FBE93C977CC7287901B5DB0ED432B962B57988762AD122593EF467036FF22A6CAB57567A30C2B143BEC0FAC9CD788AA08B8816619AC3CC0D5260E6C48C2F8520F24AC2D4B8F94BBD63CBFE51D578970B1272F4C99D17135093D77BD2D4BD6602A9960361D9F5370A9C218F650BE2BA476AD222016907D0FC65C686058C63B7D8858445D8880A6671A894A0BC4E5EA49773A637F19FFDFC129C6F393AF6FDB636ED76DCE84116EFA427B236F0C2104F4D80C34B7797ECF4532E7091296A4E96681B685598D8408B9A286947839229954E06CEB40186FC3B26004FE33E0DE67568C9A4147461D76998ACCB41B2DCAF88002C2A89FB3C8B51A3D11190307734C45F39A93D5290863CC78B3EEA7096B33DA505651902FFA304B65A42B54D16627EF0986AE8E24B31C19825DFAD34E81E25C21322D47F5BA3C9FE5AA7AFDCAF571EF134738A786F56A0397410C3CDBFA021D6D570F1CB2D3A70A7649D82C99E26936CF9AEB51212AE3396FB64FC68EC1E0E973FD4434F65FD926C69FADAEC1BB8907A4B8F702F75A79E64B4D44F6D66093C3D3EFD8921F8320197F42C2351FF7221FC2A08BCBD298608F859D3147B8358A1B84C3117323B51BC690E712F4AF2C35F46F2A4182CAF9D5A4A91F3ABE51F09BA07F232E400785C0B53955CC343AE8A3 - -83EE6E26B038B369AD5A154A585AD8124759078A6B1228AEBAA8A09390F2EE5880A5C1C3199364326B561ED14864973A85F5D69CA0D42D95B6BC60C94E7993121F66DCD367F47899A8550618263A2BCC150B3CB1EDADBDD0CABD3B30FCC17FC5F55A3E700E0F7E9BB086F50096E638A67162CED7111F601DA3C740DB325744D2B6A7A61167ADE2779289B165AEB89F12FEFAE896C47E3B4C0C27F7E07A239B192D78B687A7043C80967DD565EFED20B775E03F1D40F3B32FAC8FCD1C7444A6D0AE3B7058E27C5DF8065CD98F4617EB3FAEE2144A5E93B239C8439A37417200484DD191698602F6CFE42C5AFC0D9F8311C35CC27359BEBA42AAA87144944821EE2C68EF64CF2F6296B1E2615DD87C53A7C9FD947F346ECEBC4EFC7BAA45DF6F286AFBCE92F28829DBC8F622782FD5FED8029EEBFB04557F87F3EF5C3E3C30AD9ECF9AFEC8D6C72FE9B18F185062753BDD4652365CE6C76DDFA317EA357D80B18A156E1394CAE2F443B7A1133EFAA528692CDFD10255688DC4573A24B5DABFB545DC90F76301E8309DCFDAC530E5F2F49ED2D36630E035E2251A45CC6F6DBD522AEF03108832CCD91934EC89FE4EB8F6B15DD566AACAFFC3A80F5C840601922E9C6DCC242DF8AA45DB6AC8043BAD2C00477FBA2AB02D064379711857B1BB145CC7BAD19517C7CFDB410AE3341A2A379401C76C1D19FF766254151C39B84363CAF7CFF5D6526CFBD3AF701A2C4D69DEFA0DDD79D4505348495F373D9A024135E62360ACC02140C41446370F5DA8F20F5FB5A63C58E49C5124DD990497A8ACCAB41B05C81F9791E8301339D4BEA2FCD43D86B1C188ED91B1D4D9242AC22FE2FA370193A8DF933B5D73E2F1AA3A5CDF95900A49AFE3ED0C5C0D7759465FFBF80E1498DFD0D63248EA045FFE0BA748B11F4798A6D69E68735B18C5893ABF8D4ABA7E5FA6E7725C1CF6BEED62BAA4BEC2ED21815E985BFAF1F2EEAAAD91C4B865ADA7E6A80B8213070CBD0C98DAF256B9487F0863E49775424771D3CADE2720A6FE1BFA31AEBE3A9BD577DE3389FA2144071D6C0C1E31651BF5EBCD5E2CF66A8FF49414BE188B61D2A9B19E220C536CDA7F38CC34366A0A6DBA37B7A2A0039669CFEA54A58903FA7891DE10D60377D327E6B5E66231FF6ED2D7CEFBB5CA32E87051F95DAC065051DA84E892928173BBFF23CE30EBCB0EA66CE1EA60CC8D4F816B9C3885AF1321249B446E39EBDAA178D88445F5A2C4AF3EBB27562D9735A1CD5E389996920F4F7B1757FD2668E8519E4B64F3CFD43F61A55E2670AD9CB1B1E76AE94C01D2C60F1C57C975D25223A6011855C661B5D52E71A4DC5BBF280D2B7422A699F11BB28B99DAFBC532A1AD40D12287DA216C705097752E07AE8AC62AABB189FCC0C9A16CCE84998019C7CB3A434B2AC556D8DCD89D94AEAB43BCACDDB433CAD402 - -5EDA1F732177760DB9820B0C38AD05624ABAD48437F2B44D144F21BB2E2196EEBDB1F75FD754738D16B80A093CE896DF5ECDE04B61A356B0EFAED2F7AF3C68087138B5B1C37824D4A8ACB45D5C0FCCC7B468427E32DA8CDB622422E47C839450A64609259FCB2985666D2B254F19BB214778CE88AFE2B9D0FAA95B7B4E3E4A1BAC55211B9980241189A756470FC8E942B62CF5FD2BB9E0E7F81365D270855905E2ED48E925406E44B8A1759D12D1A7FB75B23C3C59FCA0F33DCF4B91939214027C0CDA62B06F17EF2444847D350B5D2B95880CB870A8B63FCE6401C552B6BA828EA916C836946FBFC4B90F9C9770613F89B3B53C42E3EBE3DE413B58C67FC7D1660380AC59E9A5653B1BD36A714AAAE4613BE261DB1B1D9C3F8438DE28BF078585CCADD68D2E7B2B3ED1DF2D31B29ED8AAB068D633BA5CC85BBE0481D1004BE6F2098627293AE37A298A2E608A6EAF00A623A18E04618E348481CC97C158C27D9E6885DE8A2D967814F5D2B46D0CA36AC2271154AC57AFCA6600563E6A8D20F0B61B7927D79E978BDA68BB5BF17604477D823DECD64D9BFD4A4CD1931F6D84452797C59EE98BC65F87553C18A67AB502EF0FA82EABE33164C6233F8178079FC0A23D9A395CB665790C5D704449EA9DB88CF1872AA5EA1B3B125DE28CE9B61D7E872B3E4FCE3EE87498AA048F669BD801B99B08851081D9F65307B17FE9B2061E935565EAAB160F055DA7647F538E20C272E2B69CC308CFA519007094053037D4F27ED2AC9F59A76E1982449C11C14960E0393F40A79806614F92F17FD38A39193E004B26CFB866D0AD2CE3C6CB0E42D2D609DF60289E8914F98EDF3B416DC50F1B790A9FB4CC97B61382CE8679C4CF3A87123C1D8F685E6DBCEC5E103A9A0652A84648BED947F3213DAC85CB3D4C615C66981DE975CB89CC6F8528F8FD4296637DDD1647608D90BE188118EAE63D8EA69C89A4ED3CA0C130518A374DACB1AD3A13A5DAED5B95D4D7A417C99E4A6DDB56335D81EFBEC532C58B915E123A8AD33AFBD60BFF83B6016BF3075E4AF7824AFF0A69B10B96787009F3DA2E7B6B09C62CFDCFC3F15555885B341ABB20032CA04E730C21BEEE283732E2302A8DF61EF3E8D2FB1AEB9838854CE3FFF20C05BCE65A9F3FF1E4179619E327E71F39B03ED049C27F8D0724A2A8C05A3D51B5591704F06AD0A6243B72481777C9B0748F8E37D703B8C4CC82287346C3E1AA096D67653C4B74418AF02CB24E713F535A4ADB2A617D8CC5DAB0B3410C4A89F53228EA8A091EAC8FF4763C56DA1FB7BFE06B87BAEE115855CD1E882FFC54FC8B3434BCB42717B35D9FE9CD8E84E23302F39B7EF5D6035F8FCED229749F1F3D19275AA295F4EB00A392D5C8D0CBE1A75207E438B41ABD81B25BA79000D399E2CA5ADA73B1A80A2C87A3FD1B590223EEB90B6F86B75A - -D93DC1FEBC72E74966230D63663EAA570D1E6FEDA694BACBF01BE3311818E694CB840B1FBC6648A1D3A9C7FAAB61C36F0CDA02B22AF2CB048AE5235D42AD162960CC211CE14A6E0F3D5048296BEA3896F399C5BE4C24C379A7AFC7D309979BAFD4C55116E5C0F43947EEA2267E9E252D6DB3D7D412C99F23ECAA68371ECCCAE18ABDBA523D12C17C20E2CF67F6D0D3EE8296F59DE7D327475BC0F29159EAF3340A216A2E5CC64DCF4324A5E869858A1728B1EFC7E7C8187E4469E8164A838EA259A9C19DFC72F307ED3A00F76FD82BAFFAF15BD7B4038670D172DBB9B40A31504F66BD7F9FCAB2BB57DAAC568352721A472CE279873CC87B0E8EB506D2A843A6EA9796FA847DC7F2B6053B17B09371074735414F1D92784D0FED03E998A002A98706ACCF474ECF013150884ED6F3FB3D430AD197F990FE4637A7223BB52CB0C1D5FEE8805C3D54CAB5B9E6B4DC7F58C7E9A22B8972DA59E490C165BF57464C19951118DED1D83545A51D145C64F3967CC28C8D1CADE2253ACC930E7B5F4C58DCD53E5D2015935DF5B23F3E6350267D914AA15E26829240511EBA43D998FECEB6FBAD7E36798FAD2F95B6460E90AEF884B68C77476EB1619E1EB8E2721BF1B030D55879B8B3AB334498C03E84F39DF51732F81998E969BA475A92B4A0F31896BAC2016A842D3D9CEB3D3A5F58774481C0CD4C0F1985654515DC9EE487FE6340D84115523F65572923737F7EB8949B596267D14F56D3E3BDDF1E7B9223DC8FC946BC1A49AE44A3095108BD4F835E68C8415D5438A46246364BFA32DFD400774BB2E4943AF39529C0F4B0FC166F781A4F4CBE2FAAE08DE256F9C8609029A5451182DAB8B4146DD9C1F87DF77AB8A1A720709481E0B50BFAAAC3BE72ADA2A8ACB27A947F2F3B8CFD64A1962CF07A93B32941A7632438618970E6817F953BAC4DCA3BC523F435AF068B17D1E569FC53F93383D053BDE44CE38EDF78297504690C3B8BB39064A9108DB928E504DA9C83B6AAA28C23D2ACE561F9771BFE2BF1F1F4D2BF031B24B30A10C0F6AC88480E062C78BBD240433E0C6D16EF9FCCED019C06E2E163AFEDE9EDB470E84235F6E5940BF311CD5229A9AF4497D28A85D9DDD815E20F5ED4079C2E9D019952B3C880E0810DCB88935E6D62D6851AE19926FD0200E544C071AB9C7DA28778DEF77638563AFE98A754A41AB98734F8476DA9C53189B7B22B70635A41AAC96695E5D4D511F211CDB7AFB31C780E53E52440F40A5D28B32B897F08798BAE8D61A2689E190D6365B9F97E538DF56AFC3A81009A5F375D5F9C302FBA27D7DFDCC74079084BEDDE88A68E34C811D1A0E1461CD5272C7325A01094F10724BB1A145E5AF4A908FA537932664EA60F4A79075B9E6258C1429C492D80189F53F3C7A892D13F9D6008556E8A572C5494876A55E3D462F4237D52D46A - -15A1679367F1618895AC11776F7CBDB703FA1CD7FCC9F9962AA083F2B5D27579280ADBB5DA86AEDC2F00B85CCC840F8017EB63DF1F2C04AA87136398B199EBDDD53C98356FB1391C3233C476B5EBE962B35F5DEC64ACB80A6FEBEA233267D6993EC3EA42F7B0AEDB90FDFD4336C3A06E3900A7349834A273214BE2AD25430DA1EF57BED5D72C02350138652EA8819C9D236182C7A6C9F65D8021CC332CC97B17E63192ADC9BEACD65774600A09C21D6794464B5CF9FF5325980921ADAC545CD527EB187813BD89A56DF32EF64C364299373E4757EEFCF4786529BBDCBCC6FCDB694E4BB5B3B31CEB2900CF7E6F85798C81A10F2F50DBBFBD9D603823DB7FAA797DA7632ED145E93B7A1BCA08774D0A33739881DB0C515547F6F6FF61726C3E589B43116445E3070F8DD73806CB745EAC5CA129B033D6AF5EE25B5D41F3D75D8B47A3816E3B0755DAB0A2AE74F6E1123BE1284B36670A8BDE5BB659DC7A1ADE01B1A41CA89D3B22979C3C2F66E730E1CD7A01F9B3A1126794DD78BB82EE2BF510BFBDE9491E22CEE6A05879EA8343AA6A513D93C419BC4CD68B364A3564484B46732807374EB011791CC2BF0B279E8DDC2354010E238D386AA1FE4B132ACC0FC1E8CA67890ADC7110EC6AB519B856BCBCDDA0A93886F8C20FAC78C173E65BAC8BFF1EA07795AB6284948C6844753F71764B6FD202A62AA919034F7E32ADC486D5939DF07DD12F525689330E475920EB8FAF78E49521D93912887DB9935076FFACCB09EBE6D5EB70C99BB915A84E41AEE0FD6EBB6F70134E4B17672AA0083A5C89CCF4A3ED56B7F3018288087B79A8EF028213BA258A8795FC5804A55FA1D0D467DDC7F61662C96068D08F0764FD310748B96C2AA82D4F9560CCCF423F0DE2A19A291F6334A9E113A0936F71B559C45901BFF8C0C7ED83DD25AE4F9080BDAE7FE6BC8BA01F63751F704830BB8E9A14190D1DB719EFF803270C258F7D0BA0255BB0128399D726668767D26EE6E4CBF7F0951FEDE3DF3D1A65F1E28BB70FB5F620336E261E78135DACD6D7493C8408BE5208FAF4C5A3E0F0DB3851343E9C38AD499EA43ED69888875B6ECE4BBCD693BEFEAC5BF43BD157B6002C155AC42047F9AF63C5351F87A0582F965F5EE969AE230111061DC2 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/BTEYWN+Helvetica cguidfix -/F1.1/BTEYWN+Helvetica renmfont -%RBIBeginFontSubset: TMJMHB+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TMJMHB+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /u put - -dup 34 /s put - -dup 35 /e put - -dup 36 /space put - -dup 37 /B put - -dup 38 /i put - -dup 39 /o put - -dup 40 /colon put - -dup 41 /E put - -dup 42 /n put - -dup 43 /M put - -dup 44 /L put - -dup 45 /x put - -dup 46 /t put - -dup 47 /r put - -dup 48 /a put - -dup 49 /l put - -dup 50 /D put - -dup 51 /S put - -dup 52 /T put - -dup 53 /Q put - -dup 54 /A put - -dup 55 /d put - -dup 56 /p put - -dup 57 /semicolon put - -dup 58 /m put - -dup 59 /y put - -dup 60 /dollar put - -dup 61 /underscore put - -dup 62 /b put - -dup 63 /equal put - -dup 64 /hyphen put - -dup 65 /greater put - -dup 66 /w put - -dup 67 /parenleft put - -dup 68 /h put - -dup 69 /comma put - -dup 70 /parenright put - -dup 71 /quotesingle put - -dup 72 /c put - -dup 73 /f put - -dup 74 /g put - -dup 75 /F put - -dup 76 /two put - -dup 77 /at put - -dup 78 /braceleft put - -dup 79 /quotedbl put - -dup 80 /period put - -dup 81 /backslash put - -dup 82 /braceright put - -dup 83 /N put - -dup 84 /P put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958EB6717097F133BD4FDC2735943420C26687CDC55039E9A900F0451830AB34225DFA1D1D95E592C2A600A9BF2571AA56D1A6C4560AD1025FC6DCD258FAF2EA49924CA840C284EEE67008F3C4B128179A21FF064DA49F8DC094F1DCD2F924AD5EF2E5552378A358E8822ACD4A8AC72F2B871BF2018EBB63CFDB9C87019E20833FE9A1C771447DCB26548C24C5FED57FB59EE8CF6552BB5F1ED918F659B1328E00D0AF7868A68D44A2AA8607A2056C418BCC16C410CE2EAA5CC2B5CAF98268A477F6D86826B17283123E90D9B9B0E9E8C83B336847B88DDCFFA540A16D21C7C00592C5FB9697BEEE66C37E6D02C465F170835F21EC5E124698A1ADC1D01F7D80993271F582562438472CA84479E9084D9B1CC114A2AB26BE97EC1E00EFBAFDC706E068AAB5C03EF2A4E0B8DB9DCD5A3D774E89ABAEA5F045E4BA91BEC1695C4C7AAD46779BB3A26A56499760874B231D8CDE5D28F2AF82BAE1FC79D474709A0B53AEFF730A046D10E72E642E4A9617EA8ADD23BEA82D465D396431499247C70DD4166CD7A5399FE93903D25A15E3388D5FF9F29944D908F2DB7FA1E749683A595468237F848B7B331B5B03D9695DB0AC0E7376B4DDC605B286D0BB4E31E864158481DCB7D1A8AE4F6A89DEB4B18BAC826A6BBFE9D24FA8BD4453031CD0B0A506D8A2BF6A5C5B446F3BF19F11E95208F847E1EFDA0DECDB3FD406E29A87863F318B4C0651900C898AF21815C13227725BE399C0F5097E53480BBBED6028BA716F22 - -82314E6815DF5A75420DE17CA08BAEBA0878D9D839451216259C5B2FE320AA451EEB1CAAAD3E9A77048F73FB55E7E36C2E37DFE2F9379ED9AC69ECFA8E867996B20C62358180EDC59D41C8A141E170B468575CE61B0FEAEC1E3073D59C9A0C61F3F7FEB65A8B3A73F636F2F7650FFC90A2504B4EE226A60FD918ABDC62F0E2D10E0D881F9FCBCF012C453BAB483EFB8FC9D82EBCA8E4DB445FF9A04E0E5EBB12BE6515C350D58993615931B1799908B617A0DD4BA971136E20D7836F8FE96B07D282F9733F49F69546F706E20D336AE35A4693CCDE3A2DB8A2DF7C4D4C96D7CE767D9B4B100FC23EA536212FD724F76684B261DA8996CFC5377E74FA0C9632ED61D6981B5AB56E3BB7EEBF620AC484FE94CFF94490D45A8541C3CEF70CF562D814533263DD3ED3CD14B341991110988A2CD215E6AA90076B1D2AEF95E5F899D63E3CDE77201C12B7F31F6DFB1C773AE4C0967BA2BBD2DA92077C03A7C39E1310DD63034F095E79BF643C232B566464C655DD3322AA9E08E25E62F2FD37BE8414D5F1821B8E2DDA5AF89CE58430F9B0E0121EB8DAF5D1BACFA7944617471FCFBF6B7FD0307BCA2FA0E34415D528A3D6BE7F2F801ABAAAA96221627147E795050232DFD322081AD1A3917622F2E2E14B32B63EE9AB9D3F3DDD33E09B27710F3ADB984867D5E5C5D4B4103EBBFA166434E9A829E13E0D16E76AFDD7248C7CEBD20D23A4FBBD28DBE26784DE0F31CEEAE84A8BE9EAE06E310512C9456E1B2B6EC9BBED0BB0AADCC0387DA4304D8BBC8A53814C080DAA9398B20C0B791DD3225E7D58EAA03658937EADB8D8FC9F6EEF4316DF4531CCE72CF69CD789AD17F3743F1ED6BDCEF7F346F6072226D689F34871C6F54AC56CC4E9037F3C4B7B67077E5B7979EA42D354A7BDD6FC4123C4A5787581B8ACBD1C7BEBE083D0DDBD50567BF584FFC15315CA15F5C99FAC6B2C182E7274477AF51BFA0F77269D90B50CE855F092CD61715D9D33DAF202FD0EB038E2BBF2BF338B21703B9259E9893A16F09F4CB4C484B0C627CD6D9F8A4DF221BD86D63798C020D6EBE5E69550DA4B4F1A17FD577017268ABF9C4CB0DFCE23F67601BCA6EFCD9406D5D9636FD3E04714E98CD955CE74ACD523DFCD0338574FEB6F96B5E6611E9BCAD8FB2EDC257E8D9BC8FA1DC001B6BB7EDE2B15E82EFE904A7B8B5AFE4E1FA8344F4D73F121399067CA612FC4C0E2CCBB570F65C2A5C1E016E644EC8BB4A8B3A51C5FF0CF17080713D1F96401BA5A5B396393DC65D292385F3A81DC5FF5BE9A39643908AF8C0CB1267AE0239CCC924F8F1AC4910BD64C4DB4BD0A566F4657A2D72AB29F5737FF0D4CA5E3D5901941331DDB0049E5C119867E21C2B48820DB1503DDC12A764F9AD7D712949C64A23C917D5D53CC54722827934E82AAEA54E57E1381AC3BE43212FC349AD7D84DB6 - -67F3FF4D5D3277FD4B050915BE1A16F9666E77581B6A55A7A1DDB45A9239188C2BF9BFD09B2C5581782CD05C292DC4A374E2DA550C7219567BA036052CA0652EF7777468A058482B1FFBBAE9FAD98D93EFABF67106F4036DF8464836C7C24496704724414FCB5AFEEC447E0BFCC36312BDE14AEFFD1292461358DD2A1B3093A84B657D90C2AE7889047DC91E1F0154137FE38946D50140330EE45D7F02ABB0CC672B3CD31BCC1F671525A114D3F9FF7262244FD413BF3D21A1C51E4CD2CBFEC61F501AC9807A45E9BA6D5A7B0FCA8EC64FE8E4E00B05AAD049B19D96F347CD6E4B1850CE1B41086C6193CA3169EB5C08A9585AB14D29F5439C15AF336D5F9C3592B9CEBB01B2AB12E5D302DC53FF9E254AF55C0C16219D51D651C664D989287DE0CD69C6A80B18B6DAC0CCC62DD88E0897B051E055B053221D54B854B448E6E8B8A17E7A08C693F9D2574A569C89721E9E629077B41D8CCC16B889E41111FBBF5AA69959E27F472C93F6B44F66B58ABF42D4D3B94D91D06C1C16B935FF1C96F88F56318B83800AAF047D6273620CC2C199B499608CC1280ECA8C993C8D6E8C7EF45EAB40337F43203B5F1A564D448384A0DA446025047ACEC4F5CE89290D5B4BE702248D82187C04027C1BFB690FDC3D56C61AE8A0F8D568A7A2AAA9352244233DD5AD82A1A11CA4CC30AE85BC68D4AE278F87ACED6244593DD9114B1023DC7E7C999D80704C65285A192125A4FC1953ADBB6B2D57EF61F24F2EDEE306E0D4B0CF01DE445044B5DCFA29500CC40C82E1883E568E48D3E2078C6DEC1000A8B4FFC73A560A324CEBCE7E48C7DE1619BEEEF9B2C1B1CD47C0EF239C29AB941BC6D80DC10A02740D3FFAB26E473F13FAA52E89ADC6917B8EB9A6C5B73F9B8FB32B4DFF25AE2AE5A59E069CC067F80F484499425AF386FFD3FA82BEDD91763D105C06234D85F58C80B7E49F0BDD6BFA268F52EEE9D1E611FC0EB8D99B8E65B4028946C44E914BF9AA62DED55CAFE3FE49F90F9ADA09656EC99A9CD3508CE8AC4C0447844D8844F737CD23BB465EB6F3E58DD4887D547A1C3F549DB46F3B86A16440E499342AD8B1E98A5708193C9959B6F58721E05CDA3397F4469D2EFE8A9FCA8C384B1EC9DD6089371D5A0B6FE85405F350F11214B3740AAE5AD364255F02F9BC64A235CAAF0962CFEE54F6AD6BD9FD5BF2B1838B171DACB2CE396060C5C2B686D8D28DE2230F776D2EB883277AB1F809DB4F35459ADB1E32697D735DCA7CA4F3ADEF5A5D1D85B1F55955BAC166D1C75BD93DA5E3DF2F5913E7315261B68604A078D7E226208F36F53C717F81E03E7B0AAA8915ECB0AC072FC28A2C9B410A89A6661066C29D31F75AC0EF1C210B7E848175CBEC3037570D3D8D1010CA5C1BA3D8F4BD2DF97D6662B420E84227891A9168E45BBC65866321FC256E3E62CF1FA01FFD - -5278264B2648C46CB53910AEB453F645888C80E7181D66176E722DB0AEB763F76DBAAC30AA3343249232E6D1386435B8A0B692D210C0D0C9ACCFD6771D9AE6B681A2BB63C4EF35FC111F73C88A6802E6A521BB4B559BCD8703EBF8C58D36AA002DB747FA82346BA4439B5C9A36D1E6A632C9107306C2B79612DBE90161CA7E649FB1BF52AF677774EAA9C61804BDD598DF5CD5059E646B353FF0751261371EE87DAE08E85A37FC5D4BC41055ACC1E5DF58349413B9F092D1D36E8238C20B62DF5CFF4D49EF640471850F100EB6421A7D6CA16A9EAF5930A78008BA7509CF2A726DE946E0FA737D4FEF8DD4914942A3553E42269F784C68D49A7FDB06CF7355972A0021BE86594782FD290EB78E54ED6CB0D779F72947C851E2C4D8FDB7625C09F1FAC8BDC3D7DD1DB4C7E61002965842B982A06AE3304B18C4491BBB79D00B500DC843774B9D04A7770842B6B1235639A1D280205CC33FDDD866F416419FED30D96AE43C349DDB4E0DC85E7C3EEAEC374727DF6F385A6E994A9457E24B230D9C4B060871016341418AA8C462D4A0FE33FD66637AFBC484BC0E628E5775DC3FC8A2972D2FC65DE8960B5F869A8A1814846CE346A918BC2ACAEFF7750FC4425BF188F290221421E75CA51D040EB8C4B9393B876EA6D452489FD0669713F7EE04231E9F48EC4CBBD32B2C7D135008004F169D458739C9A662D5EA30FAA162EAFFD5F95364ACDA8AB18B80D75DF4CEB535873CBD65759B506BFEBEC879201A7F5BFA4F28E2267F334484F689908F8D1C021B98900C8DDA3F4724D993F9CA4BC6EC07AC6617C67AB8D3F889B7E5A6F560187F073A8E2975026401C62A2FD8156E6B357564315DB9A8B4CEDCA5FFF7BA3A57ECE1BE280DA76DA9236050C68F4CE9C3148D57F491BFAE252E5CFE4C5CB5B01CB01C6EAA9B9F4517E93C9CBA6A4F2E6F8F84EEBB0E5FC8D4BB9E2EF42B5267C2300F02FF35AE8D532D0BB70B3F559C8283099683224C044465B457F5ED0D1FB4687E921458C605E61696FDC945F8C93B466773F36DC39F92025E9BFA14222D0DF1F1BE083917FFE9648C34977AE30FD85DD3DE9EBF790C5CB0D8359C971DB36BD1054A5CD7EDEDBBE96A719FD006042C41775E51F9D6B8BB661F288A88984CBB3781DC42EDF55FADF89ACD9E6858A1AD7323D610A30447E7E6EBC1363317AEB3F3086DD1760284CDAA572BFBC055F1F5C42FBC530DE2281D920E821FC9C90705A78270CB00DB585F2F8D5B27EEDC810C50FD9AE2571C604774FFAD02E38FFB889BB22911D1504867E7FB08C47C20FEF9F03BF0363374AC87F0A0CF766F4A38D97E48D44E6F72F5466291FB34FE48E2971CB9C69C3778FCEC1143AA36A935589651296F5C311372217D2B6F563627BF3872BB3DD2A2FCB0491A7B22F074894A66C4A502C66E68B27880893FAEF75FD9DC24 - -F889E87D6CD143CC9826478166AC66D336DEC60DE4272903BDB21DA5F20E94CAADECFC79F8B68A1884B5D2027EF27FF4463336CD7106076654329B5604FD89EC1D27B801FD69E87438D4D6180DDA04C659F462038D785BCF4D5FAB726C526BF60DBF7EFC143223FFB42AD3847B1710D8DF5C625FFD1F5CFFCEBA8672B97AD91A8A71B3109146140E2B1B95AF8D42719AD4DA982FA6A226BDEE11F0EAEC65B0A9DC7F3C35AF819BD9C3E1166D3EDC43CE495806CB4AA847B7884388B1763528360F9D5E4589DF942F49AABCEBC16A7C084D62D6FD063A22EE85DFD4FD0CF09896F03BF42CCE603070799F4A9388CC8AD55C923745D8BA939C820D5CBCBB8EBBE3323C60F37E87B1C20E75869BA387D5B5A5DE32424ACE588867B2DF56D2E9500D8BC6C211C9EF840D918C575067D403A126E9EC51B1353441178DFE45DB5DAD1D1F4CF54A35ADF42E1B990277773064F3210321541CEBBE197809F37C06EDD775DFD99F58CCDF0AFC4EDF5B741F489C56D5B9D928795DB0796482F9066A07DCC08903E14F055C49EE2052721F53C93F7276AB9C4FA5C8E22D7A525E7993785BB5259F74ADFE7B2874D075DB9B957C0BB3C8EE9B318DFA7E936C0AE9D3A86BD89E4013C5DD16E218C769DB561F1A6BB947704CF4047D8EE5CBD0E1EC4496BC1D41E575DDC02B2DE5772B8B3C4061C9DF6659D53F4A468B306825C880100919137BC6782E882F2BF35960437D047AD3A2E2299F82985D38660AA29229A3935F9429E7B494D1FC4FDB5C73CB7BC431B6490D32769964481C3BFBFE6D38924FC9D3B20E4CA821081A70E19A6DB4BFC528D0A356AAC2A967F042B34F88560738D663E7A2985DF9CA90712DAAA22D7EDB872466C1A86DEFBC9AE6A731012E9A9C0C4458BA269580EA4D9F085017FD7E1F04C24059C4513110DA10CBF197BD6789CFDCFC7CE180D8F99E0DA539D877BB39FF9095C885BC5AE737CA304C124283ABEF85B4BE371F591EE4D7B675F1AEF519BC1BCC9C95414169642241DE21D4CBC4F5CB41EC2959F0F258F88D87B0438DC2AA4ED99AE1A28AA33744CB4739645B6441FC47D79868D90B9DCDDBF107C831293A05A8651F0AE951DE6641A778CC4FEF23F0097879B8CFFA9E8ED0965D36ADD6B5A111BEE068BADC630CE1652568167ECB6020B2636D5746144E955DD85D394B77F1A20BABF32D0E9DC6977A8E4437A17387C4AC3B71A09515712FAC9382661560D5DC80FCE3AEE22D70023C700417B2F1202AE8FB70ADFD438285DDE2C65A4E2F134A36C271908AF1B8DAAD049512110492F184E7F244E1117CB9F8402668D296811FBF3B7761AA79E8799A2D65FECE69DEA64D6213BF71319498BC1DB9AB8DCAA6B2C9EA47423C041B56CBE84CCA955D5B0070BB3A26A72FD80A57C4B2D10FFCAAE0B3D4C5E663C7798A86A26FAF7BD35668 - -1491CFDF9EB9CDEED2C5D7EFC4A01B08AC5222E01C79A7E6851AA2712165976EB774BF478954CB4F5B5BEBCE7EFB637F2ED77D8C14352BC6408875DC1AB7D727D35A5821FB5958C36DF14B5BCE430DB0C058295C0C727906385EAB0412DA22B52922AE5B607145C7D44E9B3DE47A8683F8CE3CFCD0E00941946C4F641F4B3C47207829D4729283FBBB1C3499AFC042655ABB016EBAB7755AACE90C5689288CB3409B7FC2C6A43EE5DB78ABE682323CBE4E67A3ED8D83E61622268AE3019974F86451C4499F72058EA42F8580034417D2BE959316CB9E5B1A5EE57A8420364E89E27025AE3283D2ADB68F41AAA416A3EEE12F396108BBCB831FE0262E1E9D481B35CA1C550AB22A8E3B5AFBDBF3408ECDAD1B04627B2F333A56755607C11C0FCA560A3520A57794155BE66597D07294A6413D2CDDDDF5A6CC5032012603783DFECBE2E1506A5540261C8F4A1DAAC2A7A932A4179189AA7CA7F1072AA147FDDED2DECFE257AB4AE9ED8DA819B0AEC59A667A1E3551B6BE2AAB4FB92472C2F4FF6A3BB2899571A279AF14DFE10057376DA3C947B9974C0E2DF8FE97AEB1935A05B209686D0F83EE90AE14D5F123C29627B5206F1B67DABB60407A9812FCDA2E9B2C82C3EA41DDD955E7982BE502BBD48B687500B85F896C1504B222F984791C12E54D415C0D65379E2ABEEC7530DA543269A5CCEC5150BACB117A85E55380014A1BD375887BFD768528FE6C91676514F8C3EFB8C805212640F48DD60E5BFC059AB7F6AFACB6A18C0D483F22064F4210982CF9B951E154FC0761C9B9382F4BFCF604A15404EB906063631A62DD926134605BF58326226349DEF3AE05E4C02D6360C1236BE752757154367B262C13FD2EADE6B2D56581632AF5919E6E327CCFF54E5740A7B4D7AD64E3D2A70B608E3745D60521FCBE70E35CF38D514D819707788F598A4699D7EF5DA6D8E2E447332C602E330A8CDB0F517F264664B41C1B2024C7AFF4BC3E6E61204E3A15509021C4050C0DBA48231D5748FF131C44B8F5A23A77A306159BF465F7BAE6232BD199DED9395D5D911F6F4F004F20B0D2B865515092B712FB3865B97255164686F2EC476FE598EA67550CA7170FE0A56486F979FF6F1732CD998C4370C3A6FA6A8643C15492AAB25C1454D65C180B22AF76F5714F6228227F34AF26244001409631221BF4755DCDD90F62AA14F841EE74C9D975336BC8CD9C04F025246783ACB02A3945DCA205062E156005653C0BB17005FF8860B8866AE30B9BC5C670A4732D751B977FD499D7F67A6727F5D1C2E87CE2E7E7853D1679D99F254E05B246A1682C0EBE0440049A84E03CA027089CCD91FC692D3AF5DC8D78FA89F6B647A2C92F24F75FEB013439869BA06DB94DCD05A3AADBBDF05194E0A64BF0CB5238A87298F1B7F5F891560D576BFFBDE3A118E888CD32FF21131B - -6CE9B317C203A345B6160C05A4C05B41B46A38297E7BF513FE47D92DBC11A9B3C738487FDC6BE54EEF881477254ADF4DD1258E999DB007B62789647A9AA0BC1EC3F7FD2D7D462DEFE54AFD79B6BF94C890127ACD7A7F974C0EC80D99B68A7BF8800CD7A89CE84332374AF056651C24F894A1CD50811E610BEB608195A125C6E092A8210AF3256E9D33C861A3C808EEBE2B0FF51E30FD81BCAB6116EF614273C0297D386E2C1D54BD3DD2D2E3E3C8E7D447F27618597872405063D049C182824EF194C85A28B0C00ACD99080B71BF4E78EC3DC1323058168E9659ED748AA2556A166B222D5AC6F6D75E126FC704F35E731D020E2A522A326D390487C05197AEB8FE1C0EA58740170157BF4B7AC4AC6B57412D0EB8A23DD9AB621FE557733973EB0230B8999D9F3CDA4688282C7D8AB7971751A148FA2C81E47337B43A18FAD2858F1A808054B7A601690EEC21746607D3975713442C84B973D0D2AA4E6046DA5113F2B015F3417E11D19216E52C9CCFD85A03E3B70241A5D71E2E7C210DA26082F41D78043C0A9114E4C533350C7E6180A12C97D5B153CD0DBA726AB7858B0101E6A2AA593211DCA45197A1A3BA02D695B30DE849410B30A8EA8489C0DAF950C27A1E4BBD646B858DC79EEA5F34BB4EB6D098EE454C73C915D1B7352E8FBDFD27D671E2157FD918EB18A1D7B588F29878686EDD84550A9C6ED5BCAED9A8079297A7BC4A4C724198CCD6E01D37B5EF3001FC398C866BB2EADB7C3F9DBA693F7570A27963669D7D4786D0D3105DE0A8AC153B1D8319C34F9F869702CF7215B281E52CE85C8B514AD52313926942189F58ACA02D1FEB579151241997117ABD0FC0E52B18EBA8C916EE742D2D8493B1FD5CDEA77FEC5D401493A31E7699C7A5C8957E2DE1FD7572E0091A5AF91056B0F5756B21E10E96E4880D873EF20CCF994CFE92842D23551734442E1EA84860FE95A473E163435FF80238AE6B30EC0CB1245E1F511E25A08DC1BA914B55263CF309335FC23A25F8BF7818876B672BA36ACFB47EAE1CB21AAA557E2AACFEE05F5DB95D4BD6346020040D1D69D4A58F5A5EB7CD67F65343241A363F78556E2770A8FB8FB271F433B1481539D056307399BC6359C8BE901F5034385F44E19D80FE1AEE335B7582AD73A5FB049C751964642F36CA80D5F98442A7046476A4D7C5AEE7BB2EA1F12D205727F1938D98DD4D0BF9B57DB88C02BF46B44A00504ADCE00E41471C0E7F7FB4B06FCE716248B1FAA9C91987944190A2DA15858F7F7D8E4A2103A9E2393F5D0DD49B3DF35A0975E05563E22826668FC995101FFD831D9954ED806820864700DAB9B6DAE60A0EF3950E686A5B343B902CCCAD0A50EE0E343D893145EFB8BE5610EF4BDB91BC6BE4EE86900241B8DB0EF768FB1B78644E69EA0E5EE97F0BF61ADF6BFFAEDC0BD46BA66CC2FA556E - -D2B7AF2C6101B51F654388FA03C04840922F8F8AD77CA1E75DD2411375E7CE3747F8D36CED9159CF9D1E2D76CCC55801F5B4F7D29D5AFBBA8C3B7FA556E5902AEF67F5234D9BC1F0E3A0B02BB2ED0273B84228433B3AA98626916C7A5F4EF454DE6A8BBF8C43369D67B5D244B435176F973629AFC56A8827A39A74BACAC9F1D9EEAF3CD39CD804BBD9042E5FA619D8F420345F61CB7F6B3837F4E4197B942396A57B7580F7E41B31F4F498A4ECDF44C43CD0C93A2F54ED53C52A98BE1282B1CA4AAFA47A7A79FA3F4E5F2E781F13E52F96619E171A2F27F6016A918142157B4B0B285C9937EDB1356D5C759B13CFE8BDE9C76A8BD7CCA0A0BA8AE9E2822A6F15D05A895484FAA7F950A39C939F581E1C5C994A2F08CDBC761AFEF839F318F3221D2185EB3D1CC3A0DFD24887D7A7AA0E7C8385ACF496DBDA415C04E263B141B27F7E9144C650BBA4B294253E80F32458682E83235F4415AA87245066D7770D23FC98928D24165EBBC705B90FA2D84E03539974360C1367A0E1929F6A8D51E60A390A5E6CF6E47C8F4ED39216209181A1D508FC82953947A2C8A20F244BF5B0F9FD10B3656EF04FFA9E29FF290C6006433497D90A25353B04E0733B58F44CFF0D2F2794DFCD56394E9351F1D4D6AA9A5C1BE3BC9F9A7A4386DB7B2EE5DDC3138293AABEA1208977B697DC3DBD67B15D68005064551D414D957F1413915FF9C1B54450DE32340353972EA3B520E272DB067B430418513C1E561AF72B62104DAE3C0F4A1CA6E3F7274219031EECEE45F7BE09F92547CE3E85597A4F7AE2D137939B4FD2E95EEDD6112BE8CBF08E3272B3889C4C1842CBB631E6A14EA4D0ACF170A477F239A44E5E92E82D07D9F1C890AAE9772736191AD5E1F9F64A246C68930339782E013E92D26FACD3FC300D90913C56D2456295B2F8739E712444A4DE911C1BB60C4D9D0F76AE68FB1766F7C1193B781115F463FD53A490023CD41B9D673D253E464C567DF300E456143CBDCD307EAC5A9477E51FFB775116FB71083B32AE9F53DBC64E897FC9DED11B658D83688E416504A7B27F758A671FA9E09FF2182B6649A174042C9D4A31131C71F2683121D877A1C121F8A7799BBE2776A8AFA1BEE10E7193611D0A9AB47F3A3411243ED4E1B3917783FD654299551F1E55B4164A34BFC8591AA2A77A30F3A4E7F7ED2951602B98DFD187ABAE02C28B3F373F9B5341EEC16A72A99063F5AACD898D63511B1616279D117AA62658375AA0B316E4912D67C4F132D2AC499A3009396246DF33F65686969B3E1CC8B2597C691228BAF334C4C986A4D011E5F9F1292CA90267A5C54626C9D51EBEE069CFAD3247216DE7F035821010C3819FD85A01C0A6427633CC09E060C60C97A143204432F45309BCBC0A4BA8AB9F0EEFFCDB63E0AF1BBD4A4FE0C3342DFBDA30A140EC6C12B6FBC983 - -BDC26F7D04494D99F7B9277AADEFFAF79C746708BEC722C396CDBC88A63482B6DFA515E122F3621E758BBE23A2D187BD1ECA9BCEAA475C2927C4F7112DB05CB667B1116E3D8D29CA9A19613AA85EF55008A603F0C330E6A9C7FD702DCAC3EF91D505B1BC60895CDF3A18FFB997C1213444C875B0456049B52C3363E2E9D9D17A350AE372356BC05D0F77159F7A9ACD7D4528B951988139137F8CECA049B46CF2CA796477D197385AB5232FABE58638384D394510C7A26855DA483AAB275592B68F214D4F7BDFE9FE9CCD50981AF6F9A6EBEB782512CC9A5BE11A40DD74EC933C06257C9E1C8277D1E8970CD96367A17D9E65D636B3259A5AC18DA84AA5332533D9F76B7FC715D64B3064DC0D6156658FF001B1EE7102D4070A3B20333BA156A5C26C95DCEF1083FEB4FBDC7E22E7318D1EE116FDAACFFFB08782E05283A383ABE1C361076EA5C96C98059A131B0ACF06D109438B99BCE55B703E3845B02001489137E572D7BCB13EA3B3E3E36F79E3B650EE776C49B11A63D7416285F1A06A877E6973D6C4D8DCE57547E3CFCB42CA29A430F502B53344F6C0B5AC4F8913445BC738960063ED4C8EB117A2F549C4B4760A3531879266D74AACF026CEE18F13A88CABE9D16E178245223293EC29FDD6870688429CC066F55B077DDCFD775F3CE7E3B9E196695FE12E64E6DAC09C3CC80F0582C1501C46A34D43667CF37939A094B49AB3B24610C28A72B7704BD4A55923E107000381100750DE9F433C7906708CFFBC7F42AF79F670C4D8E201C72A2B2AC1B158B2AB96916FC460864FE9B5EBB8A75DD2CE14C87CBA473C42D78B01EC57118BB285B87B19454B56CCF6F5B1AF4A5090027D5340B3C0525198BC9D593056F60FAA806D2A0C8D5C956F24C41F2F62E0EB06F32013EBB5338F54E07C4E552A3238065F031D25F8261D9D21E94E3825EC7855391D6872257B4DA40115CB17016A1BD6869296B2D8D1D1FF7D3C9CD055BBDABD2C5569CAD4E123EE90C68887DFFBC9621E6D461A3F172A3A4B3DEB89EFDA064E377AAC7D527F062364ED6C82F0A91F51E9206F2DF0F1E2BCB66EA190E9227171FEFF069FD03D5F91CBCB9D5266266524B1DA4C12C6316B785347AB0D0EB87F7883C1CF24BC95FE284F5D4ECD8DE3887BAF573AD17855D52BE3BFB70B80560AB2B0E2379105F10239E8B1D561B6597494552BC4CCEFEA8A51146CA85AA2409520D59B51CCB43361F0DF33068065A9443598DB83362CAD7003C4FF99487871600FDD73516DF80AFDB505ED5D22CC8A95210B650D72030B5A334107C77BE2EF4E9A3A8A7D17558711E9138BFB5ED8BDA0B9FFDFE2FA550AAE9A8852A918B4A32E2EE84D04522881E3EC79B0203EB1947AA07CDEAD4992AE5F897DF600E46DE83E39AF55DC6D45F41104561B53B91E26E246B05004D1DC9DC5186A03635E63 - -172379BA6F15956C74A364BB82151EAAB9BB9B760D43C30AFCC366F86AFFC52D041989E1E2C19F24CFB10F543B7779E74024AE6D03CCDCB1471B8F286ECBB71B482D9ED348BAD16FA6ED586FB83C4199019C35769A4DCF072E160AD458048EABAA1B9428ADD9BE39708A3E40ED481F76C375206D41F80BA90D34811454F71688B3C6C4BF09F3B1B8AC4F626FB35907B11ECF51D47F0D6715494D81442F8372F5D7D67809D1A5E78870DFCCA69FB9866779BF4DA3932E4D3CB9A27FB980A11A0F177609E4E227667C856BB3EFD0623A212E2909206C41E2E6511E9C12CF99E6127197C27AF911E2E1C95780117E4F1354EFBDBC1D8A674F05811937559AC88BE90F8FDF075967D66D5E650335540E736645C681B0FED33D251620DAEE7407550AFFCDCE721D2FD230B68AD1629DFFFE17D9B2C5933E09036B3BC37CC1011FCBF1295BDC2E654F05226379976E1B2488637EB9B6817BCDDE1F7B7BA6C8B218BB6FDA06D6E3B14CAF71884CA56233E95E46C4D2808D9294F52DD6A73AB0F9EB506C0599EA93A67A7A0EDA04A28814978C4F844513D84873D7A702DA0B2FED6A229F547527C3ED5B0988D067C0D5A7898E3F7B8405A4DC31FAC3129DD032CA84A5EA26D9BEBB5CE3E277A9DFC92603E7BD62688E3110D96968FF8B27D6D24904C6B814CF30F6B6901294CE68CF7C6C9399719D94CB844901D8228A4F2BEE987E74B4B215EB0909F9C787861A6073A1855FA7F4A9D6EE8160C7B97350F4D29B3646A5A42C23C88AECA700ACD313E181E5541C11B5B2F33BA6CCEA521FC980408BE42B77748261F6C689A0172633D6182587895DC503AF5E50296667D37155830519AE6FF6F69F81DC8015BBA51E5C87158107DC1FBD06020C572922D46888E315923730FEB7C6B14BB0DB3733FF6C77A608ED6AAC3385D4FFE4BBA0A302981E79180CD277E48DA29F5ACD5B2DD75DCC3E21BCD848C8638D45EAD6F8BA57FD745CDDE52FF1502851C1EF6B5FBC5225993C3AD1E8899455568B1B56A4586F62F341F057D0B1292B33558334F2242163F4291D0E255EAEBA79862BC263BDBAB2515BF499589C71A60828A576F9A56E09F6DAEA9F3AD7009F7AFCEA74C67E7C3DC06C8AEA0839B87D5812AD3A4FCAA48A16522A01CE1B4327201C560BD9DCE6E65F8033FF4F04480C0CAF78FC522311F5CC37BE6AF847B99731FAF9460FE83A7DD63165D064DEA507A845DB056A32A23D7BBD321808CB928A9F72EA5F67755B4FCBCDD34C5C81E6994E42C10F87F9148628079D5C3DE067388E3D99F5497604B6C2B0FA87F21095E1B04B851FF26E2A81DCAB786D9F170385FA42FD7E7BDAFBE4DFB5A92938DEFB08FC38E5F5A6092B4815EE69496D2082F1BB0963950691917054DE39F37296B2B4C02A1449C82F53BE07C75B0B263A88E4C0C824DC139AB9D8A29473B6 - -0220A5EE95D18F8A818998A94E638DFAC636E11A7F25C53D81A5C881EB10C4D5109548A9D759513BDA59A0F0E411C6F13C5F073062D8DF94C2C4F171F21D52346B04BFD609E4A4E2CA4053E92C88DF0AEC41A6D3F3CF27030DF97649D963EADA8ADECB52364E0B30E0D89668CAA8E4E65EFADBE26915B78B04423447A8BE7D2225ABBF650C2D45911B3F28B0B787409E2ABA7173CD7B249EAE8BDE9E3DA90D2FBBE7F0450E5D12CBA5E680E63204433CDE9DFC957553ACBA7129C3FEA2066E21CA8B211EA1A35883F95814A57D313415D5DF31D896E1E4377F893ADF87D1C2514B45A0949FA5FAD1A26AA378C8E17A281B20E4C082FFFC8BD2C8F04531C65E9F610FB60BE1D703C48E03AB8A6156FD794A38587DB476F40B09AD982E60A94763090D8D561A8D742557C86DA5EA09F768501C4F11B373508241E51428565B828A31620F692E850BEDE994601247D357B776ED42A964BA8E8D8F6D69E0F833717436AC069A7D9179B6D7202BAF90576231F139165C9A90CEC38F06E8E72760DF604264D3AECA7B1A4D9ED403E44BF44AA393183BD84F7E803462520C2910991305330823736C7A30F47FDE8ED0DEB96FB60AB757E08D4E46CC98D22CD7B37BF228679C4E0A1D9957D0CB8136FEED08550B39C781B1BC2084A18043400AF08C4E9D30E861B6C3453671093F089DCBA381AF469F0D66833007E85E36B05FA74DEE08EC67518D14BA9648DC6501066B6EB70CB8EFF7F40D9B689758DDF0BCBA5A0889B282882E8C4A624142EA2611E671E3E7065CF8CB349BB726D0D912FEA7C86CA777B2BD02B06F6180496A55F6A29D8CD0F35425FF33BEE794F2BCCEF7D97A76CB6179E3E14086F660366F82F5515C07BEFC9830703A140685FFBEAE8EE76329879F92F588669991F97BA01938F463F1F26C28E79C0C65F57888DE7E4DB1A64D0BADE65953AC941C9476C5EAE7E118EBB01DEE8A36A1BBAFCB5EE10526A9A1C83A7E2F2644497631E813B91FFFE2D256D2987738DCE3167D3DE128A186640235C921D034680765BA17F1661AFD019C1C5242289CC8BC475973D79D089F39DF2A8E4A3FC7142922785FA7924289D62534BAAE3E5119B11D91E8B105266BF29F4DF464C7D270F07AF3EFF1233BD88AD6D8D28605EE3F3965221CB87461EE9A35B4F5879D414078FAAE0FF3FDBAB788B3F29F958D1327A3D7CBB4D0BFE7A2A89E572E5DCFD15C6288FB2E06B44BEB1267F74087B27A5277B658F83C87D50016B071E47B841B30D045DDE73FF25AA507D6DF587BF1F3BE933529555BDB1CE579C5046CE83C7C9EAEDB421CF1DA269BC4B32C3A0D8E11AA0BD4815C5F76108BFDEF50544408856AA327485AAB37B21EB359AD4D5874FD24924471145C22EA587F45F661BAFC1353A4A033F16CA81355AD107643C67950BC9136575A9449C175346C9FDF - -58B72A3D8B2CEC5B12694850F3FEC3BDFBCAF8E74EE9AC418C39465237043A883CC2BC7673FCEF79B0C18391D4B56DA11B6F054F4092519F14B830DE61CE959AC2CCE39FF6CBFFCDA639FBB72EA28DA97389B324E5D03534CC4B399D6E180EFA08E3F410925E71F04CF8C9EF3A6C2E7C20DAE40B0DE960D6A7CEE1A111F3CAD86CCCA437D36D80C7F996607D97748336CDBD48058ABDFD4CF557BD8A56A4B9F39B6F30A9044F5ED721D515D304D152294D8856CB6D62A09B85C5C71F87B1073AF745DEFBB990105C75A6B6882949D6E39B6BB3F7D337FC513C5E5128D252BE9E713DBB54764E9C6443D0F9077F624FCEE2C014455A78573B7C3F988E4CB196A7E3AE0B8EC683906AC501FA85EB1693782A6E3DBB7B790751CB729B568A75E09542A58EE8350E64C346CC1FF9D68ADBFCD1743022D4E1578FA50C5F71326D21D509491CB8ECB127954D64E6D059D70D2F3F74FD1E99B848FBA3ED27925C08568EF116CBB239936BD2218BD2C7782F082D685DE2E515E5ED47C5A915704DD2A8711C4D6DA749F75A38B42F5D143272041287B094D753CBBEDDDC2C948EE572AA62A28383BEE5A0F86627577577A274DED972BF21DD1CAE1D9DBEC6E67B8734C18A2308284C53234D3057B655758215918E24B7BCD0ADDCBBC52B270ABF1200A8327EB57EC979EAFDC58B27F6709408463E3EE76BC6314F4D9EBFF9071C8B7F945CB9B438BB5E53124F17731A62A2A6C00D8C66FF87C2D0C8D4A840D0C973FD5F171E77BD5C4D59C76D53B00DB9838A73ED12011C1CB66302BE3FAEBBE35523488B082CD6544C71F4F11A3EB59710218BC81517AC3070A2534C8D21B0D07D32BC1BDD4B704123B9832121986AF491D86252670215F86EA35C251297E148DC7B9F01AC9708C6C9ABA039931115062A0311E453E57F8FA5F0EE0EC3D6C93F5529DA3F99EDFFBB0194248200B78FBC265647A228B5760A0812E4E3B557344422F324EA854D3C5D049659561AB2E3B2A8CF91817B3ADAF2E2DD09F9E601E570B55FA5F21DF40D42F90E919A999DCA365E1044C2585E0F90C99F8E894A4D77EB10C38CE401F937DC06E5536B3412A2628606712996F555B9FD12031A000443CFF707B6025D5612246DAF0D035F8B5F9A50B95EE3990658120FE47FF8DAD4812C9D79146126A7578D7A8A029E15AFD91D5C56DA715C7B412CF0994B3DED3DB7C78BCFDA6ADEE8C45D264EF74B65C37863800A46CC272A7C1D1C95BED51DF2738A531FBB488E042D9CA28D7B6A72763E0F8336B32473E21DDF14DB83A2D0035B89F86AE7519FB3571505DBE0190C06025AC9EF705E351F175E1C6CFF35F6C30FF1F2B3C86ACD2679340564ED147507F36F6109ADF606AFCC59164143BB37655A7DA6DAEBD7F274AE95E6F89738AA75E5F1CEFE1C48B2396C5FD3E53019BF076366902E57D7 - -C4883211A24C1078A417716760D9D55B524A497F4164FB16971E4DCE39CDDA4E8B40E22CBF958F443E84BFD516CB9FCFC72EFA51F59E6CD5972BCBD765FB0D99D4E5459294FC1E9C09FD8903C636EC59C1A7BC6FB289A1DBABD0D5489A8357EA20A17413CD08ADBC077646BFD34CEF975FC87DC803B72FA8E89D4CF4CFB9AAA2537AE81D721516857A8A9B0B91AB2FEE725B184829C41442F3BBB15D03628D669FEAA5BD6C2FA05223B405141875BFA5D110DF5BAFD004D0A784F5009981BED5EDB98B16D156890F3B6A4885BF8B39D7526347D7D9A232C0AE8944FC4860762AE086EC33A615772F7788C70CD92A7F8A9341A09CD73778C6D7A99F38FD0531E3FD7338CC24646FD1A6814BAF42E439ABBF161FE91808AE0D5424CC5D0BA01CF239FB5E13CBDE8A4B702B94CD5437EFED1442540934A63C597406408D981670783311A482CCBC90DBA034D1C4C5F646D40FAAE3EEC618 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TMJMHB+Courier cguidfix -/F2.1/TMJMHB+Courier renmfont -%RBIBeginFontSubset: TCIPCB+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TCIPCB+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /S put - -dup 34 /N put - -dup 35 /P put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94CF017316529A80F552C33559AB2C21302561FE61E935C1E32B3C98FBE3F2558FB9CED11AC838204E845D4D0EA65175E342B190F68039212FB7ABE866A348E608EB13BF3C21833B3CE75C0DE432DCD3893DA32E192CFA5E517D1248497955E60B395FBEC94A77059848EFD1A95FF901CD568EFEB12131C31984B8B71E9B66F4E64E54C174FDD1AD69379226B5CDF3A8E5FE03F5204FF2CB4261A4946262F5D8C2BE1D31DA63E2088578F90CAA88721E26C7AA5822E2E9500E41417FEB54BFBF9CC78897F501FA4C6CB51B9C4D30A93C373661E307200242E68586B00B127C80C4BCC5F0EED376FB57863A77944069888A298E6F88C19AEDD63161F4C8194069874557060E0AD14550A700D473E19BC2C4EF49734DAB883E5F47ECCEB1ED65A81EA3031BEA985D54E391519C837B0B56617C25AB318BA0312FEB10BBDE3B645E11BBA774B14DD2B4D65E225A2B496617D312BE34A65EA54D39427384FB29CE92C0603438B076544ADF92C83CBDE708E57C271BABE8EEA86FC8FCDDF9C4FDC43A45CBA36D3D7E655DD66A2D681D64D9000DEB97CF43E74E224A2ABA7CDE6B88172C5987925AE10C7D71DF33D81DD5087D8A5F5736B62579B84CDE484BF53EB628CACEDE9098E9D7DD2BB6F3C94DB7C03BAD36BA02EF83B0163F35534D90A61734115A9A3AE1BD525A2EAA49D09A3BBBF286DAB87E72C0E7FAFD8462FBD54CA70C53F476831D79C0EAC9CE82310C802BA0A578C77E1E71C06065DD99E7E321AC7DF2 - -A837C75634A2C86A214E27ACE6AC2221CAAC2478B216EE9380ADD2A160CFBE21A323385A969600F9C89B06ECB596D1EC7A6F9E11FAB62634E5781A65534AC99113F975EA5223B4388841E3 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TCIPCB+Helvetica-Bold cguidfix -/F3.1/TCIPCB+Helvetica-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 212 m -(!"#"$"%&'\("\)!*&'#+'*++,'"-#&./''0\(1%'&2#&.\)"*'!"#"$"%&'3+4*!'3+\)#"1\)'"**'5"\)\)&.'+-'#\(1\)6%'&/6/'789%:'5+4%&'#."3&'\(1#%'+.)[ 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 11.398002 25.051003 22.837000 9.143001 20.500002 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 34.194004 22.837000 22.837000 22.837000 22.837000 13.694001 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 11.398002 34.194004 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 11.398002 20.500002 11.398002 22.837000 13.694001 ] xS -48 262 m -(;<=>'"\)\)+#"#1+\)%/''?+4'3"\)'\)+@'"33&%%'#\(&'-&"#4.&%'1\)'#\(&'%&3+\)!'!"#"$"%&'"%'#\(+46\('#\(&A'@&.&'"**'1\)'#\(&'%"5&'B*"3&)[ 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 20.500002 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 29.643002 22.837000 13.694001 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 22.837000 ] xS -48 312 m -(&C&\)'#\(+46\('#\(&A'3+4*!'$&'%1##1\)6'+\)'"'3+5B*&#&*A'!1--&.&\)#'5"3\(1\)&/)[ 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 20.500002 9.143001 11.398002 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 9.143001 20.500002 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 ] xS -48 412 m -(>&#D%'61C&'#\(&';70'!"#"$"%&'"%'"'-1.%#'&2"5B*&/)[ 22.837000 22.837000 11.398002 7.831001 20.500002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 25.051003 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 9.143001 13.694001 20.500002 11.398002 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 11.398002 ] xS -48 512 m -(E1.%#'@&'\)&&!'#+'3+\)\)&3#'#+'#\(&'5"1\)';\)%;<=>'!"#"$"%&F)[ 25.051003 9.143001 13.694001 20.500002 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 607 m -(!"#$%&'\(\(\)*"\)+%,\(\(\)-.#/*0120.0\(\(\)3435,\(\(2%6708.'/9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 699 m -(:;$<#".=7>$?$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -367 699 m -(%&'\(\(\)*"\)+%,\(\(\)-.#/*0120.0\(\(\)3435,\(\(2%6708.'/@A*#BC)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 745 m -($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@D'".$$$?A$<D'".E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 791 m -($$$$@7>*0:#$?A$<#".*0:#E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1009 837 m -($$$$@!"#/$$$?A$<!"#/F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 934 m -(G\)!'#\(&\)'#+'#\(&'\(45"\)';70'!"#"$"%&'#+'+4.'5"1\)'!$'"!"B#+.'"\)!'C13&HC&.%"F)[ 27.347002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 27.347002 27.347002 25.051003 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 13.694001 20.500002 22.837000 13.694001 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1032 m -(<7>@A077=7>=0708.'/CG#".GE$<#".=7>F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1078 m -(<#".)[ 24.641003 24.641003 24.641003 24.641003 ] xS -147 1078 m -(=7>@A077=7>=0708.'/CGH'/#GE$<7>F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1175 m -(8+@'#\("#'@&'\("C&'!+\)&'#\(1%'@&'3"\)'.&#.1&C&'#\(&';70'"*16\)5&\)#'-&"#4.&%'-.+5'#\(1%'#\(&'!"#"$"%&'1\)'#\(&'%"5&'@"A'"%'@&)[ 29.643002 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 25.051003 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 34.194004 22.837000 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 29.643002 22.837000 ] xS -48 1225 m -(@+4*!'+#\(&.'I8G'"*16\)'-&"#4.&%'$A'%B&31-A1\)6'#\(&'\)"5&'+-'#\(&'"\)"*A%1%'#\("#'@"%'4%&!'#+'6&\)&."#&'#\(&'"*16\)5&\)#%'H'1\)'#\(1%)[ 29.643002 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 29.643002 29.643002 27.347002 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 11.398002 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 9.143001 20.500002 20.500002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 20.500002 11.398002 22.837000 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 9.143001 9.143001 22.837000 22.837000 34.194004 22.837000 22.837000 11.398002 20.500002 11.398002 13.694001 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 ] xS -48 1275 m -(3"%&'D&2J&K6J-&"#D/)[ 20.500002 22.837000 20.500002 22.837000 11.398002 7.831001 22.837000 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 7.831001 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1370 m -(:;$<#".=I#0.!/#"$?$<"1&H#@AJ#.=011=2*061&J*K#0.!/#"CG#-=#LJ=I#0.GF9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1467 m -(8+@'#\("#'@&'\("C&'#\(&%&'-&"#4.&%'@&'3"\)'\("C&'"'*++,'"#'#\(&5F)[ 29.643002 22.837000 29.643002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 34.194004 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1558 m -(I'/#0HD$:;$<#".$CM<#".=I#0.!/#"F$N)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 1604 m -($$$$8/&*.$O$O$P$<#".@AJII"./&*J$P$OQ)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -933 1604 m -(*O9)[ 24.641003 24.641003 24.641003 ] xS -48 1650 m -(R)s -/F3.1[ 41 0 0 -41 0 0]sf -48 1800 m -(!"#!)[ 27.347002 29.643002 27.347002 27.347002 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1914 m -(789'-&"#4.&%'3"\)'$&'.&"!1*A'"33&%%&!'-.+5'#\(&'&2#&.\)"*'!"#"$"%&'&\)%&5$*H*1#&F)[ 27.347002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 13.694001 22.837000 22.837000 22.837000 9.143001 9.143001 20.500002 11.398002 22.837000 20.500002 20.500002 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 11.398002 22.837000 13.694001 22.837000 22.837000 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 9.143001 9.143001 11.398002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2009 m -(!"#$%&'\(\(\)*"\)+%,\(\(,&.#\(\(2%6708.'/9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2101 m -(:;$<1&.#=7>$?$%&'\(\(\)*"\)+%,\(\(,&.#\(\(2%6708.'/@A*#BC@D'".$$$?A$<D'".E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -859 2147 m -($@!"#/$$$?A$<!"#/E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -859 2193 m -($@7>*0:#$?A$<1&.#*0:#F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2294 m -(G!!'#\(&'*1#&'!$'"!"B#+.'#+'#\(&'5"1\)'!$'"!"B#+.'"\)!'C13&HC&.%"'*1,&'$&-+.&F)[ 27.347002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 9.143001 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 13.694001 20.500002 22.837000 13.694001 20.500002 22.837000 11.398002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2389 m -(<7>@A077=7>=0708.'/CG1&.#GE$<1&.#=7>F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2435 m -(<1&.#=7>@A077=7>=0708.'/CGH'/#GE$<7>F9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 2535 m -(L&#.1&C&'"**'#\(&'789'-&"#4.&%'-.+5'"'7*13&'4%1\)6'#\(&')[ 29.643002 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -993.72302 2535 m -(J#.=011=3ST")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1288.97 2535 m -('5&#\(+!F)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2636 m -(:;$<"*8=I#0.!/#"$?$<"1&H#@AJ#.=011=3ST")[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -1007 2636 m -(M)s -48 2738 m -(N#&."#&'#\(.+46\('#\(&'789'-&"#4.&%'B.1\)#1\)6'#\(&'B+%1#1+\)'"#'@\(13\('#\(&A'*1&'"*+\)6'#\(&'7*13&F)[ 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 13.694001 9.143001 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 9.143001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 9.143001 9.143001 22.837000 11.398002 22.837000 9.143001 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 2833 m -(I'/#0HD$:;$<"*8$CM<"*8=I#0.!/#"F$N)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2879 m -($$$$8/&*.$O)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -318 2879 m -("*8$O$P$<"*8@A".0/.$P$OQ*O9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2925 m -(R)s -ep -end - -%%Page: 19 19 -%%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: TENUTN+Helvetica-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /TENUTN+Helvetica-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /M put - -dup 34 /a put - -dup 35 /r put - -dup 36 /k put - -dup 37 /e put - -dup 38 /space put - -dup 39 /F put - -dup 40 /t put - -dup 41 /u put - -dup 42 /s put - -dup 43 /E put - -dup 44 /x put - -dup 45 /c put - -dup 46 /i put - -dup 47 /six put - -dup 48 /A put - -dup 49 /f put - -dup 50 /n put - -dup 51 /l put - -dup 52 /comma put - -dup 53 /b put - -dup 54 /m put - -dup 55 /p put - -dup 56 /o put - -dup 57 /d put - -dup 58 /v put - -dup 59 /h put - -dup 60 /B put - -dup 61 /L put - -dup 62 /P put - -dup 63 /I put - -dup 64 /hyphen put - -dup 65 /R put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-349 -917 2050 2118}def - -/UniqueID 4393833 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9315F0017FC3864FF8D40C74661F4AC4F359AB40455CCBD4B88F0CECF690D34D66C29663520619DAAE988A81E45F3A52E6FF292EB7B4BC5F9319E6A8DB7BCB47B4436FAFC6B8885816478402798531D5DBC3A897A5911B594C0B180BB9E92260DE5FFA22CC6EA8BDFBFC58DE0297AC3788676FA90AA7DDF3867DD02D0BD0502805AA094577E2288851FFF6B59BBFB663E6146FDB225231E8A1D1F19C067E5769F8C8B440B0330C34B4A3FF555304E73406358120A7A0D090B044CE52B1DA3FF5A24B501161D9178540786F9A761ED8212F4E53C1E810003E81308B7F1880B9343D2CD0C73A52C6FECDD80AC4E5024917015336B74BDD03C944D693B48CF53EE8E47B74CE4401E30F2ED34F6FCA7C7FD701F8796BB632A05A64DC0BF8D15CE1275A0194D9353EA52B479EB37ACC5745DA8BB564B89DC8E67C7F22459EC4FDE7795C3801E3A64F184DD86C0E45A9F793EF676F1485DA4516C660206169ACB642B5F6C848429E4B9D8EF897A6315B3A8DE046ECF530EB4D1BFBE700DDF58D36DCBDD00095DCB553FF328901B4117DBBA2794F84B79AEB3AF24EB0C21B0F2AD9A747BE3F3C21A4C9BF44A9F89BE8D53FB08CAF6CD5F0CB65FCDBB35D82FEBA99A879D5572E6DCA97CAF88ADBD195B93A2290846A5C7C7619E0C11C2FA78DD96F922ED3432E54D02504CC6F0F0D47BD67CCE4477B7584AFEAB756EC6EED05C7214493615EBD3059C50CF7DC0A61891069196B0E69F42007961D474166CD36C83321F770 - -84234D1B9044FC108176B3450F6C82D5AB0374AC55EEC2A5926EA567FFE5EEC32C71F7632BB2EEEEA33B8AB4CFE0B4F646FF1B870112EA0C509E7BD3D08572C64FD92195089A1D38D0876CE70315A842AB2A6AFDCD79578078A9DAFBE16C78F04435F7DAA759BB082CA2B694A857CC5ADB9ECF941CB74AA1F8D50E599ACE9D70DA8BE22BD4D5E6DE4A54AFB00F6EDFEC543FE52F8BC51102F047EBF2600B65CDBB93E5662FA26293632C1D767D1C44E7CDD4675FCFE6762F84750888D090B53AF6423EB7C3B0D7FF25111733284357E1EBF44801CCFA02C00C9EC1663EFA11D9BA70A8AF3E76E62E318E1E8DCC880F5B7DD395D2B6D3AFB175AE0631731A11F32862B107651B246EF888E6BB58938640F37B629D1BF5870A5C74BAC5AA97285FAB993D037B670B480E34D368C3C5F3A31FF680D5C6CA0FAA5C569D4EF37FAC19613E54A557F2179C690FEF3DFF4645C63D17DA82EAFEDE438B44A15043E05F0FE63CDF0CB134407DB8C954E07AB2A4B9BBEAA523D9D7190998FA53F6254AE1187CB57146C7706EC01C3BCC515D68257D75CCC504C2903CB0BB161752F1880A4FD9B5E865B7C09613F18F99C422EE1CDB90E16F626E669EFE5FCC12333B8A5872580E5F86F8E828BA84BE62F9EFB6C9471AB706F8869ACFB711A4080031CF86DF7B0CD1789898D90E2BD3B2F6F776EE776727539E2E27D6A20163C9CB56CBD19C33A401B59F1E69E9DF8A2DBB9A0996CE1E8EA105FB1FCF941077D74A1D93F0298838305AA9EBC3F58FA7E2D0846423F3502E487FFBBF06F3F34C9BD909675DE7CD8CDDF417D28867A339AAFAA352BD418B9E6BAB94AE953589D46FBAA6ADA2C225CA4DDEA5E6BC0DD95AC5FA98C59250A953D2D10FF9ACCF7E8E804CB379071D993E5F1045DBE175A43B9E78F19DFF5B16217629DC8E85FFBD842862E5F484E9D14A86BFA27049406CFF99DCC3CBFF2B978F9B088372BEF6715B8F6F34BB4607CF55C8E9D25BD09B49D54F7ED8391A7171EA5ED6AC74A9E0F917CB669CD606AD9EFCA34E1545A188F357F998A587DD1271263DA7652DE83608DBB854C7CDA91C1AF6AB12E513810F1668A92DE7541E23C21F63BC1D639659A74D399BCD06BFF6DE969D162FD65C9341C6C448B10515C6048D70AC258448B85B4B23E42F09E7F7164F9E64CD0B728C85794380D765FA77C378F3CF53ECF5E9C9168D4CB88A10F7D37534452341255A883B8617A20F15B8D2AAFEC4FEBE03A08BFBCF0F2CF0D810697568EA65DC719236409EBDD1FBF0CAD735FC7EDF200F0CA8B62C81A69082F00BE80B08285AB38BB42A8DBD110B786DF5D13E0EC528AD81E36E35E69A08B10528F851DFCFE7810D5BEC1ED99BAD9138F428D3B2446D05644912E53F8157163C8A5F814EA704D7B32DF9B1EF05B988A007AEF3A523025D175E685C5AFC0E75D7 - -107CA5A4F109EE2AE950FCD903B55DD92DFDAB80D99FEC747798403EB2CA352464CEA89FD983A3C23038EADB9C4AF24A369B92138BD1CBC8A06893234A272BE5216B4E97F6CB1DC75BAD7B8A558535064CAB73F89B7A36B91D3139F0CC24822022F1859D9E638654C7F764D0B1E74C06FF2286C459BCC075380DD6644DEDCDA3014EA20612F84CCA4DAB6EBEBB7FFA4EA2BF344620DD55BD739D4E5576F9E88807BE4137997AA35C288FB06DE95EB9429EE4B3AB37790E31CCE79B2C622D91889BDA1AFF43E4783CAEDF5F13F7497B37D4D019CEFBD7919C2C45C637E6F69A8B91A2FBF5B875ACE59F4E647A80A2925222FF7C8575421BF14091470D24F13C57414D4B619D5EE29825A1878C1FF40E45115D4298A1ED4A1A3B30E2B6AFE14474BC3CD8C83B4B9AA640AA3CC71BB62A22FFF9D3061E3C545AC3132C139D9A97326D96C4111BB5F6E180B3DEA239F14F2D5300FA47F0B6E3261D1213477090F11611F81A43AD347C3366493582FFA9BCE8E42FE54EC680614EFFB0419FC0D064DFAE0DD6C0B18B6AD89081A9976ED0D8A9EE54DC7799563E63D359AAF52EA20838363F24E85082E35941D7C10A907DEC4DB6BE72E8A8FEBE295D1373D4914E20C5A34D942E83675BA7B5463E0255AE16A005A5A9D91C42487EDA7815B6C6030305FBCEB0AAA0B2EEF911FF787AE73FFD34CAC30397CE32E733BFF543F86022DFD87E356D29209EF516620B339826C9DB3A9317605578DE2C642996C9B63B4E57E76D50B594E1C54C9D5F66F55103CE67E2A953523DB3AFBD128AEE8206E954B842C0AC2ED7612DFCD5BA816D97564EE401BFC23C618370D3FBAB8DA497786BA4CCD6A2BF1DB3716972F2A4E170BF303045BF79977F97EA632B53FAFB6AAD9DDACF660912C4492F98ADAEA78E407D6620A677218CEB0DDE774EC1CFB907447B82B1B1D48B93E56D562B073962245231E47E357034CCB798FB5BC3B6CBB3030DF2E8FC65493A78DE952380ABD0B34CA53967360994AACEF940DB34E27E76CBB491562997EC35FC82EA5DAF3C0F7BBE3FC9C274433E028DC4B1295F1EF29E1E1B0CA186FA65D8783C0F29E6C490A373D03C97C7A40B3AEB0E87CCA5FE59126DEFF4C876EF4B0A378B3806ED28C397CD95B7075E1570CEE9DFE043CB4A0FDA74F5EF86E2822E3168AECC3D0B9043AA988A1387AF3E0D8A667CC6EB3D2E2156D8AA61723BB2D074A604E39C3312B844E0AE128858735A3D2D2CD4CEB4AB8F00599BF5DC3C7F620AF550612A3B3D64670C2730DCCED3776DC4632302752B48E0437C45902C482CB332DEE2424D8AF23C2E3E9403965EA9CD62FC8E9B7555177AFA1269C82A2E4A06CDF7C7526EB0A64523C4AD43526FB827A5694E524F8BDED8E56CC01D0CA45A4E649088B4DED47F27AD51473389A2D435AA9DE67708B5C8C1DF486EDE - -E68239D2057F4BD68CE7DAF5C1F10186B89AB6A824CC5358EF9F52D0519B1E5496F6577D47DF8AF7722630555E677F80A21303C79C0832E1DB8009217D7470D43D50999D206CDB7B92D8D1DED45696D306BEF2C5226CE422BC1ACC442B2F47DA03B6AF281499B94A14AA37BB347DA499D0D3F4DE3EDE9F654BB444E918C723638B8AD9437D9B5013C10E2B61AC5D7A1ABC785B470E13A365F33B1B53BE5D521BDAB2A14C514787A430826D81E949FE3AEE0ADECE7338BE8EA65C78CB3B85EAC13D40C71DF668BDB172D3B118FDC0804858B97DDF260E93D5646076E954CE76AC3621D72B5E85C741B307C97843820FB9A1F669E5FC63CC5763E1770BBE7449E65BD8CE525921B76A2B077F22EAFB9FFF0221AEB7D8581D46B8BD0B1D0868DA1DC94B088CCF6DF1FD376E41FC59494F0DC18E527991D70BA1B365733A9530600DF10ED3CCE1C0EA7FE191CCD8407D175315E0D2636B08757CEBC86A9C3D22D484E5AC4BC0A69DD8C0653F299C9A6722E824F31624967E8289CF1DC4B02950DAAE2FEF6CE5389D197D898D097D4426E875D83E258C7EF5AE44A92FEE7C8BB3E023BC567CC29224AA4338BEAD0BFF75CBA5131C1EB417A98C13A6B474AE7F1B72088D39ED919BE3D8E8AF475C69A186CB8ADCC8F6DA0195C901062669178DE61812033B6518CD2A6D97E353C9DDEBE800B9ACF6392A797300BE5572192050FD23CEA6D8C28A5DF980D1CDED4C9097573440FDDAF37FDD6BE1E47F8F67E40FF429C433B935D6DCC12EBB108D4922587B0EBA7422C42E0BC07951193FEBE28BA613BDA7B937EBAC038900C981630AC7C6921F2B7E40362A2C5422AA18A26B077A30583313C82BC271083973EFC27A5A02740A9DA039B7E805F8F549A2193610FB6DC29514853025A93007DCD786A0C2134B428CB1759798C761544F3FD4DDCA6050A250CF43ECA8FB7E149740937918D908DF103253436DBA7235BA54F6A5369666C80852C0F2829E5A97FDE326A05281C745CC50FE0957EE0579E5A6640B90CD5946F5F72EB8D80D26971C1444925BEFD5281A41AC9CCB1882BC347F4B959E8B9864F485AA42E1167B1B3FC1BED9133A56B58ACFD88858560D8D1283D9EAB0697F0D1039EDA1628502AEDF3B7F5D8993535AB0FC408A319377EB03DCFFF5E6BF9B761C7C0685630DF6ADBF837410F7D91A93A4CD593F95A989DFD74C973D6FBBB747D416881669EB3CE59EAEAF5F3B5FE56528A076432B81C464269AB49035F6A0688E0D0D147F9350FD0800636696FF72B27428963ACBE2E81065CE376A32357619F97655FDA48090838D6BB6D1A3CE7E84CF5D006BF5AA0B2EB98DB299EA1CF178F8C7332A6FDE261C3A7B5210A8C46760029CC9E19CE2B8C0199EFCC58614247B72FD4906779A62CB217C65F5445687979E09A65C8F2AAA3C7EAB60C70C67B9D0 - -BE9C822A8A0C7291AC84212B533EC78D006A828FED3F5C03CF8B2FBA88E5DC85A289E1A17E7CAA512F4D09BC20CB73E0C4967493B569A85254197E912D4103BC112FBAEEA282735BA9EFE543EE8D59CE6BD04D7FEC9D2B3896F8D722825E60D27911798DDB92C94CF2314CB56E468A87451B0B598BDBD8969FCBB7C7F86D56654D8B9C0AAF4C07631359501AB221C8F76D1D3A7F22E7741295467673CB2F2A6D492A7CDF00696CA88385DC89DEDBDE0C33D69ECEC5AC8984FDA10DD739C355D2CEE75B91DBFD755D4F5FCABCCF9EBCCAF9A15641FA4EBFF2C8C2973960FD09C223E67FA07790147973588ED866C8BA2038D997D61582580AE8D6994A7DEAC4352E4644D0B629427877533D3469F21B4E73FCCE8B32280781E3247A65002BF59B9A6BBB94FB23D5155D89A138C3063FDFB997004E8F5AF23F58D04E98A1362EB5424FD86B26D6F4C404B481D94AD5AE11C756C4D1BD3B8A962B4BD667C4A96D5D5336AEFE00236070EED55EEC15719675BD0A7AC857C41F1A32F96A47240AA9A8860567CF3EFEF9176B3F0710488E503CB894E1030E1B2D03DB90A9335C52211A6C2352E183226C2F5431B3239D66955E50F9BDD52B46120F022328DF1BE0A86E3D0C0676A9AF109898356220449B76BF78AD801FFB89506CDF77ECB47C754CB795695610013EA64E19B84AE16E31F9D66A882BDDB18C13D2FED18A47102DFD960E47EBB844CBED30C7CDA40D26D500865A8D2484611264EC163FBCB64DF05E878C2E3752EDAE2A1528AE34FEA5338FF5595AA0C41E54B09D133E48FCAA3A166D7B3C6C54E833192BD84C96C02BDA74DB0376293F269BDBEB7D80FB7805CDAAEEF494D80F48D3056E102E31E3E9ADBCAD0891FEBD5347B4E989F26FA59417670C46DF1B410A375EEA02D985E55FC1 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TENUTN+Helvetica-Bold cguidfix -/F1.1/TENUTN+Helvetica-Bold renmfont -%RBIBeginFontSubset: TGYKOK+Helvetica -%!PS-TrueTypeFont-1.0000-0.0000-2 - -14 dict begin/FontName /TGYKOK+Helvetica def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /T put - -dup 34 /h put - -dup 35 /e put - -dup 36 /space put - -dup 37 /l put - -dup 38 /i put - -dup 39 /t put - -dup 40 /d put - -dup 41 /a put - -dup 42 /b put - -dup 43 /s put - -dup 44 /o put - -dup 45 /c put - -dup 46 /n put - -dup 47 /f put - -dup 48 /r put - -dup 49 /m put - -dup 50 /u put - -dup 51 /k put - -dup 52 /period put - -dup 53 /G put - -dup 54 /v put - -dup 55 /w put - -dup 56 /y put - -dup 57 /hyphen put - -dup 58 /p put - -dup 59 /comma put - -dup 60 /g put - -dup 61 /W put - -dup 62 /S put - -dup 63 /colon put - -dup 64 /one put - -dup 65 /C put - -dup 66 /E put - -dup 67 /M put - -dup 68 /B put - -dup 69 /L put - -dup 70 /N put - -dup 71 /P put - -dup 72 /A put - -dup 73 /two put - -dup 74 /q put - -dup 75 /parenleft put - -dup 76 /x put - -dup 77 /parenright put - -dup 78 /three put - -dup 79 /H put - -dup 80 /question put - -dup 81 /four put - -dup 82 /U put - -dup 83 /I put - -dup 84 /j put - -dup 85 /slash put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-342 -914 2036 2100}def - -/UniqueID 4069639 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C9589AEFAE63F23C534C3A4EF5350099343EB500F6FF7E57A2292A3DF8F602411254514BE676986C7A4221863431F94C226CB1ECB9EF1B1C607C7491F06C94D2B693D5A32F6967E172F054DD4F22253D1A18417E462550BD9E235DC7B554608AB0BC9E84BC789951513383C66808DDB026A309A77DEB16CD7BDD29B5CBAF86AA50DC2C11EDAE14851A3A030B86B377F3C67C722A6D76A07769AF55D91201BCF71966E842856A60A2E9F6850F6B878F929721147364646F88D928C4E925AAE373DAECD30F3F3FAD0B6488D7C05C23D47350C28857C4BF3A1E127EC91228B739BDF3C6D9F26C2AAD3916148D9AEB5CCE35F6EF91011E4E4570BAAC5562DE80AC71F0AE604716CE28BED34C8217E92406815DA9D885B048EA3DFD1FE8B36E2647880510D62BD5597D11EC8E1DA3885F82F4313082BEFADC9D3D8FF7AA5D0C0996702D2808A77AC12055A8BD2F86BE448EEE9C77CE2A565B51323AD69CA0EAFD39B17D18F841FB283A1C68BA399A68DA6117C1495E737F30C889B0B4F40A1E0D6DCF738C614DAB71FFC28AA63609FD765F1B8DB22C91CFC611573346FDCA979CDCD382A479C967E03C322CDD8179356FA372337F815E9061670AC887C8B60B16658DF8DE900EFA1A4C97262BD99BFEAE3105ED284D8C92781C756EAFBAEF1A927E3BA010E139ADBF67F7220932AC5132E329E3E577555B083DB919644A42CAF9BED45D28BB538D9E307C326F101F5779B58A416062229C7BAC3FFAE3E1F6C1807EF6739 - -1E12F5A8BD108E3B6C86B65FB9A2FFB4A750E7CEF24AADEACC17FCB9D66EE8D6C5C756AFD6C1BBEE91F106B383C2D9C990D224DEFD14EFAAB723CF56EE069C2713347E5AE6B2AFD3B6CC9B9F0920E41B5CCCF188E7BAADA7A95072B39DDA40CEB570972D1DCA61A53D1289296A73C60DAA9F9B352F92709CB9472BC6969BE68DC6869A31EF96757E9E771F7E1C8DC04D6443FB51ADBAA28506F00C5FF54A9F8F7682E679D70835C556C8DDB64E93A593FD1C9784D965A6D873350328D92FCDF994719EED683012F956901D4870B4575DB66B20E72B338D575097323A915A87DDD2D0C8330D0C222F8B4819D4EAA6A674780FC64B68064FDA3D0C1931C7E1A2C0F147D24CAD26655E383339FB753F9DC2EE737BD97889DB7D5A1F3DC9C7CED03E335C5B2E58D529DDA9EBB7021A54566E58DACBD38C251666EDB41A7AD21880EEC85DC259C5113C77DD7A0A42B9C777AAFF3392D957B444919E41AFEC6888FFBC970E7A452DD098E412334A8DEE8D6B538AEA020D83A8CB43EEEC22EB5666CBD222BEA6D7D1941F2AD64E4BA458C601CB00C4E3B01435D1D90689EEB4911F36C9FFD9BFA84CFCD81C10699795197AA419244225C983B7E9466F0456002281D6433303ABFC88F9D62C7FBD68067A4C76A60F5B8972FA1B8097E59D5B73899E63CABFE3E14EA2BBA963AF5EEEF5BD719BFB8ADF77035E234E0FCC24B1EBC338FA0CC9B4A7906CE9038E5A17A37F80502EDB722EC0E37982F437172D7073BB371DDC1DD4ABA4A309FD2DA29945C72846399CE5F83826402297BA9D0D4955CEA4339A624FAEAD206360BA060054689CAAC7B8AA418BC26EC4973CF47872967DF9D6555E91C2D9EBD2467D8497F42CE7488F5B21E66F50BF9D0DF852FD0F4D5328C4C52F0052CEF5E8E36A83353BD9B5555483FF91AE4D1AAFE923AA4E9FD65B31FACB465F186699F228F20CBF993451B0BBF861D8000C52A503D2743BC37749BF165B880DC13D459F1C2ACEDDE8ADCBB18968DDDDFDB43A202C889D1108C900476B51A6DF991E66C829C45626B28B45563BBD8C3A1A5F4A6CE489ADF3AE2A0D0593CCE628773CD760DD71B7E8AF985014667BFB91B368C734C07E13B3C07E64A344EC03B2B23BB70C6D74D1032DED6F60EC8A7BD7DFF12989A7DF27BCB7113CEF1199B473A4B9FA2F6A3D8A895E40636BC2441CB804F62875544155C64E4917CB9E0E57BD561E51CB5655EB645C3C6D72A28558F9EC4D08D2ACD59D31DE10469EF2887F3899A10AA1E19E44A5FCACB0447D08F9A3EA894680CC9B801872C419DBBBCF407868DFAA6C8F459E3C01F5A683854C99C189EB58EBA91893316A1A6AE18B16BC5745404118C511BDBE808679B1B4A81AB5148CB968C5A968B7A1210BD17B9442901301313AF9383C0585EF49ED80759CF12AA3B1C49180F738979A8964D2AB - -1346D55629CD8BD5C3E5CC61EFD0479C90E6B332CE9C972AF26B7AB6DF6AF3F95126EF1C0FE52E7C43E631C73275921D84EC3EC79B5ACBA2098D215FC40AD7C717BD88CC2BC375DFB4E7B8864DE58E044FF3DFA4F1E93EA4843EEBBADE4247BDDB6DF49F247561D434AACCB6B481D05C0135FC6AD3D616EAE3ADA209CD1D66BD9544B5A1C1958DC875A7C529839A547C60C1CDCEC4DAC87B476BE140D670141F7904C0D878417519A8B1E93AA96EBCBB150B29F30CD3E9F6B51A5ED09E3490AAEE339E7D0BA06C3803EFBF20FE072C61B0884BE7A202E50839A97489D2CCFCEECAEF0328BBEF10E0450448840FEDA8CE74520ABFF4A4340C4EC7AF65F941FC17457A3978A8A08CA0349B57251E9774019F464BD0FF387FF37983534C5E015E53549606FDB649A514C3EA5EC1472FD3CC921FAB969F4F7E7DAAD6B66005599E6C16EAC2D9051DD042ADA47B33BD20301A73F84EDA99E86E145B9F5D66CACF9FAD6FB25E47D33944077F507908022BF6966439C42A5EFC47AD1C9BDC6BF99C5B14BD5127EC7681EFB6CFB77524E102E7F87C0EEC973F2C6A4AA1ECFDEAFBC5B13ADF447836B3F0EBACF020600D864D054E9ED803C4DC1EBB1166C097B3DDB0E386FC0AE8143AEA801B947E7A1740AA1261E796792569905EC0FAE4AEBCAA35693F188FA9F3F424A8944931F918D20468AE478A07094F2B280657A02D5E0A3C1E6BCCFC7FD888A528919008A53474F9C00F2F9402688178523B9E6549C0CD4D71970552062D786C60E5A8F8B733203CF3A7AE2A098E9D2658576D9C440560F9148FB9F5A01294315CC566C4D1A9D46C55C2AFABD74C895DB28D35F70CF6277CEB0FD53723D20F63E37A7F66DF055D90D76AFAD3126B6BF96A24B337C6925E6411D75C671014C4A0031C3E19EC3668888685370E1EB855B0CB1F5590B493408B3AA6E4AE474B43235FD6ED328036FCD11330C5AD0198BD559A85868F1187C91187BB279095E8A1EE82212BB79937C617B7644E56631FEB33FFB5CD7F7E324A30F289836D940BA5027C4699FAC29F7D31A8A0421B65A18C2435B807CF79637E725385EB85230836FA8969CC6D2F9E9CE6A18C531E2E8414A8B120E59127CB07755E18FADAB2B77A255E888D407F101AD53F309F5D1E08E60BF7BC6F0C85D3EAF09F8332376B8514EA06E76E6A161374FD2508DA122384530BB80BC7E0122F883CB7D2A0FFC98ECC1F89D9C53AB7DD383DFE6640A998D33FFDA1E60D748D1DA00EA07D48AECAFE8A8A4BBC52C00AE67E8BB7959002FFD2231053C9A05AE49559A1ADE1EB5D54D4F4405764CB8356634E3914C0594C94D16F050B25F380279C2A24F96B906AB6672EA9A7CF578FE9D9F81BA2E01EA34FECB7AC74DC6B95FB926BB36860DBC1D09D10656872B0E4E3DEC839EFD21DB6FBAFC7270129A134450D2D674B64 - -359D45DB0119FC2C1F064CCECA6AEC2A6BC20281B1AC8BDC66B1B0603D7BFEAB2A8DD59AE547E50E59FE9C167EB8C6C570E5CF6BD7F023620758A8BF6EF3AE7F0F9D2D008F80F793E335B0386363930FCCD5FBAB40E19F535A8846261F0A9D318185188D0A78FB8CCCA5C193F2FC2B924E6F06DF7FE983BA5C42624D0FC72D72B2C49631C48EBA791015AD988FFDE0198F79BF23B547EB5403C7624666F93121A90F6EF650124F7EE0D14DD31822D511E4B84C89CD00D63C2058C9C1851F07E3D815C09DE0CFDB4A537C69C4905CA02508D09F97314A52C60B545258448AFF5DAF24B6509B286C2CBD35CB284C83CCF2A9896EA2F5DAF1792F6AB5E2DB3FA3C73649310191E1491D1CDA7B9A3C6A6769B04029DFE3B025BAEBC8BD0DAF7B04F749C97E76C552EBEED071E9AAFF9358F1A24482170B0964FA2672BD87F37E967A26257ED3DABE874A79ECB0BF9683B81D3A0C2CE6B29CFBAE29794F14E53D69CD6162EE2A4BAF7B6F567C48CD3F043A02B7362B9B45AC49036F1F5B4C194034DA460279235349DBA972743869C4FCA21D06150E2679A4A7A248FAA44C1BEAA838204CA66DB4575168868B2062F54FD90865670FF8513A708D299F49D1BD52AE245A90745783C07A0BA34441A4BB5569D53D69697B3BF27209FB1DAD6391C8E18B1175E3274C7983DBEFD9788FCC8A50BAAC76ADADDF91AD42CEE6924243C123482BF4DACB4161C59442F9962C8FB340A5E0D8759E90587C653ED7B1989D1D518A79F488BF129E701D3251010676C99A3D0FA10898BDDB2F43EE8525D585AE508D1516E772F81488834D559E3FB7A81EBB705FB5232346011B4FC93568DFE4738EB2D60CCDAF60A7538DBF6DCE7C6574B6CEB05B992EFE97B4DA25563652D139FD5064E82AF3190CB20A3BB1E4E2D1E5865B429ACD90FBBF7219D5E54086D93B7F292832EB8E9F5DC06526DF391829808A0E27641741EA632FC9BA0314E209FD29B0150A1538C980AB900E9282CAA0048AAA88332B5D8E2725D5DA133A23807F39F62470B632C18538DA4E7ACF98DBB0A7A6ACADB575B98F36E0F2C687FDCD4E682EB3AB8685A4F1B52D410C530DC7163471CEA902B6CF1D6AB98EAFA11CE247F484C479E5F39C74B29BEF1198702754C050ED5DCBB8C628F3187BF8A59E46388377A86BFED4490354DED6B1E3892A059F5412A911B494A9573372292FBC0AFDB4BFFDD09E296841ED010E84B7795CD85B22DE70BFCDD1A80203B83CF0940939A0E6BE95E7B5BFF42C5EB647EBF8BDEF517016371F2884BF188D36E73318552148F78FA4F510251C26252D037997981F6F32B21FCB2D34F4BA2E8018332E9AF19B1C8181928BD1C22C50D20634353BFE01312D4634BD992230F48EA706EF441216BB7D789EC5E8205FA3583BF8750A486A38834D2251CAC1F80F7A2335A6F7BD00 - -CEA5D42EB79ABFB3475EDC3F9C0EFBCCD93F9D5159E0D3CCED8AD1BA5E23F5649A5BCC01D0C94FDD74F1E40F7FD2BEF19C06ACA1A15F410968D46351D324E2E13B8ED4CFFCE4DCC93FDB16F63A0AB2D5748381E39E4DF4D32007FA5E06B92D0B6B397DEB940451066AF28056D9E75B2E4FC57BD7E5A8A52B338079DB0A5503C4B7AC11144E6A373B871E4D531927E13EE9C842883A71C284A79E4B06250771A96C3FC6B2F2873FD0C03220C6AFD6B548A9EA81693FFC4BD0CEFA9D8D6D0D790C37FB34795F0D3A3356CF25B6CEA64FBD351A370B5148391EAFFCF0EC33DA109817B5F8DCB47CD34ED3C6A36390EAF97F576A41EE748DC607A393F1164273F2F5F6BF05C5087C4694A9C24A6CB5B6F78D865252152167A07D10BE7CE15AFDE5AA73C0C41884F09D46E64F42A5208BD6F5F8E1BB52D2D428E2CE706F16741254046381E4F8EF95F36E54D7FA809B418577561E3BF8CB46390113B02C21C30955366C57C6BF0F82F7E806BD25C461480FDA9A88BED738BD564A8513464F266FA8747E63704A13EB38D109557D3E04DA3F485DFD74D0389BC57398CFA211257BE9630C09549C366BB6AA981C4941302D58CB46C016B9F4974F0DE3E97C7778C815E614889F6AEB442EB06A394988ADD75C15A9E37C40A8E529A5F52D12516AAB0F5CF0413F8EFAD51BD78651812DE75002A242EAC7DD1E1AF260C87E9E4BBE3B7A4D8D275B356ED135DD3A3E452ED00A284A7F344728E32097C09A0BE443F5EC220D08D54E22FD9978A214D655D3246728D22BB5405075D4C2DFF80717887B490DA7A3DD42F8C30523EE6A3C5AD29BE1587B11B60DC35BD46DE480C6697A02960F6781021172D20ABDD9A115FBFCD17A02149FFEC8E9F7F906E6E15A7ACF90860AF83A5A8659EEE6167E2F57D543920F90E0118B0EA3C95547DC3BF26C8521DD26C80B5619DD1C2459F9DAEECD1ABCF9917F81F77899FC4302C3F5D1A06CD17F7535AF74FF5EEB60391742F88B6F0E76EC6354105679B82BD8E4A49ADA7162F3A53AC19C1EB68E91D451DCD41FF2B46F68FC2CFE31C9802B107AC9934223D44ED96E1B1BAE1B053EAD818FE24DE2FCD6B2E79F0DACFADD021B0AFE21304C0CA7ED1C4F91DF7A2A2F0816154DA9A4CCE817DE0E764A7663AFD6A6008CD10F2819E0B48869C52B153DC2240019B047CD77043F19211CBF2C125266C52B38262263E71A2960546F76F99A84D8B63A7AAD98091266ACE1C9EF52AB3F5BB5E913C36F0D28C880D0D8E317FC3408F09D665A078885092F3C1164CD0FE68D4193E17D06D935540B9BC8F0D56D1E458EAB543DD8D19BF4EAB5003510EB7F06BCC985D5FF3B948969BCE45525610360F8028459401072DB45A204B2B9FA9DBD524E107CDCA732572C147B804D24E9AFE20DEF3037838EB2193D87A02DB5D75C283D7FEAF244A1 - -65A8F34CBE337257F5D18F7B464F206D6D9BA958E7F8E52405A608D5026933D7CAECFB04980A4967A3D0D76FE8192BD92FBE679B50C857212183ADC5D3991E2E5DC509279DDFF3BDCAB2506D44251013FCF948C282C3E63D99D83CE8860F45AE727260D0F4A3A5562B8FF111DCCD6D1CE065339B83992FEDB26E6780110BFC8A9AA68399133F315F5791FD4373F47561C0854466486010C45633B023A2FCBCA648507119806445A3284051D4C8804087F94B2E40F99819C89376D17FAEEA77765C52BF7CDC76B4DBF10CF5D85980F7BA3DB0518A5C08229A98150D4EA6779BA4C994938AA7279BED4C614D9E894C0318DDD20DF2A16223302C3CA522CAF0CFD22571C52EBB4CCA052F927584D5B49963EC1E0D633B35F25DC0564E7AFB8589A2104401155D8EF408D42F479244ABE4479BD5063A4C9105181B5DD4814774A437DFD58B63C1D3D536B8A258809A84BF7053618A51CB1CB16C9198CEC608106DE38EFC4A4380ED06B8686D0E11B08CDBAEABAC6DD9C368A365234B027AE0268CA433B7B4D43124B4BE050574511D9EDEB599C85AAF5218A76CBE690DB0335C162AB4B078468A99E70683CC69364B4A09DAB3F1F540501085D8A9D82A6E684DEDA8DD479F9C47A46B134027D4F49B162DFB3A807AE1A75D2BA52FFB09704F36E1A2FB147BB78E6CB517C766E941AFBA493351DC87E7450E4FCC33466763A3F7554C63C7322529671771DA69B4F7FF76ED5D94D84E9B9D3FFAE9B83F4B457B05D1D0348ADD011BD2182DE07CCFF4D31C034485B8CCEB765561597ED56892E7453D5C8E0F2E79E949960C2B167A3F54766953D2023D37F2B6E395A3FA34C815BB6FE92BC55DC63970362918B33BD259187F2ED42860A33F9A8ED1D480D4FBB709AB3179F760EADDF2875185CD36A687313ECBE62695511E7F097A25BEB5DCECF97DB8450E3F7358A0ED95754DC00B8A341DAA72057A2A6A3086B2BBF995DC20880D8D3164114F783A847867BBC92F96B6ECEE10CA4757D04D2DFBE0B9BC6CCBC2E0702DD91BFC9665A83EA4F1A288A2DE5B9A87FBE8C24B128FCF499CECC8E9188D161F4CCA637FB29868BFF0B2FC1128FEBE03A74523C840521CECF590B38087B58B73B08F2B44B385C6AC95B50683FF6972E86368A9EECE163328A79D43343DCB9FC138ADD8072CF463D9366AB72F4725831D64864CB511FAA910D7BD082401A6EC230D487C6C8B5250A190E1B7B90EC94E37D517B1FFBD57C320BC1488A88F4DC7F7184C4F66649A01A4AD9F28F4050BFD6B8F73C30BF619F10ABC2C3DBA4F42BE8BD2630A263AD4D5D2910AD3894B1B8EC2DB74FD745F3D957842E4CEA8306757F2DA0705ABB1545FC1D6CE6EF8C777C44E94C0AB4FB761D3165D38771782A0F7321DBC4CEC88BCC16FB98C1679D8CAC2A0CD618D3E6AE4CEA12CC8576FFC273D - -76880E2D0886FF313E6B647879883B0FC029F4E68DC9DB2404F1EA7399FB3C80BB7D163437A52783BFB24C09480A9ED9DA7992B010C234664FFE6C2C981F8AEB77604250553F7EE7B1665712B97B7B9BDAB03CCCBD2D05EA7B33E7550ED5C1723FA2CCB1677E205BE12AA5CFC72AE923D389C38675C981165B870DDCF5C833956031B257749F7B2D5F03BB9F174A987F13D3072EB23E75555288EE20DDEF8029024D4AF3D170B9C1FB92C83D67B897732419E8F4F3E0A5511BB53DE67E5CB05FF128BA2C5B0E089E3443124D22B7959BA3C534C19A5880980618AE518A37C6B7606FA55392F7B4E8CA24C5AC070AEEE8B696F6E3A5D1469D4A804CE1439D63022B5FFA522C72255F42CC3EA50DB1BE31C2C355FFDC5565A312071E557834BDF7B8F638E5D8698662D3C5803B0D9E9155CA4F9CB1C47C3361E1A06805946911581D03347E95C36DA797CE37913BC38001A43DE2C8A5E6D401188F4E3024565D47DAA4E1859C2B9A46B5122743BA2FA084287CDBCA9A5E8D6AE6416ABC3CD343FC60EC576271632B5EE9B14131551FE41726B94D1B74CC6D1D720C303DC387C6A657C52B399731ADDFBB27CEE2841EC302FAB7D341C5E3568FE3F8CF15A4FF60D3983C9FDEBEB6B714E24429BF71F3D0DF38C0E95000D93E840D20271A6E8F2BE21FC4150D35B6E94719302DD090C38E83D190F7EB62E6F8DFA76A1119511D86FF138967836943577AF7CB721E741E299B4EBDE0EE713AE99F0DC004BB758B37CE6032DD7EC9F13C596D1AE5816DCEC207305D78480E73137037F882D33E3255F43B646E0296EB0AB6838F32AEA32F16F82D09FAC7B04F3E2984A62F5B216BC8E1622791E8888FD0281CBD8924FD600D9AF79986A5B8B1826EDC0D31CB6205B12D59DE31CF9DFFB8C35F261E0116723CCA6A806C8DF62B96E0D0518DD8BED91BB970C7CD50A6D0283093CC16F9CC77BE91F0C213794494656B739D6849DB69661AE72D93AFB9F282C21C051023D53D350FEA718FBE0F7648BD0E86EF2A44CA5E290F612258899F88EB8F76B5A8FA7522444FBC08417403074C66C6C57594B2A9A2D6B91ACAF8B1E016B8F7AC44573320172DAED3158BD46B8B6876476124F5CC4E5718A2883A87F37EEBBC1CA36FAAAE5ED4401AD22C25020CC351DF11599742D68AF49CF318A2CA20B9838CD0B85AE434A11A8225327E85D5563773C73E6D34C70A9FA69014393EEDF1402D9024618EB7F8C3512BCA3BA7CE85E4638EBB15B233974EB31FE1E10203822E5425DD8B67448B97D7666DD911C625075C1BAF9869ACDFAB8851A41390E581A4A1329BD1BC3B8ACB6EB114319034E9F493BB0313F24C98A1AEB89115A05ACBDED627FCCED4861C504FA2C9708369661E186CD6AFDF9A9DC54EC0156590415B541DEB9BFD9CD0CAD7AC9B928C00A8 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/TGYKOK+Helvetica cguidfix -/F2.1/TGYKOK+Helvetica renmfont -%RBIBeginFontSubset: PQQOCS+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /PQQOCS+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /m put - -dup 34 /y put - -dup 35 /space put - -dup 36 /at put - -dup 37 /a put - -dup 38 /r put - -dup 39 /k put - -dup 40 /e put - -dup 41 /s put - -dup 42 /equal put - -dup 43 /braceleft put - -dup 44 /dollar put - -dup 45 /l put - -dup 46 /i put - -dup 47 /c put - -dup 48 /hyphen put - -dup 49 /greater put - -dup 50 /g put - -dup 51 /t put - -dup 52 /underscore put - -dup 53 /M put - -dup 54 /F put - -dup 55 /u put - -dup 56 /braceright put - -dup 57 /semicolon put - -dup 58 /E put - -dup 59 /x put - -dup 60 /o put - -dup 61 /n put - -dup 62 /v put - -dup 63 /p put - -dup 64 /numbersign put - -dup 65 /f put - -dup 66 /h put - -dup 67 /d put - -dup 68 /comma put - -dup 69 /colon put - -dup 70 /b put - -dup 71 /quotesingle put - -dup 72 /bracketleft put - -dup 73 /zero put - -dup 74 /bracketright put - -dup 75 /w put - -dup 76 /parenleft put - -dup 77 /parenright put - -dup 78 /C put - -dup 79 /period put - -dup 80 /quotedblleft put - -dup 81 /backslash put - -dup 82 /quotedblright put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C958CD97D0053BD1790ED66A68A35E59880268A83745F0730AA68F4871781CF22E6196CBCEF67F32A36D3C030CCB2E3DD8EB7ACC96E2892F239D2221FE774B74555AC17BA13A7D895A96EC5A7DB2E602C9568D723F5DA484C740B7E6A03C0699A65BFCA666AAF988B30442493D47EEDBB21864B1A028886E383B9B66680D4FD511D7AA2AD775A0E4E93CCB1A8C60E3EACCEDEED9332FA4849A0A1DF08759EE72EF2FDDCDBE5A1A3BB57008B64121720F601805DBE7572329B49126FAA9EC97D6273827A180D8475FD51D9737DCF322079D2B5D82501BE38F5FFD804C739393F12D745152BEECBC28DCC7CEF7ADB4772A3F93C9F7CE869531A91CA280B6E8ABEA02CE456F06B000B9ECFE6994717D8FD6741720B48C5BF68E6E0F1843AF4B90592672D953B858E8E3B5455AE0CB9112DCD6EF5250CCFAAAEA24ADC1F53825A83129B4715C834620916289D64AC639B1554E15FE8390708888BFBBB614473194D42F216B31AD4755E1FED66A86D9E6DC7CFD0E9EA68D8FF945BB91C80482FB7A18288485D97725F1F07BEABA5960FA46B173286E37824DB8392F69BFB1AEC780D4B64916DF50A3926B2FD90CF4FB64A846E63197393670A80CAA8FC0DB0A1356610138CE6D7CE38D3B7474BBF96C5BB26C2137F8454F57A5474A63BB3C44C1ED82351AE5DB83ACE39A171EAF8A734772DD8F7F4DBBC821237419A8F115680EC5C9652A7DE6A7A5E03D40C30515E5E0E5F5D345C5A0294D71F730A6691A3A92C8F1485 - -72393268DCD22A68E13529340CAB22DE24DBFBFA00C95174BE12DC210EAE82CA05F3A3EAA6356532C5B6A4EDBCD1D366DE462F1517A2410815135580857A77B3D3E9DF77233C2211557FF0C813D48A63AA2D34019496364DAE03E97D53F6E05E42493AF86F141CC0FF4B66FCB0D293D104966619E0F0E8DAA037E277806CDAC3E766201A8FDFB759C1C7E2FCE2CF984F8E56B5EA987BE59B662177613D0B59758423D7C547130D8B651E49AC2E6669C3099B5C69A2EC435174357957451BA85F81056F60EEC4D315CD5632F57C8EC0D293CB7F366CF2DBB800BFF47AF3C36C8A63E07D48D7C153F28C63890F1F7FD81967670712AC345CE76B2770C03FE607614F6D5937A1EA954B3809444804DA253750485B5BAACF5DF65F7DBA4DAE750C1F5D0B85FBB56FA0F463AA837481A00C18495FD869F5279D1F56D1BA262637C3E908C03AEB71DBCA1C9CA09B5CCFD5F2016E4457D7B84479A3672B04D684639D6E2D4456630047242FDD6E6D0F018C36127AFBD2B5C5DB19AD7FC4EF80D995371F6B9C02F0490CA635996AC235D9270C3BDCCB402AB40D85B10901628C39FCB6ABF80256F8C3DFDB492315941A7267177CA7450B3FF49DA6ABBC0EE2B0B6E5AF8A9C8BB40906FE34FE74BACB0CC513C8F26E370A0A3D637F733BC98F6E81E3ED1BEB263C0624457DA74173B76CE13DE21863EAA4CA623D8039419FA5B5D41BB06E28EF3D04609F58E1948B80546B1A0B3635DBF24E0A61FF410B710215A186D0B04967427487A6FD36D31FE90F7063234BCFAA1FF5C641AAB3E685B9374AE2DB31BBC0BC911A3FAB4010E55A0914ECED50570AB75BF62CDCA362ADD2E4CD4AB33231D1640EC8F78793705E7C50EC273667397DB2BC9FE3580F566099FE84D2976654CFE3332BD34F68E409BE5018B85F43443575BA7CABEC4201F1F3496AE89DE8CF5C67768B213547552FD9F48BFB4005C861F2735301886CF70E9B7A4E54EAAF86900D016F4F4AAF2960F8D526068579BAF9E01AB98B4544FA8E5147FAA9CBBB02D7DB46F6B70376161AD6C3534235CE7216227F7C26D36B0ED518EBF36DD7F0A885DCE19D660E12306B65DE30F664C52631A0C024C45FC0F0F0D26E1B370569B2B5A3CDEE8AD69642DEE7B297731A79788CE14A2EA8F9D5501B404C65B3C4306ADB5657CC957A0CC066284B9E82284550CA75254E96924412B1BFFA00E5799E104F8F87AFE1D7710A9AE937DCBCB7BD48CC8A66B3D9437210CEE613624FAA4B9AFAE9CDC5C0532AB16A43C7ADEDC807E56FD3E16A22B3881F6420710B5DA26EC9E182BAADC6194ED362862A9D8B589562E461A46EF34A5F99C21B1B2EC0F071B83637269A47EA5A66B8674C10E7CD4F9FF70E46CD39AAF6FD0E98D8E89326F3E22C95E8C6A80B194AB3D69A1340155ABA4C656AC26C20C126D20D72D682A9D6 - -CE9EFD0FB9945A2C11D96BEDA82AF53CDF45A763A2F96C383D870ACC3EA3B20AB0E50F69E00AED3E3780D4EE93CB4FB4D762A9EB18AF376FD9A8069B8568912FBD88FD2BA1A9C81FC80C98181BA34E37F397945749F5203502BEA7BA7823AD6E4871A21DC7761F5942E6A7F16C8CFDC01EF1F46E64B36183368EBD249422B93CCD358BF09094CB00607B3A3E8A1C52821911DB5DF65088612B752C5FA622336804B48B64E4213FB3EC23AF81DC3E09B844C8325761FDE37320F96CB9A356ABE07C2C33F49A20CDFB7B757C514479EFD9120EE949BD4FA5F5FA3416115A987149ED042A8A3A2FD0D252A4212254B8FD36D4C08D9037F7D6E23E54ACCE3E5E62DC5D3D771C1BDE26EAFB4F2D2D2514A223E2371D89963C0334680787478932C612CC3655C090E5A56EE691001015B4736FB5C7BBEE7DBF43E4D9771E7A4DC825D2E5A471A354204BEC5F0A876B03DE35FEEE73390097B1700AB3E51B8FE1918B4C8F99A9CBC4361A4D200F40E93950BA5C641D1A4EE1428BA1A024D541B8F0C586110BD19918815AE3330C0C52C904ECBD558EDCF985BF9BED5DD66617E0AC4008C66AF2AB71728AC36AD24E2C447EF0C35014E2D035023CE340EA6396AD9C267992C52BB4210B0C91DBE2576BB46AC35ED2A7602ADACD337DDB138A393E8CCA76C50431D66E69F227BF63828747CE74927CFCEE90C8747EDEE649FD9A6D0001671131C28BE00147CB83FA7A7F645AB85D6160446A700AD40DF1DDBC251E3848788CFADC15A3AE00DFC9CE7559F18BD9D1B469EE0C4956061D539E5305FBD651A7D3042320A0F596006713251AE168690ED58AC7123F458943BDE05CA284A8875F2158D39043CCD277EC527D58C38D8E982E1EC5E29888F71FBEED3DC03523FC2CA6FF1F13F4CD82B7B5ADB8020A8E59E9C653C75F27D29691B31ABD3316C79A6F8B57CC7165C452674B9DFAEB65CBFA2800399A350EBDDA252FF98697418510465EC4903D0852ADA17CA1316384608503D47F583AC4CC0614127B0269FCA074B73948F568A665F42A08D24D8B38C3994D081660FE28F6ECB2ED9A40DC5B4785B2739B34EBD04C64443680358A17B43EBD731238090E9A72B386E22606319484A992C828C7377D87F8C1C43916664EB7DAD9CE8B6B5A37D8D6BD88AF69467C1A5B1EDADC19EA560D4F64F2CC3C28F5D6F596E8595AE5AC9E2AF1B064ACC573603D8EC8604A9B2C4D96F00FE4BECAC61C1578DBA724438F0F170CC7FB8594DD52A3D2271A16D121FE71A93EA1B3FF1640028DBB314CE99C4EFE7C3A01E345A1ACEA741A62614E83B4964F814E3897C673CCE834752F8D2EBA24959D5D428DC6EB65ABE5DE974EB0B9422D3281469D220A0F7CD62CC8964D9BE6F937BD0C1F846197569D4011D39987DADCD269969C5B9325472B2DA75774A4F78BFF94FC6D8FA153 - -AE7C24ADFB8856B040F291BC3A68D3B9EDC269C27BC82BCCD84A9183C9DBF0B32401C79F98BB043CE0EC2B49295487A482FEDB6FECAF4455FE8C554D5FD5201B61A7961EAECC710985AB917F540B2955E5AA7E01658126275CF9ECE43876295E46620A360E0AC17E0CF63FC914DFB0299F337C4A83600BC5B38291DB76923DDB9CD783E957BC5B02AFC03925498DD3F3A49CBD4163D4734C54B3D7248B8D2F5134BA757117C4578A2AB8EA828F7C909294CB6979E56DD68EFB66D32E6C8DEF169E8DA334C927C0B6DEB665A6B872959EF082E8DF389467103DB8FB48E2610737E40B925D94DA21EAE5CC52657199CD19925F0453E06AEF8D1A6DB6A3F5FC1A35CCD15DCACF153D5756DFB8F1B81CF30AC68670973CE2C776C75A9A275AEA7A63328EB3B7B25BAC2BF20701BF2609E63728ED13BDCBFBCEB8D19B1BDC2F968E3A1500850BC504FB36F0ED665463E81C45987546FC84F30FDBA24C03372EDDBC087F07C81C36DB0FF0345A41A4383FDCC65B2999639A501F212C6CD1B9985C569FCBAA37B785105E41A4442EDA24D1791DA0016838055FC3F7E003F11FC3ED4229B9FA561940FBEF3248695D8055B4D4F5CBA56C36F00BD118ABA8085B6868F58C62788587C1F3D96AAA6DF6EFBAB2ADDFC0263DA3ED2B0D6AFFEE73CA00AAB665264E3D447395A61073F46CFF76D58794B968122F3EDBBBDB3CE6AA246E3C6FEF4F6855C37AD31F975801025CF6DF2A9E3A89DE2F4E740F1208CFF46C96CB88753B180D32A0B2B51851D77C7D7215DEC95D04AD5D2644EA8759407C3F5D63EEEC08288A115ED3A13B6C12B0AA2B92492D2948F97978AABD7B130A605FE559D3CAABA6C4D11CD69A5ECEB8C96B59F1D30C651A6CA0E9F24B2037B3E480908B3C7673E2C8C95C93ED4487DD6BBC3238EE22F9408BF740AA5F8379ACE545942A306FFA8B8FC3A2C36BE2E09CBCBBEC149108882F3D3A63E79FB982AFB7DA9508C8B5B19BB9AEDE0B39623FFB373280CB7C5DFE88C305BAA576B157F55026738E0C064E132F3B2CB16ABC7F34BAF4E9DBC4399EA7B5ADBE28752A62A36881A4C9BFE1598FAD886BEF657042D5160E91C520AD8852B776062BAEDFE72701AE0E90D9C06D574947F0BBDE6700290A42C44AFA6E81C243870110DC1FD2EB0436924FE84752F9FFBAC5009D2DFE206BDCE01B8FDC2A6EEE3FD9BCA08C873E921C941298B6F37DA347BF68BB18F7EB3B6BD14A3B691C51D95B3EE58E3C05C252C383B88EDBB3CDA37E28529EE66AFEC75CEAC444034682E107DE8340B1BCA88E49D238098DDC1BC1636D6B257FC853A2F605F1485F1AEA48D4B24F38787BB1098A46C76BFAB8B6353EE531D6C612352DC74540D3B77AF2731ADD66AA97641ACED189C32DECA275EB086CBCBEDC0C428261CCF0E27C99BBA2803B6E6DFAD7B875B7D4E2F4B8 - -9A0F0D152D75417D62C0725ED025B7A4DA54B705119E6A4A012D651E28486EC2C28B915417F91F2CDA8F6BDE50D67BFC09E8411B5484C5310DF1929180BD615F555250304B3CA24440F471CEC82FA6E77CA5797AE411068D0F74F0F63EF4DB025FF8F5059FCB447716D73068866A42996063121C374BDAF7C4E7AD3DDD911774A5C5145D5248250CCED0FDFCD72C486F464249EB4243ACB50E773034614549D5775B1CD165F72B3921E4E41639E52A175A150B8B67051ED9354C78A0A3FEAB7724C84737757626D35EE1C199D4F374D8FEA8240210773E73BC82411E782A94E4E39EB3E6C5E1D6FEF7CA22D796C5115DBF270A0ED8032579035E0370EEBE5E967B3FE6CF65D2EAE54BABC5A9B3DD4CA0F1AFAB2EAC973B950F8265C97D1BD01EBFB360B43964859C7A9F0F8865D7707C5A901877BA4A0818544619D9F2C7C8B3F60FBE71F7415499021E5D3B8C4D5295F83BFE67635AA902974CD78FA66E56DF12F749DC6F03075EA91E3C3DD8158B7E9AED279501C2C25B196C09649E5BE457BB7648803622F656F3DEB69ECD4AE4A069E7B80C1135A56E812CE0721C10AFCA3F9344375E07264576A4B8A6CB54895C738BACFB7EC0244B447528C2093AAEC6F9FA43A775A73D1500B13729C15444FDCBF52AF8DC7AB58C70071DA61D3D2128DFBB2E59958A4DCB8F38923B1D2C16181C8C4F18267F35427FF9B71A0028C3CEBC97690088DE15BB0BD7C7680F71AC43BE67A483C8349846AE16B4FCDDBB607C2AE0E99FC2D3AEDC9494B539FD7A4D637E9A8FF4AEA0F684C900B3B23BFB14274038BF11E6CFF3D0CFB407738050658647BE6C1AC5B48E26962957C25C2DC452F717D464104A4A7A36866012BF7B1203451619A3B8C7CA6E034A24BA273339EEC1555047673DF72A92F712AB803A6ED103CA85622CD7DE81A53D770D607CE8992E1377DC503870143471F17843C8B0E5E545030C6D1C31A00F47DEF8F3818B783F91179637C6A9CBCE44D604EAFF2B23BBCE8B008FD5B84AF943446C9DF905DE197BE435FC60CB2415BB52BE49C7ADDBEF501C8C163F55A9B83D14B7DD9D72BFF2593A9DAA0A820D694705A1114257CD4893731700308490A0CF8B727CFEAB2CC95DEFB2951BE6578DB10AC1F701034D3DFEB0E07BD9B7DFD11659F0FA546EB0A70F24AB85B1E32FB33D625C3E62A58D22C07D9C34BEE15CDFCADFB2A60DB9B8EF74274514A92675FFB0035D545E29ECA082AD3ADB39A934F412C40C24D6440BB235E7F40DC732D9DFAF232528C23F818C4A5621B90FE1839D45007BE3657A3444E82937EB7EEB5FC32C14D0B2BA8BD8BFD37453BC554BD4979A1836F2BD408CEC9B8BBBC317AE4E55C76D721DABF3F4F06AFBDEBDABE52CFEA3AFD9A25724D4F4D5B615B394493423F6647217BDA0F30BB912F0B894CA6465CF799F09B0EF16 - -7A43007EF8E95236668642CBFF02F941F6629D70EA67E08AC4D1CAAC8C598B28C2FCD403CBD09E3B303FB861AA07E5A460EE95FC51F348EC7B98CE488EA841CC506DAB8B805653E2C5B4B19A0B695C85149087DCD148BE0CDEB8C1A26F26C80CF52CB3C6EB81185613FE71CA28B5157409EDD2F762C0FA01A46B6DAF9402867D33E73B531A42E5FCF11BB76BE264A09068341333ED1B2D60042F06BFF3E2E612E0906811B20D13F030D1EAC9BA4915A3EB30B2CE1B87CDBD4B65A12950486B47C963BB20C3A6F117AD407AFF7FB79D62CF8147301CAD78DFCC8E92B8DA01FDFE421F41B15F4D41DB9EE2147415A90D43B0A7ABCEEA237DA36CBBD4F72515E1D88DF4899DA774FCEFD3C4273DC43285A22811C259609E152B8B45FDD42171344476C60726082332D7DB1C4DAEE30F9A22D68519D2F95B22EA139CCF295E6E4669461D39CBB85DE7866767A0334A6FBA5AEA1E25AB39FA09C796AAC2332E801D07811DE3394A7CAB01E0A572B91DBFAE63B2BADF579BC77771E52023878C3D9719C5701770E33389C0CB7AB0F78091A47F69B397A92782CBA7CC2847BA813543D404D446CA406D05EBF2AF40BAB5C979A7E7E94068503C207D30348D71E82C8143683A58983D69CBFFD67CF42E49EABFF7FB16DE361452F7D7973857B6B262CE9251FC3E96CAD56FD39EC213E2EB58AAB05A602E8D2CC319A527D0ED7EA16DBBA9BC39E0B7058E59368C02C0859FACA13E659B134B0F734F4017D18C3F2C0F28E245C303EE4F0AF19CC10F1FA3B7DF0DBC858D13990BF2E2005046E699AAB05A1DBBA6092BE7DEC142F62DEA591A4DD2C07D9DC10782B5AFAADB88D211C03415E5BC3015C1C2C1324218C28CED72C1A50C18F53FEF85C1AD5C1E0405DACA8DD9AAD04FE644D1950DCA0DCE28A89AEA89FE99D9747606D25974517B5D49B5A4C365CECE5F43ABA2D11F0D2916E90EA2E73A7A936892805F881E89A7DEC1F19CC5002A96890288EE1ED38EF24D50C2CB1AAE701A617E27EDB364DDE5E90E6407AF0E342D972458570D5425E3E84BD7C1D6BA4F98B5B2D73E0C25824C2C97C30CE98DCDC6D1BC1B25B4681416B7D6741D9EBDB3124D6CB252829D71CE5D541B8B5A4B5A0C0881081EED46BD53F3234834D4298527F8FF63905FC0045C79139BF22C560BCC3D5E05FAD4BEC029D416FA4498CA5945F5D8576D3FAEEF9790EC397E084CD5F427BD0F76D0529DA7DC31084EFB948B8A791AF20784E7C3806528FD228913543FC628501DC801BDB939B45E543A7411682F1704D884A7C132D9A0D3D06546276E402B8F1AD5EBFFC67D64D9E0F58C043D5F6C4ABD9C44E9204A84AE690B7D65DB1DD1592A1CF36C640F93FA3F79B31A7D7C239A3191E4088D098496C2A9809C18B6DEE6901EF691AF042F70DE10D9DC0B08C79C382CB317521FAFB7372672 - -0FA4D942D830532B37D125D7A416D7158CC27E74B4996478259509DC6B6D1FA45DB5FE9112A3E631AD566D1D4775AAA5B09A803177729D4981CC3CDE825010AD9BE4BD23B2782F51306C50A33945D3607FADF5F18BFD8CDDB78328AA710E57C82C2F5312BCB9B08E5B20F56E623E37359638C0D06E0D5D5002F1B2CC373FF47E35EB82F511B3A35D484A612649C33DB5FF476992B0D036A48CAA7AFF8831BE201162A45610A0670FFEF93E0BBA4205D34DC26C98B57A02DD44C6273BD447FD0D385B15B13E768ACDBB0F7FE3BF17263D9DE50751F0B12D9975807B7558C5E4591E40C24EEFC86AF7B56F95FD569E3BDF2191A774A2BD4FAFDD3E15D1705AADA00FF7A49A0F75EA3F67B2B46C171C794600C409E3DAA08C523EBCBE80CD39CDE1762C3D6DEC37AF8B2D45CB4BCD1F7AEEBF998255D65FD1A39F53FF9F18B3358197CF78E71D389B85985D15BDF083E03F223CE5EADAB8D7E467771E719C2B2EDF7CFF184A303FE77311762EC391AFBFA7C68FE6BF5F202E38EC1AD9E338B4C04AD1A90B441FED5E4B9841F5B8D81DCDA7ACD6EDF7CD0EC348764113C4C7BF3275C053C9CAC9B370EA881CF2C4D964EF5CE8B92364D0BBB111D9D864A844F91E5675167C4A21D7AA67A7ABC0190E004E0BF670827264E95100C8707269894534CBC0D7048F24FA66FDBF0DB89061E18F09DD882D18F2BF126E479261215355ABA5D88859D20BCDA10B830596BEF38A066553BAA3A779D02AEE2A5B3443F736667C966D646876D0A34AD17DEA181EB094C8F3ABF2E453ECC27796CE84CB2511A33FA4BF4F1768715CED1845B0946392340669DEF527012AB10B56BE3EB003E6EB01BCB41A091D5C37FDD6B981F0DFEBA157A31F467FDC132C125CA1211424327655B86A416332F675A3D6429EDA78A828E0B2B802D538F4FF45D96C513B209600B053AD885F1B210F95EC996B5C2033DD4FD2331DBC87F668E8214CF866E9C51913218C6E9E6A6C9485D4BCF29270D07A16F6A20D6E90C932103A327531FC0D3DD174F9FD3FD03BAC38A6E45471346C257BD59347B890BF23EEE149ECFFD838D67190D5F2A09EF00F5074BD23BCE11F3D4C70BB7765B4DFD3D7791A7417491A086A9E0C487BE46885D4E4BAD3DD4529014167E6EA11A9FD23FA02C59ABDCC2BFCF0B2B1DAB93040706A2C5012F046A455626E458C8E9EAB51D6D97FC6F9FADC8FC6ADD40A9EBA0E77839C32F812BF9DF4652499197CE19D9295C5CF41D5DA0C8DBCB80A2D0E2B8213DDF7C68E0F4B6FC13FA78468D9F039BC5428B5E849BC07C3752974AD97AFAA3112D0B6ECAB61F9BBBA7CA050F69988FBF27428A24E80801022E7EAFD49DB0F0EA00C8782240522E0C1C61B16B48CE4C4BF5F605BF21FDC3786B9C480B2D822802DCC6C783D8A560944C0B4075940CD9FDA62D6C3C525D89910 - -97C85893D25A458D3C9E0CECD1E19964947D5F57EAA26012D65E0305547BD0F1727825E098FF93BC55D2B1C330BA7D2961F227FB8020380628B778EA512AA98C246E83122A7C181851F975B8F205D7769CD7578FD3890695BFD6CFD9FFDFD7BC1880079157A61F9E7A2B5121A1849F3FC4B600FBDE133D7ECA00F20A7EDD6B262CCA72EB0F1EBBD30BFCE7E801CC32C4AC4DF9CADDF4F72C9F8163FB2AA57F8C4981B1FD7C553D0AD7BC4B8C177643CD877BE34583626D4E57A46E0933ED26B5FE9F77CB41C126E2E8B60CBD930D29540630C9F70DA3D22CCA9930E58638A8582698FE728B29BA8A31C4EB8731184C970EDB8B9F390EABC27FBD01FEA118A68C1CEC91849588805B3F8B4AD878BC80BF6C2560765727FBA2DED2B5892E35D7F252F2DE4C178819597C86F76D22219D8FCDAAE10F574DBF69FB5A5281E54F1FA8D5868AF232AA51729C8DE22148D27CBAD1B436E6D454684B6D2F06D2899D5D3BCE2A4FCB272EB02BDF37FDB0555C49C658B011D609F34413F01046B2BD6E51DA45E039E2112AB6E7B2C3AF48B75906F0F80C3C47913989622C0C3F68C6A8040874405621094BC38B1D73D29EB653FE90DE18F353929411AB5FCF8D59C137410EB8C957DE188E40E1E64B006FCF7CF0F4BC8AA42D95F94164F14D9F7FF20CFE8629BD10F9809E109B649BD23E3E8C5C432668E17C779B6FB2DAE08EF8C8CEC7646F28A5613FC6E1B9EB3B2417376614016BD9D35876DE9D8BAE11A6538692935E8999A7D96E2C8E4716FA6CC6C6B5B121E6CD59E6E61F161C1B2CC125C72EE78D923263C534A6F97A372AC0BB5F290F742EA72B012B9BF139C9C6CA498E3EF7BD2535892C48266844A47FF28D0F1EDCA83C987CC9ADF05A89F04C4ABD4156A6E31576CA7F34DBB5C8EBE9077E7DD301BD276CDEA0D5E597F6B7EB64A4BE845AB1F553E4A671ABC3ACA866AEB53C847FC0B9C1C52AD8FBD59B4E28B02E6AEFA79C43C61791F951151E686B704A728BB377B0C64CC28A4B2CE8CD33B25B0E18E2806E2D4D0D1CAE45A1D789B8842729EA3C03DC8B071B8A3B8C127F6BF7C159E09272156B10C554E54F62150B83EDB327EDB5F7D523D96CD14CAE60F24C874EBECD869DE331AE97067C2B16C6318E8224D1B910C7CAB41DDB73D7C3ECFC9C46BD2692D983121EF715C37F31B5D8E7635BE952459C13439560CD3B7739B53F01A7F8E85EEA955ED7EDB32753A80301F78E662DEE710B947B451310B84B6600FFDD5F750454E151DA223992E683FFFA0016C6DD8221525B58237922C331D3E669E3AE6B14A83A3C67AE11C3B670C4F88F49A58423A68E8609FFDF6BBB9543F1ED90111DC564B1B264964479CAB834C0E2CF99CAF403C7E5F5F482CDC4FF102C1624D79AD5EA54091E14F4269FD4C033E88689F989CC6DA683056995704A3DA55B2E4D - -3BE12A919503A13FA99D07981C3AAA6547C64BA52368F7A9239BEE58AFEFC4F2A898027640D1D57B75A249C93F7C03A033CE7F76B2702D0585BE70B87B5CA8CC78C493B81F1AC4663C1ED99F3C0B7F3EBE43223826A729A4645856D7A2F9AEA5EEBEC70BD570DBC36E78ABD24DA0A2AFC5908F62B9ED8F94BCB938C9ADFD9AF35CD8A35B0220CB306A8B1A1875921AD83233C335D577FF412BD0CECE00955FABEEB143EDA27B80C917CEF67213BE958C4DF1F8E44CFA19535648CFEA96091410A5D16DBB00556CD4C0528ABCEDB711ABB592DE857907B4CA7A3D70E46768070CC8546017BE11C9F2FE1478D756CBCD6E834B0E0CC4F442BF56EE44266DBC48308A08B1065CA9161CF1E212B61FA1538FAA764EE358F41529694DAF822BA3C819FF8C256A0A6712AF8CC03846AFF23CFFFA32CB8DE7621CB7AF94BE610240E42CBAA0EFDCF71C04DCA4491C3FFFAFB83AB4AEC83EFF3195E78330E05FF4101C327C16AB3A8AF0157EBFC5FCB78BE7FC4A744AA759C04C02FC6D06FBCBCDD57AB5FC346A505F3A610D2623FF122FD838FD290E9B93B36B0854559C4DDCC871AE78D4521B17E2DD6184FC5E90370FE3F5FF512D930C0F4A6733953103F0DA62ECD898C46B3CC603906992C7A5D2D5A06F99ACD1198A7CF01DEF7B32F487B63AC1A56292EE6978647554DC8E17B1133EC8539724384F48CC3B6DD16C4000C0412355B9F48460AADE99DD0EB32FBA12F6E5AD53B040D04D74263161ADC0CD43C75B666E2739587BF2446E7065B712D3670C2A4599C046890A4BD10BE585A916A0D1447A0953125128939130F553755D1B51C5816824162BAE737FC35AB029D54DF25C73C693634336FDAFFD390F0AC3BDFB11A9490E5806BE34C898470971EC451162DCEC036A82A81F3ECAF271DDA99971D0A82F35C2588CF821E5EA754007C51114BE9A815E4D24664080C1F3A8F1E35ABF344C738F9AC87416127C1A80BEB2C339C971C5C0A00C76D359DAA7AC716A61CB5E7BFD5D88BB4E098EA78C5A887C8E98B5654CB55CB4653E3E92E6131061DF4889BF7BEEB15516708661088552F4D8D397FEAB39C450093FD84308F6E237C6E737906C3F73E6B5DAD997011F7281C2D70371CB3C2587540396B50706E9E8B5F153F28D5CC6F2DEE3F1859C938AB7B264CEA9DB8040AF8E2AB55E16985E67AF2201285BB4958FDAFC09B26B8A8EDD468C2FE2A8067EA0F9F9ED47B264C67F9DD992512634F5BA7A8CD85D98451662AD4FEF24DF0EFEDF6751814656AC9737B6F1165A2B6408FFED11B2D26E20918B418C88D6B619B12D9DC9EDD15FF830BD4D7FFACED95F91092D3C7ED197A99B38B711AA86A6FB0A21A7CD091B08367C101A5F39ACCC257C48929A23FCE8E199320085742BEE63909FB537A8FFA756064E7EEA9AA9118614F7C346970A5C1CC9694DB3 - -35C3E2963178AB8BA7820099B84A8E0EA90D1F04C66CBB2DA610CE97084B5FB659E51F46C9AAEFA15EDD29E5667B8C31DF83FF4AE706B599C81826A6D4D330689C088FAC004C8CA118B0903EBA66329F7B2FC537B63827409EADB8E454DCB28FEA5F3313E4492919350B3A876BB4F21D1492C5EEC0AB0B61745BBB32F8F9FA220260EA1F91B2E2160BF94A0584001498F2BC451683EBD35F5539C842A60B9D3276FFCA8BB1302BAE45D735C0567C5301B6A6BE253E4F8ED264D1EA7CB9612A3D622A951FD43AB507089AED18FCA8CF879A5E87FBC8E31C4382DC53416264FE5907E6B364AEC34C5DEED1DA3F633FF038B6733B2256BBE7E720ED7A2EB80DE125DE56C2B18F844DDA3AE53337E1E0B6A0AFF26FAAA2A5968FAC7D142420ED3B6E5FB6D118A8CE6ABCAC91329D9412327A5849FF5BA113CB76494227208861DDF47F868E2E03FBA58B07561962AECC5638957625614A35F8BECABC3C80E02C527DDBA7E2CA15804D9F4DD9B882CFDBB105BE6BB82CF1E1B2B1844C9A9EA05B50FEFFA626A0D14D1BFEEE9145F8DF8C3A4BB136F8D3CA4AD6C451A85CDD8B26430C7FE2E435F3A8A9BB86A81C277F392303925040B83BE362FDFAF877D3EDC79833309B57DDCA299CBBCBD8E478BE919E2B9A20F0560E4DB7B332FAF555F9F0A4EB34E28E83A343DF981A06D01C664FB9BE2F24A3B3F303D72E0C0E4B63464939E4C6A4C90668BE436F4B9D7A7E1DD82F1FBA89AA46620A644E6E2EB59D0B61E8149D393819CF330FD8CF2A83FF960CA7DDF1133F51C38370A67DB09B70A7AA35C49908CFA9B2AD9889BB88E75CE98CDD83E531334BD3F4B0467705CD3D5CADA0120848733DD7B0500BEB4AD667FB7AA88875CDAA054C414514A4FF034260AEF2C78A064D0A709D65B5F0C7C681AFE71289D598D0E63946FB00A43BD6BCDE47CF293B915D134D4018FB9DDA1A709389680EC1103982E76197A5144DEAA6FADE900F6116E1830ED74D339FA33A1F126F7D4B772E8B5B87772235DD6ABDC61208701C2541865692D1F5E0FBFFE22A7636DAA309A7A72F3E5E8240C948B2E523176C42695CE2A983F23F112D5E11E19A9931C73082A0D6808C37B4D5E98D98662D88783584C0AAFE06AA5BC5320E4C90F6CEF6DADDE81F97EFD4D7DA8C5C1520BBDABB92E2A286CF4EEF19C115BA6CA48C227267EDBEA10484748D1954E52E9E905A0D735BED6AA2F234EC4330FF9947CA9D27DD59026D1BA36AE4FA85FB806E2C29D7EEE2ECE48D7EB4E9BA419D8FF2F9BC29B0A6A7E940626F0A95520004AC75FA69E377AEB22C87CBFBBF5851F396DBD8AA7AFDAC47CD3032CE9E043D2306B8C9D176B1418202B16BB79904608183F6E098BFD6433DA5F7E5985E9C99809A7043D204DC306DF3F5ABAE4004278F7AC35B096FE77C0952CD857867D5C4D2F019719A - -89330E22A5D576414C8FBB9D7A99DAB5059083EFC9DB8B06305658B26005CD54A033F46D964037842D7046443E31F7FCB7AC9F5971169643DF3B8E84CD88CCC7E4A26143CFC0EED21CABD6342F28EF3491E25D577FD0986DF68A14D903565DA54909620DA645B43DF3B22BCD6C9B00CDFDB15643750556807F15160A5B5CC416BAD2E26E78E52B1DFDFCEB4A4BF8155313128BE2490515AF2481A3A81D1958CBA357D083CD6F01AFBB63C17BF9B5EE9BE0679AC26F31ECDCFF2D06B35FE284F663CC86699CB3DD5DB4E6FD618196C88E1190EFAB216446BD54DF870A240FECC7FD8A0943A9AC3CC4802DD360FA067F893ABA4F1EFBE790E28E57FEAA95A8954C8ED9CC351A15F3E040E17135B3E7372D2EDED22F36C6C266D63DFE87D2FA468AB30A734D322AF418D9663FB967817EACDF8A8C81E175CB98F056765560304BE00C16EEA9AA67B39D671A240FB5EB31D0639DEFB8525A67D3C7AA8230AC90681C09AC4EFF213318F63FD430AF59650EF0C1D76B27C339A8B4429B711C6831503F3B809711E6C89D1EC31E855273EF48130311514F89CAEC5DBD8282BB9AE08CAFEC210440C9E4A936414FB2316414F7FDB1B9BC621480D426302753227EB1D25BEDFA4E9E9E4C8BED53B4CD0778601F47DDA0ADEB83CA4A21940FA43A1A692B294D861AEAB61428A1D15CFA12817BED4DD2665078E60D3AB376B5592E8D2C30E22B85F9C8801E82580DA5ABA6CB297B5B7C3FFF183614844E2BCDE4101CF919FC9D04837A727258348ADCC94ED30AC1BF96BE861E67A3050C28A9493FCAC5C5B3FCC0682E0DFD54A453EA7C83CC9ED8F0C306C14068F4838014EE855E622B65A4361EE0C68707993FC70E76AA4E40F5E1061F8ADB8C48F4F61B6EFC9715CA9181759F3A8DCA09D100C2F31A52B34CC5826A409B9939009C5EEFC5997C931E616DE96B45EFA5B39E087C223C304D324A6BC4DD101985BEAE344CAD4B0FF31FC27F04D4D1EDF1DD95003498F04C12D80C5BA78F00A9F5B43E2EE3477F10DB10FF1FBBABE900B0A4208FFBE7138A67884A25CBAE5EF7C1D1C4D46680B336E16974E112B6FF48BE869525328C15FE7F4AE0B92A7C8BE55F017ABC9D735ED4D39C12F231D6723561FDF45C11F70870314950998717861A6D7684F144A1F5654619DF7F542FC8B9CA50FB38E07258D6FE2A787181129780A2C360ABF452B4CCF8F0C1ED569B13203D78DB66DA494C87DA6261C52292283AD30ADD8AC2CE3E7D29BAC98FFC82335E8004186C04D1EF33105155E025A57EF2B85D6494F527EFA7D95A060F99C42924D70F896A903B21BECB2E2CE3D2852B7F25E6E8513D6F079EAFF922A36C50D6E8DE3F61747831011145F46744FD8F5D893A37AE6A1BC4FA2ED41A8AB98F023309048BC68696288A148DC3169A53F20DF927BFBEF5670482E50097CF5F - -A141EA50C0599352FC723A611DDCEF8F93D7F283743B40B5254536F6EDA64EAF2A62DF3A40D00949CDBC6AF1089B846BD39E26C31FCCD36997427AA06686C514C3D2A8A0E1290CE4A6152413B93FEB18FB218D72DD2870DA2A5352ED569976FA6839CAD0217832E73E64883AA0DFD07D20A376A35A3BD3DFB160343A5575A21C62BDE5DE7C9777F23116FF5503355C0E5FC1A6280E0F3FB4A57FAC5D48E33E44B11BAAC550B923B610987CB1960EA19CEE97048CC76A0A24CFF2DBC6AAB13A86EF99E33043B7D8C7E8424F0E1F91FAEFF366EBAD90F9993C4F11FD1C0B7057A6A2F5A6743C748B94CF11147B838BCFDCA9E9F5B451D40269CDA08402B43E5570FD8693F0211729B64299F5AD776C2D824B6171DAE8F5A84BF51BDB0DB8B2F5FC7D3A0FC549B796E1BAAC67501839CF410A32FA59E4E1D7E56BC67C324C24F003741B1B0FC0CF3BFFCF75810844738B5D65778A417FE35D3202672371ED6AB1B9EB61F481E987FE02093796B83684AE4F0808A88C026C1231972F7F8B5AEBDA92170B4B49C6601B50BFFF755E5A19ED8E59E0F49BC87B3DC71CBE4E4E586965903C7FF6258CE12C57D1227C80918B4F477A78FDAB846F777810C2E7D7D7C21E7BA8C335654B9D5485F3B94A191CCD101E144E1697AA947DFFBA229C499CD86BBCE07C8356E5130BB69B5916BD0DE8E17E04183FE0242A8910870F9D6F08C578A46DC75260C1934B94DC14155A7090DB51F907858AB766ACBE3B69C6487C45BA47AF52894DFE8471C32861666F4DA5B536BE3AA9C487195AC97D240988F3424862D85F1C6E88E2E197D24F89A923F77DCBCFFE66B16D91B971C18BF4B94F5E5BAC36933FBC74F2543D45B548283BD6552CE685CCDDDA4E1F7E062ED36D620FCD1F58F2E710E8E2820D1A936B8E93286AFBFD2D978EAD61738FFE9C710B9995D83796698B4647CC281AADC29BFA3FFF44B81633DC4D8895CBF5C4AD9BD0C7B53501C8FFE775071F6AC9B59CB6FD39D10A903C2CB828645951D5365B5C24AC285B4F51A62319E7C0A64F31804FAA2E78C931B42B7A0D82A40D204FA6C224905819FC9E961B006495835766DAB32DCF5E8455FD62DA97E8F2DBDB339E6D10C1C7C7BD7002 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/PQQOCS+Courier cguidfix -/F3.1/PQQOCS+Courier renmfont -%RBIBeginFontSubset: ZFTDSL+Courier-Bold -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /ZFTDSL+Courier-Bold def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /g put - -dup 34 /e put - -dup 35 /t put - -dup 36 /underscore put - -dup 37 /a put - -dup 38 /l put - -dup 39 /f put - -dup 40 /c put - -dup 41 /h put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-360 -828 1574 1829}def - -/UniqueID 4427719 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B4F1C51BADFF3495C2924BE71970B75EDF2A199B50F98194813A33F63F1DF278C402FA8A474CA2741151C063EDF31623A07ADE5C4CDFD6AEAFA5CD57E53EDE56082C385BA18A56290046BF237A57F0F0FADD7AF998F2B1E6DBB960ED346A849260BEAB630B99F9B98102E7798657CC0ED795047C27D92E69BDB9FA3658B6D2CC6DA3780E459826A5AC87EFC1D4AF42703184363FE53B2E9530B9E05424369FF86A0A337456D45EE7A4624D84BEDC0B31895B72E964B9A5B16BAD9AE1143D730A101F5313D1F5E1436552B6D5B7EA50F0CC25DE0D879AEAEF7963BFC8C66D9350AA5C4F9A9CFFE882A9F05FF6723DC90069B26E1626B3736806B318E0B8CB21F66F65AC5039AA03212E4C3E9C318685682C0C3B7B5A2B03FB004B4D2531F6A97C268F256D2FDDD0B6D9E90C3E82F5245BD5EE284C1297F6332FBD6FF521C37D3A56EC90998A04EB3839E6A81763FAED760C82AC2FB3E10DB9D1BC76F192D0EA2B477D99C38A3457E38AB712927C8CA49CB1D86D9AD903F88D0DE1E5327AA672C4F2408866E045B3E0BF7C9F597A348207063DD27C615CE6ADEA539473749C52499AB155655F9ED218919EFAB76E6E85FAA36C5AD85880B1770D4BA0E2E680E28C09C6229232BEF99655B2BADC47A0C69BDF46F78EF9FC957149B95B512920EDF7625AB1438E479E7EDFA564213AAD83F7FD6B2348468601F8E9503E2F5E587F38B86B836B0566B2D9EEE8F086B6F3A7F6E0B461C27A8CC4E88C941DED1626796A - -C95FB534775FB509202C20979C5C44477962E90B8F2FCB5F23C87DCA39ECC8494265261ECFA12EE6E43F56F462557B33D4B2E53326B77EA92D91FC7E68C69B63CB9903538A64C7C2BC36A6998E711575BED068D97158A40EC7A7A1F6B58C25A726895303C6FE6EE9E96365E889405ABE991F39414D2C5D55079FCBA9380EFC83470DD92A1D705AFF1455C4A994F4E727DE4377732CB96E55211B61595A172FBBEE2CB14EDD133B40A2B504A972735110DAA541CD95C9A3D8547E6656B572514E0D6F89591D7488CAF7A744313D85E674F6725ACFB9522B2634F238FEF310443DCE397ECD9E92613C602E3DC6B3C916F64F49F42F6E18D20B280EAE61B3616DCE14823DD3A1F97FE14D154FE042B3BA30E24E8905865A06D1BDDFED9FB7A4266B03556227A2E20E359775259C939D857E6DD72AD8B4B362F796A90EF044552DD2A83B64A6B0725441E25B0338CD7FDFE6556C8346F9BD57D15DCD8C39695F5C981AD7F7361F4A80946C7E1A3860160EAA6CDAECEBFA7DF8CD6BA6308960A5836B7E59F68CC86BADE860B63C66E021C128339730F76F486C756902327E08846B5E4F178E7E61171906A7F6C13595D3F97DE5EDFB4C879619EDA8294F34C60E8DF08971A87C2EAE3A98DEF5E51F0C5FFC63DC3CAD557FCC17F23CBBDF1B05C3208B8CE7093B33D89425808C3E3A6C4397DF16EA86CB03DA9D0E0E747F8113927EB0E8E87A77BE5B1BCFC5BB146F8BE8D60B1324EE72EF50F1B74E899D1727DBF11B8572393268DCD22A5063F646BA9BC74587D4B2BE54AABBB9E1FE12620DE7FD52A5820239D9E0649FC344AAD39DFBD77DE1C823858DEF1ECD6131FD4AC1F0E107ECE648124C043D816B726DD0BA65EEB8C589D50E9B008BC0B167F20DD01BF5D3CB438FC02FE457C549787D7AF53703F54982577D148C6E354A1490D20E0DABAB77A52B815CC9F73769AAE7663077B34C4F95CC30BB090476CF1EF695D28C8E66F27BF38641F04AD3E73893D663D7A1328F744E401A1F9FBF513133E74ED168372028D5C2203EFA652AFF10A87E66289015925664F7B69E881232D6D6E3C843BD94544966B5C7A2658AB68111172CABFE33F44F80FA288E9A4DDA17DEBD6431FC11B2CF61325F8948871F55F9105AFB86B00EABB2DC46217D6008BD990DDCC564BC4B5F7A9B28D63E120E3922F6701ADEADCBD1AE5060C6A98F75C8B0FEA331F97F8D221C87C57DD875BE909FB664472EB28E7D2738230834D1F214B597F6608FB837F6375E7A36189C00B0153CC73E9F47589B9294DCDE907A462808500C2330C71577924F89C90DB47B1F21587052AB03EC54D64DCE83DF93F61703ADB5F95468541FBEA5D6458CBA3885BE035EDBD857A60A513EE859D3C85DAB3D8492D2635257E0788340BF617B5AAEC425962EFB2E522F8AD0C90168C46032DE4624DF46 - -725D30846D4F969ABD1CE72F592D81B1707EA76282D5C0811926B35B7B33A9787833D4BE85A27707A91020E86DA53BB635E523D5DE9DA0E309055D8AE1C76D5994B9929C4A48395D3C4084D65BAD9639E6232BB253BCB29DE7A65DDBF6F79F095B6D7A9E85301DF0F5C339735D34BEF9689CECCB05A6746713D45AB2E976DECB4F64E4C403FA26608B96B8311FDD21497D0547AA6004B7355ED9EA3C6E9446DD4B830F284F916179AE719F89E596FFBA9EBF9A0F01015D164A45387C6F3E501B0DBE20E23A23DD20F7D00A8D86591E42D6341AA499D969626214C2E0D867962C7C310770340718EE746CBF5ACA226037A6DB25631F17364C175C21E87C31B692663C82C99D26D4C8A8A9956E6011013F31233E46781904033E53A16A2427B13D53AFE6CB2244920EB3E55CD39C826894C542078E8AF85697948C02A1497ABF1A66C644671C08221839CD5AB29FFB3AB6B2B236043F1CB5B08A9010A5194A457683594634596BAB63670D443F842E8C7DE7F2216B8CEF91C37DFD6D4DEF9103F8E3EA202A4D00628D68AA1C6E697271583D12307EB98B155BE0AAD224F4BB090872132A968D6D32388833330DB5DE812040B68A1F76894931173250C7FA67F7328B1B4FB619B951E820CA4F107A0CE2BF53111EFC3A454C135B91E0550B71B2320B98069C93BE33626D809B96D980DC7F3072950B097182B0F21395C7948352B096A34EBE2BFCBB87C7C3A0B8783DD4DBF23FD7A61FC5B7D670D6ED15E0F9086E47B56F34A51F53F1ED - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/ZFTDSL+Courier-Bold cguidfix -/F4.1/ZFTDSL+Courier-Bold renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop -%%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 211 m -(!"#$%#&'%"\(\)#%*)[ 34.194004 22.837000 15.990001 22.837000 22.837000 15.990001 11.398002 25.051003 22.837000 22.837000 13.694001 25.051003 15.990001 22.837000 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -34 350 m -(!"#$%&'#$\(\)'\)*\)+#$\)%+,$-,.'\)&.+$&./,01\)'&,.$\)*,2'$1\)03#0+4$$5&6#.$'"\)'$7#$\)%0#\)\(8$"\)6#$\)$7\)01$#.+#1*%9%&'#$\(\)'\)*\)+#)[ 25.051003 22.837000 22.837000 11.398002 9.143001 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 22.837000 13.694001 34.194004 22.837000 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 34.194004 22.837000 13.694001 20.500002 22.837000 13.694001 20.500002 11.398002 11.398002 11.398002 31.898003 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 29.643002 22.837000 11.398002 22.837000 9.143001 13.694001 22.837000 22.837000 22.837000 20.500002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 29.643002 22.837000 13.694001 34.194004 11.398002 22.837000 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 13.694001 9.143001 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 ] xS -34 400 m -(\)\(\):',0;$&'$&+$',,$12-"$',$0#+&+'$0#'0&.<$'"#+#$',,4)[ 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 20.500002 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -34 475 m -(=&'"$,.#$-\)%%$7#$-\).$0#'0#$\)%%$'"#$1\)03#0$/#\)'20#+$,.$,20$>%&-#?)[ 38.704006 9.143001 11.398002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 29.643002 22.837000 11.398002 20.500002 22.837000 22.837000 11.398002 13.694001 22.837000 11.398002 13.694001 9.143001 22.837000 20.500002 22.837000 11.398002 22.837000 9.143001 9.143001 11.398002 11.398002 22.837000 22.837000 11.398002 34.194004 22.837000 13.694001 20.500002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -34 616 m -(!"#$!%&'\(&\)#*#$+,\)-./\(012\(34%--45%&'\(&6\(%37&\(\)89)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 791 m -(+,%#-.*%*&/)[ 27.347002 22.837000 22.837000 15.990001 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 904 m -(@4)[ 22.837000 11.398002 ] xS -81 904 m -($$A,..#-'$',$'"#$-,0#$B.+BCDE$\(\)'\)*\)+#$\).\($'"#$>FG$\(\)'\)*\)+#4$$H\(\($'"#$>FG$\(\)'\)*\)+#$',$'"#$B.+BCDE$\(\)'\)*\)+#)[ 11.398002 11.398002 29.643002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 20.500002 22.837000 13.694001 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 29.643002 27.347002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 22.837000 ] xS -48 954 m -(\).\($6&-#96#0+\)4)[ 22.837000 22.837000 22.837000 11.398002 20.500002 9.143001 20.500002 22.837000 13.694001 20.500002 22.837000 13.694001 20.500002 22.837000 11.398002 ] xS -48 1054 m -(I4)[ 22.837000 11.398002 ] xS -81 1054 m -($$A0#\)'#$\)$>%&-#$,/$@C*$,/$+#J2#.-#$/0,1$8,20$-"0,1,+,1#$,/$-",&-#$K"&.'$9$0#1#1*#0$*\)-3$',$'"#$>%&-#$#L#0-&+#+M)[ 11.398002 11.398002 29.643002 13.694001 22.837000 22.837000 11.398002 22.837000 11.398002 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 20.500002 22.837000 22.837000 13.694001 11.398002 20.500002 22.837000 13.694001 22.837000 34.194004 22.837000 20.500002 22.837000 34.194004 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 9.143001 20.500002 22.837000 11.398002 13.694001 22.837000 9.143001 22.837000 11.398002 11.398002 13.694001 11.398002 13.694001 22.837000 34.194004 22.837000 34.194004 22.837000 22.837000 13.694001 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 9.143001 20.500002 22.837000 20.500002 13.694001 ] xS -48 1154 m -(N4)[ 22.837000 11.398002 ] xS -81 1154 m -($$O,7$1\).8$>FG+$\)0#$'"#0#$&.$'"&+$0#<&,.P)[ 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 22.837000 13.694001 22.837000 11.398002 11.398002 22.837000 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 22.837000 22.837000 ] xS -48 1253 m -(Q4)[ 22.837000 11.398002 ] xS -81 1253 m -($$O,7$1\).8$>FG+$,6#0%\):$#L,.+P$KO&.'$9$<#'$\)%%$<#.#+$/0,1$'"#$>%&-#$\).\($2+#$)[ 11.398002 11.398002 29.643002 22.837000 29.643002 11.398002 34.194004 22.837000 22.837000 20.500002 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 22.837000 20.500002 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 22.837000 20.500002 22.837000 11.398002 13.694001 29.643002 9.143001 22.837000 11.398002 11.398002 13.694001 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 9.143001 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -1500.72 1253 m -(2\(34%--4:;<=\))[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -1820.58 1253 m -($',$<#'$'"#$)[ 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -2015 1253 m -(#L,.+$/0,1)[ 22.837000 20.500002 22.837000 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 34.194004 ] xS -48 1304 m -('"#$<#.#+4$R+#$'"#$)[ 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 29.643002 20.500002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -403.56699 1304 m -(<>\(&-%?\))[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -601 1304 m -($1#'",\($',$-\)%-2%\)'#$'"#$:0,:,0'&,.$,/$>FG+$'"\)'$\)0#$+&'2\)'#\($&.$-,\(&.<$+#J2#.-#+4M)[ 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 9.143001 20.500002 22.837000 9.143001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 13.694001 11.398002 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 27.347002 29.643002 27.347002 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 11.398002 20.500002 9.143001 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 11.398002 20.500002 22.837000 22.837000 9.143001 22.837000 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 13.694001 ] xS -/F1.1[ 41 0 0 -41 0 0]sf -48 1456 m -(0&1.2"34&5\)\(&.678#\("2\(4&28\(%&\(8&\)*%#*&81&839%#&:%#*.82*&81&\(;%&+2*+!<=&0>?&@&=.*\(*&"29&=.*\(&A%1%#%2-%*)[ 29.643002 11.398002 13.694001 11.398002 25.051003 22.837000 11.398002 11.398002 11.398002 25.051003 25.051003 13.694001 11.398002 11.398002 36.490002 25.051003 25.051003 15.990001 13.694001 22.837000 25.051003 13.694001 11.398002 11.398002 25.051003 25.051003 13.694001 22.837000 11.398002 13.694001 25.051003 11.398002 25.051003 22.837000 22.837000 15.990001 22.837000 11.398002 25.051003 13.694001 11.398002 25.051003 11.398002 25.051003 22.837000 15.990001 11.398002 22.837000 22.837000 15.990001 22.837000 11.398002 25.051003 25.051003 22.837000 11.398002 25.051003 13.694001 11.398002 13.694001 25.051003 22.837000 11.398002 27.347002 25.051003 22.837000 27.347002 34.194004 29.643002 25.051003 11.398002 29.643002 27.347002 11.398002 11.398002 13.694001 11.398002 25.051003 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 25.051003 25.051003 11.398002 25.051003 11.398002 22.837000 13.694001 11.398002 29.643002 22.837000 13.694001 22.837000 15.990001 22.837000 25.051003 22.837000 22.837000 22.837000 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -48 1556 m -(!"#$B.+BCDE$HGS$"\)+$T2+'$0#-#.'%8$:\)++#\($'"0,2<"$\)$0\):&\($:#0&,\($,/$-"\).<#4$$H$+&<.&/&-\).'$\(&//#0#.-#$*#'7##.$,%\($\).\()[ 25.051003 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 20.500002 11.398002 11.398002 13.694001 22.837000 20.500002 22.837000 22.837000 11.398002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 13.694001 22.837000 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 13.694001 9.143001 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 27.347002 11.398002 20.500002 9.143001 22.837000 22.837000 9.143001 11.398002 9.143001 20.500002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 11.398002 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 22.837000 22.837000 11.398002 29.643002 22.837000 22.837000 22.837000 11.398002 22.837000 9.143001 22.837000 11.398002 22.837000 22.837000 22.837000 ] xS -48 1606 m -(.#7$6#0+&,.+$,/$'"#$HGS$&+$'"#$.,7$7&\(#+:0#\)\($2+#$,/$%&+'$0#/#0#.-#+$K%&+'0#/+M4$$>,1#$1#'",\($-\)%%+$-\).$:,'#.'&\)%%8$0#'20.)[ 22.837000 22.837000 29.643002 11.398002 20.500002 22.837000 13.694001 20.500002 9.143001 22.837000 22.837000 20.500002 11.398002 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 29.643002 11.398002 29.643002 9.143001 22.837000 22.837000 20.500002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 13.694001 9.143001 9.143001 20.500002 11.398002 13.694001 22.837000 11.398002 20.500002 13.694001 11.398002 11.398002 11.398002 27.347002 22.837000 34.194004 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 20.500002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 9.143001 22.837000 9.143001 9.143001 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 1656 m -(6#08$%,.<$%&+'+$\).\($&'$&+$/\)0$1,0#$#//&-&#.';$*,'"$'&1#9$\).\($1#1,0897&+#;$/,0$'"#+#$1#'",\(+$',$0#'20.$0#/#0#.-#+$',$'"#+#)[ 20.500002 22.837000 13.694001 20.500002 11.398002 9.143001 22.837000 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 20.500002 9.143001 22.837000 22.837000 11.398002 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 11.398002 11.398002 9.143001 34.194004 22.837000 13.694001 11.398002 22.837000 22.837000 22.837000 11.398002 34.194004 22.837000 34.194004 22.837000 13.694001 20.500002 13.694001 29.643002 9.143001 20.500002 22.837000 11.398002 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 20.500002 22.837000 ] xS -48 1706 m -(%&+'+$&.+'#\)\(4$$H%'",2<"$.,'$\)%%$1#'",\(+$0#'20.$%\)0<#$\)00\)8+$,/$,*T#-'+;$/,0$-,.+&+'#.-8$\)%1,+'$\)%%$1#'",\(+$&.$'"#$HGS$+",2%\()[ 9.143001 9.143001 20.500002 11.398002 20.500002 11.398002 9.143001 22.837000 20.500002 11.398002 22.837000 22.837000 22.837000 11.398002 11.398002 11.398002 27.347002 9.143001 11.398002 22.837000 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 22.837000 13.694001 22.837000 22.837000 11.398002 22.837000 13.694001 13.694001 22.837000 20.500002 20.500002 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 20.500002 11.398002 11.398002 11.398002 22.837000 13.694001 11.398002 20.500002 22.837000 22.837000 20.500002 9.143001 20.500002 11.398002 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 9.143001 34.194004 22.837000 20.500002 11.398002 11.398002 22.837000 9.143001 9.143001 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 ] xS -48 1756 m -(.,7$0#'20.$%&+'$0#/#0#.-#+$0\)'"#0$'"\).$%&+'+U\)00\)8+4$$H$.\)1&.<$+'\).\(\)0\($"\)+$\)%+,$*##.$\(#6#%,:#\($7"&-"$+",2%\($1\)3#$&')[ 22.837000 22.837000 29.643002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 22.837000 13.694001 11.398002 11.398002 22.837000 22.837000 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 20.500002 11.398002 22.837000 13.694001 13.694001 22.837000 20.500002 20.500002 11.398002 11.398002 11.398002 27.347002 11.398002 22.837000 22.837000 34.194004 9.143001 22.837000 22.837000 11.398002 20.500002 11.398002 22.837000 22.837000 22.837000 22.837000 13.694001 22.837000 11.398002 22.837000 22.837000 20.500002 11.398002 22.837000 9.143001 20.500002 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 22.837000 20.500002 22.837000 9.143001 22.837000 22.837000 22.837000 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 20.500002 22.837000 22.837000 22.837000 9.143001 22.837000 11.398002 34.194004 22.837000 20.500002 22.837000 11.398002 9.143001 11.398002 ] xS -48 1806 m -(#\)+�$/,0$HGS$2+#0+$',$+201&+#$7"&-"$1#'",\(+$0#'20.$\)$+&.<%#$6\)%2#$,0$0#'20.$\)$%&+'$0#/#0#.-#4$$D2+&.#++$,*T#-'$1#'",\(+)[ 22.837000 22.837000 20.500002 9.143001 22.837000 13.694001 11.398002 11.398002 22.837000 13.694001 11.398002 27.347002 27.347002 11.398002 11.398002 22.837000 20.500002 22.837000 13.694001 20.500002 11.398002 11.398002 22.837000 11.398002 20.500002 22.837000 13.694001 34.194004 9.143001 20.500002 22.837000 11.398002 29.643002 22.837000 9.143001 20.500002 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 20.500002 9.143001 22.837000 22.837000 9.143001 22.837000 11.398002 20.500002 22.837000 9.143001 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 11.398002 27.347002 22.837000 20.500002 9.143001 22.837000 22.837000 20.500002 20.500002 11.398002 22.837000 22.837000 9.143001 22.837000 20.500002 11.398002 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 ] xS -48 1855 m -(7&'"$'"#$:0#/&L$)[ 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 20.500002 11.398002 ] xS -/F4.1[ 41 0 8.7148399 -41 0 0]sf -312.33801 1855 m -(!"#$%&&$)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -/F2.1[ 41 0 0 -41 0 0]sf -509.17001 1855 m -($0#'20.$\)$%&+'$0#/#0#.-#;$\)+$\(,$\)\(\):',0$1#'",\(+$7&'"$'"#$:0#/&L)[ 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 20.500002 11.398002 22.837000 22.837000 11.398002 22.837000 22.837000 22.837000 22.837000 11.398002 22.837000 13.694001 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 20.500002 11.398002 29.643002 9.143001 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 11.398002 9.143001 20.500002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -1614.47 1855 m -(#)s -/F4.1[ 41 0 8.7148399 -41 0 0]sf -1639.0699 1855 m -('"#\(\)$%&&)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1860 1855 m -($)s -/F2.1[ 41 0 0 -41 0 0]sf -1884.6 1855 m -($4$$S/$8,2$\)0#)[ 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 11.398002 20.500002 22.837000 22.837000 11.398002 22.837000 13.694001 22.837000 ] xS -48 1907 m -(0#'20.#\($\)$%&+'0#/$/0,1$\)$1#'",\($-\)%%$&'$&+$\)$+&1:%#$1\)''#0$',$\(#90#/#0#.-#$'"&+4$$!"#$/,%%,7&.<$#L\)1:%#+$&%%2+'0\)'#$'"#$2+#$,/)[ 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 22.837000 11.398002 22.837000 11.398002 9.143001 9.143001 20.500002 11.398002 13.694001 22.837000 11.398002 11.398002 11.398002 13.694001 22.837000 34.194004 11.398002 22.837000 11.398002 34.194004 22.837000 11.398002 22.837000 22.837000 22.837000 11.398002 20.500002 22.837000 9.143001 9.143001 11.398002 9.143001 11.398002 11.398002 9.143001 20.500002 11.398002 22.837000 11.398002 20.500002 9.143001 34.194004 22.837000 9.143001 22.837000 11.398002 34.194004 22.837000 11.398002 11.398002 22.837000 13.694001 11.398002 11.398002 22.837000 11.398002 22.837000 22.837000 13.694001 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 11.398002 11.398002 22.837000 9.143001 20.500002 11.398002 11.398002 11.398002 25.051003 22.837000 22.837000 11.398002 11.398002 22.837000 9.143001 9.143001 22.837000 29.643002 9.143001 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 34.194004 22.837000 9.143001 22.837000 20.500002 11.398002 9.143001 9.143001 9.143001 22.837000 20.500002 11.398002 13.694001 22.837000 11.398002 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 22.837000 20.500002 22.837000 11.398002 22.837000 11.398002 ] xS -48 1957 m -(%&+'$0#/#0#.-#+$&.$'"#$B.+BCDE$HGS?)[ 9.143001 9.143001 20.500002 11.398002 11.398002 13.694001 22.837000 11.398002 22.837000 13.694001 22.837000 22.837000 20.500002 22.837000 20.500002 11.398002 9.143001 22.837000 11.398002 11.398002 22.837000 22.837000 11.398002 27.347002 22.837000 20.500002 27.347002 34.194004 27.347002 22.837000 11.398002 27.347002 27.347002 11.398002 11.398002 ] xS -/F3.1[ 41 0 0 -41 0 0]sf -48 2052 m -(@A\(3/B#%--#/-<=\(\)#A&<!#3B\(#/-<=\(#%C%?3<&)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2098 m -(!"#,/-<=\(\)#*#,/-<=\(4%C%?3<&01)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -761 2098 m -(A\(3/B4%--9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2098 m -(@#&\(37&=\)#%#-.\)3#&\(A\(&\(=/\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2190 m -(@.A#"<7#!7\)3#B%>\(#%#/<?"#<A#3B\(#&\(A\(&\(=/\(C#%&&%"D#C<#3B.\)E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2236 m -(!"#$/-<=\(\)#*#$,/-<=\(\)9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -1459 2236 m -(@#F73#"<7#C<=G3#=\(\(C#3<#C<#3B.\))[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2328 m -(@2\(3#3B\(#A.&\)3#/-<=\(#A&<!#3B\(#-.\)3#>.%#3B\(#&\(A\(&\(=/\(E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2374 m -(!"#,A.&\)34/-<=\(#*#,/-<=\(\)01HIJ9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2466 m -(@%=<3B\(&#K%"#<A#2\(33.=2#3B\(#\)%!\(#3B.=2E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2512 m -(L,A.&\)34/-<=\(M#*#$,/-<=\(\)9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2604 m -(@.3\(&%3\(#3B&<72B#%--#<A#3B\(#/<=3.2\)#<=#%#/-<=\()[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2650 m -(A<&\(%/B#!"#,/<=3.2#L$+,A.&\)34/-<=\(012\(34%--4N<=3.2\)8M#+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2696 m -(##?&.=3#,/<=3.201=%!\(#O#PQ)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -687 2696 m -(=R9)[ 24.641003 24.641003 24.641003 ] xS -48 2742 m -(8)s -48 2834 m -(@%=<3B\(&#K%"#<A#C<.=2#3B\(#\)%!\(#3B.=2E)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2880 m -(!"#,/<=3.2\)#*#,A.&\)34/-<=\(012\(34%--4N<=3.2\)9)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2926 m -(A<&\(%/B#!"#,/<=3.2#L$,/<=3.2\)M#+)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 2972 m -(##?&.=3#,/<=3.201=%!\(#O#PQ)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -687 2972 m -(=R9)[ 24.641003 24.641003 24.641003 ] xS -48 3018 m -(8)s -ep -end - -%%Page: 20 20 +%%Page: 18 18 +%%PageBoundingBox: 18 18 577 824 +%%BeginSetup +% +%%EndSetup %%BeginPageSetup -cg_md begin -bp -sdmtx -%RBIBeginFontSubset: RFZZWV+Courier -%!PS-TrueTypeFont-1.0000-1.0000-2 - -14 dict begin/FontName /RFZZWV+Courier def - -/PaintType 0 def - -/FontType 1 def - -/Encoding 256 array 0 1 255{1 index exch/.notdef put}for - -dup 33 /numbersign put - -dup 34 /r put - -dup 35 /e put - -dup 36 /t put - -dup 37 /i put - -dup 38 /v put - -dup 39 /space put - -dup 40 /a put - -dup 41 /s put - -dup 42 /n put - -dup 43 /g put - -dup 44 /l put - -dup 45 /C put - -dup 46 /o put - -dup 47 /b put - -dup 48 /j put - -dup 49 /c put - -dup 50 /parenleft put - -dup 51 /f put - -dup 52 /parenright put - -dup 53 /dollar put - -dup 54 /equal put - -dup 55 /underscore put - -dup 56 /d put - -dup 57 /p put - -dup 58 /hyphen put - -dup 59 /greater put - -dup 60 /h put - -dup 61 /y put - -dup 62 /I put - -dup 63 /D put - -dup 64 /one put - -dup 65 /semicolon put - -dup 66 /colon put - -dup 67 /period put - -dup 68 /quotedblleft put - -dup 69 /backslash put - -dup 70 /quotedblright put - -readonly def - -/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def - -/FontBBox{-334 -839 1523 1793}def - -/UniqueID 4288209 def - -currentdict currentfile eexec - -54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C93181B17796A1204F5476A04185A500C7D1646046CB4388F5303793A562B17EBB1797E8227F12214E8B55DD6D70552C5693E0E0AF74C5703A53BE2EA7C2AD2D477EBBF16B0F75AEB33D9709CE8862C19B21E66C123147FF6B69CF9E4B22E9F9C49EF59AD6D8FDA67A92BF81C38B5E5177EF076C390EB5B6862D239FD4FD1714F218BCF4E52309218B86C8AE4A0BDAE9FB5E867584446B43B7A147F0D4A9252EB4EF4DFA8C63D218CB1C71563836F0BAE944EC8A3BF9C70D7AC41B117A0993F060DB1E67903A6BFEAF31DD4E1F24575EAC38FFCF9CCE2E775E878A3CEB7C086999A500CEE21BEDB277FEA34F4DBCD28B3B461BAC4D3EEDF308EB5CBFB125D0B47D5172CC6BDBB91CF1C0A38A7C49523CBE43AD627CDB1D11CE5028ED0B5AA6E9C00A42C073408BAF5D2F7D6E936F6C4DA2360CC6C57342488FFBEFFBBF36BCD312FD310B46D64C495AFE1508EC4854A96FB04261EDA849FA79752284FBE3FA79373323DEC83EC93F1F4B605A9D9C7680C1C0C177DE8B826EEEE997E650A586D7836C2F88D5FD5A93F45D71D67EC6A70E8997AF06CC27712BBCBD503F9F1A3B1BC0CBEEB64E25FF453B1D7EAA3185F4B9E3D969F22BBE229CA21AF0BD540CA08190E53BE3B5D50A0F6C9971DFE83D4131F4BF331502868B12BFBFEF8C77F2D1D04B5F37A876B3BF317B1E40D52BC28BB477CEF3E3BECB0A11506B0D2A1466D1CD077F9310CB8FCABAD950DFB4212B84FA630F57FFC4B9F6079CBA2DBF836461297EF - -3D27DD19A0EE361CF099A18D056946FBDD2D989C6CFE596907A0D30DF0104DFA37CC181535263FA343827B4B3ED5FF7C63351BB95E77149E183C8366A3C3F3E26B185BF6DEC0D8EFD2B1C4A8191FBA6C82AE06C60F5F67955D6D941DE362A76657C1E7F3398DA7EA93D855021E0947F0F4C7C85F44E831D015C9FC1328F498CB23D9C69177E50A8C6F0DEBB533AE9843BF8BBD9D5E8D95F8CE4185268603C2B3BACC718C2A35B30D4371DFA78BECB3062303340886F6FB20675378335AB4109EC3DD44921B6A3A4CEE1C81A667597559D88EB7907BD325750ECBA04720946AB06876197B935DE7C7F4097D821C12C3224224E0BEEAF25528EFA79A7982F904327E82B80479DF0E16AEB403A3ACB71C32BC73F9F3337A57D7698AAEE7D59CA0F54F012BBD7C43DF082C1E9D2CD2DDD9111AA6AD9F68D4CF2A9703A73B40C439148F342CE7A9E06730B8454C93B0558F7F34D3410AC31F02DC8E21E619814577FCBB96A28A610D3247936BC3128149CFD72EF042A1197C02C7EB39F93F3696F08C89541CE19B1C8948C036ED90F30ABCE5A451B48236C71543193145259D7B2CDE8A9A7CA2A2B03F989955321E8010A9E252841B10B7AA82C38A68C3C55A6FC8EF30E6C45D55993CCD93B10DE372B50174132CE25CAC59388B97BC71CA08ECE694D75DE7E7C7E1A86E715D88136DFF43AFB31C9AB420BFA0B1E2E647588818BD049DE937D84A77BD8E430523AC58EE968E5DD6E39319FB44C18C0150CD7E765763F1FD0F9FC1C72D5D38FA9C8EF3D3365DEC2DE5D8150A25CD8201E988F97242180C1EDF4245BACD84BCE196512747CDE64131BBEA32F4618345610FFABB579401E0B6A485C18FD41650878040182E9846186A857F4779DB1C7D987C5EB5E5F7732386EBCC134090835B47B303D2B16E9BE3B45EB6A85B5F2E2C3E0CECFC7CA22F4F5831C743D947A62C217B435A949C39F61B69506D7329A36EB5A4C5F67E2D33EFB32BC7B8B75FAF100031548CA5FE2AAB798CB5AB9DB2605A3B46AA3593ABFFA41889B734FA45F2BE2D77F78154078B7E5613E4C1FFDE6D93C2F860ACE2D86BE08D6D04CCF2571C8B617DFCFE5BB42A19178D4B0E04D05EA7F84E1D407CFD2545B18DBD3088F7531B6C75D51B194044D67D59C40F209FE30C0D132D96B111C6E60801F5C79643656F797F8D4EA4356E9368065946FDDF8D2B701AAE06F28C79D4BC6D082AFBB59C8DC2F66D5F334AAF779AC97CCD6890CD87220D172E71B301B2BDF9CF2A8B190D04A5E814B41F17F71FC456055BA5BDD8A8B79BF0FC1E85E4293BFD0944126177979051B0A81DB556109A3DCE26CA04A7B0C5AF01D8D1A4F411D9834CD2CD64476FFB951B817B01CB1AF97CDC120D338D85071CA01764DFBAFE26F3ED20CFF610C78049977C031BAEB7D26374C67B0A90183037E877C4B6E9 - -D675EFAA19CAB4017775C6ACE7A4079FAB6124582D5B2F376CA1F394A7AFA2F66296F3EF0B79B4548CEB7AB54D1CB1B185C0C83427C0BBAC85B153F1701B57E92EE9436F2B022E699B6922543DE4805A0ADB03EDE596165FE1D72179902C440C8FA4EBD687B136AC52487A1F4D8AD541B4501452F4D47E84E144F0AB0A8D328745805DCDB4B7736771DBA207D198773AD96C5692A2B90C77B31FF85CAAD5121473592EF75F04A937D390FFF9C6FFB385799426B25F5BB5C123F826B880FFF731EE8D40AF5B5CD9295E0F616E156C6EE14FF06D885EE977C4A754E5A2993ADF9421C7E61059693E8E04E3918CABA7944A911162F7AF54142CBAE389E35D6A2A673B2C5861A19C647B1D533CF76E5C64B49C995FEB66C7EB04A7F9B0FEBC70168D949CC6605109EE3723AB869124519AB16661B7C85A92B2F498EB4B43E43AA85BBFE0410A7BDD3821C1D05D822CA47FB60F10AD94638A628DBFB52FB6A7B1CA3A121D0956F9418A76D2691A6BFABEA8E38FFA0D5F9AB76E41D9E49D7DBF38646372FAC119B3242A1591ED62C97246D114C9539DE618906B5EB4B5E7C6106726DC81AD5A44BC43FC007A9BBDA9D3B5C189B13C3DD7DA48C17AB811396322878E14B882C3A1B7D664F9658756828243DDC3AFC5A620B590B35EAEA3A88C3B990FB70BA56CD33F7FEE556FE4D922A3ACC67511E6C507F9F6A558E9FACB15227435FEE889E0596F3349103DF0454EDA776AE93ECFCFEE9CF1D1D76D8EDC058474255F7A519F71D315B85DFB472BDF91783F970C180FADA4E26774A39BCD97E989233A438B354E87E80BE2FD4F9B75CD75138F9785C9138E0AEF434DEB85B1E1A4C4B6E00D9519C1804F7E04ADFCE2BBC67F993137C6F59C87E8B983F7EB6EE316158CD7D14FDA28877B03B2B229CE035E133692A18642CFE7C0D94CFDADC30AE473CA380CA0F45767F909FE601F70CF64334098DA55A1F53D0BBB2B850B4E809855B623850EDA3FA89AE03176C5985A5AF456AA7B7C404E67A085C023E6BFB4D9C3525210A60AC97FED3BD3F2094F96CB621E10B33041695CB12DA48389DB0E74C7638DEE1D025F5C9B91C59D208E70FF74CA25371641C389E58EDB6A038855D464674276761029B500B3D2C616FE58E53547B8D0340198A03742E488125CB4BCFE2D8F54799500E08DCAEC6A1C31D394E897847696D745B72B285F513BF75BD59C77C53452645AEE5B5688AD82240520F8B6F23522465364DD9501500FCFBEB8C5F6C8B02AE3328D4628F2ED5C89834B7644AFF42019792BA5E6271150DC692705AAB34A02789E03AFD4FA7FF8CA80F9ACD0B67D0709BFEED6C29A5CC7CFB86957F4A3E1A1ED0826D67CD4E8F39CD965BD749AEF9AFC62EBC4D628C31C578D3F6C5CBAEFB23FC161F476BAD9387B94AEB8E0CB476BD94DBF7801E55FE20BF8B6C4A5 - -324F32AF9114EED06B7A3EC405D64DEED251673BD082B715604BACC8D7CDCDCCF6E1243B44B6BD0A9C46E2D43CD2F63267DF1E5C0926EDD9970802674AD14769AA0D3E0B16B5E606332A8FA0F8ABD1CFC85D0C71C5B8FDC6F2606E3E1EE2C7D91C52A4A894BEF0AC9E83A96FB6711D1F7E7EBF90279803059C4D851C4BA07F2E6AB47C5E154A210691BF8899496A4D35B815EAF5A7CC68882D9E4CBA85F1111D3682F9D2E6260E6126B9C35CC91600D1D6E5BAC9101366C436C8B817042EF947BD0A0CDC0E856C4885CE9666C0E6F484077DA10F64770AA009BAB9455FC81101820861E49E17FF0790F4FEB9023B04E53472307A2FB7564970CACCCB34BB55D4ADDE6523F34A9C9E9EDFBE7088713AE0ACB302E66FC5F43216D9EC75C990FC4CCC0A9B0C777AA592ABA4E3858736B24B77B861AA4EDAA55490212DD03517F5E59D2A75FB02123CC23B7AB6447662A8EF8714965929B8DBDABF51E32D25E5729FC1A5E45E5AE37BB17B4AF11FCB043390AF8204759D38F3AB01B3DD9F1267CDA7D9027EB6CB989A9B964385B585B7BFB672C1A232EF176DC57C3435C8CD2B861B68226CEA2DA2FAF1556E870D50DFCBF482BFF3B1F981AACC1003932795E3F2DBE2239C9E6CE071EFCB1CABD0C8AEB5AC72C393C43F16E3474DDB7E1E78E12E3C7E5B7E5054D17EC13A67BBC3B8035F508C747CD10B19CD19CCA286E7470389EFAC012B916903BAF745E1577A33EEFD22F75FB168B272E199D31F079A539A29F8E78190CA64BE534A153C2121B031B4D92DBFAD5712652335C881C712779FC6D00790AE2C6D73E2F973F31A7D468D820DDDEAD4281E389342DE02B0B7A7B33AB9D602C4FCB684F7E666DA1989923F33A3724AF1299125AB629FE3E031ACEC9E5F1FB2A2C0AE8C5BB38C6B94D9C8A7A1BE80EDE7AA8E191487F7C0BD940A29B409A2E81BCF411344A4665480F74B6301396F17AC5E103E960EF95269CC25AA55A3F8EEB99FAF408002B510D3AFC9ECC71EE54324605484A9A9E413C8F1C098CB9CC306C43752A5A122B32EC398D89C37CC3BCA1420BC54516A4066441EF0FB4B94F7A39D5BCDF2EA17F2B03AEE4D956A17AA6E93209CC6FAF1EC41A1C5192B9E38B252051254750EDC60C97A703A4230F5BE504260F92E28C98A6CF341EA497FDB2C04D244FF22EEF6B2696E30629379D54147046AC0BC666CC9B20949ABB97BBAE44115CF985B0344CA61714CFA2C8E51DC86DFF5D16A7AF5C0437472B3800AD875645B6C25D1E613EB7D5F09C6EBE1791A2846D054E7823FF752199A30A74C2199B3E1B9BD33917324CC256C5DCD9660C30335976DEF72BB496238516FD7037CB441CD642874415C0133F40EE247AE4EBFE31B1AF83A39052DB8C66EBA3EF6C13BCBDE766C1BC0715F6DACB093E53320645F20606298B05C0377FF9074D5A8B9 - -ACB3A0A86AF31189782FEB401B4C17CBB06BF235E2A73D60E7477085459CB198C7567F6C9CB09DDEAF111377681F41EA7082A8828B137FC7E5A1AC6291D001BAF9BDCE35C9D071A2CB47B43B8E89AA28A9937BBB362E86A170E85F99A2D1FB099854ED2CB07BA471D5202C14019B9FAA171BFD4EF3D7F01C46F79E81D8F57284FBA22A5F654C3CBD2F565236F57C169EC0A95C914477BD4F8AC5BF1778C097DAD2896C70145777B02C31A877949EADE5FBA5C43B82DC84CE84696A01FD086ADA98BB194CD8B860DBAABA7D2C37C9CEDAC377C3AF58FB7B85B4913CC65E585E5735E7BCA30E708A1F38626E1D046E0FE9A45AB6FF13A41032832E0466EC686A9379503D0294CD490CE44FE65F2F0954E470F2AE7F49C45A97EE7EBF1ADE2F7BE277EC1E809A81FB01D86249CFA02030C8CE387EDE351EAA2FC334D77C4DAFB7CAE32D12E22AC47A84A3CB4471F9BD76DFA638BD39ACD4E2E6C384C3D92B9E72E2EA645FC2B398BF04C8BFD79F0AB19FCA431723BB835EF5944F6D904826B8E963325F0F989DE1AB6FDDB57C3D47E2B5BE7E66B08F3404672BAFC3B06CFB3D54B63AA071A05F3317CDFC9E12A93703A45C62DE3AC4DBA69EEB6D55180E67B9FCADA1DA8547137AA658BCB7FCC5C93F2B4656168476EBBC2509F8F8AB34F3D029E439CC646002B7AF0BA87C48146FC9476E114DA61CF9264161AB1582CA72BC4193EE734F8BC705501532315F6C6351ADD6619CF87017A2C7C1705582049B1C3FC911CC2C564D473DE18F2E10DDC502A54AF64EF22B33ADD192051773C33FF2E59235336EEC1C5E60FC96DF343707F9032C32814B837B2D931EB118A58875B06319EAE64717C65FA190D66A1320C3EDF61E44EB32B68C725D6C0AB937AAA779A4A62C747062DEEBE8BC63BC202AAE34CE035C815F184AD72BA63E1BD20910BDE91524BE91CDC4826F79336C599E1B3D3B7FE7E11299422F62810B077D44D70AB894D1CE1C525B6232F1BB5A75A55E72AD809D41544A4F2A383D9363AA88D357FACE45D4FECA64283F2DCFBD2B1FDDDE6BE364658B396D176ED951D23596E25A01C94DCA8454B749AB0DDAD40DFACCDDC7874520F92B4B56599812D5297D9C5671DBFE514D3DBC3F941ABF282B8DE9B408DF475A9317FEF3FDDD6C9B57EFFAC5C63F93DCBF9349E360FD569DB7FD1640CECED04403B969ABFCA4C37A58C5137A9EF56F077B3AF6CFEB555C0DFD4BA678C469FD191A7C586DA24FB43243336E31204F2AC23FF2EE2513E9057EC5CCB75279E917693FBBDC3858CA4616FC5F08D67343D7E78AB09C73DB58F1F52FB8430DF7F4136A3663FBB7428B47CE7CC216632AF859A971527150E1466E0C68E42C475165EF9881FA3AC07C57BCC3389AE4593E8191A3DC324D529B7707D8D80D6C1673421437E204815C2BB180C5BE56EE2678E3 - -CC0B6396AC6CFEA235BD0EE64B884A2E6FEEFB93E27CB80E113FF637C68A120EAA4351DD5CB4041076379108B7794D540D999B657478C920FC2B29C3670777A148841C2E5FF95FEE2460C4D4D909460AED53E8F60560FF2D0D65A2F921F59D7116EFF4D49E4F556CD76374C31CF5E55B3AE5ED66EBC3581ABED972005C399A619A8A680838BC3509208A141EEDA9C6533F823C7EBE7DEC3B7761A2E92BD853CBAEA5C690D2C90718C1F0E7BC857E563A783FD4465130E2B6CD9490CDD21DC40C8A91C0B7175067C66E90F87F7E5CB5C2D7DF72DBD6595738E83E74E8EBD8BF95855B57120ACA4EA813503582A99D045B42970E20BABDCA810AA400792F32ABC052BEA78F37CFF5BE2614ED089691307353C9998CCC58B9989B922E8B1316C4348F43F3A3FE844C72FA52F976F98509A2188448A2229C20BB32F3349A850928FCFE2F8A9B40543AF17D201E61D23175147573C7E17C1C405C4951479C44FDA49B3EF8E5B0B5188DFE7B18E84ABCFB3457DE3282840EE717C618390F43D65573AB8678D4649719BB7C9696BE576FBCC8FA5ED1DD3FBF42FB860DEA7711083EA8623579F7FA8C74C48AF290CB92EF672D8687EEDA54BCE278183A4AD0ECB6869878799B0D324279542ACD3FE81DE1DC5F92717E51F80127F5717D3A57C66471590B12CC8D9FA57CD84BABCA49728040E0EF9C8DEFCA6A632771377F387C9ACA51968F853CB36AFDA418ECC0A94947D6FAD51D840F8F8442177734AC1EA6A1563054FB056D51A3790690A844FC893E547CB2860F50FD0585643A5A150F9DF2166DB23BE08239799D4D6060A64636FC0094F495A0A644516C1797CA5F86B129A21221E7D5A8AC637D64CCBAAC883F76944D39C67BCC56918DD97758E28DDF664667A6DD43549CA65CC9028BBAB5C4FD05261BE26F6020648F961FC9153CBA85BAD8C4F4923F05AD7454B82C86113469FA25DF52FD96CCDD6C97E3526CB23190831214956977CDC6FDD27DDC272150FE5C88786402A4BE5B7920C1BC7523955423EBED2BE3078C1617939F6E42CC06F6FFAF0BB231BCCB7456220919CA7411381D6F596A1E8C7EEC113A9B259491F10064232EB809841F9F95EF809C09B5EA7E0A331119CDFF06A43760E13470FDE60F210AEF125FCDBA69D404F9FFA54642A7A29B719899B2F60BA3C0480D8803C5B56F5EC002AF18A8554A5267073715634CE501A24992B07C22DB11C1B4163B3830A11BAE5B59416BB48129AEE81BBE4746A811F8D02A0E9171A992389548D8CBFA6EA52A335E3A8E3F64B360FF9B14D6EA92DB0D069801F86218398B33D79C83E4DF57D79C4C9DEEE2A7EA8C66F94AFA07DC925193352A808F911C4688F2F70CA7709293B29FBDDFBE5E515978BE8A14172BF622B8DEA6565A13D2C18D9F139DDD53BD32EAE5EECD2B95578071D0A3DCF7AB45E1 - -3207AACB35E3666891DA744F1D00096FB2DD947CF14E71BF9A277087105842EFB7FFE7822AAB5192A4B1C228CDDAAEBD4222E0A2F974BA72401E1AA56AAE4FB1ABECC2A93771C46325A6FB25D62C9C94D2909C74458AFE2EA37B0AA908BB431B520EF75DB448EBF198A51B6D83330EE707C7009EBA6A5BA587FF4AEBE93332FCAB39B3074AE7051190F7EDBED7DD524981CB621C9BCA6181337C2E87A5B62106CCD8AE9B80937FB6266D7CE171322105DEC246DDCB56DB3315146B4D4B4BFA8F6D6D3F20EC049FBCBA92AC7AC8EB9C5C347AF86A1BEDF444A46D6C1954396910B4888E086B9C57555AAFA7A2B0400E8F7A6949371D7B75CA819B052E0017C48714333CECFCB6E97D91BCDF38A64C69DADA8FB4D7508AA9005191DCAF4EA109EA26429189B85A834A8EF70DE33A59ABB90881BE82167A69BA53FCD842382371BFDF1598FF8741FA14188A9DB89C2F7911CD026ABB73343AA9ECB1F05E69A4EDB8489653A9AF3A7EB1950A10A331DD560485898F691D7DBC4A73F14F7CD755D9C8F1A538121A90BFEC32404AD57FB9BA7B0E1838617406C814E4777DB847965DDE0E5DFA1C2FA88B682DE197EE4647CC20D22411BED0C8B5B66ABD3150D4F040B1147F18EB6E071E0F3790527A9D670AB372FF2DFF6991361AE48D64DD9DE8BFD6FD1311D58ACDBA4836DF60CEF196A58C811FC0C501925A42B7D4956C85C5CB59A563B4D6D0AB364AA20A59F1B6A56004F5E733AB99378099A64358E0B36C0AA279A953D910899704E45B6812D8D9AD3241531F4087D24E03A810DC495515855149CDC63451D33B65C3B0566801C1C079738087045B5AD5FF3143F95E8274B489F9953074294005A4823FC0D9096DD8646F0800A977EBC29097B7B297EA5B51F71566A56F8ACD9835533D8105C15E8FD0ACB8358BE410904038A18B6FBE3C8CF6CE73F7A60F3A213308B013B1F3F713EF313C7F342472A792F3FAC8D672DF494F23FD04E622F4DDE511C5B958DAE1175886CF5FE22E4A50F6BFE98C0774471E2915C4943E0D364CDE5171FB0B5388D73902EC0C1B073B24DE165362D5DA7CA6ACF61A78212DF261308BB2BC06D3992AE5C0EB69699A06B62919B4666BEA47838D8BF6AB07C7841913DF06A5F33D430E7108E658B4C1B7B4D019E3BD6ACD51A04DEE90BF1656B1732104B33C8A8EBD9B730E35A23D4FF30F168D6393B87513472D85BC3354E263F443CEE93F06B95CC64D69FF864B4D10870FDAAEF613109DEB9E34A62817C3C2D510BCD4D198EF64F174B167BD5D28627BCF9D8C35A58628618705EDC695AF62C5B6B874355C881907D33857232610C18C48754B36AFF281F85D5D355435813CB3C4D9D2AB26A7B19587819C1BFAAF227D56C3A89218F88DD5D4F095F4108CDF54DB9481533E402E3550ABAC4D41390F71830725040CECC1B55C - -ACD7A81940D71EC6C5C4999255BE2B78AB4ADD6650D4CDCBB305A94ED2628E5553A30FC9ED3CDC4AC8EC0049AA9D3761327F174CF4E2DDDC38C1EE85C0824FA49EBD198B5FEF138DBF4E9214E952D5C80F2808D32D309FAA1EFAF3BEE392C9EA731672DC69FFE741F48680CEE6CD857022152DFD78F36CA9038EDC3675043787725AA717836B38E09569D1F409593C24B9A41BDDB62B84299F24BED8C5EB523C0A5714C76C88BE9930C128EDA7541ABC385B518176566FE5B7886FAA57DD5055413280F6AC5CC41145437512EA307E8117A822A1B89ACF3D2234C6FAC55A5C1E4EE17EE361D30057279AEE49B9B836C505257E4FFFED618090CE68C85CFDDB43ADFA86EF19FCD473B3DB98F9DE705362EF5A09723DFEB85FF243DEA08E0C5AC60DAFB95FB91006D262D4A46008A1715C032EEEC6219760597DCE10755F61CE2D156CC6DED99FB000274D9CA2A1F0ABB08B720BB00421493818FD756EC9E9EC97FE6BB95B5426B88598C61A9A28E532B2CEB4DB4DA2328CBC0398D6555755177AB1EB17FD58EE50EF9232303A4C1EE4F0CA63E3A2E28C7121259C4D158297B1684F6B7631E7FA3195FD8FAB6E96146CB9995A9D056729614E31963D720F4E6F1842F576EE9C3FC640BC7374D455683C57F85BBD74FF97E81546BA7F8B489E6FF1B2970276445A67D75D3397C9A0A9B7362188E907A7D0698FFD9C33FC75DDCBEA2AEB1283AB10844AE1CABAD71FADF3CC422F3B92E36232F6231969359F451A000E07DB881C0AE6F4760BF7E48CC94BE9DDFABD56BD943E48D166A571FF6A80F6707E18051BA163F40CE4DB361D22916ED3BC8C9A2ECFF167D57849B6915C18583544713D8B364CEBE5C2C34DC917A8124F42FA3B0DCD99568372CF6D1E0CF2A1CBE0A5859B668506AA23422A1E68E6A350E8D5F56278AABADFEE3F6A44C9AAA174490084871D8DE6CCAA0CB8FCD18C410C119ACFDFC4C4D1AF96BD35DE1D8E191B8C094D54BCB9A3818D60199422B06092B886F139A741AE1F815F4851202B870ED8244076465BBE4CE3698E3B13D005E94E6954F08BD4579075C75638A100FC48534D1D8FC98A4731A54433C05E95377627863452CC0A0AB300E5D8287C79E6CD7908E2273861DAAEDB70662DE8548C4BB6B9A8FF442EDC2146DA419F4215AF7A4F46D720FEF67A89BCB12C7A7FDD3FA9941A6E6692F11819A3609AEFD4660E02C00F48331C31F4306994908714881643244BC5D0B7BD9149FCCA5BB22AC57AF056E7843CBBCEFC0048836A024787D1A71187CC1FD8A15AD445FBEC64A021E1A76914322E596E52D1A4C8FACEBA7D821BC34E5AEA3FE4DF53A9C27D7257C535985CDA4B72A365362D4629D050BD050C27759A5767C5B3661E7BA39A834D2492BC3E42328C93870D7C889D83D3BF09C134A4194B0D8AC745D96996FEE606D828 - -D5331E83C7556E85D8A1E368430512A7107C703A0468211AF0F056956C5E67C7041CDA370FF48E0CA7CD66CB4A68A2D05B294774D8FE9E058739DEAF3FBC0FBEC8647F83B205533F57E29FCD112FF6A00C1DD76FA3C583B9D78E5A30553A0D3FAE393EC6F42A7A592ED810741ED631D1005997378294B7BA7002F29E00DD7D9F255199EB9A22DE5F3391C99DD2BC3319DB4678E3791932B2E1236B17A03BFE4F1F863C254A673C4302919A1571AF0C99995CBF3BB7CDE73EE0A9266222A5274EED67B398CEE429AFF3534DFC9664F7D2A86348918B547C3161AB38ADC34BBBC4DD8F0D46AD046CCA7C294D5CC703D13CD266473FEB5589341A22A202AFFC5F4C6E12BA55F80D93B7A07E980265B350EDF380DF96828A893ADE0B63FED5638696713F9A2FF9E1C123C2796D6E637950F1EB6DDEEA35B834727AD2B56D11760287ECFBC93F570F388243A053D9430CD621404D40854FEA4FDC4C4B16CBEE6FF031C1BF7F3955EAD41EEBA8DB345D05DE89B50633EB356620295D84AD2869781DB49A1A5A1C9E08A5E23C4634AD80530FFE16688753BC268CBCBFC30E91E5C349DEAA50F9DDA623E82091FFA80DB573DDF5F9CA3A611BFF8797BAA5F88028951136778DB28E14CF8C9B381293E5DA0E0DF1A3EBD42A1D0E6DDF6EED7157505B0F3E4C7BDA80E2D9ECC17C8C9E36174F250566BF1763D744960EA790FE6F56EF3D8A5448CFF2AE8B3D35AEF6E853C8EB2FCEEDA1397F3452AF6393A7A706263C03CFAC9824732AEECEC40BD3FBB5421D312D26834D4EC7243C53555D9CD2BFE9419A951C0155DEE879F93567078785ACB88EA57B7663F4816770C06C7414135F132B29206D8C97A36635DCF78A7E1E73559CFAFDC103B89124584A064DAD25DA5996708548BC899447AE40475040AA95381000C4E4528418552B9775EBF6A42296CD7D44AD0DE65887679FBE64B9A391576AF9F0CB91975BB170536B9FA5B94DE9FCDEC5A8FCFBDF6032CC42CE0A5BBC44A026BF160A757B86442105CB397A900CEC7BDF5CEC5E1FF643B17D1C - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark end - -%RBIEndFontSubset -/RFZZWV+Courier cguidfix -/F1.1/RFZZWV+Courier renmfont -[ /CIEBasedABC 4 dict dup begin -/WhitePoint [ 0.9505 1.0000 1.0891 ] def -/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def -/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def -/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def -end ] /Cs1 exch/ColorSpace dr pop +% +gsave +[0.24 0 0 -0.24 18 824] concat +gsave %%EndPageSetup -/Cs1 SC -0 0 0 sc -q -28 30.0401 537.84003 780.96002 rc -0.23999999 0 0 -0.23999999 28 811 cm -/F1.1[ 41 0 0 -41 0 0]sf -48 207 m -(!"#$"%#&#'\('\)%*+,#'-,.*#'./0#1$'2*.$'\(',%\)$"#34)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 253 m -(51,.*#'6'51,.*#7\(8\(9$.":;3#$1<7/=78/>?2@4A)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 299 m -(!*.'8#"#3#"#*1%*+'*##8#8B)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -48 345 m -(9"%*$'51,.*#:;%8'C'DE*FA)[ 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 24.641003 ] xS -ep -end +/Helvetica-Bold-iso1252 /Helvetica-Bold ISO1252Encoding psp_definefont +/Helvetica-iso1252 /Helvetica ISO1252Encoding psp_definefont +/Courier-iso1252 /Courier ISO1252Encoding psp_definefont +/Courier-BoldOblique-iso1252 /Courier-BoldOblique ISO1252Encoding psp_definefont +88 265 moveto +0 0 0 setrgbcolor +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<4578657263697365732036> +show +88 378 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<312E> +show +123 378 moveto +<2020436F6E6E65637420746F2074686520636F726520456E73454D424C20646174616261736520 +616E642074686520534E502064617461626173652E20204164642074686520534E50206461746162 +61736520746F2074686520456E73454D424C206461746162617365> +show +88 428 moveto +<616E6420766963652D76657273612E> +show +88 528 moveto +<322E> +show +123 528 moveto +<2020437265617465206120536C696365206F6620314D62206F662073657175656E63652066726F +6D20796F7572206368726F6D6F736F6D65206F662063686F696365202868696E74202D2072656D65 +6D626572206261636B20746F2074686520536C6963652065786572636973657329> +show +88 628 moveto +<332E> +show +123 628 moveto +<2020486F77206D616E7920534E50732061726520746865726520696E207468697320726567696F +6E3F> +show +88 728 moveto +/Courier-iso1252 findfont 48 -48 matrix scale makefont setfont +<342E> +show +145 728 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2020486F77206D616E7920534E5073206F7665726C61702065786F6E733F202848696E74202D20 +67657420616C6C2067656E65732066726F6D2074686520536C69636520616E642075736520> +show +1599 728 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6765745F616C6C5F45786F6E73> +show +1926 728 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<20746F20676574207468652065786F6E73> +show +88 778 moveto +<66726F6D207468652067656E65732E205573652074686520> +show +547 778 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<6F7665726C617073> +show +748 778 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<206D6574686F6420746F2063616C63756C617465207468652070726F706F7274696F6E206F6620 +534E507320746861742061726520736974756174656420696E20636F64696E672073657175656E63 +65732E29> +show +88 928 moveto +/Helvetica-Bold-iso1252 findfont 42 -42 matrix scale makefont setfont +<412066696E616C2C2062757420696D706F7274616E742C206E6F746520746F207573657273206F +66206F6C6465722076657273696F6E73206F662074686520456E73454D424C20415049202D20> +show +1600 928 moveto +<4C6973747320616E64204C697374205265666572656E636573> +show +88 1028 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<54686520456E73454D424C2041504920686173206A75737420726563656E746C79207061737365 +64207468726F756768206120726170696420706572696F64206F66206368616E67652E2020412073 +69676E69666963616E7420646966666572656E6365206265747765656E206F6C6420616E64> +show +88 1078 moveto +<6E65772076657273696F6E73206F66207468652041504920697320746865206E6F772077696465 +73707265616420757365206F66206C697374207265666572656E63657320286C6973747265667329 +2E2020536F6D65206D6574686F642063616C6C732063616E20706F74656E7469616C6C7920726574 +75726E> +show +88 1128 moveto +<76657279206C6F6E67206C6973747320616E6420697420697320666172206D6F72652065666669 +6369656E742C20626F74682074696D652D20616E64206D656D6F72792D776973652C20666F722074 +68657365206D6574686F647320746F2072657475726E207265666572656E63657320746F20746865 +7365> +show +88 1178 moveto +<6C6973747320696E73746561642E2020416C74686F756768206E6F7420616C6C206D6574686F64 +732072657475726E206C6172676520617272617973206F66206F626A656374732C20666F7220636F +6E73697374656E637920616C6D6F737420616C6C206D6574686F647320696E2074686520415049> +show +88 1228 moveto +<73686F756C64206E6F772072657475726E206C697374207265666572656E636573207261746865 +72207468616E206C697374732F6172726179732E202041206E616D696E67207374616E6461726420 +68617320616C736F206265656E20646576656C6F7065642077686963682073686F756C64> +show +88 1278 moveto +<6D616B652069742065617369657220666F722041504920757365727320746F207375726D697365 +207768696368206D6574686F64732072657475726E20612073696E676C652076616C7565206F7220 +72657475726E2061206C697374207265666572656E63652E2020427573696E657373206F626A6563 +74> +show +88 1328 moveto +<6D6574686F64732077697468207468652070726566697820> +show +531 1328 moveto +/Courier-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<6765745F616C6C5F> +show +732 1328 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<2072657475726E2061206C697374207265666572656E63652C20617320646F2061646170746F72 +206D6574686F647320776974682074686520707265666978> +show +1864 1328 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<20> +show +1889 1328 moveto +/Courier-BoldOblique-iso1252 findfont 42 -42 matrix scale makefont setfont +<66657463685F616C6C5F> +show +2141 1328 moveto +/Helvetica-iso1252 findfont 42 -42 matrix scale makefont setfont +<202E2020496620796F75> +show +88 1378 moveto +<6172652072657475726E65642061206C6973747265662066726F6D2061206D6574686F64206361 +6C6C20697420697320612073696D706C65206D617474657220746F2064652D7265666572656E6365 +20746869732E202054686520666F6C6C6F77696E67206578616D706C657320696C6C757374726174 +6520746865> +show +88 1428 moveto +<757365206F66206C697374207265666572656E63657320696E2074686520456E73454D424C2041 +50493A> +show +88 1521 moveto +/Courier-iso1252 findfont 42 -42 matrix scale makefont setfont +<23666574636820616C6C20636C6F6E65732066726F6D2074686520636C6F6E652061646170746F +72> +show +88 1564 moveto +<6D792024636C6F6E6573203D2024636C6F6E655F61646170746F722D3E66657463685F616C6C3B> +show +1438 1564 moveto +<232072657475726E732061206C697374207265666572656E6365> +show +88 1650 moveto +<23696620796F75206D7573742068617665206120636F7079206F6620746865207265666572656E +6365642061727261792C20646F20746869733A> +show +88 1693 moveto +<6D792040636C6F6E6573203D204024636C6F6E65733B> +show +1438 1693 moveto +<232062757420796F7520646F6E2774206E65656420746F20646F2074686973> +show +88 1779 moveto +<236765742074686520666972737420636C6F6E652066726F6D20746865206C6973742076696120 +746865207265666572656E63653A> +show +88 1822 moveto +<6D79202466697273745F636C6F6E65203D2024636C6F6E65732D3E5B305D3B> +show +88 1908 moveto +<23616E6F7468657220776179206F662067657474696E67207468652073616D65207468696E673A> +show +88 1951 moveto +<282466697273745F636C6F6E6529203D204024> +show +566 1951 moveto +<636C6F6E65733B> +show +88 2036 moveto +<2369746572617465207468726F75676820616C6C206F662074686520636F6E74696773206F6E20 +6120636C6F6E65> +show +88 2079 moveto +<666F7265616368206D792024636F6E7469672028407B2466697273745F636C6F6E652D3E676574 +5F616C6C5F436F6E746967737D29207B> +show +88 2122 moveto +<20207072696E742024636F6E7469672D3E6E616D65202E20935C6E943B> +show +88 2165 moveto +<7D> +show +88 2251 moveto +<23616E6F7468657220776179206F6620646F696E67207468652073616D65207468696E673A> +show +88 2294 moveto +<6D792024636F6E74696773203D202466697273745F636C6F6E652D3E6765745F616C6C5F436F6E +746967733B> +show +88 2337 moveto +<666F7265616368206D792024636F6E74696720284024636F6E7469677329207B> +show +88 2380 moveto +<20207072696E742024636F6E7469672D3E6E616D65202E20935C6E943B> +show +88 2423 moveto +<7D> +show +88 2509 moveto +<23726574726965766520612073696E676C6520436C6F6E65206F626A65637420286E6F74206120 +6C69737472656629> +show +88 2551 moveto +<24636C6F6E65203D2024636C6F6E655F61646170746F722D3E66657463685F62795F6462494428 +31293B> +show +88 2594 moveto +<236E6F2064657265666572656E63696E67206E65656465643A> +show +88 2637 moveto +<7072696E742024636C6F6E652D3E6964202E20935C6E943B2020> +show +showpage +grestore grestore +%%PageTrailer %%Trailer -%%Pages: 20 +%%Pages: 19 %%EOF diff --git a/docs/tutorial/ensembl_tutorial.sxw b/docs/tutorial/ensembl_tutorial.sxw index da8a6c0e21b48952caffac148bcd228e40d0ce56..8062ba194523e59a057aa665a757cca70ab4df25 100644 GIT binary patch delta 19155 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 delta 29348 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 diff --git a/docs/tutorial/ensembl_tutorial.txt b/docs/tutorial/ensembl_tutorial.txt index b53f75fbbb..ea39079dfb 100644 --- a/docs/tutorial/ensembl_tutorial.txt +++ b/docs/tutorial/ensembl_tutorial.txt @@ -1,1080 +1,845 @@ -EnsEMBL Tutorial -by Michele Clamp (and revised/updated by Ewan Birney, Dan Andrews and Graham McVicker) - -Revisions: EB Oct01, MC Jan02, MC Mar02, DA Jul02, new API revision DA Oct02, GMV Oct02, DA Feb03, MC -Sep03 - -_______________________________________________________________________ - -Contents - -Introduction. -Remote Access to EnsEMBL via MySQL. -Introduction to the Perl object API. - Companion script and exercises. - What does the core EnsEMBL database contain? - Set-up. - Connection. - Business objects and object adaptors. - Let's get some data. - Clones and RawContigs. - Slices. - Slices vs RawContigs. - Sequence features. - Analysis objects - Overlaps - Genes. - Supporting evidence. - Prediction transcripts. - Translation. - Protein. - External databases - the general idea. - SNPs. - MarkerFeatures. - A final, but important, note to users of older versions of the EnsEMBL API - Lists and List References - -_______________________________________________________________________ -Introduction - -It is important to us that you should be able to access the data in EnsEMBL databases as easily as possible. To try and -meet the different needs of vastly differing data users we have developed a number of interfaces to the EnsEMBL data. -You are probably reading this document because the web interface, while being very pretty and fast, is purely a web -interface and won't provide the kind of bulk information you are needing. If you are a bioinformatician who is Perl aware, -the API that this document describes is going to be very useful. Not only can you retrieve data directly through your -scripts, to either remote or local EnsEMBL databases, you can do quite a lot of data processing via the tools built into the -API data types. However, a point that needs to be made now is that you most probably DON'T have to use this API if your -data needs are relatively simple. Instead, you can use the purpose-built data-mining tool called EnsEMBL Mart. We don't -want to chase you away, but if you haven't already looked at Mart (www.ensembl.org/EnsMart/) we enthusiastically -encourage you to do so soon. - -Okay. If you are still here, good. Now we can talk about accessing EnsEMBL databases, both directly and through the -Perl API. The following document covers two broad areas. The first section pertains to accessing the public EnsEMBL -MySQL server (kaka.sanger.ac.uk) and running queries with your own SQL. The second and larger section will introduce -you to the EnsEMBL core API. - -In general, we've noticed that the best learning route for developers starting to use EnsEMBL is as follows: - -* Play around with the data on kaka.sanger.ac.uk with just a MySQL client. -* Start using the object layer API (Perl based) against kaka.sanger.ac.uk (you will need to download EnsEMBL and -bioPerl software). -* Install the database locally. You may as well install the web site locally while you are about it, as it is pretty easy to get up -and running. - -Of course, you might want to jump straight to installing the EnsEMBL web site, or the delve into the Perl API. Take your -pick. - -Alternatively, you need no longer feel compelled to use Perl to work directly with EnsEMBL databases. If you want to -work in Java you should definitely have a look at the rapidly growing Java API (www.ensembl.org/java/). This is not a -subject covered in this document, so if you are interested please have a look at the Java specific documentation. - -Currently, a rather hard thing to do is to use the EnsEMBL software system to generate features de novo (i.e. run the -gene building process) from raw sequence. This is called the "pipeline". To illustrate this, there are presently numerous -remote EnsEMBL web sites but only a couple of remote pipelines. We expect that documentation and understanding of -the pipeline will improve as more and more people attempt to run it remotely. The documentation of the pipeline that -does exist is stored in our CVS repository, which is externally accessible. Perhaps the easiest way to obtain these -documents in through our web-CVS (http://cvsweb.sanger.ac.uk/cgi-bin/cvsweb.cgi/ensembl-doc/). You are unlikely to -get the pipeline working 100% properly without a bit of help, so if you are heading in this direction let us know and say -hello. - -For other EnsEMBL documentation, have a browse through the EnsEMBL web site (www.ensembl.org) and follow the -"Documentation" link. This should lead you to a number of useful "big" documents, including the one you are presently -reading and the web-site installation instructions. - -For more detailed documents click on the "Wiki" link from the "Documentation" page. Some of the documents available -in the Wiki are up to date, some (most) are not - caution. Once you are in the Wiki pages you can use the 'search' button to -find what you are looking for. You can also browse the archives of the ensembl-dev mailing list for discussions which may -have already answered some of your questions. If after doing this you still can't find what you need, please feel free to -post a question on the ensembl-dev@ebi.ac.uk mailing list. We respond quickly and are nice people that don't bite, even -if you haven't bothered to read the documentation (where it exists). - -Finally, if you find something in this document that is not clear or is incorrect, we will be most grateful if you let us know on -the EnsEMBL developers mailing list (ensembl-dev@ebi.ac.uk). If you are shy, you can also email me directly -(dta@sanger.ac.uk), I don't bite either. - -Remote Access to EnsEMBL via MySQL. - -EnsEMBL provides an internet accessible host (kaka.sanger.ac.uk) with the latest databases. This means you can do a lot -of work from an internet connected host solely by using "client" software. - -You probably have a MySQL client installed if you are running a standard linux distribution. Try: - -mysql -u anonymous -h kaka.sanger.ac.uk - -If MySQL is not installed, go to www.mysql.com to download the client. - -Inside the MySQL prompt you generally want to start with the database "homo_sapiens_core_16_33" (at time of writing -this was the most recent build) and the database "ensembl_mart_16_1". There are also databases for other species - you -should be able to use these in the same way as described here for human. - -Try the "show databases" SQL command to see all the databases that are available, followed by a "use" command -similar to "use homo_sapiens_core_16_33" to choose the current/most recent database. Other databases are -named like "homo_sapiens_lite_16_1" - the naming scheme following the convention of species tag, underscore, -database type, underscore and release number. Have a look around to see what you can use. - -Starting with the "core" database (homo_sapiens_core_16_33 or the most recent update of this database), try some of -these nice queries to get a taste of what is stored in the databases: - -Choose the current human core database: - -"USE homo_sapiens_core_16_33;" - -Retrieve the first two DDBJ/EMBL/GenBank entries stored in the database: - -"SELECT clone_id FROM clone LIMIT 2;" - -Retrieve the first two confirmed genes in the database: - -"SELECT * FROM gene LIMIT 2;" - -Retrieve the DDBJ/EMBL/GenBank entries from the first 5Mb of human chromosome 1. The assembly information is -stored in the assembly table, hence we need to perform a join across the clone, contig, chromosome and assembly -tables: - - "SELECT DISTINCT(clone.name) - FROM assembly, contig, clone, chromosome - WHERE chromosome.name = '1' - AND chromosome.chromosome_id = assembly.chromosome_id - AND assembly.chr_end < 5000000 - AND assembly.contig_id = contig.contig_id - AND clone.clone_id = contig.clone_id;" - -Each table has a unique, consistently-named identifier which can be used as foreign keys in other tables. The unique -identifier column is always named tablename_id and contains integer values. For example, the unique identifier of -the chromosome table is the contained in the chromosome_id column and the row with chromosome_id = 23 -corresponds to the chromosome named 'X'. - -Retrieve the exons which lie within the first 200,000 base-pairs of chromosome 1: - -"SELECT exon.exon_id - FROM exon, assembly, chromosome - WHERE chromosome.name = '1' - AND chromosome.chromosome_id = assembly.chromosome_id - AND assembly.chr_end < 500000 - AND assembly.contig_id = exon.contig_id;" - -(Note: Existing EnsEMBL users may notice that the exon.id column has been replaced by exon.exon_id which now -contains an integer value. To get the ENSE number you will need to join to exon_stable. Be aware that the newest -release of the EnsEMBL database represents quite a big shift in the schema compared to previous releases.) - -At this point you can see that constructing queries against the EnsEMBL core database in chromosomal coordinates will -always mean joining to the assembly table. This is a bit painful. Thankfully we have developed a query-optimised database -that is derived from this database (a datamart in trendy computer speak), called EnsEMBL Mart. This is changing rapidly, -but is well worth playing around with: - -"USE ensembl_mart_16_1;" - -To genes from a particular region: - -"SELECT gene_stable_id FROM homo_sapiens_core_gene WHERE chr_name = '1' AND -gene_chrom_end < 200000;" - -Or from a particular band: - -"SELECT gene_stable_id FROM homo_sapiens_core_gene WHERE band LIKE 'q25.%' AND chr_name = -'1';" - -(notice the use of LIKE to truncate to the major band) - -EnsEMBL Mart will expand over time to allow progressively richer queries. To investigate more use the commands: - -"SHOW tables;" - -and - -"DESCRIBE tablename ;" - -So, now you can play with the data, but where are things like the translations or cDNAs? Additionally, how can I find all the -BLAST hits which overlap exons that live in my genomic region of interest? To do this you will need to write code often. -Do yourself a favour and take advantage of our API which we use every day to wrangle this kind of data. - -Introduction to the Perl object API - -This document grew from notes prepared for an introductory half-day course that we occasionally run on the EnsEMBL -code base (0.5M lines of code in half a day - now there's value). They will take you through the process of connecting to -an EnsEMBL database and accessing the data contained therein. The information contained here is by no means -exhaustive, but should give you enough knowledge to be able to competently use the core EnsEMBL code. After -learning how to retrieve genes, exons, sequence and process these to your own ends, we hope you will feel confident -enough to delve deeper into other less-trodden parts of the code that may interest you. - -Before you start, you will need to have the relevant EnsEMBL and BioPerl modules installed. These are : - -bioperl-0.7 (we know this is not the latest version - for now, EnsEMBL is tied to it, so please use it.) -ensembl -ensembl-external - -Instructions on how to install these perl modules are contained on the EnsEMBL website www.ensembl.org. Basically, -you need to do the following steps (in both cases below we are using cvs to get the code, which is much better than ftp as -we are getting the latest bug fixes. Notice the - r flag to the cvs commands. These indicate the branch of each repository -to get out. (Branches are stable versions of the code). - - BioPerl (see cvs.bioperl.org for more details) -cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl login -when prompted, the password is 'cvs' -cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl checkout -r branch-07 -bioperl-live - - EnsEMBL - -cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster login -when prompted, the password is CVSUSER -cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster checkout -r branch-ensembl- -16 ensembl -cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster checkout -r branch-ensembl- -16 ensembl-external - -If you don't have, or don't want to install, the EnsEMBL database locally (which is all you will need to complete the tutorial -exercises) you can point your scripts at a publically available one at the Sanger Centre. Use the following fields in your -scripts (where X_X is the latest version of the database): - -host kaka.sanger.ac.uk -dbname homo_sapiens_core_X_X -user anonymous - - DBI and DBI::mysql - -Unless you already have them installed, before you can begin you will need to install the Perl DBI and DBI::mysql modules -from the CPAN (www.cpan.org). See the CPAN site for instructions on how to do this. - - -Companion script and exercises -Accompanying this document is a script called tutorial.pl. This script contains all the example code in this document -and should run successfully if you have the right database and version of the code installed. In addition, soon there will -be worked solutions to the exercises included later in this tutorial. When you check-out a copy of EnsEMBL from the -cvs, both the companion script and the pending worked solutions will be in the ensembl/docs/tutorial directory. - -What does the core EnsEMBL database contain? - -*Clones (with embl accessions) - both finished and unfinished. - -*Each contiguous piece of sequence is called a contig. These are the basic lengths of DNA that we analyse and -annotate. - -*Each clone will contain one or more contigs. - -*Finished clones = one contig. - -*Unfinished clones = any number of contigs. - -*Each contig (whether finished or unfinished) has certain features associated with it that represent the result any one of -the various analysis programs that have been run on it (e.g. RepeatMasker, BLAST, genscan). These are the basic -computes used to build the genes. - -*The raw analysis results are used to build genes which are also stored in the database. Each gene contains one or more -transcripts and each transcript will contain a translation. - -*Each gene has various information attached to it describing whether it is a known gene or corresponds to a SwissProt or -trEMBL protein. Some genes are novel genes which have been built by inference from similarities to other sequences. -These novel genes won't have a corresponding SwissProt or trEMBL protein. - -*Each translation has had a variety of protein analyses conducted on it and you can access information about the results of -these. This includes information derived from pfam, prosite and prints. - -*There are other features accessible through non-core EnsEMBL external databases. Such databases may contain -information about SNPs, mouse trace hits or embl annotations. You can create your own external databases to be -incorporated into EnsEMBL, but this is a subject for a more advanced document. - -Setup - -Before starting with the EnsEMBL modules you will need to set up your environment so Perl knows where to find them. -As EnsEMBL is built on top of BioPerl (version 0.7 for now), this includes telling it where bioperl-0.7 lives on your system. - -The environment variable to do this is PERL5LIB. If you are using csh or tcsh you need to type in the following (changing -/nfs/croc/michele/branch to your directory containing the perl modules you downloaded). If you are concomitantly using a -version of BioPerl newer than version 0.7 make sure that the older version appears in your Perl library path before the -newer version. - -setenv ENSHOME /nfs/croc/michele/branch - -setenv PERL5LIB $ENSHOME/ensembl/modules:$ENSHOME/bioperl-0.7:$ENSHOME/ensembl- -external/modules:$ENSHOME/ensembl-lite/modules - -It has become apparent recently that the EnsEMBL code-base just won't run on older versions of Perl. We use version -5.6 for development and testing. We recommend that you should do so too. If you are unsure of what version is running -on your machine. Type: - -perl -v - -Presuming that this is all in order, you are now ready to write your first script. - -Connection - -All data used and created by EnsEMBL is stored in a MySQL relational database. If you want to access this database the -first thing you have to do is to connect to it. This is done behind the scenes by EnsEMBL using the famous Perl module -called DBI. You will need to know three things before you start : - - host the hostname where the EnsEMBL database lives - dbname the name of the EnsEMBL database - user the username to access the database - -First, we need to declare to Perl the modules we want to use so it can go and check the syntax of them. This is done by a -use statement. This line has to be inserted into all your EnsEMBL scripts: - -use Bio::EnsEMBL::DBSQL::DBAdaptor; - -The we set the all important variables telling Perl where and what your database is: - -my $host = 'kaka.sanger.ac.uk'; -my $user = 'anonymous'; -my $dbname = 'homo_sapiens_core_16_33'; - -Now we can make a database connection: - -my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor(-host => $host, - -user => $user, - -dbname => $dbname); - -We've made a connection to an EnsEMBL database and passed parameters in using the -attribute => -'somevalue' syntax present in many of the EnsEMBL object constructors. Formatted correctly, this syntax lets you see -exactly what arguments and values you are passing. - -The $db variable now contains a reference to the newly created DBAdaptor object which you can start using to extract -data. If, heaven forbid, the connection fails an error message will be returned. - -Business Objects and Object Adaptors - -Before we launch into the ways the API can be used to retrieve and process data from the EnsEMBL databases it is best -to mention the fundamental relationships the EnsEMBL objects have with the database. - -The EnsEMBL API allows manipulation of the database data through various business objects. For example, some of the -more heavily used objects are the Gene, Clone and Exon objects. More details of how to effectively use these objects will -be covered later. These objects are retrieved and stored in the database through the use of object 'adaptors'. The object -adaptors have internal knowledge of the underlying database schema and use this knowledge to fetch, store and remove -objects (and data) from the database. This way you can write code and use the EnsEMBL API without having to know -anything about the underlying databases you are using. The database adaptor (that we obtained by connecting to our -database, in the previous section) is a special adaptor which has the responsibility of maintaining the database connection -and creating other object adaptors. - -As will be shown later in this document, to obtain object adaptors from the main database adaptor there is a suite of -methods that have the naming convention "get_ObjectAdaptor". To obtain a SliceAdaptor or a CloneAdaptor -(which, oddly enough, retrieve Slice and Clone objects) do the following: - -my $gene_adaptor = $db->get_GeneAdaptor(); -my $clone_adaptor = $db->get_CloneAdaptor(); -Don't worry if you don't immediately see how useful this could be. Just remember that you don't need to know anything -about how the database is structured, but you can retrieve the necessary data (neatly packaged in objects) by asking for it -from the correct adaptor. Throughout the rest of this document we are going to work through the ways the EnsEMBL -business objects can be used to derive the information you want. - -Let's get some data - -Once you have a database adaptor, you are ready to retrieve data. Conceptually, there are two main ways to go about -retrieving and manipulating genome data. Historically, data has been handled on a clone- by- clone basis. The EnsEMBL -API is fully capable of working with the clone- based data that comes out of a sequencing project, and fundamentally -EnsEMBL works with data at a contig level. However, due to the nearing completion of the first big genome sequencing -projects it is now becoming possible to practically work with genomes as long stretches of gap-less sequence. EnsEMBL -also allows you to work with sequence information in this way. Previous releases of the EnsEMBL API called these un- -interrupted stretches of sequence virtual contigs. From release 9 onwards these have been called Slices - literally, slices -of genomic sequence. All you need to do to retrieve such a sequence is stipulate the chromsome number and the start -and end coordinates - we'll get to doing this in just a bit. - -Most users of the EnsEMBL API will probably end up using both means of retrieving and manipulating genome -sequences. Hence, we'll introduce both of these here in the next two sections. - - -Clones and RawContigs - -Clones and RawContigs represent two basic data-types in EnsEMBL. Clones have contigs, and contigs are the elements -of contiguous sequence information that are built up to create the full clone sequence. Once a clone sequence is -complete, the clone will be represented by one contig sequence. - -If you know the accession number of a clone that you are interested in, you can retrieve that clone directly from the -CloneAdaptor in the following way: - -my $clone = $clone_adaptor->fetch_by_accession('AC005663'); - -This will return a Clone object. You can check whether you have the right clone by calling the Clone object's id method: - -print "Clone is " . $clone->id . "\n"; - -To get the most use out of this object we now need to ask it about its contigs (remember - clones have one or more -contigs). - -my $contigs = $clone->get_all_Contigs; - -We now have a reference to a list of RawContig objects. RawContig objects are actually bioperl sequence objects and this -means they can be used to retrieve all sorts of useful information, - -Say we want to get the sequence of each contig: - -foreach my $contig (@$contigs) { - my $length = $contig->length; - my $id = $contig->id; - - # The sequence of a contig is obtained easily: - - print $contig->seq . "\n"; - - # We can get a substring of this sequence too: - - print $contig->subseq(1,100) . "\n"; - - # If we want to write the sequence to a file we use bioperl again - # (Note: if we are creating a new object we need to include - # a use Bio::SeqIO line at the start of our file - - use Bio::SeqIO; - - my $seqio = new Bio::SeqIO(-fh => \*STDOUT, - -format => 'fasta'); - - $seqio->write_seq($contig); - -} - -Many features can be obtained from a RawContig. One set of features that will prove extremely useful if you're going to -do any analysis on them are the repeat features. These can be used to mask the sequence ready for, say, a BLAST -search. For example: - -my $maskedseq = $contig->get_repeatmasked_seq; - -Hence, EnsEMBL provides you with a handy call to obtain repeat-masked sequence without you having to rerun -RepeatMasker. - -Of course, given a whole genome sequence to play with, you are hardly going to be content with looking at just one -clone. Hence, to do genome sized analyses you will probably want to retrieve all the clones from the database. Before -going further it is best to point out that unless you have an over-riding reason to work on a clone-by-clone basis, this kind -of analysis might be more easily done using Slices, which are the subject of the next section. However, if you need -clones, you can retrieve them in the following way. - -my $clones = $clone_adaptor->fetch_all; - -Once this list of clones has been obtained you can set about getting useful things. - -foreach my $clone (@$clones) { - my $contigs = $clone->get_all_Contigs; - foreach my $contig (@$contigs) { - my $sequence = $contig->seq(); - print $sequence . "\n"; - } -} - -Notice that the above script allows you to print the entire genome sequence, which is potentially quite slow. Unless you -have a reason to laboriously work through clone and contig sequences, you will be much better off using Slices - which -we will come to just around the next corner. - -Exercises 1 - -1. Connect to the database. How many clones does it contain? - - (Hint: Make a $db object and get a clone adaptor from it. Use the fetch_all() method of the adaptor and then take the -size of returned array). - -2. What is the average number of raw contigs per clone for the first 100 clones in the database? - - (Hint: get_all_Contigs on clone); - -3. Print out in fasta format the repeat-masked sequence for the last 10 clones of the genome. - - -Slices - -If you have had experience with using the EnsEMBL API before, you will have come across the concept of virtual contigs. -A virtual contig was an EnsEMBL object that represented a section of a genome. These virtual contigs could be created -to represent any single part of the genome, and were created simply by making a call to the $db object specifying start and -end coordinates for a particular chromosome. The nitty gritty of taking the actual raw contig sequences and stitching -these together into a single sequence was done in the background by the EnsEMBL code. The current incarntion of a -virtual contig is the Slice - virtual contigs are no longer part of the EnsEMBL code. Just like virtual contigs a Slice is an -EnsEMBL object that represents any particular region of a genome. A Slice and its associated methods provide a simple -way to retrieve and manipulate sequence from a part of the genome that you are interested in. To get a Slice of genome -you just need to do the following. - -First, get a Slice adaptor from the database adaptor: - -my $slice_adaptor = $db->get_SliceAdaptor; - -With a Slice adaptor, retrieving genome sequence is as easy as specifying which region of which chromosome we are -after: - -my $slice = $slice_adaptor->fetch_by_chr_start_end('1',1,100000); - -The order that the arguments are passed is chromosome number, start coordinate and end coordinate. Notice that this is -reflected in the naming of the slice adaptor method. Generally this is a good guide to guessing what arguments you need -to provide a method call - alternatively you can have a look at the documentation associated with a particular module. - -Another useful way to obtain a Slice is to do it with respect to a gene it contains: - -my $slice = $slice_adaptor->fetch_by_gene_stable_id('ENSG00000099889', 5000); - -This will return a Slice that contains the sequence of the gene specified by its stable EnsEMBL id. It also returns 5000bp -of flanking sequence at both the 5' and 3' ends, which is obviously very useful if you are interested in the environs that a -gene inhabits. You needn't have the flanking sequence it you don't want it - in this case set the number of flanking bases -to 0 or omit the second argument entirely. - -We can also retrieve Slices of actual physical contigs - and we can pad these at the ends with sequence from adjoining -contigs: - -my $slice = $slice_adaptor->fetch_by_contig_name('AC005663.2.1.103122', 10000); - -This returns a Slice that contains the contig that was specified by name. It also includes 10000bp of flanking sequence at -each end of this actual contig. - -We can also do the same with clones: - -my $slice = $slice_adaptor->fetch_by_clone_accession('AC005663',1000); - -So, once we have our Slice we can then use it to retrieve useful information about the region of sequence that the Slice -represents. - -Just like RawContigs mentioned previously, a Slice is a BioPerl sequence object and we we can get at the actual -sequence information like thus: - -my $sequence = $slice->seq; - -We can query the Slice for information about itself: - -my $chr_name = $slice->chr_name; -my $chr_start = $slice->chr_start; -my $chr_end = $slice->chr_end; - -print "Chromosome $chr_name Start/End $chr_start $chr_end \n"; - -The makeup of our Slice is determined by the assembly (or the golden tiling path) of our genome. If we wanted to access -this assembly information with regard to a particular Slice we can do this by: - -my $tiling_path = $slice->get_tiling_path(); - -foreach my $tile (@$tiling_path) { - my $tile_slice = $tile->assembled_Seq()->name; - my $tile_ctg = $tile->component_Seq()->name; - - my $slice_start = $tile->assembled_start(); - my $slice_end = $tile->assembled_end(); - my $ctg_start = $tile->component_start(); - my $ctg_end = $tile->component_end(); - my $ctg_ori = $tile->component_ori(); - - print "[$tile_slice] $slice_start - $slice_end => " . - "[$tile_ctg] $ctg_start - $ctg_end ($ctg_ori)\n"; -} - -Each 'tile' that we are returned is a Bio::EnsEMBL::Tile object representing the portion of a slice that maps directly onto a -portion of the assmebly (or golden path). - -A Slice is a good starting place for retrieving information about a region of a chromosome, including the genes it contains. -The next few sections will go into more detail about how to do this. - - -Slices vs RawContigs - -Before going on to the next topics an important point needs to be made. Despite the fact that Slices and RawContigs are -different objects and don't represent exactly the same thing (one is an experimentally generated stretch of sequence, the -other is a computationally pooled sequence) they can effectively be used as such. In the rest of this document a -distinction won't be drawn between the two - unless there is an actual difference between how the two objects behave -(which by design should be few). We will be using Slices by default though, as we would encourage you to do too. -Exercises 2 -1. Fetch 1Mb of repeat-masked sequence from the contig of your choice (Hint: Create a Slice using -fetch_Slice_by_chr_start_end($chr,$start,$end) and have a look back at how this was done with -RawContigs in the previous section). -2. Fetch a Slice of the gene ENSG00000100259 -3. Print the last 1000 nucleotides of the Silce obtained in the previous question. -3. For the Slice you retrieved in the first question, print the ids of the contigs that form the tiling path. Also print the start -and end positions of each RawContig as it is used in the tiling path. - -Sequence Features - -So now we're pretty happy about retrieving DNA sequence from EnsEMBL. The more interesting things associated with -Slices and RawContigs are the features that can be retrieved from them. These include the repeat features mentioned in -previously and also similarity features (like BLAST results), prediction transcripts (such as genscan results) and marker -features. Not to mention genes, of course. - -Sets of features can be retrieved from a region through a request to a Slice or RawContig (you're probably getting used to -this by now). These are returned to us as feature *objects*. For instance: - -my $repeats = $slice->get_all_RepeatFeatures; - -We now have a reference to a list containing feature objects. An easy way to print these out is to call the method -gffstring which returns information about the feature as a string: - -foreach my $repeat (@$repeats) { - print $repeat->gffstring . "\n"; -} - -You should get a series of output lines like - -22:16890204-16987127 RepeatMasker repeat 2851 2959 645 + -1 -22:16890204-16987127 RepeatMasker repeat 2979 3260 2066 - -1 -22:16890204-16987127 RepeatMasker repeat 4008 4056 234 - -1 -22:16890204-16987127 RepeatMasker repeat 4080 4345 1768 - -1 -22:16890204-16987127 RepeatMasker repeat 4364 4450 549 - -1 -22:16890204-16987127 RepeatMasker repeat 4650 4736 252 - -1 -22:16890204-16987127 RepeatMasker repeat 5835 5972 413 - -1 -22:16890204-16987127 RepeatMasker repeat 12035 12084 193 - -1 - -The columns that compose a gffstring have the following meaning: - -1 sequence name -2 feature type -3 main feature type -4 sequence start -5 sequence end -6 strand -7 score -8 phase - -Sometimes there are an additional three columns if the feature type posesses them: - -9 hit sequence name -10 hit start -11 hit end - - -Instead of using gffstring we can ask the feature objects directly about their properties: - -foreach my $repeat (@$repeats) { - print "Name : " . $repeat->seqname . "\n"; - print "Start : " . $repeat->start . "\n"; - print "End : " . $repeat->end . "\n"; - print "Strand : " . $repeat->strand . "\n"; - print "Score : " . $repeat->score . "\n"; - -} - -Some features (like CpG islands for instance) are simple features and only have the methods printed above. - -Other features as well as having coordinates on a contig sequence also have coordinates on a hit sequence: - -foreach my $repeat (@$repeats) - print "Hit start " . $repeat->hstart . "\n"; - print "Hit end " . $repeat->hend . "\n"; -} - -Repeat features are an example of a feature which also stores the coordinates of a hit sequence. However, the classic -example is a feature representing a BLAST result where the query sequence is similar to another sequence (protein, -EST, cDNA) and so we need to store which sequence it has hit and whereabout in that sequence it has hit. These types -of features have the generic name of similarity features. In reality these features are members of a superclass called -AlignFeatures (because they are features with two aligned sequences), and depending on whether it is DNA or protein -sequence that we are dealing with, the objects are either a Bio::EnsEMBL::DnaDnaAlignFeature or a -Bio::EnsEMBL::ProteinDnaAlignFeature - -To get similarity features from a RawContig or a slice we use: - -my $features = $contig->get_all_SimilarityFeatures; - -To obtain only DnaAlignFeatures we can use the following method: - -$features = $slice->get_all_DnaAlignFeatures('Vertrna', 0.00001); - -Note that this method takes two optional arguments which can impose an additional constraint on the features we want to -retreive. The first argument is a 'logic name' - the name for the analysis which was conducted to obtain the feature. For -similarity features the logic name relates to the type of blast analysis and there are currently four logic_names which -correspond to dna_align_features in the current code (note that the logic name is CASE SENSITIVE): - -Vertrna WU tblastn hits against the EMBL-vertrna database (all CDS's from the EMBL database). -Swall WU blastp hits against the SWALL database (protein features only). -Unigene WU tblastn hits against the UniGene database. -dbEST WU tblastn hits against the dbEST database. - -Hence, in our call to retrieve DNA features, we have requested those that are hits against the EMBL vertrna database. We -have also stipulated a cut- off value. This allows us to set the level of strigency of BLAST hits and is exactly the same as -the BLAST E(0) value. - -Once we have these DNA features we can iterate through them and take a look at what they contain: - -foreach my $feat (@$features) { - print "Feature scores are " . $feat->score . "\t" . - $feat->percent_id . "\t" . - $feat->p_value . "\n"; -} - -The same procedure applies to retrieving protein features, just instead use the method call: - -$slice->get_all_ProteinAlignFeatures('Swall', 0.0001). - -Choose a logic name appropriate to proteins - so stick with 'Swall' (or leave the logic name out entirely). Once these -protein features have been returned we can look at them in the same way as we just did for DNA features. - -As an alternative approach we can go directly to the object adaptor for a feature type and request features from the -database. The following example illustrates some of the different approaches that can be used to obtain features: - -my $simple_feature_adaptor = $db->get_SimpleFeatureAdaptor; - -#get all of the Eponine hits on a Contig -my @eponine_hits = @{$simple_feature_adaptor->fetch_all_by_RawContig($contig, -'Eponine')}; - -#get all CpG islands on a Slice with score greater than 500 -my $cpg_islands = $simple_feature_adaptor->fetch_all_by_Slice_and_score($slice, 500, -'CpG'); - -#get the simple feature with the database identifier 1 -my $simple_feature = $simple_feature_adaptor->fetch_by_dbID(1); - -#get all of the simple features on a slice -my @simple_features = @{$slice->get_all_SimpleFeatures}; - -#get all of the tRNAscan hits on a contig -my $trnas = $contig->get_all_SimpleFeatures('tRNAscan'); - -Analysis Objects - -All features retrieved from the database have an Analysis object attached to them that contains information regarding the -analysis/algorithm that created the feature. This is a good means by which to determine where the feature has come from -or what it actually is. The gff_source method of the Analysis object tells us what sort of feature we have, such as -'genscan','repeat' or 'cpg'. Other information can be derived from the Analysis object, such as the database that was used -in a BLAST job, the parameters that were provided to the executable, and even the path to the executable that was used: - -my $analysis = $feature->analysis; - -print "Analysis: " . $analysis->gff_source . "\n"; -print "Database : " . $analysis->db . "\n"; -print "Program : " . $analysis->program . "\n"; -print "Parameters : " . $analysis->parameters . "\n"; - -For instance a feature that comes out of a BLAST run will have an analysis object that tells us it was run with 'blastx' and -was run against database 'sptr'; - -Overlaps - -A useful feature of BioPerl is that it makes it easy to find whether one feature overlaps another. This comes in jolly handy if -you want to find all genscan predictions that don't overlap exons, or all SNPs that do overlap exons, or mouse trace hits -that don't overlap exons, etc. - -If we have two features - say an exon, $exon, and a snp, $snp: - - if ($exon->overlaps($snp)) { - print "Whey! coding snp " . $snp->gffstring . "\n"; - } else { - print "Boo! non coding snp " . $snp->gffstring . "\n"; - } - -The overlaps method returns true (1) if the two features do overlap, or false (0) if they don't. - -Exercises 3 - -1. Print out all the repeat features for the first 100kb of sequence of human chromsome 1. (Hint: Use the gffstring -method for easy printing) - -2. What proportion of DNA is repeat in the above sequence and is this what you expect? (Hint: tot up the length for each -repeat feature and compare to the total sequence length) - -3. For clone AC005663 retrieve all the DNA features matched to EMBL vertrna. How many different sequences did this -clone hit and were these hits significant? (Hint: Use the hseqname method and the p_value method) - -Genes - -During the pipeline gene building process, genes are built on Slices because a lot of genes span more than one contig. -Hence , it makes the most sense to subsequently use Slices to access them. However, having said that you can access -genes via RawContigs if you wish. Getting all the of the genes from a Slice or RawContig is as easy as: - -my $genes = $slice->get_all_Genes; - -As usual we are returned a reference to a list of objects - Gene objects this time. They contain all the information about the -exon/intron structure, DNA sequence, etc. - -Genes have EnsEMBL identifiers which can be accessed using the stable_id method: - -foreach my $gene (@$genes) { - print "Gene : " . $gene->stable_id . "\n"; -} - -EnsEMBL identifiers don't really tell us much about the gene (and they're not intended to) and some genes will have one -or more more common names. - -We can tell immediately if a gene is a known gene (refseq or sptrembl) by calling the is_known method. If it is a known -gene then we can call the each_DBLink method to find out more about it. - -foreach my $gene (@$genes) { - if ($gene->is_known) { - foreach my $link (@{$gene->get_all_DBLinks}) { - print "Gene " . $gene->stable_id . " links to " . - $link->display_id . " " . - $link->database . "\n"; - my @syns = @{$link->get_all_synonyms}; - print "Synonyms for gene are @syns\n"; - } - } else { - print "Gene " . $gene->stable_id . " is not a known gene\n"; - } -} - -Other information about a known gene is contained in its description method. This information is extracted from the -relevant swissprot or refseq entry. - -my $description = $gene->description; - -Genes are quite complicated objects and are constructed thusly. - -Each Gene object has one or more Transcript objects (one for each alternatively spliced cDNA). - -my $transcripts = $gene->get_all_Transcripts(); - -Each Transcript is made up of a series of Exons. We can access the Exons and retrieve their sequence and coordinates. - -foreach my $exon (@{$transcript->get_all_Exons}) { - print "Found exon " . $exon->stable_id . " " . - $exon->start . " " . - $exon->end . " " . - $exon->seq->seq; -} - -Notice that calling the seq method on an Exon object returns us a BioPerl sequence object. We then have to call seq -again to get a string representation of the sequence. Hence, we get the seq->seq stutter - its not a typo in case you -were wondering. - -We can get the protein sequence of a Transcript by calling the translate method. So to get all the protein translations -from a gene into a file we would do - -my $seqio = new Bio::SeqIO->(-format => 'fasta', - -fh => \*STDOUT); - -foreach my $transcript (@{$gene->get_all_Transcripts}) { - my $peptide = $transcript->translate; - - $seqio->write_seq($peptide); -} - -Note that when writing to a BioPerl SeqIO object we pass the Peptide object and not a string, but when writing out to the -screen we have to stringify it first. - -Exercises 4 -1. Get all the genes on a long- ish (say 1Mb) Slice and print their EnsEMBL ids. - -2. Which of those genes are known genes and what is their more common name? (Hint. Use the is_known method and -use the get_all_DBLinks->display_id) - -3. How many genes are alternatively spliced for the first 100 genes (Hint: Count the number of transcripts using the -$gene->each_Transcript method) - -4. What is the average size and number of exons per gene (Hint: Use the get_all_Exons method and remember that -exons are like features with $ex->start $ex->end) - -5. Translate the first 10 genes - are there any stop codons (there shouldn't be!!) (Remember there may be more than one -transcript per gene) - -6. Print out the 200 bases of sequence that flanks each exon (Use the $gene->get_all_Exons method and call $contig- ->subseq($start,$end) method to retrieve the dna) - -7. Extract all the introns from the first 10 genes and write them to a file (be careful about reverse strand genes). - -8. Print out all the 5' and 3' utrs for the first 10 genes. -Supporting Evidence - -The information that was used to make a gene is also stored in the EnsEMBL database in the form of FeaturePairs. This -information can be retrieved easily from a Gene object. - -The evidence is attached as an array of FeaturePairs to each Exon and can be retrieved in the following way: - -foreach my $gene (@$genes) { - my $transcripts = $gene->get_all_Transcripts; - foreach my $transcript (@$transcripts) { - my $exons = $transcript->get_all_Exons; - foreach my $exon (@$exons) { - my $supporting_features = $exon->get_all_supporting_features; - foreach my $feature (@$supporting_features) { - print "Evidence " . $feature->gffstring . "\n"; - } - } - } -} - -Prediction Transcripts - -EnsEMBL stores ab initio gene predictions from genscan. These predictions are accesses in a similar fashion to normal -EnsEMBL transcripts , but through PredictionTranscript objects rather than Transcript objects. As with normal transcripts -prediction transcripts are composed of a set of Exon objects. To obtain prediction transcripts from a Slice or RawContig -we can do the following (as with other EnsEMBL features logic name or score constraints can be passed as optional -arguments) : - -my $predicted_transcripts = $slice->get_all_PredictionTranscripts; - -We now have a reference to a list of PredictionTranscript objects. To have a look at the predicted exons for each -predicted transcript we can use the following: - -foreach my $predicted_transcript (@$predicted_transcripts) { - my $exons = $predicted_transcript->get_all_Exons; - - print "Genscan prediction has " . scalar @$exons . : exons\n"; - - foreach my $exon (@$exons) { - print $exon->start . " - " . - $exon->end . " : " . - $exon->strand . " " . - $exon->phase ."\n"; - } -} - -As these predictions should translate there you can get the predicted peptide sequence by using the translate -method on a genscan prediction. - -print "Genscan peptide is " . $predicted_transcript->translate->seq . "\n"; - -Translation - -Each Transcript, retrieved from a Gene object , can be split into a 5' untranslated region, a CDS and a 3' untranslated -region. The points in the cDNA where the translation starts and stops are stored in a Translation object which is attached -to each Transcript: - -my $translation = $transcript->translation; - -The Translation object has methods: - -$translation->start_Exon; -$translation->end_Exon; - -which denote which exons the translation starts and ends in. To find the exact coordinate of the start and stop of -translation use the methods: - -$translation->start; -$translation->end; - -The start and end methods refer to the exon coordinates so they should never be less than one or greater than the -exon's length. - -Protein - -Information regarding a protein can be retreived from the ProteinAdaptor via a Translation object identifier: - -my $protein_adaptor = $db->get_ProteinAdaptor; - -my $protein = $protein_adaptor->fetch_by_translation_id($translation->dbID); - -As every transcript has only one translation we can fetch proteins using the transcript identifier as well: - -my $protein = $protein_adaptor->fetch_by_transcript_id($transcript->dbID) - -Once we have a Protein object we can look at its features - -my $protein_features = $protein->get_all_ProteinFeatures; - -The features that are returned are ProteinFeatures. To have a look at them you can use the gff_string method: - -foreach my $pf (@$protein_features) { - print $pf->gffstring . "\n"; -} -exercises 5 - -1. Find all the pfam domains contained in the first 100 genes on chromosome 1. Which ones are most common and is -this surprising? - -2. How many of those genes have no protein features at all. - -3. How many of the proteins contain WD40 domains? - -External Databases - The General Idea - -The core EnsEMBL database (the one you've been using up to now) contains DNA, genes and some sequence -features. There are extra satellite databases that contain other features that can also be accessed. - -The idea is that you take your main EnsEMBL database handle ($db - way back in the first section) and give it another -database handle to look after. This external database could contain all manner of things e.g. SNPs, mouse trace hits or -EMBL annotations. You can now access the features in the second database as though they were all in the same place -even though they could be sitting on a completely different machine. - -Let's give the EST database as a first example. - -First we need to connect to the main EnsEMBL database: - -use Bio::EnsEMBL::ExternalData::ESTSQL::DBAdaptor; - -my $est_db = Bio::EnsEMBL::ExternalData::ESTSQL::DBAdaptor->new( - -host => $host, - -dbname => $estname, - -user => $user); - -And then to the human EST database to our main db adaptor and vice-versa: - -$db->add_db_adaptor('est', $est_db); -$est_db->add_db_adaptor('core', $db); - -Now that we have done this we can retrieve the EST alignment features from this the database in the same way as we -would other DNA align features by specifying the name of the analysis that was used to generate the alignments - in this -case 'ex_e2g_feat'. - -my $est_features = $slice->get_all_DnaAlignFeatures('ex_e2g_feat'); - -Now that we have these features we can have a look at them: - -foreach my $est (@$est_features) { - print " " . $est->gffstring . "\n"; -} - -SNPS - -SNP features can be readily accessed from the external database ensembl-lite: - -use Bio::EnsEMBL::Lite::DBAdaptor; - -my $lite_db = Bio::EnsEMBL::Lite::DBAdaptor->new(-host => $host, - -user => $user, - -dbname => $litename); - -Add the lite db adaptor to the main db adaptor and vice-versa like before: - -$db->add_db_adaptor('lite', $lite_db); -$lite_db->add_db_adaptor('core', $db); - -Retrieve all the SNP features from a Slice using the get_all_SNPs method: - -my $snp_features = $slice->get_all_SNPs; - -Iterate through the SNP features printing the position at which they lie along the Slice: - -foreach my $snp (@$snp_features) { - print "snp " . $snp->start . "\n"; -} - - -Marker Features - -The lite database also contains information about markers. Given that we already have a warm ensembl-lite database -adaptor, it is too much to resist retrieving these too. -With one call we can retrieve all the marker features on our Slice: - -my @markers = @{$slice->get_all_MarkerFeatures}; - -Exercises 6 - -1. Connect to the core EnsEMBL database and the SNP database. Add the SNP database to the EnsEMBL database -and vice-versa. - -2. Create a Slice of 1Mb of sequence from your chromosome of choice (hint - remember back to the Slice exercises) - -3. How many SNPs are there in this region? - -4. How many SNPs overlap exons? (Hint - get all genes from the Slice and use get_all_Exons to get the exons from -the genes. Use the overlaps method to calculate the proportion of SNPs that are situated in coding sequences.) - - -A final, but important, note to users of older versions of the EnsEMBL API - Lists and List -References - -The EnsEMBL API has just recently passed through a rapid period of change. A significant difference between old and -new versions of the API is the now widespread use of list references (listrefs). Some method calls can potentially return -very long lists and it is far more efficient, both time- and memory-wise, for these methods to return references to these lists -instead. Although not all methods return large arrays of objects, for consistency almost all methods in the API should now -return list references rather than lists/arrays. A naming standard has also been developed which should make it easier for -API users to surmise which methods return a single value or return a list reference. Business object methods with the -prefix get_all_ return a list reference, as do adaptor methods with the prefix fetch_all_ . If you are returned a -listref from a method call it is a simple matter to de-reference this. The following examples illustrate the use of list -references in the EnsEMBL API: - -#fetch all clones from the clone adaptor -my $clones = $clone_adaptor->fetch_all; # returns a list reference - -#if you must have a copy of the referenced array, do this: -my @clones = @$clones; # but you don't need to do this - -#get the first clone from the list via the reference: -my $first_clone = $clones->[0]; - -#another way of getting the same thing: -($first_clone) = @$clones; - -#iterate through all of the contigs on a clone -foreach my $contig (@{$first_clone->get_all_Contigs}) { - print $contig->name . "\n"; -} - -#another way of doing the same thing: -my $contigs = $first_clone->get_all_Contigs; -foreach my $contig (@$contigs) { - print $contig->name . "\n"; -} - -#retrieve a single Clone object (not a listref) -$clone = $clone_adaptor->fetch_by_dbID(1); -#no dereferencing needed: -print $clone->id . "\n"; - - - +EnsEMBL Tutorial +by Michele Clamp (and revised/updated by Ewan Birney, Dan Andrews and Graham McVicker) + +Revisions: EB Oct01, MC Jan02, MC Mar02, DA Jul02, new API revision DA Oct02, GMV Oct02, DA Feb03 + +Â_______________________________________________________________________ + +Contents + +Introduction. +Remote Access to EnsEMBL via MySQL. +Introduction to the Perl object API. + Companion script and exercises. + What does the core EnsEMBL database contain? + Set-up. + Connection. + Business objects and object adaptors. + Let's get some data. + Clones and RawContigs. + Slices. + Slices vs RawContigs. + Sequence features. + Analysis objects + Overlaps + Genes. + Supporting evidence. + Prediction transcripts. + Translation. + Protein. + External databases - the general idea. + SNPs. + MarkerFeatures. + A final, but important, note to users of older versions of the EnsEMBL API - Lists and List References + +_______________________________________________________________________ +Introduction + +It is important to us that you should be able to access the data in EnsEMBL databases as easily as possible. To try and meet the different needs of vastly differing data users we have developed a number of interfaces to the EnsEMBL data. You are probably reading this document because the web interface, while being very pretty and fast, is purely a web interface and won't provide the kind of bulk information you are needing. If you are a bioinformatician who is Perl aware, the API that this document describes is going to be very useful. Not only can you retrieve data directly through your scripts, to either remote or local EnsEMBL databases, you can do quite a lot of data processing via the tools built into the API data types. However, a point that needs to be made now is that you most probably DON'T have to use this API if your data needs are relatively simple. Instead, you can use the purpose-built data-mining tool called EnsEMBL Mart. We don't want to chase you away, but if you haven't already looked at Mart (www.ensembl.org/EnsMart/) we enthusiastically encourage you to do so soon. + +Okay. If you are still here, good. Now we can talk about accessing EnsEMBL databases, both directly and through the Perl API. The following document covers two broad areas. The first section pertains to accessing the public EnsEMBL MySQL server (kaka.sanger.ac.uk) and running queries with your own SQL. The second and larger section will introduce you to the EnsEMBL core API. + +In general, we've noticed that the best learning route for developers starting to use EnsEMBL is as follows: + +* Play around with the data on kaka.sanger.ac.uk with just a MySQL client. +* Start using the object layer API (Perl based) against kaka.sanger.ac.uk (you will need to download EnsEMBL and bioPerl software). +* Install the database locally. You may as well install the web site locally while you are about it, as it is pretty easy to get up and running. + +Of course, you might want to jump straight to installing the EnsEMBL web site, or the delve into the Perl API. Take your pick. + +Alternatively, you need no longer feel compelled to use Perl to work directly with EnsEMBL databases. If you want to work in Java you should definitely have a look at the rapidly growing Java API (www.ensembl.org/java/). This is not a subject covered in this document, so if you are interested please have a look at the Java specific documentation. + +Currently, a rather hard thing to do is to use the EnsEMBL software system to generate features de novo (i.e. run the gene building process) from raw sequence. This is called the "pipeline". To illustrate this, there are presently numerous remote EnsEMBL web sites but only a couple of remote pipelines. We expect that documentation and understanding of the pipeline will improve as more and more people attempt to run it remotely. The documentation of the pipeline that does exist is stored in our CVS repository, which is externally accessible. Perhaps the easiest way to obtain these documents in through our web-CVS (http://cvsweb.sanger.ac.uk/cgi-bin/cvsweb.cgi/ensembl-doc/). You are unlikely to get the pipeline working 100% properly without a bit of help, so if you are heading in this direction let us know and say hello. + +For other EnsEMBL documentation, have a browse through the EnsEMBL web site (www.ensembl.org) and follow the "Documentation" link. This should lead you to a number of useful "big" documents, including the one you are presently reading and the web-site installation instructions. + +For more detailed documents click on the "Wiki" link from the "Documentation" page. Some of the documents available in the Wiki are up to date, some (most) are not - caution. Once you are in the Wiki pages you can use the 'search' button to find what you are looking for. You can also browse the archives of the ensembl-dev mailing list for discussions which may have already answered some of your questions. If after doing this you still can't find what you need, please feel free to post a question on the ensembl-dev@ebi.ac.uk mailing list. We respond quickly and are nice people that don't bite, even if you haven't bothered to read the documentation (where it exists). + +Finally, if you find something in this document that is not clear or is incorrect, we will be most grateful if you let us know on the EnsEMBL developers mailing list (ensembl-dev@ebi.ac.uk). If you are shy, you can also email me directly (dta@sanger.ac.uk), I don't bite either. + +Remote Access to EnsEMBL via MySQL. + +EnsEMBL provides an internet accessible host (kaka.sanger.ac.uk) with the latest databases. This means you can do a lot of work from an internet connected host solely by using "client" software. + +You probably have a MySQL client installed if you are running a standard linux distribution. Try: + +mysql -u anonymous -h kaka.sanger.ac.uk + +If MySQL is not installed, go to www.mysql.com to download the client. + +Inside the MySQL prompt you generally want to start with the database "homo_sapiens_core_9_30" (at time of writing this was the most recent build) and the database "ensembl_mart_9_1". There are also databases for other species - you should be able to use these in the same way as described here for human. + +Try the "show databases" SQL command to see all the databases that are available, followed by a "use" command similar to "use homo_sapiens_core_9_30" to choose the current/most recent database. Other databases are named like "homo_sapiens_lite_9_1" - the naming scheme following the convention of species tag, underscore, database type, underscore and release number. Have a look around to see what you can use. + +Starting with the "core" database (homo_sapiens_core_9_30 or the most recent update of this database), try some of these nice queries to get a taste of what is stored in the databases: + +Choose the current human core database: + +"USE homo_sapiens_core_9_30;" + +Retrieve the first two DDBJ/EMBL/GenBank entries stored in the database: + +"SELECT clone_id FROM clone LIMIT 2;" + +Retrieve the first two confirmed genes in the database: + +"SELECT * FROM gene LIMIT 2;" + +Retrieve the DDBJ/EMBL/GenBank entries from the first 5Mb of human chromosome 1. The assembly information is stored in the assembly table, hence we need to perform a join across the clone, contig, chromosome and assembly tables: + + "SELECT DISTINCT(clone.name) + FROM assembly, contig, clone, chromosome + WHERE chromosome.name = '1' + AND chromosome.chromosome_id = assembly.chromosome_id + AND assembly.chr_end < 5000000 + AND assembly.contig_id = contig.contig_id + AND clone.clone_id = contig.clone_id;" + +Each table has a unique, consistently-named identifier which can be used as foreign keys in other tables. The unique identifier column is always named tablename_id and contains integer values. For example, the unique identifier of the chromosome table is the contained in the chromosome_id column and the row with chromosome_id = 23 corresponds to the chromosome named 'X'. + +Retrieve the exons which lie within the first 200,000 base-pairs of chromosome 1: + +"SELECT exon.exon_id + FROM exon, assembly, chromosome + WHERE chromosome.name = '1' + AND chromosome.chromosome_id = assembly.chromosome_id + AND assembly.chr_end < 500000 + AND assembly.contig_id = exon.contig_id;" + +(Note: Existing EnsEMBL users may notice that the exon.id column has been replaced by exon.exon_id which now contains an integer value. To get the ENSE number you will need to join to exon_stable. Be aware that the newest release of the EnsEMBL database represents quite a big shift in the schema compared to previous releases.) + +At this point you can see that constructing queries against the EnsEMBL core database in chromosomal coordinates will always mean joining to the assembly table. This is a bit painful. Thankfully we have developed a query-optimised database that is derived from this database (a datamart in trendy computer speak), called EnsEMBL Mart. This is changing rapidly, but is well worth playing around with: + +"USE ensembl_mart_9_1;" + +To genes from a particular region: + +"SELECT gene_stable_id FROM homo_sapiens_core_gene WHERE chr_name = '1' AND gene_chrom_end < 200000;" + +Or from a particular band: + +"SELECT gene_stable_id FROM homo_sapiens_core_gene WHERE band LIKE 'q25.%' AND chr_name = '1';" + +(notice the use of LIKE to truncate to the major band) + +EnsEMBL Mart will expand over time to allow progressively richer queries. To investigate more use the commands: + +"SHOW tables;" + +and + +"DESCRIBE tablename ;" + +So, now you can play with the data, but where are things like the translations or cDNAs? Additionally, how can I find all the BLAST hits which overlap exons that live in my genomic region of interest? To do this you will need to write code often. Do yourself a favour and take advantage of our API which we use every day to wrangle this kind of data. + +Introduction to the Perl object API + +This document grew from notes prepared for an introductory half-day course that we occasionally run on the EnsEMBL code base (0.5M lines of code in half a day - now there's value). It will take you through the process of connecting to an EnsEMBL database and accessing the data contained therein. The information contained here is by no means exhaustive, but should give you enough knowledge to be able to competently use the core EnsEMBL code. After learning how to retrieve genes, exons, sequence and process these to your own ends, we hope you will feel confident enough to delve deeper into other less-trodden parts of the code that may interest you. + +Before you start, you will need to have the relevant EnsEMBL and BioPerl modules installed. These are : + +bioperl-0.7 (we know this is not the latest version - for now, EnsEMBL is tied to it, so please use it.) +ensembl +ensembl-external + +Instructions on how to install these perl modules are contained on the EnsEMBL website www.ensembl.org. Basically, you need to do the following steps (in both cases below we are using cvs to get the code, which is much better than ftp as we are getting the latest bug fixes. Notice the - r flag to the cvs commands. These indicate the branch of each repository to get out. (Branches are stable versions of the code). + + BioPerl (see cvs.bioperl.org for more details) +cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl login +when prompted, the password is 'cvs' +cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl checkout -r branch-07 bioperl-live + + EnsEMBL + +cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster login +when prompted, the password is CVSUSER +cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster checkout -r branch-ensembl-9 ensembl +cvs -d :pserver:cvsuser@cvsro.sanger.ac.uk:/cvsroot/CVSmaster checkout -r branch-ensembl-9 ensembl-external + +If you don't have, or don't want to install, the EnsEMBL database locally (which is all you will need to complete the tutorial exercises) you can point your scripts at a publically available one at the Sanger Centre. Use the following fields in your scripts (where X_X is the latest version of the database): + +host kaka.sanger.ac.uk +dbname homo_sapiens_core_X_X +user anonymous + + DBI and DBI::mysql + +Unless you already have them installed, before you can begin you will need to install the Perl DBI and DBI::mysql modules from the CPAN (www.cpan.org). See the CPAN site for instructions on how to do this. + + +Companion script and exercises +Accompanying this document is a script called tutorial.pl. This script contains all the example code in this document and should run successfully if you have the right database and version of the code installed. In addition, soon there will be worked solutions to the exercises included later in this tutorial. When you check-out a copy of EnsEMBL from the cvs, both the companion script and the pending worked solutions will be in the ensembl/docs/tutorial directory. + +What does the core EnsEMBL database contain? + +*Clones (with embl accessions) - both finished and unfinished. + +*Each contiguous piece of sequence is called a contig. These are the basic lengths of DNA that we analyse and annotate. + +*Each clone will contain one or more contigs. + +*Finished clones = one contig. + +*Unfinished clones = any number of contigs. + +*Each contig (whether finished or unfinished) has certain features associated with it that represent the result any one of the various analysis programs that have been run on it (e.g. RepeatMasker, BLAST, genscan). These are the basic computes used to build the genes. + +*The raw analysis results are used to build genes which are also stored in the database. Each gene contains one or more transcripts and each transcript will contain a translation. + +*Each gene has various information attached to it describing whether it is a known gene or corresponds to a SwissProt or trEMBL protein. Some genes are novel genes which have been built by inference from similarities to other sequences. These novel genes won't have a corresponding SwissProt or trEMBL protein. + +*Each translation has had a variety of protein analyses conducted on it and you can access information about the results of these. This includes information derived from pfam, prosite and prints. + +*There are other features accessible through non-core EnsEMBL external databases. Such databases may contain information about SNPs, mouse trace hits or embl annotations. You can create your own external databases to be incorporated into EnsEMBL, but this is a subject for a more advanced document. + +Setup + +Before starting with the EnsEMBL modules you will need to set up your environment so Perl knows where to find them. As EnsEMBL is built on top of BioPerl (version 0.7 for now), this includes telling it where bioperl-0.7 lives on your system. + +The environment variable to do this is PERL5LIB. If you are using csh or tcsh you need to type in the following (changing /nfs/croc/michele/branch to your directory containing the perl modules you downloaded). If you are concomitantly using a version of BioPerl newer than version 0.7 make sure that the older version appears in your Perl library path before the newer version. + +setenv ENSHOME /nfs/croc/michele/branch + +setenv PERL5LIB $ENSHOME/ensembl/modules:$ENSHOME/bioperl-0.7:$ENSHOME/ensembl-external/modules:$ENSHOME/ensembl-lite/modules + +It has become apparent recently that the EnsEMBL code-base just won't run on older versions of Perl. We use version 5.6 for development and testing. We recommend that you should do so too. If you are unsure of what version is running on your machine. Type: + +perl -v + +Presuming that this is all in order, you are now ready to write your first script. + +Connection + +All data used and created by EnsEMBL is stored in a MySQL relational database. If you want to access this database the first thing you have to do is to connect to it. This is done behind the scenes by EnsEMBL using the famous Perl module called DBI. You will need to know three things before you start : + + host the hostname where the EnsEMBL database lives + dbname the name of the EnsEMBL database + user the username to access the database + +First, we need to declare to Perl the modules we want to use so it can go and check the syntax of them. This is done by a use statement. This line has to be inserted into all your EnsEMBL scripts: + +use Bio::EnsEMBL::DBSQL::DBAdaptor; + +The we set the all important variables telling Perl where and what your database is: + +my $host = 'kaka.sanger.ac.uk'; +my $user = 'anonymous'; +my $dbname = 'homo_sapiens_core_9_30'; + +Now we can make a database connection: + +my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor(-host => $host, + -user => $user, + -dbname => $dbname); + +We've made a connection to an EnsEMBL database and passed parameters in using the -attribute => 'somevalue' syntax present in many of the EnsEMBL object constructors. Formatted correctly, this syntax lets you see exactly what arguments and values you are passing. + +The $db variable now contains a reference to the newly created DBAdaptor object which you can start using to extract data. If, heaven forbid, the connection fails an error message will be returned. + +Business Objects and Object Adaptors + +Before we launch into the ways the API can be used to retrieve and process data from the EnsEMBL databases it is best to mention the fundamental relationships the EnsEMBL objects have with the database. + +The EnsEMBL API allows manipulation of the database data through various business objects. For example, some of the more heavily used objects are the Gene, Clone and Exon objects. More details of how to effectively use these objects will be covered later. These objects are retrieved and stored in the database through the use of object 'adaptors'. The object adaptors have internal knowledge of the underlying database schema and use this knowledge to fetch, store and remove objects (and data) from the database. This way you can write code and use the EnsEMBL API without having to know anything about the underlying databases you are using. The database adaptor (that we obtained by connecting to our database, in the previous section) is a special adaptor which has the responsibility of maintaining the database connection and creating other object adaptors. + +As will be shown later in this document, to obtain object adaptors from the main database adaptor there is a suite of methods that have the naming convention "get_ObjectAdaptor". To obtain a SliceAdaptor or a CloneAdaptor (which, oddly enough, retrieve Slice and Clone objects) do the following: + +my $gene_adaptor = $db->get_GeneAdaptor(); +my $clone_adaptor = $db->get_CloneAdaptor(); +Don't worry if you don't immediately see how useful this could be. Just remember that you don't need to know anything about how the database is structured, but you can retrieve the necessary data (neatly packaged in objects) by asking for it from the correct adaptor. Throughout the rest of this document we are going to work through the ways the EnsEMBL business objects can be used to derive the information you want. + +Let's get some data + +Once you have a database adaptor, you are ready to retrieve data. Conceptually, there are two main ways to go about retrieving and manipulating genome data. Historically, data has been handled on a clone- by- clone basis. The EnsEMBL API is fully capable of working with the clone- based data that comes out of a sequencing project, and fundamentally EnsEMBL works with data at a contig level. However, due to the nearing completion of the first big genome sequencing projects it is now becoming possible to practically work with genomes as long stretches of gap-less sequence. EnsEMBL also allows you to work with sequence information in this way. Previous releases of the EnsEMBL API called these un-interrupted stretches of sequence virtual contigs. From release 9 onwards these have been called Slices - literally, slices of genomic sequence. All you need to do to retrieve such a sequence is stipulate the chromsome number and the start and end coordinates - we'll get to doing this in just a bit. + +Most users of the EnsEMBL API will probably end up using both means of retrieving and manipulating genome sequences. Hence, we'll introduce both of these here in the next two sections. + + +Clones and RawContigs + +Clones and RawContigs represent two basic data-types in EnsEMBL. Clones have contigs, and contigs are the elements of contiguous sequence information that are built up to create the full clone sequence. Once a clone sequence is complete, the clone will be represented by one contig sequence. + +If you know the accession number of a clone that you are interested in, you can retrieve that clone directly from the CloneAdaptor in the following way: + +my $clone = $clone_adaptor->fetch_by_accession('AC005663'); + +This will return a Clone object. You can check whether you have the right clone by calling the Clone object's id method: + +print "Clone is " . $clone->id . "\n"; + +To get the most use out of this object we now need to ask it about its contigs (remember - clones have one or more contigs). + +my $contigs = $clone->get_all_Contigs; + +We now have a reference to a list of RawContig objects. RawContig objects are actually bioperl sequence objects and this means they can be used to retrieve all sorts of useful information, + +Say we want to get the sequence of each contig: + +foreach my $contig (@$contigs) { + my $length = $contig->length; + my $id = $contig->id; + + # The sequence of a contig is obtained easily: + + print $contig->seq . "\n"; + + # We can get a substring of this sequence too: + + print $contig->subseq(1,100) . "\n"; + + # If we want to write the sequence to a file we use bioperl again + # (Note: if we are creating a new object we need to include + # a use Bio::SeqIO line at the start of our file + + use Bio::SeqIO; + + my $seqio = new Bio::SeqIO(-fh => \*STDOUT, + -format => 'fasta'); + + $seqio->write_seq($contig); + +} + +Many features can be obtained from a RawContig. One set of features that will prove extremely useful if you're going to do any analysis on them are the repeat features. These can be used to mask the sequence ready for, say, a BLAST search. For example: + +my $maskedseq = $contig->get_repeatmasked_seq; + +Hence, EnsEMBL provides you with a handy call to obtain repeat-masked sequence without you having to rerun RepeatMasker. + +Of course, given a whole genome sequence to play with, you are hardly going to be content with looking at just one clone. Hence, to do genome sized analyses you will probably want to retrieve all the clones from the database. Before going further it is best to point out that unless you have an over-riding reason to work on a clone-by-clone basis, this kind of analysis might be more easily done using Slices, which are the subject of the next section. However, if you need clones, you can retrieve them in the following way. + +my $clones = $clone_adaptor->fetch_all; + +Once this list of clones has been obtained you can set about getting useful things. + +foreach my $clone (@$clones) { + my $contigs = $clone->get_all_Contigs; + foreach my $contig (@$contigs) { + my $sequence = $contig->seq(); + print $sequence . "\n"; + } +} + +Notice that the above script allows you to print the entire genome sequence, which is potentially quite slow. Unless you have a reason to laboriously work through clone and contig sequences, you will be much better off using Slices - which we will come to just around the next corner. + +Exercises 1 + +1. Connect to the database. How many clones does it contain? + + (Hint: Make a $db object and get a clone adaptor from it. Use the fetch_all() method of the adaptor and then take the size of returned array). + +2. What is the average number of raw contigs per clone for the first 100 clones in the database? + + (Hint: get_all_Contigs on clone); + +3. Print out in fasta format the repeat-masked sequence for the last 10 clones of the genome. + + +Slices + +If you have had experience with using the EnsEMBL API before, you will have come across the concept of virtual contigs. A virtual contig was an EnsEMBL object that represented a section of a genome. These virtual contigs could be created to represent any single part of the genome, and were created simply by making a call to the $db object specifying start and end coordinates for a particular chromosome. The nitty gritty of taking the actual raw contig sequences and stitching these together into a single sequence was done in the background by the EnsEMBL code. The current incarntion of a virtual contig is the Slice - virtual contigs are no longer part of the EnsEMBL code. Just like virtual contigs a Slice is an EnsEMBL object that represents any particular region of a genome. A Slice and its associated methods provide a simple way to retrieve and manipulate sequence from a part of the genome that you are interested in. To get a Slice of genome you just need to do the following. + +First, get a Slice adaptor from the database adaptor: + +my $slice_adaptor = $db->get_SliceAdaptor; + +With a Slice adaptor, retrieving genome sequence is as easy as specifying which region of which chromosome we are after: + +my $slice = $slice_adaptor->fetch_by_chr_start_end('1',1,100000); + +The order that the arguments are passed is chromosome number, start coordinate and end coordinate. Notice that this is reflected in the naming of the slice adaptor method. Generally this is a good guide to guessing what arguments you need to provide a method call - alternatively you can have a look at the documentation associated with a particular module. + +Another useful way to obtain a Slice is to do it with respect to a gene it contains: + +my $slice = $slice_adaptor->fetch_by_gene_stable_id('ENSG00000099889', 5000); + +This will return a Slice that contains the sequence of the gene specified by its stable EnsEMBL id. It also returns 5000bp of flanking sequence at both the 5' and 3' ends, which is obviously very useful if you are interested in the environs that a gene inhabits. You needn't have the flanking sequence it you don't want it - in this case set the number of flanking bases to 0 or omit the second argument entirely. + +We can also retrieve Slices of actual physical contigs - and we can pad these at the ends with sequence from adjoining contigs: + +my $slice = $slice_adaptor->fetch_by_contig_name('AC005663.2.1.103122', 10000); + +This returns a Slice that contains the contig that was specified by name. It also includes 10000bp of flanking sequence at each end of this actual contig. + +We can also do the same with clones: + +my $slice = $slice_adaptor->fetch_by_clone_accession('AC005663',1000); + +So, once we have our Slice we can then use it to retrieve useful information about the region of sequence that the Slice represents. + +Just like RawContigs mentioned previously, a Slice is a BioPerl sequence object and we we can get at the actual sequence information like thus: + +my $sequence = $slice->seq; + +We can query the Slice for information about itself: + +my $chr_name = $slice->chr_name; +my $chr_start = $slice->chr_start; +my $chr_end = $slice->chr_end; + +print "Chromosome $chr_name Start/End $chr_start $chr_end \n"; + +The makeup of our Slice is determined by the assembly (or the golden tiling path) of our genome. If we wanted to access this assembly information with regard to a particular Slice we can do this by: + +my $tiling_path = $slice->get_tiling_path(); + +foreach my $tile (@$tiling_path) { + my $tile_slice = $tile->assembled_Seq()->name; + my $tile_ctg = $tile->component_Seq()->name; + + my $slice_start = $tile->assembled_start(); + my $slice_end = $tile->assembled_end(); + my $ctg_start = $tile->component_start(); + my $ctg_end = $tile->component_end(); + my $ctg_ori = $tile->component_ori(); + + print "[$tile_slice] $slice_start - $slice_end => " . + "[$tile_ctg] $ctg_start - $ctg_end ($ctg_ori)\n"; +} + +Each 'tile' that we are returned is a Bio::EnsEMBL::Tile object representing the portion of a slice that maps directly onto a portion of the assmebly (or golden path). + +A Slice is a good starting place for retrieving information about a region of a chromosome, including the genes it contains. The next few sections will go into more detail about how to do this. + + +Slices vs RawContigs + +Before going on to the next topics an important point needs to be made. Despite the fact that Slices and RawContigs are different objects and don't represent exactly the same thing (one is an experimentally generated stretch of sequence, the other is a computationally pooled sequence) they can effectively be used as such. In the rest of this document a distinction won't be drawn between the two - unless there is an actual difference between how the two objects behave (which by design should be few). We will be using Slices by default though, as we would encourage you to do too. +Exercises 2 +1. Fetch 1Mb of repeat-masked sequence from the contig of your choice (Hint: Create a Slice using fetch_Slice_by_chr_start_end($chr,$start,$end) and have a look back at how this was done with RawContigs in the previous section). +2. Fetch a Slice of the gene ENSG00000100259 +3. Print the last 1000 nucleotides of the Silce obtained in the previous question. +3. For the Slice you retrieved in the first question, print the ids of the contigs that form the tiling path. Also print the start and end positions of each RawContig as it is used in the tiling path. + +Sequence Features + +So now we're pretty happy about retrieving DNA sequence from EnsEMBL. The more interesting things associated with Slices and RawContigs are the features that can be retrieved from them. These include the repeat features mentioned in previously and also similarity features (like BLAST results), prediction transcripts (such as genscan results) and marker features. Not to mention genes, of course. + +Sets of features can be retrieved from a region through a request to a Slice or RawContig (you're probably getting used to this by now). These are returned to us as feature *objects*. For instance: + +my $repeats = $slice->get_all_RepeatFeatures; + +We now have a reference to a list containing feature objects. An easy way to print these out is to call the method gffstring which returns information about the feature as a string: + +foreach my $repeat (@$repeats) { + print $repeat->gffstring . "\n"; +} + +You should get a series of output lines like + +22:16890204-16987127 RepeatMasker repeat 2851 2959 645 + -1 +22:16890204-16987127 RepeatMasker repeat 2979 3260 2066 - -1 +22:16890204-16987127 RepeatMasker repeat 4008 4056 234 - -1 +22:16890204-16987127 RepeatMasker repeat 4080 4345 1768 - -1 +22:16890204-16987127 RepeatMasker repeat 4364 4450 549 - -1 +22:16890204-16987127 RepeatMasker repeat 4650 4736 252 - -1 +22:16890204-16987127 RepeatMasker repeat 5835 5972 413 - -1 +22:16890204-16987127 RepeatMasker repeat 12035 12084 193 - -1 + +The columns that compose a gffstring have the following meaning: + +1 sequence name +2 feature type +3 main feature type +4 sequence start +5 sequence end +6 strand +7 score +8 phase + +Sometimes there are an additional three columns if the feature type posesses them: + +9 hit sequence name +10 hit start +11 hit end + + +Instead of using gffstring we can ask the feature objects directly about their properties: + +foreach my $repeat (@$repeats) { + print "Name : " . $repeat->seqname . "\n"; + print "Start : " . $repeat->start . "\n"; + print "End : " . $repeat->end . "\n"; + print "Strand : " . $repeat->strand . "\n"; + print "Score : " . $repeat->score . "\n"; + +} + +Some features (like CpG islands for instance) are simple features and only have the methods printed above. + +Other features as well as having coordinates on a contig sequence also have coordinates on a hit sequence: + +foreach my $repeat (@$repeats) + print "Hit start " . $repeat->hstart . "\n"; + print "Hit end " . $repeat->hend . "\n"; +} + +Repeat features are an example of a feature which also stores the coordinates of a hit sequence. However, the classic example is a feature representing a BLAST result where the query sequence is similar to another sequence (protein, EST, cDNA) and so we need to store which sequence it has hit and whereabout in that sequence it has hit. These types of features have the generic name of similarity features. In reality these features are members of a superclass called AlignFeatures (because they are features with two aligned sequences), and depending on whether it is DNA or protein sequence that we are dealing with, the objects are either a Bio::EnsEMBL::DnaDnaAlignFeature or a Bio::EnsEMBL::ProteinDnaAlignFeature + +To get similarity features from a RawContig or a slice we use: + +my $features = $contig->get_all_SimilarityFeatures; + +To obtain only DnaAlignFeatures we can use the following method: + +$features = $slice->get_all_DnaAlignFeatures('Vertrna', 0.00001); + +Note that this method takes two optional arguments which can impose an additional constraint on the features we want to retreive. The first argument is a 'logic name' - the name for the analysis which was conducted to obtain the feature. For similarity features the logic name relates to the type of blast analysis and there are currently four logic_names which correspond to dna_align_features in the current code (note that the logic name is CASE SENSITIVE): + +Vertrna WU tblastn hits against the EMBL-vertrna database (all CDS's from the EMBL database). +Swall WU blastp hits against the SWALL database (protein features only). +Unigene WU tblastn hits against the UniGene database. +dbEST WU tblastn hits against the dbEST database. + +Hence, in our call to retrieve DNA features, we have requested those that are hits against the EMBL vertrna database. We have also stipulated a cut- off value. This allows us to set the level of strigency of BLAST hits and is exactly the same as the BLAST E(0) value. + +Once we have these DNA features we can iterate through them and take a look at what they contain: + +foreach my $feat (@$features) { + print "Feature scores are " . $feat->score . "\t" . + $feat->percent_id . "\t" . + $feat->p_value . "\n"; +} + +The same procedure applies to retrieving protein features, just instead use the method call: + +$slice->get_all_ProteinAlignFeatures('Swall', 0.0001). + +Choose a logic name appropriate to proteins - so stick with 'Swall' (or leave the logic name out entirely). Once these protein features have been returned we can look at them in the same way as we just did for DNA features. + +As an alternative approach we can go directly to the object adaptor for a feature type and request features from the database. The following example illustrates some of the different approaches that can be used to obtain features: + +my $simple_feature_adaptor = $db->get_SimpleFeatureAdaptor; + +#get all of the Eponine hits on a Contig +my @eponine_hits = @{$simple_feature_adaptor->fetch_all_by_RawContig($contig, 'Eponine')}; + +#get all CpG islands on a Slice with score greater than 500 +my $cpg_islands = $simple_feature_adaptor->fetch_all_by_Slice_and_score($slice, 500, 'CpG'); + +#get the simple feature with the database identifier 1 +my $simple_feature = $simple_feature_adaptor->fetch_by_dbID(1); + +#get all of the simple features on a slice +my @simple_features = @{$slice->get_all_SimpleFeatures}; + +#get all of the tRNAscan hits on a contig +my $trnas = $contig->get_all_SimpleFeatures('tRNAscan'); + +Analysis Objects + +All features retrieved from the database have an Analysis object attached to them that contains information regarding the analysis/algorithm that created the feature. This is a good means by which to determine where the feature has come from or what it actually is. The gff_source method of the Analysis object tells us what sort of feature we have, such as 'genscan','repeat' or 'cpg'. Other information can be derived from the Analysis object, such as the database that was used in a BLAST job, the parameters that were provided to the executable, and even the path to the executable that was used: + +my $analysis = $feature->analysis; + +print "Analysis: " . $analysis->gff_source . "\n"; +print "Database : " . $analysis->db . "\n"; +print "Program : " . $analysis->program . "\n"; +print "Parameters : " . $analysis->parameters . "\n"; + +For instance a feature that comes out of a BLAST run will have an analysis object that tells us it was run with 'blastx' and was run against database 'sptr'; + +Overlaps + +A useful feature of BioPerl is that it makes it easy to find whether one feature overlaps another. This comes in jolly handy if you want to find all genscan predictions that don't overlap exons, or all SNPs that do overlap exons, or mouse trace hits that don't overlap exons, etc. + +If we have two features - say an exon, $exon, and a snp, $snp: + + if ($exon->overlaps($snp)) { + print "Whey! coding snp " . $snp->gffstring . "\n"; + } else { + print "Boo! non coding snp " . $snp->gffstring . "\n"; + } + +The overlaps method returns true (1) if the two features do overlap, or false (0) if they don't. + +Exercises 3 + +1. Print out all the repeat features for the first 100kb of sequence of human chromsome 1. (Hint: Use the gffstring method for easy printing) + +2. What proportion of DNA is repeat in the above sequence and is this what you expect? (Hint: tot up the length for each repeat feature and compare to the total sequence length) + +3. For clone AC005663 retrieve all the DNA features matched to EMBL vertrna. How many different sequences did this clone hit and were these hits significant? (Hint: Use the hseqname method and the p_value method) + +Genes + +During the pipeline gene building process, genes are built on Slices because a lot of genes span more than one contig. Hence , it makes the most sense to subsequently use Slices to access them. However, having said that you can access genes via RawContigs if you wish. Getting all the of the genes from a Slice or RawContig is as easy as: + +my $genes = $slice->get_all_Genes; + +As usual we are returned a reference to a list of objects - Gene objects this time. They contain all the information about the exon/intron structure, DNA sequence, etc. + +Genes have EnsEMBL identifiers which can be accessed using the stable_id method: + +foreach my $gene (@$genes) { + print "Gene : " . $gene->stable_id . "\n"; +} + +EnsEMBL identifiers don't really tell us much about the gene (and they're not intended to) and some genes will have one or more more common names. + +We can tell immediately if a gene is a known gene (refseq or sptrembl) by calling the is_known method. If it is a known gene then we can call the each_DBLink method to find out more about it. + +foreach my $gene (@$genes) { + if ($gene->is_known) { + foreach my $link (@{$gene->get_all_DBLinks}) { + print "Gene " . $gene->stable_id . " links to " . + $link->display_id . " " . + $link->database . "\n"; + my @syns = @{$link->get_all_synonyms}; + print "Synonyms for gene are @syns\n"; + } + } else { + print "Gene " . $gene->stable_id . " is not a known gene\n"; + } +} + +Other information about a known gene is contained in its description method. This information is extracted from the relevant swissprot or refseq entry. + +my $description = $gene->description; + +Genes are quite complicated objects and are constructed thusly. + +Each Gene object has one or more Transcript objects (one for each alternatively spliced cDNA). + +my $transcripts = $gene->get_all_Transcripts(); + +Each Transcript is made up of a series of Exons. We can access the Exons and retrieve their sequence and coordinates. + +foreach my $exon (@{$transcript->get_all_Exons}) { + print "Found exon " . $exon->stable_id . " " . + $exon->start . " " . + $exon->end . " " . + $exon->seq->seq; +} + +Notice that calling the seq method on an Exon object returns us a BioPerl sequence object. We then have to call seq again to get a string representation of the sequence. Hence, we get the seq->seq stutter - its not a typo in case you were wondering. + +We can get the protein sequence of a Transcript by calling the translate method. So to get all the protein translations from a gene into a file we would do + +my $seqio = new Bio::SeqIO->(-format => 'fasta', + -fh => \*STDOUT); + +foreach my $transcript (@{$gene->get_all_Transcripts}) { + my $peptide = $transcript->translate; + + $seqio->write_seq($peptide); +} + +Note that when writing to a BioPerl SeqIO object we pass the Peptide object and not a string, but when writing out to the screen we have to stringify it first. + +Exercises 4 +1. Get all the genes on a long- ish (say 1Mb) Slice and print their EnsEMBL ids. + +2. Which of those genes are known genes and what is their more common name? (Hint. Use the is_known method and use the get_all_DBLinks->display_id) + +3. How many genes are alternatively spliced for the first 100 genes (Hint: Count the number of transcripts using the $gene->each_Transcript method) + +4. What is the average size and number of exons per gene (Hint: Use the get_all_Exons method and remember that exons are like features with $ex->start $ex->end) + +5. Translate the first 10 genes - are there any stop codons (there shouldn't be!!) (Remember there may be more than one transcript per gene) + +6. Print out the 200 bases of sequence that flanks each exon (Use the $gene->get_all_Exons method and call $contig->subseq($start,$end) method to retrieve the dna) + +7. Extract all the introns from the first 10 genes and write them to a file (be careful about reverse strand genes). + +8. Print out all the 5' and 3' utrs for the first 10 genes. +Supporting Evidence + +The information that was used to make a gene is also stored in the EnsEMBL database in the form of FeaturePairs. This information can be retrieved easily from a Gene object. + +The evidence is attached as an array of FeaturePairs to each Exon and can be retrieved in the following way: + +foreach my $gene (@$genes) { + my $transcripts = $gene->get_all_Transcripts; + foreach my $transcript (@$transcripts) { + my $exons = $transcript->get_all_Exons; + foreach my $exon (@$exons) { + my $supporting_features = $exon->get_all_supporting_features; + foreach my $feature (@$supporting_features) { + print "Evidence " . $feature->gffstring . "\n"; + } + } + } +} + +Prediction Transcripts + +EnsEMBL stores ab initio gene predictions from genscan. These predictions are accesses in a similar fashion to normal EnsEMBL transcripts , but through PredictionTranscript objects rather than Transcript objects. As with normal transcripts prediction transcripts are composed of a set of Exon objects. To obtain prediction transcripts from a Slice or RawContig we can do the following (as with other EnsEMBL features logic name or score constraints can be passed as optional arguments) : + +my $predicted_transcripts = $slice->get_all_PredictionTranscripts; + +We now have a reference to a list of PredictionTranscript objects. To have a look at the predicted exons for each predicted transcript we can use the following: + +foreach my $predicted_transcript (@$predicted_transcripts) { + my $exons = $predicted_transcript->get_all_Exons; + + print "Genscan prediction has " . scalar @$exons . : exons\n"; + + foreach my $exon (@$exons) { + print $exon->start . " - " . + $exon->end . " : " . + $exon->strand . " " . + $exon->phase ."\n"; + } +} + +As these predictions should translate there you can get the predicted peptide sequence by using the translate method on a genscan prediction. + +print "Genscan peptide is " . $predicted_transcript->translate->seq . "\n"; + +Translation + +Each Transcript, retrieved from a Gene object , can be split into a 5' untranslated region, a CDS and a 3' untranslated region. The points in the cDNA where the translation starts and stops are stored in a Translation object which is attached to each Transcript: + +my $translation = $transcript->translation; + +The Translation object has methods: + +$translation->start_Exon; +$translation->end_Exon; + +which denote which exons the translation starts and ends in. To find the exact coordinate of the start and stop of translation use the methods: + +$translation->start; +$translation->end; + +The start and end methods refer to the exon coordinates so they should never be less than one or greater than the exon's length. + +Protein + +Information regarding a protein can be retreived from the ProteinAdaptor via a Translation object identifier: + +my $protein_adaptor = $db->get_ProteinAdaptor; + +my $protein = $protein_adaptor->fetch_by_translation_id($translation->dbID); + +As every transcript has only one translation we can fetch proteins using the transcript identifier as well: + +my $protein = $protein_adaptor->fetch_by_transcript_id($transcript->dbID) + +Once we have a Protein object we can look at its features + +my $protein_features = $protein->get_all_ProteinFeatures; + +The features that are returned are ProteinFeatures. To have a look at them you can use the gff_string method: + +foreach my $pf (@$protein_features) { + print $pf->gffstring . "\n"; +} +exercises 5 + +1. Find all the pfam domains contained in the first 100 genes on chromosome 1. Which ones are most common and is this surprising? + +2. How many of those genes have no protein features at all. + +3. How many of the proteins contain WD40 domains? + +External Databases - The General Idea + +The core EnsEMBL database (the one you've been using up to now) contains DNA, genes and some sequence features. There are extra satellite databases that contain other features that can also be accessed. + +The idea is that you take your main EnsEMBL database handle ($db - way back in the first section) and give it another database handle to look after. This external database could contain all manner of things e.g. SNPs, mouse trace hits or EMBL annotations. You can now access the features in the second database as though they were all in the same place even though they could be sitting on a completely different machine. + +Let's give the EST database as a first example. + +First we need to connect to the main EnsEMBL database: + +use Bio::EnsEMBL::ExternalData::ESTSQL::DBAdaptor; + +my $est_db = Bio::EnsEMBL::ExternalData::ESTSQL::DBAdaptor->new( + -host => $host, + -dbname => $estname, + -user => $user); + +And then to the human EST database to our main db adaptor and vice-versa: + +$db->add_db_adaptor('est', $est_db); +$est_db->add_db_adaptor('core', $db); + +Now that we have done this we can retrieve the EST alignment features from this the database in the same way as we would other DNA align features by specifying the name of the analysis that was used to generate the alignments - in this case 'ex_e2g_feat'. + +my $est_features = $slice->get_all_DnaAlignFeatures('ex_e2g_feat'); + +Now that we have these features we can have a look at them: + +foreach my $est (@$est_features) { + print " " . $est->gffstring . "\n"; +} + +SNPS + +SNP features can be readily accessed from the external database ensembl-lite: + +use Bio::EnsEMBL::Lite::DBAdaptor; + +my $lite_db = Bio::EnsEMBL::Lite::DBAdaptor->new(-host => $host, + -user => $user, + -dbname => $litename); + +Add the lite db adaptor to the main db adaptor and vice-versa like before: + +$db->add_db_adaptor('lite', $lite_db); +$lite_db->add_db_adaptor('core', $db); + +Retrieve all the SNP features from a Slice using the get_all_SNPs method: + +my $snp_features = $slice->get_all_SNPs; + +Iterate through the SNP features printing the position at which they lie along the Slice: + +foreach my $snp (@$snp_features) { + print "snp " . $snp->start . "\n"; +} + + +Marker Features + +The lite database also contains information about markers. Given that we already have a warm ensembl-lite database adaptor, it is too much to resist retrieving these too. +With one call we can retrieve all the marker features on our Slice: + +my @landmark_features = @{$slice->get_all_landmark_MarkerFeatures}; + +Exercises 6 + +1. Connect to the core EnsEMBL database and the SNP database. Add the SNP database to the EnsEMBL database and vice-versa. + +2. Create a Slice of 1Mb of sequence from your chromosome of choice (hint - remember back to the Slice exercises) + +3. How many SNPs are there in this region? + +4. How many SNPs overlap exons? (Hint - get all genes from the Slice and use get_all_Exons to get the exons from the genes. Use the overlaps method to calculate the proportion of SNPs that are situated in coding sequences.) + + +A final, but important, note to users of older versions of the EnsEMBL API - Lists and List References + +The EnsEMBL API has just recently passed through a rapid period of change. A significant difference between old and new versions of the API is the now widespread use of list references (listrefs). Some method calls can potentially return very long lists and it is far more efficient, both time- and memory-wise, for these methods to return references to these lists instead. Although not all methods return large arrays of objects, for consistency almost all methods in the API should now return list references rather than lists/arrays. A naming standard has also been developed which should make it easier for API users to surmise which methods return a single value or return a list reference. Business object methods with the prefix get_all_ return a list reference, as do adaptor methods with the prefix fetch_all_ . If you are returned a listref from a method call it is a simple matter to de-reference this. The following examples illustrate the use of list references in the EnsEMBL API: + +#fetch all clones from the clone adaptor +my $clones = $clone_adaptor->fetch_all; # returns a list reference + +#if you must have a copy of the referenced array, do this: +my @clones = @$clones; # but you don't need to do this + +#get the first clone from the list via the reference: +my $first_clone = $clones->[0]; + +#another way of getting the same thing: +($first_clone) = @$clones; + +#iterate through all of the contigs on a clone +foreach my $contig (@{$first_clone->get_all_Contigs}) { + print $contig->name . "\n"; +} + +#another way of doing the same thing: +my $contigs = $first_clone->get_all_Contigs; +foreach my $contig (@$contigs) { + print $contig->name . "\n"; +} + +#retrieve a single Clone object (not a listref) +$clone = $clone_adaptor->fetch_by_dbID(1); +#no dereferencing needed: +print $clone->id . "\n"; + + diff --git a/docs/tutorial/tutorial.pl b/docs/tutorial/tutorial.pl index 878351b212..f4b5d2825c 100755 --- a/docs/tutorial/tutorial.pl +++ b/docs/tutorial/tutorial.pl @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/local/bin/perl -w # This file is the companion script to the ensembl_tutorial and has been # tested with the homo_sapiens_core_9_30 database on ecs1d and the main trunk @@ -10,7 +10,6 @@ # MC Jan 2002 # Updated to main trunk code - Dan Andrews Oct 2002 # Re-updated to main trunk code - Graham McVicker Oct 2002 -# Updated to branch 16 - Michele Clamp Sept 2003 use Bio::EnsEMBL::DBSQL::DBAdaptor; use Bio::EnsEMBL::Lite::DBAdaptor; @@ -22,11 +21,11 @@ use strict; ### Currently there is no trunk db on kaka. my $host = 'kaka.sanger.ac.uk'; my $user = 'anonymous'; -my $dbname = 'homo_sapiens_core_16_33'; +my $dbname = 'homo_sapiens_core_9_30'; ### External dbs -my $estname = 'homo_sapiens_est_16_33'; -my $litename = 'homo_sapiens_lite_16_33'; +my $estname = 'homo_sapiens_est_9_30'; +my $litename = 'homo_sapiens_lite_9_30'; #connect to the core database @@ -337,10 +336,10 @@ $lite_db->add_db_adaptor('core', $db); print "snp " . $snp->start . "\n"; } -#print out marker features on a slice -my @markers = @{$slice->get_all_MarkerFeatures}; +#print out landmark marker features on a slice +my @landmark_features = @{$slice->get_all_landmark_MarkerFeatures}; -foreach my $marker (@markers) { +foreach my $marker (@landmark_features) { print $marker->gffstring . "\n"; } diff --git a/misc-scripts/chain/chain2assembly.pl b/misc-scripts/chain/chain2assembly.pl new file mode 100644 index 0000000000..87bda996bf --- /dev/null +++ b/misc-scripts/chain/chain2assembly.pl @@ -0,0 +1,131 @@ +use strict; +use warnings; + +use Getopt::Long; + + + +my ($seq_region_in, $chain_in); + + +GetOptions('seq_region_in=s' => \$seq_region_in, + 'chain_in=s' => \$chain_in); + +$seq_region_in || usage(); +$chain_in || usage(); + +open(SEQ_REGION_IN, $seq_region_in) or die("Could not open file $seq_region_in"); +open(CHAIN_IN, $chain_in) or die("Could not open file $chain_in"); + +my %seq_region_map; + +my @row; +while(<SEQ_REGION_IN>) { + chomp; + @row = split("\t", $_); + $seq_region_map{$row[1]} = $row[0]; +} + +close SEQ_REGION_IN; + + +my $is_header_line = 1; +my ($asm_sr_id, $cmp_sr_id, $asm_start, $cmp_start, $asm_strand, $cmp_strand, + $ori, $match, $insert, $delete, $asm_begin, $asm_end, $cmp_begin, + $cmp_end, $align_id, $asm_sr_len, $cmp_sr_len); + +LINE: +while(<CHAIN_IN>) { + chomp; + + if($is_header_line) { + my @header = split; + + my $asm_sr_name = $header[2]; + my $cmp_sr_name = $header[7]; + $asm_sr_name =~ s/chr//; #take the 'chr' off of chromosome names + $cmp_sr_name =~ s/chr//; + $asm_sr_id = $seq_region_map{$asm_sr_name}; + $cmp_sr_id = $seq_region_map{$cmp_sr_name}; + + if(!$asm_sr_id) { + warn("Unknown asm_seq_region $asm_sr_name"); + $is_header_line = 0; + next LINE; + } + if(!$cmp_sr_id) { + warn("Unknown cmp_seq_region $cmp_sr_name"); + $is_header_line = 0; + next LINE; + } + + $asm_sr_len = $header[3]; + $cmp_sr_len = $header[8]; + + $asm_strand = ($header[4] eq '+') ? 1 : -1; + $cmp_strand = ($header[9] eq '+') ? 1 : -1; + $ori = $asm_strand * $cmp_strand; + + #start is (length-start) if we are on negative strand + #start coordinates in file start at 0 not 1 + $asm_start = ($asm_strand == 1) ? $header[5]+1 : $asm_sr_len-$header[5]; + $cmp_start = ($cmp_strand == 1) ? $header[10]+1 : $cmp_sr_len-$header[10]; + + $is_header_line = 0; + + $align_id = $header[12]; + } else { + if($_) { + next LINE if(/^\#/); #skip comments + + next LINE if(!$asm_sr_id || !$cmp_sr_id); + + ($match,$insert,$delete) = split; + + if($asm_strand == 1) { + $asm_begin = $asm_start; + $asm_end = $asm_start + $match - 1; + $asm_start += $match; + $asm_start += $insert if($insert); + } else { + $asm_begin = $asm_start - $match + 1; + $asm_end = $asm_start; + $asm_start -= $match; + $asm_start -= $insert if($insert); + } + if($cmp_strand == 1) { + $cmp_begin = $cmp_start; + $cmp_end = $cmp_start + $match - 1; + $cmp_start += $match; + $cmp_start += $delete if($delete); + } else { + $cmp_begin = $cmp_start - $match + 1; + $cmp_end = $cmp_start; + $cmp_start -= $match; + $cmp_start -= $delete if($delete); + } + + print join("\t", + $asm_sr_id, $cmp_sr_id, + $asm_begin, $asm_end, + $cmp_begin, $cmp_end, + $ori, "\n"); + + } else { + #empty line, next line is header line + $is_header_line = 1; + } + } +} + +close(CHAIN_IN); + +sub usage { + print "\nusage: perl chain2assembly.pl -seq_region_in <filename> -chain_in <filename>\n"; + print "\n seq_region_in must be a tab delimited text file dumped from an ensembl core". + "\n database (with revision > 19) that contains all of the seq_region names and ". + "\n identifiers used in the chain_in file.\n" . + "\n chain_in must be a chain format alignment file.\n" . + "\n assembly table data in tab delimited text format is printed to STDOUT\n"; + exit 0; +} diff --git a/misc-scripts/qtl/extract_rat_map_ids.pl b/misc-scripts/qtl/extract_rat_map_ids.pl new file mode 100644 index 0000000000..a9d90f8f09 --- /dev/null +++ b/misc-scripts/qtl/extract_rat_map_ids.pl @@ -0,0 +1,64 @@ +use strict; +use warnings; +use IO::File; +use DBI; + +my $input = 'QTL2.txt'; +my $host = '127.0.0.1'; +my $dbname = 'rattus_norvegicus_core_13_2'; +my $port = '3308'; +my $user = 'ensro'; +my $pass = ''; + +my $db = DBI->connect("DBI:mysql:host=$host;dbname=$dbname;port=$port;", $user, $pass, {'RaiseError' => 1}); + +my $q = qq( +SELECT source_primary_id, qtl_id FROM qtl WHERE source_database = 'rat genome database' +); +my $sth = $db->prepare($q); +$sth->execute(); + +my %rgd_hash = map {@$_} @{$sth->fetchall_arrayref}; + +$sth->finish(); +$db->disconnect(); + +my $fh = new IO::File; +$fh->open($input); + +<$fh>; #throw away heading row +my %ratmap_hash; +while(<$fh>) { + chomp; + my @a = split(/\t/, $_); + my ($rgd_id, $ratmap_id) = ($a[4], $a[3]); + + next if(!$ratmap_id || !$rgd_id); + + if(exists($ratmap_hash{$ratmap_id})) { + warn "DUPLICATE identifier $ratmap_id\n"; + next; + } + + $ratmap_hash{$ratmap_id} = 1; + + if(!exists($rgd_hash{$rgd_id})) { + warn "QTL RGD:$rgd_id not in database\n"; + next; + } + + my $ens_id = $rgd_hash{$rgd_id}; + if($ens_id) { + print "INSERT INTO qtl_synonym (qtl_id, source_database, source_primary_id) VALUES ($ens_id, 'ratmap', $ratmap_id);\n"; + } else { + #print "#RatMap QTL $ratmap_id not found\n"; + } +} + +$fh->close(); + +foreach my $rgd_id (keys %rgd_hash) { + my $ens_id = $rgd_hash{$rgd_id}; + print "INSERT INTO qtl_synonym (qtl_id, source_database, source_primary_id) VALUES ($ens_id, 'rat genome database', $rgd_id);\n"; +} + diff --git a/misc-scripts/surgery/SeqStoreConverter/AnophelesGambiae.pm b/misc-scripts/surgery/SeqStoreConverter/AnophelesGambiae.pm new file mode 100644 index 0000000000..f2c6b63048 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/AnophelesGambiae.pm @@ -0,0 +1,263 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::AnophelesGambiae; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("AnophelesGambiae Specific: creating scaffold, chunk and, " . + "chromosome coord systems"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (['chunk', undef, 'default_version,sequence_level'], + ['chromosome', $ass_def, 'top_level,default_version'], + ["scaffold" , undef, "default_version"]); + + my @assembly_mappings = ("chromosome:$ass_def|chunk", + "chromosome:$ass_def|scaffold"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'chunk', + protein_align_feature => 'chunk', + marker_feature => 'chunk', + simple_feature => 'chunk', + repeat_feature => 'chunk', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'chromosome', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + +sub create_seq_regions { + my $self = shift; + + $self->debug("AnophelesGambiae Specific: creating seq_regions"); + + $self->contig_to_seq_region('chunk'); + $self->supercontig_to_seq_region('scaffold'); + $self->chromosome_to_seq_region(); +} + + + +sub create_assembly { + my $self = shift; + + $self->debug("AnophelesGambiae Specific: loading assembly table"); + + $self->assembly_contig_chromosome(); + $self->assembly_supercontig_chromosome(); + + return; +} + + +sub transfer_prediction_transcripts { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->debug("AnophelesGambiae Specific: building prediction_exon table"); + + # + # In Anopheles the predicion transcripts were computed in chromosomal + # coords, so convert them to chromosomal coords and merge any adjacent + # exons + # + + my $sql = + "SELECT pt.prediction_transcript_id, tcm.new_id as seq_region_id, " . + " IF(a.contig_ori=1,(pt.contig_start+a.chr_start-a.contig_start),". + " (a.chr_start+a.contig_end-pt.contig_end)) as start, " . + " IF(a.contig_ori=1,(pt.contig_end+a.chr_start-a.contig_start)," . + " (a.chr_start+a.contig_end-pt.contig_start)) as end, " . + " a.contig_ori * pt.contig_strand as strand, " . + " pt.start_phase, pt.score, pt.p_value " . + "FROM $source.assembly a, $target.tmp_chr_map tcm, " . + " $source.prediction_transcript pt " . + "WHERE pt.contig_id = a.contig_id " . + "AND a.chromosome_id = tcm.old_id " . + "ORDER BY pt.prediction_transcript_id, exon_rank"; + + my $sth = $dbh->prepare($sql); + $sth->execute(); + + my $prev_end = undef; + my $prev_start = undef; + my $prev_id = undef; + my $rank = 0; + + my %prev_exon = (); + + while(my $row = $sth->fetchrow_arrayref()) { + my ($pt_id, $sr_id, $sr_start, $sr_end, $sr_strand, $start_phase, + $score, $p_value) = @$row; + + if(defined($prev_id) && ($prev_id == $pt_id)) { + #still in the same transcript + + if($sr_strand == 1 && + defined($prev_end) && $prev_end == $sr_start-1) { + $self->debug("merged exon $rank in prediction_transcript $pt_id\n"); + #adjacent exons forward strand - merge them + $prev_exon{'seq_region_end'} = $sr_end; + $prev_end = $sr_end; + } elsif($sr_strand == -1 && + defined($prev_start) && $prev_start == $sr_end+1) { + $self->debug("merged exon $rank in prediction_transcript $pt_id\n"); + #adjacent exons negative strand - merge them + $prev_exon{'seq_region_start'} = $sr_start; + $prev_start = $sr_start; + } else { + #non-adjacent exons in the same transcript - no merge + $rank++; + + #store the previous exon + $self->store_pexon(\%prev_exon); + + #make current exon the previous exon + %prev_exon = ('prediction_transcript_id' => $pt_id, + 'seq_region_id' => $sr_id, + 'seq_region_start' => $sr_start, + 'seq_region_end' => $sr_end, + 'seq_region_strand' => $sr_strand, + 'start_phase' => $start_phase, + 'score' => $score, + 'p_value' => $p_value, + 'rank' => $rank); + } + } else { + #store previous exon + $self->store_pexon(\%prev_exon) if(%prev_exon); + + #new ptranscript + $rank = 0; + $prev_id = $pt_id; + $prev_end = $sr_end; + $prev_start = $sr_start; + %prev_exon = ('prediction_transcript_id' => $pt_id, + 'seq_region_id' => $sr_id, + 'seq_region_start' => $sr_start, + 'seq_region_end' => $sr_end, + 'seq_region_strand' => $sr_strand, + 'start_phase' => $start_phase, + 'score' => $score, + 'p_value' => $p_value, + 'rank' => $rank); + } + } + + #store the very last exon in the table + $self->store_pexon(\%prev_exon) if(%prev_exon); + + $sth->finish(); + + + $self->debug("AnophelesGambiae Specific: building prediction_transcript " . + "table"); + + $dbh->do + ("INSERT INTO $target.prediction_transcript (prediction_transcript_id, " . + " seq_region_id, seq_region_start, seq_region_end, " . + " seq_region_strand, analysis_id ) " . + "SELECT pt.prediction_transcript_id, tcm.new_id as seq_region_id, " . + " MIN(IF(a.contig_ori=1,(pt.contig_start+a.chr_start-a.contig_start),". + " (a.chr_start+a.contig_end-pt.contig_end))) as start, " . + " MAX(IF(a.contig_ori=1,(pt.contig_end+a.chr_start-a.contig_start)," . + " (a.chr_start+a.contig_end-pt.contig_start))) as end, " . + " a.contig_ori * pt.contig_strand as strand, " . + " pt.analysis_id " . + "FROM $source.assembly a, $target.tmp_chr_map tcm, " . + " $source.prediction_transcript pt " . + "WHERE pt.contig_id = a.contig_id " . + "AND a.chromosome_id = tcm.old_id " . + "GROUP BY prediction_transcript_id"); + + return; +} + + +# +# helper function to store prediction exon +# +sub store_pexon { + my $self = shift; + + my $pexon = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + my $store_sth = $dbh->prepare + ("INSERT INTO $target.prediction_exon (prediction_transcript_id, " . + " exon_rank, seq_region_id, seq_region_start, seq_region_end, " . + " seq_region_strand, start_phase, score, p_value) " . + "VALUES (?,?,?,?,?,?,?,?,?)"); + + $store_sth->execute($pexon->{'prediction_transcript_id'}, + $pexon->{'rank'}, + $pexon->{'seq_region_id'}, + $pexon->{'seq_region_start'}, + $pexon->{'seq_region_end'}, + $pexon->{'seq_region_strand'}, + $pexon->{'start_phase'}, + $pexon->{'score'}, + $pexon->{'p_value'}); + $store_sth->finish(); + + return; +} + + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/BasicConverter.pm b/misc-scripts/surgery/SeqStoreConverter/BasicConverter.pm new file mode 100644 index 0000000000..aec52c97b6 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/BasicConverter.pm @@ -0,0 +1,1035 @@ +# Convert release 18-era schemas to use new non-clone/contig schema + +use strict; +use warnings; +use DBI; + +package SeqStoreConverter::BasicConverter; + +############################################################################### +# Constructor +############################################################################### + +sub new { + my ( $class, $user, $pass, $host, $source, $target, $schema, $force, + $verbose, $limit ) = @_; + + my $self = bless {}, $class; + + my $port; + ($host, $port) = split(/:/, $host); + $port ||= 3306; + + my $dbh = DBI->connect( "DBI:mysql:host=$host:port=$port", $user, $pass, + {'RaiseError' => 1}); + + + $self->verbose( $verbose ); + $self->dbh( $dbh ); + $self->force( $force ); + $self->source( $source ); + $self->target( $target ); + $self->schema( $schema ); + $self->host( $host ); + $self->password( $pass); + $self->user($user); + $self->limit($limit); + + + #check to see if the destination and source databases exist already. + my %dbs = map {$_->[0] => 1} @{$dbh->selectall_arrayref('show databases')}; + if( !$dbs{$source} ) { + die ("Source db $source does not exist" ); + } + + if( $dbs{$target} ) { + if( $force ) { + $dbh->do( "drop database $target" ); + } else { + die("Target db $target already exists. Use -force option to overwrite."); + } + } + + $dbh->do( "create database ".$self->target() ); + + $self->debug("Building schema for $target from $schema"); + die "Cannot open $schema" if (! -e $schema); + my $cmd = "mysql -u $user -p$pass -h $host $target < $schema"; + system ($cmd); + + + $self->debug("Creating temporary tables"); + #create a temporary table to store the mapping of old ids to new ids + $dbh->do + ("CREATE TEMPORARY TABLE $target.tmp_cln_map (" . + "old_id INT, new_id INT, INDEX new_idx (new_id))"); + + #create a temp table which will store the mapping of old chromosome + #identifiers to new identifiers + $dbh->do("CREATE TEMPORARY TABLE $target.tmp_chr_map (" . + " old_id INT, new_id INT,". + " INDEX new_idx (new_id))"); + + #create a temporary table to hold old supercontig name -> new id mappings + $dbh->do("CREATE TEMPORARY TABLE $target.tmp_superctg_map (" . + "name VARCHAR(255), new_id INT, ". + "INDEX new_idx (new_id))"); + + return $self; +} + + +############################################################################### +# Getter/Setters for converter properties +############################################################################### + +sub force { + my $self = shift; + $self->{'force'} = shift if(@_); + return $self->{'force'}; +} + + +sub dbh { + my $self = shift; + $self->{'dbh'} = shift if(@_); + return $self->{'dbh'}; +} + +sub user { + my $self = shift; + $self->{'user'} = shift if(@_); + return $self->{'user'}; +} + +sub host { + my $self = shift; + $self->{'host'} = shift if(@_); + return $self->{'host'}; +} + +sub password { + my $self = shift; + $self->{'password'} = shift if(@_); + return $self->{'password'}; +} + + +sub verbose { + my $self = shift; + $self->{'verbose'} = shift if (@_); + return $self->{'verbose'}; +} + +sub schema { + my $self = shift; + $self->{'schema'} = shift if (@_); + return $self->{'schema'}; +} + + +sub source { + my $self = shift; + $self->{'source'} = shift if(@_); + return $self->{'source'}; +} + + +sub target { + my $self = shift; + $self->{'target'} = shift if(@_); + return $self->{'target'}; +} + +sub limit { + my $self = shift; + $self->{'limit'} = shift if(@_); + return $self->{'limit'}; +} + + +############################################################################### +# Utility methods +############################################################################### + +sub debug { + my $self = shift; + my $str = shift; + print STDERR $str . "\n" if $self->verbose(); + return; +} + +sub copy_tables { + my ($self, @tables) = @_; + + foreach my $table (@tables) { + $self->debug("Copying $table"); + + my $source = $self->source(); + my $target = $self->target(); + + eval { + my $sth = $self->dbh()->prepare + ("INSERT INTO $target.$table SELECT * FROM $source.$table"); + $sth->execute(); + $sth->finish(); + }; + + if($@) { + warn("Copy of table $table failed: $@\n"); + } + } + + return; +} + +sub get_coord_system_id { + my $self = shift; + my $cs_name = shift; + my $cs_version = shift; + + my $target = $self->target(); + + my @bind_vals = ($cs_name); + my $sql = "SELECT cs.coord_system_id " . + "FROM $target.coord_system cs " . + "WHERE cs.name = ?"; + + if($cs_version) { + push(@bind_vals, $cs_version); + $sql .= " AND cs.version = ?"; + } + + my $sth = $self->dbh()->prepare($sql); + $sth->execute(@bind_vals); + + if($sth->rows() != 1) { + die("Id for non-existant or ambiguous coord system requested " . + "$cs_name:$cs_version"); + } + + my ($id) = $sth->fetchrow_array(); + + $sth->finish(); + + return $id; +} + +sub get_default_assembly { + my $self = shift; + + my $source = $self->source(); + + my $sth = $self->dbh->prepare + ("SELECT meta_value FROM $source.meta WHERE meta_key='assembly.default'"); + $sth->execute(); + + if(!$sth->rows() == 1) { + die("This species has an ambiguous or non-existant assembly.default" . + " in the meta table"); + } + + my ($result) = $sth->fetchrow_array(); + + return $result; +} + + + +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("Transforming contigs into $target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT contig_id, name, $cs_id, length FROM $source.contig"); + + $sth->execute(); + $sth->finish(); + + return; +} + + +sub clone_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + # target coord_system will have a different ID + $target_cs_name ||= "clone"; + my $cs_id = $self->get_coord_system_id($target_cs_name); + + $self->debug("Transforming clones into $target_cs_name seq_regions"); + + + + my $select_sth = $dbh->prepare + ("SELECT cl.clone_id, + CONCAT(cl.embl_acc, '.', cl.embl_version), + MAX(ctg.embl_offset)+ctg.length-1 + FROM $source.clone cl, $source.contig ctg + WHERE cl.clone_id = ctg.clone_id GROUP BY ctg.clone_id"); + $select_sth->execute(); + + my ($clone_id, $embl_acc, $length); + $select_sth->bind_columns(\$clone_id, \$embl_acc, \$length); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES(?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_cln_map (old_id, new_id) VALUES (?, ?)"); + + while ($select_sth->fetch()) { + $insert_sth->execute("$embl_acc", $cs_id, $length); + + #store mapping of old -> new ids in temp table + $tmp_insert_sth->execute($clone_id, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + + +sub chromosome_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= "chromosome"; + my $cs_id = $self->get_coord_system_id($target_cs_name); + + $self->debug("Transforming chromosomes into $target_cs_name seq_regions"); + + + my $select_sth = $dbh->prepare + ("SELECT chromosome_id, name, length FROM $source.chromosome"); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES (?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_chr_map (old_id, new_id) VALUES (?, ?)"); + + $select_sth->execute(); + + my ($chrom_id, $name, $length); + $select_sth->bind_columns(\$chrom_id, \$name, \$length); + + while ($select_sth->fetch()) { + #insert into seq_region table + $insert_sth->execute($name, $cs_id, $length); + #copy old/new mapping into temporary table + $tmp_insert_sth->execute($chrom_id, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + + +sub supercontig_to_seq_region { + my $self = shift; + my $target_cs_name = shift || "supercontig"; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $self->debug("Transforming supercontigs into $target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + my $select_sth = $dbh->prepare + ("SELECT superctg_name, " . + "MAX(superctg_end)-MIN(superctg_start)+1 AS length " . + "FROM $source.assembly " . + "GROUP BY superctg_name"); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES (?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_superctg_map (name, new_id) VALUES (?, ?)"); + + my ($name, $length); + $select_sth->execute(); + $select_sth->bind_columns(\$name, \$length); + + while ($select_sth->fetch()) { + $insert_sth->execute($name, $cs_id, $length); + $tmp_insert_sth->execute($name, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + +sub assembly_contig_chromosome { + my $self = shift; + + $self->debug("Building assembly table - contig/chromosome"); + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $dbh->do( + "INSERT INTO $target.assembly " . + "SELECT tcm.new_id, " . # asm_seq_region_id (old-new chromosome ID mapping) + "a.contig_id, " . # cmp_seq_region_id + "a.chr_start, " . # asm_start + "a.chr_end, " . # asm_end + "a.contig_start, " . # cmp_start + "a.contig_end, " . # cmp_end + "a.contig_ori " . # ori + "FROM $target.tmp_chr_map tcm, $source.assembly a, $source.contig c " . + "WHERE tcm.old_id = a.chromosome_id " . + "AND c.contig_id = a.contig_id "); # only copy assembly entries that + # refer to valid contigs (test db has + # superfluous assembly entries) + +} + +sub assembly_contig_clone { + my $self = shift; + + $self->debug("Building assembly table - contig/clone"); + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $dbh->do( + "INSERT INTO $target.assembly " . + "SELECT tcm.new_id, " . # asm_seq_region_id (old-new clone ID mapping) + "ctg.contig_id, ". # cmp_seq_region_id + "ctg.embl_offset, " . # asm_start + "ctg.embl_offset+ctg.length-1, " . # asm_end + "1, " . # cmp_start + "ctg.length, " . # cmp_end + "1 " . # ori - contig always positively oriented on the clone + "FROM $target.tmp_cln_map tcm, " . + "$source.clone cln, $source.contig ctg " . + "WHERE tcm.old_id = cln.clone_id " . + "AND cln.clone_id = ctg.clone_id"); + +} + + +sub assembly_contig_supercontig { + my $self = shift; + + $self->debug("Building assembly table - contig/supercontig"); + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $dbh->do( + "INSERT INTO $target.assembly " . + "SELECT tsm.new_id, " . # asm_seq_region_id (superctg name-sr_id mapping) + "a.contig_id, " . # cmp_seq_region_id + "a.superctg_start, " . # asm_start + "a.superctg_end, " . # asm_end + "a.contig_start, " . # cmp_start + "a.contig_end, " . # cmp_end + "a.contig_ori " . # ori + "FROM $target.tmp_superctg_map tsm, $source.assembly a, $source.contig c ". + "WHERE tsm.name = a.superctg_name " . + "AND c.contig_id = a.contig_id "); # only copy assembly entries that + # refer to valid contigs (test db might + # have these) + +} + + + +sub assembly_supercontig_chromosome { + my $self = shift; + + $self->debug("Building assembly table - supercontig/chromosome"); + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $dbh->do( + "INSERT INTO $target.assembly " . + "SELECT tcm.new_id, " . # asm_seq_region_id (chr id) + "tsm.new_id, " . # cmp_seq_region_id (supercontig id) + "min(a.chr_start), " . # asm_start + "max(a.chr_end), " . # asm_end + "min(a.superctg_start), " . # cmp_start + "max(a.superctg_end), " . # cmp_end + "a.superctg_ori " . # ori + "FROM $target.tmp_superctg_map tsm, $target.tmp_chr_map tcm, " . + " $source.assembly a ". + "WHERE tsm.name = a.superctg_name " . + "AND tcm.old_id = a.chromosome_id " . + "GROUP BY superctg_name"); + +} + + + +############################################################################### +# Base class implementations of transfer methods. Can be overridden to +# create species specific behaviour +############################################################################### + + +sub create_coord_systems { + my $self = shift; + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["chromosome" , $ass_def, "top_level,default_version" ], + ["supercontig", undef , "default_version" ], + ["clone" , undef , "default_version" ], + ["contig", undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("chromosome:$ass_def|contig", + "clone|contig", + "supercontig|contig"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'contig', + protein_align_feature => 'contig', + marker_feature => 'contig', + simple_feature => 'contig', + repeat_feature => 'contig', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'contig', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + +sub create_seq_regions { + my $self = shift; + + #default behaviour is to simply copy all tables as they come + + $self->contig_to_seq_region('contig'); + $self->chromosome_to_seq_region(); + $self->supercontig_to_seq_region(); + $self->clone_to_seq_region(); + + return; +} + +sub create_assembly { + my $self = shift; + + $self->assembly_contig_chromosome(); + $self->assembly_contig_clone(); + $self->assembly_contig_supercontig(); + + return; +} + +sub transfer_dna { + my $self = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $self->debug("Building dna table"); + + $dbh->do("INSERT INTO $target.dna " . + "SELECT c.contig_id as seq_region_id, d.sequence as sequence " . + "FROM $source.dna d, $source.contig c " . + "WHERE c.dna_id = d.dna_id"); + return; +} + + +sub transfer_genes { + my $self = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + # + # Transfer the gene table + # + + $self->debug("Building gene table"); + + $dbh->do + ("INSERT INTO $target.gene " . + "SELECT g.gene_id, g.type, g.analysis_id, tcm.new_id, " . + "MIN(IF (a.contig_ori=1,(e.contig_start+a.chr_start-a.contig_start)," . + " (a.chr_start+a.contig_end-e.contig_end ))) as start, " . + "MAX(IF (a.contig_ori=1,(e.contig_end+a.chr_start-a.contig_start), " . + " (a.chr_start+a.contig_end-e.contig_start))) as end, " . + " a.contig_ori*e.contig_strand as strand, " . + " g.display_xref_id " . + "FROM $source.transcript t, $source.exon_transcript et, " . + " $source.exon e, $source.assembly a, $source.gene g, " . + " $target.tmp_chr_map tcm " . + "WHERE t.transcript_id = et.transcript_id " . + "AND et.exon_id = e.exon_id " . + "AND e.contig_id = a.contig_id " . + "AND g.gene_id = t.gene_id " . + "AND a.chromosome_id = tcm.old_id " . + "GROUP BY g.gene_id"); + + + # + # Transfer the transcript table + # + $self->debug("Building transcript table"); + + $dbh->do + ("INSERT INTO $target.transcript " . + "SELECT t.transcript_id, t.gene_id, tcm.new_id, " . + "MIN(IF (a.contig_ori=1,(e.contig_start+a.chr_start-a.contig_start)," . + " (a.chr_start+a.contig_end-e.contig_end ))) as start, " . + "MAX(IF (a.contig_ori=1,(e.contig_end+a.chr_start-a.contig_start), " . + " (a.chr_start+a.contig_end-e.contig_start))) as end, " . + " a.contig_ori*e.contig_strand as strand, " . + " t.display_xref_id " . + "FROM $source.transcript t, $source.exon_transcript et, " . + " $source.exon e, $source.assembly a, $target.tmp_chr_map tcm " . + "WHERE t.transcript_id = et.transcript_id " . + "AND et.exon_id = e.exon_id " . + "AND e.contig_id = a.contig_id " . + "AND a.chromosome_id = tcm.old_id " . + "GROUP BY t.transcript_id"); + + # + # Transfer the exon table + # + $self->debug("Building exon table"); + + $dbh->do + ("INSERT INTO $target.exon " . + "SELECT e.exon_id, tcm.new_id, " . + "MIN(IF (a.contig_ori=1,(e.contig_start+a.chr_start-a.contig_start)," . + " (a.chr_start+a.contig_end-e.contig_end ))) as start, " . + "MAX(IF (a.contig_ori=1,(e.contig_end+a.chr_start-a.contig_start), " . + " (a.chr_start+a.contig_end-e.contig_start))) as end, " . + " a.contig_ori*e.contig_strand as strand, " . + " e.phase, e.end_phase " . + "FROM $source.transcript t, $source.exon_transcript et, " . + " $source.exon e, $source.assembly a, $source.gene g, " . + " $target.tmp_chr_map tcm " . + "WHERE t.transcript_id = et.transcript_id " . + "AND et.exon_id = e.exon_id " . + "AND e.contig_id = a.contig_id " . + "AND g.gene_id = t.gene_id " . + "AND a.chromosome_id = tcm.old_id " . + "GROUP BY e.exon_id"); + + # + # Transfer translation table + # + + $self->debug("Building translation table"); + + $dbh->do + ("INSERT INTO $target.translation " . + "SELECT tl.translation_id, ts.transcript_id, tl.seq_start, " . + " tl.start_exon_id, tl.seq_end, tl.end_exon_id " . + "FROM $source.transcript ts, $source.translation tl " . + "WHERE ts.translation_id = tl.translation_id"); + + return; +} + +sub transfer_prediction_transcripts { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + # prediction_transcript / prediction_exon + + $self->debug( "Building prediction_exon table" ); + + $dbh->do + ("INSERT INTO $target.prediction_exon ". + "( prediction_transcript_id, seq_region_id, seq_region_start, " . + " seq_region_end, seq_region_strand, start_phase, score, p_value," . + " exon_rank ) " . + "SELECT prediction_transcript_id, contig_id, contig_start, contig_end, " . + " contig_strand, start_phase, score, p_value, exon_rank " . + "FROM $source.prediction_transcript" ); + + $self->debug("Building prediction_transcript table"); + + $dbh->do + ("INSERT INTO $target.prediction_transcript ". + "( prediction_transcript_id, seq_region_id, seq_region_start, " . + "seq_region_end, seq_region_strand, analysis_id ) " . + "SELECT prediction_transcript_id, contig_id, MIN(contig_start), " . + " MAX(contig_end), contig_strand, analysis_id ". + "FROM $source.prediction_transcript " . + "GROUP BY prediction_transcript_id "); + + return; +} + + + +sub transfer_features { + my $self = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + my $limit = ''; + if($self->limit()) { + $limit = ' limit ' . $self->limit(); + } + + + # + # Feature tables + # Note that we can just rename contig_* to set_region_* since the + # contig IDs were copied verbatim into seq_region + # + + # For some reason mysql occasionally refuses to use the index on large + # tables following copies like the following. + # So: drop the indexes first and then re-add them after + + # simple_feature + $self->debug("Building simple_feature table"); + $dbh->do + ("INSERT INTO $target.simple_feature (simple_feature_id, seq_region_id, ". + " seq_region_start, seq_region_end, seq_region_strand, " . + " display_label, analysis_id, score) " . + "SELECT simple_feature_id, contig_id, contig_start, contig_end, " . + " contig_strand, display_label, analysis_id, score " . + "FROM $source.simple_feature $limit"); + + # repeat_feature + $self->debug("Dropping indexes on repeat_feature"); + $dbh->do("ALTER TABLE $target.repeat_feature DROP INDEX seq_region_idx"); + $dbh->do("ALTER TABLE $target.repeat_feature DROP INDEX repeat_idx"); + $dbh->do("ALTER TABLE $target.repeat_feature DROP INDEX analysis_idx"); + + $self->debug("Building repeat_feature table"); + $dbh->do + ("INSERT INTO $target.repeat_feature (repeat_feature_id, seq_region_id, " . + " seq_region_start, seq_region_end, seq_region_strand, analysis_id, " . + " repeat_start, repeat_end, repeat_consensus_id, score) " . + "SELECT repeat_feature_id, contig_id, contig_start, contig_end, " . + " contig_strand, analysis_id, repeat_start, repeat_end, " . + " repeat_consensus_id, score FROM $source.repeat_feature $limit"); + + $self->debug("Readding indexes on repeat_feature"); + $dbh->do("ALTER TABLE $target.repeat_feature " . + "ADD INDEX seq_region_idx( seq_region_id, seq_region_start)"); + $dbh->do("ALTER TABLE $target.repeat_feature " . + "ADD INDEX repeat_idx( repeat_consensus_id )"); + $dbh->do("ALTER TABLE $target.repeat_feature " . + "ADD INDEX analysis_idx(analysis_id)"); + + # protein_align_feature + $self->debug("Dropping indexes on protein_align_feature"); + $dbh->do("ALTER TABLE $target.protein_align_feature DROP INDEX hit_idx"); + $dbh->do( "ALTER TABLE $target.protein_align_feature " . + "DROP INDEX seq_region_idx"); + + $self->debug("Building protein_align_feature table"); + $dbh->do( "INSERT INTO $target.protein_align_feature " . + " (protein_align_feature_id, seq_region_id, seq_region_start, " . + " seq_region_end, seq_region_strand, analysis_id, hit_start, " . + " hit_end, hit_name, cigar_line, evalue, perc_ident, score) " . + "SELECT protein_align_feature_id, contig_id, contig_start, " . + " contig_end, contig_strand, analysis_id, hit_start, " . + " hit_end, hit_name, cigar_line, evalue, perc_ident, score ". + "FROM $source.protein_align_feature $limit"); + + $self->debug("Readding indexes on protein_align_feature"); + $dbh->do( "ALTER TABLE $target.protein_align_feature " . + "ADD index seq_region_idx( seq_region_id, analysis_id, score,". + " seq_region_start )"); + $dbh->do( "ALTER TABLE $target.protein_align_feature " . + "ADD index hit_idx(hit_name)"); + + # dna_align_feature + $self->debug("Dropping indexes on dna_align_feature"); + $dbh->do( "ALTER TABLE $target.dna_align_feature DROP INDEX seq_region_idx"); + $dbh->do( "ALTER TABLE $target.dna_align_feature DROP INDEX hit_idx"); + + $self->debug("Building dna_align_feature table"); + $dbh->do( "INSERT INTO $target.dna_align_feature " . + " (dna_align_feature_id, seq_region_id, seq_region_start, ". + " seq_region_end, seq_region_strand, analysis_id, " . + " hit_start, hit_end, hit_name, hit_strand, cigar_line, " . + " evalue, perc_ident, score) " . + "SELECT dna_align_feature_id, contig_id, contig_start, " . + " contig_end, contig_strand, analysis_id, hit_start, " . + " hit_end, hit_name, hit_strand, cigar_line, evalue, " . + " perc_ident, score FROM $source.dna_align_feature $limit"); + + + $self->debug("Readding indexes on dna_align_feature"); + $dbh->do( "ALTER TABLE $target.dna_align_feature " . + "ADD INDEX seq_region_idx(seq_region_id, analysis_id, score, " . + " seq_region_start)"); + $dbh->do( "ALTER TABLE $target.dna_align_feature " . + "ADD index hit_idx(hit_name)"); + + # marker_feature + $self->debug("Building marker_feature table"); + $dbh->do( "INSERT INTO $target.marker_feature " . + " (marker_feature_id, marker_id, seq_region_id, " . + " seq_region_start, seq_region_end, analysis_id, " . + " map_weight) " . + "SELECT marker_feature_id, marker_id, contig_id, contig_start, ". + " contig_end, analysis_id, map_weight " . + "FROM $source.marker_feature $limit"); + + # qtl_feature + # Note this uses chromosome coords so we have to join with tmp_chr_map to + # get the mapping + $self->debug("Building qtl_feature table"); + + $dbh->do + ("INSERT INTO $target.qtl_feature( seq_region_id, seq_region_start, " . + " seq_region_end, qtl_id, analysis_id) " . + "SELECT tcm.new_id, " . + " q.start, q.end, q.qtl_id, q.analysis_id " . + "FROM $target.tmp_chr_map tcm, $source.qtl_feature q " . + "WHERE tcm.old_id = q.chromosome_id $limit"); + + # These tables now have seq_region_* instead of chromosome_* + + $self->debug("Building karyotype table"); + $dbh->do( + "INSERT INTO $target.karyotype " . + "SELECT null, tcm.new_id, " . + " k.chr_start, k.chr_end, k.band, k.stain " . + "FROM $target.tmp_chr_map tcm, $source.karyotype k " . + "WHERE tcm.old_id = k.chromosome_id $limit"); + + + $self->debug("Building marker_map_location table"); + $dbh->do( + "INSERT INTO $target.marker_map_location " . + "SELECT mml.marker_id, mml.map_id, " . + " c.name, " . + " mml.marker_synonym_id, mml.position, mml.lod_score " . + "FROM $source.chromosome c, $source.marker_map_location mml " . + "WHERE c.chromosome_id = mml.chromosome_id $limit"); + + $self->debug("Building map_density table"); + $dbh->do( + "INSERT INTO $target.map_density " . + "SELECT tcm.new_id, ". + " md.chr_start, md.chr_end, md.type, md.value " . + "FROM $target.tmp_chr_map tcm, $source.map_density md " . + "WHERE tcm.old_id = md.chromosome_id $limit"); + + + $self->debug( "Building misc_feature table" ); + $dbh->do + ("INSERT INTO $target.misc_feature( misc_feature_id, seq_region_id, " . + " seq_region_start, seq_region_end, seq_region_strand ) " . + "SELECT m.mapfrag_id, sr.seq_region_id, m.seq_start, m.seq_end, " . + " m.orientation " . + "FROM $source.mapfrag m, $target.seq_region sr, $source.dnafrag d " . + "WHERE m.dnafrag_id = d.dnafrag_id " . + "AND d.name = sr.name $limit" ); + + $self->debug( "Building misc_set table" ); + $dbh->do + ("INSERT INTO $target.misc_set( misc_set_id, code, name, description, " . + " max_length ) " . + "SELECT mapset_id, code, name, description, max_length " . + "FROM $source.mapset ms" ); + + $self->debug( "Building misc_attrib table" ); + $dbh->do + ("INSERT INTO $target.misc_attrib( misc_feature_id, attrib_type_id, " . + " value ) ". + "SELECT mapfrag_id, mapannotationtype_id, value " . + "FROM $source.mapannotation" ); + + $self->debug( "Building misc_feature_misc_set table" ); + $dbh->do + ("INSERT INTO $target.misc_feature_misc_set(misc_feature_id, misc_set_id)". + "SELECT mapfrag_id, mapset_id ". + "FROM $source.mapfrag_mapset $limit" ); + + return; +} + + +sub transfer_stable_ids { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->debug("Building stable id tables"); + + # + # Copy the stable id tables + # remove the unused created and modified dates from the stable ids + # + $dbh->do + ("INSERT INTO $target.exon_stable_id " . + " (exon_id, stable_id, version) " . + "SELECT exon_id, stable_id, version " . + "FROM $source.exon_stable_id" ); + + $dbh->do + ("INSERT INTO $target.gene_stable_id " . + " (gene_id, stable_id, version) " . + "SELECT gene_id, stable_id, version " . + "FROM $source.gene_stable_id" ); + + $self->copy_tables + ("stable_id_event","mapping_session","transcript_stable_id", + "translation_stable_id","gene_archive","peptide_archive"); + + return; +} + +sub transfer_meta { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + + my $dbh = $self->dbh(); + + $dbh->do("INSERT INTO $target.meta (meta_key, meta_value) " . + "SELECT m.meta_key, m.meta_value FROM $source.meta m " . + "ORDER BY meta_id"); + + return; +} + + +sub copy_other_tables { + my $self = shift; + + #xref tables + $self->copy_tables("xref", + "go_xref", + "identity_xref", + "object_xref", + "external_db", + "external_synonym", + #marker/qtl related tables + "map", + "marker", + "marker_synonym", + "qtl", + "qtl_synonym", + #misc other tables + "supporting_feature", + "analysis", + "exon_transcript", + "interpro", + "gene_description", + "protein_feature", + "repeat_consensus"); +} + + +sub create_attribs { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + #copy the attrib types from the mapannotation type table + + $dbh->do + ("INSERT INTO $target.attrib_type( attrib_type_id, code, " . + " name, description ) " . + "SELECT mapannotationtype_id, code, name, description " . + "FROM $source.mapannotationtype " ); + + return; +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisBriggsae.pm b/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisBriggsae.pm new file mode 100644 index 0000000000..044f07d30a --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisBriggsae.pm @@ -0,0 +1,254 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::CaenorhabditisBriggsae; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("CaenorhabditisBriggsae Specific: creating clone, scaffold," . + " and contig coordinate systems"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["scaffold" , $ass_def, "top_level,default_version" ], + ['clone' , undef , 'default_version' ], + ["contig" , undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("scaffold:$ass_def|contig", + "clone|contig"); + + my %cs = (gene => 'scaffold', + transcript => 'scaffold', + exon => 'scaffold', + dna_align_feature => 'contig', + protein_align_feature => 'contig', + marker_feature => 'contig', + simple_feature => 'contig', + repeat_feature => 'contig', + qtl_feature => 'scaffold', + misc_feature => 'scaffold', + prediction_transcript => 'contig', + karyotype => 'scaffold'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("CaenorhabditisBriggsae Specific: creating contig, " . + "clone, contig and scaffold seq_regions"); + + $self->contig_to_seq_region(); + $self->clone_to_seq_region(); + $self->chromosome_to_seq_region('scaffold'); +} + + +sub chromosome_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= "chromosome"; + my $cs_id = $self->get_coord_system_id($target_cs_name); + + $self->debug("CaenorhabditisBriggsae Specific: Transforming " . + "chromosomes into $target_cs_name seq_regions"); + + #strip off the leading 'cb25.' from the chromosome name + my $select_sth = $dbh->prepare + ("SELECT chromosome_id,substring(name,6),length FROM $source.chromosome"); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES (?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_chr_map (old_id, new_id) VALUES (?, ?)"); + + $select_sth->execute(); + + my ($chrom_id, $name, $length); + $select_sth->bind_columns(\$chrom_id, \$name, \$length); + + while ($select_sth->fetch()) { + #insert into seq_region table + $insert_sth->execute($name, $cs_id, $length); + #copy old/new mapping into temporary table + $tmp_insert_sth->execute($chrom_id, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + +sub create_assembly { + my $self = shift; + + $self->debug("CaenorhabditisBriggsae Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); + $self->assembly_contig_clone(); +} + +# +# Override contig_to_seq_region and clone_to_seq_region to provide +# briggsae specific behaviour +# + +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("Caenorhabditis Specific: Transforming contigs into " . + "$target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + #There are two types of contigs in briggsae: + + # + # cosmids/clones + # + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT contig_id, name, $cs_id, length " . + "FROM $source.contig " . + "WHERE name not like 'c%'"); + + $sth->execute(); + $sth->finish(); + + # + # WGS contigs + # + $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT ctg.contig_id, cln.name, $cs_id, length " . + "FROM $source.contig ctg, $source.clone cln " . + "WHERE ctg.clone_id = cln.clone_id " . + "AND ctg.name like 'c%'"); + + $sth->execute(); + $sth->finish(); + + return; +} + + + +sub clone_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + # target coord_system will have a different ID + $target_cs_name ||= "clone"; + my $cs_id = $self->get_coord_system_id($target_cs_name); + + $self->debug("Caenorhabditis Specific:Transforming clones " . + "into $target_cs_name seq_regions"); + + # + # We don't want to make clones out of the WGS contigs, only out of + # the clones with proper embl accessions + # + my $select_sth = $dbh->prepare + ("SELECT cl.clone_id, + CONCAT(cl.embl_acc, '.', cl.embl_version), + MAX(ctg.embl_offset)+ctg.length-1 + FROM $source.clone cl, $source.contig ctg + WHERE cl.clone_id = ctg.clone_id + AND cl.embl_acc not like 'c%' + GROUP BY ctg.clone_id"); + + $select_sth->execute(); + + my ($clone_id, $embl_acc, $length); + $select_sth->bind_columns(\$clone_id, \$embl_acc, \$length); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES(?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_cln_map (old_id, new_id) VALUES (?, ?)"); + + while ($select_sth->fetch()) { + $insert_sth->execute("$embl_acc", $cs_id, $length); + + #store mapping of old -> new ids in temp table + $tmp_insert_sth->execute($clone_id, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisElegans.pm b/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisElegans.pm new file mode 100644 index 0000000000..3a15e1241c --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/CaenorhabditisElegans.pm @@ -0,0 +1,133 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::CaenorhabditisElegans; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("Caenorhabditis Specific: creating " . + "clone and chromosome coord systems"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["chromosome" , $ass_def, "top_level,default_version" ], + ["clone", undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("chromosome:$ass_def|clone"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'clone', + protein_align_feature => 'clone', + marker_feature => 'clone', + simple_feature => 'clone', + repeat_feature => 'clone', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'clone', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("CaenorhabditisElegans Specific: creating clone and " . + "chromosome seq_regions"); + + $self->contig_to_seq_region('clone'); + $self->chromosome_to_seq_region(); +} + + +sub create_assembly { + my $self = shift; + + $self->debug("CaenorhabditisElegans Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); +} + + +# +# override the contig_to_seqregion method so that contigs are given clone +# names instead +# +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("CaenorhabditisElegans Specific: Transforming contigs " . + "into $target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT ctg.contig_id, CONCAT(cln.embl_acc, '.', cln.embl_version), " . + " $cs_id, ctg.length " . + "FROM $source.contig ctg, $source.clone cln " . + "WHERE ctg.clone_id = cln.clone_id"); + + $sth->execute(); + $sth->finish(); + + return; +} + + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/DanioRerio.pm b/misc-scripts/surgery/SeqStoreConverter/DanioRerio.pm new file mode 100644 index 0000000000..bc41c0abf5 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/DanioRerio.pm @@ -0,0 +1,335 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::DanioRerio; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("DanioRerio Specific: creating scaffold coord system"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["scaffold" , $ass_def, "top_level,default_version,sequence_level"]); + + my %cs = (gene => 'scaffold', + transcript => 'scaffold', + exon => 'scaffold', + dna_align_feature => 'scaffold', + protein_align_feature => 'scaffold', + marker_feature => 'scaffold', + simple_feature => 'scaffold', + repeat_feature => 'scaffold', + qtl_feature => 'scaffold', + misc_feature => 'scaffold', + prediction_transcript => 'scaffold', + karyotype => 'scaffold'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + return; +} + + + +# +# getter/setter needed by danio rerio to perform coord transforms +# of features after conversion of fake contigs in scaffolds +# +sub contig_mappings { + my $self = shift; + $self->{'contig_mappings'} = shift if(@_); + return $self->{'contig_mappings'}; +} + + +sub dna_mappings { + my $self = shift; + $self->{'dna_mappings'} = shift if(@_); + return $self->{'dna_mappings'}; +} + +sub create_seq_regions { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->debug("DanioRerio Specific: creating scaffold seq_regions"); + + # + # retrieve fake contigs and group them into scaffolds + # + + my $sth = $dbh->prepare + ("SELECT c.contig_id, c.name, " . + "a.contig_end - a.contig_start+1, dna_id " . + "FROM $source.contig c, $source.assembly a " . + "WHERE c.contig_id = a.contig_id"); + $sth->execute(); + + my %contig_lists; + + my($contig_id, $name, $length, $dna_id); + $sth->bind_columns(\$contig_id, \$name, \$length, \$dna_id); + + while($sth->fetch()) { + my $position; + ($name, $position) = split(/\./, $name); + $contig_lists{$name} ||= []; + $contig_lists{$name}->[$position-1] = [$contig_id,$length,$dna_id]; + } + + $sth->finish(); + + # + # calculate the offsets of the fake contigs, and the lengths of the + # scaffolds + # + + my %old_new_mappings; + my %dna_mappings; + + my %scaffolds; + foreach my $ctgname (keys %contig_lists) { + my $ctg_list = $contig_lists{$ctgname}; + $length = 0; + my $new_id = $ctg_list->[0]->[0]; + $dna_mappings{$new_id} = []; + foreach my $contig (@$ctg_list) { + my $old_id = $contig->[0]; + $old_new_mappings{$old_id} = [$new_id,$length+1]; + $length += $contig->[1]; + push(@{$dna_mappings{$new_id}}, [$contig->[2], $contig->[1]]); + } + + $scaffolds{$ctgname} = [$new_id, $length]; + } + + + # + # load the scaffold seq regions + # + $self->debug("DanioRerio Specific: loading scaffold seq regions"); + + my $cs_id = $self->get_coord_system_id('scaffold'); + + $sth = $dbh->prepare("INSERT INTO $target.seq_region (seq_region_id, " . + "name, length, coord_system_id) " . + "VALUES (?,?,?,?)"); + + foreach my $scaf_name (keys %scaffolds) { + my ($seq_reg_id, $len) = @{$scaffolds{$scaf_name}}; + $sth->execute($seq_reg_id, $scaf_name, $len, $cs_id); + } + $sth->finish(); + + + # + # load temporary mapping of chromosomes to new seq_region ids. Even though + # there are not actually any chromosomes this info is used when transfering + # genes to scaffold coords. + # + my $chr_select_sth = $dbh->prepare + ("SELECT chromosome_id, name FROM $source.chromosome"); + $chr_select_sth->execute(); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_chr_map (old_id, new_id) VALUES (?,?)"); + + while(my $row = $chr_select_sth->fetchrow_arrayref) { + my ($chr_id, $chr_name) = @$row; + $tmp_insert_sth->execute($chr_id, $scaffolds{$chr_name}->[0]); + } + + #keep this mapping info for later processing of features & dna + $self->dna_mappings(\%dna_mappings); + $self->contig_mappings(\%old_new_mappings); + +} + + + +sub transfer_dna { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->debug("DanioRerio Specific: building dna table"); + + #in danio rerio est/estgene databases there is no dna so we may want to + #skip this function + + my $count_sth = $dbh->prepare("SELECT count(*) from $source.dna"); + $count_sth->execute(); + my ($count) = $count_sth->fetchrow_array(); + return if(!$count); + + my $dna_mappings = $self->dna_mappings(); + + my $get_seq_sth = $dbh->prepare + ("SELECT substring(sequence,1,?) from $source.dna " . + "WHERE dna_id = ?"); + + my $store_seq_sth = $dbh->prepare + ("INSERT INTO $target.dna (seq_region_id, sequence) " . + "VALUES (?,?)"); + + my $update_seq_sth = $dbh->prepare + ("UPDATE $target.dna " . + "SET sequence = concat(sequence, ?) " . + "WHERE seq_region_id = ?"); + + foreach my $new_id (keys %$dna_mappings) { + my $first = 1; + foreach my $row (@{$dna_mappings->{$new_id}}) { + my ($old_id, $length) = @$row; + $get_seq_sth->execute($length, $old_id); + + if(!$get_seq_sth->rows() == 1) { + warn("Missing dna sequence for dna id $old_id"); + next; + } + my $seq = $get_seq_sth->fetchrow_arrayref->[0]; + + if($first) { + #$self->debug("storing sequence of length " . length($seq) . + # "for seq_region $new_id"); + $store_seq_sth->execute($new_id, $seq); + $first = 0; + } else { + $update_seq_sth->execute($seq, $new_id); + #$self->debug("concatting sequence to length " . length($seq)); + } + } + } + + $get_seq_sth->finish(); + $store_seq_sth->finish(); + $update_seq_sth->finish(); + return; +} + + +# +# override the transfer features so that features which are on fake contigs +# that were merged into scaffolds can have their coordinates adjusted +# + +sub transfer_features { + my $self = shift; + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->SUPER::transfer_features(); + + my $contig_mappings = $self->contig_mappings(); + + my @tables = qw(simple_feature + repeat_feature + protein_align_feature + dna_align_feature + marker_feature + prediction_transcript); + + foreach my $table (@tables) { + + $self->debug("DanioRerio Specific: updating $table coordinates"); + + my $sth = $dbh->prepare + ("UPDATE $target.$table " . + "SET seq_region_id = ?, " . + " seq_region_start = seq_region_start + ?, " . + " seq_region_end = seq_region_end + ? " . + "WHERE seq_region_id = ?"); + + foreach my $old_id (keys %$contig_mappings) { + my ($new_id, $offset) = @{$contig_mappings->{$old_id}}; + if($offset > 1) { + $sth->execute($new_id, $offset, $offset, $old_id) + } + } + } +} + + + +sub create_assembly { + my $self = shift; + + $self->debug("DanioRerio Specific: no assembly data"); + + return; +} + + + +# +# override the contig_to_seqregion method so that contigs are given clone +# names instead +# +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("DanioRerio Specific: Transforming contigs " . + "into $target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT ctg.contig_id, CONCAT(cln.embl_acc, '.', cln.embl_version), " . + " $cs_id, ctg.length " . + "FROM $source.contig ctg, $source.clone cln " . + "WHERE ctg.clone_id = cln.clone_id"); + + $sth->execute(); + $sth->finish(); + + return; +} + + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/DrosophilaMelanogaster.pm b/misc-scripts/surgery/SeqStoreConverter/DrosophilaMelanogaster.pm new file mode 100644 index 0000000000..837774b64f --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/DrosophilaMelanogaster.pm @@ -0,0 +1,99 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::DrosophilaMelanogaster; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("DrosophilaMelanogaster Specific: creating " . + "chunk and chromosome coord systems"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["chromosome" , $ass_def, "top_level,default_version" ], + ["chunk", undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("chromosome:$ass_def|chunk"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'chunk', + protein_align_feature => 'chunk', + marker_feature => 'chunk', + simple_feature => 'chunk', + repeat_feature => 'chunk', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'chunk', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("DrosophilaMelanogaster Specific: creating chunk and " . + "chromosome seq_regions"); + + $self->contig_to_seq_region('chunk'); + $self->chromosome_to_seq_region(); +} + + +sub create_assembly { + my $self = shift; + + $self->debug("DrosophilaMelanogaster Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/FuguRubripes.pm b/misc-scripts/surgery/SeqStoreConverter/FuguRubripes.pm new file mode 100644 index 0000000000..1f80a0ebb0 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/FuguRubripes.pm @@ -0,0 +1,167 @@ + +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::FuguRubripes; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("FuguRubripes Specific: creating scaffold coord system"); + + # + # Load the coord system table. + # Fugu has only one coord system : scaffold + # + my $default_assembly = $self->get_default_assembly(); + my $target = $self->target(); + + my $sth = $self->dbh()->prepare + ("INSERT INTO $target.coord_system (name, version, attrib)" . + "VALUES (?,?,?)"); + $sth->execute('scaffold', $default_assembly, + 'top_level,default_version,sequence_level'); + + my $csid = $sth->{'mysql_insertid'}; + + $sth->finish(); + + # + # Load the meta_coord table. Every feature is in scaffold coordinates. + # + $sth = $self->dbh()->prepare + ("INSERT INTO $target.meta_coord (table_name, coord_system_id) " . + "VALUES (?,?)"); + + my @tables = qw(gene + transcript + exon + dna_align_feature + protein_align_feature + marker_feature + simple_feature + repeat_feature + qtl_feature + misc_feature + prediction_transcript + karyotype); + + foreach my $table (@tables) { + $sth->execute($table, $csid); + } + $sth->finish(); +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("FuguRubripes Specific: creating scaffolds"); + + $self->contig_to_seq_region('scaffold'); +} + + +sub create_assembly { + my $self = shift; + + $self->debug("FuguRubripes Specific: no assembly data needed"); + #fugu has no assembly table +} + + +sub transfer_genes { + my $self = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + # + # This is simple in fugu since all genes are actually in contig (now + # renamed scaffold) coords. We don't need joins to the assembly table + # and we don't have to worry about stickies + # + + $self->debug("FuguRubripes Specific: Building gene table " . + "(no chromosomal conversion)"); + + # + # Transfer the gene table + # + + $dbh->do + ("INSERT INTO $target.gene " . + "SELECT g.gene_id, g.type, g.analysis_id, e.contig_id, " . + " MIN(e.contig_start), MAX(e.contig_end), e.contig_strand, " . + " g.display_xref_id " . + "FROM $source.transcript t, $source.exon_transcript et, " . + " $source.exon e, $source.gene g " . + "WHERE t.transcript_id = et.transcript_id " . + "AND et.exon_id = e.exon_id " . + "AND g.gene_id = t.gene_id " . + "GROUP BY g.gene_id"); + + $self->debug("FuguRubripes Specific: Building transcript table " . + "(no chromosomal conversion)"); + + # + # Transfer transcript table + # + + $dbh->do + ("INSERT INTO $target.transcript " . + "SELECT t.transcript_id, t.gene_id, e.contig_id, " . + " MIN(e.contig_start), MAX(e.contig_end), e.contig_strand, " . + " t.display_xref_id " . + "FROM $source.transcript t, $source.exon_transcript et, " . + " $source.exon e " . + "WHERE t.transcript_id = et.transcript_id " . + "AND et.exon_id = e.exon_id " . + "GROUP BY t.transcript_id"); + + $self->debug("FuguRubripes Specific: Building exon table " . + "(no chromosomal conversion)"); + + + # + # Transfer exon table + # + + $self->debug("FuguRubripes Specific: Building transcript table " . + "(no chromosomal conversion)"); + + $dbh->do + ("INSERT INTO $target.exon " . + "SELECT e.exon_id, e.contig_id, " . + " e.contig_start, e.contig_end, e.contig_strand, " . + " e.phase, e.end_phase " . + "FROM $source.exon e"); + + + # + # Transfer translation table + # + + $self->debug("Building translation table"); + + $dbh->do + ("INSERT INTO $target.translation " . + "SELECT tl.translation_id, ts.transcript_id, tl.seq_start, " . + " tl.start_exon_id, tl.seq_end, tl.end_exon_id " . + "FROM $source.transcript ts, $source.translation tl " . + "WHERE ts.translation_id = tl.translation_id"); + + return; +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/HomoSapiens.pm b/misc-scripts/surgery/SeqStoreConverter/HomoSapiens.pm new file mode 100644 index 0000000000..664adb9559 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/HomoSapiens.pm @@ -0,0 +1,47 @@ + +use strict; +use warnings; + +package SeqStoreConverter::HomoSapiens; + +use SeqStoreConverter::BasicConverter; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_attribs { + my $self = shift; + + # + # Human clones need their htg phase information copied + # + + my $source = $self->source(); + my $target = $self->target(); + my $dbh = $self->dbh(); + + $self->SUPER::create_attribs(); + + $self->debug("HomoSapiens specific: Creating HTG Phase seq_region attribs"); + + $dbh->do + ("INSERT INTO $target.attrib_type( code, name, description ) " . + "VALUES ('htg_phase', 'HTG Phase', 'High Throughput Genome Phase')"); + + + $dbh->do + ("INSERT INTO $target.seq_region_attrib( seq_region_id, attrib_type_id, " . + "value) " . + "SELECT tmp_cln.new_id, attrib_type.attrib_type_id, cln.htg_phase " . + "FROM $target.tmp_cln_map tmp_cln, $target.attrib_type attrib_type, " . + " $source.clone cln " . + "WHERE cln.clone_id = tmp_cln.old_id " . + "AND attrib_type.code = 'htg_phase'"); + + return; +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/MusMusculus.pm b/misc-scripts/surgery/SeqStoreConverter/MusMusculus.pm new file mode 100644 index 0000000000..e21530dd4b --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/MusMusculus.pm @@ -0,0 +1,211 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::MusMusculus; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("MusMusculus Specific: loading assembly data"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["chromosome" , $ass_def, "top_level,default_version" ], + ["supercontig", undef , "default_version" ], + ['clone' , undef , 'default_version' ], + ["contig" , undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("chromosome:$ass_def|contig", + "supercontig|contig", + "clone|contig"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'contig', + protein_align_feature => 'contig', + marker_feature => 'contig', + simple_feature => 'contig', + repeat_feature => 'contig', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'contig', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("MusMusculus Specific: creating contig, " . + "clone, chromosome and supercontig seq_regions"); + + $self->contig_to_seq_region(); + $self->clone_to_seq_region(); + $self->chromosome_to_seq_region(); + $self->supercontig_to_seq_region(); +} + +sub create_assembly { + my $self = shift; + + $self->debug("MusMusculus Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); + $self->assembly_contig_clone(); + $self->assembly_contig_supercontig(); +} + +# +# Override contig_to_seq_region and clone_to_seq_region to provide +# mouse specific behaviour +# + +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("MusMusculus Specific: Transforming contigs into " . + "$target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + #There are two types of contigs in mouse: + + # + # Contigs which form BAC clones + # + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT contig_id, name, $cs_id, length " . + "FROM $source.contig " . + "WHERE name not like 'C%'"); + + $sth->execute(); + $sth->finish(); + + # + # Contigs which were created from whole genome shotgun + # + $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT ctg.contig_id, cln.name, $cs_id, length " . + "FROM $source.contig ctg, $source.clone cln " . + "WHERE ctg.clone_id = cln.clone_id " . + "AND ctg.name like 'C%'"); + + $sth->execute(); + $sth->finish(); + + return; +} + + + +sub clone_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + # target coord_system will have a different ID + $target_cs_name ||= "clone"; + my $cs_id = $self->get_coord_system_id($target_cs_name); + + $self->debug("MusMusculus Specific:Transforming clones " . + "into $target_cs_name seq_regions"); + + # + # We don't want to make clones out of the WGS contigs, only out of + # the actual BACs with proper embl accessions + # + my $select_sth = $dbh->prepare + ("SELECT cl.clone_id, + CONCAT(cl.embl_acc, '.', cl.embl_version), + MAX(ctg.embl_offset)+ctg.length-1 + FROM $source.clone cl, $source.contig ctg + WHERE cl.clone_id = ctg.clone_id + AND cl.embl_acc not like 'C%' + GROUP BY ctg.clone_id"); + + $select_sth->execute(); + + my ($clone_id, $embl_acc, $length); + $select_sth->bind_columns(\$clone_id, \$embl_acc, \$length); + + my $insert_sth = $dbh->prepare + ("INSERT INTO $target.seq_region (name, coord_system_id, length) " . + "VALUES(?,?,?)"); + + my $tmp_insert_sth = $dbh->prepare + ("INSERT INTO $target.tmp_cln_map (old_id, new_id) VALUES (?, ?)"); + + while ($select_sth->fetch()) { + $insert_sth->execute("$embl_acc", $cs_id, $length); + + #store mapping of old -> new ids in temp table + $tmp_insert_sth->execute($clone_id, $insert_sth->{'mysql_insertid'}); + } + + $select_sth->finish(); + $insert_sth->finish(); + $tmp_insert_sth->finish(); + + return; +} + + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/PanTroglodytes.pm b/misc-scripts/surgery/SeqStoreConverter/PanTroglodytes.pm new file mode 100644 index 0000000000..8ead95b2bf --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/PanTroglodytes.pm @@ -0,0 +1,96 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::PanTroglodytes; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("PanTroglodytes Specific: loading assembly data"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["scaffold" , $ass_def, "top_level,default_version" ], + ["contig" , undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("scaffold:$ass_def|contig"); + + my %cs = (gene => 'scaffold', + transcript => 'scaffold', + exon => 'scaffold', + dna_align_feature => 'contig', + protein_align_feature => 'contig', + marker_feature => 'contig', + simple_feature => 'contig', + repeat_feature => 'contig', + qtl_feature => 'scaffold', + misc_feature => 'scaffold', + prediction_transcript => 'contig', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("PanTroglodytes Specific: creating contig, " . + "clone, chromosome and supercontig seq_regions"); + + $self->contig_to_seq_region(); + $self->chromosome_to_seq_region('scaffold'); +} + +sub create_assembly { + my $self = shift; + + $self->debug("PanTroglodytes Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); +} + +1; diff --git a/misc-scripts/surgery/SeqStoreConverter/RattusNorvegicus.pm b/misc-scripts/surgery/SeqStoreConverter/RattusNorvegicus.pm new file mode 100644 index 0000000000..d445b674f7 --- /dev/null +++ b/misc-scripts/surgery/SeqStoreConverter/RattusNorvegicus.pm @@ -0,0 +1,135 @@ +use strict; +use warnings; + +use SeqStoreConverter::BasicConverter; + +package SeqStoreConverter::RattusNorvegicus; + +use vars qw(@ISA); + +@ISA = qw(SeqStoreConverter::BasicConverter); + + +sub create_coord_systems { + my $self = shift; + + $self->debug("RattusNorvegicus Specific: loading assembly data"); + + my $target = $self->target(); + my $dbh = $self->dbh(); + + my $ass_def = $self->get_default_assembly(); + + my @coords = + (["chromosome" , $ass_def, "top_level,default_version" ], + ["supercontig", undef , "default_version" ], + ["contig" , undef , "default_version,sequence_level"]); + + my @assembly_mappings = ("chromosome:$ass_def|contig", + "chromosome:$ass_def|supercontig"); + + my %cs = (gene => 'chromosome', + transcript => 'chromosome', + exon => 'chromosome', + dna_align_feature => 'contig', + protein_align_feature => 'contig', + marker_feature => 'contig', + simple_feature => 'contig', + repeat_feature => 'contig', + qtl_feature => 'chromosome', + misc_feature => 'chromosome', + prediction_transcript => 'contig', + karyotype => 'chromosome'); + + $self->debug("Building coord_system table"); + + my $sth = $dbh->prepare("INSERT INTO $target.coord_system " . + "(name, version, attrib) VALUES (?,?,?)"); + + my %coord_system_ids; + + foreach my $cs (@coords) { + $sth->execute(@$cs); + $coord_system_ids{$cs->[0]} = $sth->{'mysql_insertid'}; + } + $sth->finish(); + + $self->debug("Building meta_coord table"); + $sth = $dbh->prepare("INSERT INTO $target.meta_coord VALUES (?, ?)"); + foreach my $val (keys %cs) { + $sth->execute($val, $coord_system_ids{$cs{$val}}); + } + $sth->finish(); + + $self->debug("Adding assembly.mapping entries to meta table"); + + $sth = $dbh->prepare("INSERT INTO $target.meta(meta_key, meta_value) " . + "VALUES ('assembly.mapping', ?)"); + + foreach my $mapping (@assembly_mappings) { + $sth->execute($mapping); + } + + $sth->finish(); + + return; +} + + + +sub create_seq_regions { + my $self = shift; + + $self->debug("RattusNorvegicus Specific: creating contig, " . + "chromosome and supercontig seq_regions"); + + $self->contig_to_seq_region(); + $self->chromosome_to_seq_region(); + $self->supercontig_to_seq_region(); +} + +sub create_assembly { + my $self = shift; + + $self->debug("RattusNorvegicus Specific: loading assembly data"); + + $self->assembly_contig_chromosome(); + $self->assembly_supercontig_chromosome(); +} + + +# +# override the contig_to_seqregion method so that contigs are given clone +# names instead +# +sub contig_to_seq_region { + my $self = shift; + my $target_cs_name = shift; + + my $target = $self->target(); + my $source = $self->source(); + my $dbh = $self->dbh(); + + $target_cs_name ||= 'contig'; + + $self->debug("RattusNorvegicus Specific: Transforming contigs " . + "into $target_cs_name seq_regions"); + + my $cs_id = $self->get_coord_system_id($target_cs_name); + + my $sth = $dbh->prepare + ("INSERT INTO $target.seq_region " . + "SELECT ctg.contig_id, cln.embl_acc, " . + " $cs_id, ctg.length " . + "FROM $source.contig ctg, $source.clone cln " . + "WHERE ctg.clone_id = cln.clone_id"); + + $sth->execute(); + $sth->finish(); + + return; +} + + + +1; diff --git a/misc-scripts/surgery/convert_seqstore.pl b/misc-scripts/surgery/convert_seqstore.pl new file mode 100644 index 0000000000..359528192f --- /dev/null +++ b/misc-scripts/surgery/convert_seqstore.pl @@ -0,0 +1,124 @@ +use strict; +use warnings; + +use Getopt::Long; +use Cwd; + +use vars qw(@INC); + +#effectively add this directory to the PERL5LIB automatically +my $dir = cwd() . '/' . __FILE__; +my @d = split(/\//, $dir); +pop(@d); +$dir = join('/', @d); +unshift @INC, $dir; + + +my ($file, $user, $password, $verbose, $force, $help, $schema, $limit); + +GetOptions ('file=s' => \$file, + 'schema=s' => \$schema, + 'user=s' => \$user, + 'password=s' => \$password, + 'verbose' => \$verbose, + 'force' => \$force, + 'limit=s' => \$limit, + 'help' => sub { &show_help(); exit 1;} ); + +usage("-file option is required") if(!$file); +usage("-schema option is required") if(!$schema); +usage() if($help); + +open(FILE, $file) or die("Could not open input file '$file'"); + + + +my @all_species_converters; + +while( my $line = <FILE> ) { + chomp($line); + next if $line =~ /^#/; + next if !$line; + + my ( $species, $host, $source_db_name, $target_db_name ) = + split( "\t", $line ); + + my $converter; + + eval "require SeqStoreConverter::$species"; + + if($@) { + warn("Could not require conversion module SeqStoreConverter::$species\n" . + "Using SeqStoreConverter::BasicConverter instead:\n$@"); + + require SeqStoreConverter::BasicConverter; + $species = "BasicConverter"; + } + + { + no strict 'refs'; + + $converter = "SeqStoreConverter::$species"->new + ( $user, $password, $host, $source_db_name, $target_db_name, + $schema, $force, $verbose, $limit ); + } + + push @all_species_converters, $converter; +} + +for my $converter ( @all_species_converters ) { + $converter->debug( "\n\n*** converting " . $converter->source . " to " . + $converter->target() . " ***"); + $converter->transfer_meta(); + $converter->create_coord_systems(); + $converter->create_seq_regions(); + $converter->create_assembly(); + $converter->create_attribs(); + + $converter->transfer_dna(); + $converter->transfer_genes(); + $converter->transfer_prediction_transcripts(); + $converter->transfer_features(); + $converter->transfer_stable_ids(); + $converter->copy_other_tables(); +} + + +print STDERR "*** All finished ***\n"; + +sub usage { + my $msg = shift; + + print STDERR "$msg\n\n" if($msg); + + print STDERR <<EOF; +usage: perl convert_seqstore <options> + +options: -file <input_file> input file with tab delimited 'species', + 'host', 'source_db', 'target_db' values + on each line + + -schema <table_file> file containing SQL schema definition + + -user <user> a mysql db user with read/write priveleges + + -password <password> the mysql user's password + + -verbose print out debug statements + + -force replace any target dbs that already exists + + -limit <num_rows> limit the number of features transfered to + speed up testing + + -help display this message + +example: perl convert_seqstore.pl -file converter.input \\ + -schema ../../sql/table.sql -user ensadmin -password secret \\ + -force -verbose + +EOF +#' + + exit; +} diff --git a/misc-scripts/surgery/converter.input b/misc-scripts/surgery/converter.input new file mode 100644 index 0000000000..6be8023588 --- /dev/null +++ b/misc-scripts/surgery/converter.input @@ -0,0 +1,9 @@ +#HomoSapiens ecs1d mcvicker_old_schema mcvicker_new_schema +#FuguRubripes ecs2f fugu_rubripes_core_18_2 mcvicker_new_fugu +CaenorhabditisElegans ecs2f caenorhabditis_elegans_core_18_102 mcvicker_new_elegans +#CaenorhabditisBriggsae ecs2f caenorhabditis_briggsae_core_18_25 mcvicker_new_briggsae +#RattusNorvegicus ecs2f rattus_norvegicus_core_18_3 mcvicker_new_rat +#DrosophilaMelanogaster ecs2f drosophila_melanogaster_core_18_3a mcvicker_new_fly +#MusMusculus ecs2f mus_musculus_core_18_30 mcvicker_new_mouse +#DanioRerio ecs2f danio_rerio_core_18_2 mcvicker_new_zebrafish +#AnophelesGambiae ecs2f anopheles_gambiae_core_18_2a mcvicker_new_mosquito diff --git a/misc-scripts/surgery/set_nonredundant_attribs.pl b/misc-scripts/surgery/set_nonredundant_attribs.pl new file mode 100644 index 0000000000..7ee3696f0c --- /dev/null +++ b/misc-scripts/surgery/set_nonredundant_attribs.pl @@ -0,0 +1,235 @@ +# Figure out which seq_regions are non-redundant and set the appropriate +# attribute in seq_region_attrib + +use strict; +use warnings; + +use DBI; +use Getopt::Long; + +use Bio::EnsEMBL::DBSQL::DBAdaptor; +use Bio::EnsEMBL::DBSQL::SliceAdaptor; + +my ($host, $port, $user, $password, $db, $verbose, $check); +$host = "127.0.0.1"; +$port = 3306; +$password = ""; +$user = "ensro"; + +GetOptions ('host=s' => \$host, + 'user=s' => \$user, + 'password=s' => \$password, + 'port=s' => \$port, + 'db=s' => \$db, + 'verbose' => \$verbose, + 'check' => \$check, + 'help' => sub { &show_help(); exit 1;} ); + +die "Host must be specified" unless $host; +die "Database must be specified" unless $db; + +my $dbi = DBI->connect("dbi:mysql:host=$host;port=$port;database=$db", "$user", "$password", {'RaiseError' => 1}) || die "Can't connect to target DB"; + +# ---------------------------------------- + +# check that there is an entry in the attrib_type table for nonredundant +# if there is, cache the ID for later; if not, make one +my $nr_attrib_type_id; +my $sth = $dbi->prepare("SELECT attrib_type_id FROM attrib_type WHERE code='nonredundant'"); +$sth->execute(); +while ( my @row= $sth->fetchrow_array()) { + $nr_attrib_type_id = $row[0]; +} +$sth->finish(); + +if ($nr_attrib_type_id) { + + debug("Attribute with name nonredundant already set in attrib_type with attrib_type_id " . $nr_attrib_type_id); + +} else { + + debug("Attribute with name nonredundant not set in attrib_type; adding ..."); + + $sth = $dbi->prepare("INSERT INTO attrib_type (code, name) VALUES ('nonredundant', 'Non-redundant sequence region')"); + $sth->execute(); + + $nr_attrib_type_id = $sth->{mysql_insertid}; + + debug("Added nonredundant attribute with ID " . $nr_attrib_type_id); + +} + +# ---------------------------------------- + +my $db_adaptor = new Bio::EnsEMBL::DBSQL::DBAdaptor(-user => $user, + -dbname => $db, + -host => $host, + -port => $port, + -pass => $password, + -driver => 'mysql' ); + +my $slice_adaptor = $db_adaptor->get_SliceAdaptor(); + +# Assume all entries in the top-level co-ordinate system are non-redundant +my @toplevel = @{$slice_adaptor->fetch_all('toplevel')}; +debug("Got " . @toplevel . " sequence regions in the top-level co-ordinate system"); +set_nr_attribute($slice_adaptor, $nr_attrib_type_id, $dbi, @toplevel); + +# Rest of the co-ordinate systems, in "ascending" order +my @coord_systems = get_coord_systems_in_order($db_adaptor, $slice_adaptor); + +debug("Starting pair-wise co-ordinate system comparison"); + +my @nr_slices; # will store non-redundant ones for later + +for (my $lower_cs_idx = 0; $lower_cs_idx < @coord_systems; $lower_cs_idx++) { + for (my $higher_cs_idx = $lower_cs_idx+1; $higher_cs_idx < @coord_systems; $higher_cs_idx++) { + + my $higher_cs = $coord_systems[$higher_cs_idx]; + my $lower_cs = $coord_systems[$lower_cs_idx]; + + debug("$lower_cs:$higher_cs"); + + # we are interested in the slices that do *not* project onto the "higher" coordinate system + my @slices = @{$slice_adaptor->fetch_all($lower_cs)}; + + my $projected_hit = 0; + my $projected_miss = 0; + + foreach my $slice (@slices) { + my @projected = @{$slice->project($higher_cs)}; + if (@projected > 0) { + $projected_hit++; + } else { + $projected_miss++; + push @nr_slices, $slice; + } + undef @projected; + } + debug ("Projecting " . $lower_cs . " onto " . $higher_cs . ": " . + $projected_hit . " hit, " . $projected_miss . " miss out of " . @slices . " total"); + + undef @slices; + + } +} + +set_nr_attribute($slice_adaptor, $nr_attrib_type_id, $dbi, @nr_slices); + +#---------------------------------------- + +check_non_redundant($slice_adaptor) if $check; + +$sth->finish(); +$dbi->disconnect(); + +# ---------------------------------------- +# Get all the co-ordinate systems in order +# Order is descending average length +# Return an array of co-ordinate system names + +sub get_coord_systems_in_order() { + + my $db_adaptor = shift; + my $slice_adaptor = shift; + + debug("Ordering co-ordinate systems by average length"); + + my $cs_adaptor = $db_adaptor->get_CoordSystemAdaptor(); + my @coord_system_objs = @{$cs_adaptor->fetch_all()}; + + # Calculate average lengths + my %lengths; + foreach my $cs (@coord_system_objs) { + my @slices = @{$slice_adaptor->fetch_all($cs->name())}; + my $total_len = 0; + foreach my $slice (@slices) { + $total_len += $slice->length(); + } + if ($total_len > 0) { + $lengths{$cs->name()} = $total_len / scalar(@slices); + } else { + $lengths{$cs->name()} = 0; + print "Warning - total length for " . $cs->name() . " is zero!\n"; + } + } + + my @coord_systems = sort { $lengths{$a} <=> $lengths{$b} } keys %lengths; + + foreach my $cs_name (@coord_systems) { + debug("Co-ord system: " . $cs_name . " Average length: " . int $lengths{$cs_name}); + } + + debug("Got co-ordinate systems in order: " . join(', ', @coord_systems)); + + return @coord_systems; + +} + +# ---------------------------------------------------------------------- +# Misc / utility functions + +sub show_help { + + print "Usage: perl set_non_redundant_attribs.pl {options}\n"; + print "Where options are:\n"; + print " --host {hostname} The database host.\n"; + print " --user {username} The database user. Must have write permissions\n"; + print " --password {pass} The password for user, if required.\n"; + print " --port {folder} The database port to use.\n"; + print " --db {schema} The name of the database\n"; + print " --check Read back non-redundant slices from SliceAdaptor\n"; + print " --verbose Print extra output information\n"; + +} + +# ---------------------------------------------------------------------- + +sub debug { + + my $str = shift; + + print $str . "\n" if $verbose; + +} + +# ---------------------------------------------------------------------- + +# Set the "nonredundant" attribute on a Slice or group of Slices +# arg 1: SliceAdaptor +# arg 2: internal ID of 'nonredundant' attrib_type +# arg 3: DB connection +# arg 3..n: Slices + +sub set_nr_attribute { + + my ($slice_adaptor, $nr_attrib_type_id, $dbi, @targets) = @_; + + debug("Setting nonredundant attribute on " . @targets . " sequence regions"); + + my $sth = $dbi->prepare("INSERT INTO seq_region_attrib (seq_region_id, attrib_type_id) VALUES (?,?)"); + + foreach my $slice (@targets) { + + my $seq_region_id = $slice_adaptor->get_seq_region_id($slice); + + $sth->execute($seq_region_id, $nr_attrib_type_id); + + } + + $sth->finish(); + +} + +# ---------------------------------------------------------------------- + +sub check_non_redundant { + + my $slice_adaptor = shift; + + my @all = @{$slice_adaptor->fetch_all_non_redundant()}; + + print "Got " . @all . " non-redundant seq_regions from SliceAdaptor\n"; + +} + diff --git a/modules/Bio/EnsEMBL/Analysis.pm b/modules/Bio/EnsEMBL/Analysis.pm index cdccbcbc52..512741365a 100755 --- a/modules/Bio/EnsEMBL/Analysis.pm +++ b/modules/Bio/EnsEMBL/Analysis.pm @@ -49,16 +49,17 @@ Internal methods are usually preceded with a _ =cut -# Let the code begin... - package Bio::EnsEMBL::Analysis; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::Root; -# Inherits from the base bioperl object -@ISA = qw(Bio::EnsEMBL::Root); +use Bio::EnsEMBL::Storable; + +use Bio::EnsEMBL::Utils::Exception qw(throw); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +@ISA = qw(Bio::EnsEMBL::Storable); =head2 new @@ -95,7 +96,7 @@ sub new { $program_file, $gff_source, $gff_feature, $module, $module_version, $parameters, $created, $logic_name ) = - $self->_rearrange([qw(ID + rearrange([qw(ID ADAPTOR DB DB_VERSION @@ -132,50 +133,6 @@ sub new { } -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::DBSQL::AnalysisAdaptor $analysis_adaptor - Example : none - Description: get/set for thus objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::AnalysisAdaptor - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub adaptor { - my ($self,$arg) = @_; - - $self->{_adaptor} ||= undef; - - if (defined($arg)) { - $self->{_adaptor} = $arg; - } - return $self->{_adaptor}; -} - - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set for the database internal id - Returntype : int - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub dbID { - my ($self,$arg) = @_; - - if (defined($arg)) { - $self->{_dbid} = $arg; - } - return $self->{_dbid}; -} - - =head2 db Arg [1] : string $db @@ -500,7 +457,7 @@ sub has_database{ sub compare { my ($self, $ana ) = @_; - $self->throw("Object is not a Bio::EnsEMBL::Analysis") + throw("Object is not a Bio::EnsEMBL::Analysis") unless $ana->isa("Bio::EnsEMBL::Analysis"); my $detail = 0; @@ -515,7 +472,7 @@ sub compare { $detail = 1; } # if given anal is different from this, defined or not, then its different - if( defined $ana->$methodName() && defined $self->$methodName && + if( defined $ana->$methodName() && ( $self->$methodName() ne $ana->$methodName() )) { return -1; } diff --git a/modules/Bio/EnsEMBL/AssemblyExceptionFeature.pm b/modules/Bio/EnsEMBL/AssemblyExceptionFeature.pm new file mode 100644 index 0000000000..f8cc0125d1 --- /dev/null +++ b/modules/Bio/EnsEMBL/AssemblyExceptionFeature.pm @@ -0,0 +1,168 @@ +# +# Ensembl module for Bio::EnsEMBL::AssemblyExceptionFeature +# +# Cared for by Ewan Birney <birney@ebi.ac.uk> +# +# Copyright Ewan Birney +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::AssemblyExceptionFeature - A feature that represents an assembly exception + +=head1 SYNOPSIS + +use Bio::EnsEMBL::AssemblyExceptionFeature; + +$feature = Bio::EnsEMBL::AssemblyExceptionFeature->new(-start => 100, + -end => 220, + -type => 'HAP', + -slice => $slice, + -adaptor => $adaptor); + +=head1 DESCRIPTION + +Certain features, e.g. Haplotypes and PARs, are represented as "exceptions" to the +normal assembly. This class represents such features. + +=head1 AUTHOR - Glenn Proctor + +This modules is part of the Ensembl project http://www.ensembl.org + +Email birney@ebi.ac.uk + +Describe contact details here + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. Internal +methods are usually preceded with a _ + +=cut + +use strict; + +package Bio::EnsEMBL::AssemblyExceptionFeature; + +use vars qw(@ISA); + +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +@ISA = qw(Bio::EnsEMBL::Feature); + + +=head2 new + + Arg [TYPE] : The type (e.g. HAP for haplotype, PAR for PAR) + Arg [...] : Named arguments passed to superclass + Example : $feature = Bio::EnsEMBL::AssemblyExceptionFeature->new + (-start => 1, + -end => 100, + -slice => $slice, + -alternate_slice => $alt_slice, + -adaptor => $adaptor, + -type => 'HAP') + Description: Constructs a new Bio::EnsEMBL::Feature. Generally subclasses + of this method are instantiated, rather than this class itself. + Returntype : Bio::EnsEMBL::Feature + Exceptions : Thrown on invalid -SLICE arguments + Caller : general, subclass constructors + +=cut + +sub new { + + my $caller = shift; + + # allow this to be called as class or object method + my $class = ref($caller) || $caller; + my $self = $class->SUPER::new(@_); + + my ($type, $alternate_slice) = rearrange(['TYPE', 'ALTERNATE_SLICE'],@_); + $self->{'type'} = $type; + $self->{'alternate_slice'} = $alternate_slice; + + return $self; +} + + +sub new_fast { + my $class = shift; + my $hashref = shift; + return bless $hashref, $class; +} + + +=head2 type + + Arg [1] : (optional) string $value + Example : $type = $assembly_exception_feature->type(); + Description: Getter/Setter for the type associated with this + feature. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub type { + + my $self = shift; + + $self->{'type'} = shift if(@_); + + return $self->{'type'}; +} + + +=head2 alternate_slice + + Arg [1] : (optional) string $value + Example : $alt_slice = $assembly_exception_feature->alternate_slice(); + Description: Getter/Setter for the alternate slice associated with this feature. + The alternate slice represents the "other side" of the AssemblyExceptionFeature. + Returntype : Bio::EnsEMBL::Slice + Exceptions : none + Caller : general + +=cut + +sub alternate_slice { + + my $self = shift; + + $self->{'alternate_slice'} = shift if(@_); + + return $self->{'alternate_slice'}; +} + + + +=head2 display_id + + Arg [1] : none + Example : print $aef->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For assembly exception features + this is the name of the alternate seqregion or '' if the + alternate slice is not defined. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + my $slice = $self->{'alternate_slice'}; + return '' if(!$slice); + return $slice->seq_region_name(); +} + + + +1; diff --git a/modules/Bio/EnsEMBL/AssemblyMapper.pm b/modules/Bio/EnsEMBL/AssemblyMapper.pm index c89cb7c3a7..683dcd3a31 100644 --- a/modules/Bio/EnsEMBL/AssemblyMapper.pm +++ b/modules/Bio/EnsEMBL/AssemblyMapper.pm @@ -13,31 +13,37 @@ =head1 NAME Bio::EnsEMBL::AssemblyMapper - -Handles mapping from raw contigs to assembly coordinates +Handles mapping between two coordinate systems using the information stored in +the assembly table =head1 SYNOPSIS + $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + $asma = $db->get_AssemblyMapperAdaptor(); + $csa = $db->get_CoordSystemAdaptor(); - $map_adaptor = $dbadaptor->get_AssemblyMapperAdaptor(); - $mapper = $map_adaptor->fetch_by_type('UCSC'); + my $chr_cs = $cs_adaptor->fetch_by_name('chromosome', 'NCBI33'); + my $ctg_cs = $cs_adaptor->fetch_by_name('contig'); - $mapper->register_region('chr1', 1, 100000); + $asm_mapper = $map_adaptor->fetch_by_CoordSystems($cs1, $cs2); - $mapper->register_region_around_contig(30001, 1000, 1000); + #map to contig coordinate system from chromosomal + @ctg_coords = $asm_mapper->map('X', 1_000_000, 2_000_000, 1, $chr_cs); - my @chr_coordlist = $mapper->map_coordinates_to_assembly(627012, 2, 5, -1); + #map to chromosome coordinate system from contig + @chr_coords = $asm_mapper->map('AL30421.1.200.92341',100,10000,-1,$ctg_cs); - my @raw_coordlist = $mapper->map_coordinates_to_rawcontig("1",10002,10020); + #list contig names for a region of chromsome + @ctg_ids = $asm_mapper->list_ids('13', 1_000_000, 1, $chr_cs); - my @cid_list = $mapper->list_contig_ids("1", 10002, 10020); + #list chromosome names for a contig region + @chr_ids = $asm_mapper->list_ids('AL30421.1.200.92341',1,1000,-1,$ctg_cs); =head1 DESCRIPTION -The AssemblyMapper is a database aware mapper which handles the raw -contig to assembly mapping. It allows mappings both from raw contigs -to assembly coordinates and from assembly coordinates back to raw -contigs. - -It extracts the mapping dynamically from the database +The AssemblyMapper is a database aware mapper which faciliates conversion +of coordinates between any two coordinate systems with an relationship +explicitly defined in the assembly table. In the future it may be possible to +perform multiple step (implicit) mapping between coordinate systems. It is implemented using the Bio::EnsEMBL::Mapper object, which is a generic mapper object between disjoint coordinate systems. @@ -46,361 +52,474 @@ mapper object between disjoint coordinate systems. Post general queries to B<ensembl-dev@ebi.ac.uk> -=head1 APPENDIX - -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut - package Bio::EnsEMBL::AssemblyMapper; -use vars qw(@ISA); -use strict; -# Object preamble - inheriets from Bio::EnsEMBL::Root +use strict; +use warnings; -use Bio::EnsEMBL::Root; use Bio::EnsEMBL::Mapper; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); -@ISA = qw(Bio::EnsEMBL::Root); - +my $ASSEMBLED = 'assembled'; +my $COMPONENT = 'component'; =head2 new Arg [1] : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor - Arg [2] : string $type - The type of assembly mapper - Example : $mapper = new Bio::EnsEMBL::AssemblyMapper($adaptor,'assembly'); - Description: Creates a new AssemblyMapper object. - Returntype : Bio::EnsEMBL::AssemblyMapper; - Exceptions : thrown if arg count is wrong - Caller : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Arg [2] : Bio::EnsEMBL::CoordSystem $asm_cs + Arg [3] : Bio::EnsEMBL::CoordSystem $cmp_cs + Example : Should use AssemblyMapperAdaptor->fetch_by_CoordSystems + Description: Creates a new AssemblyMapper + Returntype : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Exceptions : thrown if multiple coord_systems are provided + Caller : AssemblyMapperAdaptor =cut sub new { - my($class,$adaptor,$type) = @_; + my ($caller,$adaptor,@coord_systems) = @_; + + my $class = ref($caller) || $caller; my $self = {}; - bless $self,$class; + bless $self, $class; - if( !defined $type ) { - $self->throw("Must have adaptor, type for the assembly mapper"); - } - $self->{'_contig_register'} = {}; $self->adaptor($adaptor); - $self->_type($type); - my $mapper = Bio::EnsEMBL::Mapper->new('rawcontig','assembly'); - $self->_mapper($mapper); - return $self; -} + if(@coord_systems != 2) { + throw('Can only map between 2 coordinate systems. ' . + scalar(@coord_systems) . ' were provided'); + } + # Set the component and assembled coordinate systems + $self->{'asm_cs'} = $coord_systems[0]; + $self->{'cmp_cs'} = $coord_systems[1]; + #we load the mapper calling the 'ASSEMBLED' the 'from' coord system + #and the 'COMPONENT' the 'to' coord system + $self->{'mapper'} = Bio::EnsEMBL::Mapper->new($ASSEMBLED, $COMPONENT); -=head2 map_coordinates_to_assembly + return $self; +} - Arg 1 : int $contig_id - raw contig internal ID - Arg 2 : int $start - start position on raw contig - Arg 3 : int $end - end position on raw contig - Arg 4 : int $strand - raw contig orientation (+/- 1) - Example : none - Description: takes RawContig coordinates and remaps it - to Assembly coordinates. Areas that dont map produce - Gap objects. - Returntype : list of Bio::EnsEMBL::Mapper::Coordinate, - Bio::EnsEMBL::Mapper::Gap - Exceptions : throws if args are not numeric + +=head2 map + + Arg [1] : string $frm_seq_region + The name of the sequence region to transform FROM + Arg [2] : int $frm_start + The start of the region to transform FROM + Arg [3] : int $frm_end + The end of the region to transform FROM + Arg [4] : int $strand + The strand of the region to transform FROM + Arg [5] : Bio::EnsEMBL::CoordSystem + The coordinate system to transform FROM + Example : @coords = $asm_mapper->map('X', 1_000_000, 2_000_000, + 1, $chr_cs); + Description: Transforms coordinates from one coordinate system + to another. + Returntype : List of Bio::EnsEMBL::Mapper::Coordinate and/or + Bio::EnsEMBL::Mapper:Gap objects + Exceptions : thrown if if the specified TO coordinat system is not one + of the coordinate systems associated with this assembly mapper Caller : general =cut +sub map { + throw('Incorrect number of arguments.') if(@_ != 6); -sub map_coordinates_to_assembly { - my ($self, $contig_id, $start, $end, $strand) = @_; + my ($self, $frm_seq_region, $frm_start, $frm_end, $frm_strand, $frm_cs) = @_; + + my $mapper = $self->{'mapper'}; + my $asm_cs = $self->{'asm_cs'}; + my $cmp_cs = $self->{'cmp_cs'}; + my $adaptor = $self->{'adaptor'}; + my $frm; + + #speed critical section: + #try to do simple pointer equality comparisons of the coord system objects + #first since this is likely to work most of the time and is much faster + #than a function call + + if($frm_cs == $cmp_cs || ($frm_cs != $asm_cs && $frm_cs->equals($cmp_cs))) { - if( ! exists $self->{'_contig_register'}->{$contig_id} ) { - $self->register_region_around_contig( $contig_id, 0, 0 ); + if(!$self->{'cmp_register'}->{$frm_seq_region}) { + $adaptor->register_component($self,$frm_seq_region); } + $frm = $COMPONENT; - return $self->{'_mapper'}->map_coordinates($contig_id, $start, - $end, $strand, 'rawcontig'); + } elsif($frm_cs == $asm_cs || $frm_cs->equals($asm_cs)) { + + # This can be probably be sped up some by only calling registered + # assembled if needed + $adaptor->register_assembled($self,$frm_seq_region,$frm_start,$frm_end); + $frm = $ASSEMBLED; + + } else { + + throw("Coordinate system " . $frm_cs->name . " " . $frm_cs->version . + " is neither the assembled nor the component coordinate system " . + " of this AssemblyMapper"); + } + + return $mapper->map_coordinates($frm_seq_region, $frm_start, $frm_end, + $frm_strand, $frm); } -=head2 fast_to_assembly - Arg 1 : int $contig_id - raw contig internal ID - Arg 2 : int $start - start position on raw contig - Arg 3 : int $end - end position on raw contig - Arg 4 : int $strand - raw contig orientation (+/- 1) + +=head2 flush + + Args : none Example : none - Description: takes RawContig coordinates and remaps it - to Assembly coordinates. This is a fast simple version - that only maps when there are no gaps and no splits. - It will just return id, start, end, strand - Returntype : list of results - Exceptions : throws if args are not numeric - Caller : general + Description: remove all cached items from this AssemblyMapper + Returntype : none + Exceptions : none + Caller : AssemblyMapperAdaptor =cut -sub fast_to_assembly { - my ($self, $contig_id, $start, $end, $strand) = @_; - if( ! exists $self->{'_contig_register'}->{$contig_id} ) { - $self->register_region_around_contig( $contig_id, 0, 0 ); - } - return $self->{'_mapper'}->fastmap($contig_id, $start, $end, - $strand, 'rawcontig'); +sub flush { + my $self = shift; + + $self->{'mapper'}->flush(); + $self->{'cmp_register'} = {}; + $self->{'asm_register'} = {}; } -=head2 map_coordinates_to_rawcontig +sub size { + my $self = shift; + return $self->{'mapper'}->{'pair_count'}; +} - Arg 1 : string $chr_name - Arg 2 : int $chr_start - Arg 3 : int $chr_end - Arg 4 : int $chr_strand - From p to q is 1 reverse is -1 - Example : ( "X", 10000, 20000, -1 ) - Description: takes region in Assembly coordinates and - remaps it to RawContig coordinates. - Returntype : list of Bio::EnsEMBL::Mapper::Gap - and/or Bio::EnsEMBL::Mapper::Coordinate - The id method of each Coordinate object - is the numeric contig_id of the RawContig - it maps to - Exceptions : argument type is checked where appropriat - Caller : general -=cut +sub fastmap { + throw('Incorrect number of arguments.') if(@_ != 6); -sub map_coordinates_to_rawcontig { - my ($self, $chr_name, $start, $end, $strand) = @_; - - $self->register_region($chr_name, $start, $end); - - return $self->_mapper->map_coordinates($chr_name, $start, $end, - $strand, 'assembly'); -} + my ($self, $frm_seq_region, $frm_start, $frm_end, $frm_strand, $frm_cs) = @_; + my $mapper = $self->{'mapper'}; + my $asm_cs = $self->{'asm_cs'}; + my $cmp_cs = $self->{'cmp_cs'}; + my $adaptor = $self->{'adaptor'}; + my $frm; + #speed critical section: + #try to do simple pointer equality comparisons of the coord system objects + #first since this is likely to work most of the time and is much faster + #than a function call -=head2 list_contig_ids + if($frm_cs == $cmp_cs || ($frm_cs != $asm_cs && $frm_cs->equals($cmp_cs))) { - Arg 1 : string $chr_name - Arg 2 : int $chr_start - Arg 3 : int $chr_end - Example : ( "X", 1, 1000000 ) - Description: Returns a list of RawContig internal IDs - which overlap the given chromosome region - Returntype : list of int - Exceptions : arguments are type checked - Caller : general, used for SQL query generation + if(!$self->{'cmp_register'}->{$frm_seq_region}) { + $adaptor->register_component($self,$frm_seq_region); + } + $frm = $COMPONENT; -=cut + } elsif($frm_cs == $asm_cs || $frm_cs->equals($asm_cs)) { + # This can be probably be sped up some by only calling registered + # assembled if needed + $adaptor->register_assembled($self,$frm_seq_region,$frm_start,$frm_end); + $frm = $ASSEMBLED; -sub list_contig_ids { - my ($self, $chr_name, $start, $end) = @_; - - # may not have registered this region yet - - $self->register_region($chr_name, $start, $end); - - return map - { $_->from->id } - $self->_mapper->list_pairs($chr_name, $start, $end, 'assembly'); + } else { + + throw("Coordinate system " . $frm_cs->name . " " . $frm_cs->version . + " is neither the assembled nor the component coordinate system " . + " of this AssemblyMapper"); + } + + return $mapper->fastmap($frm_seq_region, $frm_start, $frm_end, + $frm_strand, $frm); } -=head2 register_region +=head2 list_seq_regions - Arg 1 : string $chr_name - Arg 2 : int $chr_start - Arg 3 : int $chr_end - Example : ( "X", 1, 1000000 ) - Description: Declares a chromosomal region to the AssemblyMapper. - This extracts the relevant data from the assembly - table and stores it in a Bio::EnsEMBL::Mapper. - It therefore must be called before any mapping is - attempted on that region. Otherwise only gaps will - be returned! Is done automatically before mapping. - Returntype : none - Exceptions : arguments are checked - Caller : internal + Arg [1] : string $frm_seq_region + The name of the sequence region of interest + Arg [2] : int $frm_start + The start of the region of interest + Arg [3] : int $frm_end + The end of the region to transform of interest + Arg [5] : Bio::EnsEMBL::CoordSystem $frm_cs + The coordinate system to obtain overlapping ids of + Example : foreach $id ($asm_mapper->list_ids('X',1,1000,$ctg_cs)) {...} + Description: Retrieves a list of overlapping seq_region internal identifiers + of another coordinate system. This is the same as the + list_ids method but uses seq_region names rather internal ids + Returntype : List of strings + Exceptions : none + Caller : general =cut -sub register_region { - my ($self, $chr_name, $start, $end) = @_; - - my $first_chunk = int( $start / $self->_chunksize() ); - my $last_chunk = int( $end / $self->_chunksize() ); - - $self->_chunk_register_region( $chr_name, $first_chunk, $last_chunk ); -} +sub list_seq_regions { + throw('Incorrect number of arguments.') if(@_ != 5); + my($self, $frm_seq_region, $frm_start, $frm_end, $frm_cs) = @_; + + if($frm_cs->equals($self->component_CoordSystem())) { + if(!$self->have_registered_component($frm_seq_region)) { + $self->adaptor->register_component($frm_seq_region); + } + #pull out the 'from' identifiers of the mapper pairs. The + #we loaded the assembled side as the 'from' side in the constructor + return + map {$_->from()->id()} + $self->mapper()->list_pairs($frm_seq_region, $frm_start, + $frm_end, $COMPONENT); -=head2 register_region_around_contig + } elsif($frm_cs->equals($self->assembled_CoordSystem())) { - Arg 1 : int $contig_id - Arg 2 : int $upstream_bases - Arg 3 : int $downstream_bases - Example : ( 2000, 0, 0 ) - Description: Declares a region around a given RawContig to this - AssemblyMapper. Is done automatically before a mapping - is attempted. The registering is cached, so registering - multiple times is cheap. - With 0 as up and downstream tests if given contig is mappable. - returns 1 if its is and 0 if it isnt. - Returntype : int 0,1 - Exceptions : all Args must be ints - Caller : internal + $self->adaptor->register_assembled($self, + $frm_seq_region,$frm_start,$frm_end); + + #pull out the 'to' identifiers of the mapper pairs + #we loaded the component side as the 'to' coord system in the constructor + return + map {$_->to->id()} + $self->mapper()->list_pairs($frm_seq_region, $frm_start, + $frm_end, $ASSEMBLED); + } else { + throw("Coordinate system " . $frm_cs->name . " " . $frm_cs->version . + " is neither the assembled nor the component coordinate system " . + " of this AssemblyMapper"); + } +} + + +=head2 list_ids + + Arg [1] : string $frm_seq_region + The name of the sequence region of interest + Arg [2] : int $frm_start + The start of the region of interest + Arg [3] : int $frm_end + The end of the region to transform of interest + Arg [5] : Bio::EnsEMBL::CoordSystem $frm_cs + The coordinate system to obtain overlapping ids of + Example : foreach $id ($asm_mapper->list_ids('X',1,1000,$chr_cs)) {...} + Description: Retrieves a list of overlapping seq_region internal identifiers + of another coordinate system. This is the same as the + list_seq_regions method but uses internal identfiers rather + than seq_region strings + Returntype : List of ints + Exceptions : none + Caller : general =cut +sub list_ids { + throw('Incorrect number of arguments.') if(@_ != 5); + my($self, $frm_seq_region, $frm_start, $frm_end, $frm_cs) = @_; + + #retrieve the seq_region names + my @seq_regs = + $self->list_seq_regions($frm_seq_region,$frm_start,$frm_end,$frm_cs); + + #The seq_regions are from the 'to' coordinate system not the + #from coordinate system we used to obtain them + my $to_cs; + if($frm_cs->equals($self->assembled_CoordSystem())) { + $to_cs = $self->component_CoordSystem(); + } else { + $to_cs = $self->assembled_CoordSystem(); + } -sub register_region_around_contig { - my ($self, $contig_id, $left, $right) = @_; - - if( $self->_have_registered_contig( $contig_id ) - && $left == 0 && $right==0 ) { - if( $self->_mapper->list_pairs( $contig_id, -1, -1, "rawcontig" )) { - return 1; - } else { - return 0; - } - } - - my ( $chr_name, $chr_start, $chr_end ) = - $self->adaptor()->register_contig( $self, $self->_type, $contig_id ); - - if( defined $chr_name ) { - $self->register_region( $chr_name, $chr_start-$left, $chr_end+$right ); - return 1; - } else { - return 0; - } + #convert them to ids + return @{$self->adaptor()->seq_regions_to_ids($to_cs, \@seq_regs)}; } -=head2 Internal functions -Internal functions + +=head2 have_registered_component + + Arg [1] : string $cmp_seq_region + The name of the sequence region to check for registration + Example : if($asm_mapper->have_registered_component('AL240214.1')) {...} + Description: Returns true if a given component region has been registered + with this assembly mapper. This should only be called + by this class or the AssemblyMapperAdaptor. Anotherwards, do + not use this method unless you really know what you are doing. + Returntype : 0 or 1 + Exceptions : throw on incorrect arguments + Caller : internal, AssemblyMapperAdaptor =cut +sub have_registered_component { + my $self = shift; + my $cmp_seq_region = shift; + throw('cmp_seq_region argument is required') if(!$cmp_seq_region); -=head2 _have_registered_contig + if($self->{'cmp_register'}->{$cmp_seq_region}) { + return 1; + } - Arg 1 : int $rawContig_dbID - Example : none - Description: checks if given raw contig was registered before - Returntype : int 0,1 - Exceptions : none - Caller : internal + return 0; +} -=cut +=head2 have_registered_assembled -sub _have_registered_contig { - my ($self,$id) = @_; + Arg [1] : string $asm_seq_region + The name of the sequence region to check for registration + Arg [2] : int $chunk_id + The chunk number of the provided seq_region to check for + registration. + Example : if($asm_mapper->have_registered_component('X',9)) {...} + Description: Returns true if a given assembled region chunk has been + registered with this assembly mapper. This should only + be called by this class or the AssemblyMapperAdaptor. + Anotherwards do not use this method unless you really know what + you are doing. + Returntype : 0 or 1 + Exceptions : throw on incorrect arguments + Caller : internal, AssemblyMapperAdaptor + +=cut - if( $self->{'_contig_register'}->{$id} ) { - return 1; - } else { - return 0; - } +sub have_registered_assembled { + my $self = shift; + my $asm_seq_region = shift; + my $chunk_id = shift; + throw('asm_seq_region argument is required') if(!$asm_seq_region); + throw('chunk_id is required') if(!defined($chunk_id)); + + if($self->{'asm_register'}->{$asm_seq_region}->{$chunk_id}) { + return 1; + } + + return 0; } -=head2 _register_contig +=head2 register_component - Arg 1 : int $rawContig_dbID - Example : none - Description: marks given raw contig as registered + Arg [1] : string $cmp_seq_region + The name of the component sequence region to register + Example : $asm_mapper->register_component('AL312341.1'); + Description: Flags a given component sequence region as registered in this + assembly mapper. This should only be called by this class + or the AssemblyMapperAdaptor. Returntype : none - Exceptions : none - Caller : internal + Exceptions : throw on incorrect arguments + Caller : internal, AssemblyMapperAdaptor =cut +sub register_component { + my $self = shift; + my $cmp_seq_region = shift; + throw('cmp_seq_region argument is required') if(!$cmp_seq_region); -sub _register_contig { - my ($self,$id) = @_; - - $self->{'_contig_register'}->{$id} = 1; - + $self->{'cmp_register'}->{$cmp_seq_region} = 1; } +=head2 register_assembled -=head2 _type - - Arg [1] : string $type - Example : none - Description: get/set of attribute _type - Returntype : string - Exceptions : none - Caller : ? + Arg [1] : string $asm_seq_region + The name of the sequence region to register + Arg [2] : int $chunk_id + The chunk number of the provided seq_region to register. + Example : $asm_mapper->register_assembled('X', 4); + Description: Flags a given assembled region as registered in this assembly + mapper. This should only be called by this class or the + AssemblyMapperAdaptor. Do not call this method unless you + really know what you are doing. + Returntype : none + Exceptions : throw on incorrect arguments + Caller : internal, AssemblyMapperAdaptor =cut +sub register_assembled { + my $self = shift; + my $asm_seq_region = shift; + my $chunk_id = shift; -sub _type { - my ($self,$value) = @_; - if( defined $value) { - $self->{'_type'} = $value; - } - return $self->{'_type'}; + throw('asm_seq_region argument is required') if(!$asm_seq_region); + throw('chunk_id srgument is required') if(!defined($chunk_id)); + $self->{'asm_register'}->{$asm_seq_region}->{$chunk_id} = 1; } -=head2 _mapper - Arg [1] : Bio::EnsEMBL::Mapper $mapper - The mapper object which will be used to map between - assembly and raw contigs - Example : none - Description: get/set of the attribute _mapper +=head2 mapper + + Arg [1] : none + Example : $mapper = $asm_mapper->mapper(); + Description: Retrieves the internal mapper used by this Assembly Mapper. + This is unlikely to be useful unless you _really_ know what you + are doing. Returntype : Bio::EnsEMBL::Mapper Exceptions : none - Caller : ? + Caller : internal, AssemblyMapperAdaptor =cut +sub mapper { + my $self = shift; + return $self->{'mapper'}; +} -sub _mapper { - my ($self,$value) = @_; - if( defined $value) { - $self->{'_mapper'} = $value; - } - return $self->{'_mapper'}; +=head2 assembled_CoordSystem + + Arg [1] : none + Example : $cs = $asm_mapper->assembled_CoordSystem + Description: Retrieves the assembled CoordSystem from this assembly mapper + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : none + Caller : internal, AssemblyMapperAdaptor + +=cut + +sub assembled_CoordSystem { + my $self = shift; + return $self->{'asm_cs'}; } +=head2 component_CoordSystem + + Arg [1] : none + Example : $cs = $asm_mapper->component_CoordSystem + Description: Retrieves the component CoordSystem from this assembly mapper + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : none + Caller : internal, AssemblyMapperAdaptor + +=cut + +sub component_CoordSystem { + my $self = shift; + return $self->{'cmp_cs'}; +} + =head2 adaptor @@ -415,119 +534,102 @@ sub _mapper { sub adaptor { - my ($self,$value) = @_; - if( defined $value) { - $self->{'adaptor'} = $value; - } - return $self->{'adaptor'}; - + my $self = shift; + $self->{'adaptor'} = shift if(@_); + return $self->{'adaptor'}; } -# this function should be customized for the assemblies that are in -# EnsEMBL. (Could be a hash of assembly_type ->size ) +=head2 in_assembly + + Description: Deprecated. Use map() or list_ids() instead +=cut -=head2 _chunksize +sub in_assembly { + my ($self, $object) = @_; - Args : none - Example : none - Description: returns the size in which this mapper registers chromosomal - regions. It should be optimized on the size of pieces - in assembly table, so that not too many and not too little - rows are retrieved. - Returntype : int - Exceptions : none - Caller : internal + deprecate('Use map() or list_ids() instead.'); -=cut + my $csa = $self->db->get_CoordSystemAdaptor(); + + my $top_level = $csa->fetch_top_level(); + + my $asma = $self->adaptor->fetch_by_CoordSystems($object->coord_system(), + $top_level); + my @list = $asma->list_ids($object->seq_region(), $object->start(), + $object->end(), $object->coord_system()); -sub _chunksize { - return 1000000; + return (@list > 0); } +=head2 map_coordinates_to_assembly -=head2 _chunk_register_region + Description: DEPRECATED use map() instead - Arg 1 : string $chr_name - Arg 2 : int $first_chunk - Arg 3 : int $last_chunk - Example : none - Description: registers the region on given chromosome from - $first_chunk*chunksize until ($last_chunk+1)*chunksize-1 - Returntype : none - Exceptions : none - Caller : register_region +=cut + +sub map_coordinates_to_assembly { + my ($self, $contig_id, $start, $end, $strand) = @_; + + deprecate('Use map() instead.'); + + #not sure if contig_id is seq_region_id or name... + return $self->map($contig_id, $start, $end, $strand, + $self->contig_CoordSystem()); + +} + + +=head2 fast_to_assembly + + Description: DEPRECATED use map() instead =cut +sub fast_to_assembly { + my ($self, $contig_id, $start, $end, $strand) = @_; -sub _chunk_register_region { - my ( $self, $chr_name, $first_chunk, $last_chunk ) = @_; + deprecate('Use map() instead.'); - foreach my $i ( $first_chunk..$last_chunk ) { - if( exists $self->{$chr_name}{$i} ) { - next; - } else { - $self->{$chr_name}{$i} = 1; - my $start = $i * $self->_chunksize(); - my $end = $start + $self->_chunksize() - 1; - $self->adaptor->register_region - ( $self, $self->_type, $chr_name, $start, $end); - - } - } + #not sure if contig_id is seq_region_id or name... + return $self->map($contig_id, $start, $end, $strand, + $self->contig_CoordSystem()); } -=head2 in_assembly +=head2 map_coordinates_to_rawcontig - Arg 1 : Bio::EnsEMBL::Clone or - Bio::EnsEMBL::RawContig $object_in_assembly - - Example : none - Description: tests if the given Clone or RawContig object is in the - assembly - Returntype : int 0,1 - Exceptions : argument type is checked - Caller : general + Description: DEPRECATED use map() instead =cut +sub map_coordinates_to_rawcontig { + my ($self, $chr_name, $start, $end, $strand) = @_; -sub in_assembly { - my ($self, $object) = @_; + deprecate('Use map() instead.'); - my @contigs; + return $self->map($chr_name, $start, $end, $strand, + $self->assembled_CoordSystem()); - unless(ref $object) { - $self->throw("$object is not an object reference"); - } +} - if($object->isa("Bio::EnsEMBL::Clone")) { - #get contigs from this clone - @contigs = @{$object->get_all_Contigs()}; - } elsif ($object->isa("Bio::EnsEMBL::RawContig")) { - #we already have the contig we need - @contigs = ($object); - } else { - #object is not a clone or a raw contig - $self->throw("$object is not a RawContig or Clone object"); - } +=head2 list_contig_ids + Description: DEPRECATED Use list_ids instead - #verify at least one of these contigs is mapped to the assembly - foreach my $contig (@contigs) { - if($self->register_region_around_contig( $contig->dbID(), - 0, 0)) { - return 1; - } - } +=cut - #none of the contigs was in the assembly (golden path) - return 0; +sub list_contig_ids { + my ($self, $chr_name, $start, $end) = @_; + + deprecate('Use list_ids() instead.'); + + return $self->list_ids($chr_name, $start, $end, + $self->assembled_CoordSystem()); } + 1; diff --git a/modules/Bio/EnsEMBL/BaseAlignFeature.pm b/modules/Bio/EnsEMBL/BaseAlignFeature.pm index 9b10abb301..59d78d104b 100644 --- a/modules/Bio/EnsEMBL/BaseAlignFeature.pm +++ b/modules/Bio/EnsEMBL/BaseAlignFeature.pm @@ -1,6 +1,5 @@ # EnsEMBL module for storing dna-protein pairwise alignments # -# Cared for by Michele Clamp <michele@sanger.ac.uk> # # You may distribute this module under the same terms as perl itself # @@ -8,19 +7,21 @@ =head1 NAME -Bio::EnsEMBL::DnaPepAlignFeature - Ensembl specific dna-protein - pairwise alignment feature +Bio::EnsEMBL::BaseAlignFeature - Baseclass providing a common abstract +implmentation for alignment features =head1 SYNOPSIS - my $feat = new Bio::EnsEMBL::DnaPepAlignFeature(-seqname => 'myseq', - -start => 100, - -end => 120, - -strand => 1, - -hstart => 200, - -hend => 220, - -analysis => $analysis, - -cigar_string => ''); + my $feat = new Bio::EnsEMBL::DnaPepAlignFeature + (-slice => $slice, + -start => 100, + -end => 120, + -strand => 1, + -hseqname => 'SP:RF1231', + -hstart => 200, + -hend => 220, + -analysis => $analysis, + -cigar_string => '10M3D5M2I'); Alternatively if you have an array of ungapped features @@ -35,13 +36,13 @@ Bio::EnsEMBL::DnaPepAlignFeature - Ensembl specific dna-protein This converts the cigar string into an array of Bio::EnsEMBL::FeaturePair $analysis is a Bio::EnsEMBL::Analysis object - - Bio::EnsEMBL::SeqFeature methods can be used + + Bio::EnsEMBL::Feature methods can be used Bio::EnsEMBL::FeaturePair methods can be used The cigar_string contains the ungapped pieces that make up the gapped alignment - + It looks like: n Matches [ x Deletes or Inserts m Matches ]* but a bit more condensed like "23M4I12M2D1M" and evenmore condensed as you can ommit 1s "23M4I12M2DM" @@ -77,14 +78,15 @@ Bio::EnsEMBL::DnaPepAlignFeature - Ensembl specific dna-protein These ungapped pieces are made up into the following string (called a cigar string) "33M3I27M3I137M" with start 267 end 479 strand -1 hstart 7 hend 75 hstrand 1 and feature type would be DnaPepAlignFeature - -=cut + +=cut package Bio::EnsEMBL::BaseAlignFeature; use Bio::EnsEMBL::FeaturePair; -use Bio::EnsEMBL::SeqFeature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw warning); use vars qw(@ISA); use strict; @@ -111,24 +113,25 @@ use strict; =cut sub new { - my ($class,@args) = @_; - - my $self = $class->SUPER::new(@args); - #print "calling new with @args\n"; - my ($cigar_string,$features) - = $self->_rearrange([qw(CIGAR_STRING FEATURES)], @args); - - if (defined($cigar_string) && defined($features)) { - $self->throw("Can't input cigar_string and an array of features."); - } elsif (defined($features)) { - $self->_parse_features($features); - } elsif (!defined($cigar_string)) { - $self->throw("Must have a cigar string defining the alignment"); - } - - $self->cigar_string($cigar_string); - - return $self; + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + my ($cigar_string,$features) = rearrange([qw(CIGAR_STRING FEATURES)], @_); + + if (defined($cigar_string) && defined($features)) { + throw("CIGAR_STRING or FEATURES argument is required - not both."); + } elsif (defined($features)) { + $self->_parse_features($features); + } elsif (defined($cigar_string)) { + $self->{'cigar_string'} = $cigar_string; + } else { + throw("CIGAR_STRING or FEATURES argument is required"); + } + + return $self; } @@ -156,6 +159,7 @@ sub new_fast { return bless $hashref, $class; } + =head2 cigar_string Arg [1] : string $cigar_string @@ -166,62 +170,18 @@ sub new_fast { (thats the ensembl sequence), "xD" for deletions (inserts in the subject). an "x" that is 1 can be omitted. Returntype : string - Exceptions : throws on a get without previous set + Exceptions : none Caller : general =cut sub cigar_string { - my ($self,$arg) = @_; - - if (defined($arg)) { - - # Do some checks to see whether this is valid - my $tmp = $arg; - - $self->{_cigar_string} = $arg; - } - - if (!defined($self->{_cigar_string})) { - $self->throw("No cigar string defined - can't return one"); - } - - return $self->{_cigar_string}; + my $self = shift; + $self->{'cigar_string'} = shift if(@_); + return $self->{'cigar_string'}; } -=head2 alignment_length - - Arg [1] : None - Example : - Description: return the alignment length (including indels) based on the cigar_string - Returntype : int - Exceptions : - Caller : - -=cut - -sub alignment_length { - my $self = shift; - - if (! defined $self->{'_alignment_length'} && defined $self->cigar_string) { - - my @pieces = ( $self->cigar_string =~ /(\d*[MDI])/g ); - unless (@pieces) { - print STDERR "Error parsing cigar_string\n"; - } - my $alignment_length = 0; - foreach my $piece (@pieces) { - my ($length) = ( $piece =~ /^(\d*)/ ); - if (! defined $length || $length eq "") { - $length = 1; - } - $alignment_length += $length; - } - $self->{'_alignment_length'} = $alignment_length; - } - return $self->{'_alignment_length'}; -} =head2 ungapped_features @@ -238,60 +198,11 @@ sub alignment_length { sub ungapped_features { my ($self) = @_; - if (defined($self->cigar_string)) { - my @features = $self->_parse_cigar; - return @features; - } else { - $self->throw("No cigar_string defined. Can't return ungapped features"); - } - -} - - - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set for the database internal id - Returntype : int - Exceptions : none - Caller : general, set from adaptor on store or retrieval - -=cut - -sub dbID{ - my ($self, $arg) = @_; - - if(defined $arg){ - $self->{_database_id} = $arg; + if (!defined($self->{'cigar_string'})) { + throw("No cigar_string defined. Can't return ungapped features"); } - return $self->{_database_id}; - -} - - - -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor $adaptor - Example : none - Description: get/set for this objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub adaptor { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'adaptor'} = $value; - } - return $self->{'adaptor'}; - + return @{$self->_parse_cigar()}; } @@ -314,7 +225,7 @@ sub reverse_complement { # reverse strand in both sequences $self->strand($self->strand * -1); $self->hstrand($self->hstrand * -1); - + # reverse cigar_string as consequence my $cigar_string = $self->cigar_string; $cigar_string =~ s/(D|I|M)/$1 /g; @@ -347,36 +258,34 @@ sub _parse_cigar { my $query_unit = $self->_query_unit(); my $hit_unit = $self->_hit_unit(); - - my $string = $self->cigar_string; - - unless(defined($string)) { - $self->throw("No cigar string defined in object. This should be caught" . - "by the cigar_string method and never happen"); - } + my $string = $self->{'cigar_string'}; + + throw("No cigar string defined in object") if(!defined($string)); my @pieces = ( $string =~ /(\d*[MDI])/g ); #print "cigar: ",join ( ",", @pieces ),"\n"; - + my @features; - my $strand1 = $self->strand() || 1; - my $strand2 = $self->hstrand() || 1; + my $strand1 = $self->{'strand'} || 1; + my $strand2 = $self->{'hstrand'}|| 1; my ( $start1, $start2 ); - + if( $strand1 == 1 ) { - $start1 = $self->start(); + $start1 = $self->{'start'}; } else { - $start1 = $self->end(); + $start1 = $self->{'end'}; } if( $strand2 == 1 ) { - $start2 = $self->hstart(); + $start2 = $self->{'hstart'}; } else { - $start2 = $self->hend(); + $start2 = $self->{'hend'}; } - + # + # Construct ungapped blocks as FeaturePairs objects for each MATCH + # foreach my $piece (@pieces) { my ($length) = ( $piece =~ /^(\d*)/ ); @@ -392,78 +301,80 @@ sub _parse_cigar { } elsif ( $query_unit == 1 && $hit_unit == 1 ) { $mapped_length = $length; } else { - $self->throw("Internal error $query_unit $hit_unit, currently only " . - "allowing 1 or 3 "); + throw("Internal error $query_unit $hit_unit, currently only " . + "allowing 1 or 3 "); } - + if( int($mapped_length) != $mapped_length ) { - $self->throw("Internal error with mismapped length of hit, query " . - "$query_unit, hit $hit_unit, length $length"); + throw("Internal error with mismapped length of hit, query " . + "$query_unit, hit $hit_unit, length $length"); } if( $piece =~ /M$/ ) { - my $fp = new Bio::EnsEMBL::FeaturePair; - - my ( $a, $b ); + # + # MATCH + # + my ( $qstart, $qend); if( $strand1 == 1 ) { - $a = $start1; - $b = $start1 + $length - 1; - $start1 = $b + 1; + $qstart = $start1; + $qend = $start1 + $length - 1; + $start1 = $qend + 1; } else { - $b = $start1; - $a = $start1 - $length + 1; - $start1 = $a - 1; + $qend = $start1; + $qstart = $start1 - $length + 1; + $start1 = $qstart - 1; } - - $fp->start($a); - $fp->end ($b); - $fp->strand($self->strand() ); - $fp->score($self->score); - $fp->seqname($self->seqname); - $fp->phase($self->phase); - $fp->p_value($self->p_value); - $fp->percent_id($self->percent_id); + my ($hstart, $hend); if( $strand2 == 1 ) { - $a = $start2; - $b = $start2 + $mapped_length - 1; - $start2 = $b + 1; + $hstart = $start2; + $hend = $start2 + $mapped_length - 1; + $start2 = $hend + 1; } else { - $b = $start2; - $a = $start2 - $mapped_length + 1; - $start2 = $a - 1; + $hend = $start2; + $hstart = $start2 - $mapped_length + 1; + $start2 = $hstart - 1; } - $fp->hstart($a); - $fp->hend($b); - $fp->hstrand($self->hstrand()); - $fp->hseqname($self->hseqname); - - $fp->contig($self->contig); - $fp->analysis($self->analysis); + push @features, Bio::EnsEMBL::FeaturePair->new + (-SLICE => $self->{'slice'}, + -START => $qstart, + -END => $qend, + -STRAND => $strand1, + -HSEQNAME => $self->{'hseqname'}, + -HSTART => $hstart, + -HEND => $hend, + -HSTRAND => $strand2, + -SCORE => $self->{'score'}, + -PERCENT_ID => $self->{'percent_id'}, + -ANALYSIS => $self->{'analysis'}, + -P_VALUE => $self->{'p_value'}); - push(@features,$fp); # end M cigar bits } elsif( $piece =~ /I$/ ) { + # + # INSERT + # if( $strand1 == 1 ) { $start1 += $length; } else { $start1 -= $length; } } elsif( $piece =~ /D$/ ) { + # + # DELETION + # if( $strand2 == 1 ) { $start2 += $mapped_length; } else { $start2 -= $mapped_length; } } else { - $self->throw( "Illegal cigar line $string!" ); - } - + throw( "Illegal cigar line $string!" ); + } } - # should the features be sorted ? - # - return @features; + + return \@features; } @@ -477,7 +388,7 @@ sub _parse_cigar { entries. Returntype : none, fills in values of self Exceptions : argument list undergoes many sanity checks - throws under many - invalid conditions + invalid conditions Caller : new =cut @@ -489,13 +400,15 @@ sub _parse_features { my $hit_unit = $self->_hit_unit(); if (ref($features) ne "ARRAY") { - $self->throw("features must be an array reference not a [" . - ref($features) . "]"); + throw("features must be an array reference not a [".ref($features)."]"); } - my $strand = $features->[0]->strand; + my $strand = $features->[0]->strand; + + throw ('FeaturePair needs to have strand == 1 or strand == -1') if(!$strand); + my @f; - + # # Sort the features on their start position # Ascending order on positive strand, descending on negative strand @@ -506,30 +419,25 @@ sub _parse_features { @f = sort { $b->start <=> $a->start} @$features; } - my $hstrand = $f[0]->hstrand; - my $contig = $f[0]->contig(); - my $name = $f[0]->seqname; + my $slice = $f[0]->slice(); + my $name = $slice->name() if($slice); my $hname = $f[0]->hseqname; my $score = $f[0]->score; my $percent = $f[0]->percent_id; - my $pvalue = $f[0]->p_value; my $analysis = $f[0]->analysis; - my $phase = $f[0]->phase; - + my $pvalue = $f[0]->p_value(); + # implicit strand 1 for peptide sequences - ( defined $strand ) || ( $strand = 1 ); - ( defined $hstrand ) || ( $hstrand = 1 ); + $strand ||= 1; + $hstrand ||= 1; my $ori = $strand * $hstrand; - - - if (scalar(@f) == 0) { - $self->throw("No features in the array to parse"); - } + + throw("No features in the array to parse") if(scalar(@f) == 0); my $prev1; # where last feature q part ended my $prev2; # where last feature s part ended - + my $string; # Use strandedness info of query and hit to make sure both sets of @@ -565,35 +473,35 @@ sub _parse_features { # if (!$f->isa("Bio::EnsEMBL::FeaturePair")) { - $self->throw("Array element [$f] is not a Bio::EnsEMBL::FeaturePair"); + throw("Array element [$f] is not a Bio::EnsEMBL::FeaturePair"); } - if( defined $f->hstrand() ) { - if ($f->hstrand != $hstrand) { - $self->throw("Inconsistent hstrands in feature array"); - } + if( defined($f->hstrand()) && $f->hstrand() != $hstrand ) { + throw("Inconsistent hstrands in feature array"); } - if( defined $f->strand() ) { - if ($f->strand != $strand) { - $self->throw("Inconsistent strands in feature array"); - } + if( defined($f->strand()) && ($f->strand != $strand)) { + throw("Inconsistent strands in feature array"); } - if ($name ne $f->seqname) { - $self->throw("Inconsistent names in feature array [$name - " . - $f->seqname . "]"); + if ( defined($name) && $name ne $f->slice->name()) { + throw("Inconsistent names in feature array [$name - ". + $f->slice->name()."]"); } - if ($hname ne $f->hseqname) { - $self->throw("Inconsistent names in feature array [$hname - " . - $f->hseqname . "]"); + if ( defined($hname) && $hname ne $f->hseqname) { + throw("Inconsistent hit names in feature array [$hname - ". + $f->hseqname . "]"); } - if ($score ne $f->score) { - $self->throw("Inconsisent scores in feature array [$score - " . - $f->score . "]"); + if ( defined($score) && $score ne $f->score) { + throw("Inconsisent scores in feature array [$score - " . + $f->score . "]"); } if (defined($f->percent_id) && $percent ne $f->percent_id) { - $self->throw("Inconsistent pids in feature array [$percent - " . - $f->percent_id . "]"); + throw("Inconsistent pids in feature array [$percent - " . + $f->percent_id . "]"); + } + if(defined($pvalue) && $pvalue != $f->p_value()) { + throw("Inconsistant p_values in feature arraw [$pvalue " . + $f->p_value() . "]"); } - + my $start1 = $f->start; #source sequence alignment start my $start2 = $f->hstart(); #hit sequence alignment start @@ -602,18 +510,17 @@ sub _parse_features { # if (defined($prev1)) { if ( $strand == 1 ) { - if ($f->start < $prev1) { - $self->throw("Inconsistent coordinates feature is forward strand " . - "hstart in current feature should be greater than " . - "hend in previous feature " . $f->start . " < " . - $prev1."\n"); - } + if ($f->start < $prev1) { + throw("Inconsistent coords in feature array (forward strand).\n" . + "Start [".$f->start()."] in current feature should be greater " . + "than previous feature end [$prev1]."); + } } else { - if ($f->end > $prev1) { - $self->throw("Inconsistent coordinates in feature array feature " . - "is reverse strand hend should be less than previous " . - "hstart " . $f->end . " > $prev1"); - } + if ($f->end > $prev1) { + throw("Inconsistent coords in feature array (reverse strand).\n" . + "End [".$f->end() ."] should be less than previous feature " . + "start [$prev1]."); + } } } @@ -622,7 +529,7 @@ sub _parse_features { # using multiplication to avoid rounding errors, hence the # switch from query to hit for the ratios - + # # Yet more sanity checking # @@ -632,19 +539,17 @@ sub _parse_features { my $query_p_length = sprintf "%.0f", ($length/$query_unit); my $hit_p_length = sprintf "%.0f", ($hlength * $hit_unit); if( $query_p_length != $hit_p_length) { - #print STDERR $length."/".$query_unit." ".$hlength."*".$hit_unit."\n"; - $self->throw( "Feature lengths not comparable Lengths:" .$length . - " " . $hlength . " Ratios:" . $query_unit . " " . - $hit_unit ); + throw( "Feature lengths not comparable Lengths:" .$length . + " " . $hlength . " Ratios:" . $query_unit . " " . + $hit_unit ); } } else{ my $query_d_length = sprintf "%.0f", ($length*$hit_unit); my $hit_d_length = sprintf "%.0f", ($hlength * $query_unit); if( $length * $hit_unit != $hlength * $query_unit ) { - - $self->throw( "Feature lengths not comparable Lengths:" . $length . - " " . $hlength . " Ratios:" . $query_unit . " " . - $hit_unit ); + throw( "Feature lengths not comparable Lengths:" . $length . + " " . $hlength . " Ratios:" . $query_unit . " " . + $hit_unit ); } } @@ -660,13 +565,13 @@ sub _parse_features { if( $strand == 1 ) { if( ( defined $prev1 ) && ( $f->start > $prev1 + 1 )) { - #there is an insertion - $insertion_flag = 1; - my $gap = $f->start - $prev1 - 1; - if( $gap == 1 ) { - $gap = ""; # no need for a number if gap length is 1 - } - $string .= "$gap"."I"; + #there is an insertion + $insertion_flag = 1; + my $gap = $f->start - $prev1 - 1; + if( $gap == 1 ) { + $gap = ""; # no need for a number if gap length is 1 + } + $string .= "$gap"."I"; } @@ -676,19 +581,19 @@ sub _parse_features { if(( defined $prev1 ) && ($f->end + 1 < $prev1 )) { - #there is an insertion - $insertion_flag = 1; - my $gap = $prev1 - $f->end() - 1; - if( $gap == 1 ) { - $gap = ""; # no need for a number if gap length is 1 - } - $string .= "$gap"."I"; + #there is an insertion + $insertion_flag = 1; + my $gap = $prev1 - $f->end() - 1; + if( $gap == 1 ) { + $gap = ""; # no need for a number if gap length is 1 + } + $string .= "$gap"."I"; } #shift our position in the source seq alignment $prev1 = $f->start(); } - + # # Check to see if there is a D type (deletion) gap # There is a deletion gap if there is a space between the end of the @@ -697,48 +602,47 @@ sub _parse_features { if( $hstrand == 1 ) { if(( defined $prev2 ) && ( $f->hstart() > $prev2 + 1 )) { - #there is a deletion - my $gap = $f->hstart - $prev2 - 1; - my $gap2 = int( $gap * $hlengthfactor + 0.05 ); + #there is a deletion + my $gap = $f->hstart - $prev2 - 1; + my $gap2 = int( $gap * $hlengthfactor + 0.5 ); - if( $gap2 == 1 ) { - $gap2 = ""; # no need for a number if gap length is 1 - } - $string .= "$gap2"."D"; - - #sanity check, Should not be an insertion and deletion - if($insertion_flag) { - $self->warn("Should not be an deletion and insertion on the " . - "same alignment region. cigar_line=$string\n"); - } - } + if( $gap2 == 1 ) { + $gap2 = ""; # no need for a number if gap length is 1 + } + $string .= "$gap2"."D"; + + #sanity check, Should not be an insertion and deletion + if($insertion_flag) { + warning("Should not be an deletion and insertion on the " . + "same alignment region. cigar_line=$string\n"); + } + } #shift our position in the hit seq alignment $prev2 = $f->hend(); } else { if( ( defined $prev2 ) && ( $f->hend() + 1 < $prev2 )) { - #there is a deletion - my $gap = $prev2 - $f->hend - 1; - my $gap2 = int( $gap * $hlengthfactor + 0.05 ); + #there is a deletion + my $gap = $prev2 - $f->hend - 1; + my $gap2 = int( $gap * $hlengthfactor + 0.5 ); - if( $gap2 == 1 ) { - $gap2 = ""; # no need for a number if gap length is 1 - } - $string .= "$gap2"."D"; - - #sanity check, Should not be an insertion and deletion - if($insertion_flag) { - $self->throw("Should not be an deletion and insertion on the " . - "same alignment region. prev2 = $prev2; f->hend() = " . - $f->hend() . "; cigar_line = $string;\n"); - } + if( $gap2 == 1 ) { + $gap2 = ""; # no need for a number if gap length is 1 + } + $string .= "$gap2"."D"; + + #sanity check, Should not be an insertion and deletion + if($insertion_flag) { + throw("Should not be an deletion and insertion on the " . + "same alignment region. prev2 = $prev2; f->hend() = " . + $f->hend() . "; cigar_line = $string;\n"); + } } #shift our position in the hit seq alignment - $prev2 = $f->hstart(); } - + my $matchlength = $f->end() - $f->start() + 1; if( $matchlength == 1 ) { $matchlength = ""; @@ -746,117 +650,23 @@ sub _parse_features { $string .= $matchlength."M"; } - if(!$score){ - #$self->warn("score is not set assume its 1"); - $score = 1; - } - my $feature1 = new Bio::EnsEMBL::SeqFeature(); - - $feature1->start($f1start); - $feature1->end ($f1end); - $feature1->strand($strand); - $feature1->score($score); - $feature1->percent_id($percent); - $feature1->p_value($pvalue); - if( $contig ) { - $feature1->contig($contig); - } else { - $feature1->seqname($name); - } - $feature1->phase($phase); - $feature1->analysis($analysis); - $feature1->validate; - - my $feature2 = new Bio::EnsEMBL::SeqFeature(); - - $feature2->start($f2start); - $feature2->end ($f2end); - $feature2->strand($hstrand); - $feature2->score($score); - $feature2->seqname($hname); - $feature2->percent_id($percent); - $feature2->p_value($pvalue); - $feature2->phase($phase); - $feature2->analysis($analysis); - $feature2->validate; - - - $self->feature1($feature1); - $self->feature2($feature2); - $self->cigar_string($string); - + $self->{'start'} = $f1start; + $self->{'end'} = $f1end; + $self->{'strand'} = $strand; + $self->{'score'} = $score; + $self->{'percent_id'} = $percent; + $self->{'analysis'} = $analysis; + $self->{'slice'} = $slice; + $self->{'hstart'} = $f2start; + $self->{'hend'} = $f2end; + $self->{'hstrand'} = $hstrand; + $self->{'hseqname'} = $hname; + $self->{'cigar_string'} = $string; + $self->{'p_value'} = $pvalue; } -=head2 _transform_to_RawContig - - Arg [1] : none - Example : none - Description: PRIVATE method. Transforms this feature from slice coordinates - to rawcontig coodinates. - Returntype : list of BaseAlignFeatures - Exceptions : none - Caller : transform - -=cut - -sub _transform_to_RawContig{ - my ($self) = @_; - - my $slice = $self->contig; - - unless($slice){ - $self->throw("can't transform coordinates of $self " - . " without slice attached to feature"); - } - - my $adaptor = $slice->adaptor; - - unless($adaptor) { - $self->throw("can't transform $self without an adaptor attached " . - "to the feature's slice"); - } - - my $rcAdaptor = $adaptor->db->get_RawContigAdaptor(); - my @out; - - #parse cigarline and split this gapped feature into list of ungapped features - my @features = $self->_parse_cigar(); - - my @mapped_features; - my %rc_features; - - #transform each of the ungapped features into raw contig coordinates - foreach my $f(@features){ - push @mapped_features, $self->_transform_feature_to_RawContig($f); - } - - #sort the transformed ungapped features into contig buckets - foreach my $mf(@mapped_features){ - my $contig_id = $mf->contig->dbID; - unless($rc_features{$contig_id}){ - $rc_features{$contig_id} = []; - } - push(@{$rc_features{$contig_id}}, $mf); - } - - #create a single gapped feature from all the ungapped features - #in each contig bucket - foreach my $contig_id (keys(%rc_features)){ - #create a gapped feature from a list of ungapped features - my $outputf = $self->new( -features => $rc_features{$contig_id} ); - $outputf->analysis( $self->analysis() ); - $outputf->score( $self->score() ); - $outputf->percent_id( $self->percent_id() ); - $outputf->p_value( $self->p_value()); - my $contig = $rcAdaptor->fetch_by_dbID($contig_id); - $outputf->contig($contig); - push(@out, $outputf); - } - - return @out; -} @@ -874,7 +684,7 @@ sub _transform_to_RawContig{ sub _hit_unit { my $self = shift; - $self->throw( "Abstract method call!" ); + throw( "Abstract method call!" ); } @@ -893,221 +703,10 @@ sub _hit_unit { sub _query_unit { my $self = shift; - $self->throw( "Abstract method call!" ); + throw( "Abstract method call!" ); } -=head2 _transform_feature_to_RawContig - - Arg [1] : Bio::EnsEMBL::FeaturePair - Example : none - Description: Transforms a component ungapped feature from slice coordinates - to RawContig coordinates. - Returntype : list of Bio::EnsEMBL::FeaturePairs - Exceptions : thrown if feature is not attached to a contig (slice) - thrown if attached slice does not have an adaptor - Caller : internal - -=cut - -sub _transform_feature_to_RawContig{ - my($self, $feature) = @_; - - my $slice = $feature->contig; - - unless($slice){ - $self->throw("can't transform coordinates of ".$self. - " without some sort of contig defined"); - } - - my $adaptor = $slice->adaptor; - - unless($adaptor) { - $self->throw("can't tranform coordinates of $self without " . - "adaptor attached to feature's slice"); - } - - my $asma = $adaptor->db->get_AssemblyMapperAdaptor; - my $mapper = $asma->fetch_by_type( $self->contig()->assembly_type() ); - - my $rcAdaptor = $adaptor->db->get_RawContigAdaptor(); - - my $slice_start = $slice->chr_start; - my $slice_end = $slice->chr_end; - my $slice_strand = $slice->strand; - my ($global_start, $global_end, $global_strand); - - #change feature coords from slice coordinates to assembly coords - if($slice_strand == 1) { - $global_start = $feature->start + $slice_start - 1; - $global_end = $feature->end + $slice_start - 1; - $global_strand = $feature->strand; - } else { - $global_start = $slice_end - $feature->end + 1; - $global_end = $slice_end - $feature->start + 1; - $global_strand = $feature->strand * -1; - } - - - #convert assembly coords to raw contig coords - my @mapped = $mapper->map_coordinates_to_rawcontig - ( - $slice->chr_name(), - $global_start, - $global_end, - $global_strand - ); - - if( ! @mapped ) { - $self->throw( "couldn't map ".$self."\n" ); - return $self; - } - - my @out; - my ( $hit_start, $hit_end ); - my $codon_unused_bases = 0; - - if( scalar( @mapped ) > 1 ) { - #The feature needs to be mapped accross multiple contigs - - if( $feature->hstrand == 1 ) { - $hit_start = $feature->hstart(); - } else { - $hit_end = $feature->hend(); - } - - #split the feature into a seperate feature for each raw contig - SPLIT: for( my $i=0; $i <= $#mapped; $i++ ) { - if($mapped[$i]->isa("Bio::EnsEMBL::Mapper::Gap")){ - $self->warn("piece of evidence lies on gap\n"); - next SPLIT; - } - - #caculate query and hit length for each portion of the split feature - #may need to round hit length to avoid 'partial' peptide - - # decision of Michele to not cover split codons - - my $query_length = ($mapped[$i]->end - $mapped[$i]->start + 1); - my $query_start = $mapped[$i]->start(); - my $query_end = $mapped[$i]->end(); - - my $hit_length; - - if($self->_query_unit == $self->_hit_unit){ - - # DnaDna and PepPep case - $hit_length = $query_length; - - } elsif( $self->_query_unit > $self->_hit_unit ){ - - # DnaPepAlign case - # my $tmp = ($query_length/$self->_query_unit); - # $hit_length = sprintf "%.0f", $tmp; #round value up or down - - $hit_length = int(( $query_length - $codon_unused_bases ) / - $self->_query_unit() ); - - if( $codon_unused_bases ) { - if( $feature->hstrand() == 1 ) { - $hit_start++; - } else { - $hit_end--; - } - } - - my $used_bases = $query_length - $codon_unused_bases - - $hit_length*$self->_query_unit(); - - if( $mapped[$i]->strand() == -1 ) { - $query_end -= $codon_unused_bases; - $query_start += $used_bases; - } else { - $query_start += $codon_unused_bases; - $query_end -= $used_bases; - } - - - # new rest at the end ... - if( $used_bases ) { - $codon_unused_bases = 3 - $used_bases; - } else { - $codon_unused_bases = 0; - } - - } elsif($self->_hit_unit > $self->_query_unit){ - - # PepDnaAlign case (rare) - my $tmp = ($query_length*$self->_hit_unit); - $hit_length = sprintf "%.0f", $tmp; #round value up or down - } - - if($hit_length == 0){ - next SPLIT; - } - - if( $feature->hstrand() == 1 ) { - $hit_end = ($hit_start + $hit_length) - 1; - } else { - $hit_start = ( $hit_end - $hit_length + 1 ); - } - - - my $rawContig = $rcAdaptor->fetch_by_dbID( $mapped[$i]->id() ); - - #create the new feature - my $new_feature = Bio::EnsEMBL::FeaturePair->new; - $new_feature->start($query_start); - $new_feature->end($query_end); - $new_feature->strand($mapped[$i]->strand); - $new_feature->score($feature->score); - $new_feature->percent_id($feature->percent_id); - $new_feature->p_value($feature->p_value); - $new_feature->hstart($hit_start); - $new_feature->hend($hit_end); - $new_feature->hstrand($feature->hstrand); - $new_feature->hseqname($feature->hseqname); - $new_feature->analysis($feature->analysis); - $new_feature->contig($rawContig); - - push(@out, $new_feature); - - if( $feature->hstrand() == 1 ) { - $hit_start = ($hit_end + 1); - } else { - $hit_end = $hit_start -1; - } - } - }else{ - #feature maps to single contig - - if($mapped[0]->isa("Bio::EnsEMBL::Mapper::Gap")){ - $self->warn("piece of evidence lies on gap\n"); - return; - } - - #create the new feature - my $rawContig = $rcAdaptor->fetch_by_dbID( $mapped[0]->id() ); - my $new_feature = Bio::EnsEMBL::FeaturePair->new; - $new_feature->start($mapped[0]->start); - $new_feature->end($mapped[0]->end); - $new_feature->strand($mapped[0]->strand); - $new_feature->score($feature->score); - $new_feature->percent_id($feature->percent_id); - $new_feature->p_value($feature->p_value); - $new_feature->hstart($feature->hstart); - $new_feature->hend($feature->hend); - $new_feature->hstrand($feature->hstrand); - $new_feature->hseqname($feature->hseqname); - $new_feature->analysis($feature->analysis); - $new_feature->contig($rawContig); - - push(@out, $new_feature); - } - - - return @out; -} 1; diff --git a/modules/Bio/EnsEMBL/ChainedAssemblyMapper.pm b/modules/Bio/EnsEMBL/ChainedAssemblyMapper.pm new file mode 100644 index 0000000000..cdfd072fa8 --- /dev/null +++ b/modules/Bio/EnsEMBL/ChainedAssemblyMapper.pm @@ -0,0 +1,548 @@ + +# +# Ensembl module for Bio::EnsEMBL::ChainedAssemblyMapper +# +# Written by Graham McVicker +# +# Copyright GRL and EBI +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::ChainedAssemblyMapper - +Handles mapping between two coordinate systems using the information stored in +the assembly table + +=head1 SYNOPSIS + $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + $asma = $db->get_AssemblyMapperAdaptor(); + $csa = $db->get_CoordSystemAdaptor(); + + my $chr_cs = $cs_adaptor->fetch_by_name('chromosome', 'NCBI33'); + my $cln_cs = $cs_adaptor->fetch_by_name('clone'); + + $asm_mapper = $map_adaptor->fetch_by_CoordSystems($cs1, $cs2); + + #map to contig coordinate system from chromosomal + @cln_coords = $asm_mapper->map('X', 1_000_000, 2_000_000, 1, $chr_cs); + + #map to chromosome coordinate system from contig + @chr_coords = $asm_mapper->map('AL30421.1',100,10000,-1,$cln_cs); + + #list contig names for a region of chromsome + @cln_ids = $asm_mapper->list_ids('13', 1_000_000, 1, $chr_cs); + + #list chromosome names for a contig region + @chr_ids = $asm_mapper->list_ids('AL30421.1',1,1000,-1,$cln_cs); + +=head1 DESCRIPTION + +The ChainedAssemblyMapper is an extension of the regular AssemblyMapper that +allows for mappings between coordinate systems that require multi-step mapping. +For example if explicit mappings are defined between the following +coordinate systems, + chromosome <-> contig + contig <-> clone +the ChainedAssemblyMapper would be able to perform implicit mapping between +the chromosome and clone coordinate systems. This should be transparent to +the user of this module, and users should not even realise that they are using +a chained assembly mapper as opposed to a normal assembly mapper. + +=head1 CONTACT + +Post general queries to B<ensembl-dev@ebi.ac.uk> + +=head1 METHODS + +=cut + + +my $FIRST = 'first'; +my $MIDDLE = 'middle'; +my $LAST = 'last'; + +package Bio::EnsEMBL::ChainedAssemblyMapper; + +use strict; +use warnings; +use integer; #use proper arithmetic bitshifts + +use Bio::EnsEMBL::Mapper; +use Bio::EnsEMBL::Mapper::RangeRegistry; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); + +my $CHUNKFACTOR = 20; #2^20 = approx 10^6 +my $MAX_PAIR_COUNT = 6000; # max size of the pair cache in the mappers + +=head2 new + + Arg [1] : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Arg [2] : Bio::EnsEMBL::CoordSystem $src_cs + Arg [3] : Bio::EnsEMBL::CoordSystem $int_cs + Arg [4] : Bio::EnsEMBL::CoordSystem $dst_cs + Example : Should use AssemblyMapperAdaptor->fetch_by_CoordSystems + Description: Creates a new AssemblyMapper + Returntype : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Exceptions : thrown if wrong number of coord_systems are provided + Caller : AssemblyMapperAdaptor + +=cut + +sub new { + my ($caller,$adaptor,@coord_systems) = @_; + + my $class = ref($caller) || $caller; + + my $self = {}; + bless $self, $class; + + $self->adaptor($adaptor); + + if(@coord_systems != 3) { + throw('ChainedMapper can only map between 3 coordinate systems. ' . + scalar(@coord_systems) . ' were provided'); + } + + # Set the component, intermediate and assembled coordinate systems + $self->{'first_cs'} = $coord_systems[0]; + $self->{'mid_cs'} = $coord_systems[1]; + $self->{'last_cs'} = $coord_systems[2]; + + #maps between first and intermediate coord systems + $self->{'first_mid_mapper'} = Bio::EnsEMBL::Mapper->new($FIRST, $MIDDLE); + + #maps between last and intermediate + $self->{'last_mid_mapper'} = Bio::EnsEMBL::Mapper->new($LAST, $MIDDLE); + + #mapper that is actually used and is loaded by the mappings generated + #by the other two mappers + $self->{'first_last_mapper'} = Bio::EnsEMBL::Mapper->new($FIRST, $LAST); + + #need registries to keep track of what regions are registered in source + #and destination coordinate systems + $self->{'first_registry'} = Bio::EnsEMBL::Mapper::RangeRegistry->new(); + $self->{'last_registry'} = Bio::EnsEMBL::Mapper::RangeRegistry->new(); + + return $self; +} + + +sub flush { + my $self = shift; + $self->{'first_registry'}->flush(); + $self->{'last_registry'}->flush(); + + $self->{'first_mid_mapper'}->flush(); + $self->{'last_mid_mapper'}->flush(); + $self->{'first_last_mapper'}->flush(); +} + +sub size { + my $self = shift; + return ( $self->{'first_last_mapper'}->{'pair_count'} + + $self->{'last_mid_mapper'}->{'pair_count'} + + $self->{'first_mid_mapper'}->{'pair_count'} ); +} + + + +=head2 map + + Arg [1] : string $frm_seq_region + The name of the sequence region to transform FROM + Arg [2] : int $frm_start + The start of the region to transform FROM + Arg [3] : int $frm_end + The end of the region to transform FROM + Arg [4] : int $strand + The strand of the region to transform FROM + Arg [5] : Bio::EnsEMBL::CoordSystem + The coordinate system to transform FROM + Example : @coords = $asm_mapper->map('X', 1_000_000, 2_000_000, + 1, $chr_cs); + Description: Transforms coordinates from one coordinate system + to another. + Returntype : List of Bio::EnsEMBL::Mapper::Coordinate and/or + Bio::EnsEMBL::Mapper:Gap objects + Exceptions : thrown if the specified TO coordinat system is not one + of the coordinate systems associated with this assembly mapper + Caller : general + +=cut + +sub map { + throw('Incorrect number of arguments.') if(@_ < 6); + + my ($self, $frm_seq_region, $frm_start, + $frm_end, $frm_strand, $frm_cs, $fastmap) = @_; + + my $mapper = $self->{'first_last_mapper'}; + my $first_cs = $self->{'first_cs'}; + my $last_cs = $self->{'last_cs'}; + + my $frm; + my $registry; + + #speed critical section: + #try to do simple pointer equality comparisons of the coord system objects + #first since this is likely to work most of the time and is much faster + #than a function call + + if($frm_cs == $first_cs || + ($frm_cs != $last_cs && $frm_cs->equals($first_cs))) { + $frm = $FIRST; + $registry = $self->{'first_registry'}; + } elsif($frm_cs == $last_cs || $frm_cs->equals($last_cs)) { + $frm = $LAST; + $registry = $self->{'last_registry'}; + } else { + throw("Coordinate system " . $frm_cs->name . " " . $frm_cs->version . + " is neither the first nor the last coordinate system " . + " of this ChainedAssemblyMapper"); + } + + #the minimum area we want to register if registration is necessary is + #about 1MB. Break requested ranges into chunks of 1MB and then register + #this larger region if we have a registry miss. + + #use bitwise shift for fast and easy integer multiplication and division + my ($min_start, $min_end); + + $min_start = (($frm_start >> $CHUNKFACTOR) << $CHUNKFACTOR); + $min_end = ((($frm_end >> $CHUNKFACTOR) + 1) << $CHUNKFACTOR) - 1 ; + + #get a list of ranges in the requested region that have not been registered, + #and register them at the same + + #print STDERR "frm_start=$frm_start frm_end=$frm_end" . + # "min_start=$min_start min_end=$min_end\n"; + + my $ranges = + $registry->check_and_register($frm_seq_region, $frm_start, $frm_end, + $min_start, $min_end); + + if(defined($ranges)) { + if( $self->size() > $MAX_PAIR_COUNT ) { + $self->flush(); + $ranges = + $registry->check_and_register($frm_seq_region, $frm_start, $frm_end, + $min_start, $min_end); + } + $self->adaptor->register_chained($self,$frm,$frm_seq_region,$ranges); + } + + if($fastmap) { + return $mapper->fastmap($frm_seq_region, $frm_start, $frm_end, + $frm_strand, $frm); + } + + return $mapper->map_coordinates($frm_seq_region, $frm_start, $frm_end, + $frm_strand, $frm); +} + + +sub fastmap { + my $self = shift; + $self->map(@_,1); +} + + + +=head2 list_seq_regions + + Arg [1] : string $frm_seq_region + The name of the sequence region of interest + Arg [2] : int $frm_start + The start of the region of interest + Arg [3] : int $frm_end + The end of the region to transform of interest + Arg [5] : Bio::EnsEMBL::CoordSystem $frm_cs + The coordinate system to obtain overlapping ids of + Example : foreach $id ($asm_mapper->list_ids('X',1,1000,$ctg_cs)) {...} + Description: Retrieves a list of overlapping seq_region internal identifiers + of another coordinate system. This is the same as the + list_ids method but uses seq_region names rather internal ids + Returntype : List of strings + Exceptions : none + Caller : general + +=cut + + +sub list_seq_regions { + throw('Incorrect number of arguments.') if(@_ != 5); + my($self, $frm_seq_region, $frm_start, $frm_end, $frm_cs) = @_; + + #the minimum area we want to register if registration is necessary is + #about 1MB. Break requested ranges into chunks of 1MB and then register + #this larger region if we have a registry miss. + + #use bitwise shift for fast and easy integer multiplication and division + my $min_start; + my $min_end; + + $min_start = (($frm_start >> $CHUNKFACTOR) << $CHUNKFACTOR); + $min_end = ((($frm_end >> $CHUNKFACTOR) + 1) << $CHUNKFACTOR) - 1; + + if($frm_cs->equals($self->{'first_cs'})) { + my $registry = $self->{'first_registry'}; + my $ranges = + $registry->check_and_register($frm_seq_region, $frm_start, $frm_end, + $min_start, $min_end); + + if(defined($ranges)) { + $self->adaptor->register_chained($self,$FIRST,$frm_seq_region,$ranges); + } + + return map {$_->to()->id()} + $self->first_last_mapper()->list_pairs($frm_seq_region, $frm_start, + $frm_end, $FIRST); + + } elsif($frm_cs->equals($self->{'last_cs'})) { + my $registry = $self->{'last_registry'}; + my $ranges = + $registry->check_and_register($frm_seq_region, $frm_start, $frm_end, + $min_start, $min_end); + + if(defined($ranges)) { + $self->adaptor->register_chained($self,$LAST,$frm_seq_region,$ranges); + } + + return map {$_->from()->id()} + $self->first_last_mapper()->list_pairs($frm_seq_region, $frm_start, + $frm_end, $LAST); + } else { + throw("Coordinate system " . $frm_cs->name . " " . $frm_cs->version . + " is neither the first nor the last coordinate system " . + " of this ChainedAssemblyMapper"); + } +} + + +=head2 list_ids + + Arg [1] : string $frm_seq_region + The name of the sequence region of interest + Arg [2] : int $frm_start + The start of the region of interest + Arg [3] : int $frm_end + The end of the region to transform of interest + Arg [5] : Bio::EnsEMBL::CoordSystem $frm_cs + The coordinate system to obtain overlapping ids of + Example : foreach $id ($asm_mapper->list_ids('X',1,1000,$chr_cs)) {...} + Description: Retrieves a list of overlapping seq_region internal identifiers + of another coordinate system. This is the same as the + list_seq_regions method but uses internal identfiers rather + than seq_region strings + Returntype : List of ints + Exceptions : none + Caller : general + +=cut + +sub list_ids { + throw('Incorrect number of arguments.') if(@_ != 5); + my($self, $frm_seq_region, $frm_start, $frm_end, $frm_cs) = @_; + + #retrieve the seq_region names + my @seq_regs = + $self->list_seq_regions($frm_seq_region,$frm_start,$frm_end,$frm_cs); + + #The seq_regions are from the 'to' coordinate system not the + #from coordinate system we used to obtain them + my $to_cs; + if($frm_cs->equals($self->first_CoordSystem())) { + $to_cs = $self->last_CoordSystem(); + } else { + $to_cs = $self->first_CoordSystem(); + } + + #convert them to ids + return @{$self->adaptor()->seq_regions_to_ids($to_cs, \@seq_regs)}; +} + + + + + + +sub first_last_mapper { + my $self = shift; + return $self->{'first_last_mapper'}; +} + +sub first_middle_mapper { + my $self = shift; + return $self->{'first_mid_mapper'}; +} + +sub last_middle_mapper { + my $self = shift; + return $self->{'last_mid_mapper'}; +} + + +sub first_CoordSystem { + my $self = shift; + return $self->{'first_cs'}; +} + + +sub middle_CoordSystem { + my $self = shift; + return $self->{'mid_cs'}; +} + +sub last_CoordSystem { + my $self = shift; + return $self->{'last_cs'}; +} + +sub first_registry { + my $self = shift; + return $self->{'first_registry'}; +} + +sub last_registry { + my $self = shift; + return $self->{'last_registry'}; +} + + + + + +# +# Methods supplied to maintain polymorphism with AssemblyMapper +# there is no real assembled or component in the chained mapper, since the +# ordering is arbitrary and both ends might actually be assembled, but these +# methods provide convenient synonyms +# +sub mapper { + my $self = shift; + return $self->first_last_mapper(); +} +sub assembled_CoordSystem { + my $self = shift; + return $self->{'first_cs'}; +} +sub component_CoordSystem { + my $self = shift; + return $self->{'last_cs'}; +} + + +=head2 adaptor + + Arg [1] : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor $adaptor + Example : none + Description: get/set for this objects database adaptor + Returntype : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Exceptions : none + Caller : general + +=cut + +sub adaptor { + my $self = shift; + $self->{'adaptor'} = shift if(@_); + return $self->{'adaptor'}; +} + + +=head2 in_assembly + + Description: Deprecated. Use map() or list_ids() instead + +=cut + +sub in_assembly { + my ($self, $object) = @_; + + deprecate('Use map() or list_ids() instead.'); + + my $csa = $self->db->get_CoordSystemAdaptor(); + + my $top_level = $csa->fetch_top_level(); + + my $asma = $self->adaptor->fetch_by_CoordSystems($object->coord_system(), + $top_level); + + my @list = $asma->list_ids($object->seq_region(), $object->start(), + $object->end(), $object->coord_system()); + + return (@list > 0); +} + + +=head2 map_coordinates_to_assembly + + Description: DEPRECATED use map() instead + +=cut + +sub map_coordinates_to_assembly { + my ($self, $contig_id, $start, $end, $strand) = @_; + + deprecate('Use map() instead.'); + + #not sure if contig_id is seq_region_id or name... + return $self->map($contig_id, $start, $end, $strand, + $self->contig_CoordSystem()); + +} + + +=head2 fast_to_assembly + + Description: DEPRECATED use map() instead + +=cut + +sub fast_to_assembly { + my ($self, $contig_id, $start, $end, $strand) = @_; + + deprecate('Use map() instead.'); + + #not sure if contig_id is seq_region_id or name... + return $self->map($contig_id, $start, $end, $strand, + $self->contig_CoordSystem()); +} + + +=head2 map_coordinates_to_rawcontig + + Description: DEPRECATED use map() instead + +=cut + +sub map_coordinates_to_rawcontig { + my ($self, $chr_name, $start, $end, $strand) = @_; + + deprecate('Use map() instead.'); + + return $self->map($chr_name, $start, $end, $strand, + $self->assembled_CoordSystem()); + +} + +=head2 list_contig_ids + Description: DEPRECATED Use list_ids instead + +=cut + +sub list_contig_ids { + my ($self, $chr_name, $start, $end) = @_; + + deprecate('Use list_ids() instead.'); + + return $self->list_ids($chr_name, $start, $end, + $self->assembled_CoordSystem()); +} + + + +1; diff --git a/modules/Bio/EnsEMBL/Chromosome.pm b/modules/Bio/EnsEMBL/Chromosome.pm index 3f81d04e96..2f7649d1ac 100755 --- a/modules/Bio/EnsEMBL/Chromosome.pm +++ b/modules/Bio/EnsEMBL/Chromosome.pm @@ -15,78 +15,70 @@ Bio::EnsEMBL::Chromosome =head1 DESCRIPTION -Contains very basic information of a chromosome and access methods -for global features of a chromosome. It does not have the sequence or -more detailed information - check out SliceAdaptor for that (you will -want to make a slice of the chromosome) - -=head1 CONTACT +The chromosome object is deprecated. Use Bio::EnsEMBL::Slice instead. + +=head1 CONTACT Post questions to the EnsEMBL developer mailing list: <ensembl-dev@ebi.ac.uk> =cut -# Let the code begin... package Bio::EnsEMBL::Chromosome; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::Root; -@ISA = qw( Bio::EnsEMBL::Root ); +use Bio::EnsEMBL::Utils::Exception qw(deprecate); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +use Bio::EnsEMBL::Slice; + +@ISA = qw( Bio::EnsEMBL::Slice ); -## Changes to new by James Smith - no longer takes statistics -## on creation.. these get added later. =head2 new - Args [...] : List of named arguments - Example : $chr = new Chromosome(-chr_name => $name, - -dbID => $dbID, - -adaptor => $adaptor, - -length => $length); - Description: Creates a new chromosome object - Returntype : Bio::EnsEMBL::Chromosome - Exceptions : thrown if the adaptor or chr_name argument is not supplied - Caller : Bio::EnsEMBL::DBSQL::ChromosomeAdaptor + Description: The chromosome class is deprecated. Bio::EnsEMBL::Slice class + should be used instead. =cut sub new { - my ($class,@args) = @_; - my $self = {}; - bless($self, $class); - - my ( $chr_name, $chromosome_id, $adaptor, $length ) = - $self->_rearrange([qw(CHR_NAME DBID ADAPTOR LENGTH)], @args); - - $self->throw("Badly formed chromosome") - unless defined $chr_name && defined $adaptor; - - $self->adaptor( $adaptor ); - $self->chr_name( $chr_name ); - $self->dbID( $chromosome_id ); - $self->length( $length ); - $self->{'stats'} ={}; + my $caller = shift; + + deprecate("The Bio::EnsEMBL::Chromosome class is deprecated." . + "The Bio::EnsEMBL::Slice class should be used instead"); + + my ($adaptor, $chr_name) = rearrange(['ADAPTOR', 'CHR_NAME'], @_); + + if($chr_name) { + if($adaptor) { + my $chr = $adaptor->fetch_by_region('toplevel',$chr_name); + bless $chr, 'Bio::EnsEMBL::Chromosome'; + return $chr; + } else { + return $caller->SUPER::new(@_, + -ADAPTOR => $adaptor, + -SEQ_REGION_NAME => $chr_name); + } + } + + my $self = $caller->SUPER::new(@_); + if($self->adaptor) { + $self->adaptor($self->adaptor->db->get_ChromosomeAdaptor); + } + return $self; } -=head2 chr_name - Arg [1] : string $chr_name - Example : none - Description: get/set for attribute chromosome name - Returntype : string - Exceptions : none - Caller : general +#by name actually mean seq_region_name +sub name { + my $self = shift; + return $self->seq_region_name(@_); +} -=cut -sub chr_name{ - my( $self,$value ) = @_; - $self->{'chr_name'} = $value if defined $value; - return $self->{'chr_name'}; -} =head2 stats @@ -101,7 +93,7 @@ sub chr_name{ sub stats { my $self = shift; - return %{$self->{'stats'}}; + return %{$self->{'stats'} || {}}; } =head2 stat @@ -122,59 +114,6 @@ sub stat { return $self->{'stats'}{$key}; } -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::DBSQL::ChromosomeAdaptor $adaptor - Example : none - Description: get/set for this objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::ChromsomeAdaptor - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub adaptor { - my( $self,$value ) = @_; - $self->{'adaptor'} = $value if defined $value; - return $self->{'adaptor'}; -} - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set for the database internal id - Returntype : int - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub dbID { - my ($self, $value) = @_; - $self->{'_dbID'} = $value if defined $value; - return $self->{'_dbID'}; -} - - - -=head2 length - - Arg [1] : int $length - Example : none - Description: get/set for the attribute length, the Chromosomes length in - basepairs - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub length { - my ($self, $length) = @_; - $self->{'length'} = $length if defined $length; - return $self->{'length'}; -} ## Deprecated calls - these should now use "stat" sub xref_genes { return $_[0]->stat('xref_genes'); } diff --git a/modules/Bio/EnsEMBL/Clone.pm b/modules/Bio/EnsEMBL/Clone.pm index 047b8b86aa..9ec8902291 100644 --- a/modules/Bio/EnsEMBL/Clone.pm +++ b/modules/Bio/EnsEMBL/Clone.pm @@ -11,275 +11,155 @@ =head1 NAME -Bio::EnsEMBL::Clone - Object representing one clone - -=head1 SYNOPSIS - - @contig = $db->get_all_Contigs(); - - $clone = $db->get_Clone(); - - @genes = $clone->get_all_Genes(); +Bio::EnsEMBL::Clone - DEPRECATED use Bio::EnsEMBL::Slice instead =head1 DESCRIPTION -Represents information on one Clone +DEPRECATED - Create Slices on clone regions instead =head1 CONTACT Post questions to the EnsEMBL developer list: <ensembl-dev@ebi.ac.uk> -=head1 APPENDIX - -The rest of the documentation details each of the object methods. Internal -methods are usually preceded with a _ - =cut - -# Let the code begin... - - package Bio::EnsEMBL::Clone; use vars qw(@ISA); use strict; -# Object preamble - inheriets from Bio::EnsEMBL::Root +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::RawContig; -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); -@ISA = qw( Bio::EnsEMBL::Root ); +@ISA = qw( Bio::EnsEMBL::Slice ); =head2 new - Arg [1] : Bio::EnsEMBL::DBSQL::BaseAdaptor $adaptor (optional) - The database adaptor for this clone object - Arg [2] : int $internal_id (optional) - The database identifier for this clone - Arg [3] : string $id (optional) - The name of this clone - Arg [4] : string $embl_id (optional) - The EMBL accession number of this clone - Arg [5] : int $version (optional) - The version of this clone - Arg [6] : int $embl_version (optional) - The EMBL version of this clone - Arg [7] : int htg_phase (optional) - the htg phase of this clone - Arg [8] : date $created - The date this clone was first entered into the database. - Arg [9] : date $modified - The date this clone was last modified in the database - Example : $clone = new Bio::EnsEMBL::Clone(); - Description: Creates a new Clone object from a set of optional parameters. - Returntype : Bio::EnsEMBL::Clone - Exceptions : none - Caller : general + Description: DEPRECATED. Use Bio::EnsEMBL::Slice instead =cut sub new { - my ($class,$adaptor,$internal_id, $id, $embl_id, $version, $embl_version, - $htg_phase, $created, $modified) = @_; - - - return bless { 'adaptor' => $adaptor, - 'dbID' => $internal_id, - '_clone_id' => $id, - 'embl_id' => $embl_id, - 'version' => $version, - 'embl_version' => $embl_version, - 'htg_phase' => $htg_phase, - 'created' => $created, - 'modified' => $modified, - }, $class; - -# $self->adaptor($adaptor); -# $self->dbID($internal_id); -# $self->id($id); -# $self->embl_id($embl_id); -# $self->version($version); -# $self->embl_version($embl_version); -# $self->htg_phase($htg_phase); -# $self->created($created); -# $self->modified($modified); - -# return $self; -} - - - -=head2 get_all_Genes - - Args : none - Example : none - Description: gets all Genes that have coordinates on this Clone. They - come in RawContig coords, but not all coords need to be on this - Clone - Returntype : list of Bio::EnsEMBL::Gene - Exceptions : none - Caller : general - -=cut + my $class = shift; -sub get_all_Genes { - my $self=shift; + deprecate("Bio::EnsEMBL::Clone is a deprecated class\n" . + "Use Bio::EnsEMBL::Slice instead"); - return $self->adaptor->get_all_Genes( $self->dbID ); + return $class->SUPER::new(@_); } + =head2 get_all_Contigs - Args : none - Example : none - Description: get RawContig objects from this Clone (either manually added - or from the database). - Returntype : listref of Bio::EnsEMBL::RawContig - Exceptions : none - Caller : general + Description: DEPRECATED. Use Slice::project instead =cut sub get_all_Contigs { my( $self ) = @_; - - my( $c_list ); - - #If the contig list is not defined then an attempt is made to retrieve it - #from the database - unless ($c_list = $self->{'_contig_list'}) { - my $ra = $self->adaptor->db->get_RawContigAdaptor; - $c_list = $ra->fetch_all_by_Clone($self); - $self->{'_contig_list'} = $c_list; + + deprecate('Use Slice::project instead'); + + # Assume that we actually want to project to sequence level + my $projection = $self->project('seqlevel'); + + my @out; + foreach my $segment (@$projection) { + my $contig = $segment->[2]; + #bless slices into RawContigs for backwards compatibility + bless $contig, "Bio::EnsEMBL::RawContig"; + push @out, $contig; } - return $c_list; + return \@out; } =head2 add_Contig - Arg [1] : Bio::EnsEMBL::RawContig $contig - Example : $clone->add_Contig($contig); - Description: Manually adds a contig to this clone object. This is generally - for database loading purposes only. I.e. contigs are added - to clones and then the clones, attached contigs and dna - sequences are loaded into the database. If contigs are added - in this fashion then get_all_Contigs will only return contigs - manually added, not contigs which may be residing in the - database. - Returntype : none - Exceptions : none - Caller : database loading scripts + Description: DEPRECATED. There is currently no replacement for this method + Possibly one should be added? =cut sub add_Contig { my ($self, $contig) = @_; - unless(defined $self->{'_contig_list'}) { - $self->{'_contig_list'} = []; - } + ### XXX Should there be a replacement for this? + deprecate('There is currently no replacement for this method'); - push @{$self->{'_contig_list'}}, $contig; + return 0; } =head2 delete_by_dbID - Args : none - Example : none - Description: Deletes the clone, contig, dna and features for this, - Genes are not deleted - Returntype : none - Exceptions : none - Caller : general + Description: DEPRECATED. There is currently no replacement for this method + Possibly there should be one? =cut sub delete_by_dbID { - my ($self)=shift; - return $self->adaptor->delete_by_dbID($self->dbID); + my ($self)=shift; + + ### XXX Should there be a replacement for this? + deprecate('There is currently no replacement for this method'); + + return 0; } =head2 get_RawContig_by_position - Arg 1 : int $base_pair - Example : none - Description: returns the RawContig that contains that clone basepair - Returntype : Bio:EnsEMBL::RawContig - Exceptions : base_pair > 0, returns the last Contig if base_pair is outside - Caller : general + Description: DEPRECATED. Use Slice::project instead =cut sub get_RawContig_by_position { + my ($self, $pos) = @_; - my ($self, $pos) = @_; + deprecate('Use Slice::project instead'); + throw("get_rawcontig_by_position error: Position must be > 0") if($pos < 1); - if ($pos < 1 ){ - $self->throw("get_rawcontig_by_position error: Position must be > 0"); - } - - my $contigs = $self->get_all_Contigs(); - my @sorted_contigs = - sort { $b->embl_offset <=> $a->embl_offset } @$contigs; - - foreach my $c ( @sorted_contigs ) { - if ($pos > $c->embl_offset) { - return $c; - } + my $projection = $self->project('seqlevel'); + foreach my $segment (@$projection) { + my($start,$end,$contig) = @$segment; + if($start <= $pos) { + return bless($contig, 'Bio::EnsEMBL::RawContig'); } - - return (undef); + } + + return undef; } =head2 htg_phase - Arg [1] : string $htg_phase - 0,1,2,3 representing how finished the clone is - Example : none - Description: get/set for attribute htg_phase - ( high throughput genome project phase ) - Returntype : string - Exceptions : none - Caller : general + Description: DEPRECATED - use $slice->get_attribute('htg_phase') instead =cut sub htg_phase { - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'htg_phase'} = $value; - } - return $obj->{'htg_phase'}; + my $self = shift; + my ($htg_phase) = $self->get_attribute('htg_phase'); + return $htg_phase; } =head2 created - Arg [1] : string $created - Example : none - Description: get/set for attribute created. - Gives the unix time value of the created - datetime field, which indicates - the first time this clone was put in ensembl - Returntype : string - Exceptions : none - Caller : general + Description: DEPRECATED - Created information no longer stored =cut @@ -296,15 +176,7 @@ sub created { =head2 modified - Arg [1] : string $modified - Example : none - Description: get/set for attribute modified - Gives the unix time value of the modified - datetime field, which indicates - the last time this clone was modified in ensembl - Returntype : string - Exceptions : none - Caller : general + Description: DEPRECATE - Modified information no longer stored =cut @@ -321,139 +193,84 @@ sub modified { =head2 version - Arg [1] : string $version - Example : none - Description: get/set for attribute version - this could contain an ensembl version for the clone. - Usually we just use the EMBL one though. EnsEMBL version - are currently not generated or maintained for clones. - Returntype : string - Exceptions : none - Caller : general + Description: DEPRECATED - use Slice::seq_region_name =cut -sub version{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'version'} = $value; - } - return $obj->{'version'}; - -} +sub version{ embl_version(@_) } =head2 embl_version - Arg [1] : string $embl_version - Example : none - Description: get/set for attribute embl_version - Returntype : string - Exceptions : none - Caller : general + Description: DEPRECATED - use Slice::seq_region_name =cut sub embl_version { - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'embl_version'} = $value; - } - return $obj->{'embl_version'}; + my $self = shift; + my $acc_ver = $self->seq_region_name(); + + #strip version off end of accession + my $ver; + (undef, $ver) = split(/\./, $acc_ver); + return $ver; } =head2 embl_id - Arg [1] : string $embl_id - Example : none - Description: get/set for attribute embl_id - Returntype : string - Exceptions : none - Caller : general + description: DEPRECATED - use Slice::seq_region_name =cut sub embl_id { - my ($obj,$value) = @_; - if( defined $value) { - $obj->{'embl_id'} = $value; - } - return $obj->{'embl_id'}; + my $self = shift; + my $acc = $self->seq_region_name(); + #strip off version + ($acc) = split(/\./, $acc); + return $acc; } +#what is actually meant by clone->name is seq_region_name not name +sub name { + my $self = shift; + return $self->seq_region_name(); +} + =head2 id - Args : string $value (optional) - The new name of this clone - Example : $name = $clone->id(); - Description: The name of hte clone. - Returntype : string - Exceptions : none - Caller : general +Description: DEPRECATED - use Slice::seq_region_name =cut -sub id { - my ($obj,$value) = @_; - if( defined $value) { - $obj->{'_clone_id'} = $value; - } - return $obj->{'_clone_id'}; - -} +sub id { embl_id(@_);} =head2 dbID - Arg [1] : int $dbID - Example : none - Description: get/set for the database internal id - Returntype : int + Description: Deprecated. Use SliceAdaptor::get_seq_region_id instead + Exceptions : none Caller : general, set from adaptor on store =cut sub dbID{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'dbID'} = $value; - } - return $obj->{'dbID'}; + my $self = shift; + deprecate('Use Bio::EnsEMBL::Slice instead of Bio::EnsEMBL::RawContig'); + return $self->adaptor->get_seq_region_id($self); } -=head2 adaptor - Arg [1] : Bio::EnsEMBL::DBSQL::CloneAdaptor $adaptor - Example : none - Description: get/set for this objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::CloneAdaptor - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub adaptor { - my ($obj,$value) = @_; - if( defined $value) { - $obj->{'adaptor'} = $value; - } - return $obj->{'adaptor'}; - -} 1; diff --git a/modules/Bio/EnsEMBL/Container.pm b/modules/Bio/EnsEMBL/Container.pm index 1938879f41..388442849e 100644 --- a/modules/Bio/EnsEMBL/Container.pm +++ b/modules/Bio/EnsEMBL/Container.pm @@ -29,10 +29,9 @@ use strict; package Bio::EnsEMBL::Container; -use vars ('@ISA', '$AUTOLOAD'); -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); -@ISA = qw(Bio::EnsEMBL::Root); +use vars ('$AUTOLOAD'); =head2 new @@ -42,7 +41,7 @@ use Bio::EnsEMBL::Root; Example : $dba_holder = new Bio::EnsEMBL::DBSQL::DBAdaptorHolder($dba); Description: Creates a new DBAdaptor holder object that forwards calls to $dba and breaks circular references to $dba upon destruction. - Returntype : Bio::EnsEMBL::DBAdaptorHolder + Returntype : Bio::EnsEMBL::Container Exceptions : none Caller : Bio::EnsEMBL::DBAdaptor @@ -51,15 +50,11 @@ use Bio::EnsEMBL::Root; sub new { my ($class, $object) = @_; - my $self = $class->SUPER::new(); - unless($object) { - $self->throw("object argument is required"); + throw("object argument is required"); } - $self->_obj($object); - - return $self; + return bless {'_obj' => $object}, $class; } @@ -166,7 +161,7 @@ sub AUTOLOAD { return $self->_obj->$method(@args); } else { # Method does not exist - $self->throw("method '$method' does not exist in '". ref($self->_obj) ."'"); + throw("method '$method' does not exist in '". ref($self->_obj) ."'"); } } @@ -190,12 +185,12 @@ sub AUTOLOAD { sub DESTROY { my $self = shift; - # print STDERR "Container::DESTROY : Breaking circular references:\n"; + #print STDERR "Container::DESTROY : Breaking circular references:\n"; my $obj = $self->_obj; if(!$obj) { - warn("Bio::EnsEMBL::Container: potential memory leak, contained" + warning("Bio::EnsEMBL::Container: potential memory leak, contained" . " object is not defined during garbage collection."); } elsif($obj->can('deleteObj')) { $obj->deleteObj(); diff --git a/modules/Bio/EnsEMBL/CoordSystem.pm b/modules/Bio/EnsEMBL/CoordSystem.pm new file mode 100644 index 0000000000..73dfa98d76 --- /dev/null +++ b/modules/Bio/EnsEMBL/CoordSystem.pm @@ -0,0 +1,247 @@ +# +# EnsEMBL module for Bio::EnsEMBL::CoordSystem +# + +=head1 NAME + +Bio::EnsEMBL::CoordSystem + +=head1 SYNOPSIS + + my $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + my $csa = $db->get_CoordSystemAdaptor(); + + # + # Get all coord systems in the database: + # + foreach my $cs (@{$csa->fetch_all()}) { + my $str = join ':', $cs->name(),$cs->version(),$cs->dbID(); + print "$str\n"; + } + +=head1 DESCRIPTION + +This is a simple object which contains a few coordinate system attributes: +name, internal identifier, version. A coordinate system is uniquely defined +by its name and version. A version of a coordinate system applies to all +sequences within a coordinate system. This should not be confused with +individual sequence versions. + +Take for example the Human assembly. The version 'NCBI33' applies to +to all chromosomes in the NCBI33 assembly (that is the entire 'chromosome' +coordinate system). The 'clone' coordinate system in the same database would +have no version however. Although the clone sequences have their own sequence +versions, there is no version which applies to the entire set of clones. + +Coordinate system objects are immutable. Their name and version, and other +attributes may not be altered after they are created. + +=head1 AUTHOR - Graham McVicker + +=head1 CONTACT + +Post questions to the EnsEMBL development list ensembl-dev@ebi.ac.uk + +=head1 METHODS + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::CoordSystem; + +use Bio::EnsEMBL::Storable; + +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::Storable); + + +=head2 new + + Arg [..] : List of named arguments: + -NAME - The name of the coordinate system + -VERSION - (optional) The version of the coordinate system + -TOP_LEVEL - (optional) Sets whether this is a top-level coord + system. Default = 0 + -SEQUENCE_LEVEL - (optional) Sets whether this is a sequence + level coordinate system. Default = 0 + -DEFAULT - (optional) + Whether this is the default version of the + coordinate systems of this name. Default = 0 + -DBID - (optional) The internal identifier of this + coordinate system + -ADAPTOR - (optional) The adaptor which provides database + interaction for this object + Example : $cs = Bio::EnsEMBL::CoordSystem->new(-NAME => 'chromosome', + -VERSION => 'NCBI33', + -DBID => 1, + -ADAPTOR => adaptor, + -DEFAULT => 1, + -SEQUENCE_LEVEL => 0, + -TOP_LEVEL => 1); + Description: Creates a new CoordSystem object representing a coordinate + system. + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : none + Caller : general + +=cut + +sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + my ($name,$version, $top_level, $sequence_level, $default) = + rearrange(['NAME','VERSION','TOP_LEVEL', 'SEQUENCE_LEVEL', + 'DEFAULT'], @_); + + throw('The NAME argument is required') if(!$name); + + $version = '' if(!defined($version)); + + $top_level ||= 0; + $sequence_level ||= 0; + $default ||= 0; + + $self->{'version'} = $version; + $self->{'name'} = $name; + $self->{'top_level'} = $top_level; + $self->{'sequence_level'} = $sequence_level; + $self->{'default'} = $default; + + return $self; +} + + +=head2 name + + Arg [1] : (optional) string $name + Example : print $coord_system->name(); + Description: Getter for the name of this coordinate system + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub name { + my $self = shift; + return $self->{'name'}; +} + + + +=head2 version + + Arg [1] : none + Example : print $coord->version(); + Description: Getter for the version of this coordinate system. This + will return an empty string if no version is defined for this + coordinate system. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub version { + my $self = shift; + return $self->{'version'}; +} + + + + +=head2 equals + + Arg [1] : Bio::EnsEMBL::CoordSystem $cs + The coord system to compare to for equality. + Example : if($coord_sys->equals($other_coord_sys)) { ... } + Description: Compares 2 coordinate systems and returns true if they are + equivalent. The definition of equivalent is sharing the same + name and version. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub equals { + my $self = shift; + my $cs = shift; + + if(!$cs || !ref($cs) || !$cs->isa('Bio::EnsEMBL::CoordSystem')) { + throw('Argument must be a Bio::EnsEMBL::CoordSystem'); + } + + if($self->{'version'} eq $cs->version() && $self->{'name'} eq $cs->name()) { + return 1; + } + + return 0; +} + + + + +=head2 is_top_level + + Arg [1] : none + Example : if($coord_sys->is_top_level()) { ... } + Description: Returns true if this is a top level coordinate system + Returntype : 0 or 1 + Exceptions : none + Caller : general + +=cut + +sub is_top_level { + my $self = shift; + return $self->{'top_level'}; +} + + +=head2 is_sequence_level + + Arg [1] : none + Example : if($coord_sys->is_sequence_level()) { ... } + Description: Returns true if this is a sequence level coordinate system + Returntype : 0 or 1 + Exceptions : none + Caller : general + +=cut + +sub is_sequence_level { + my $self = shift; + return $self->{'sequence_level'}; +} + + +=head2 is_default + + Arg [1] : none + Example : if($coord_sys->is_default()) { ... } + Description: Returns true if this coordinate system is the default + version of the coordinate system of this name. + Returntype : 0 or 1 + Exceptions : none + Caller : general + +=cut + +sub is_default { + my $self = shift; + return $self->{'default'}; +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBEntry.pm b/modules/Bio/EnsEMBL/DBEntry.pm index 3a4266f53a..308917b4a2 100644 --- a/modules/Bio/EnsEMBL/DBEntry.pm +++ b/modules/Bio/EnsEMBL/DBEntry.pm @@ -33,17 +33,20 @@ methods are usually preceded with a _ =cut -# Let the code begin... - package Bio::EnsEMBL::DBEntry; +use Bio::EnsEMBL::Storable; use Bio::Annotation::DBLink; + +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(deprecate); + use vars qw(@ISA $AUTOLOAD); use strict; -@ISA = qw( Bio::EnsEMBL::Root Bio::Annotation::DBLink ); +@ISA = qw( Bio::EnsEMBL::Storable Bio::Annotation::DBLink ); =head2 new_fast @@ -93,19 +96,13 @@ sub new { my $self = bless {},$class; my ( $adaptor, $dbID, $primary_id, $version, - $dbname, $release, $display_id, $description ) = $self->_rearrange - ( [ qw { ADAPTOR - DBID - PRIMARY_ID - VERSION - DBNAME - RELEASE - DISPLAY_ID - DESCRIPTION - }], @args ); - - if( defined $adaptor ) { $self->adaptor( $adaptor )} - if( defined $dbID ) { $self->dbID( $dbID ) } + $dbname, $release, $display_id, $description ) = + rearrange ( ['ADAPTOR','DBID','PRIMARY_ID','VERSION', + 'DBNAME','RELEASE','DISPLAY_ID','DESCRIPTION'], @args ); + + $self->{'adaptor'} = $adaptor; + $self->{'dbID'} = $dbID; + if( defined $primary_id ) { $self->primary_id( $primary_id ) } if( defined $version ) { $self->version( $version ) } else { $self->version( "" ); } @@ -113,7 +110,7 @@ sub new { if( defined $release) { $self->release( $release ) } if( defined $display_id) { $self->display_id( $display_id ) } if( defined $description) { $self->description($description) } - $self->{_synonyms} = [];; + $self->{synonyms} = [];; return $self; } @@ -135,9 +132,9 @@ sub new { sub primary_id { my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_primary_id} = $arg; + $self->{primary_id} = $arg; } - return $self->{_primary_id}; + return $self->{primary_id}; } @@ -158,9 +155,9 @@ sub primary_id { sub display_id{ my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_display_id} = $arg; + $self->{display_id} = $arg; } - return $self->{_display_id}; + return $self->{display_id}; } @@ -180,9 +177,9 @@ sub display_id{ sub dbname { my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_dbname} = $arg; + $self->{dbname} = $arg; } - return $self->{_dbname}; + return $self->{dbname}; } @@ -239,59 +236,12 @@ sub optional_id { sub release { my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_release} = $arg; - } - return $self->{_release}; -} - - - -=head2 adaptor - - Arg [1] : (optional) Bio::EnsEMBL::DBSQL::DBEntryAdaptor $arg - Example : $adaptor = $dbentry->adaptor; - Description: Getter/Setter for the adaptor used by this object for database - interaction. This attribute is set by the adaptor when this - object is stored in the database or retrieved from the database. - Returntype : Bio::EnsEMBL::DBSQL::DBEntryAdaptor - Exceptions : none - Caller : general - -=cut - -sub adaptor { - my ( $self, $arg ) = @_; - if( defined $arg ) { - $self->{_adaptor} = $arg; + $self->{release} = $arg; } - return $self->{_adaptor}; + return $self->{release}; } - -=head2 dbID - - Arg [1] : (optional) int - Example : $dbID = $dbentry->dbID; - Description: Getter/Setter for this objects unique database identifier. This - attribute is set the adaptor when this object is store in the - database or retrieved from the database. - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub dbID { - my ( $self, $arg ) = @_; - if( defined $arg ) { - $self->{_dbID} = $arg; - } - return $self->{_dbID}; -} - - - =head2 version Arg [1] : string $version @@ -306,9 +256,9 @@ sub dbID { sub version { my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_version} = $arg; + $self->{version} = $arg; } - return $self->{_version}; + return $self->{version}; } @@ -328,9 +278,9 @@ sub version { sub description { my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_description} = $arg; + $self->{description} = $arg; } - return $self->{_description}; + return $self->{description}; } @@ -350,7 +300,7 @@ sub description { sub add_synonym { my ( $self, $arg ) = @_; if( defined $arg ) { - push( @{$self->{_synonyms}}, $arg ); + push( @{$self->{synonyms}}, $arg ); } } @@ -368,7 +318,7 @@ sub add_synonym { sub get_all_synonyms { my $self = shift; - return $self->{_synonyms}; + return $self->{synonyms}; } @@ -385,7 +335,7 @@ sub get_all_synonyms { sub flush_synonyms { my $self = shift; - $self->{_synonyms} = []; + $self->{synonyms} = []; } @@ -404,9 +354,9 @@ sub flush_synonyms { sub status{ my ( $self, $arg ) = @_; if( defined $arg ) { - $self->{_status} = $arg; + $self->{status} = $arg; } - return $self->{_status}; + return $self->{status}; } @@ -434,19 +384,14 @@ sub comment { =head2 get_synonyms - Arg [1] : none - Example : none Description: DEPRECATED use get_all_synonyms instead - Returntype : none - Exceptions : none - Caller : none =cut sub get_synonyms { my $self = shift; - $self->warn("get_synonyms has been rename get_all_synonyms\n" . caller); + deprecate("get_synonyms has been renamed get_all_synonyms."); return $self->get_all_synonyms; } diff --git a/modules/Bio/EnsEMBL/DBSQL/AnalysisAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/AnalysisAdaptor.pm index 86a503a9e1..51c8ce4621 100755 --- a/modules/Bio/EnsEMBL/DBSQL/AnalysisAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/AnalysisAdaptor.pm @@ -16,8 +16,13 @@ Bio::EnsEMBL::DBSQL::AnalysisAdaptor =head1 SYNOPSIS - $analysisAdaptor = $db_adaptor->getAnalysisAdaptor; - $analysisAdaptor = $analysisobj->getAnalysisAdaptor; + use Bio::EnsEMBL::DBSQL::DBAdaptor; + + $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + $analysis_adaptor = $db_adaptor->get_AnalysisAdaptor; + + my $analysis = $analysis_adaptor->fetch_by_logic_name('genscan'); =head1 DESCRIPTION @@ -28,19 +33,14 @@ Bio::EnsEMBL::DBSQL::AnalysisAdaptor =head1 CONTACT - Contact Arne Stabenau on implemetation/design detail: stabenau@ebi.ac.uk - Contact Ewan Birney on EnsEMBL in general: birney@sanger.ac.uk - -=head1 APPENDIX + Post questions/comments to the EnsEMBL development list: + ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +=head1 METHODS =cut -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::AnalysisAdaptor; use Bio::EnsEMBL::Analysis; @@ -52,7 +52,6 @@ use strict; @ISA = qw( Bio::EnsEMBL::DBSQL::BaseAdaptor); - =head2 new Args : Bio::EnsEMBL::DBSQL::DBAdaptor @@ -120,13 +119,6 @@ sub fetch_all { return \@ana; } -sub deleteObj { - my( $self ) = @_; - - $self->{_cache} = undef; - $self->{_logic_name_cache} = undef; - $self->SUPER::deleteObj; -} =head2 fetch_by_dbID @@ -174,6 +166,15 @@ sub fetch_by_dbID { } +sub deleteObj { + my( $self ) = @_; + + $self->{_cache} = undef; + $self->{_logic_name_cache} = undef; + $self->SUPER::deleteObj; +} + + =head2 fetch_by_logic_name Arg [1] : string $logic_name the logic name of the analysis to retrieve @@ -218,8 +219,8 @@ sub fetch_by_logic_name { $analysis = $self->_objFromHashref( $rowHashRef ); #place the analysis in the caches, cross referenced by dbID and logic_name - $self->{_cache}{$analysis->dbID()} = $analysis; - $self->{_logic_name_cache}{lc($logic_name)} = $analysis; + $self->{_cache}->{$analysis->dbID()} = $analysis; + $self->{_logic_name_cache}->{lc($logic_name)} = $analysis; return $analysis; } @@ -243,28 +244,24 @@ sub store { my $self = shift; my $analysis = shift; - + if( !defined $analysis || !ref $analysis) { - $self->throw("called store on AnalysisAdaptor with a [$analysis]"); + throw("called store on AnalysisAdaptor with a [$analysis]"); } - $analysis->dbID && $analysis->adaptor && ( $analysis->adaptor() == $self ) && - return $analysis->dbID; - - + #if this analysis has already been stored in this db, just update the adaptor + #and dbID of the object and return the dbID my $dbID; - if( $dbID = $self->exists( $analysis )) { $analysis->adaptor( $self ); $analysis->dbID( $dbID ); return $dbID; } - + if( !defined $analysis->logic_name ) { - $self->throw("Must have a logic name on the analysis object"); + throw("Must have a logic name on the analysis object"); } - if($analysis->created ) { my $sth = $self->prepare( q{ INSERT INTO analysis @@ -346,7 +343,7 @@ sub store { $analysis->adaptor( $self ); $analysis->dbID( $dbID ); - + return $dbID; } @@ -367,7 +364,7 @@ sub update { my ($self, $analysis) = @_; if (!defined $analysis || !ref $analysis) { - $self->throw("called update on AnalysisAdaptor with a [$analysis]"); + throw("called update on AnalysisAdaptor with a [$analysis]"); } $analysis->dbID && ($analysis->adaptor() == $self) or @@ -415,7 +412,7 @@ sub remove { my $dbID; if (!defined $analysis || !ref $analysis) { - $self->throw("called remove on AnalysisAdaptor with a [$analysis]"); + throw("called remove on AnalysisAdaptor with a [$analysis]"); } unless ($dbID = $self->exists($analysis)) { @@ -445,22 +442,16 @@ sub remove { sub exists { my ($self,$anal) = @_; - unless($anal->isa("Bio::EnsEMBL::Analysis")) { - $self->throw("Object is not a Bio::EnsEMBL::Analysis"); - } - - - # objects with already have this adaptor are store here. - if( $anal->can("adaptor") && defined $anal->adaptor && - $anal->adaptor == $self ) { - if (my $id = $anal->dbID) { - return $id; - } - else { - $self->throw ("analysis does not have an analysisId"); - } + if(!ref($anal) || !$anal->isa("Bio::EnsEMBL::Analysis")) { + throw("Object is not a Bio::EnsEMBL::Analysis"); } - + + #if this analysis is stored in this db already return its dbID + if($anal->is_stored($self->db())) { + return $anal->dbID(); + } + + #this analysis object is not stored but one exactly like it may have been foreach my $cacheId (keys %{$self->{_cache}}) { if ($self->{_cache}->{$cacheId}->compare($anal) >= 0) { # $anal->dbID( $cacheId ); @@ -468,6 +459,8 @@ sub exists { return $cacheId; } } + + #no analysis like this one exists in the database return undef; } @@ -482,7 +475,7 @@ sub exists { Caller : Bio::EnsEMBL::DBSQL::AnalsisAdaptor::fetch_* methods =cut - + sub _objFromHashref { my $self = shift; my $rowHash = shift; @@ -504,30 +497,10 @@ sub _objFromHashref { -created => $rowHash->{created}, -logic_name => $rowHash->{logic_name} ); - + return $analysis; } -=head2 db - - Arg [1] : (optional) Bio::EnsEMBL::DBSQL::DBAdaptor $db - the database used by this adaptor. - Example : my $db = $analysis_adaptor->db() - Description: Getter/Setter for the database this adaptor uses internally - to fetch and store database objects. - Returntype : Bio::EnsEMBL::DBSQL::DBAdaptor - Exceptions : none - Caller : BaseAdaptor::new, general - -=cut - -sub db { - my ( $self, $arg ) = @_; - ( defined $arg ) && - ($self->{_db} = $arg); - $self->{_db};; -} - 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/AssemblyExceptionFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/AssemblyExceptionFeatureAdaptor.pm new file mode 100644 index 0000000000..9654ebaded --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/AssemblyExceptionFeatureAdaptor.pm @@ -0,0 +1,183 @@ +# +# EnsEMBL module for Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor +# +# Cared for by Ewan Birney <birney@ebi.ac.uk> +# +# Copyright EMBL/EBI +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor + +=head1 SYNOPSIS + +my $assembly_exception_feature_adaptor = $database_adaptor->get_AssemblyExceptionFeatureAdaptor(); +@assembly_exception_features = $assembly_exception_feature_adaptor->fetch_by_Slice($slice); + +=head1 DESCRIPTION + +Assembly Exception Feature Adaptor - database access for assembly exception features + +=head1 AUTHOR - Glenn Proctor + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ + +=cut + +package Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor; +use vars qw(@ISA); +use strict; + +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::AssemblyExceptionFeature; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); + +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); + +=head2 generic_fetch + + Arg [1] : (optional) string $constraint + An SQL query constraint (i.e. part of the WHERE clause) + Arg [2] : (optional) Bio::EnsEMBL::AssemblyMapper $mapper + A mapper object used to remap features + as they are retrieved from the database + Arg [3] : (optional) Bio::EnsEMBL::Slice $slice + A slice that features should be remapped to + Arg [4] : (optional) boolean $keep_all + Set to 1 if all features, even ones entirely off slice, + should be kept + Example : $fts = $a->generic_fetch('contig_id in (1234, 1235)', 'Swall'); + Description: Overrides the default generic fetch for this object. Will + ignore slice constraints. + Returntype : listref of Bio::EnsEMBL::SeqFeature in contig coordinates + Exceptions : none + Caller : BaseFeatureAdaptor + +=cut + +sub generic_fetch { + my ($self, $constraint, $mapper, $slice, $keep_all) = @_; + + my $columns = join(', ', $self->_columns()); + + my $db = $self->db(); + + my $sql = "SELECT $columns FROM assembly_exception ae"; + + # if there is a slice constraint we remove the constraints ... + unless( $constraint =~ /seq_region_id/ || $constraint eq "" ) { + $sql .= "WHERE $constraint"; + } + + my $sth = $db->prepare($sql); + + $sth->execute; + + my $res = $self->_objs_from_sth($sth, $mapper, $slice, $keep_all); + + return $res; +} + +=head2 _tablename + + Arg [1] : none + Example : none + Description: PROTECTED implementation of superclass abstract method + returns the names, aliases of the tables to use for queries + Returntype : list of listrefs of strings + Exceptions : none + Caller : internal + +=cut + +sub _tables { + my $self = shift; + + return ['assembly_exception', 'ae']; +} + + +=head2 _columns + + Arg [1] : none + Example : none + Description: PROTECTED implementation of superclass abstract method + returns a list of columns to use for queries + Returntype : list of strings + Exceptions : none + Caller : internal + +=cut + +sub _columns { + my $self = shift; + + return qw( ae.seq_region_id ae.seq_region_start ae.seq_region_end ae.exc_type ae.exc_seq_region_id ae.exc_seq_region_start ae.exc_seq_region_end ); +} + + +=head2 _objs_from_sth + + Arg [1] : hash reference $hashref + Example : none + Description: PROTECTED implementation of superclass abstract method. + creates AssemblyExceptionFeatures from an executed DBI statement handle. + Returntype : list reference to Bio::EnsEMBL::AssemblyExceptionFeature objects + Exceptions : none + Caller : internal + +=cut + +sub _objs_from_sth { + + my ($self, $sth, $mapper, $dest_slice) = @_; + + my @features; + + my $slice_adaptor = $self->db()->get_SliceAdaptor(); + + my ($seq_region_id, $seq_region_start, $seq_region_end, $type, + $exc_seq_region_id, $exc_seq_region_start, $exc_seq_region_end); + + $sth->bind_columns(\$seq_region_id, \$seq_region_start, \$seq_region_end, \$type, + \$exc_seq_region_id, \$exc_seq_region_start, \$exc_seq_region_end); + + while ($sth->fetch()) { + + my $sr_slice = $slice_adaptor->fetch_by_seq_region_id($seq_region_id); + my $exc_slice = $slice_adaptor->fetch_by_seq_region_id($exc_seq_region_id); + + # each row creates TWO features, each of which has alternate_slice pointing to the "other" one + + push @features, + Bio::EnsEMBL::AssemblyExceptionFeature->new('-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => 1, + '-adaptor' => $self, + '-slice' => $sr_slice, + '-alternate_slice' => $exc_slice, + '-type' => $type); + + push @features, + Bio::EnsEMBL::AssemblyExceptionFeature->new('-start' => $exc_seq_region_start, + '-end' => $exc_seq_region_end, + '-strand' => 1, + '-adaptor' => $self, + '-slice' => $exc_slice, + '-alternate_slice' => $sr_slice, + '-type' => $type); + + } + + return \@features; +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/AssemblyMapperAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/AssemblyMapperAdaptor.pm index dbd96ceef7..c85eab653e 100644 --- a/modules/Bio/EnsEMBL/DBSQL/AssemblyMapperAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/AssemblyMapperAdaptor.pm @@ -2,22 +2,38 @@ # # Ensembl module for Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor # -# Written by Ewan Birney <birney@ebi.ac.uk> # -# Copyright GRL/EBI +# Copyright EnsEMBL # # You may distribute this module under the same terms as perl itself # POD documentation - main docs before the code -=head1 NAME +=Head1 NAME -Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor - DESCRIPTION of Object +Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor =head1 SYNOPSIS - # $dba is an Bio::EnsEMBL::DBSQL::DBAdaptor - my $ass_adptr = $dba->get_AssemblyMapperAdaptor; + my $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + my $asma = $dba->get_AssemblyMapperAdaptor(); + my $csa = $dba->get_CoordSystemAdaptor(); + + my $chr33_cs = $csa->fetch_by_name('chromosome', 'NCBI33'); + my $chr34_cs = $csa->fetch_by_name('chromosome', 'NCBI34'); + my $ctg_cs = $csa->fetch_by_name('contig'); + my $clone_cs = $csa->fetch_by_name('clone'); + + my $chr_ctg_mapper = + $asma->fetch_by_CoordSystems($chr33_cs, $ctg_cs); + + my $ncbi33_ncbi34_mapper = + $asm_adptr->fetch_by_CoordSystems($chr33,$chr34); + + my $ctg_clone_mapper = + $asm_adptr->fetch_by_CoordSystems($ctg_cs,$clone_cs); + =head1 DESCRIPTION @@ -25,36 +41,50 @@ Adaptor for handling Assembly mappers. This is a I<Singleton> class. ie: There is only one per database (C<DBAdaptor>). +This is used to retrieve mappers between any two coordinate systems whose +makeup is described by the assembly table. Currently one step (explicit) and +two step (implicit) pairwise mapping is supported. In one-step mapping +an explicit relationship between the coordinate systems is defined in the +assembly table. In two-step 'chained' mapping no explicit mapping is present +but the coordinate systems must share a common mapping to an intermediate +coordinate system. + =head1 CONTACT Post general queries to B<ensembl-dev@ebi.ac.uk> -=head1 APPENDIX - -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor; use vars qw(@ISA); use strict; -# Object preamble - inherits from Bio::EnsEMBL::Root - use Bio::EnsEMBL::DBSQL::BaseAdaptor; use Bio::EnsEMBL::AssemblyMapper; +use Bio::EnsEMBL::ChainedAssemblyMapper; + +use Bio::EnsEMBL::Utils::Cache; #CPAN LRU cache +use Bio::EnsEMBL::Utils::Exception qw(deprecate throw); + +use integer; #do proper arithmetic bitshifts @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); + +my $CHUNKFACTOR = 20; # 2^20 = approx. 10^6 +# if the mapper is bigger than that its flushed before registering new stuff: +my $MAX_PAIR_COUNT = 1000; + +#number of seq regions to remember ids fo +my $SEQ_REGION_CACHE_SIZE = 2500; + =head2 new - Arg [1] : Bio::EnsEMBL::DBAdaptor $dbadaptor the adaptor for the database - this assembly mapper is using. + Arg [1] : Bio::EnsEMBL::DBAdaptor $dbadaptor the adaptor for + the database this assembly mapper is using. Example : my $asma = new Bio::EnsEMBL::AssemblyMapperAdaptor($dbadaptor); Description: Creates a new AssemblyMapperAdaptor object Returntype : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor @@ -68,176 +98,845 @@ sub new { my $self = $class->SUPER::new($dbadaptor); - $self->{'_type_cache'} = {}; + $self->{'_asm_mapper_cache'} = {}; + + my %cache; + tie(%cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE); + $self->{'_sr_id_cache'} = \%cache; return $self; } +=head2 fetch_by_CoordSystems -=head2 fetch_by_type + Arg [1] : Bio::EnsEMBL::CoordSystem $cs1 + One of the coordinate systems to retrieve the mapper + between + Arg [2] : Bio::EnsEMBL::CoordSystem $cs2 + The other coordinate system to map between + Description: Retrieves an Assembly mapper for two coordinate + systems whose relationship is described in the + assembly table. - Arg [1] : char $type - Description: Fetches a Bio::EnsEMBL::AssemblyMapper object from the adaptor - for a particular assembly (golden path) type (e.g. NCBI_xx). - The result is cached for a particular assembly type. - Returntype : Bio::EnsEMBL::AssemblyMapper + The ordering of the coodinate systems is arbitrary. + The following two statements are equivalent: + $mapper = $asma->fetch_by_coord_systems($cs1,$cs2); + $mapper = $asma->fetch_by_coord_systems($cs2,$cs1); + Returntype : Bio::EnsEMBL::AssemblyMapper Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Caller : general =cut -sub fetch_by_type{ - my ($self,$type) = @_; - - if( !defined $self->{'_type_cache'}->{$type} ) { - $self->{'_type_cache'}->{$type} = - Bio::EnsEMBL::AssemblyMapper->new($self,$type); +sub fetch_by_CoordSystems { + my $self = shift; + my $cs1 = shift; + my $cs2 = shift; + + if(!ref($cs1) || !$cs1->isa('Bio::EnsEMBL::CoordSystem')) { + throw("cs1 argument must be a Bio::EnsEMBL::CoordSystem."); } - - return $self->{'_type_cache'}->{$type}; + if(!ref($cs2) || !$cs2->isa('Bio::EnsEMBL::CoordSystem')) { + throw("cs2 argument must be a Bio::EnsEMBL::CoordSystem."); + } + + if($cs1->equals($cs2)) { + throw("Cannot create mapper between same coord systems: " . + $cs1->name . " " . $cs1->version); + } + + my $csa = $self->db->get_CoordSystemAdaptor(); + + #retrieve the shortest possible mapping path between these systems + my @mapping_path = @{$csa->get_mapping_path($cs1,$cs2)}; + + if(!@mapping_path) { + throw("There is no mapping defined between these coord systems:\n" . + $cs1->name() . " " . $cs1->version() . " and " . $cs2->name() . " " . + $cs2->version()); + } + + my $key = join(':', map({$_->dbID()} @mapping_path)); + + my $asm_mapper = $self->{'_asm_mapper_cache'}->{$key}; + + return $asm_mapper if($asm_mapper); + + if(@mapping_path == 1) { + throw("Incorrect mapping path defined in meta table. " . + "0 step mapping encountered between:\n" . + $cs1->name() . " " . $cs1->version() . " and " . $cs2->name . " " . + $cs2->version()); + } + + if(@mapping_path == 2) { + #1 step regular mapping +# $asm_mapper = Bio::EnsEMBL::AssemblyMapper->new($self, @mapping_path); + $asm_mapper = Bio::EnsEMBL::ChainedAssemblyMapper->new( $self, $mapping_path[0], undef, $mapping_path[1] ); + $self->{'_asm_mapper_cache'}->{$key} = $asm_mapper; + return $asm_mapper; + } + + if(@mapping_path == 3) { + #two step chained mapping + $asm_mapper = Bio::EnsEMBL::ChainedAssemblyMapper->new($self,@mapping_path); + #in multi-step mapping it is possible get requests with the + #coordinate system ordering reversed since both mappings directions + #cache on both orderings just in case + #e.g. chr <-> contig <-> clone and clone <-> contig <-> chr + + $self->{'_asm_mapper_cache'}->{$key} = $asm_mapper; + $key = join(':', map({$_->dbID()} reverse(@mapping_path))); + $self->{'_asm_mapper_cache'}->{$key} = $asm_mapper; + return $asm_mapper; + } + + throw("Only 1 and 2 step coordinate system mapping is currently\n" . + "supported. Mapping between " . + $cs1->name() . " " . $cs1->version() . " and " . + $cs2->name() . " " . $cs2->version() . + " requires ". (scalar(@mapping_path)-1) . " steps."); } -=head2 register_region - Arg [1] : Bio::EnsEMBL::AssemblyMapper $assmapper +=head2 register_assembled + + Arg [1] : Bio::EnsEMBL::AssemblyMapper $asm_mapper A valid AssemblyMapper object - Arg [2] : char $type - golden path type (e.g. NCBI_xx) - Arg [3] : char $chr_name - chromosome name (e.g. '2', 'X') - Arg [4] : int $start - chromosome start coordinate - Arg [5] : int $end - chromosome end coordinate - Description: Declares a chromosomal region to the AssemblyMapper. + Arg [2] : string $asm_seq_region + The name of the seq_region to be registered + Arg [3] : int $asm_start + The start of the region to be registered + Arg [4] : int $asm_end + The end of the region to be registered + Description: Declares an assembled region to the AssemblyMapper. This extracts the relevant data from the assembly - table and stores it in a Bio::EnsEMBL::Mapper. + table and stores it in Mapper internal to the $asm_mapper. It therefore must be called before any mapping is attempted on that region. Otherwise only gaps will - be returned! + be returned. Note that the AssemblyMapper automatically + calls this method when the need arises. Returntype : none - Exceptions : thrown if $assmapper arg is not a Bio::EnsEMBL::AssemblyMapper - Caller : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Exceptions : throw if the seq_region to be registered does not exist + or if it associated with multiple assembled pieces (bad data + in assembly table) + Caller : Bio::EnsEMBL::AssemblyMapper =cut -sub register_region{ - my ($self, $assmapper, $type, $chr_name, $start, $end) = @_; - $self->throw("$assmapper is not a Bio::EnsEMBL::AssemblyMapper") - unless $assmapper->isa("Bio::EnsEMBL::AssemblyMapper"); - - my $chr = $self->db->get_ChromosomeAdaptor()->fetch_by_chr_name( $chr_name ); - my $chr_id = $chr->dbID(); - my $max_assembly_contig = $self->db()->get_MetaContainer->get_max_assembly_contig(); - - if (! defined $max_assembly_contig) { - $max_assembly_contig = 1_000_000_000; - } - - my $select = qq{ - select - ass.contig_start, - ass.contig_end, - ass.contig_id, - ass.contig_ori, - ass.chr_start, - ass.chr_end - from - assembly ass - where - ass.chromosome_id = $chr_id and - ? <= ass.chr_end and - ? >= ass.chr_start and - ? <= ass.chr_start and - ass.type = '$type' +sub register_assembled { + my $self = shift; + my $asm_mapper = shift; + my $asm_seq_region = shift; + my $asm_start = shift; + my $asm_end = shift; + + my $asm_cs_id = $asm_mapper->assembled_CoordSystem->dbID(); + my $cmp_cs_id = $asm_mapper->component_CoordSystem->dbID(); + + #split up the region to be registered into fixed chunks + #this allows us to keep track of regions that have already been + #registered and also works under the assumption that if a small region + #is requested it is likely that other requests will be made in the + #vicinity (the minimum size registered the chunksize (2^chunkfactor) + + my @chunk_regions; + #determine span of chunks + #bitwise shift right is fast and easy integer division + + + my($start_chunk, $end_chunk); + + $start_chunk = $asm_start >> $CHUNKFACTOR; + $end_chunk = $asm_end >> $CHUNKFACTOR; + + #find regions of continuous unregistered chunks + my $i; + my ($begin_chunk_region,$end_chunk_region); + for ($i = $start_chunk; $i <= $end_chunk; $i++) { + if($asm_mapper->have_registered_assembled($asm_seq_region, $i)) { + if(defined($begin_chunk_region)) { + #this is the end of an unregistered region. + my $region = [($begin_chunk_region << $CHUNKFACTOR), + (($end_chunk_region+1) << $CHUNKFACTOR)-1]; + push @chunk_regions, $region; + $begin_chunk_region = $end_chunk_region = undef; + } + } else { + $begin_chunk_region = $i if(!defined($begin_chunk_region)); + $end_chunk_region = $i+1; + $asm_mapper->register_assembled($asm_seq_region,$i); + } + } + + #the last part may have been an unregistered region too + if(defined($begin_chunk_region)) { + my $region = [($begin_chunk_region << $CHUNKFACTOR), + (($end_chunk_region+1) << $CHUNKFACTOR) -1]; + push @chunk_regions, $region; + } + + return if(!@chunk_regions); + + # keep the Mapper to a reasonable size + if( $asm_mapper->size() > $MAX_PAIR_COUNT ) { + $asm_mapper->flush(); + #we now have to go and register the entire requested region since we + #just flushed everything + + @chunk_regions = ( [ ( $start_chunk << $CHUNKFACTOR) + , (($end_chunk+1) << $CHUNKFACTOR)-1 ] ); + + for( my $i = $start_chunk; $i <= $end_chunk; $i++ ) { + $asm_mapper->register_assembled( $asm_seq_region, $i ); + } + } + + my $asm_seq_region_id = + $self->_seq_region_name_to_id($asm_seq_region,$asm_cs_id); + + # Retrieve the description of how the assembled region is made from + # component regions for each of the continuous blocks of unregistered, + # chunked regions + + my $q = qq{ + SELECT + asm.cmp_start, + asm.cmp_end, + asm.cmp_seq_region_id, + sr.name, + asm.ori, + asm.asm_start, + asm.asm_end + FROM + assembly asm, seq_region sr + WHERE + asm.asm_seq_region_id = ? AND + ? <= asm.asm_end AND + ? >= asm.asm_start AND + asm.cmp_seq_region_id = sr.seq_region_id AND + sr.coord_system_id = ? }; - my $sth = $self->prepare($select); - - $sth->execute( $start, $end, $start-$max_assembly_contig ); - - while( my $arrayref = $sth->fetchrow_arrayref ) { - my ($contig_start, $contig_end, $contig_id, $contig_ori, - $chr_start, $chr_end) = @$arrayref; - if( $assmapper->_have_registered_contig($contig_id) == 0 ) { - $assmapper->_register_contig($contig_id); - $assmapper->_mapper->add_map_coordinates( - $contig_id, $contig_start, - $contig_end, $contig_ori, - $chr_name, $chr_start, $chr_end - ); + my $sth = $self->prepare($q); + + foreach my $region (@chunk_regions) { + my($region_start, $region_end) = @$region; + $sth->execute($asm_seq_region_id, $region_start, $region_end, $cmp_cs_id); + + my($cmp_start, $cmp_end, $cmp_seq_region_id, $cmp_seq_region, $ori, + $asm_start, $asm_end); + + $sth->bind_columns(\$cmp_start, \$cmp_end, \$cmp_seq_region_id, + \$cmp_seq_region, \$ori, \$asm_start, \$asm_end); + + # + # Load the unregistered regions of the mapper + # + while($sth->fetch()) { + next if($asm_mapper->have_registered_component($cmp_seq_region)); + $asm_mapper->register_component($cmp_seq_region); + $asm_mapper->mapper->add_map_coordinates( + $asm_seq_region, $asm_start, $asm_end, + $ori, + $cmp_seq_region, $cmp_start, $cmp_end); + $self->{'_sr_id_cache'}->{"$cmp_seq_region:$cmp_cs_id"} = + $cmp_seq_region_id; } - } + } + + $sth->finish(); } -=head2 register_contig - Arg [1] : Bio::EnsEMBL::AssemblyMapper $assmapper - A valid AssemblyMapper object - Arg [2] : char $type - golden path type (e.g. NCBI_xx) - Arg [3] : int $contig_id - RawContig internal ID +sub _seq_region_name_to_id { + my $self = shift; + my $sr_name = shift; + my $cs_id = shift; + + ($sr_name && $cs_id) || throw('seq_region_name and coord_system_id args ' . + 'are required'); + + my $sr_id = $self->{'_sr_id_cache'}->{"$sr_name:$cs_id"}; + + return $sr_id if($sr_id); + + # Get the seq_region_id via the name. This would be quicker if we just + # used internal ids instead but stored but then we lose the ability + # the transform accross databases with different internal ids + + my $sth = $self->prepare("SELECT seq_region_id " . + "FROM seq_region " . + "WHERE name = ? AND coord_system_id = ?"); + + $sth->execute($sr_name, $cs_id); + + if(!$sth->rows() == 1) { + throw("Ambiguous or non-existant seq_region [$sr_name] " . + "in coord system $cs_id"); + } + + ($sr_id) = $sth->fetchrow_array(); + $sth->finish(); + + $self->{'_sr_id_cache'}->{"$sr_name:$cs_id"} = $sr_id; + + return $sr_id; +} - Description: Declares a chromosomal region to the AssemblyMapper. + +=head2 register_component + + Arg [1] : Bio::EnsEMBL::AssemblyMapper $asm_mapper + A valid AssemblyMapper object + Arg [2] : string $cmp_seq_region + The name of the seq_region to be registered + Description: Declares a component region to the AssemblyMapper. This extracts the relevant data from the assembly - table and stores it in a Bio::EnsEMBL::Mapper. + table and stores it in Mapper internal to the $asm_mapper. It therefore must be called before any mapping is - attempted on that region. Otherwise only gaps will be returned! - Returntype : 1 if the contig is present in assembly, - 0 if the contig is absent + attempted on that region. Otherwise only gaps will + be returned. Note that the AssemblyMapper automatically + calls this method when the need arises. + Returntype : none + Exceptions : throw if the seq_region to be registered does not exist + or if it associated with multiple assembled pieces (bad data + in assembly table) + Caller : Bio::EnsEMBL::AssemblyMapper + +=cut + +sub register_component { + my $self = shift; + my $asm_mapper = shift; + my $cmp_seq_region = shift; + + my $cmp_cs_id = $asm_mapper->component_CoordSystem()->dbID(); + my $asm_cs_id = $asm_mapper->assembled_CoordSystem()->dbID(); + + #do nothing if this region is already registered + return if($asm_mapper->have_registered_component($cmp_seq_region)); + + my $cmp_seq_region_id = + $self->_seq_region_name_to_id($cmp_seq_region, $cmp_cs_id); + + # Determine what part of the assembled region this component region makes up + + my $q = qq{ + SELECT + asm.asm_start, + asm.asm_end, + asm.asm_seq_region_id, + sr.name + FROM + assembly asm, seq_region sr + WHERE + asm.cmp_seq_region_id = ? AND + asm.asm_seq_region_id = sr.seq_region_id AND + sr.coord_system_id = ? + }; + + my $sth = $self->prepare($q); + $sth->execute($cmp_seq_region_id, $asm_cs_id); + + if($sth->rows() == 0) { + #this component is not used in the assembled part i.e. gap + $asm_mapper->register_component($cmp_seq_region_id); + return; + } + + #we do not currently support components mapping to multiple assembled + if($sth->rows() != 1) { + throw("Multiple assembled regions for single " . + "component region cmp_seq_region_id=[$cmp_seq_region_id]"); + } + + my ($asm_start, $asm_end, $asm_seq_region_id, $asm_seq_region) = + $sth->fetchrow_array(); + + $self->{'_sr_id_cache'}->{"$asm_seq_region:$asm_cs_id"} = $asm_seq_region_id; + + $sth->finish(); + + # Register the corresponding assembled region. This allows a us to + # register things in assembled chunks which allows us to: + # (1) Keep track of what assembled regions are registered + # (2) Use locality of reference (if they want something in same general + # region it will already be registered). + + $self->register_assembled($asm_mapper,$asm_seq_region,$asm_start,$asm_end); +} + + + +=head register_chained + + Arg [1] : Bio::EnsEMBL::ChainedAssemblyMapper $casm_mapper + The chained assembly mapper to register regions on + Arg [2] : string $from ('first' or 'last') + The direction we are registering from, and the name of the + internal mapper. + Arg [3] : string $seq_region_name + The name of the seqregion we are registering on + Arg [4] : listref $ranges + A list of ranges to register (in [$start,$end] tuples). + + Description: Registers a set of ranges on a chained assembly mapper. + This function is at the heart of the chained mapping process. + It retrieves information from the assembly table and + dynamically constructs the mappings between two coordinate + systems which are 2 mapping steps apart. It does this by using + two internal mappers to load up a third mapper which is + actually used by the ChainedAssemblyMapper to perform the + mapping. + + This method must be called before any mapping is + attempted on regions of interest, otherwise only gaps will + be returned. Note that the ChainedAssemblyMapper automatically + calls this method when the need arises. + Returntype : none + Exceptions : throw if the seq_region to be registered does not exist + or if it associated with multiple assembled pieces (bad data + in assembly table) + + throw if the mapping between the coordinate systems cannot + be performed in two steps, which means there is an internal + error in the data in the meta table or in the code that creates + the mapping paths. + Caller : Bio::EnsEMBL::AssemblyMapper + + +=cut + +sub register_chained { + my $self = shift; + my $casm_mapper = shift; + my $from = shift; + my $seq_region_name = shift; + my $ranges = shift; + + my ($start_name, $start_mid_mapper, $start_cs, $start_registry, + $end_name, $end_mid_mapper, $end_cs, $end_registry); + + if($from eq 'first') { + $start_name = 'first'; + $start_mid_mapper = $casm_mapper->first_middle_mapper(); + $start_cs = $casm_mapper->first_CoordSystem(); + $start_registry = $casm_mapper->first_registry(); + $end_mid_mapper = $casm_mapper->last_middle_mapper(); + $end_cs = $casm_mapper->last_CoordSystem(); + $end_registry = $casm_mapper->last_registry(); + $end_name = 'last'; + } elsif($from eq 'last') { + $start_name = 'last'; + $start_mid_mapper = $casm_mapper->last_middle_mapper(); + $start_cs = $casm_mapper->last_CoordSystem(); + $start_registry = $casm_mapper->last_registry(); + $end_mid_mapper = $casm_mapper->first_middle_mapper(); + $end_cs = $casm_mapper->first_CoordSystem(); + $end_registry = $casm_mapper->first_registry(); + $end_name = 'first'; + } else { + throw("Invalid from argument: [$from], must be 'first' or 'last'"); + } + + my $combined_mapper = $casm_mapper->first_last_mapper(); + my $mid_cs = $casm_mapper->middle_CoordSystem(); + my $mid_name = 'middle'; + my $csa = $self->db->get_CoordSystemAdaptor(); + + # Check for the simple case where the ChainedMapper is short + if( ! defined $mid_cs ) { + $start_mid_mapper = $combined_mapper; + } + + #the SQL varies depending on whether we are coming from assembled or + #component coordinate system + #print STDERR "ASM SQL:"; + my $asm2cmp_sth = $self->prepare( + 'SELECT + asm.cmp_start, + asm.cmp_end, + asm.cmp_seq_region_id, + sr.name, + asm.ori, + asm.asm_start, + asm.asm_end + FROM + assembly asm, seq_region sr + WHERE + asm.asm_seq_region_id = ? AND + ? <= asm.asm_end AND + ? >= asm.asm_start AND + asm.cmp_seq_region_id = sr.seq_region_id AND + sr.coord_system_id = ?'); + + #print STDERR "CMP SQL:"; + my $cmp2asm_sth = $self->prepare( + 'SELECT + asm.asm_start, + asm.asm_end, + asm.asm_seq_region_id, + sr.name, + asm.ori, + asm.cmp_start, + asm.cmp_end + FROM + assembly asm, seq_region sr + WHERE + asm.cmp_seq_region_id = ? AND + ? <= asm.cmp_end AND + ? >= asm.cmp_start AND + asm.asm_seq_region_id = sr.seq_region_id AND + sr.coord_system_id = ?'); + + ############## + # obtain the first half of the mappings and load them into the start mapper + # + + #ascertain which is component and which is actually assembled coord system + my @path; + + # check for the simple case, where the ChainedMapper is short + if( defined $mid_cs ) { + @path = @{$csa->get_mapping_path($start_cs, $mid_cs)}; + } else { + @path = @{$csa->get_mapping_path( $start_cs, $end_cs )}; + } + + if(@path != 2) { + my $path = join(',', map({$_->name .' '. $_->version} @path)); + my $len = scalar(@path) - 1; + throw("Unexpected mapping path between start and intermediate " . + "coord systems (". $start_cs->name . " " . $start_cs->version . + " and " . $mid_cs->name . " " . $mid_cs->version . ")." . + "\nExpected path length 1, got $len. " . + "(path=$path)"); + } + + my $sth; + my ($asm_cs,$cmp_cs) = @path; + $sth = ($asm_cs->equals($start_cs)) ? $asm2cmp_sth : $cmp2asm_sth; + + my $seq_region_id = $self->_seq_region_name_to_id($seq_region_name, + $start_cs->dbID()); + my $mid_cs_id; + + # check for the simple case where the ChainedMapper is short + if( defined $mid_cs ) { + $mid_cs_id = $mid_cs->dbID(); + } else { + $mid_cs_id = $end_cs->dbID(); + } + + my @mid_ranges; + my @start_ranges; + + #need to perform the query for each unregistered range + foreach my $range (@$ranges) { + my ($start, $end) = @$range; + $sth->execute($seq_region_id, $start, $end, $mid_cs_id); + + #load the start <-> mid mapper with the results and record the mid cs + #ranges we just added to the mapper + + my ($mid_start, $mid_end, $mid_seq_region_id, $mid_seq_region, + $ori, $start_start, $start_end); + + $sth->bind_columns(\$mid_start, \$mid_end, \$mid_seq_region_id, + \$mid_seq_region, \$ori, \$start_start, + \$start_end); + + while($sth->fetch()) { + if( defined $mid_cs ) { + $start_mid_mapper->add_map_coordinates + ( + $seq_region_name,$start_start, $start_end, $ori, + $mid_seq_region, $mid_start, $mid_end + ); + } else { + if( $from eq "first" ) { + $combined_mapper->add_map_coordinates + ( + $seq_region_name,$start_start, $start_end, $ori, + $mid_seq_region, $mid_start, $mid_end + ); + } else { + $combined_mapper->add_map_coordinates + ( + $mid_seq_region, $mid_start, $mid_end, $ori, + $seq_region_name,$start_start, $start_end + ); + } + } + + #update sr_name cache + $self->{'_sr_id_cache'}->{"$mid_seq_region:$mid_cs_id"} = + $mid_seq_region_id; + + push @mid_ranges,[$mid_seq_region_id,$mid_seq_region, + $mid_start,$mid_end]; + push @start_ranges, [ $start_start, $start_end ]; + + #the region that we actually register may actually be larger or smaller + #than the region that we wanted to register. + #register the intersection of the region so we do not end up doing + #extra work later + + if($start_start < $start || $start_end > $end) { + $start_registry->check_and_register($seq_region_name,$start_start, + $start_end); + } + } + } + + # in the one step case, we load the mid ranges in the + # last_registry and we are done + if( ! defined $mid_cs ) { + for my $range ( @mid_ranges ) { + $end_registry->check_and_register( $range->[1], $range->[2], + $range->[3] ); + } + + # and thats it for the simple case ... + return; + } + + + ########### + # now the second half of the mapping + # perform another query and load the mid <-> end mapper using the mid cs + # ranges + # + + #ascertain which is component and which is actually assembled coord system + @path = @{$csa->get_mapping_path($mid_cs, $end_cs)}; + if(@path != 2) { + my $path = join(',', map({$_->name .' '. $_->version} @path)); + my $len = scalar(@path)-1; + throw("Unexpected mapping path between intermediate and last" . + "coord systems (". $mid_cs->name . " " . $mid_cs->version . + " and " . $end_cs->name . " " . $end_cs->version . ")." . + "\nExpected path length 1, got $len. " . + "(path=$path)"); + } + + ($asm_cs,$cmp_cs) = @path; + $sth = ($asm_cs->equals($mid_cs)) ? $asm2cmp_sth : $cmp2asm_sth; + + my $end_cs_id = $end_cs->dbID(); + foreach my $mid_range (@mid_ranges) { + my ($mid_seq_region_id, $mid_seq_region,$start, $end) = @$mid_range; + $sth->execute($mid_seq_region_id, $start, $end, $end_cs_id); + #print STDERR "bind vals=($mid_seq_region_id, $start, $end, $mid_cs_id)\n"; + + #load the end <-> mid mapper with the results and record the mid cs + #ranges we just added to the mapper + + my ($end_start, $end_end, $end_seq_region_id, $end_seq_region, + $ori, $mid_start, $mid_end); + + $sth->bind_columns(\$end_start, \$end_end, \$end_seq_region_id, + \$end_seq_region, \$ori, \$mid_start, + \$mid_end); + + while($sth->fetch()) { + #print STDERR "Adding to end<->mid mapper:\n" . + # "$end_seq_region:$end_start-$end_end<->$mid_seq_region:" . + # "$mid_start-$mid_end($ori)\n"; + $end_mid_mapper->add_map_coordinates + ( + $end_seq_region, $end_start, $end_end, $ori, + $mid_seq_region, $mid_start, $mid_end + ); + + #update sr_name cache + $self->{'_sr_id_cache'}->{"$end_seq_region:$end_cs_id"} = + $end_seq_region_id; + + #register this region on the end coord system + $end_registry->check_and_register($end_seq_region, $end_start, $end_end); + } + } + + ######### + # Now that both halves are loaded + # Do stepwise mapping using both of the loaded mappers to load + # the final start <-> end mapper + # + + foreach my $range (@start_ranges) { + my ($start, $end) = @$range; + + my $sum = 0; + + my @initial_coords = $start_mid_mapper->map_coordinates($seq_region_name, + $start,$end,1, + $start_name); + + foreach my $icoord (@initial_coords) { + #skip gaps + if($icoord->isa('Bio::EnsEMBL::Mapper::Gap')) { + $sum += $icoord->length(); + next; + } + + #print STDERR "icoord: id=".$icoord->id." start=".$icoord->start." end=". + # $icoord->end."\n"; + + #feed the results of the first mapping into the second mapper + my @final_coords = + $end_mid_mapper->map_coordinates($icoord->id, $icoord->start, + $icoord->end, + $icoord->strand, $mid_name); + + my $istrand = $icoord->strand(); + foreach my $fcoord (@final_coords) { + #load up the final mapper + if($fcoord->isa('Bio::EnsEMBL::Mapper::Coordinate')) { + my $total_start = $start + $sum; + my $total_end = $total_start + $fcoord->length - 1; + my $ori = $fcoord->strand(); + + if($from eq 'first') { #the ordering we add coords must be consistant + $combined_mapper->add_map_coordinates( + $seq_region_name, $total_start, $total_end, $ori, + $fcoord->id(), $fcoord->start(), $fcoord->end()); + } else { + $combined_mapper->add_map_coordinates( + $fcoord->id(), $fcoord->start(), $fcoord->end(),$ori, + $seq_region_name, $total_start, $total_end); + } + + #print STDERR " fcoord: id=".$fcoord->id." start=". + # $fcoord->start." end=".$fcoord->end."\n"; + #print STDERR "Loading combined mapper with : " , + # "$seq_region_name:$total_start-$total_end, ($ori) <-> " + # .$fcoord->id.":".$fcoord->start."-".$fcoord->end."\n"; + } + $sum += $fcoord->length(); + } + } + } + #all done! +} + + +=head2 deleteObj + + Arg [1] : none + Example : none + Description: Cleans up this objects references to other objects so that + proper garbage collection can occur + Returntype : none Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor + Caller : Bio::EnsEMBL::DBConnection + +=cut + +sub deleteObj { + my $self = shift; + + delete $self->{'_asm_mapper_cache'}; + $self->SUPER::deleteObj(); +} + + + +=head2 seq_regions_to_ids + + Arg [1] : Bio::EnsEMBL::CoordSystem $coord_system + Arg [2] : listref of strings $seq_regions + Example : my @ids = @{$asma->seq_regions_to_ids($coord_sys, \@seq_regs)}; + Description: Converts a list of seq_region names to internal identifiers + using the internal cache that has accumulated while registering + regions for AssemblyMappers. If any requested regions are + not found in the cache an attempt is made to retrieve them + from the database. + Returntype : listref of ints + Exceptions : throw if a non-existant seqregion is provided + Caller : general + +=cut + +sub seq_regions_to_ids { + my $self = shift; + my $coord_system = shift; + my $seq_regions = shift; + + my $cs_id = $coord_system->dbID(); + + my @out; + + foreach my $sr (@$seq_regions) { + my $id = $self->{'_sr_id_cache'}->{"$sr:$cs_id"}; + $id = $self->_seq_region_name_to_id($sr,$cs_id) if(!$id); + push @out, $id; + } + + return \@out; +} + + + +=head2 register_region + + Description: DEPRECATED use register_assembled instead + +=cut + +sub register_region{ + my ($self, $assmapper, $type, $chr_name, $start, $end) = @_; + + deprecate('Use register_assembled instead'); + + $self->register_assembled($assmapper, $chr_name, $start, $end); +} + + +=head2 register_contig + + Description: DEPRECATED use register_component instead =cut sub register_contig { my ($self, $assmapper, $type, $contig_id ) = @_; - my $sth = $self->prepare(qq{ - select - c.name, - a.chr_start, - a.chr_end - from - assembly a, - chromosome c - where - contig_id = '$contig_id' and - type = '$type' and - c.chromosome_id = a.chromosome_id - }); - - $sth->execute(); - - my @ctg_list; - - while (my $row = $sth->fetchrow_arrayref) { - push @ctg_list, $row; - } - - if (@ctg_list == 0) { - #$self->warn("Not found contig $contig_id"); - return (); - } - - if (@ctg_list > 1) { - $self->warn("Contig $contig_id is ambiguous in assembly type $type"); - return (); - } - - my $chr_name = $ctg_list[0]->[0]; - my $chr_start = $ctg_list[0]->[1]; - my $chr_end = $ctg_list[0]->[2]; - - return ($chr_name, $chr_start, $chr_end); + deprecate('Use register_component instead'); + + #not sure if the use is passing in a seq_region_name or a + #seq_region_id... + register_component($assmapper, $contig_id); } +=head2 fetch_by_type + + Description: DEPRECATED use fetch_by_CoordSystems instead + +=cut + +sub fetch_by_type{ + my ($self,$type) = @_; + + deprecate('Use fetch_by_coord_systems instead'); + + #assume that what the user wanted was a mapper between the sequence coord + #level and the top coord level + + my $csa = $self->db()->get_CoordSystemAdaptor(); + + my $cs1 = $csa->fetch_top_level($type); + my $cs2 = $csa->fetch_sequence_level(); + + return $self->fetch_by_CoordSystems($cs1,$cs2); +} + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm index 948451529d..d513d9d648 100755 --- a/modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm @@ -62,7 +62,7 @@ Other fetch functions go by the convention of @object_array = @{$adaptor->fetch_all_by_XXXX($arguments_for_XXXX)}; -sometimes it returns an array ref denoted by the 'all' in the name of the +sometimes it returns an array ref denoted by the 'all' in the name of the method, sometimes an individual object. For example $gene = $gene_adaptor->fetch_by_stable_id($stable_id); @@ -85,19 +85,18 @@ Post questions to the EnsEMBL developer mailing list: <ensembl-dev@ebi.ac.uk> =head1 APPENDIX -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ =cut - -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::BaseAdaptor; use vars qw(@ISA); use strict; use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Utils::Exception qw(throw); + @ISA = qw(Bio::EnsEMBL::Root); @@ -122,7 +121,7 @@ sub new { bless $self,$class; if( !defined $dbobj || !ref $dbobj ) { - $self->throw("Don't have a db [$dbobj] for new adaptor"); + throw("Don't have a db [$dbobj] for new adaptor"); } if($dbobj->isa('Bio::EnsEMBL::Container')) { diff --git a/modules/Bio/EnsEMBL/DBSQL/BaseAlignFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/BaseAlignFeatureAdaptor.pm index f4084b75c8..bd05ec5c7f 100644 --- a/modules/Bio/EnsEMBL/DBSQL/BaseAlignFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/BaseAlignFeatureAdaptor.pm @@ -1,9 +1,7 @@ # -# BioPerl module for Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor +# EnsEMBL module for Bio::EnsEMBL::BaseFeatureAdaptor # -# Cared for by Ewan Birney <birney@ebi.ac.uk> -# -# Copyright Ewan Birney +# Copyright (c) 2003 EnsEMBL # # You may distribute this module under the same terms as perl itself @@ -11,8 +9,8 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor - Abstract Base class for - AlignFeatureAdaptors +Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor - Abstract Base class for +AlignFeatureAdaptors =head1 SYNOPSIS @@ -25,11 +23,9 @@ This is a base adaptor for align adaptors. Since DnaAlignFeatureAdaptor and PepAlignFeatureAdaptor had almost the same functionality it made sense to streamline by creating this superclass. -=head1 AUTHOR - Ewan Birney - -Email birney@ebi.ac.uk +=head1 CONTACT -Describe contact details here +Post questions/comments to the ensembl developer list: ensembl-dev@ebi.ac.uk =head1 APPENDIX @@ -38,46 +34,39 @@ methods are usually preceded with a _ =cut - -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor; use vars qw(@ISA); use strict; -#Object preamble - inherits from Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor - use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); +=head2 fetch_all_by_Slice_and_pid -=head2 fetch_all_by_RawContig_and_pid - - Arg [1] : Bio::EnsEMBL::RawContig - the contig to obtain align features from - Arg [2] : float $pid - a lower bound for the percentage identifier of feats to obtain + Arg [1] : Bio::EnsEMBL::Slice $slice + The slice from which to obtain align features. + Arg [2] : (optional) float $pid + a lower bound for the percentage identity of feats to obtain Arg [3] : (optional) string $logic_name the logic name of the type of features to obtain - Example : $fts = $adaptor->fetch_all_by_RawContig_and_pid($contig, 50.0); + Example : @feats = $adaptor->fetch_all_by_Slice_and_pid($slice, 50.0); Description: Returns a listref of features created from the database which - are on the contig defined by $contig and with a percentage id + are on the Slice $slice and with a percentage identity greater than $pid. If logic name is defined, only features - with an analysis of type $logic_name will be returned. - Returntype : listref of Bio::EnsEMBL::BaseAlignFeature in contig coordinates - Exceptions : thrown if $pid is not defined + with an analysis of type $logic_name will be returned. + Returntype : listref of Bio::EnsEMBL::BaseAlignFeatures in Slice coordinates + Exceptions : thrown if pid is not defined Caller : general =cut -sub fetch_all_by_RawContig_and_pid { - my($self, $contig, $pid, $logic_name) = @_; - +sub fetch_all_by_Slice_and_pid { + my ($self,$slice,$pid, $logic_name) = @_; my $constraint; + #get the primary table alias my @tabs = $self->_tables; my $alias = $tabs[0]->[1]; @@ -86,37 +75,25 @@ sub fetch_all_by_RawContig_and_pid { $constraint = "${alias}.perc_ident > $pid"; } - return $self->fetch_all_by_RawContig_constraint($contig, - $constraint, - $logic_name); -} - + if(defined $pid){ + $constraint = "perc_ident > $pid"; + } + return $self->fetch_all_by_Slice_constraint($slice, $constraint, + $logic_name); +} -=head2 fetch_all_by_Slice_and_pid +=head2 fetch_all_by_RawContig_and_pid - Arg [1] : Bio::EnsEMBL::Slice $slice - The slice from which to obtain align features. - Arg [2] : (optional) float $pid - a lower bound for the percentage identifier of feats to obtain - Arg [3] : (optional) string $logic_name - the logic name of the type of features to obtain - Example : @feats = $adaptor->fetch_all_by_Slice_and_pid($slice, 50.0); - Description: Returns a listref of features created from the database which - are on the Slice $slice and with a percentage id - greater than $pid. If logic name is defined, only features - with an analysis of type $logic_name will be returned. - Returntype : listref of Bio::EnsEMBL::BaseAlignFeatures in Slice coordinates - Exceptions : thrown if pid is not defined - Caller : general + Description: DEPRECATED use fetch_all_by_Slice_and_pid instead =cut -sub fetch_all_by_Slice_and_pid { - my ($self,$slice,$pid, $logic_name) = @_; - my $constraint; +sub fetch_all_by_RawContig_and_pid { + my($self, $contig, $pid, $logic_name) = @_; + my $constraint; #get the primary table alias my @tabs = $self->_tables; @@ -126,13 +103,11 @@ sub fetch_all_by_Slice_and_pid { $constraint = "${alias}.perc_ident > $pid"; } - if(defined $pid){ - $constraint = "perc_ident > $pid"; - } + return $self->fetch_all_by_RawContig_constraint($contig, + $constraint, + $logic_name); +} - return $self->fetch_all_by_Slice_constraint($slice, $constraint, - $logic_name); -} diff --git a/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm index 352f939baa..b8a49f631f 100644 --- a/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/BaseFeatureAdaptor.pm @@ -1,17 +1,13 @@ # # EnsEMBL module for Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor # -# Cared for by Ewan Birney <birney@ebi.ac.uk> -# -# Copyright Ewan Birney +# Copyright (c) 2003 EnsEMBL # # You may distribute this module under the same terms as perl itself -# POD documentation - main docs before the code - =head1 NAME -Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor - Abstract Base class for +Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor - An Abstract Base class for all FeatureAdaptors =head1 SYNOPSIS @@ -22,26 +18,31 @@ abstract methods must be performed by subclasses. =head1 DESCRIPTION This is a base adaptor for feature adaptors. This base class is simply a way -of eliminating code duplication through the implementation of methods +of eliminating code duplication through the implementation of methods common to all feature adaptors. =head1 CONTACT Contact EnsEMBL development list for info: <ensembl-dev@ebi.ac.uk> + +=head1 METHODS + =cut package Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; -use vars qw(@ISA $SLICE_FEATURE_CACHE_SIZE); +use vars qw(@ISA); use strict; use Bio::EnsEMBL::DBSQL::BaseAdaptor; use Bio::EnsEMBL::Utils::Cache; +use Bio::EnsEMBL::Utils::Exception qw(warning throw deprecate); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); -$SLICE_FEATURE_CACHE_SIZE = 4; - +my $SLICE_FEATURE_CACHE_SIZE = 4; +my $MAX_SPLIT_QUERY_SEQ_REGIONS = 3; =head2 new @@ -56,26 +57,33 @@ $SLICE_FEATURE_CACHE_SIZE = 4; =cut sub new { - my ($class, @args) = @_; + my $caller = shift; - my $self = $class->SUPER::new(@args); + my $class = ref($caller) || $caller; - #initialize caching data structures - $self->{'_slice_feature_cache'} = {}; + my $self = $class->SUPER::new(@_); - tie(%{$self->{'_slice_feature_cache'}}, - 'Bio::EnsEMBL::Utils::Cache', - $SLICE_FEATURE_CACHE_SIZE); + #initialize an LRU cache + my %cache; + tie(%cache, 'Bio::EnsEMBL::Utils::Cache', $SLICE_FEATURE_CACHE_SIZE); + $self->{'_slice_feature_cache'} = \%cache; return $self; } + =head2 generic_fetch Arg [1] : (optional) string $constraint An SQL query constraint (i.e. part of the WHERE clause) - Arg [2] : (optional) string $logic_name - the logic_name of the analysis of the features to obtain + Arg [2] : (optional) Bio::EnsEMBL::AssemblyMapper $mapper + A mapper object used to remap features + as they are retrieved from the database + Arg [3] : (optional) Bio::EnsEMBL::Slice $slice + A slice that features should be remapped to + Arg [4] : (optional) boolean $keep_all + Set to 1 if all features, even ones entirely off slice, + should be kept Example : $fts = $a->generic_fetch('contig_id in (1234, 1235)', 'Swall'); Description: Performs a database fetch and returns feature objects in contig coordinates. @@ -84,56 +92,37 @@ sub new { Caller : BaseFeatureAdaptor, ProxyDnaAlignFeatureAdaptor::generic_fetch =cut - + sub generic_fetch { - my ($self, $constraint, $logic_name, $mapper, $slice) = @_; - + my ($self, $constraint, $mapper, $slice, $keep_all) = @_; + my @tabs = $self->_tables; my $columns = join(', ', $self->_columns()); - - if($logic_name) { - #determine the analysis id via the logic_name - my $analysis = - $self->db->get_AnalysisAdaptor()->fetch_by_logic_name($logic_name); - unless(defined $analysis && $analysis->dbID() ) { - $self->warn("No analysis for logic name $logic_name exists\n"); - return []; - } - - my $analysis_id = $analysis->dbID(); - - #get the synonym for the primary table - my $syn = $tabs[0]->[1]; - if($constraint) { - $constraint .= " AND ${syn}.analysis_id = $analysis_id"; - } else { - $constraint = " ${syn}.analysis_id = $analysis_id"; - } - } + my $db = $self->db(); # # Construct a left join statement if one was defined, and remove the # left-joined table from the table list # - my ($tablename, $condition) = $self->_left_join; + my @left_join_list = $self->_left_join(); my $left_join = ''; my @tables; - if($tablename && $condition) { + if(@left_join_list) { + my %left_join_hash = map { $_->[0] => $_->[1] } @left_join_list; while(my $t = shift @tabs) { - if($tablename eq $t->[0]) { - my $syn = $t->[1]; - $left_join = "LEFT JOIN $tablename $syn $condition"; - push @tables, @tabs; - last; + if( exists $left_join_hash{ $t->[0] } ) { + my $condition = $left_join_hash{ $t->[0] }; + my $syn = $t->[1]; + $left_join .= "LEFT JOIN ".$t->[0]." $syn ON $condition "; } else { - push @tables, $t; + push @tables, $t; } } } else { @tables = @tabs; } - + #construct a nice table string like 'table1 t1, table2 t2' my $tablenames = join(', ', map({ join(' ', @$_) } @tables)); @@ -143,7 +132,7 @@ sub generic_fetch { my $final_clause = $self->_final_clause; #append a where clause if it was defined - if($constraint) { + if($constraint) { $sql .= " where $constraint "; if($default_where) { $sql .= " and $default_where "; @@ -155,150 +144,120 @@ sub generic_fetch { #append additional clauses which may have been defined $sql .= " $final_clause"; - my $sth = $self->prepare($sql); - - $sth->execute; + ###print STDERR "\n\n$sql\n\n"; + + my $sth = $db->prepare($sql); + + $sth->execute; + + my $res = $self->_objs_from_sth($sth, $mapper, $slice, $keep_all); - return $self->_objs_from_sth($sth, $mapper, $slice); + return $res; } =head2 fetch_by_dbID Arg [1] : int $id - the unique database identifier for the feature to be obtained - Example : $feat = $adaptor->fetch_by_dbID(1234); + The unique database identifier for the feature to be obtained + Example : $feat = $adaptor->fetch_by_dbID(1234)); + $feat = $feat->transform('contig'); Description: Returns the feature created from the database defined by the - the id $id. - Returntype : Bio::EnsEMBL::SeqFeature - Exceptions : thrown if $id is not defined + the id $id. The feature will be returned in its native + coordinate system. That is, the coordinate system in which it + is stored in the database. In order to convert it to a + particular coordinate system use the transfer() or transform() + method. If the feature is not found in the database then + undef is returned instead + Returntype : Bio::EnsEMBL::Feature or undef + Exceptions : thrown if $id arg is not provided + does not exist Caller : general =cut sub fetch_by_dbID{ my ($self,$id) = @_; - - unless(defined $id) { - $self->throw("fetch_by_dbID must have an id"); - } - my @tabs = $self->_tables; + throw("id argument is required") if(!defined $id); + #construct a constraint like 't1.table1_id = 123' + my @tabs = $self->_tables; my ($name, $syn) = @{$tabs[0]}; - - #construct a constraint like 't1.table1_id = 1' my $constraint = "${syn}.${name}_id = $id"; - #return first element of _generic_fetch list - my ($feat) = @{$self->generic_fetch($constraint)}; + #Should only be one + my ($feat) = @{$self->generic_fetch($constraint)}; + + return undef if(!$feat); + return $feat; } -=head2 fetch_all_by_RawContig_constraint - - Arg [1] : Bio::EnsEMBL::RawContig $contig - The contig object from which features are to be obtained - Arg [2] : (optional) string $constraint - An SQL query constraint (i.e. part of the WHERE clause) - Arg [3] : (optional) string $logic_name - the logic name of the type of features to obtain - Example : $fs = $a->fetch_all_by_Contig_constraint($ctg,'perc_ident>5.0'); - Description: Returns a listref of features created from the database which - are on the contig defined by $cid and fulfill the SQL constraint - defined by $constraint. If logic name is defined, only features - with an analysis of type $logic_name will be returned. - Returntype : listref of Bio::EnsEMBL::SeqFeature in contig coordinates - Exceptions : thrown if $cid is not defined +=head2 fetch_all_by_dbID_list + + Arg [1] : listref of ints $id_list + The unique database identifiers for the features to be obtained + Example : @feats = @{$adaptor->fetch_by_dbID_list([1234, 2131, 982]))}; + Description: Returns the features created from the database defined by the + the ids in contained in the id list $id_list. The features + will be returned in their native coordinate system. That is, + the coordinate system in which they are stored in the database. + In order to convert the features to a particular coordinate + system use the transfer() or transform() method. If none of the + features are found in the database a reference to an empty + list is returned. + Returntype : listref of Bio::EnsEMBL::Features + Exceptions : thrown if $id arg is not provided + does not exist Caller : general =cut -sub fetch_all_by_RawContig_constraint { - my ($self, $contig, $constraint, $logic_name) = @_; - - unless( defined $contig ) { - $self->throw("fetch_by_Contig_constraint must have an contig"); - } +sub fetch_all_by_dbID_list { + my ($self,$id_list) = @_; - unless( ref $contig && $contig->isa('Bio::EnsEMBL::RawContig')) { - $self->throw("contig argument is not a Bio::EnsEMBL::RawContig object\n"); + if(!defined($id_list) || ref($id_list) ne 'ARRAY') { + throw("id_list list reference argument is required") if(!defined $id_list); } - my $cid = $contig->dbID(); + return [] if(!@$id_list); - #get the synonym of the primary_table + my @out; + #construct a constraint like 't1.table1_id = 123' my @tabs = $self->_tables; - my $syn = $tabs[0]->[1]; + my ($name, $syn) = @{$tabs[0]}; - if($constraint) { - $constraint .= " AND ${syn}.contig_id = $cid"; - } else { - $constraint = "${syn}.contig_id = $cid"; - } + #mysql is faster and we ensure that we do not exceed the max query size by + #splitting large queries into smaller queries of 200 ids + my $max_size = 200; - return $self->generic_fetch($constraint, $logic_name); -} + while(@$id_list) { + my @ids; + if(@$id_list > $max_size) { + @ids = splice(@$id_list, 0, $max_size); + } else { + @ids = splice(@$id_list, 0); + } + + my $id_str; + if(@ids > 1) { + $id_str = " IN (" . join(',', @ids). ")"; + } else { + $id_str = " = " . $ids[0]; + } -=head2 fetch_all_by_RawContig + my $constraint = "${syn}.${name}_id $id_str"; - Arg [1] : Bio::EnsEMBL::RawContig $contig - the contig from which features should be obtained - Arg [2] : (optional) string $logic_name - the logic name of the type of features to obtain - Example : @fts = $a->fetch_all_by_RawContig($contig, 'wall'); - Description: Returns a list of features created from the database which are - are on the contig defined by $cid If logic name is defined, - only features with an analysis of type $logic_name will be - returned. - Returntype : listref of Bio::EnsEMBL::*Feature in contig coordinates - Exceptions : none - Caller : general - -=cut - -sub fetch_all_by_RawContig { - my ( $self, $contig, $logic_name ) = @_; + push @out, @{$self->generic_fetch($constraint)}; + } - return $self->fetch_all_by_RawContig_constraint($contig, '',$logic_name); + return \@out; } -=head2 fetch_all_by_RawContig_and_score - Arg [1] : Bio::EnsEMBL::RawContig $contig - the contig from which features should be obtained - Arg [2] : (optional) float $score - the lower bound of the score of the features to obtain - Arg [3] : (optional) string $logic_name - the logic name of the type of features to obtain - Example : @fts = $a->fetch_by_RawContig_and_score(1, 50.0, 'Swall'); - Description: Returns a list of features created from the database which are - are on the contig defined by $cid and which have score greater - than score. If logic name is defined, only features with an - analysis of type $logic_name will be returned. - Returntype : listref of Bio::EnsEMBL::*Feature in contig coordinates - Exceptions : thrown if $score is not defined - Caller : general - -=cut - -sub fetch_all_by_RawContig_and_score{ - my($self, $contig, $score, $logic_name) = @_; - - my $constraint; - - if(defined $score){ - #get the synonym of the primary_table - my @tabs = $self->_tables; - my $syn = $tabs[0]->[1]; - $constraint = "${syn}.score > $score"; - } - - return $self->fetch_all_by_RawContig_constraint($contig, $constraint, - $logic_name); -} =head2 fetch_all_by_Slice @@ -320,7 +279,7 @@ sub fetch_all_by_RawContig_and_score{ sub fetch_all_by_Slice { my ($self, $slice, $logic_name) = @_; - + #fetch by constraint with empty constraint return $self->fetch_all_by_Slice_constraint($slice, '', $logic_name); } @@ -359,7 +318,7 @@ sub fetch_all_by_Slice_and_score { return $self->fetch_all_by_Slice_constraint($slice, $constraint, $logic_name); -} +} =head2 fetch_all_by_Slice_constraint @@ -383,91 +342,395 @@ sub fetch_all_by_Slice_and_score { =cut sub fetch_all_by_Slice_constraint { - my($self, $slice, $constraint, $logic_name) = @_; + my($self, $orig_slice, $original_constraint, $logic_name) = @_; + my @result_features; - unless(defined $slice && ref $slice && $slice->isa("Bio::EnsEMBL::Slice")) { - $self->throw("Slice arg must be a Bio::EnsEMBL::Slice not a [$slice]\n"); + if(!ref($orig_slice) || !$orig_slice->isa("Bio::EnsEMBL::Slice")) { + throw("Slice arg must be a Bio::EnsEMBL::Slice not a [$orig_slice]\n"); } - $logic_name = '' unless $logic_name; - $constraint = '' unless $constraint; + $original_constraint ||= ''; + $original_constraint = $self->_logic_name_to_constraint($original_constraint, + $logic_name); + + #if the logic name was invalid, undef was returned + return [] if(!defined($original_constraint)); #check the cache and return if we have already done this query - my $key = uc(join($slice->name, $constraint, $logic_name)); - return $self->{'_slice_feature_cache'}{$key} - if $self->{'_slice_feature_cache'}{$key}; + my $key = uc(join(':', $orig_slice->name, $original_constraint)); + + if(exists($self->{'_slice_feature_cache'}->{$key})) { + return $self->{'_slice_feature_cache'}->{$key}; + } + + my $slice_adaptor = $orig_slice->adaptor(); + + #retrieve normalized 'non-symlinked' slices + #this allows us to support haplotypes and PARs + my @projection = + @{$slice_adaptor->fetch_normalized_slice_projection($orig_slice)}; + + if(@projection == 0) { + throw('Could not retrieve normalized Slices. Database contains ' . + 'incorrect assembly_exception information.'); + } + + #we want to retrieve all features calculated on the FULL original slice + #as well as any symlinked slices. + + #Filter out any partial slices from the normalized projection that are on + #the same seq region as the original slice + my @new_projection = + grep { $_->[2]->seq_region_name() ne $orig_slice->seq_region_name() } + @projection; + + push( @new_projection, [ 1, $orig_slice->length(), $orig_slice ] ); + + #fetch features for the primary slice AND all symlinked slices + foreach my $segment (@new_projection) { + my ($offset, $slice); + ($offset, undef, $slice) = @$segment; + + my $slice_start = $slice->start(); + my $slice_end = $slice->end(); + my $slice_strand = $slice->strand(); + my $slice_cs = $slice->coord_system(); + my $slice_seq_region = $slice->seq_region_name(); + + #get the synonym and name of the primary_table + my @tabs = $self->_tables; + my ($tab_name, $tab_syn) = @{$tabs[0]}; + + #find out what coordinate systems the features are in + my $csa = $self->db->get_CoordSystemAdaptor(); + my @feat_css = @{$csa->fetch_all_by_feature_table($tab_name)}; + + my $asma = $self->db->get_AssemblyMapperAdaptor(); + my @features; + + # fetch the features from each coordinate system they are stored in + COORD_SYSTEM: foreach my $feat_cs (@feat_css) { + my $mapper; + my @coords; + my @ids; + + if($feat_cs->equals($slice_cs)) { + #no mapping is required if this is the same coord system + my $constraint = $original_constraint; + + # obtain seq_region_id of this slice from db + my $seq_region_id = + $self->db->get_SliceAdaptor->get_seq_region_id($slice); + $constraint .= " AND " if($constraint); + $constraint .= + "${tab_syn}.seq_region_id = $seq_region_id AND " . + "${tab_syn}.seq_region_start <= $slice_end AND " . + "${tab_syn}.seq_region_end >= $slice_start"; + my $fs = $self->generic_fetch($constraint,undef,$slice); + + #features may still have to have coordinates made relative to slice + #start + $fs = $self->_remap($fs, $mapper, $slice); + + push @features, @$fs; + } else { + $mapper = $asma->fetch_by_CoordSystems($slice_cs, $feat_cs); + + # Get a list of coordinates and corresponding internal ids for the + # regions we are interested in + @coords = $mapper->map($slice_seq_region, $slice_start, $slice_end, + $slice_strand, $slice_cs); + + @coords = grep {!$_->isa('Bio::EnsEMBL::Mapper::Gap')} @coords; + + next COORD_SYSTEM if(!@coords); + + @ids = map {$_->id()} @coords; + @ids = @{$asma->seq_regions_to_ids($feat_cs, \@ids)}; + + #if the regions are large and only partially spanned + #it is faster to to limit the query with start and end constraints + #however, it is difficult to tell if a region is large and only + #partially wanted. The easy approach is just to limit the queries if + #there are less than a certain number of regions. As well seperate + #queries are needed otherwise the indices will not be useful + if(@coords > $MAX_SPLIT_QUERY_SEQ_REGIONS) { + #do one query, and do not limit with start / end constraints + my $constraint = $original_constraint; + my $id_str = join(',', @ids); + $constraint .= " AND " if($constraint); + $constraint .= "${tab_syn}.seq_region_id IN ($id_str)"; + + my $fs = + $self->generic_fetch($constraint, $mapper, $slice); + + $fs = $self->_remap($fs, $mapper, $slice); + + push @features, @$fs; + + } else { + #do multiple split queries using start / end constraints + my $len = @coords; + for(my $i = 0; $i < $len; $i++) { + my $constraint = $original_constraint; + $constraint .= " AND " if($constraint); + $constraint .= + "${tab_syn}.seq_region_id = " . $ids[$i] . " AND " . + "${tab_syn}.seq_region_start <= " . $coords[$i]->end() . " AND ". + "${tab_syn}.seq_region_end >= " . $coords[$i]->start(); + my $fs = $self->generic_fetch($constraint,$mapper,$slice); + + $fs = $self->_remap($fs, $mapper, $slice); + + push @features, @$fs; + } + } + } + } #COORD system loop - my $slice_start = $slice->chr_start(); - my $slice_end = $slice->chr_end(); - my $slice_strand = $slice->strand(); - - my $mapper = - $self->db->get_AssemblyMapperAdaptor->fetch_by_type($slice->assembly_type); + #if this was a symlinked slice offset the feature coordinates as needed + if($slice != $orig_slice) { + foreach my $f (@features) { + #function calls are slow! + if($offset != 1) { + $f->{'start'} += $offset-1; + $f->{'end'} += $offset-1; + } + $f->{'slice'} = $orig_slice; + push @result_features, $f; + } + } else { + push @result_features, @features; + } + + } #slice & symmlinked slice loop - #get the list of contigs this slice is on - my @cids = - $mapper->list_contig_ids( $slice->chr_name, $slice_start ,$slice_end ); - - return [] unless scalar(@cids); + $self->{'_slice_feature_cache'}->{$key} = \@result_features; - my $cid_list = join(',',@cids); + return \@result_features; +} - #get the synonym of the primary_table - my @tabs = $self->_tables; - my $syn = $tabs[0]->[1]; - #construct the SQL constraint for the contig ids - if($constraint) { - $constraint .= " AND ${syn}.contig_id IN ($cid_list)"; - } else { - $constraint = "${syn}.contig_id IN ($cid_list)"; +# +# Helper function containing some common feature storing functionality +# +# Given a Feature this will return a copy (or the same feature if no changes +# to the feature are needed) of the feature which is relative to the start +# of the seq_region it is on. The seq_region_id of the seq_region it is on +# is also returned. +# +# This method will also ensure that the database knows which coordinate +# systems that this feature is stored in. +# + +sub _pre_store { + my $self = shift; + my $feature = shift; + + if(!ref($feature) || !$feature->isa('Bio::EnsEMBL::Feature')) { + throw('Expected Feature argument.'); } - #for speed the remapping to slice may be done at the time of object creation - my $features = - $self->generic_fetch($constraint, $logic_name, $mapper, $slice); - - if(@$features && (!$features->[0]->can('contig') || - $features->[0]->contig == $slice)) { - #features have been converted to slice coords already, cache and return - return $self->{'_slice_feature_cache'}{$key} = $features; + $self->_check_start_end_strand($feature->start(),$feature->end(), + $feature->strand()); + + my $slice_adaptor = $self->db->get_SliceAdaptor(); + my $slice = $feature->slice(); + + if(!ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Feature must be attached to Slice to be stored.'); + } + + # make sure that the feature coordinates are relative to + # the start of the entire seq_region + if($slice->start != 1 || $slice->strand != 1) { + #move the feature onto a slice of the entire seq_region + $slice = $slice_adaptor->fetch_by_region($slice->coord_system->name(), + $slice->seq_region_name(), + undef, #start + undef, #end + undef, #strand + $slice->coord_system->version()); + + $feature = $feature->transfer($slice); + + if(!$feature) { + throw('Could not transfer Feature to slice of ' . + 'entire seq_region prior to storing'); + } + } + + # + # Ensure that this type of feature is known to be stored in this coord + # system. + # + my $csa = $self->db->get_CoordSystemAdaptor(); + my $cs = $slice->coord_system; + + my ($tab) = $self->_tables(); + my $tabname = $tab->[0]; + + $csa->add_feature_table($cs, $tabname); + + my $seq_region_id = $slice_adaptor->get_seq_region_id($slice); + + if(!$seq_region_id) { + throw('Feature is associated with seq_region which is not in this DB.'); + } + + return ($feature, $seq_region_id); +} + + +# +# helper function used to validate start/end/strand and +# hstart/hend/hstrand etc. +# +sub _check_start_end_strand { + my $self = shift; + my $start = shift; + my $end = shift; + my $strand = shift; + + # + # Make sure that the start, end, strand are valid + # + if(int($start) != $start) { + throw("Invalid Feature start [$start]. Must be integer."); + } + if(int($end) != $end) { + throw("Invalid Feature end [$end]. Must be integer."); + } + if(int($strand) != $strand || $strand < -1 || $strand > 1) { + throw("Invalid Feature strand [$strand]. Must be -1, 0 or 1."); + } + if($end < $start) { + throw("Invalid Feature start/end [$start/$end]. Start must be less " . + "than or equal to end."); + } + + return 1; +} + + +# +# Given a list of features checks if they are in the correct coord system +# by looking at the first features slice. If they are not then they are +# converted and placed on the slice. +# +sub _remap { + my ($self, $features, $mapper, $slice) = @_; + + #check if any remapping is actually needed + if(@$features && (!$features->[0]->isa('Bio::EnsEMBL::Feature') || + $features->[0]->slice == $slice)) { + return $features; } #remapping has not been done, we have to do our own conversion from - # raw contig coords to slice coords + #to slice coords + + my @out; + + my $slice_start = $slice->start(); + my $slice_end = $slice->end(); + my $slice_strand = $slice->strand(); + my $slice_cs = $slice->coord_system(); + + my ($seq_region, $start, $end, $strand); - my @out = (); - - my ($feat_start, $feat_end, $feat_strand); + my $slice_seq_region = $slice->seq_region_name(); foreach my $f (@$features) { #since feats were obtained in contig coords, attached seq is a contig - my $contig_id = $f->contig->dbID(); + my $fslice = $f->slice(); + if(!$fslice) { + throw("Feature does not have attached slice.\n"); + } + my $fseq_region = $fslice->seq_region_name(); + my $fcs = $fslice->coord_system(); - my ($chr_name, $start, $end, $strand) = - $mapper->fast_to_assembly($contig_id, $f->start(), - $f->end(),$f->strand(),"rawcontig"); + if(!$slice_cs->equals($fcs)) { + #slice of feature in different coord system, mapping required - # undefined start means gap - next unless defined $start; + ($seq_region, $start, $end, $strand) = + $mapper->fastmap($fseq_region,$f->start(),$f->end(),$f->strand(),$fcs); + + # undefined start means gap + next if(!defined $start); + } else { + $start = $f->start(); + $end = $f->end(); + $strand = $f->strand(); + $seq_region = $f->slice->seq_region_name(); + } + + # maps to region outside desired area + next if ($start > $slice_end) || ($end < $slice_start) || ($slice_seq_region ne $seq_region); - # maps to region outside desired area - next if ($start > $slice_end) || ($end < $slice_start); - #shift the feature start, end and strand in one call if($slice_strand == -1) { $f->move( $slice_end - $end + 1, $slice_end - $start + 1, $strand * -1 ); } else { $f->move( $start - $slice_start + 1, $end - $slice_start + 1, $strand ); } - - $f->contig($slice); - + + $f->slice($slice); + push @out,$f; } - - #update the cache - return $self->{'_slice_feature_cache'}{$key} = \@out; + + return \@out; +} + + +# +# Given a logic name and an existing constraint this will +# add an analysis table constraint to the feature. Note that if no +# analysis_id exists in the columns of the primary table then no +# constraint is added at all +# +sub _logic_name_to_constraint { + my $self = shift; + my $constraint = shift; + my $logic_name = shift; + + return $constraint if(!$logic_name); + + #make sure that an analysis_id exists in the primary table + my ($prim_tab) = $self->_tables(); + my $prim_synonym = $prim_tab->[1]; + + my $found_analysis=0; + foreach my $col ($self->_columns) { + my ($syn,$col_name) = split(/\./,$col); + next if($syn ne $prim_synonym); + if($col_name eq 'analysis_id') { + $found_analysis = 1; + last; + } + } + + if(!$found_analysis) { + warning("This feature is not associated with an analysis.\n" . + "Ignoring logic_name argument = [$logic_name].\n"); + return $constraint; + } + + my $aa = $self->db->get_AnalysisAdaptor(); + my $an = $aa->fetch_by_logic_name($logic_name); + + if(!$an) { + warning("No analysis exists with logic_name = [$logic_name].\n" . + "Returning empty list.\n"); + return undef; + } + + my $an_id = $an->dbID(); + + $constraint .= ' AND' if($constraint); + $constraint .= " ${prim_synonym}.analysis_id = $an_id"; + return $constraint; } @@ -487,7 +750,7 @@ sub fetch_all_by_Slice_constraint { sub store{ my $self = @_; - $self->throw("Abstract method store not defined by implementing subclass\n"); + throw("Abstract method store not defined by implementing subclass\n"); } @@ -503,8 +766,8 @@ sub store{ feature to be removed from the database a dbID value must be returned. Returntype : none - Exceptions : thrown if $feature arg does not implement dbID(), or if - $feature->dbID is not a true value + Exceptions : thrown if $feature arg does not implement dbID(), or if + $feature->dbID is not a true value Caller : general =cut @@ -513,13 +776,12 @@ sub store{ sub remove { my ($self, $feature) = @_; - unless($feature->can('dbID')) { - $self->throw("Feature [$feature] does not implement method dbID"); + if(!$feature || !ref($feature) || !$feature->isa('Bio::EnsEMBL::Feature')) { + throw('Feature argument is required'); } - unless($feature->dbID) { - $self->warn("BaseFeatureAdaptor::remove - dbID not defined - " . - "feature could not be removed"); + if(!$feature->is_stored($self->db)) { + throw("This feature is not stored in this database"); } my @tabs = $self->_tables; @@ -528,218 +790,257 @@ sub remove { my $sth = $self->prepare("DELETE FROM $table WHERE ${table}_id = ?"); $sth->execute($feature->dbID()); - #unset the feature dbID - $feature->dbID(''); - + #unset the feature dbID ad adaptor + $feature->dbID(undef); + $feature->adaptor(undef); + return; } +=head2 remove_by_Slice -=head2 remove_by_RawContig - - Arg [1] : Bio::Ensembl::RawContig $contig - Example : $feature_adaptor->remove_by_RawContig($contig); - Description: This removes features from the database which lie on a removed - contig. The table the features are removed from is defined by - the abstract method_tablename, and the primary key of the table - is assumed to be contig_id. + Arg [1] : Bio::Ensembl::Slice $slice + Example : $feature_adaptor->remove_by_RawContig($slice); + Description: This removes features from the database which lie on a region + represented by the passed in slice. Only features which are + fully contained by the slice are deleted; features which overlap + the edge of the slice are not removed. + The table the features are removed from is defined by + the abstract method_tablename. Returntype : none - Exceptions : thrown if no contig is supplied + Exceptions : thrown if no slice is supplied Caller : general =cut -sub remove_by_RawContig { - my ($self, $contig) = @_; +sub remove_by_Slice { + my ($self, $slice) = @_; - unless($contig) { - $self->throw("BaseFeatureAdaptor::remove - no contig supplied: ". - "Deletion of features failed."); + if(!$slice || !ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw("Slice argument is required"); } my @tabs = $self->_tables; - my ($table_name) = @{$tabs[0]}; - my $sth = $self->prepare("DELETE FROM $table_name - WHERE contig_id = ?"); + my $seq_region_id = $self->db->get_SliceAdaptor->get_seq_region_id($slice); + my $start = $slice->start(); + my $end = $slice->end(); - $sth->execute($contig->dbID); + # + # Delete only features fully on the slice, not overlapping ones + # + my $sth = $self->prepare("DELETE FROM $table_name " . + "WHERE seq_region_id = ? " . + "AND seq_region_start >= ? " . + "AND seq_region_end <= ?"); - return; + $sth->execute($seq_region_id, $start, $end); + $sth->finish(); } -=head2 _tables - Args : none - Example : $tablename = $self->_table_name() - Description: ABSTRACT PROTECTED Subclasses are responsible for implementing - this method. It should list of [tablename, alias] pairs. - Additionally the primary table (with the dbID, analysis_id, and - score) should be the first table in the list. - e.g: - ( ['repeat_feature', 'rf'], - ['repeat_consensus', 'rc']); - used to obtain features. - Returntype : list of [tablename, alias] pairs - Exceptions : thrown if not implemented by subclass - Caller : BaseFeatureAdaptor::generic_fetch -=cut +#_tables +# +# Args : none +# Example : $tablename = $self->_table_name() +# Description: ABSTRACT PROTECTED Subclasses are responsible for implementing +# this method. It should list of [tablename, alias] pairs. +# Additionally the primary table (with the dbID, analysis_id, and +# score) should be the first table in the list. +# e.g: +# ( ['repeat_feature', 'rf'], +# ['repeat_consensus', 'rc']); +# used to obtain features. +# Returntype : list of [tablename, alias] pairs +# Exceptions : thrown if not implemented by subclass +# Caller : BaseFeatureAdaptor::generic_fetch +# sub _tables { my $self = shift; - $self->throw("abstract method _tables not defined by implementing" . + throw("abstract method _tables not defined by implementing" . " subclass of BaseFeatureAdaptor"); return undef; } -=head2 _columns - - Args : none - Example : $tablename = $self->_columns() - Description: ABSTRACT PROTECTED Subclasses are responsible for implementing - this method. It should return a list of columns to be used - for feature creation - Returntype : list of strings - Exceptions : thrown if not implemented by subclass - Caller : BaseFeatureAdaptor::generic_fetch - -=cut +#_columns +# +# Args : none +# Example : $tablename = $self->_columns() +# Description: ABSTRACT PROTECTED Subclasses are responsible for implementing +# this method. It should return a list of columns to be used +# for feature creation +# Returntype : list of strings +# Exceptions : thrown if not implemented by subclass +# Caller : BaseFeatureAdaptor::generic_fetch +# sub _columns { my $self = shift; - $self->throw("abstract method _columns not defined by implementing" . + throw("abstract method _columns not defined by implementing" . " subclass of BaseFeatureAdaptor"); } -=head2 _left_join +# _default_where_clause +# +# Arg [1] : none +# Example : none +# Description: May be overridden to provide an additional where constraint to +# the SQL query which is generated to fetch feature records. +# This constraint is always appended to the end of the generated +# where clause +# Returntype : string +# Exceptions : none +# Caller : generic_fetch +# - Arg [1] : none - Example : - Description: - Returntype : - Exceptions : - Caller : +sub _default_where_clause { + my $self = shift; -=cut + return ''; +} +# _left_join +# Arg [1] : none +# Example : none +# Description: Can be overridden by a subclass to specify any left joins +# which should occur. The table name specigfied in the join +# must still be present in the return values of +# Returntype : a {'tablename' => 'join condition'} pair +# Exceptions : none +# Caller : general +# -=head2 _default_where_clause +sub _left_join { + my $self = shift; - Arg [1] : none - Example : none - Description: May be overridden to provide an additional where constraint to - the SQL query which is generated to fetch feature records. - This constraint is always appended to the end of the generated - where clause - Returntype : string - Exceptions : none - Caller : generic_fetch + return (); +} -=cut -sub _default_where_clause { + +#_final_clause + +# Arg [1] : none +# Example : none +# Description: May be overriden to provide an additional clause to the end +# of the SQL query used to fetch feature records. +# This is useful to add a required ORDER BY clause to the +# query for example. +# Returntype : string +# Exceptions : none +# Caller : generic_fetch + +sub _final_clause { my $self = shift; return ''; } +#_objs_from_sth -=head2 _left_join +# Arg [1] : DBI::row_hashref $hashref containing key-value pairs +# for each of the columns specified by the _columns method +# Example : my @feats = $self->_obj_from_hashref +# Description: ABSTRACT PROTECTED The subclass is responsible for implementing +# this method. It should take in a DBI row hash reference and +# return a list of created features in contig coordinates. +# Returntype : list of Bio::EnsEMBL::*Features in contig coordinates +# Exceptions : thrown if not implemented by subclass +# Caller : BaseFeatureAdaptor::generic_fetch - Arg [1] : none - Example : none - Description: Can be overridden by a subclass to specify any left joins - which should occur. The table name specigfied in the join - must still be present in the return values of - Returntype : a {'tablename' => 'join condition'} pair - Exceptions : none - Caller : general +sub _objs_from_sth { + my $self = shift; -=cut + throw("abstract method _obj_from_sth not defined by implementing" + . " subclass of BaseFeatureAdaptor"); +} -sub _left_join { +# deleteObj +# +# Arg [1] : none +# Example : none +# Description: Cleans up internal caches and references to other objects so +# that correct garbage collection may occur. +# Returntype : none +# Exceptions : none +# Caller : Bio::EnsEMBL::DBConnection::deleteObj + + +sub deleteObj { my $self = shift; - return ''; + #flush feature cache + %{$self->{'_slice_feature_cache'}} = (); } -=head2 _final_clause - Arg [1] : none - Example : none - Description: May be overriden to provide an additional clause to the end - of the SQL query used to fetch feature records. - This is useful to add a required ORDER BY clause to the - query for example. - Returntype : string - Exceptions : none - Caller : generic_fetch + +=head2 fetch_all_by_RawContig_constraint + + Description: DEPRECATED use fetch_all_by_RawContig_constraint instead =cut -sub _final_clause { +sub fetch_all_by_RawContig_constraint { my $self = shift; - - return ''; + deprecate('Use fetch_all_by_Slice_constraint() instead.'); + return $self->fetch_all_by_slice_constraint(@_); } -=head2 _objs_from_sth +=head2 fetch_all_by_RawContig - Arg [1] : DBI::row_hashref $hashref containing key-value pairs - for each of the columns specified by the _columns method - Example : my @feats = $self->_obj_from_hashref - Description: ABSTRACT PROTECTED The subclass is responsible for implementing - this method. It should take in a DBI row hash reference and - return a list of created features in contig coordinates. - Returntype : list of Bio::EnsEMBL::*Features in contig coordinates - Exceptions : thrown if not implemented by subclass - Caller : BaseFeatureAdaptor::generic_fetch + Description: DEPRECATED use fetch_all_by_Slice instead =cut -sub _objs_from_sth { +sub fetch_all_by_RawContig { my $self = shift; + deprecate('Use fetch_all_by_Slice() instead.'); + return $self->fetch_all_by_Slice(@_); +} - $self->throw("abstract method _obj_from_sth not defined by implementing" - . " subclass of BaseFeatureAdaptor"); -} +=head2 fetch_all_by_RawContig_and_score + Description: DEPRECATED use fetch_all_by_Slice_and_score instead -=head2 deleteObj +=cut - Arg [1] : none - Example : none - Description: Cleans up internal caches and references to other objects so - that correct garbage collection may occur. - Returntype : none - Exceptions : none - Caller : Bio::EnsEMBL::DBConnection::deleteObj +sub fetch_all_by_RawContig_and_score{ + my $self = shift; + deprecate('Use fetch_all_by_Slice_and_score() instead.'); + return $self->fetch_all_by_Slice_and_score(@_); +} + +=head2 remove_by_RawContig + + Description: DEPRECATED use remove_by_Slice instead =cut -sub deleteObj { +sub remove_by_RawContig { my $self = shift; - - #flush feature cache - %{$self->{'_slice_feature_cache'}} = (); + deprecate("Use remove_by_Slice instead"); + return $self->remove_by_Slice(@_); } + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/ChromosomeAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ChromosomeAdaptor.pm index e8bb7c2463..35b19351f5 100644 --- a/modules/Bio/EnsEMBL/DBSQL/ChromosomeAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ChromosomeAdaptor.pm @@ -11,16 +11,12 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::ChromosomeAdaptor - DB Connectivity for Chromosome Object - -=head1 SYNOPSIS - -$chromosome_adaptor = $db_adaptor->get_ChromosomeAdaptor(); -$chromosome = $chromosome_adaptor->fetch_by_chr_name('12'); +Bio::EnsEMBL::DBSQL::ChromosomeAdaptor - DEPRECATED +use Bio::EnsEMBL::SliceAdator instead =head1 DESCRIPTION -This is a database adaptor used to retrieve chromosome objects from a database. +This class is deprecated. SliceAdaptor should be used instead. =head1 AUTHOR - Ewan Birney @@ -34,148 +30,91 @@ package Bio::EnsEMBL::DBSQL::ChromosomeAdaptor; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); +use Bio::EnsEMBL::DBSQL::SliceAdaptor; use Bio::EnsEMBL::Chromosome; -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +@ISA = qw(Bio::EnsEMBL::DBSQL::SliceAdaptor); + =head2 fetch_by_dbID - Arg [1] : int $id - unique database identifier for chromosome to retrieve - Example : my $chromosome = $chromosome_adaptor->fetch_by_dbID(1); - Description: Retrieves a Chromosome object from the database using its - unique identifier. Note the the identifier is the dbID and - does NOT correspond to the chromosome name. dbID 1 does NOT - necessarily correspond to chromosome '1' - Returntype : Bio::EnsEMBL::Chromosome - Exceptions : thrown if $id not defined - Caller : general + Description: DEPRECATED Use SliceAdaptor::fetch_by_seq_region_id instead =cut sub fetch_by_dbID { my ($self,$id) = @_; - $self->throw("Chromosome dbID argument required\n") unless defined $id; - - unless(defined $self->{'_chr_cache'} ) { - $self->{'_chr_cache'} = {}; - $self->{'_chr_name_cache'} = {}; - } - - # If there is not already a cached version of this chromosome pull it - # from the database and add it to the cache. - unless( $self->{'_chr_cache'}->{$id} ) { - my $sth; + deprecate('Use SliceAdaptor::fetch_by_seq_region_id instead.'); - $sth = $self->prepare( "SELECT chromosome_id, name, length - FROM chromosome - WHERE chromosome_id = ?" ); - $sth->execute( $id ); + my $chr = $self->SUPER::fetch_by_seq_region_id($id); - my $a = $sth->fetchrow_arrayref(); - $self->throw("Could determine chromosome name from dbID $id\n") unless $a; - $self->_create_object_from_arrayref( $a ); - } - - return $self->{'_chr_cache'}->{$id}; + #change blessing to chromosome and reset adaptor + bless $chr, 'Bio::EnsEMBL::Chromosome'; + $chr->adaptor($self); + return $chr; } =head2 fetch_by_chr_name - Arg [1] : string $chr_name - the name of the chromosome to retrieve - Example : $chromosome = $chromosome_adaptor->fetch_by_chr_name('X'); - Description: Retrieves a chromosome object from the database using its name. - Returntype : Bio::EnsEMBL::Chromosome - Exceptions : none - Caller : general + Description: DEPRECATED Use SliceAdaptor::fetch_by_region instead =cut sub fetch_by_chr_name{ my ($self,$chr_name) = @_; - unless(defined $self->{'_chr_cache'} ) { - $self->{'_chr_cache'} = {}; - $self->{'_chr_name_cache'} = {}; - } - - unless($self->{'_chr_name_cache'}->{lc($chr_name)}) { - my $sth; - - $sth = $self->prepare( "SELECT chromosome_id, name, length - FROM chromosome WHERE name = ?" ); - $sth->execute( "$chr_name" ); + deprecate('Use SliceAdaptor::fetch_by_region instead.'); - my $a = $sth->fetchrow_arrayref(); + my $top_level = $self->db->get_CoordSystemAdaptor->fetch_top_level(); - $self->throw("Do not recognise chromosome $chr_name\n") unless $a; - - $self->_create_object_from_arrayref( $a ); - } - return $self->{'_chr_name_cache'}->{lc($chr_name)}; + my $chr = $self->SUPER::fetch_by_region($top_level->name(), + $chr_name, + undef, + undef, + undef, + $top_level->version); + #change blessing and adaptor + bless $chr, 'Bio::EnsEMBL::Chromosome'; + $chr->adaptor($self); + return $chr; } =head2 fetch_all - Args : none - Example : @chromosomes = $chromosome_adaptor->fetch_all(); - Description: Retrieves every chromosome object from the database. - Returntype : listref of Bio::EnsEMBL::Chromosome - Exceptions : none - Caller : general + Description: DEPRECATED Use SliceAdaptor::fetch_all instead =cut sub fetch_all { my($self) = @_; - my @chrs = (); - - my $sth = $self->prepare( "SELECT chromosome_id, name, length - FROM chromosome"); - $sth->execute(); - while( my $a = $sth->fetchrow_arrayref() ) { - push @chrs, $self->_create_object_from_arrayref( $a ); - } - return \@chrs; -} -=head2 _create_object_from_arrayref + deprecate('Use SliceAdaptor::fetch_all instead.'); - Args : array ref containing a row of the chromosome table - Example : $self->_create_object_from_arrayref - Description: Creates object from array reference - Returntype : Bio::Chromosome object - Exceptions : none - Caller : general + my $top_level = $self->db->get_CoordSystemAdaptor->fetch_top_level(); + my $chrs = $self->SUPER::fetch_all($top_level->name, $top_level->version); -=cut + foreach my $chr (@$chrs) { + bless $chr, 'Bio::EnsEMBL::Chromosome'; + $chr->adaptor($self); + } -sub _create_object_from_arrayref { - my( $self,$a ) =@_; - my $chr = new Bio::EnsEMBL::Chromosome( - -adaptor => $self, -dbID => $a->[0], - -chr_name => $a->[1], -length => $a->[2] - ); - return $self->{'_chr_cache' }->{$a->[0]} = - $self->{'_chr_name_cache'}->{lc($a->[1])} = $chr ; + return $chrs; } + +=head2 store + + Description: DEPRECATED no replacement exists + +=cut + sub store{ - my ($self, $chromosome) = @_; - - $self->throw("can't store a chromosome without a name") - unless my $chr_name = $chromosome->chr_name; - $self->throw("can't store a chromosome without a length") - unless my $length = $chromosome->length; - my $sth = $self->db->prepare("insert into chromosome set name=?, length=?"); - $sth->execute("$chr_name", $length); - $chromosome->dbID($sth->{'mysql_insertid'}); - $chromosome->adaptor($self); + ### XXX Should there be a replacement for this? + deprecate('No replacement has been implemented.'); } 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/CloneAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/CloneAdaptor.pm index 31d8b314f3..baaf68829e 100644 --- a/modules/Bio/EnsEMBL/DBSQL/CloneAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/CloneAdaptor.pm @@ -7,22 +7,15 @@ # # You may distribute this module under the same terms as perl itself -# POD documentation - main docs before the code - =head1 NAME -Bio::EnsEMBL::DBSQL::CloneAdaptor - -=head1 SYNOPSIS - - $clone_adaptor = $database_adaptor->get_CloneAdaptor(); - $clone = $clone_adaptor->fetch_by_dbID(1234); - @contig = $clone->get_all_Contigs(); - @genes = $clone->get_all_Genes(); +Bio::EnsEMBL::DBSQL::CloneAdaptor - DEPRECATED use Bio::EnsEMBL::SliceAdaptor +instead =head1 DESCRIPTION -Database adaptor for the creation of clone objects +DEPRECATED - Use Bio::EnsEMBL::DBSQL::SliceAdaptor to create slices on clones +instead =head1 AUTHOR - Ewan Birney @@ -30,421 +23,179 @@ This modules is part of the Ensembl project http://www.ensembl.org Email birney@ebi.ac.uk -=head1 APPENDIX - -The rest of the documentation details each of the object methods. Internal -methods are usually preceded with a _ - =cut -# Let the code begin... - package Bio::EnsEMBL::DBSQL::CloneAdaptor; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::DBSQL::SliceAdaptor; use Bio::EnsEMBL::Clone; +use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning ); +@ISA = qw(Bio::EnsEMBL::DBSQL::SliceAdaptor); -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +=head2 new + Description: DEPRECATED. Use Bio::EnsEMBL::DBSQL::SliceAdaptor instead -=head2 _generic_sql_fetch +=cut - Arg [1] : string $where_clause - the WHERE clause of the SQL query to be executed - Example : $clone = $self->_generic_sql_fetch('embl_acc = AC011082'); - Description: PRIVATE Performs an SQL query and returns an Clone object - created from the result. - Returntype : Bio::EnsEMBL::Clone - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::CloneAdaptor +sub new { + my $class = shift; -=cut + deprecate("Bio::EnsEMBL::DBSQL::CloneAdaptor is a deprecated class\n" . + "Use Bio::EnsEMBL::DBSQL::SliceAdaptor instead"); -sub _generic_sql_fetch { - my( $self, $where_clause ) = @_; - - my $sql = q{ - SELECT clone_id - , name - , embl_acc - , version - , embl_version - , htg_phase - , UNIX_TIMESTAMP(created) - , UNIX_TIMESTAMP(modified) - FROM clone } - . $where_clause . - q{ ORDER BY embl_version DESC }; - - #print STDERR "issue: $sql\n"; - - my $sth = $self->prepare($sql); - $sth->execute; - - if (my @fields = $sth->fetchrow) { - return Bio::EnsEMBL::Clone->new($self, @fields); - } else { - return; - } + return $class->SUPER::new(@_); } =head2 fetch_by_accession - Arg [1] : string $acc - the EMBL accession for the clone - Example : $clone = $clone_adaptor->fetch_by_accession('AC011082'); - Description: fetches a clone by its EMBL/GenBank accession number - It will fetch the highest version in the database - Returntype : Bio::EnsEMBL::Clone - Exceptions : thrown if $acc not defined or if no clone with accession $acc - exists in the database - Caller : general + Description: DEPRECATED. Use SliceAdaptor::fetch_by_region instead =cut -sub fetch_by_accession { - my ($self,$acc) = @_; - - unless ($acc) { - $self->throw("Accession not given"); - } +sub fetch_by_accession { + my ($self,$acc) = @_; - my $clone = $self->_generic_sql_fetch( - qq{ WHERE embl_acc = '$acc' } - ); + deprecate('Use SliceAdaptor::fetch_by_region instead'); - if ($clone) { - return $clone; - } else { - $self->throw("No clone with accession '$acc'"); + #this unfortunately needs a version on the end to work + if(! ($acc =~ /\./)) { + my $sth = $self->prepare("SELECT sr.name " . + "FROM seq_region sr, coord_system cs " . + "WHERE cs.name = 'clone' " . + "AND cs.coord_system_id = sr.coord_system_id ". + "AND sr.name LIKE '$acc.%'"); + $sth->execute(); + if(!$sth->rows()) { + $sth->finish(); + throw("Clone $acc not found in database"); } + + ($acc) = $sth->fetchrow_array(); + + $sth->finish(); + } + + my $clone = $self->fetch_by_region('clone', $acc); + + #rebless slice into clone so old methods still work + return bless($clone, 'Bio::EnsEMBL::Clone'); } =head2 fetch_by_accession_version - Arg [1] : string $acc - the EMBL accession number - Arg [2] : int $ver - the EMBL accession version - Example : $clone = $clone_adaptor->fetch_by_accession_version($acc, $ver); - Description: retrieves a Clone object with accession $acc and version $ver - from the database. - Returntype : Bio::EnsEMBL::Clone - Exceptions : thrown if $acc or $ver is not defined or if no clone exists with - in the database with accession $acc and version $ver - Caller : general + Description: DEPRECATED. Use SliceAdaptor::fetch_by_region instead =cut sub fetch_by_accession_version { my ($self, $acc, $ver) = @_; - - unless ($acc and $ver) { - $self->throw("Need both accession (got '$acc') and version (got '$ver')"); - } - my $clone = - $self->_generic_sql_fetch( qq{ WHERE embl_acc = '$acc' - AND embl_version = '$ver' }); - if ($clone) { - return $clone; - } else { - $self->throw("no clone with accession '$acc' and version '$ver'"); - } + deprecate('Use SliceAdaptor::fetch_by_region instead'); + + my $clone = $self->fetch_by_region('clone', "$acc.$ver"); + + #rebless slice into clone so old methods still work + return bless($clone, 'Bio::EnsEMBL::Clone'); } =head2 fetch_by_name - Arg [1] : string $name - the "name" of the clone. - Example : $clone = $clone_adaptor->fetch_by_name($name); - Description: fetches a single clone by the "name" field. The name - field is often the EMBL ID of a clone (which itself is often - the same as the accession number) but is a deliberately open - slot for another identifier for the clone, eg. the stringified - tracking identifier in a sequencing centre - Returntype : Bio::EnsEMBL::Clone - Exceptions : thrown if name is a non-true value (i.e. undefined or '') or - if there is no clone with name $name in the database - Caller : general + Description: DEPRECATED. Use SliceAdaptor::fetch_by_region instead =cut sub fetch_by_name { my ($self, $name) = @_; - - $self->throw("name not given") unless $name; - - my $clone = $self->_generic_sql_fetch(qq{ WHERE name = '$name' }); - - if ($clone) { - return $clone; - } else { - $self->throw("No Clone with name '$name'"); - } + deprecate('Use SliceAdaptor::fetch_by_region instead'); + return $self->fetch_by_accession($name); } =head2 fetch_by_dbID - Arg [1] : int $id - the numeric internal id of the clone table - Example : $clone = $clone_adaptor->fetch_by_dbID(7); - Description: fetches a clone by the internal id in the database - of the Clone. Most likely this will be used by - other adaptors to build objects from references to Clones - Returntype : Bio::EnsEMBL::Clone - Exceptions : thrown if $id is not provided - Caller : general + Description: DEPRECATED. Use SliceAdaptor::fetch_by_seq_region_id instead =cut sub fetch_by_dbID { - my ($self,$id) = @_; - - if( !defined $id ) { - $self->throw("No internal ID provided"); - } + my ($self,$id) = @_; - my $clone = $self->_generic_sql_fetch("WHERE clone_id = $id"); + my $clone = $self->fetch_by_seq_region_id($id); - return $clone; + return bless $clone, 'Bio::EnsEMBL::Clone'; } =head2 fetch_all - Arg [1] : none - Example : @clones = $clone_adaptor->fetch_all(); - Description: Retrieves every clone from the database. - Returntype : listref of Bio::EnsEMBL::Clone - Exceptions : none - Caller : none + Description: DEPRECATED. Use SliceAdaptor::fetch_all instead =cut sub fetch_all { my $self = shift; - my $sth = $self->prepare("SELECT clone_id, name, embl_acc, version, - embl_version, htg_phase, - UNIX_TIMESTAMP(created), UNIX_TIMESTAMP(modified) - FROM clone"); - - $sth->execute(); + my $clones = $self->SUPER::fetch_all('clone'); - my ($clone_id, $name, $embl_acc, $version, $embl_version, $htg_phase, - $created, $modified); + map {bless $_, 'Bio::EnsEMBL::Clone'} @$clones; - $sth->bind_columns(\$clone_id, \$name, \$embl_acc, \$version, \$embl_version, - \$htg_phase, \$created, \$modified); - - my @clones; - - while($sth->fetch()) { - push @clones, new Bio::EnsEMBL::Clone($self, $clone_id, $name, $embl_acc, - $version, $embl_version, $htg_phase, - $created, $modified); - } - - return \@clones; + return $clones; } =head2 list_embl_version_by_accesssion - Arg [1] : string $id - the EMBL accession of the clone versions to retrieve - Example : @vers = $clone->list_embl_version_by_accession($accession) - Description: Returns a list of versions for a given EMBL accession - Returntype : listref of ints - Exceptions : thrown if $id arg is not defined or if no clone with accession - $id exists in the database - Caller : general + Description: DEPRECATED There is currently no replacement for this method + Perhaps there should be? =cut sub list_embl_version_by_accession { - my ($self,$id) = @_; - my (@vers); - - if( !defined $id) {$self->throw("Don't have $id for new adaptor");} + deprecate('There is currently no replacement for this method'); - my $sth = $self->prepare(qq{ - SELECT distinct embl_version - FROM clone - WHERE embl_acc = '$id' - }); - my $res = $sth ->execute(); - - while( my $rowhash = $sth->fetchrow_hashref) { - push @vers, $rowhash->{'embl_version'}; - } - $sth->finish; - - $self->throw("no clone $id") unless scalar @vers > 0; - - return \@vers; + ### XXX Perhaps there should be a replacement? + return (); } =head2 remove - Arg [1] : Bio::Ensembl::Clone $clone - Example : $clone_adaptor->remove($clone); - Description: Deletes clone (itself), including contigs and features, - but not its genes - Returntype : none - Exceptions : thrown if the clone deletion fails - throw if attached to the wrong database - Caller : ? + Description: DEPRECATED There is currently no replacement for this method + Perhaps there should be? + =cut sub remove { - my ($self, $clone) = @_; - - if ($clone->adaptor ne $self) { - $self->throw("Trying to delete a clone attached to a different database."); - } + deprecate('There is currently no replacement for this method'); - # Delete all contigs and related features - my $contigs = $clone->get_all_Contigs; - my $rca = $self->db->get_RawContigAdaptor; - - foreach my $contig ( @$contigs ) { - $rca->remove($contig); - } - - # Delete the row for the clone - my $sth = $self->prepare("DELETE FROM clone WHERE clone_id = ?"); - $sth->execute($clone->dbID); - $self->throw("Failed to delete clone for clone_id '$clone->dbID'") - unless $sth->rows; + ### XXX Perhaps there should be a replacement? + return 0; } -=head2 get_all_Genes - - Arg [1] : string $clone_id - the EMBL accession for the clone from which the genes are to be - retrieved - Example : my @genes = $clone_adaptor->get_all_Genes('AC011082'); - Description: Retrieves a list of Gene objects which are present on a clone. - It would be better to have this on the gene adaptor but - for now it will stay here. - Returntype : listref of Bio::EnsEMBL::Genes - Exceptions : thrown if $clone_id is not defined - Caller : Clone::get_all_Genes - -=cut - -sub get_all_Genes { - my ($self, $clone_id) = @_; - - $self->throw("clone_id not given") unless $clone_id; - - my $sth = $self->prepare(qq{ - SELECT t.gene_id - FROM transcript t - , exon_transcript et - , exon e - , contig c - WHERE e.contig_id = c.contig_id - AND et.exon_id = e.exon_id - AND t.transcript_id = et.transcript_id - AND c.clone_id = $clone_id - }); - $sth->execute(); - - my $geneAdaptor = $self->db->get_GeneAdaptor(); - my( %got, @genes ); - while (my ($gene_id) = $sth->fetchrow) { - unless ($got{$gene_id}) { - if (my $gene = $geneAdaptor->fetch_by_dbID($gene_id)) { - push(@genes, $gene); - } - $got{$gene_id} = 1; - } - } - return \@genes; -} - =head2 store - Arg [1] : Bio::EnsEMBL::Clone $clone - the Clone to store in the database - Example : $clone_adaptor->store($clone); - Description: Stores a clone object and its associated contigs - in the database and returns the dbID of the new db record - Returntype : int - Exceptions : thrown if $clone is not defined or if $clone is not a - Bio::EnsEMBL::Clone or if the database insertion fails - Caller : general + Description: DEPRECATED There is currently no replacement for this method + Perhaps there should be? + =cut sub store{ - my ($self, $clone) = @_; - - unless($clone) { - $self->throw("trying to write a clone without a clone object : $!\n"); - } - - my @contigs = @{$clone->get_all_Contigs}; - - if( !$clone->isa('Bio::EnsEMBL::Clone') ) { - $self->throw("Clone '$clone' is not a 'Bio::EnsEMBL::Clone'"); - } - - my $sql = "insert into clone(name, - embl_acc, - version, - embl_version, - htg_phase, - created, - modified) - values( '".$clone->id."' , '". - $clone->embl_id."', ". - $clone->version.",". - $clone->embl_version.", ". - $clone->htg_phase.", - FROM_UNIXTIME('".$clone->created."'), - FROM_UNIXTIME('".$clone->modified."'))"; - - my $sth = $self->prepare($sql); - my $rv = $sth->execute(); - $self->throw("Failed to insert clone $clone->id") unless $rv; - - $sth->finish(); - $sth = $self->prepare("select last_insert_id()"); - $sth->execute; - - my ($id) = $sth->fetchrow(); - $self->throw("Failed to get auto-incremented ID") unless $id; - - $sth->finish(); - - #update this clones database identifier - $clone->dbID($id); - $clone->adaptor($self); - - #store the contigs which were on this clone - my $rca = $self->db->get_RawContigAdaptor(); - foreach my $contig(@contigs){ - $rca->store($contig, $clone); - } - + deprecate('There is currently no replacement for this method'); - return $id; + ### XXX Perhaps there should be a replacement? + return 0; } diff --git a/modules/Bio/EnsEMBL/DBSQL/CompressedSequenceAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/CompressedSequenceAdaptor.pm new file mode 100644 index 0000000000..6fb9690ecc --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/CompressedSequenceAdaptor.pm @@ -0,0 +1,186 @@ +# +# EnsEMBL module for Bio::EnsEMBL::DBSQL::SequenceAdaptor +# +# +# Copyright EMBL/EBI +# +# You may distribute this module under the same terms as perl itself + +=head1 NAME + +Bio::EnsEMBL::DBSQL::CompressedSequenceAdaptor - Facilitates DB storage and retrieval of compressed sequence + +=head1 SYNOPSIS + +$seq_adptr = $database_adaptor->get_SequenceAdaptor(); +$dna = ${$seq_adptr->fetch_by_Slice_start_end_strand($slice, 1, 1000, -1);} + +=head1 DESCRIPTION + +An adaptor for the retrieval of compressed DNA sequence from the EnsEMBL +database + +=head1 CONTACT + +Post questions/comments to the EnsEMBL development list: +ensembl-dev@ebi.ac.uk + +=head1 METHODS + +=cut + +package Bio::EnsEMBL::DBSQL::CompressedSequenceAdaptor; + +use vars qw(@ISA); +use strict; + +use Bio::EnsEMBL::DBSQL::SequenceAdaptor; + +@ISA = qw(Bio::EnsEMBL::DBSQL::SequenceAdaptor); + + +sub _fetch_seq { + my $self = shift; + my $seq_region_id = shift; + my $start = shift; + my $len = shift; + + #calculate the offset and start in the compressed sequence + my $comp_start = ($start-1 >> 2) + 1; + my $comp_len = ($len >> 2) + 2; + + my ($bvector, $nline); + + my $sth = $self->prepare( + "SELECT SUBSTRING( d.sequence, ?, ?), n_line + FROM dnac d + WHERE d.seq_region_id = ?"); + $sth->execute($comp_start, $comp_len, $seq_region_id); + $sth->bind_columns(\$bvector, \$nline); + $sth->fetch(); + $sth->finish(); + + #convert sequence from binary string to 0123 string + my $bitlen = length($bvector) << 2; + my $str = ''; + for(my $i=0; $i < $bitlen; $i++) { + $str .= vec($bvector, $i, 2); + } + + #convert from 0123 to ACTG + $str =~ tr/0123/ACTG/; + + $str = substr($str, ($start-1)%4, $len); + + #expand the nlines and place them back in the sequence + my @nlines = split(/:/, $nline); + foreach my $nl (@nlines) { + my ($offset,$char,$nlen) = $nl =~ /(\d+)(\D)(\d+)/; + + #skip nlines entirely out of range + next if(($offset+$nlen-1) < $start || $offset > ($start+$len-1)); + + #obtain relative offset into requested region + $offset = $offset - $start + 1; + + #nlines that partially overlap requested region have to be shrunk + if($offset < 1) { + $nlen = $nlen - (1-$offset); + $offset = 1; + } + if($offset + $nlen > $start+$len) { + $nlen = $len - $offset + 1; + } + + substr($str,$offset-1,$nlen) = $char x $nlen; + } + + return \$str; +} + + +=head2 store + + Arg [1] : string $seq_region_id the id of the sequence region this dna + will be associated with. + Arg [2] : string reference $sequence the dna sequence to be stored in + the database + Example : $dbID = $seq_adaptor->store(12,\'ACTGGGTACCAAACAAACACAACA'); + Description: stores a dna sequence in the databases dna table and returns the + database identifier for the new record. + Returntype : int + Exceptions : none + Caller : Bio::EnsEMBL::DBSQL::RawContigAdaptor::store + +=cut + +sub store { + my ($self, $seq_region_id, $sequence) = @_; + + if(!$seq_region_id) { + throw('seq_region_id is required'); + } + + $sequence = uc($sequence); + + my $bvector; + + #convert sequence to 0s,1s,2s and 3s + $sequence =~ tr/ACTG/0123/; + + #nlines cover sequence which is not ACTG such as N + #nline format is a set of colon delimited int, char, int triplets: + #<offset><code><length> + my($nline_char,$nline_len,$nline_off); + my @nlines; + + my $len = length($sequence); + for(my $i=0; $i < $len; $i++) { + #pack the + my $char = substr($sequence,$i,1); + + if(($char+0) eq $char) { #fast way to check if an int + vec($bvector, $i,2) = $char; + if($nline_char) { + #end of an nline + push @nlines, "$nline_off$nline_char$nline_len"; + $nline_char = undef; + $nline_len = 0; + $nline_off = 0; + } + } else { + #this was not an ACTG + if($nline_char) { + if($nline_char eq $char) { + #continuation of an nline + $nline_len++; + } else { + #end of a previous nline and start of a new one + push @nlines, "$nline_off$nline_char$nline_len"; + $nline_char = $char; + $nline_len = 1; + $nline_off = $i+1; + } + } else { + #start of a new nline + $nline_char = $char; + $nline_len = 1; + $nline_off = $i+1; + } + } + + vec($bvector, $i,2) = $char; + } + + my $nline = join(':', @nlines); + my $statement = $self->prepare( + "INSERT INTO dnac(seq_region_id, sequence, n_line) VALUES(?,?,?)"); + + $statement->execute($seq_region_id, $bvector, $nline); + + $statement->finish(); + return; +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/CoordSystemAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/CoordSystemAdaptor.pm new file mode 100644 index 0000000000..fb109de1bc --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/CoordSystemAdaptor.pm @@ -0,0 +1,902 @@ +# +# EnsEMBL module for Bio::EnsEMBL::DBSQL::CoordSystemAdaptor +# +# + +=head1 NAME + +Bio::EnsEMBL::DBSQL::CoordSystemAdaptor + +=head1 SYNOPSIS + + my $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + my $csa = $db->get_CoordSystemAdaptor(); + + # + # Get all coord systems in the database: + # + foreach my $cs (@{$csa->fetch_all()}) { + print $cs->name, ' ', $cs->version, "\n"; + } + + # + # Fetching by name: + # + + #use the default version of coord_system 'chromosome' (e.g. NCBI33): + $cs = $csa->fetch_by_name('chromosome'); + + #get an explicit version of coord_system 'chromosome': + $cs = $csa->fetch_by_name('chromsome', 'NCBI34'); + + #get all coord_systems of name 'chromosome': + foreach $cs (@{$csa->fetch_all_by_name('chromosome')}) { + print $cs->name, ' ', $cs->version, "\n"; + } + + # + # Fetching by top level: + # + + #Get the default top_level coord system: + $cs = $csa->fetch_top_level(); + + #Get a particular version of a top_level coord system: + $cs = $csa->fetch_top_level('NCBI34'); + + #Get all top level coord systems: + foreach $cs (@{$csa->fetch_all_top_level()}) { + print $cs->name(), ' ', $cs->version, "\n"; + } + + #can also use an alias in fetch_by_name: + $cs = $csa->fetch_by_name('toplevel'); + + # + # Fetching by sequence level: + # + + #Get the coord system which is used to store sequence: + $cs = $csa->fetch_sequence_level(); + + #can also use an alias in fetch_by_name: + $cs = $csa->fetch_by_name('seqlevel'); + + # + # Fetching by id + # + $cs = $csa->fetch_by_dbID(1); + + +=head1 DESCRIPTION + +This adaptor allows the querying of information from the coordinate system +adaptor. + +Note that many coordinate systems do not have a concept of a version +for the entire coordinate system (though they may have a per-sequence version). +The 'chromosome' coordinate system usually has a version (i.e. the +assembly version) but the clonal coordinate system does not (despite having +individual sequence versions). In the case where a coordinate system does +not have a version an empty string ('') is used instead. + +=head1 AUTHOR - Graham McVicker + +=head1 CONTACT + +Post questions to the EnsEMBL development list ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + +The rest of the documentation details each of the object +methods. Internal methods are usually preceded with a _ + +=cut + +use strict; +use warnings; + +package Bio::EnsEMBL::DBSQL::CoordSystemAdaptor; + +use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); +use Bio::EnsEMBL::CoordSystem; +use DBI; + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); + + +=head2 new + + Arg [1] : See BaseAdaptor for arguments (none specific to this + subclass) + Example : $cs = $db->get_CoordSystemAdaptor(); #better than new() + Description: Creates a new CoordSystem adaptor and caches the contents + of the coord_system table in memory. + Returntype : Bio::EnsEMBL::DBSQL::CoordSystemAdaptor + Exceptions : none + Caller : + +=cut + +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + # + # Cache the entire contents of the coord_system table cross-referenced + # by dbID and name + # + + #keyed on name, list of coord_system value + $self->{'_name_cache'} = {}; + + #keyed on id, coord_system value + $self->{'_dbID_cache'} = {}; + + #keyed on id, 1/undef values + $self->{'_is_sequence_level'} = {}; + $self->{'_is_top_level'} = {}; + $self->{'_is_default_version'} = {}; + + my $sth = $self->prepare('SELECT coord_system_id, name, version, attrib ' . + 'FROM coord_system'); + + $sth->execute(); + + my ($dbID, $name, $version, $attrib); + $sth->bind_columns(\$dbID, \$name, \$version, \$attrib); + + while($sth->fetch()) { + my $seq_lvl = 0; + my $top_lvl = 0; + my $default = 0; + if($attrib) { + foreach my $attrib (split(',', $attrib)) { + $self->{"_is_$attrib"}->{$dbID} = 1; + if($attrib eq 'sequence_level') { + $seq_lvl = 1; + } elsif($attrib eq 'top_level') { + $top_lvl = 1; + } elsif($attrib eq 'default_version') { + $default = 1; + } + } + } + + my $cs = Bio::EnsEMBL::CoordSystem->new + (-DBID => $dbID, + -ADAPTOR => $self, + -NAME => $name, + -VERSION => $version, + -TOP_LEVEL => $top_lvl, + -SEQUENCE_LEVEL => $seq_lvl, + -DEFAULT => $default); + + $self->{'_dbID_cache'}->{$dbID} = $cs; + + $self->{'_name_cache'}->{lc($name)} ||= []; + push @{$self->{'_name_cache'}->{lc($name)}}, $cs; + } + $sth->finish(); + + # + # Retrieve the list of the coordinate systems that features are stored in + # and cache them + # + $sth = $self->prepare('SELECT table_name, coord_system_id FROM meta_coord'); + $sth->execute(); + while(my ($table_name, $dbID) = $sth->fetchrow_array()) { + $self->{'_feature_cache'}->{lc($table_name)} ||= []; + my $cs = $self->{'_dbID_cache'}->{$dbID}; + if(!$cs) { + throw("meta_coord table refers to non-existant coord_system id=[$dbID]"); + } + push @{$self->{'_feature_cache'}->{lc($table_name)}}, $cs; + } + $sth->finish(); + + # + # Retrieve a list of available mappings from the meta table. + # this may eventually be moved a table of its own if this proves too + # cumbersome + # + + my %mappings; + my $mc = $self->db()->get_MetaContainer(); + foreach my $map_pair (@{$mc->list_value_by_key('assembly.mapping')}) { + my ($asm,$cmp) = split(/\|/, $map_pair); + if(!$cmp || !$cmp) { + throw('incorrectly formatted assembly.mapping values in meta table'); + } + my($asm_name, $asm_version) = split(/:/, $asm); + my($cmp_name, $cmp_version) = split(/:/, $cmp); + + my $cmp_cs = $self->fetch_by_name($cmp_name,$cmp_version); + my $asm_cs = $self->fetch_by_name($asm_name,$asm_version); + + $mappings{$asm_cs->dbID} ||= {}; + $mappings{$asm_cs->dbID}->{$cmp_cs->dbID} = 1; + } + + $self->{'_mapping_paths'} = \%mappings; + + return $self; +} + + + +=head2 fetch_all + + Arg [1] : none + Example : foreach my $cs (@{$csa->fetch_all()}) { + print $cs->name(), ' ', $cs->version(), "\n"; + } + Description: Retrieves every coordinate system defined in the DB + Returntype : listref of Bio::EnsEMBL::CoordSystems + Exceptions : none + Caller : general + +=cut + +sub fetch_all { + my $self = shift; + + my @coord_systems = values %{$self->{'_dbID_cache'}}; + + return \@coord_systems; +} + + + +=head2 fetch_by_name + + Arg [1] : string $name + The name of the coordinate system to retrieve. Alternatively + this may be an alias for a real coordinate system. Valid + aliases are 'toplevel' and 'seqlevel'. + Arg [2] : string $version (optional) + The version of the coordinate system to retrieve. If not + specified the default version will be used. + Example : $coord_sys = $csa->fetch_by_name('clone'); + $coord_sys = $csa->fetch_by_name('chromosome', 'NCBI33'); + #toplevel is an alias for the highest coordinate system + #such as the chromosome coordinate system + $coord_sys = $csa->fetch_by_name('toplevel'); + $coord_sys = $csa->fetch_by_name('toplevel', 'NCBI31'); + #seqlevel is an alias for the sequence level coordinate system + #such as the clone or contig coordinate system + $coord_sys = $csa->fetch_by_name('seqlevel'); + Description: Retrieves a coordinate system by its name + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : throw if the requested coordinate system does not exist + throw if no name argument provided + warning if no version provided and default does not exist + Caller : general + +=cut + +sub fetch_by_name { + my $self = shift; + my $name = lc(shift); #case insensitve matching + my $version = shift; + + throw('Name argument is required.') if(!$name); + + $version = lc($version) if($version); + + + if($name eq 'seqlevel') { + return $self->fetch_sequence_level(); + } elsif($name eq 'toplevel') { + return $self->fetch_top_level($version); + } + + if(!exists($self->{'_name_cache'}->{$name})) { + my $guess = ''; + if($name =~ /top/) { + $guess = "\nDid you mean 'toplevel' instead of '$name'?"; + } elsif($name =~ /seq/) { + $guess = "\nDid you mean 'seqlevel' instead of '$name'?"; + } + throw("Coord_system with name [$name] does not exist.$guess"); + } + + my @coord_systems = @{$self->{'_name_cache'}->{$name}}; + + throw("Coord_system with name [$name] does not exist.") if(!@coord_systems); + + foreach my $cs (@coord_systems) { + if($version) { + return $cs if(lc($cs->version()) eq $version); + } elsif($self->{'_is_default_version'}->{$cs->dbID()}) { + return $cs; + } + } + + if($version) { + throw("Coord_system [$name] does not exist with version [$version]"); + } + + #didn't find a default, just take first one + my $cs = shift @coord_systems; + my $v = $cs->version(); + warning("No default version for coord_system [$name] exists. " . + "Using version [$v] arbitrarily"); + + return $cs; +} + + +=head2 fetch_all_by_name + + Arg [1] : string $name + The name of the coordinate system to retrieve. This can be + the name of an actual coordinate system or an alias for a + coordinate system. Valid aliases are 'toplevel' and 'seqlevel'. + Example : foreach my $cs (@{$csa->fetch_all_by_name('chromosome')}){ + print $cs->name(), ' ', $cs->version(); + } + Description: Retrieves all coordinate systems of a particular name + Returntype : listref of Bio::EnsEMBL::CoordSystem objects + Exceptions : throw if no name argument provided + Caller : general + +=cut + +sub fetch_all_by_name { + my $self = shift; + my $name = lc(shift); #case insensitive matching + + throw('Name argument is required') if(!$name); + + if($name eq 'seqlevel') { + return [$self->fetch_sequence_level()]; + } elsif($name eq 'toplevel') { + return $self->fetch_all_top_level(); + } + + return $self->{'_name_cache'}->{$name} || []; +} + + + + +=head2 fetch_all_by_feature_table + + Arg [1] : string $table - the name of the table to retrieve coord systems + for + Example : my @coord_systems = $csa->fetch_by_feature_table('gene') + Description: This retrieves the list of coordinate systems that features + in a particular table are stored. It is used internally by + the API to perform queries to these tables and to ensure that + features are only stored in appropriate coordinate systems. + Returntype : listref of Bio::EnsEMBL::CoordSystem objects + Exceptions : none + Caller : BaseFeatureAdaptor + +=cut + +sub fetch_all_by_feature_table { + my $self = shift; + my $table = lc(shift); #case insensitive matching + + throw('Name argument is required') unless $table; + + my $result = $self->{'_feature_cache'}->{$table}; + + if(!$result) { + throw("Feature table [$table] does not have a defined coordinate system" . + " in the meta_coord table"); + } + + return $result; +} + + +=head2 add_feature_table + + Arg [1] : Bio::EnsEMBL::CoordSystem $cs + The coordinate system to associate with a feature table + Arg [2] : string $table - the name of the table in which features of + a given coordinate system will be stored in + Example : $csa->add_feature_table($chr_coord_system, 'gene'); + Description: This function tells the coordinate system adaptor that + features from a specified table will be stored in a certain + coordinate system. If this information is not already stored + in the database it will be added. + Returntype : none + Exceptions : none + Caller : BaseFeatureAdaptor + +=cut + + +sub add_feature_table { + my $self = shift; + my $cs = shift; + my $table = lc(shift); + + if(!ref($cs) || !$cs->isa('Bio::EnsEMBL::CoordSystem')) { + throw('CoordSystem argument is required.'); + } + + if(!$table) { + throw('Table argument is required.'); + } + + my $coord_systems = $self->{'_feature_cache'}->{$table}; + + my ($exists) = grep {$_->equals($cs)} @$coord_systems; + + #do not do anything if this feature table is already associated with the + #coord system + return if($exists); + + #make sure to use a coord system stored in this database so that we + #do not use the wrong coord_system_id + if(!$cs->is_stored($self->db())) { + $cs = $self->fetch_by_name($cs->name(), $cs->version); + throw("CoordSystem not found in database."); + } + + #store the new tablename -> coord system relationship in the db + #ignore failures b/c during the pipeline multiple processes may try + #to update this table and only the first will be successful + my $sth = $self->prepare('INSERT IGNORE INTO meta_coord ' . + 'SET coord_system_id = ?, ' . + 'table_name = ?'); + + $sth->execute($cs->dbID, $table); + + #update the internal cache + $self->{'_feature_cache'}->{$table} ||= []; + push @{$self->{'_feature_cache'}->{$table}}, $cs; + + return; +} + + + +=head2 fetch_by_dbID + + Arg [1] : int dbID + Example : $cs = $csa->fetch_by_dbID(4); + Description: Retrieves a coord_system via its internal + identifier. + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : thrown if no coord_system exists for specified dbID + Caller : general + +=cut + +sub fetch_by_dbID { + my $self = shift; + my $dbID = shift; + + throw('dbID argument is required') if(!$dbID); + + my $cs = $self->{'_dbID_cache'}->{$dbID}; + + throw("Coord_system with dbID [$dbID] does not exist") if(!$cs); + + return $cs; +} + + + +=head2 fetch_top_level + + Arg [1] : string $version (optional) + The version of the top-level to obtain. If not provided + the default version top-level will be returned. + Example : $cs = $csa->fetch_top_level(); + $cs = $csa->fetch_top_level('NCBI34'); + Description: Retrieves the top level coordinate system. It is possible + to have multiple top-level coordinate systems if there is + more than one version of the top-level system. For + example the top level of a homo_sapiens database could + be 'chromosome' but this might have 'NCBI33', 'NCBI31', + and 'NCBI34' versions. One of these will be defined as + the default and will be returned if no specific version + is requested. If a specific version is requested then it + will be returned. + Returntype : a Bio::EnsEMBL::CoordSystem object + Exceptions : throw if no top-level coord_system exists for specified + version + throw if no top-level coord_system exists at all + warning if no version specified and no default version + exists + Caller : general + +=cut + +sub fetch_top_level { + my $self = shift; + + return $self->_fetch_by_attrib('top_level', @_); +} + + +=head2 fetch_all_top_level + + Arg [1] : none + Example : foreach my $cs (@{$csa->fetch_all_top_level()}) { + my ($id, $name, $version) = @$cs; + } + Description: Retrieves all top level coordinate systems defined in + the DB. It is possible to have multiple top-level + coordinate systems if there is more than one version + of the top-level system. For example the top level of a + homo_sapiens database could be 'chromosome' but this + might have 'NCBI33', 'NCBI31', and 'NCBI34' versions. + Returntype : listref of Bio::EnsEMBL::CoordSystem objects + Exceptions : none + Caller : general + +=cut + +sub fetch_all_top_level { + my $self = shift; + + return $self->_fetch_all_by_attrib('top_level', @_); +} + + + +=head2 fetch_sequence_level + + Arg [1] : none + Example : ($id, $name, $version) = $csa->fetch_sequence_level(); + Description: Retrieves the coordinate system at which sequence + is stored at. + Returntype : Bio::EnsEMBL::CoordSystem + Exceptions : throw if no sequence_level coord system exists at all + throw if multiple sequence_level coord systems exists + Caller : general + +=cut + +sub fetch_sequence_level { + my $self = shift; + + my @dbIDs = keys %{$self->{'_is_sequence_level'}}; + + throw('No sequence_level coord_system is defined') if(!@dbIDs); + + if(@dbIDs > 1) { + throw('Multiple sequence_level coord_systems are defined.' . + 'Only one is currently supported'); + } + + return $self->{'_dbID_cache'}->{$dbIDs[0]}; +} + + + + +=head2 get_mapping_path + + Arg [1] : Bio::EnsEMBL::CoordSystem $cs1 + Arg [2] : Bio::EnsEMBL::CoordSystem $cs2 + Example : foreach my $cs @{$csa->get_mapping_path($cs1,$cs2); + Description: Given two coordinate systems this will return a mapping path + between them. The path is formatted as a list of coordinate + systems starting with the assembled coord systems and + descending through component systems. For example, if the + following mappings were defined in the meta table: + chromosome -> clone + clone -> contig + + And the contig and chromosome coordinate systems where + provided as arguments like so: + $csa->get_mapping_path($chr_cs,$ctg_cs); + + The return values would be: + [$chr_cs, $clone_cs, $contig_cs] + + The return value would be the same even if the order of + arguments was reversed. + + This becomes a bit more problematic when the relationship is + something like: + chromosome -> contig + clone -> contig + + In this case the contig coordinate system is the component + coordinate system for both mappings and for the following + request: + $csa->get_mappging_path($chr_cs, $cln_cs); + + Either of the following mapping paths would be valid: + [$chr_cs, $contig_cs, $clone_cs] + or + [$clone_cs, $contig_cs, $chr_cs] + + Also note that the ordering of the above is not + assembled to component but rather + assembled -> component -> assembled. + + If no mapping path exists, an reference to an empty list is + returned. + + Returntype : listref of coord_sytem ids ordered from assembled to smaller + component coord_systems + Exceptions : none + Caller : general + +=cut + +sub get_mapping_path { + my $self = shift; + my $cs1 = shift; + my $cs2 = shift; + my $seen = shift || {}; + + $self->{'_shortest_path'} ||= {}; + + my $cs1_id = $cs1->dbID(); + my $cs2_id = $cs2->dbID(); + + # if this method has already been called with the same arguments + # return the cached result + if($self->{'_shortest_path'}->{"$cs1_id:$cs2_id"}) { + return $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"}; + } + + #if we have already seen this pair then there is some circular logic + #encoded in the mappings. This is not good. + if($seen->{"$cs1_id:$cs2_id"}) { + throw("Circular logic detected in defined assembly mappings"); + } + + #if there is a direct mapping between this coord system and other one + #then path between cannot be shorter, just return the one step path + if($self->{'_mapping_paths'}->{$cs1_id}->{$cs2_id}) { + $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"} = [$cs1,$cs2]; + $self->{'_shortest_path'}->{"$cs2_id:$cs1_id"} = [$cs1,$cs2]; + return [$cs1,$cs2]; + } + if($self->{'_mapping_paths'}->{$cs2_id}->{$cs1_id}) { + $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"} = [$cs2,$cs1]; + $self->{'_shortest_path'}->{"$cs2_id:$cs1_id"} = [$cs2,$cs1]; + return [$cs2,$cs1]; + } + + $seen->{"$cs1_id:$cs2_id"} = 1; + $seen->{"$cs2_id:$cs1_id"} = 1; + + # There is no direct mapping available, but there may be an indirect + # path. Call this method recursively on the components of both paths. + my $shortest; + + #need to try both as assembled since we do not know which is the assembled + #coord_system and which is the component + foreach my $pair ([$cs1,$cs2], [$cs2,$cs1]) { + my ($asm_cs, $target_cs) = @$pair; + my $asm_cs_id = $asm_cs->dbID(); + + foreach my $cmp_cs_id (keys %{$self->{'_mapping_paths'}->{$asm_cs_id}}) { + my $cmp_cs = $self->fetch_by_dbID($cmp_cs_id); + my $path = $self->get_mapping_path($cmp_cs, $target_cs, $seen); + my $len = @$path; + my $shortest; + + next if($len == 0); + + #Check whether the component was used as an assembled + #or component in the next part of the path: + if($cmp_cs_id == $path->[0]->dbID) { + $path = [$asm_cs, @$path]; + } else { + $path = [@$path, $asm_cs]; + } + + #shortest possible indirect, add to path so far and return + if($len == 2) { + $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"} = $path; + $self->{'_shortest_path'}->{"$cs2_id:$cs1_id"} = $path; + return $path; + } elsif(!defined($shortest) || $len+1 < @$shortest) { + #keep track of the shortest path found so far, + #there may yet be shorter.. + $shortest = $path; + } + } + #use the shortest path found so far, + #if no path was found continue, using the the other id as assembled + if(defined($shortest)) { + $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"} = $shortest; + $self->{'_shortest_path'}->{"$cs2_id:$cs1_id"} = $shortest; + return $shortest; + } + } + + #did not find any possible path + $self->{'_shortest_path'}->{"$cs1_id:$cs2_id"} = []; + $self->{'_shortest_path'}->{"$cs2_id:$cs1_id"} = []; + return []; +} + + + +sub _fetch_by_attrib { + my $self = shift; + my $attrib = shift; + my $version = shift; + + $version = lc($version) if($version); + + my @dbIDs = keys %{$self->{"_is_$attrib"}}; + + throw("No $attrib coordinate system defined") if(!@dbIDs); + + foreach my $dbID (@dbIDs) { + my $cs = $self->{'_dbID_cache'}->{$dbID}; + if($version) { + return $cs if(lc($version) eq $cs->version()); + } elsif($self->{'_is_default_version'}->{$dbID}) { + return $cs; + } + } + + #specifically requested attrib system was not found + if($version) { + throw("$attrib coord_system with version [$version] does not exist"); + } + + #coordsystem with attrib exists but no default is defined: + my $dbID = shift @dbIDs; + my $cs = $self->{'_dbID_cache'}->{$dbID}; + my $v = $cs->version(); + warning("No default version for $attrib coord_system exists. " . + "Using version [$v] arbitrarily"); + + return $cs; +} + + +sub _fetch_all_by_attrib { + my $self = shift; + my $attrib = shift; + + my @coord_systems = (); + foreach my $dbID (keys %{$self->{"_is_$attrib"}}) { + push @coord_systems, $self->{"_dbID_cache"}->{$dbID}; + } + + return \@coord_systems; +} + + +# +# Called during db destruction to clean up internal cache structures etc. +# +sub deleteObj { + my $self = shift; + + #break circular adaptor <-> db references + $self->SUPER::deleteObj(); + + #breack circular object <-> adaptor references + delete $self->{'_feature_cache'}; + delete $self->{'_name_cache'}; + delete $self->{'_dbID_cache'}; + delete $self->{'_mapping_paths'}; + delete $self->{'_shortest_paths'}; +} + + +=head2 store + + Arg [1] : Bio::EnsEMBL::CoordSystem + Example : $csa->store($coord_system); + Description: Stores a CoordSystem object in the database. + Returntype : none + Exceptions : Warning if CoordSystem is already stored in this database. + Caller : none + +=cut + +sub store { + my $self = shift; + my $cs = shift; + + if(!$cs || !ref($cs) || !$cs->isa('Bio::EnsEMBL::CoordSystem')) { + throw('CoordSystem argument expected.'); + } + + my $db = $self->db(); + my $name = $cs->name(); + my $version = $cs->version(); + my $toplevel = $cs->is_top_level(); + my $seqlevel = $cs->is_sequence_level(); + my $default = $cs->is_default(); + + # + # Do lots of sanity checking to prevent bad data from being entered + # + + if($cs->is_stored($db)) { + warning("CoordSystem $name $version is already in db.\n"); + return; + } + + if($name eq 'toplevel' || $name eq 'seqlevel' || !$name) { + throw("[$name] is not a valid name for a CoordSystem."); + } + + if($seqlevel && keys(%{$self->{'_is_sequence_level'}})) { + throw("There can only be one sequence level CoordSystem."); + } + + if(exists $self->{'_name_cache'}->{lc($name)}) { + my @coord_systems = @{$self->{'_name_cache'}->{lc($name)}}; + foreach my $c (@coord_systems) { + if(lc($c->version()) eq lc($version)) { + warning("CoordSystem $name $version is already in db.\n"); + return; + } + if($default && $self->{'_is_default_version'}->{$c->dbID()}) { + throw("There can only be one default version of CoordSystem $name"); + } + } + } + + my @attrib; + + push @attrib, 'top_level' if($toplevel); + push @attrib, 'default_version' if($default); + push @attrib, 'sequence_level' if($seqlevel); + + my $attrib_str = (@attrib) ? join(',', @attrib) : undef; + + # + # store the coordinate system in the database + # + + my $sth = $db->prepare('INSERT INTO coord_system ' . + 'SET name = ?, ' . + 'version = ?, ' . + 'attrib = ?'); + + $sth->execute($name, $version, $attrib_str); + my $dbID = $sth->{'mysql_insertid'}; + $sth->finish(); + + if(!$dbID) { + throw("Did not get dbID from store of CoordSystem."); + } + + $cs->dbID($dbID); + $cs->adaptor($self); + + # + # update the internal caches that are used for fetching + # + $self->{'_is_default_version'}->{$dbID} = 1 if($default); + $self->{'_is_sequence_level'}->{$dbID} = 1 if($seqlevel); + $self->{'_is_top_level'}->{$dbID} = 1 if($toplevel); + + $self->{'_name_cache'}->{lc($name)} ||= []; + push @{$self->{'_name_cache'}->{lc($name)}}, $cs; + + $self->{'_dbID_cache'}->{$dbID} = $cs; + + return $cs; +} + + + + +1; + + + + diff --git a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm index 357341a58e..e97da6b59c 100755 --- a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm @@ -16,27 +16,28 @@ $slice = $db->get_SliceAdaptor()->fetch_by_chr_start_end('X', 1, 10000); - =head1 DESCRIPTION -This object represents a database that is implemented somehow (you shouldn\'t -care much as long as you can get the object). Once created you can retrieve -database adaptors specific to various database objects that allow the -retrieval and creation of objects from the database, +This is the primary interface to an EnsEMBL database. It maintains an active +connection to the database and allows for the retrieval of ObjectAdaptors, +via a set of get_XxxxAdaptor methods (where Xxxx is the type of adaptor). + +ObjectAdaptors can then be used to obtain objects and actual information +from the database. + =head1 CONTACT Post questions to the EnsEMBL development list <ensembl-dev@ebi.ac.uk> -=head1 APPENDIX +=head1 METHODS -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +The rest of the documentation details each of the object methods. Internal +methods are usually preceded with a _ =cut -# Let the code begin... - package Bio::EnsEMBL::DBSQL::DBAdaptor; use vars qw(@ISA); @@ -45,6 +46,9 @@ use strict; use Bio::EnsEMBL::DBSQL::DBConnection; use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + @ISA = qw(Bio::EnsEMBL::DBSQL::DBConnection); @@ -56,9 +60,8 @@ use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; Arg [-DNADB]: (optional) Bio::EnsEMBL::DBSQL::DBAdaptor DNADB All sequence, assembly, contig information etc, will be - retrieved from this database instead. - Arg [-TYPE]: (optional) An assembly_type - Arg [..] : Other args are passed to superclass + retrieved from this database instead. + Arg [..] : Other args are passed to superclass Bio::EnsEMBL::DBSQL::DBConnection Example : $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -user => 'root', @@ -74,57 +77,70 @@ use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; sub new { my($class, @args) = @_; - + #call superclass constructor my $self = $class->SUPER::new(@args); - - my ( $dnadb, $assembly_type ) = $self->_rearrange([qw(DNADB TYPE)],@args); + + my ( $dnadb ) = rearrange([qw(DNADB)],@args); if(defined $dnadb) { $self->dnadb($dnadb); } - if ($assembly_type) { - $self->assembly_type($assembly_type); - } # $self here is actually a Container object # so need to call _obj to get the DBAdaptor - $self->_obj->{'default_module'} = { - 'ArchiveStableId' => 'Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor', - 'QtlFeature' => 'Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor', - 'Qtl' => 'Bio::EnsEMBL::Map::DBSQL::QtlAdaptor', - 'ProteinFeature' => 'Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor', - 'Protein' => 'Bio::EnsEMBL::DBSQL::ProteinAdaptor', - 'MapFrag' => 'Bio::EnsEMBL::DBSQL::MapFragAdaptor', - 'DnaAlignFeature' => 'Bio::EnsEMBL::DBSQL::DnaAlignFeatureAdaptor', - 'Clone' => 'Bio::EnsEMBL::DBSQL::CloneAdaptor', - 'PredictionTranscript' => 'Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor', - 'Sequence' => 'Bio::EnsEMBL::DBSQL::SequenceAdaptor', - 'Gene' => 'Bio::EnsEMBL::DBSQL::GeneAdaptor', - 'Exon' => 'Bio::EnsEMBL::DBSQL::ExonAdaptor', - 'Transcript' => 'Bio::EnsEMBL::DBSQL::TranscriptAdaptor', - 'Translation' => 'Bio::EnsEMBL::DBSQL::TranslationAdaptor', - 'RawContig' => 'Bio::EnsEMBL::DBSQL::RawContigAdaptor', - 'Slice' => 'Bio::EnsEMBL::DBSQL::SliceAdaptor', - 'Analysis' => 'Bio::EnsEMBL::DBSQL::AnalysisAdaptor', - 'SimpleFeature' => 'Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor', - 'RepeatConsensus' => 'Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor', - 'ProteinAlignFeature' => 'Bio::EnsEMBL::DBSQL::ProteinAlignFeatureAdaptor', - 'AssemblyMapper' => 'Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor', - 'DBEntry' => 'Bio::EnsEMBL::DBSQL::DBEntryAdaptor', - 'KaryotypeBand' => 'Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor', - 'Chromosome' => 'Bio::EnsEMBL::DBSQL::ChromosomeAdaptor', - 'SupportingFeature' => 'Bio::EnsEMBL::DBSQL::SupportingFeatureAdaptor', - 'MarkerFeature' => 'Bio::EnsEMBL::Map::DBSQL::MarkerFeatureAdaptor', - 'Marker' => 'Bio::EnsEMBL::Map::DBSQL::MarkerAdaptor', - 'RepeatFeature' => 'Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor', - 'ProxySNP' => 'Bio::EnsEMBL::DBSQL::ProxySNPAdaptor', - 'ProxyGene' => 'Bio::EnsEMBL::DBSQL::ProxyGeneAdaptor', - 'ProxyRepeatFeature' => 'Bio::EnsEMBL::DBSQL::ProxyRepeatFeatureAdaptor', - 'Blast' => 'Bio::EnsEMBL::External::BlastAdaptor' }; + $self->_obj->{'default_module'} = + { 'Analysis' => 'Bio::EnsEMBL::DBSQL::AnalysisAdaptor', + 'ArchiveStableId' => 'Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor', + 'AssemblyExceptionFeature' => 'Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor', + 'AssemblyMapper' => 'Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor', + 'Blast' => 'Bio::EnsEMBL::External::BlastAdaptor', + 'Chromosome' => 'Bio::EnsEMBL::DBSQL::ChromosomeAdaptor', + 'Clone' => 'Bio::EnsEMBL::DBSQL::CloneAdaptor', + 'CoordSystem' => 'Bio::EnsEMBL::DBSQL::CoordSystemAdaptor', + 'CompressedSequence' => 'Bio::EnsEMBL::DBSQL::CompressedSequenceAdaptor', + 'DBEntry' => 'Bio::EnsEMBL::DBSQL::DBEntryAdaptor', + 'DnaAlignFeature' => 'Bio::EnsEMBL::DBSQL::DnaAlignFeatureAdaptor', + 'DensityFeature' => 'Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor', + 'Exon' => 'Bio::EnsEMBL::DBSQL::ExonAdaptor', + 'Gene' => 'Bio::EnsEMBL::DBSQL::GeneAdaptor', + 'KaryotypeBand' => 'Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor', + 'MapFrag' => 'Bio::EnsEMBL::DBSQL::MapFragAdaptor', + 'Marker' => 'Bio::EnsEMBL::Map::DBSQL::MarkerAdaptor', + 'MarkerFeature' => + 'Bio::EnsEMBL::Map::DBSQL::MarkerFeatureAdaptor', + 'MetaContainer' => 'Bio::EnsEMBL::DBSQL::MetaContainer', + 'MiscSet' => 'Bio::EnsEMBL::DBSQL::MiscSetAdaptor', + 'MiscFeature' => 'Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor', + 'PredictionTranscript' => + 'Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor', + 'PredictionExon' => 'Bio::EnsEMBL::DBSQL::PredictionExonAdaptor', + 'ProteinFeature' => 'Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor', + 'Protein' => 'Bio::EnsEMBL::DBSQL::ProteinAdaptor', + 'ProteinAlignFeature' => + 'Bio::EnsEMBL::DBSQL::ProteinAlignFeatureAdaptor', + 'ProxySNP' => 'Bio::EnsEMBL::DBSQL::ProxySNPAdaptor', + 'ProxyGene' => 'Bio::EnsEMBL::DBSQL::ProxyGeneAdaptor', + 'ProxyRepeatFeature' => + 'Bio::EnsEMBL::DBSQL::ProxyRepeatFeatureAdaptor', + 'QtlFeature' => 'Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor', + 'Qtl' => 'Bio::EnsEMBL::Map::DBSQL::QtlAdaptor', + 'RawContig' => 'Bio::EnsEMBL::DBSQL::RawContigAdaptor', + 'RepeatConsensus' => 'Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor', + 'RepeatFeature' => 'Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor', + 'Sequence' => 'Bio::EnsEMBL::DBSQL::SequenceAdaptor', + 'SimpleFeature' => 'Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor', + 'Slice' => 'Bio::EnsEMBL::DBSQL::SliceAdaptor', + 'SupportingFeature' => + 'Bio::EnsEMBL::DBSQL::SupportingFeatureAdaptor', + 'Transcript' => 'Bio::EnsEMBL::DBSQL::TranscriptAdaptor', + 'Translation' => 'Bio::EnsEMBL::DBSQL::TranslationAdaptor', + + }; + # initialise storage for hash of names of current modules - %{$self->_obj->{'current_module'}} = %{$self->_obj->{'default_module'}}; + %{$self->_obj->{'current_module'}} = %{$self->_obj->{'default_module'}}; # keep a hash of objects representing objects of each adaptor type # instantiated as required in get adaptor @@ -133,6 +149,8 @@ sub new { # initialise generic feature adaptor storage $self->_obj->{'generic_feature_adaptors'} = {}; + + return $self; } @@ -143,7 +161,7 @@ sub new { Args : none Example : none Description: ... - Returntype : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor + Returntype : Bio::EnsEMBL::DBSQL::ArchiveStableIdAdaptor Exceptions : none Caller : general @@ -151,7 +169,7 @@ sub new { sub get_ArchiveStableIdAdaptor { my( $self ) = @_; - + return $self->get_adaptor("ArchiveStableId"); } @@ -162,17 +180,15 @@ sub get_ArchiveStableIdAdaptor { Args : none Example : none Description: ... - Returntype : Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor + Returntype : Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor Exceptions : none Caller : general =cut sub get_QtlFeatureAdaptor { - my( $self ) = @_; - - return - $self->get_adaptor("QtlFeature"); + my $self = shift; + return $self->get_adaptor("QtlFeature"); } =head2 get_QtlAdaptor @@ -180,17 +196,15 @@ sub get_QtlFeatureAdaptor { Args : none Example : none Description: ... - Returntype : Bio::EnsEMBL::Map::DBSQL::QtlAdaptor + Returntype : Bio::EnsEMBL::Map::DBSQL::QtlAdaptor Exceptions : none Caller : general =cut sub get_QtlAdaptor { - my( $self ) = @_; - - return - $self->get_adaptor("Qtl"); + my $self = shift; + return $self->get_adaptor("Qtl"); } =head2 get_MetaContainer @@ -200,24 +214,16 @@ sub get_QtlAdaptor { Description: Gets a MetaContainer object for this database Returntype : Bio::EnsEMBL::DBSQL::MetaContainer Exceptions : none - Caller : ? + Caller : general =cut sub get_MetaContainer { - my( $self ) = @_; - - my( $mc ); - unless ($mc = $self->{'_meta_container'}) { - require Bio::EnsEMBL::DBSQL::MetaContainer; - $mc = Bio::EnsEMBL::DBSQL::MetaContainer->new($self); - $self->{'_meta_container'} = $mc; - } - return $mc; + my $self = shift; + return $self->get_adaptor('MetaContainer'); } - =head2 get_ProteinFeatureAdaptor Args : none @@ -231,29 +237,8 @@ sub get_MetaContainer { =cut sub get_ProteinFeatureAdaptor { - my( $self ) = @_; - - return - $self->get_adaptor("ProteinFeature"); -} - - -=head2 get_ProteinAdaptor - - Args : none - Example : $pa = $database_adaptor->get_ProteinAdaptor(); - Description: Gets a ProteinAdaptor for this database. - Formerly named get_Protein_Adaptor() - Returntype : Bio::EnsEMBL::DBSQL::ProteinAdaptor - Exceptions : none - Caller : general - -=cut - -sub get_ProteinAdaptor { - my( $self ) = @_; - - return $self->get_adaptor("Protein"); + my $self = shift; + return $self->get_adaptor("ProteinFeature"); } @@ -278,19 +263,19 @@ sub get_SNPAdaptor { $primary_adaptor = $lite->get_SNPAdaptor(); } else { my $snp = $self->get_db_adaptor('SNP'); - + unless($snp) { - warn("No lite or SNP database, cannot get snp adaptor\n"); + warning("No lite or SNP database, cannot get snp adaptor\n"); return undef; } $primary_adaptor = $snp->get_SNPAdaptor(); $primary_adaptor->ensembl_db( $self ); } - + #return a proxy adaptor which can use the lite or the core database return $self->get_adaptor("ProxySNP", - $primary_adaptor); + $primary_adaptor); } @@ -310,105 +295,102 @@ sub get_BlastAdaptor { my $db_apt = $self->get_db_adaptor('blast'); - return $self->get_adaptor("Blast", $db_apt); + return $self->get_adaptor("Blast", + $db_apt); } -=head2 get_GlovarAdaptor +=head2 get_PredictionTranscriptAdaptor Args : none - Example : $gv_adaptor = $db_adaptor->get_GlovarAdaptor(); - Description: Gets a GlovarAdaptor for retrieving variations - Returntype : Bio::EnsEMBL::External::Glovar::GlovarAdaptor + Example : $pta = $db_adaptor->get_PredictionTranscriptAdaptor(); + Description: Gets a PredictionTranscriptAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor Exceptions : none Caller : general =cut -sub get_GlovarAdaptor { - my ($self) = @_; - print "get_db_adaptor in DBAdaptor...\n"; - my $gv_apt = $self->get_db_adaptor('glovar'); - print "get_adaptor in DBAdaptor...\n"; - return $self->get_adaptor("Glovar", $gv_apt); +sub get_PredictionTranscriptAdaptor { + my ($self) = @_; + return $self->get_adaptor("PredictionTranscript"); } -=head2 get_MapFragAdaptor +=head2 get_PredictionExonAdaptor - Args : none - Example : $map_frag_adaptor = $db_adaptor->get_MapFragAdaptor(); - Description: Gets a MapFragAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::MapFragAdaptor + Args : none + Example : $pea = $db_adaptor->get_PredictionExonAdaptor(); + Description: Gets a PredictionExonAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::PredictionExonAdaptor Exceptions : none Caller : general =cut -sub get_MapFragAdaptor { - my $self = shift; +sub get_PredictionExonAdaptor { + my ($self) = @_; - return $self->get_adaptor( "MapFrag" ); + return $self->get_adaptor("PredictionExon"); } -=head2 get_CloneAdaptor +=head2 get_SequenceAdaptor Args : none - Example : $clone_adaptor = $db_adaptor->get_CloneAdaptor(); - Description: Gets a CloneAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::CloneAdaptor + Example : $sequence_adaptor = $db_adaptor->get_SequenceAdaptor(); + Description: Gets a SequenceAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::SequenceAdaptor Exceptions : none Caller : general =cut -sub get_CloneAdaptor { - my( $self ) = @_; - - return $self->dnadb->get_adaptor("Clone"); -} - - -=head2 get_PredictionTranscriptAdaptor - - Args : none - Example : $pta = $db_adaptor->get_PredictionTranscriptAdaptor(); - Description: Gets a PredictionTranscriptAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor - Exceptions : none - Caller : general +sub get_SequenceAdaptor { + my $self = shift; -=cut + my $mc = $self->dnadb->get_MetaContainer(); -sub get_PredictionTranscriptAdaptor { - my ($self) = @_; + my ($use_compressed) = @{$mc->list_value_by_key('sequence.compression')}; - return - $self->get_adaptor("PredictionTranscript"); - } + if($use_compressed) { + return $self->dnadb->get_adaptor("CompressedSequence"); + } else { + #return the sequence adaptor for the dnadb (which may be this db) + return $self->dnadb->get_adaptor("Sequence"); + } +} -=head2 get_SequenceAdaptor +=head2 get_CompressedSequenceAdaptor Args : none - Example : $sequence_adaptor = $db_adaptor->get_SequenceAdaptor(); - Description: Gets a SequenceAdaptor for this database + Example : $seq_adaptor = $db_adaptor->get_CompressedSequenceAdaptor(); + Description: Gets a CompressedSequenceAdaptor for this database. + A compressed sequence adaptor behaves like a normal + SequenceAdaptor except that it stores and retrieves compressed + sequence from the dnac table (rather than the dna table). + Normally if you want to use compressed sequence you should + convert your database to a compressed database with a script + and then set the 'sequence.compression' meta_key to a value + of '1' in the meta table. This way the compressed sequence + adaptor will be used instead of the normal sequence adaptor. Returntype : Bio::EnsEMBL::DBSQL::SequenceAdaptor Exceptions : none Caller : general =cut -sub get_SequenceAdaptor { +sub get_CompressedSequenceAdaptor { my $self = shift; #return the sequence adaptor for the dnadb (which may be this db) - return $self->dnadb->get_adaptor("Sequence"); + return $self->dnadb->get_adaptor("CompressedSequence"); } + =head2 get_GeneAdaptor Args : none @@ -486,23 +468,6 @@ sub get_TranslationAdaptor { } -=head2 get_RawContigAdaptor - - Args : none - Example : $rca = $db_adaptor->get_RawContigAdaptor(); - Description: Gets a RawContigAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::RawContigAdaptor - Exceptions : none - Caller : general - -=cut - -sub get_RawContigAdaptor { - my( $self ) = @_; - - return $self->dnadb->get_adaptor("RawContig"); -} - =head2 get_SliceAdaptor @@ -518,7 +483,7 @@ sub get_RawContigAdaptor { sub get_SliceAdaptor { my( $self ) = @_; - return $self->get_adaptor("Slice"); + return $self->dnadb()->get_adaptor("Slice"); } @@ -631,6 +596,7 @@ sub get_ProteinAlignFeatureAdaptor { sub get_DnaAlignFeatureAdaptor { my $self = shift; + return $self->get_adaptor("DnaAlignFeature"); } @@ -656,7 +622,7 @@ sub get_AssemblyMapperAdaptor { =head2 get_DBEntryAdaptor - Args : none + Args : none Example : $dbentry_adaptor = $db_adaptor->get_DBEntryAdaptor(); Description: Gets a DBEntryAdaptor for this database Returntype : Bio::EnsEMBL::DBSQL::DBEntryAdaptor @@ -673,41 +639,41 @@ sub get_DBEntryAdaptor { -=head2 get_KaryotypeBandAdaptor - Args : none - Example : $kba = $db_adaptor->get_KaryotypeBandAdaptor(); - Description: Gets a KaryotypeBandAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor +=head2 get_DensityFeatureAdaptor + + Arg [1] : none + Example : $density_feature_adaptor = $db_adaptor->get_DBEntryAdaptor(); + Description: Gets a DensityFeatureAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor Exceptions : none Caller : general =cut -sub get_KaryotypeBandAdaptor { - my( $self ) = @_; - - return - $self->dnadb->get_adaptor("KaryotypeBand"); +sub get_DensityFeatureAdaptor { + my $self = shift; + return $self->get_adaptor('DensityFeature'); } -=head2 get_ChromosomeAdaptor + +=head2 get_KaryotypeBandAdaptor Args : none - Example : $ca = $db_adaptor->get_ChromosomeAdaptor(); - Description: Gets a ChromosomeAdaptor for this database - Returntype : Bio::EnsEMBL::DBSQL::ChromosomeAdaptor + Example : $kba = $db_adaptor->get_KaryotypeBandAdaptor(); + Description: Gets a KaryotypeBandAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor Exceptions : none Caller : general =cut -sub get_ChromosomeAdaptor { +sub get_KaryotypeBandAdaptor { my( $self ) = @_; return - $self->dnadb->get_adaptor("Chromosome"); + $self->dnadb->get_adaptor("KaryotypeBand"); } @@ -767,151 +733,82 @@ sub get_MarkerAdaptor { } -=head2 list_supported_assemblies - Args : none - Example : my @supported = $database_adaptor->list_supported_assemblies); - Description: Returns a list of assemblies supported by this database. - Returntype : list of strings - Exceptions : thrown if SQL query fails - Caller : ? +=head2 get_CoordSystemAdaptor + + Arg [1] : none + Example : $csa = $db_adaptor->get_CoordSystemAdaptor(); + Description: Gets a CoordSystemAdaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::CoordSystemAdaptor + Exceptions : none + Caller : general =cut -sub list_supported_assemblies { - my($self) = @_; - my @out; +sub get_CoordSystemAdaptor { + my $self = shift; - my $query = q{ - SELECT distinct type - FROM assembly - }; + return $self->dnadb()->get_adaptor('CoordSystem'); +} - my $sth = $self->prepare($query) || - $self->throw("Error in list_supported_assemblies"); - my $res = $sth->execute || - $self->throw("Error in list_supported_assemblies"); - while (my($type) = $sth->fetchrow_array) { - push(@out, $type); - } - return @out; -} -=head2 assembly_type +=head2 get_MiscSetAdaptor - Arg [1] : (optional) string $value - the new assembly type value - Example : $db_adaptor->assembly_type($newval); - Description: Getter / Setter for the type of assembly used by - this database. If the value is not set then the - default value is obtained from the MetaContainer - Returntype : string - Exceptions : thrown if there is no defined assembly type, and the default - assembly type cannot be obtained from the MetaContainer - Caller : ? + Arg [1] : none + Example : $msa = $db_adaptor->get_MiscSetAdaptor(); + Description: Gets a MiscSet adaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::MiscSetAdaptor + Exceptions : none + Caller : general =cut -sub assembly_type{ - my ($obj,$value) = @_; - if($value) { - $obj->{'assembly'} = $value; - } - if (! defined $obj->{'assembly'}) { - my $ass; - eval { - $ass = $obj->dnadb->get_MetaContainer()->get_default_assembly(); - }; - if ( $@ ) { - $obj->throw("*** get_MetaContainer->get_default_assembly failed:\n$@\n" - ."assembly type must be set with assembly_type() first"); - } elsif (! $ass) { - $obj->throw("No default assembly defined in ".$obj->dnadb->dbname. " - must set with assembly_type() first"); - } - $obj->{'assembly'} = $ass; - } - return $obj->{'assembly'}; +sub get_MiscSetAdaptor { + my $self = shift; + return $self->get_adaptor('MiscSet'); } -=head2 assembly_name - Arg [1] : (optional) string $value - the new assembly name value - Example : $db_adaptor->assembly_name($newval); - Description: Getter / Setter for the name of assembly used by - this database. If the value is not set then the - default value is obtained from the MetaContainer - Returntype : string - Exceptions : warn if there is no defined assembly name, and the default - assembly name cannot be obtained from the MetaContainer - Caller : ? +=head2 get_MiscFeatureAdaptor + + Arg [1] : none + Example : $mfa = $db_adaptor->get_MiscFeatureAdaptor(); + Description: Gets a MiscFeature adaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor + Exceptions : none + Caller : general =cut -sub assembly_name { - my ($obj,$value) = @_; - if($value) { - $obj->{'assembly_name'} = $value; - } - if (! defined $obj->{'assembly_name'}) { - my $ass; - eval { - $ass = $obj->dnadb->get_MetaContainer()->get_default_assembly_name(); - }; - if ( $@ ) { - warn("*** get_MetaContainer->get_default_assembly_name failed ***\n$@\n"); - } elsif (! $ass) { - warn("No default assembly name defined in ".$obj->dnadb->dbname. "!"); - } - - $obj->{'assembly_name'} = $ass; - } - return $obj->{'assembly_name'}; +sub get_MiscFeatureAdaptor { + my $self = shift; + return $self->get_adaptor('MiscFeature'); } -=head2 assembly_version +=head2 get_AssemblyExceptionFeatureAdaptor - Arg [1] : (optional) string $value - the new assembly version value - Example : $db_adaptor->assembly_version($newval); - Description: Getter / Setter for the version of assembly used by - this database. If the value is not set then the - default value is obtained from the MetaContainer - Returntype : string - Exceptions : warn if there is no defined assembly version, and the default - assembly version cannot be obtained from the MetaContainer - Caller : ? + Arg [1] : none + Example : $aefa = $db_adaptor->get_AssebmyExceptionFeatureAdaptor(); + Description: Gets a AssemblyExceptionFeature adaptor for this database + Returntype : Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor + Exceptions : none + Caller : general =cut -sub assembly_version { - my ($obj,$value) = @_; - if($value) { - $obj->{'assembly_version'} = $value; - } - if (! defined $obj->{'assembly_version'}) { - my $ass; - eval { - $ass = $obj->dnadb->get_MetaContainer()->get_default_assembly_version(); - }; - if ( $@ ) { - warn("*** get_MetaContainer->get_default_assembly_version failed ***\n$@\n"); - } elsif (! $ass) { - warn("No default assembly version defined in ".$obj->dnadb->dbname. "!"); - } - - $obj->{'assembly_version'} = $ass; - } - return $obj->{'assembly_version'}; +sub get_AssemblyExceptionFeatureAdaptor { + my $self = shift; + return $self->get_adaptor('AssemblyExceptionFeature'); } + =head2 dnadb Title : dnadb @@ -957,11 +854,6 @@ sub dnadb { sub deleteObj { my $self = shift; - - if ($self->isa('Bio::EnsEMBL::Container')) { - $self = $self->_obj; - } - #print "called deleteObj on DBAdaptor\n"; #clean up external feature adaptor references @@ -975,14 +867,28 @@ sub deleteObj { foreach my $adaptor_name (keys %{$self->{'current_objects'}}) { my $adaptor = $self->{'current_objects'}->{$adaptor_name}; - if($adaptor && $adaptor->can('deleteObj')) { + if(ref($adaptor) && $adaptor->can('deleteObj')) { $adaptor->deleteObj(); } - #print STDERR "DELETING '$adaptor_name'\n"; + delete $self->{'current_objects'}->{$adaptor_name}; } } + if(exists $self->{'generic_feature_adaptors'}) { + foreach my $name (keys %{$self->{'generic_feature_adaptors'}}) { + my $adaptor = $self->{'generic_feature_adaptors'}->{$name}; + if(ref($adaptor) && $adaptor->can('deleteObj')) { + $adaptor->deleteObj(); + } + + delete $self->{'generic_feature_adaptors'}->{$name}; + } + + delete $self->{'generic_feature_adaptors'}; + } + + delete $self->{'_meta_container'}; delete $self->{'dnadb'}; @@ -1081,15 +987,15 @@ sub add_ExternalFeatureAdaptor { unless($adaptor && ref $adaptor && $adaptor->isa('Bio::EnsEMBL::External::ExternalFeatureAdaptor')) { - $self->throw("[$adaptor] is not a " . - "Bio::EnsEMBL::External::ExternalFeatureAdaptor"); + throw("[$adaptor] is not a " . + "Bio::EnsEMBL::External::ExternalFeatureAdaptor"); } unless(exists $self->{'_xf_adaptors'}) { $self->{'_xf_adaptors'} = {}; } - my $track_name = $adaptor->track_name(); + my $track_name = $adaptor->{'_track_name'}; #use a generic track name if one hasn't been defined unless(defined $track_name) { @@ -1105,6 +1011,7 @@ sub add_ExternalFeatureAdaptor { $self->{'_xf_adaptors'}->{"$track_name"} = $adaptor; } + $adaptor->db($self); } @@ -1171,22 +1078,23 @@ sub add_ExternalFeatureFactory{ =cut sub get_adaptor() { - my ($self, $canonical_name, @other_args) = @_; - if ($self->isa('Bio::EnsEMBL::Container')) { - $self = $self->_obj; - } + if ($self->isa('Bio::EnsEMBL::Container')) { + $self = $self->_obj; + } # throw if module for $canonical_name does not exist - $self->throw("No such data type $canonical_name") if (!exists($self->{'current_module'}->{$canonical_name})); + throw("No such data type $canonical_name") + if (!exists($self->{'current_module'}->{$canonical_name})); # get module name for $canonical_name my $module_name = $self->{'default_module'}->{$canonical_name}; # create and store a new one if necessary if (!exists($self->{'current_objects'}->{$canonical_name})) { - $self->{'current_objects'}->{$canonical_name} = $self->_get_adaptor($module_name, @other_args); + $self->{'current_objects'}->{$canonical_name} = + $self->_get_adaptor($module_name, @other_args); } return $self->{'current_objects'}->{$canonical_name}; @@ -1200,34 +1108,35 @@ sub get_adaptor() { Arg [2] : Object defining the adaptor for arg1. Example : $pa = Bio::EnsEMBL::DBSQL::ProteinAdaptor->new($db_adaptor); : $db_adaptor->set_adaptor("Protein", $pa) - Description: Stores the object which represents the adaptor for the arg1 data type. + Description: Stores the object which represents the adaptor for the + arg1 data type. Returntype : none - Exceptions : If arg2 is not a subclass of the default module for this data type. + Exceptions : If arg2 is not a subclass of the default module for this + data type. Caller : external =cut sub set_adaptor() { + my ($self, $canonical_name, $new_object) = @_; - my ($self, $canonical_name, $new_object) = @_; - - if ($self->isa('Bio::EnsEMBL::Container')) { - $self = $self->_obj; - } + if ($self->isa('Bio::EnsEMBL::Container')) { + $self = $self->_obj; + } # throw if an unrecognised canonical_name is used - $self->throw("No such data type $canonical_name") if (!exists($self->{'default_module'}->{$canonical_name})); + throw("No such data type $canonical_name") + if(!exists($self->{'default_module'}->{$canonical_name})); - my $default_module = $self->{'default_module'}->{$canonical_name}; - - # Check that $new_module is a subclass of $default_module - if (!$new_object->isa($default_module)) { # polymorphism should work - $self->throw("ref($new_object) is not a subclass of $default_module"); - } + my $default_module = $self->{'default_module'}->{$canonical_name}; - # set the value in current_module - $self->{'current_objects'}->{$canonical_name} = $new_object; + # Check that $new_module is a subclass of $default_module + if (!$new_object->isa($default_module)) { # polymorphism should work + throw("ref($new_object) is not a subclass of $default_module"); + } + # set the value in current_module + $self->{'current_objects'}->{$canonical_name} = $new_object; } # @@ -1236,10 +1145,12 @@ sub set_adaptor() { =head2 get_GenericFeatureAdaptors - Arg [1] : List of names of feature adaptors to get. If no adaptor names are given, all the defined adaptors are returned. + Arg [1] : List of names of feature adaptors to get. If no + adaptor names are given, all the defined adaptors are returned. Example : $db->get_GenericFeature("SomeFeature", "SomeOtherFeature") - Description: Returns a hash containing the named feature adaptors (or all feature adaptors). - Returntype : reference to a Hash containing the named + Description: Returns a hash containing the named feature adaptors (or + all feature adaptors). + Returntype : reference to a Hash containing the named feature adaptors (or all feature adaptors). Exceptions : If any of the the named generic feature adaptors do not exist. Caller : external @@ -1257,22 +1168,24 @@ sub get_GenericFeatureAdaptors() { } else { foreach my $name (@names) { if (!exists($self->{'generic_feature_adaptors'}->{$name})) { - $self->throw("No generic feature adaptor has been defined for $name" ); + throw("No generic feature adaptor has been defined for $name" ); } $adaptors{$name} = $self->{'generic_feature_adaptors'}->{$name}; } } return \%adaptors; - } + =head2 add_GenericFeatureAdaptor Arg [1] : The name of the feature. Arg [2] : Adaptor object for a generic feature. - Example : $db->add_GenericFeatureAdaptor("SomeFeature", "Bio::EnsEMBL::DBSQL::SomeFeatureAdaptor") - Description: Stores the object which represents the adaptor for the named feature type. + Example : $db->add_GenericFeatureAdaptor("SomeFeature", + "Bio::EnsEMBL::DBSQL::SomeFeatureAdaptor") + Description: Stores the object which represents the adaptor for the + named feature type. Returntype : none Exceptions : Caller : external @@ -1280,29 +1193,137 @@ sub get_GenericFeatureAdaptors() { =cut sub add_GenericFeatureAdaptor() { - - my ($self, $name, $adaptor_obj) = @_; + my ($self, $name, $adaptor_obj) = @_; - # check that $adaptor is an object that subclasses BaseFeatureAdaptor - if (!$adaptor_obj->isa("Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor")) { - $self->throw("$name is a " . ref($adaptor_obj) . " which is not a subclass of Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor" ); - } - - $self->{'generic_feature_adaptors'}->{$name} = $adaptor_obj; + # check that $adaptor is an object that subclasses BaseFeatureAdaptor + if (!$adaptor_obj->isa("Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor")) { + throw("$name is a " . ref($adaptor_obj) . "which is not a " . + "subclass of Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor" ); + } + $self->{'generic_feature_adaptors'}->{$name} = $adaptor_obj; } -# + + + +######################### # sub DEPRECATED METHODS -# -# +######################### + + + +=head2 get_MapFragAdaptor + + Description: MapFragAdaptor is deprecated. Use MiscFeatureAdaptor instead. + +=cut + +sub get_MapFragAdaptor { + my $self = shift; + + return $self->get_adaptor( "MapFrag" ); +} + +=head2 get_CloneAdaptor + + Description: CloneAdaptor is deprecated. Use SliceAdaptor instead. + +=cut + +sub get_CloneAdaptor { + my( $self ) = @_; + + return $self->dnadb->get_adaptor("Clone"); +} + +=head2 get_ChromosomeAdaptor + + Description: ChromosomeAdaptor is deprecated. Use SliceAdaptor instead. + +=cut + +sub get_ChromosomeAdaptor { + my( $self ) = @_; + + return + $self->dnadb->get_adaptor("Chromosome"); +} + +=head2 get_RawContigAdaptor + + Description: RawContigAdaptor is deprecated. Use SliceAdaptor instead. + +=cut + +sub get_RawContigAdaptor { + my( $self ) = @_; + + return $self->dnadb->get_adaptor("RawContig"); +} + + +=head2 get_ProteinAdaptor + + Description: ProteinAdaptor is deprecated. Use TranslationAdaptor instead + +=cut + +sub get_ProteinAdaptor { + my $self = shift; + deprecate("The ProteinAdaptor is deprecated. Use the TranslationAdaptor " . + "instead of the ProteinAdaptor and Translation instead of " . + "Protein."); + return $self->get_adaptor("Protein"); +} + sub source { + deprecate('Do not use - this method does nothing'); +} + + +=head2 assembly_type + + Description: DEPRECATED - Use CoordSystemAdaptor to obtain default coordinate + system instead. + +=cut + +sub assembly_type{ my $self = shift; - $self->warn("DBAdaptor::source method is deprecated - do not use" . - $self->stack_trace_dump); - + deprecate('Use CoordSystemAdaptor::fetch_top_level instead'); + + my $csa = $self->get_CoordSystemAdaptor(); + + #get the default top-level coord system + my ($dbID,$name,$version) = $csa->fetch_top_level(); + + return $version; } + + +=head2 list_supported_assemblies + + Description: DEPRECATED - Use CoordSystemAdaptor to obtain list of top-level + coordinate systems instead + +=cut + +sub list_supported_assemblies { + my($self) = @_; + deprecate('Use CoordSystemAdaptor::fetch_all_top_level instead'); + + my $csa = $self->get_CoordSystemAdaptor(); + my @versions; + foreach my $cs (@{$csa->fetch_all_top_level()}) { + my ($dbID, $name, $version) = @$csa; + push @versions, $version; + } + return @versions; +} + + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm index 87a2bdb483..611e6a07fa 100644 --- a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm @@ -1,5 +1,4 @@ - -=head1 NAME - Bio::EnsEMBL::DBSQL::DBConnection +#=Head1 NAME - Bio::EnsEMBL::DBSQL::DBConnection =head1 SYNOPSIS @@ -45,6 +44,7 @@ use Bio::EnsEMBL::Container; use Bio::EnsEMBL::Root; use DBI; +use Bio::EnsEMBL::Utils::Exception qw(throw info warning); @ISA = qw(Bio::EnsEMBL::Root); @@ -102,8 +102,8 @@ sub new { )],@_); - $db || $self->throw("Database object must have a database name"); - $user || $self->throw("Database object must have a user"); + $db || throw("Database object must have a database name"); + $user || throw("Database object must have a user"); if( ! $driver ) { $driver = 'mysql'; @@ -122,7 +122,7 @@ sub new { $dbh = DBI->connect("$dsn","$user",$password, {RaiseError => 1}); }; - $dbh || $self->throw("Could not connect to database $db user " . + $dbh || throw("Could not connect to database $db user " . "$user using [$dsn] as a locator\n" . $DBI::errstr); $self->db_handle($dbh); @@ -331,9 +331,9 @@ sub locator { sub _get_adaptor { my( $self, $module, @args) = @_; - if ($self->isa('Bio::EnsEMBL::Container')) { - $self = $self->_obj; - } + if ($self->isa('Bio::EnsEMBL::Container')) { + $self = $self->_obj; + } my( $adaptor, $internal_name ); @@ -348,7 +348,7 @@ sub _get_adaptor { eval "require $module"; if($@) { - $self->warn("$module cannot be found.\nException $@\n"); + warning("$module cannot be found.\nException $@\n"); return undef; } @@ -402,13 +402,13 @@ sub prepare { my ($self,$string) = @_; if( ! $string ) { - $self->throw("Attempting to prepare an empty SQL query."); + throw("Attempting to prepare an empty SQL query."); } if( !defined $self->{_db_handle} ) { - $self->throw("Database object has lost its database handle."); + throw("Database object has lost its database handle."); } - #print STDERR "\n\nSQL(".$self->dbname."):$string\n\n"; + info("SQL(".$self->dbname."):$string"); return $self->{_db_handle}->prepare($string); } @@ -433,7 +433,7 @@ sub add_db_adaptor { my ($self, $name, $adaptor) = @_; unless($name && $adaptor && ref $adaptor) { - $self->throw('adaptor and name arguments are required'); + throw('adaptor and name arguments are required'); } #avoid circular references and memory leaks @@ -576,7 +576,6 @@ sub DESTROY { #don't disconnect if the InactiveDestroy flag has been set #this can really screw up forked processes if(!$dbh->{'InactiveDestroy'}) { - #print STDERR "Disconnecting db\n"; $dbh->disconnect; } diff --git a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm index 8eaf2e60f8..c39e855183 100644 --- a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm @@ -15,22 +15,31 @@ MySQL Database queries to load and store external object references. =head1 SYNOPSIS $db_entry_adaptor = $db_adaptor->get_DBEntryAdaptor(); -$dbEntry = $db_entry_adaptor->fetch_by_dbID($id); +$db_entry = $db_entry_adaptor->fetch_by_dbID($id); + +my $gene = $db_adaptor->get_GeneAdaptor->fetch_by_stable_id('ENSG00000101367'); +@db_entries = @{$db_entry_adaptor->fetch_all_by_Gene($gene)}; +@gene_ids = $db_entry_adaptor->list_gene_ids_by_extids('BAB15482'); + =head1 CONTACT Post questions to the EnsEMBL developer list <ensembl-dev@ebi.ac.uk> +=head1 METHODS + =cut package Bio::EnsEMBL::DBSQL::DBEntryAdaptor; use Bio::EnsEMBL::DBSQL::BaseAdaptor; -use Bio::EnsEMBL::DBSQL::DBAdaptor; + use Bio::EnsEMBL::DBEntry; use Bio::EnsEMBL::IdentityXref; use Bio::EnsEMBL::GoXref; +use Bio::EnsEMBL::Utils::Exception qw(deprecate throw); + use vars qw(@ISA); use strict; @@ -95,14 +104,21 @@ sub fetch_by_dbID { =head2 store - Arg [1] : ?? $exObj - Arg [2] : ?? $ensObject - Arg [3] : ?? $ensType - Example : - Description: - Returntype : - Exceptions : - Caller : + Arg [1] : Bio::EnsEMBL::DBEntry $exObj + The DBEntry (xref) to be stored + Arg [2] : Bio::EnsEMBL::Transcript, Bio::EnsEMBL::Gene or + Bio::EnsEMBL::Translation $ensObject + An EnsEMBL object to associate with this external database entry + Arg [3] : string $ensType ('Transcript', 'Translation', 'Gene'); + The type of EnsEMBL object that this external database entry is + being associated with. + Example : $dbea->store($db_entry, $transcript, 'Transcript'); + Description: Stores a reference to an external database (if it is not stored + already) and associates an EnsEMBL object of a specified type + with the external identifier. + Returntype : int - the identifier of the newly created external refernce + Exceptions : none + Caller : scripts which load Xrefs and ObjectXrefs, etc. into EnsEMBL. =cut @@ -125,7 +141,7 @@ sub store { my ($dbRef) = $sth->fetchrow_array(); if(!$dbRef) { - $self->throw("external_db [" . $exObj->dbname . "] release [" . + throw("external_db [" . $exObj->dbname . "] release [" . $exObj->release . "] does not exist"); } @@ -216,34 +232,12 @@ sub store { # If its GoXref add the linkage type to go_xref table # if ($exObj->isa('Bio::EnsEMBL::IdentityXref')) { - - my $analysis_id; - if( $exObj->analysis() ) { - $analysis_id = $self->db()->get_AnalysisAdaptor()-> - store( $exObj->analysis() ); - } else { - $analysis_id = undef; - } - $sth = $self->prepare( " INSERT ignore INTO identity_xref SET object_xref_id = ?, query_identity = ?, - target_identity = ?, - query_start = ?, - query_end = ?, - translation_start = ?, - translation_end = ?, - cigar_line = ?, - score = ?, - evalue = ?, - analysis_id = ?" ); - - $sth->execute($Xidt, $exObj->query_identity, $exObj->target_identity, - $exObj->query_start(), $exObj->query_end(), - $exObj->translation_start(), $exObj->translation_end(), - $exObj->cigar_line(), $exObj->score(), $exObj->evalue(), - $analysis_id); + target_identity = ?" ); + $sth->execute($Xidt, $exObj->query_identity, $exObj->target_identity); } elsif( $exObj->isa( 'Bio::EnsEMBL::GoXref' )) { $sth = $self->prepare( " INSERT ignore INTO go_xref @@ -275,7 +269,7 @@ sub exists { my ($self, $dbe) = @_ ; unless($dbe && ref $dbe && $dbe->isa('Bio::EnsEMBL::DBEntry')) { - $self->throw("arg must be a Bio::EnsEMBL::DBEntry not [$dbe]"); + throw("arg must be a Bio::EnsEMBL::DBEntry not [$dbe]"); } my $sth = $self->prepare('SELECT x.xref_id @@ -402,10 +396,10 @@ sub _fetch_by_object_type { my @out; if (!defined($ensObj)) { - $self->throw("Can't _fetch_by_object_type without an object ID"); + throw("Can't fetch_by_EnsObject_type without an object"); } if (!defined($ensType)) { - $self->throw("Can't _fetch_by_object_type without a type"); + throw("Can't fetch_by_EnsObject_type without a type"); } my $sth = $self->prepare(" SELECT xref.xref_id, xref.dbprimary_acc, xref.display_label, xref.version, @@ -413,9 +407,7 @@ sub _fetch_by_object_type { exDB.db_name, exDB.release, exDB.status, oxr.object_xref_id, es.synonym, - idt.query_identity, idt.target_identity, idt.query_start, idt.query_end, - idt.translation_start, idt.translation_end, idt.cigar_line, - idt.score, idt.evalue, idt.analysis_id, + idt.query_identity, idt.target_identity, gx.linkage_type FROM xref xref, external_db exDB, object_xref oxr LEFT JOIN external_synonym es on es.xref_id = xref.xref_id @@ -434,18 +426,16 @@ sub _fetch_by_object_type { while ( my $arrRef = $sth->fetchrow_arrayref() ) { my ( $refID, $dbprimaryId, $displayid, $version, $desc, $dbname, $release, $exDB_status, $objid, - $synonym, $queryid, $targetid, $query_start, $query_end, - $translation_start, $translation_end, $cigar_line, - $score, $evalue, $analysis_id, $linkage_type ) = @$arrRef; + $synonym, $queryid, $targetid, $linkage_type ) = @$arrRef; my %obj_hash = ( - _adaptor => $self, - _dbID => $refID, - _primary_id => $dbprimaryId, - _display_id => $displayid, - _version => $version, - _release => $release, - _dbname => $dbname); + 'adaptor' => $self, + 'dbID' => $refID, + 'primary_id' => $dbprimaryId, + 'display_id' => $displayid, + 'version' => $version, + 'release' => $release, + 'dbname' => $dbname ); # using an outer join on the synonyms as well as on identity_xref, we @@ -459,20 +449,6 @@ sub _fetch_by_object_type { $exDB = Bio::EnsEMBL::IdentityXref->new_fast(\%obj_hash); $exDB->query_identity($queryid); $exDB->target_identity($targetid); - if( $analysis_id ) { - my $analysis = $self->db()->get_AnalysisAdaptor()-> - fetch_by_dbID( $analysis_id ); - if( $analysis ) { - $exDB->analysis( $analysis ); - } - } - $exDB->cigar_line( $cigar_line ); - $exDB->query_start( $query_start ); - $exDB->query_end( $query_end ); - $exDB->translation_start( $translation_start ); - $exDB->translation_end( $translation_end ); - $exDB->score( $score ); - $exDB->evalue( $evalue ); } elsif( defined $linkage_type ) { $exDB = Bio::EnsEMBL::GoXref->new_fast( \%obj_hash ); $exDB->add_linkage_type( $linkage_type ); @@ -509,10 +485,11 @@ sub _fetch_by_object_type { =head2 list_gene_ids_by_extids Arg [1] : string $external_id - Example : none - Description: Retrieve a list of geneid by an external identifier that is linked to - any of the genes transcripts, translations or the gene itself - Returntype : listref of strings + Example : @gene_ids = $dbea->list_gene_ids_by_extids('ARSE'); + Description: Retrieve a list of geneid by an external identifier that is + linked to any of the genes transcripts, translations or the + gene itself + Returntype : list of ints Exceptions : none Caller : unknown @@ -528,32 +505,16 @@ sub list_gene_ids_by_extids{ return keys %T; } -=head2 geneids_by_extids - - Arg [1] : string $external_id - Example : none - Description: Retrieve a list of geneid by an external identifier that is linked to - any of the genes transcripts, translations or the gene itself - (please not that this call is deprecated) - Returntype : listref of strings - Exceptions : none - Caller : unknown - -=cut -sub geneids_by_extids{ - my ($self,$name) = @_; - warn ("This method is deprecated please use 'list_gene_ids_by_extids"); - return $self->list_gene_ids_by_extids( $name ); -} =head2 list_transcript_ids_by_extids Arg [1] : string $external_id - Example : none - Description: Retrieve a list transcriptid by an external identifier that is linked to - any of the genes transcripts, translations or the gene itself - Returntype : listref of strings + Example : @tr_ids = $dbea->list_gene_ids_by_extids('BCRA2'); + Description: Retrieve a list transcript ids by an external identifier that + is linked to any of the genes transcripts, translations or the + gene itself + Returntype : list of ints Exceptions : none Caller : unknown @@ -570,48 +531,10 @@ sub list_transcript_ids_by_extids{ } -=head2 transcriptids_by_extids - - Arg [1] : string $external_id - Example : none - Description: Retrieve a list transcriptid by an external identifier that is linked to - any of the genes transcripts, translations or the gene itself - Returntype : listref of strings - Exceptions : none - Caller : unknown - -=cut - -sub transcriptids_by_extids{ - my ($self,$name) = @_; - warn ("This method is deprecated please use 'list_transcript_ids_by_extids"); - return $self->list_transcript_ids_by_extids( $name ); -} - - -=head2 translationids_by_extids - - Arg [1] : string $name - Example : none - Description: Gets a list of translation IDs by external display IDs - (please note that this call is deprecated) - Returntype : list of Ints - Exceptions : none - Caller : unknown - -=cut - -sub translationids_by_extids{ - my ($self,$name) = @_; - warn ("This method is deprecated please use 'list_translation_ids_by_extids"); - return $self->list_translation_ids_by_extids( $name ); -} - - =head2 list_translation_ids_by_extids Arg [1] : string $name - Example : none + Example : @tr_ids = $dbea->list_gene_ids_by_extids('GO:0004835'); Description: Gets a list of translation IDs by external display IDs Returntype : list of Ints Exceptions : none @@ -649,9 +572,20 @@ sub _type_by_external_id{ my $where_sql = ''; my $ID_sql = "oxr.ensembl_id"; if(defined $extraType) { - $ID_sql = "t.${extraType}_id"; - $from_sql = 'transcript as t, '; - $where_sql = 't.'.lc($ensType).'_id = oxr.ensembl_id and '; + if(lc($extraType) eq 'translation') { + $ID_sql = "tl.translation_id"; + } else { + $ID_sql = "t.${extraType}_id"; + } + + if(lc($ensType) eq 'translation') { + $from_sql = 'transcript as t, translation as tl, '; + $where_sql = 't.transcript_id = tl.transcript_id and ' . + 'tl.translation_id = oxr.ensembl_id and '; + } else { + $from_sql = 'transcript as t, '; + $where_sql = 't.'.lc($ensType).'_id = oxr.ensembl_id and '; + } } my @queries = ( "select $ID_sql @@ -684,4 +618,45 @@ sub _type_by_external_id{ } + + +=head2 geneids_by_extids + + Description: DEPRECATED use list_gene_ids_by_extids instead + +=cut + +sub geneids_by_extids{ + my ($self,$name) = @_; + deprecate(" use 'list_gene_ids_by_extids instead"); + return $self->list_gene_ids_by_extids( $name ); +} + + +=head2 translationids_by_extids + + Description: DEPRECATED use list_translation_ids_by_extids instead + +=cut + +sub translationids_by_extids{ + my ($self,$name) = @_; + deprecate("Use list_translation_ids_by_extids instead"); + return $self->list_translation_ids_by_extids( $name ); +} + + +=head2 transcriptids_by_extids + + Description: DEPRECATED use transcriptids_by_extids instead + +=cut + +sub transcriptids_by_extids{ + my ($self,$name) = @_; + deprecate("Use list_transcript_ids_by_extids instead."); + return $self->list_transcript_ids_by_extids( $name ); +} + + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/DensityFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DensityFeatureAdaptor.pm new file mode 100644 index 0000000000..46358ee1b1 --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/DensityFeatureAdaptor.pm @@ -0,0 +1,432 @@ +# +# Ensembl module for Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor +# +# Copyright EMBL/EBI +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor + +=head1 SYNOPSIS + +my $dfa = $database_adaptor->get_DensityFeatureAdaptor(); + +my $interpolate = 1; +my $blocks_wanted = 50; + +@dense_feats = @{$dfa->fetch_all_by_Slice($slice,'SNPDensity', + $blocks_wanted, $interpolate);} + +=head1 DESCRIPTION + +Density Feature Adaptor - An adaptor responsible for the creation of density +features from the database. + +=head1 CONTACT + +Post questions to the Ensembl developer list. + +=head1 METHODS + +=cut + +package Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor; +use vars qw(@ISA); +use strict; + +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::DensityFeature; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); + +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); + + + +=head2 fetch_all_by_Slice + + Arg [1] : Bio::EnsEMBL::Slice $slice - The slice representing the region + to retrieve density features from. + Arg [2] : string $logic_name - The logic name of the density features to + retrieve. + Arg [3] : int $num_blocks (optional; default = 50) - The number of + features that are desired. The ratio between the size of these + features and the size of the features in the database will be + used to determine which database features will be used. + Arg [4] : boolean $interpolate (optional; default = 0) - A flag indicating + whether the features in the database should be interpolated to + fit them to the requested number of features. If true the + features will be interpolated to provide $num_blocks features. + This will not guarantee that exactly $num_blocks features are + returned due to rounding etc. but it will be close. + Arg [5] : float $max_ratio - The maximum ratio between the size of the + requested features (as determined by $num_blocks) and the actual + size of the features in the database. If this value is exceeded + then an empty list will be returned. This can be used to + prevent excessive interpolation of the database values. + Example : #interpolate: + $feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity', 10, 1); + #do not interpoloate, get what is in the database: + $feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity', 50); + #interpolate, but not too much + $feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity',50,1,5.0); + Description: Retrieves a set of density features which overlap the region + of this slice. Density features are a discrete representation + of a continuous value along a sequence, such as a density or + percent coverage. Density Features may be stored in chunks of + different sizes in the database, and interpolated to fit the + desired size for the requested region. For example the database + may store a single density value for each 1KB and also for each + 1MB. When fetching for an entire chromosome the 1MB density + chunks will be used if the requested number of blocks is not + very high. + Returntype : Bio::EnsEMBL::DensityFeature + Exceptions : warning on invalid $num_blocks argument + warning if no features with logic_name $logic_name exist + warning if density_type table has invalid block_size value + Caller : general + +=cut + +sub fetch_all_by_Slice { + my ($self, $slice, $logic_name, $num_blocks, $interpolate, $max_ratio) = @_; + + if(defined($num_blocks) && $num_blocks < 1) { + warning("Invalid number of density blocks [$num_blocks] requested.\n" . + "Returning empty list."); + return []; + } + + $num_blocks ||= 50; + my $length = $slice->length(); + my $wanted_block_size = int($length/$num_blocks); + + my $analysis_adaptor = $self->db()->get_AnalysisAdaptor(); + my $analysis = $analysis_adaptor->fetch_by_logic_name($logic_name); + + if(!$analysis) { + warning("No Analysis with logic_name=[$logic_name] found.\n" . + 'Returning empty list.'); + return []; + } + + my $sth = $self->prepare + ("SELECT density_type_id, block_size, analysis_id, value_type ". + "FROM density_type " . + "WHERE analysis_id = ?"); + $sth->execute($analysis->dbID()); + + my $best_ratio = undef; + my ($density_type_id, $density_value_type, $row); + + while($row = $sth->fetchrow_arrayref) { + my $block_size = $row->[1]; + + if($block_size < 1) { + warning("density_type table contains invalid block_size=$block_size."); + next; + } + + my $ratio; + if($block_size < $wanted_block_size) { + $ratio = $wanted_block_size/$block_size; + } else { + $ratio = $block_size/$wanted_block_size; + } + + if(!defined($best_ratio) || $ratio < $best_ratio) { + $best_ratio = $ratio; + $density_type_id = $row->[0]; + $density_value_type = $row->[3]; + } + } + + #the ratio was not good enough, or this logic name was not in the + #density type table, return an empty list + if(!defined($best_ratio) || + (defined($max_ratio) && $best_ratio > $max_ratio)) { + return []; + } + + my $constraint = "dt.density_type_id = $density_type_id"; + + my @features = + @{$self->fetch_all_by_Slice_constraint($slice,$constraint)}; + + #we don't want to interpolate if the ratio was very close + $interpolate = 0 if($best_ratio < 1.05); + + return \@features if(!$interpolate); + + #interpolate the features into new features of a different size + my @out; + #sort the features on start position + @features = sort({$a->start() <=> $b->end()} @features); + + #resize the features that were returned + my $start = 1; + my $end = $start+$wanted_block_size-1; + + while($start < $length) { + $end = $length if($end > $length); + + my $density_value = 0.0; + my ($f, $fstart, $fend, $portion); + my @dvalues; + + #construct a new feature using all of the old density features that + #we overlapped + while(($f = shift(@features)) && $end > $f->{'start'}) { + + #what portion of this feature are we using to construct our new block? + $fstart = ($f->{'start'} < $start) ? $start : $f->{'start'}; + $fend = ($f->{'end'} > $end ) ? $end : $f->{'end'}; + $fend = $length if($fend > $length); + + if($density_value_type eq 'sum') { + + $portion = ($fend-$fstart+1)/$f->length(); + + #take a percentage of density value, depending on how much of the + #feature we overlapped + $density_value += $portion * $f->{'density_value'}; + + } elsif($density_value_type eq 'ratio') { + + #maintain a running total of the length used from each feature + #and its value + push(@dvalues,[$fend-$fstart+1,$f->{'density_value'}]); + + } else { + throw("Unknown density value type [$density_value_type]."); + } + + #do not want to look at next feature if we only used part of this one: + last if($fend < $f->{'end'}); + } + + #if we did not completely overlap the last feature, put it back on so + #it can be partially used by the next block + if($fend < $f->{'end'}) { + unshift(@features, $f); + } + + if($density_value_type eq 'ratio') { + #take a weighted average of the all the density values of the features + #used to construct this one + my $total_len = $end - $start + 1; + if($total_len > 0) { + foreach my $pair (@dvalues) { + my ($dlen, $dval) = @$pair; + $density_value += $dval * ($dlen/$total_len); + } + } + } + + push @out, Bio::EnsEMBL::DensityFeature->new_fast + ({'start' => $start, + 'end' => $end, + 'slice' => $slice, + 'analysis' => $analysis, + 'adaptor' => $self, + 'density_value' => $density_value, + 'density_value_type' => $density_value_type}); + + $start = $end + 1; + $end += $wanted_block_size; + } + + return \@out; +} + + +sub _tables { + my $self = shift; + + return (['density_feature', 'df'], ['density_type', 'dt']); +} + + +sub _columns { + my $self = shift; + + return qw( df.density_feature_id + df.seq_region_id df.seq_region_start df.seq_region_end + df.density_value dt.analysis_id dt.value_type); +} + + +sub _default_where_clause { + my $self = shift; + + return 'df.density_type_id = dt.density_type_id'; +} + + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches, + # and a fair bit of gymnastics have been used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db()->get_AnalysisAdaptor(); + + my @features; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my($density_feature_id, $seq_region_id, $seq_region_start, $seq_region_end, + $density_value, $analysis_id, $density_value_type ); + + $sth->bind_columns(\$density_feature_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$density_value, \$analysis_id, + \$density_value_type); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } + + FEATURE: while($sth->fetch()) { + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); + + #get the slice object + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + my $len = $seq_region_end - $seq_region_start + 1; + + my @coords = + $mapper->map($sr_name, $seq_region_start, $seq_region_end,1, $sr_cs); + + #filter out gaps + @coords = grep {!$_->isa('Bio::EnsEMBL::Mapper::Gap')} @coords; + + #throw out density features mapped to gaps, or split + next FEATURE if(@coords != 1); + + $seq_region_start = $coords[0]->{'start'}; + $seq_region_end = $coords[0]->{'end'}; + $sr_name = $coords[0]->{'id'}; + + if($density_value_type eq 'sum') { + #adjust density value so it reflects length of feature actually used + my $newlen = $seq_region_end - $seq_region_start +1; + $density_value *= $newlen/$len if($newlen != $len); + } + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + } + + #throw away features entirely off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; + } + + push @features, Bio::EnsEMBL::DensityFeature->new_fast( + {'start' => $seq_region_start, + 'end' => $seq_region_end, + 'slice' => $slice, + 'analysis' => $analysis, + 'adaptor' => $self, + 'dbID' => $density_feature_id, + 'density_value' => $density_value, + 'density_value_type' => $density_value_type}); + } + + return \@features; +} + + +=head2 list_dbIDs + + Arg [1] : none + Example : @feature_ids = @{$density_feature_adaptor->list_dbIDs()}; + Description: Gets an array of internal ids for all density features in the + current db + Returntype : list of ints + Exceptions : none + Caller : ? + +=cut + +sub list_dbIDs { + my ($self) = @_; + + return $self->_list_dbIDs("density_feature"); +} + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/DnaAlignFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DnaAlignFeatureAdaptor.pm index af5677da75..7e9f1a97ff 100644 --- a/modules/Bio/EnsEMBL/DBSQL/DnaAlignFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DnaAlignFeatureAdaptor.pm @@ -1,14 +1,10 @@ # -# BioPerl module for Bio::EnsEMBL::DBSQL::DnaAlignFeatureAdaptor +# EnsEMBL module for Bio::EnsEMBL::DnaAlignFeatureAdaptor # -# Cared for by Ewan Birney <birney@ebi.ac.uk> -# -# Copyright Ewan Birney +# Copyright (c) 2003 EnsEMBL # # You may distribute this module under the same terms as perl itself -# POD documentation - main docs before the code - =head1 NAME Bio::EnsEMBL::DBSQL::DnaAlignFeatureAdaptor - Adaptor for DnaAlignFeatures @@ -17,22 +13,18 @@ Bio::EnsEMBL::DBSQL::DnaAlignFeatureAdaptor - Adaptor for DnaAlignFeatures $dafa = $dbadaptor->get_DnaAlignFeatureAdaptor(); - @features = @{$dafa->fetch_by_RawContig($contig)}; + @features = @{$dafa->fetch_by_Slice($slice)}; $dafa->store(@features); =head1 DESCRIPTION +This is an adaptor responsible for the retrieval and storage of +DnaDnaAlignFeatures from the database. This adaptor inherits most of its +functionality from the BaseAlignFeatureAdaptor and BaseFeatureAdaptor +superclasses. -This is an adaptor for DNA features on DNA sequence. Like other -feature getting adaptors it has a number of fetch_ functions and a -store function. This adaptor inherits most of its functionality from -its BaseAlignFeatureAdaptor superclass. - - -=head1 AUTHOR - Ewan Birney - -Email birney@ebi.ac.uk +=head1 CONTACT Post questions to the EnsEMBL development list <ensembl-dev@ebi.ac.uk> @@ -45,6 +37,7 @@ use strict; use Bio::EnsEMBL::DnaDnaAlignFeature; use Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor); @@ -84,79 +77,112 @@ sub _columns { my $self = shift; #warning, implementation of _objs_from_sth method depends on order of list - return qw(daf.dna_align_feature_id - daf.contig_id - daf.analysis_id - daf.contig_start - daf.contig_end - daf.contig_strand - daf.hit_start - daf.hit_end - daf.hit_name - daf.hit_strand - daf.cigar_line - daf.evalue - daf.perc_ident score); + return qw(daf.dna_align_feature_id + daf.seq_region_id + daf.analysis_id + daf.seq_region_start + daf.seq_region_end + daf.seq_region_strand + daf.hit_start + daf.hit_end + daf.hit_name + daf.hit_strand + daf.cigar_line + daf.evalue + daf.perc_ident + daf.score); } =head2 store - Arg [1] : int $contig_id - the id of the contig to be stored in the database - Arg [2] : list of Bio::EnsEMBL::DnaAlignFeatures @sf + Arg [1] : list of Bio::EnsEMBL::DnaAlignFeatures @feats the features to store in the database - Example : $dna_align_feature_adaptor->store($contig_id, @features); + Example : $dna_align_feature_adaptor->store(@features); Description: Stores a list of DnaAlignFeatures in the database Returntype : none - Exceptions : thrown if $contig_id is not an int, or if any of the - features in the database are not storable - Caller : ? + Exceptions : throw if any of the provided features cannot be stored + which may occur if: + * The feature does not have an associate Slice + * The feature does not have an associated analysis + * The Slice the feature is associated with is on a seq_region + unknown to this database + A warning is given if: + * The feature has already been stored in this db + Caller : Pipeline =cut sub store { - my ($self, @sf) = @_; + my ($self, @feats) = @_; + + throw("Must call store with features") if( scalar(@feats) == 0 ); my @tabs = $self->_tables; my ($tablename) = @{$tabs[0]}; - - if( scalar(@sf) == 0 ) { - $self->throw("Must call store with sequence features"); - } - - my $sth = $self->prepare(" - INSERT INTO $tablename (contig_id, contig_start, contig_end, - contig_strand, hit_start, hit_end, + + my $db = $self->db(); + my $analysis_adaptor = $db->get_AnalysisAdaptor(); + + my $sth = $self->prepare( + "INSERT INTO $tablename (seq_region_id, seq_region_start, seq_region_end, + seq_region_strand, hit_start, hit_end, hit_strand, hit_name, cigar_line, - analysis_id, score, evalue, perc_ident) + analysis_id, score, evalue, perc_ident) VALUES (?,?,?,?,?,?,?,?,?,?,?, ?, ?)"); - foreach my $sf ( @sf ) { - if( !ref $sf || !$sf->isa("Bio::EnsEMBL::DnaDnaAlignFeature") ) { - $self->throw("feature must be a Bio::EnsEMBL::DnaDnaAlignFeature," - . " not a [$sf]"); + FEATURE: foreach my $feat ( @feats ) { + if( !ref $feat || !$feat->isa("Bio::EnsEMBL::DnaDnaAlignFeature") ) { + throw("feature must be a Bio::EnsEMBL::DnaDnaAlignFeature," + . " not a [".ref($feat)."]."); + } + + if($feat->is_stored($db)) { + warning("DnaDnaAlignFeature [".$feat->dbID."] is already stored" . + " in this database."); + next FEATURE; + } + + my $hstart = $feat->hstart(); + my $hend = $feat->hend(); + my $hstrand = $feat->hstrand(); + $self->_check_start_end_strand($hstart,$hend, $hstrand); + + my $cigar_string = $feat->cigar_string(); + if(!$cigar_string) { + $cigar_string = $feat->length() . 'M'; + warning("DnaDnaAlignFeature does not define a cigar_string.\n" . + "Assuming ungapped block with cigar_line=$cigar_string ."); } - - my $contig = $sf->entire_seq(); - unless(defined $contig && $contig->isa("Bio::EnsEMBL::RawContig")) { - $self->throw("A contig must be attached to the features to be " . - "stored via the attach seq method\n"); + + my $hseqname = $feat->hseqname(); + if(!$hseqname) { + throw("DnaDnaAlignFeature must define an hseqname."); + } + + if(!defined($feat->analysis)) { + throw("An analysis must be attached to the features to be stored."); } - if( !defined $sf->analysis ) { - $self->throw("Cannot store sequence features without analysis"); + #store the analysis if it has not been stored yet + if(!$feat->analysis->is_stored($db)) { + $analysis_adaptor->store($feat->analysis()); } - # will only store if object is not already stored in this database - $self->db()->get_AnalysisAdaptor()->store( $sf->analysis() ); + my $original = $feat; + my $seq_region_id; + ($feat, $seq_region_id) = $self->_pre_store($feat); + + $sth->execute( $seq_region_id, $feat->start, $feat->end, $feat->strand, + $hstart, $hend, $hstrand, $hseqname, + $cigar_string, $feat->analysis->dbID, $feat->score, + $feat->p_value, $feat->percent_id); - $sth->execute( $contig->dbID(), $sf->start, $sf->end, $sf->strand, - $sf->hstart, $sf->hend, $sf->hstrand, $sf->hseqname, - $sf->cigar_string, $sf->analysis->dbID, $sf->score, - $sf->p_value, $sf->percent_id); - $sf->dbID($sth->{'mysql_insertid'}); + $original->dbID($sth->{'mysql_insertid'}); + $original->adaptor($self); } + + $sth->finish(); } @@ -176,120 +202,143 @@ sub store { =cut sub _objs_from_sth { - my ($self, $sth, $mapper, $slice) = @_; - - my ($dna_align_feature_id, $contig_id, $analysis_id, $contig_start, - $contig_end, $contig_strand, $hit_start, $hit_end, $hit_name, - $hit_strand, $cigar_line, $evalue, $perc_ident, $score); - - my $rca = $self->db()->get_RawContigAdaptor(); - my $aa = $self->db()->get_AnalysisAdaptor(); - - my ($analysis, $contig); - my @features; + my ($self, $sth, $mapper, $dest_slice) = @_; - my %a_hash; + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # - my ($row, $row_cache); + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db->get_AnalysisAdaptor(); - $row_cache = $sth->fetchall_arrayref(); - - if($slice) { - my ($chr, $start, $end, $strand); - my $slice_start = $slice->chr_start(); - my $slice_end = $slice->chr_end(); - my $slice_strand = $slice->strand(); - my $slice_name = $slice->name(); + my @features; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my($dna_align_feature_id, $seq_region_id, $analysis_id, $seq_region_start, + $seq_region_end, $seq_region_strand, $hit_start, $hit_end, $hit_name, + $hit_strand, $cigar_line, $evalue, $perc_ident, $score); + + $sth->bind_columns( + \$dna_align_feature_id, \$seq_region_id, \$analysis_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, \$hit_start, \$hit_end, \$hit_name, + \$hit_strand, \$cigar_line, \$evalue, \$perc_ident, \$score); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } - my ($feat_start, $feat_end, $feat_strand); + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } - while($row = shift @$row_cache) { - ($dna_align_feature_id, $contig_id, $analysis_id, $contig_start, - $contig_end, $contig_strand, $hit_start, $hit_end, $hit_name, - $hit_strand, $cigar_line, $evalue, $perc_ident, $score) = @$row; + FEATURE: while($sth->fetch()) { + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); - #convert contig coordinates to assembly coordinates - ($chr, $start, $end, $strand) = - $mapper->fast_to_assembly($contig_id, $contig_start, - $contig_end, $contig_strand); - - #if mapped to gap, skip - next unless(defined $start); + #get the slice object + my $slice = $slice_hash{"ID:".$seq_region_id}; - #if mapped outside slice region, skip - next if ($start > $slice_end) || ($end < $slice_start); + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } - #convert assembly coordinates to slice coordinates - if($slice_strand == -1) { - $feat_start = $slice_end - $end + 1; - $feat_end = $slice_end - $start + 1; - $feat_strand = $strand * -1; + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); } else { - $feat_start = $start - $slice_start + 1; - $feat_end = $end - $slice_start + 1; - $feat_strand = $strand; + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); } - - $analysis = $a_hash{$analysis_id} ||= $aa->fetch_by_dbID($analysis_id); - - push @features, Bio::EnsEMBL::DnaDnaAlignFeature->new_fast( - {'_gsf_tag_hash' => {}, - '_gsf_sub_array' => [], - '_parse_h' => {}, - '_analysis' => $analysis, - '_gsf_start' => $feat_start, - '_gsf_end' => $feat_end, - '_gsf_strand' => $feat_strand, - '_gsf_score' => $score, - '_seqname' => $slice_name, - '_percent_id' => $perc_ident, - '_p_value' => $evalue, - '_hstart' => $hit_start, - '_hend' => $hit_end, - '_hstrand' => $hit_strand, - '_hseqname' => $hit_name, - '_gsf_seq' => $slice, - '_cigar_string' => $cigar_line, - '_id' => $hit_name, - '_database_id' => $dna_align_feature_id}); } - } else { - my %c_hash; - while($row = shift @$row_cache) { - ($dna_align_feature_id, $contig_id, $analysis_id, $contig_start, - $contig_end, $contig_strand, $hit_start, $hit_end, $hit_name, - $hit_strand, $cigar_line, $evalue, $perc_ident, $score) = @$row; - - $analysis = $a_hash{$analysis_id} ||= $aa->fetch_by_dbID($analysis_id); - $contig = $c_hash{$contig_id} ||= $rca->fetch_by_dbID($contig_id); - - #use a very fast (hack) constructor since we may be creating over 10000 - #features at a time and normal object construction is too slow. - push @features, Bio::EnsEMBL::DnaDnaAlignFeature->new_fast( - {'_gsf_tag_hash' => {}, - '_gsf_sub_array' => [], - '_parse_h' => {}, - '_analysis' => $analysis, - '_gsf_start' => $contig_start, - '_gsf_end' => $contig_end, - '_gsf_strand' => $contig_strand, - '_gsf_score' => $score, - '_seqname' => $contig->name, - '_percent_id' => $perc_ident, - '_p_value' => $evalue, - '_hstart' => $hit_start, - '_hend' => $hit_end, - '_hstrand' => $hit_strand, - '_hseqname' => $hit_name, - '_gsf_seq' => $contig, - '_cigar_string' => $cigar_line, - '_id' => $hit_name, - '_database_id' => $dna_align_feature_id}); + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; } - + + #finally, create the new dna align feature + push @features, Bio::EnsEMBL::DnaDnaAlignFeature->new_fast + ( { 'slice' => $slice, + 'start' => $seq_region_start, + 'end' => $seq_region_end, + 'strand' => $seq_region_strand, + 'hseqname' => $hit_name, + 'hstart' => $hit_start, + 'hend' => $hit_end, + 'hstrand' => $hit_strand, + 'score' => $score, + 'p_value' => $evalue, + 'percent_id' => $perc_ident, + 'cigar_string' => $cigar_line, + 'analysis' => $analysis, + 'adaptor' => $self, + 'dbID' => $dna_align_feature_id } ); } - + return \@features; } @@ -297,7 +346,8 @@ sub _objs_from_sth { Arg [1] : none Example : @feature_ids = @{$dna_align_feature_adaptor->list_dbIDs()}; - Description: Gets an array of internal ids for all dna align features in the current db + Description: Gets an array of internal ids for all dna align features in + the current db Returntype : list of ints Exceptions : none Caller : ? diff --git a/modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm index 2f6ebc4d81..0c8f62e090 100644 --- a/modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm @@ -36,60 +36,76 @@ use vars qw( @ISA ); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::Exon; -use Bio::EnsEMBL::StickyExon; +use Bio::EnsEMBL::Utils::Exception qw( warning throw deprecate ); + +@ISA = qw( Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor ); -@ISA = qw( Bio::EnsEMBL::DBSQL::BaseAdaptor ); -=head2 fetch_by_dbID +#_tables +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns the names, aliases of the tables to use for queries +# Returntype : list of listrefs of strings +# Exceptions : none +# Caller : internal + +sub _tables { + my $self = shift; - Arg [1] : int $exon_id - the unique internal id of the exon to retrieve - Example : $exon = $exon_adaptor->fetch_by_dbID($exon_id); - Description: Retrieves an exon from the database via its internal id - Returntype : Bio::EnsEMBL::Exon in contig coordinates - Exceptions : none - Caller : general + ##allow the table definition to be overridden by certain methods + return ($self->{'tables'}) ? + @{$self->{'tables'}} : + ([ 'exon', 'e' ], [ 'exon_stable_id', 'esi' ] ); +} -=cut -sub fetch_by_dbID { +#=head2 _columns +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a list of columns to use for queries +# Returntype : list of strings +# Exceptions : none +# Caller : internal + +sub _columns { my $self = shift; - my $dbID = shift; - - my $query = qq { - SELECT e.exon_id - , e.contig_id - , e.contig_start - , e.contig_end - , e.contig_strand - , e.phase - , e.end_phase - , e.sticky_rank - FROM exon e - WHERE e.exon_id = $dbID - ORDER BY e.sticky_rank DESC }; - - my $sth = $self->prepare($query); + return qw( e.exon_id e.seq_region_id e.seq_region_start e.seq_region_end + e.seq_region_strand e.phase e.end_phase + esi.stable_id esi.version ); +} - $sth->execute(); +sub _left_join { + return ( [ 'exon_stable_id', "esi.exon_id = e.exon_id" ]); +} - my $hashRef; - my $exon; - if( $hashRef = $sth->fetchrow_hashref() ) { - $exon = $self->_exon_from_sth( $sth, $hashRef ); - } - delete $self->{rchash}; - return $exon; +# _final_clause +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a default end for the SQL-query (ORDER BY) +# Returntype : string +# Exceptions : none +# Caller : internal + +sub _final_clause { + my $self = shift; + return $self->{'final_clause'} || ''; } + =head2 fetch_by_stable_id Arg [1] : string $stable_id @@ -103,202 +119,60 @@ sub fetch_by_dbID { =cut sub fetch_by_stable_id { - my $self = shift; - my $stable_id = shift; - - my $sth = $self->prepare( "SELECT exon_id from exon_stable_id - WHERE stable_id = ?" ); - $sth->execute( $stable_id ); - if( my $arr = $sth->fetchrow_arrayref ) { - my $exon = $self->fetch_by_dbID( $arr->[0] ); - return $exon; - } else { - $self->warn( "No Exon with this stable_id in the database!" ); - return undef; - } -} - - - -=head2 fetch_all_by_gene_id - - Arg [1] : int $id - The identifier of the gene whose exons will be retrieved - Example : @exons = $exon_adaptor->fetch_all_by_gene_id(1234); - Description: Retrieves all exons from the gene specified by $geneId - Returntype : listref of Bio::EnsEMBL::Exon in contig coordinates - Exceptions : thrown if $geneId is not defined - Caller : general - -=cut - -sub fetch_all_by_gene_id { - my ( $self, $gene_id ) = @_; - my %exons; - my $hashRef; - my ( $currentId, $currentTranscript ); + my ( $self, $stable_id ) = @_; - if( !$gene_id ) { - $self->throw("Gene dbID not defined"); - } - $self->{rchash} = {}; - my $query = qq { - SELECT - STRAIGHT_JOIN - e.exon_id - , e.contig_id - , e.contig_start - , e.contig_end - , e.contig_strand - , e.phase - , e.end_phase - , e.sticky_rank - FROM transcript t - , exon_transcript et - , exon e - WHERE t.gene_id = ? - AND et.transcript_id = t.transcript_id - AND e.exon_id = et.exon_id - ORDER BY t.transcript_id,e.exon_id - , e.sticky_rank DESC - }; + my $constraint = "esi.stable_id = \"$stable_id\""; - my $sth = $self->prepare( $query ); - $sth->execute($gene_id); - - while( $hashRef = $sth->fetchrow_hashref() ) { - if( ! exists $exons{ $hashRef->{exon_id} } ) { - - my $exon = $self->_exon_from_sth( $sth, $hashRef ); - - $exons{$exon->dbID} = $exon; - } - } - delete $self->{rchash}; - - my @out = (); + # should be only one :-) + my $exons = $self->SUPER::generic_fetch( $constraint ); - push @out, values %exons; + if( ! @$exons ) { return undef } - return \@out; + return $exons->[0]; } -=head2 _exon_from_sth - - Arg [1] : DBI statement handle $sth - the prepared SQL statement used to generate the hashref - this arg is required to retrieve component exons from - the database if the exon happens to be a sticky exon - Arg [2] : DBI row hashref $hashRef - a hash reference representing a single exon or a portion - of a sticky exon - Example : my $exon = $self->_exon_from_sth($sth, $hashref); - Description: PROTECTED - Creates an exon (normal or sticky) from its statement handle - and hashreference. - Returntype : Bio::EnsEMBL::Exon +=head2 fetch_all_by_Transcript + + Arg [1] : Bio::EnsEMBL::Transcript $transcript + Example : none + Description: Retrieves all Exons for the Transcript in 5-3 order + Returntype : listref Bio::EnsEMBL::Exon on Transcript slice Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::ExonAdaptor + Caller : Transcript->get_all_Exons() =cut +sub fetch_all_by_Transcript { + my ( $self, $transcript ) = @_; -# build an exon (possibly sticky exon) from given statement handle and -# retrieved row in hashref. return it. uses $self->{rchash} to store contig -# information. This should be cleared after leaving ExonAdaptor - -sub _exon_from_sth { - - my ( $self, $sth, $hashRef ) = @_; - my $sticky_length = 0; - my $exon; - if( $hashRef->{'sticky_rank'} >1 ) { - - # sticky exon - $exon = Bio::EnsEMBL::StickyExon->new(); - $exon->dbID($hashRef->{'exon_id'}); - # make first component exon - my $component = $self->_new_Exon_from_hashRef($hashRef); - - $exon->add_component_Exon($component); - $sticky_length += $component->length; - - $exon->phase($component->phase); - $exon->end_phase($component->end_phase); - $exon->adaptor($self); - - # continue while loop until we hit sticky_rank 1 - while( $hashRef = $sth->fetchrow_hashref() ) { - my $component = $self->_new_Exon_from_hashRef($hashRef); - - $exon->add_component_Exon($component); - $sticky_length += $component->length; - - if( $component->sticky_rank == 1 ) { - $exon->contig( $component->contig ); - last; - } - } + ##override the tables definition to provide an additional join to + # the exon_transcript table. For efficiency we cannot afford to have + # this in as a left join every time. + my @tables = $self->_tables(); + push @tables, ['exon_transcript', 'et']; + $self->{'tables'} = \@tables; + $self->{'final_clause'} = "ORDER BY et.transcript_id, et.rank"; - $exon->_sort_by_sticky_rank(); - # set start = 1 and end = length of sticky exon - # build a minature sequence representing the sticky region and - # attach + my $constraint = "et.transcript_id = ".$transcript->dbID() . + " AND e.exon_id = et.exon_id"; - $exon->start(1); - $exon->end($sticky_length); - $exon->strand( 1 ); + #fetch exons, remap them to the transcripts slice, and + # keep even exons which fall off end of slice + my $keep_all = 1; + my $exons = $self->generic_fetch( $constraint, undef, + $transcript->slice(), $keep_all); - } - else { - $exon = $self->_new_Exon_from_hashRef($hashRef); - } + #un-override the table definition + $self->{'tables'} = undef; + $self->{'final_clause'} = undef; - return $exon; + return $exons; } -=head2 _new_Exon_from_hashref - - Arg [1] : DBI row hashref $hashRef - Example : my $exon = $hashref - Description: PROTECTED - creates a normal (non-sticky) exon from a row hash reference - Returntype : Bio::EnsEMBL::Exon - Exceptions : none - Caller : _exon_from_sth - -=cut - -sub _new_Exon_from_hashRef { - my $self = shift; - my $hashRef = shift; - - my $exon = Bio::EnsEMBL::Exon->new(); - $exon->start( $hashRef->{'contig_start'} ); - $exon->end( $hashRef->{'contig_end'} ); - $exon->strand( $hashRef->{'contig_strand'} ); - $exon->phase( $hashRef->{phase} ); - $exon->end_phase( $hashRef->{end_phase} ); - $exon->dbID($hashRef->{'exon_id'}); - $exon->sticky_rank($hashRef->{'sticky_rank'}); - $exon->adaptor($self); - - my $rc = - $self->db->get_RawContigAdaptor->fetch_by_dbID($hashRef->{'contig_id'}); - - $exon->contig( $rc ); - - return $exon; -} - - - - - =head2 store Arg [1] : Bio::EnsEMBL::Exon $exon @@ -317,199 +191,100 @@ sub store { my ( $self, $exon ) = @_; if( ! $exon->isa('Bio::EnsEMBL::Exon') ) { - $self->throw("$exon is not a EnsEMBL exon - not dumping!"); + throw("$exon is not a EnsEMBL exon - not storing."); } - if( $exon->dbID && $exon->adaptor && $exon->adaptor == $self ) { + my $db = $self->db(); + + if($exon->is_stored($db)) { return $exon->dbID(); } if( ! $exon->start || ! $exon->end || ! $exon->strand || ! defined $exon->phase ) { - $self->throw("Exon does not have all attributes to store"); + throw("Exon does not have all attributes to store"); } - # trap contig_id separately as it is likely to be a common mistake - my $exon_sql = q{ - INSERT into exon ( exon_id, contig_id, contig_start, - contig_end, contig_strand, phase, - end_phase, sticky_rank ) - VALUES ( ?, ?, ?, ?, ?, ?, ?,? ) + INSERT into exon ( seq_region_id, seq_region_start, + seq_region_end, seq_region_strand, phase, + end_phase ) + VALUES ( ?, ?, ?, ?, ?, ? ) }; + my $exonst = $self->prepare($exon_sql); my $exonId = undef; - if( $exon->isa( 'Bio::EnsEMBL::StickyExon' )) { - # sticky storing. Sticky exons contain normal exons ... - - my $componentExons = $exon->get_all_component_Exons; - for my $componentExon ( @$componentExons ) { - my $contig = $componentExon->contig(); - - unless($contig && ref $contig && $contig->dbID()) { - $self->throw("Component Exon does not have an attached contig " . - "with a valid set database id. " . - "Needs to have one set"); - } - - $exonst->execute( $exonId, $contig->dbID, - $componentExon->start(), - $componentExon->end(), - $componentExon->strand(), - $componentExon->phase(), - $componentExon->end_phase(), - $componentExon->sticky_rank() ); - if( ! $exonId ) { - $exonId = $exonst->{'mysql_insertid'}; - } - } - } else { - # normal storing - - my $contig = $exon->contig(); - - unless( $contig && ref $contig && $contig->dbID() ) { - $self->throw("Exon does not have an attached contig with a valid " . - "database id. Needs to have one set"); - } - - $exonst->execute( undef,$contig->dbID, - $exon->start(), - $exon->end(), - $exon->strand(), - $exon->phase(), - $exon->end_phase(), - $exon->sticky_rank() ); - $exonId = $exonst->{'mysql_insertid'}; + my $original = $exon; + my $seq_region_id; + ($exon, $seq_region_id) = $self->_pre_store($exon); + + #store the exon + $exonst->execute( $seq_region_id, + $exon->start(), + $exon->end(), + $exon->strand(), + $exon->phase(), + $exon->end_phase()); + $exonId = $exonst->{'mysql_insertid'}; + + #store any stable_id information + if ($exon->stable_id && $exon->version()) { + my $sth = $self->prepare( + "INSERT INTO exon_stable_id " . + "SET version = ?, " . + "stable_id = ?, " . + "exon_id = ?"); + + $sth->execute( $exon->version, $exon->stable_id, $exonId ); } - if ($exon->stable_id) { - if (!$exon->created || - !$exon->modified || - !$exon->version) { - $self->throw("Trying to store incomplete stable id information for exon"); - } - - my $statement = "INSERT INTO exon_stable_id(exon_id," . - "version, stable_id, created, modified)". - " VALUES(" . $exonId . "," . - $exon->version . "," . - "'" . $exon->stable_id . "'," . - "FROM_UNIXTIME(".$exon->created."),". - "FROM_UNIXTIME(". $exon->modified . "))"; - #print $statement . "\n"; - - my $sth = $self->prepare($statement); - $sth->execute(); - } - # Now the supporting evidence # should be stored from featureAdaptor my $sql = "insert into supporting_feature (exon_id, feature_id, feature_type) - values(?, ?, ?)"; - - my $sf_sth = $self->db->prepare($sql); + values(?, ?, ?)"; + + my $sf_sth = $self->prepare($sql); my $anaAdaptor = $self->db->get_AnalysisAdaptor(); my $dna_adaptor = $self->db->get_DnaAlignFeatureAdaptor(); my $pep_adaptor = $self->db->get_ProteinAlignFeatureAdaptor(); my $type; - my @exons = (); - if($exon->isa('Bio::EnsEMBL::StickyExon')) { - @exons = @{$exon->get_all_component_Exons}; - } else { - @exons = ($exon); - } - - foreach my $e (@exons) { - foreach my $sf (@{$e->get_all_supporting_features}) { - unless($sf->isa("Bio::EnsEMBL::BaseAlignFeature")){ - $self->throw("$sf must be an align feature otherwise" . - "it can't be stored"); - } - - #sanity check - eval { $sf->validate(); }; - if ($@) { - $self->warn("Supporting feature invalid. Skipping feature\n"); - next; - } - - $sf->contig($e->contig); - - if($sf->isa("Bio::EnsEMBL::DnaDnaAlignFeature")){ - $dna_adaptor->store($sf); - $type = 'dna_align_feature'; - }elsif($sf->isa("Bio::EnsEMBL::DnaPepAlignFeature")){ - $pep_adaptor->store($sf); - $type = 'protein_align_feature'; - } else { - $self->warn("Supporting feature of unknown type. Skipping : [$sf]\n"); - next; - } + foreach my $sf (@{$exon->get_all_supporting_features}) { + if(!$sf->isa("Bio::EnsEMBL::BaseAlignFeature")){ + throw("$sf must be an align feature otherwise" . + "it can't be stored"); + } - $sf_sth->execute($exonId, $sf->dbID, $type); + if($sf->isa("Bio::EnsEMBL::DnaDnaAlignFeature")){ + $dna_adaptor->store($sf); + $type = 'dna_align_feature'; + }elsif($sf->isa("Bio::EnsEMBL::DnaPepAlignFeature")){ + $pep_adaptor->store($sf); + $type = 'protein_align_feature'; + } else { + warning("Supporting feature of unknown type. Skipping : [$sf]\n"); + next; } + + $sf_sth->execute($exonId, $sf->dbID, $type); } # # Finally, update the dbID and adaptor of the exon (and any component exons) # to point to the new database # - foreach my $e (@exons) { - $e->dbID($exonId); - $e->adaptor($self); - } - - $exon->adaptor($self); - $exon->dbID($exonId); -} - - -=head2 get_stable_entry_info - Arg [1] : Bio::EnsEMBL::Exon $exon - Example : $exon_adaptor->get_stable_entry_info($exon); - Description: gets stable info for an exon. this is not usually done at - creation time for speed purposes, and can be lazy-loaded later - if it is needed.. - Returntype : none - Exceptions : none - Caller : Bio::EnsEMBL::Exon - -=cut - -sub get_stable_entry_info { - my ($self,$exon) = @_; + $original->adaptor($self); + $original->dbID($exonId); - if( !$exon || !ref $exon || !$exon->isa('Bio::EnsEMBL::Exon') ) { - $self->throw("Needs a exon object, not a $exon"); - } - if(!$exon->dbID){ - #$self->throw("can't fetch stable info with no dbID"); - return; - } - my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created), - UNIX_TIMESTAMP(modified), version - FROM exon_stable_id - WHERE exon_id = " . $exon->dbID); + return $exonId; +} - $sth->execute(); - # my @array = $sth->fetchrow_array(); - if( my $aref = $sth->fetchrow_arrayref() ) { - $exon->{'_stable_id'} = $aref->[0]; - $exon->{'_created'} = $aref->[1]; - $exon->{'_modified'} = $aref->[2]; - $exon->{'_version'} = $aref->[3]; - } - - return 1; -} =head2 remove @@ -565,8 +340,8 @@ sub remove { $sth = $self->prepare( "delete from supporting_feature where exon_id = ?" ); $sth->execute( $exon->dbID ); - # uhh, didnt know another way of resetting to undef ... - $exon->{dbID} = undef; + $exon->dbID(undef); + $exon->adaptor(undef); } =head2 list_dbIDs @@ -603,4 +378,271 @@ sub list_stable_ids { return $self->_list_dbIDs("exon_stable_id", "stable_id"); } +#_objs_from_sth +# +# Arg [1] : StatementHandle $sth +# Example : none +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of Exons +# Returntype : listref of Bio::EnsEMBL::Exons in target coordinate system +# Exceptions : none +# Caller : internal + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice, $keep_all) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + + my @exons; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my ( $exon_id, $seq_region_id, $seq_region_start, + $seq_region_end, $seq_region_strand, $phase, + $end_phase, $stable_id, $version ); + + $sth->bind_columns( \$exon_id, \$seq_region_id, + \$seq_region_start, + \$seq_region_end, \$seq_region_strand, \$phase, + \$end_phase, \$stable_id, \$version ); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + my $dest_slice_cs; + my $asma; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + $dest_slice_cs = $dest_slice->coord_system(); + $asma = $self->db->get_AssemblyMapperAdaptor(); + } + + FEATURE: while($sth->fetch()) { + my $slice = $slice_hash{"ID:".$seq_region_id}; + my $dest_mapper = $mapper; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + #obtain a mapper if none was defined, but a dest_seq_region was + if(!$dest_mapper && $dest_slice && + !$dest_slice_cs->equals($slice->coord_system)) { + $dest_mapper = $asma->fetch_by_CoordSystems($dest_slice_cs, + $slice->coord_system); + $asm_cs = $dest_mapper->assembled_CoordSystem(); + $cmp_cs = $dest_mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($dest_mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $dest_mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE if(!$keep_all); + } + } + + $slice = $dest_slice; + } + + #finally, create the new repeat feature + push @exons, Bio::EnsEMBL::Exon->new + ( '-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => $seq_region_strand, + '-adaptor' => $self, + '-slice' => $slice, + '-dbID' => $exon_id, + '-stable_id' => $stable_id, + '-version' => $version, + '-phase' => $phase, + '-end_phase' => $end_phase ) + + } + + return \@exons; +} + + + + + +=head2 get_stable_entry_info + + Arg [1] : Bio::EnsEMBL::Exon $exon + Example : $exon_adaptor->get_stable_entry_info($exon); + Description: gets stable info for an exon. this is not usually done at + creation time for speed purposes, and can be lazy-loaded later + if it is needed.. + Returntype : none + Exceptions : none + Caller : Bio::EnsEMBL::Exon + +=cut + +sub get_stable_entry_info { + my ($self,$exon) = @_; + + deprecated( "This method call shouldnt be necessary" ); + + if( !$exon || !ref $exon || !$exon->isa('Bio::EnsEMBL::Exon') ) { + $self->throw("Needs a exon object, not a $exon"); + } + if(!$exon->dbID){ + #$self->throw("can't fetch stable info with no dbID"); + return; + } + my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created), + UNIX_TIMESTAMP(modified), version + FROM exon_stable_id + WHERE exon_id = " . $exon->dbID); + + $sth->execute(); + + # my @array = $sth->fetchrow_array(); + if( my $aref = $sth->fetchrow_arrayref() ) { + $exon->{'_stable_id'} = $aref->[0]; + $exon->{'_created'} = $aref->[1]; + $exon->{'_modified'} = $aref->[2]; + $exon->{'_version'} = $aref->[3]; + } + + return 1; +} + +=head2 fetch_all_by_gene_id + + Description: DEPRECATED. This method should not be needed - Exons can + be fetched by Transcript. + +=cut + +sub fetch_all_by_gene_id { + my ( $self, $gene_id ) = @_; + my %exons; + my $hashRef; + my ( $currentId, $currentTranscript ); + + deprecated( "Hopefully this method is not needed any more. Exons should be fetched by Transcript" ); + + if( !$gene_id ) { + $self->throw("Gene dbID not defined"); + } + $self->{rchash} = {}; + my $query = qq { + SELECT + STRAIGHT_JOIN + e.exon_id + , e.contig_id + , e.contig_start + , e.contig_end + , e.contig_strand + , e.phase + , e.end_phase + , e.sticky_rank + FROM transcript t + , exon_transcript et + , exon e + WHERE t.gene_id = ? + AND et.transcript_id = t.transcript_id + AND e.exon_id = et.exon_id + ORDER BY t.transcript_id,e.exon_id + , e.sticky_rank DESC + }; + + my $sth = $self->prepare( $query ); + $sth->execute($gene_id); + + while( $hashRef = $sth->fetchrow_hashref() ) { + if( ! exists $exons{ $hashRef->{exon_id} } ) { + + my $exon = $self->_exon_from_sth( $sth, $hashRef ); + + $exons{$exon->dbID} = $exon; + } + } + delete $self->{rchash}; + + my @out = (); + + push @out, values %exons; + + return \@out; +} + + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/GeneAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/GeneAdaptor.pm index a341a55414..9666ce09ec 100644 --- a/modules/Bio/EnsEMBL/DBSQL/GeneAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/GeneAdaptor.pm @@ -1,29 +1,43 @@ -# EnsEMBL Gene reading writing adaptor for mySQL # # Copyright EMBL-EBI 2001 # # Author: Arne Stabenau -# based on +# based on # Elia Stupkas Gene_Obj -# +# # Date : 20.02.2001 # =head1 NAME -Bio::EnsEMBL::DBSQL::GeneAdaptor - MySQL Database queries to generate and store gens. +Bio::EnsEMBL::DBSQL::GeneAdaptor - A database aware adaptor responsible for the +retrieval and storage of Gene objects. =head1 SYNOPSIS -$gene_adaptor = $db_adaptor->get_GeneAdaptor(); + use Bio::EnsEMBL::DBSQL::DBAdaptor; + + $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + $gene_adaptor = $db->get_GeneAdaptor(); + + $gene = $gene_adaptor->fetch_by_dbID(1234); + + $gene = $gene_adaptor->fetch_by_stable_id('ENSG00000184129'); + + @genes = @{$gene_adaptor->fetch_all_by_external_name('BRCA2')}; + + $slice_adaptor = $db->get_SliceAdaptor; + $slice = $slice_adaptor->fetch_by_region('chromosome', '1', 1, 1000000); + @genes = @{$gene_adaptor->fetch_all_by_Slice($slice)}; + =head1 CONTACT - Arne Stabenau: stabenau@ebi.ac.uk - Elia Stupka : elia@ebi.ac.uk - Ewan Birney : birney@ebi.ac.uk +Contact the EnsEMBL development list for questions or information: +ensembl-dev@ebi.ac.uk -=head1 APPENDIX +=head1 METHODS =cut @@ -32,44 +46,66 @@ package Bio::EnsEMBL::DBSQL::GeneAdaptor; use strict; + +use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning ); + use Bio::EnsEMBL::DBSQL::SliceAdaptor; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::DBSQL::DBAdaptor; use Bio::EnsEMBL::Gene; -use Bio::EnsEMBL::Utils::Cache; #CPAN LRU cache use vars '@ISA'; -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); -my $SLICE_GENE_CACHE_SIZE = 3; -=head2 new - Arg [1] : list of arguments @args - Example : $gene_adaptor = new Bio::EnsEMBL::DBSQL::GeneAdaptor($db_adptr); - Description: Craetes a new GeneAdaptor object - Returntype : Bio::EnsEMBL::DBSQL::GeneAdaptor - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::DBAdaptor +# _tables +# Arg [1] : none +# Description: PROTECTED implementation of superclass abstract method +# returns the names, aliases of the tables to use for queries +# Returntype : list of listrefs of strings +# Exceptions : none +# Caller : internal -=cut +sub _tables { + my $self = shift; -sub new { - my($class, @args) = @_; + return ([ 'gene', 'g' ], + [ 'gene_description', 'gd' ], + [ 'gene_stable_id', 'gsi' ], + [ 'xref', 'x' ], + [ 'external_db' , 'exdb' ]); +} - $class = ref $class || $class; - #call superclass constructor - my $self = $class->SUPER::new(@args); +# _columns +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a list of columns to use for queries +# Returntype : list of strings +# Exceptions : none +# Caller : internal + +sub _columns { + my $self = shift; + + return qw( g.gene_id g.seq_region_id g.seq_region_start g.seq_region_end + g.seq_region_strand g.analysis_id g.type g.display_xref_id + gd.description gsi.stable_id gsi.version x.display_label + exdb.db_name exdb.status ); +} - #initialize tied hash cache - tie (%{$self->{'_slice_gene_cache'}}, - 'Bio::EnsEMBL::Utils::Cache', - $SLICE_GENE_CACHE_SIZE,); - return $self; +sub _left_join { + return ( [ 'gene_description', "gd.gene_id = g.gene_id" ], + [ 'gene_stable_id', "gsi.gene_id = g.gene_id" ], + [ 'xref', "x.xref_id = g.display_xref_id" ], + [ 'external_db', "exdb.external_db_id = x.external_db_id" ] ); } + + =head2 list_dbIDs Arg [1] : none @@ -91,8 +127,8 @@ sub list_dbIDs { Arg [1] : none Example : @stable_gene_ids = @{$gene_adaptor->list_stable_dbIDs()}; - Description: Gets an array of stable ids for all genes in the current db - Returntype : list of ints + Description: Gets an listref of stable ids for all genes in the current db + Returntype : reference to a list of strings Exceptions : none Caller : ? @@ -104,264 +140,82 @@ sub list_stable_ids { return $self->_list_dbIDs("gene_stable_id", "stable_id"); } -=head2 list_geneIds - - Arg [1] : none - Example : @gene_ids = $gene_adaptor->list_geneIds(); - Description: DEPRECATED; use list_dbIDs instead - Returntype : list of ints - Exceptions : none - Caller : ? - -=cut - -sub list_geneIds { - my ($self) = @_; - - $self->warn("list_geneIds is deprecated; use list_dbIDs instead"); - return $self->list_dbIDs(); -} - -=head2 list_stable_geneIds - - Arg [1] : list_stable_gene_ids - Example : @stable_ids = $gene_adaptor->list_stable_gene_ids(); - Description: DEPRECATED; use list_stable_dbIDs() instead. - Returntype : list of strings - Exceptions : none - Caller : ? - -=cut - -sub list_stable_geneIds { - my ($self) = @_; - - $self->warn("list_stable_geneIds is deprecated; use list_stable_dbIDs instead"); - return $self->list_stable_ids(); - -} - -=head2 fetch_by_dbID - - Arg [1] : int $geneId - the unique internal database id of the Gene to be retrieved - Arg [2] : int $chromosomal_coordinates (optional) - if defined, try to return chromosomal coordinates. - Example : $gene = $gene_adaptor->fetch_by_dbID - Description: Retrieves a gene object from the database using its unique - internal identifier. - Returntype : Bio::EnsEMBL::Gene in contig coordinates - Exceptions : thrown if no exons exist for the gene with dbID $geneId - Caller : general - -=cut - -sub fetch_by_dbID { - my ( $self, $geneId, $chr_coordinates ) = @_; - - my $exonAdaptor = $self->db->get_ExonAdaptor(); - my @exons = @{$exonAdaptor->fetch_all_by_gene_id( $geneId )}; - my %exonIds; - - # - # We assumme that if we get no exons this is a throwing situation - # - if( scalar( @exons ) == 0 ) { - $self->throw("No exons for gene $geneId, assumming no gene"); - } - - my $transcriptAdaptor = $self->db->get_TranscriptAdaptor(); - - # fetching all exons by gene - # fetching all transcripts - # adding the exons - # adding the transcripts - my %transcriptExons; - my %transcripts; - - my $query = qq{ - SELECT tscript.gene_id - , tscript.transcript_id - , e_t.exon_id, e_t.rank - , gene.analysis_id - , gene.type - , tscript.translation_id - FROM gene - , transcript tscript - , exon_transcript e_t - WHERE gene.gene_id = tscript.gene_id - AND tscript.transcript_id = e_t.transcript_id - AND gene.gene_id = $geneId - - ORDER BY tscript.gene_id - , tscript.transcript_id - , e_t.rank - }; - - my $sth = $self->prepare( $query ); - $sth->execute(); - my $ana; - my $first = 1; - my $gene; - - while( my @arr = $sth->fetchrow_array() ) { - # building a gene - if( $first ) { - $gene = Bio::EnsEMBL::Gene->new(); - $gene->adaptor($self); - $gene->dbID( $geneId ); - $ana = $self->db->get_AnalysisAdaptor->fetch_by_dbID($arr[4]); - $gene->analysis($ana); - $gene->type($arr[5]); - $first = 0; - } - - # store an array of exon ids for each transcript - if( !exists $transcriptExons{$arr[1]} ) { - $transcriptExons{$arr[1]} = []; - } - - push( @{$transcriptExons{$arr[1]}}, $arr[2] ); - $transcripts{$arr[1]} = $arr[6]; - } - - if( $first ) { - return undef; - } - - #discard duplicate exons, add analysis object to exons - foreach my $exon ( @exons ) { - $exon->analysis($ana); - $exonIds{$exon->dbID} = $exon; - } - - foreach my $transcriptId ( keys %transcripts ) { - # should be fetch_by_geneId .. - my $transcript = Bio::EnsEMBL::Transcript->new(); - $transcript->dbID( $transcriptId ); - $transcript->adaptor( $self->db->get_TranscriptAdaptor() ); - - # Test for truth because translation_id will be 0 if not set - # because column is NOT NULL in schema. - if (my $translation_id = $transcripts{$transcriptId}) { - $transcript->_translation_id($translation_id); - } - - foreach my $exonId ( @{$transcriptExons{$transcriptId}} ) { - - $transcript->add_Exon( $exonIds{$exonId} ); - } - # store also a type for the transcript - $transcript->type($gene->type); - $gene->add_Transcript( $transcript ); - } - - # if chromosomal coordinates are needed, transform with empty slice - - if( defined $chr_coordinates ) { - my $sa = $self->db->get_SliceAdaptor(); - my $empty_slice = Bio::EnsEMBL::Slice->new - ( - -empty => 1, - -adaptor => $sa - ); - $gene->transform( $empty_slice ); - } - - return $gene; -} =head2 fetch_by_stable_id - Arg [1] : string $id + Arg 1 : string $id The stable id of the gene to retrieve - Arg [2] : (optional) boolean $chr_coords - flag indicating genes should be returned in chromosomal - coords instead of contig coords. Example : $gene = $gene_adaptor->fetch_by_stable_id('ENSG00000148944'); - Description: Retrieves a gene object from the database via its stable id - Returntype : Bio::EnsEMBL::Gene in contig coordinates by default or in - chromosomal coords if the $chr_coords arg is set to 1. - Exceptions : thrown if no gene of stable_id $id exists in the database + Description: Retrieves a gene object from the database via its stable id. + The gene will be retrieved in its native coordinate system (i.e. + in the coordinate system it is stored in the database). It may + be converted to a different coordinate system through a call to + transform() or transfer(). If the gene or exon is not found + undef is returned instead. + Returntype : Bio::EnsEMBL::Gene in given coordinate system + Exceptions : if we cant get the gene in given coord system Caller : general =cut -sub fetch_by_stable_id{ - my ($self,$id, $chr_coords) = @_; +sub fetch_by_stable_id { + my ($self,$id) = @_; - my $sth = $self->prepare("SELECT gene_id - FROM gene_stable_id - WHERE stable_id = '$id'"); - $sth->execute; + #because of the way this query is constructed (with a left join to the + # gene_stable_id table), it is faster to do 2 queries, getting the gene_id + # in the first query - my ($dbID) = $sth->fetchrow_array(); + my $sth = $self->prepare("SELECT gene_id from gene_stable_id " . + "WHERE stable_id = ?"); + $sth->execute($id); - if( !defined $dbID ) { - $self->throw("No stable id with $id, cannot fetch"); - } + my ($dbID) = $sth->fetchrow_array(); - my $gene = $self->fetch_by_dbID($dbID); + return undef if(!$dbID); - if($chr_coords) { - #transform gene to chromosomal coords - my $slice_adaptor = $self->db->get_SliceAdaptor; - my $slice = new Bio::EnsEMBL::Slice(-empty => 1, - -adaptor => $slice_adaptor); - $gene->transform($slice); - } - - return $gene; + return $self->fetch_by_dbID($dbID); } =head2 fetch_by_exon_stable_id Arg [1] : string $id - The stable id of the gene to retrieve - Arg [2] : (optional) boolean $chr_coords - flag indicating genes should be returned in chromosomal - coords instead of contig coords. - Example : $gene = $gene_adaptor->fetch_by_exon_stable_id('ENSE00000148944'); - Description: Retrieves a gene object from the database via an exon stable id - Returntype : Bio::EnsEMBL::Gene in contig coordinates by default or in - chromosomal coords if the $chr_coords arg is set to 1. - Exceptions : thrown if no gene of stable_id $id exists in the database + The stable id of an exon of the gene to retrieve + Example : $gene = $gene_adptr->fetch_by_exon_stable_id('ENSE00000148944'); + Description: Retrieves a gene object from the database via an exon stable id. + The gene will be retrieved in its native coordinate system (i.e. + in the coordinate system it is stored in the database). It may + be converted to a different coordinate system through a call to + transform() or transfer(). If the gene or exon is not found + undef is returned instead. + Returntype : Bio::EnsEMBL::Gene (or undef) + Exceptions : none Caller : general =cut sub fetch_by_exon_stable_id{ - my ($self,$id, $chr_coords) = @_; + my ( $self, $id ) = @_; my $sth = $self->prepare( "SELECT t.gene_id FROM transcript as t, exon_transcript as et, exon_stable_id as esi - WHERE t.transcript_id = et.transcript_id and et.exon_id = esi.exon_id and esi.stable_id = '$id'"); - $sth->execute; + WHERE t.transcript_id = et.transcript_id + AND et.exon_id = esi.exon_id + AND esi.stable_id = ?"); + $sth->execute("$id"); my ($dbID) = $sth->fetchrow_array(); - warn( "GENE: $dbID\n" ); - if( !defined $dbID ) { - $self->throw("No stable id with $id, cannot fetch"); - } + return undef if(!defined($dbID)); - my $gene = $self->fetch_by_dbID($dbID); + my $gene = $self->fetch_by_dbID( $dbID ); - if($chr_coords) { - #transform gene to chromosomal coords - my $slice_adaptor = $self->db->get_SliceAdaptor; - my $slice = new Bio::EnsEMBL::Slice(-empty => 1, - -adaptor => $slice_adaptor); - $gene->transform($slice); - } - return $gene; - } +} @@ -370,11 +224,12 @@ sub fetch_by_exon_stable_id{ Arg [1] : string $domain the domain to fetch genes from - Arg [2] : (optional) boolean $empty_flag - true if lightweight genes are desired (for speed purposes) Example : my @genes = $gene_adaptor->fetch_all_by_domain($domain); Description: retrieves a listref of genes whose translation contain interpro - domain $domain. + domain $domain. The genes are returned in their native coord + system (i.e. the coord_system they are stored in). If the coord + system needs to be changed, then tranform + or transfer should be called on the individual objects returned. Returntype : list of Bio::EnsEMBL::Genes Exceptions : none Caller : domainview @@ -382,131 +237,47 @@ sub fetch_by_exon_stable_id{ =cut sub fetch_all_by_domain { - my ($self, $domain, $empty_flag) = @_; + my ($self, $domain) = @_; unless($domain) { - $self->throw("domain argument is required"); + throw("domain argument is required"); } - my $sth = $self->prepare("SELECT tr.gene_id - FROM interpro i, - protein_feature pf, - transcript tr - WHERE i.interpro_ac = ? - AND i.id = pf.hit_id - AND pf.translation_id = tr.translation_id - GROUP BY tr.gene_id"); - - $sth->execute($domain); - my @gene_ids = (); - my $gene_id; + my $sth = $self->prepare("SELECT tr.gene_id " . + "FROM interpro i, " . + " protein_feature pf, " . + " transcript tr, " . + " translation tl " . + "WHERE i.interpro_ac = ? " . + "AND i.id = pf.hit_id " . + "AND pf.translation_id = tl.translation_id ". + "AND tr.transcript_id = tl.transcript_id " . + "GROUP BY tr.gene_id"); - $sth->bind_columns(\$gene_id); - while($sth->fetch()) { - push @gene_ids, $gene_id; - } - - #may want to use proxy... - return $self->db->get_GeneAdaptor->fetch_all_by_gene_id_list(\@gene_ids, - $empty_flag); -} - - - -=head2 fetch_all_by_Slice - - Arg [1] : Bio::EnsEMBL::Slice $slice - the slice to fetch genes from - Arg [2] - Example : $genes = $gene_adaptor->fetch_all_by_Slice($slice); - Description: Retrieves all genes which are present on a slice - Returntype : listref of Bio::EnsEMBL::Genes in slice coordinates - Exceptions : none - Caller : Bio::EnsEMBL::Slice - -=cut - -sub fetch_all_by_Slice { - my ( $self, $slice, $logic_name ) = @_; - - my @out = (); - - $logic_name ||= ''; - - my $key = uc($slice->name .":" . $logic_name); - - #check the cache which uses the slice name as it key - if($self->{'_slice_gene_cache'}{$key}) { - return $self->{'_slice_gene_cache'}{$key}; - } - - my $mapper = $self->db->get_AssemblyMapperAdaptor->fetch_by_type - ( $slice->assembly_type() ); - - my @cids = $mapper->list_contig_ids( $slice->chr_name(), - $slice->chr_start(), - $slice->chr_end()); - - # no genes found so return - if ( scalar (@cids) == 0 ) { - return []; - } - - my $str = "(".join( ",",@cids ).")"; - - my $where = "WHERE e.contig_id in $str - AND et.exon_id = e.exon_id - AND et.transcript_id = t.transcript_id - AND g.gene_id = t.gene_id"; + $sth->execute($domain); - if($logic_name) { - #determine analysis id via logic_name - my $analysis = - $self->db->get_AnalysisAdaptor()->fetch_by_logic_name($logic_name); - unless(defined($analysis) && $analysis->dbID()) { - $self->warn("No analysis for logic name $logic_name exists"); - return []; - } - - my $analysis_id = $analysis->dbID; - $where .= " AND g.analysis_id = $analysis_id"; - } - - my $sql = " - SELECT distinct(t.gene_id) - FROM transcript t,exon_transcript et,exon e, gene g - $where"; - - my $sth = $self->db->prepare($sql); - $sth->execute; + my @array = @{$sth->fetchall_arrayref()}; + $sth->finish(); - while( my ($geneid) = $sth->fetchrow ) { - my $gene = $self->fetch_by_dbID( $geneid ); - my $newgene = $gene->transform( $slice ); + my @gene_ids = map {$_->[0]} @array; - if( $newgene->start() <= $slice->length() && - $newgene->end() >= 1 ) { - # only take the gene if its really overlapping the Slice - push( @out, $newgene ); - } - } - - #place the results in an LRU cache - $self->{'_slice_gene_cache'}{$key} = \@out; - - return \@out; + return $self->fetch_all_by_dbID_list(\@gene_ids); } =head2 fetch_by_transcript_id - Arg [1] : int $transid + Arg [1] : int $transid unique database identifier for the transcript whose gene should - be retrieved. - Example : $gene = $gene_adaptor->fetch_by_transcript_id($transcript); + be retrieved. The gene is returned in its native coord + system (i.e. the coord_system it is stored in). If the coord + system needs to be changed, then tranform or transfer should + be called on the returned object. undef is returned if the + gene or transcript is not found in the database. + Example : $gene = $gene_adaptor->fetch_by_transcript_id( 1241 ); Description: Retrieves a gene from the database via the database identifier - of one of its transcripts + of one of its transcripts. Returntype : Bio::EnsEMBL::Gene Exceptions : none Caller : ? @@ -514,26 +285,28 @@ sub fetch_all_by_Slice { =cut sub fetch_by_transcript_id { - my $self = shift; - my $transid = shift; + my ( $self, $trans_id ) = @_; # this is a cheap SQL call - my $sth = $self->prepare(" SELECT tr.gene_id - FROM transcript as tr - WHERE tr.transcript_id = $transid"); - $sth->execute; + my $sth = $self->prepare("SELECT tr.gene_id " . + "FROM transcript as tr " . + "WHERE tr.transcript_id = ?"); + $sth->execute($trans_id); my ($geneid) = $sth->fetchrow_array(); - if( !defined $geneid ) { - return undef; - } + + $sth->finish(); + + return undef if( !defined $geneid ); + my $gene = $self->fetch_by_dbID( $geneid ); return $gene; } + =head2 fetch_by_transcript_stable_id - Arg [1] : string $transid + Arg [1] : string $transid unique database identifier for the transcript whose gene should be retrieved. Example : none @@ -546,15 +319,15 @@ sub fetch_by_transcript_id { =cut sub fetch_by_transcript_stable_id { - my $self = shift; - my $transid = shift; + my ( $self, $trans_stable_id) = @_; # this is a cheap SQL call - my $sth = $self->prepare(" SELECT tr.gene_id - FROM transcript as tr, transcript_stable_id tcl - WHERE tcl.stable_id = \"$transid\" - AND tr.transcript_id = tcl.transcript_id"); - $sth->execute; + my $sth = $self->prepare( + "SELECT tr.gene_id " . + "FROM transcript as tr, transcript_stable_id tcl " . + "WHERE tcl.stable_id = ? " . + "AND tr.transcript_id = tcl.transcript_id"); + $sth->execute("$trans_stable_id"); my ($geneid) = $sth->fetchrow_array(); if( !defined $geneid ) { @@ -566,32 +339,36 @@ sub fetch_by_transcript_stable_id { -=head2 fetch_by_Peptide_id - Arg [1] : string $peptideid + +=head2 fetch_by_translation_stable_id + + Arg [1] : string $translation_stable_id the stable id of a translation of the gene that should be obtained - Example : $gene = $gene_adaptor->fetch_by_Peptide_id('ENSP00000278194'); - Description: retrieves a gene via the stable id of one of its translations - this method should be renamed, but for now it stays - Returntype : Bio::EnsEMBL::Gene in contig coordinates + Example : $gene = $gene_adaptor->fetch_by_translation_stable_id + ( 'ENSP00000278194' ); + Description: retrieves a gene via the stable id of one of its translations. + Returntype : Bio::EnsEMBL::Gene Exceptions : none Caller : geneview =cut -sub fetch_by_Peptide_id { - my $self = shift; - my $peptideid = shift; +sub fetch_by_translation_stable_id { + my ( $self, $translation_stable_id ) = @_; # this is a cheap SQL call - my $sth = $self->prepare(" SELECT tr.gene_id - FROM transcript as tr, - translation_stable_id as trs - WHERE trs.stable_id = '$peptideid' - AND trs.translation_id = tr.translation_id - "); - $sth->execute; + my $sth = $self->prepare + ("SELECT tr.gene_id " . + "FROM transcript as tr, " . + " translation as tl, " . + " translation_stable_id as trs " . + "WHERE trs.stable_id = ? " . + "AND trs.translation_id = tl.translation_id " . + "AND tr.transcript_id = tl.transcript_id"); + + $sth->execute("$translation_stable_id"); my ($geneid) = $sth->fetchrow_array(); if( !defined $geneid ) { @@ -602,106 +379,192 @@ sub fetch_by_Peptide_id { -=head2 fetch_by_maximum_DBLink - - Title : fetch_by_maximum_DBLink - Usage : $geneAdaptor->fetch_by_maximum_DBLink($ext_id) - Function: gets one gene out of the db with - Returns : gene object (with transcripts, exons) - Args : +=head2 fetch_all_by_external_name + Arg [1] : string $external_id + the external identifier for the gene to be obtained + Example : @genes = @{$gene_adaptor->fetch_all_by_external_name('BRCA2')} + Description: retrieves a list of genes with an external database + idenitifier $external_id. The genes returned are in their + native coordinate system. I.e. in the coordinate system they + are stored in the database in. If another coordinate system + is required then the Gene::transfer or Gene::transform method + can be used. + Returntype : listref of Bio::EnsEMBL::Genes + Exceptions : none + Caller : goview =cut -sub fetch_by_maximum_DBLink { - my $self = shift; - my $external_id = shift; - - my $genes=$self->fetch_all_by_DBEntry( $external_id ); - - my $biggest; - my $max=0; - my $size=scalar(@$genes); - if ($size > 0) { - foreach my $gene (@$genes) { - my $size = scalar(@{$gene->get_all_Exons}); - if ($size > $max) { - $biggest = $gene; - $max=$size; - } - } - return $biggest; - } - return; +sub fetch_all_by_external_name { + my ( $self, $external_id) = @_; + + my $entryAdaptor = $self->db->get_DBEntryAdaptor(); + + my @ids = $entryAdaptor->list_gene_ids_by_extids( $external_id ); + + return $self->fetch_all_by_dbID_list(\@ids); } -=head2 get_stable_entry_info + +=head2 fetch_all_alt_alleles Arg [1] : Bio::EnsEMBL::Gene $gene - Example : $gene_adaptor->get_stable_entry_info($gene); - Description: gets stable info for a gene. this is not usually done at - creation time for speed purposes, and can be lazy-loaded later - if it is needed.. - Returntype : none - Exceptions : none - Caller : Bio::EnsEMBL::Gene + Example : my @alt_genes = @{$gene_adaptor->fetch_all_alt_alleles($gene);} + foreach my $alt_gene (@alt_genes) { + print "Alternate allele: " . $alt_gene->stable_id() . "\n"; + } + Description: Retrieves genes which are alternate alleles to a provided gene. + Alternate alleles in Ensembl are genes which are similar and are + on an alternative haplotype of the same region. There are not + currently very many of these. This method will return a + reference to an empty list if no alternative alleles are found. + Returntype : reference to a list of genes + Exceptions : throw if incorrect arg provided + warning if gene arg does not have dbID + Caller : Gene::get_all_alt_alleles =cut -sub get_stable_entry_info { - my ($self,$gene) = @_; +sub fetch_all_alt_alleles { + my $self = shift; + my $gene = shift; - if( !defined $gene || !ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { - $self->throw("Needs a gene object, not a $gene"); + if(!ref($gene) || !$gene->isa('Bio::EnsEMBL::Gene')) { + throw('Bio::EnsEMBL::Gene argument is required'); } - my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created), - UNIX_TIMESTAMP(modified), version - FROM gene_stable_id - WHERE gene_id = ".$gene->dbID); - $sth->execute(); + my $gene_id = $gene->dbID(); - my @array = $sth->fetchrow_array(); - $gene->{'_stable_id'} = $array[0]; - $gene->{'_created'} = $array[1]; - $gene->{'_modified'} = $array[2]; - $gene->{'_version'} = $array[3]; - + if(!$gene_id) { + warning('Cannot retrieve alternate alleles for gene without dbID'); + return []; + } - return 1; + my $sth = $self->prepare("SELECT aa1.gene_id " . + "FROM alt_allele aa1, alt_allele aa2 " . + "WHERE aa1.alt_allele_id = aa2.alt_allele_id " . + "AND aa2.gene_id = ? " . + "AND aa1.gene_id <> ?"); + + $sth->execute($gene_id, $gene_id); + + my @alt_ids; + my $row; + while($row = $sth->fetchrow_arrayref()) { + push @alt_ids, $row->[0]; + } + $sth->finish(); + + if(@alt_ids) { + return $self->fetch_all_by_dbID_list(\@alt_ids); + } + + return []; + } -=head2 fetch_all_by_DBEntry - Arg [1] : in $external_id - the external identifier for the gene to be obtained - Example : @genes = @{$gene_adaptor->fetch_all_by_DBEntry($ext_id)} - Description: retrieves a list of genes with an external database - idenitifier $external_id - Returntype : listref of Bio::EnsEMBL::DBSQL::Gene in contig coordinates - Exceptions : none +=head2 store_alt_alleles + + Arg [1] : reference to list of Bio::EnsEMBL::Genes $genes + Example : $gene_adaptor->store_alt_allele([$gene1, $gene2, $gene3]); + Description: This method creates a group of alternative aleles (i.e. locus) + from a set of genes. The genes should be genes from alternate + haplotypes which are similar. The genes must already be stored + in this database. At least 2 genes must be in the list reference + provided. + Returntype : none + Exceptions : throw on incorrect arguments + throw on sql error (e.g. duplicate unique id) Caller : ? =cut -sub fetch_all_by_DBEntry { +sub store_alt_alleles { my $self = shift; - my $external_id = shift; - my @genes = (); + my $genes = shift; - my $entryAdaptor = $self->db->get_DBEntryAdaptor(); + if(!ref($genes) eq 'ARRAY') { + throw('List reference of Bio::EnsEMBL::Gene argument expected.'); + } + + my $num_genes = scalar(@$genes); + + if($num_genes < 2) { + throw("At least 2 genes must be provided to construct alternate alleles."); + } + + return if(!@$genes); + + # + #insert the first gene seperately in order to get a unique identifier for + #the set of alleles + # + my $gene = $genes->[0]; + + if(!ref($gene) || !$gene->isa('Bio::EnsEMBL::Gene')) { + throw('List reference of Bio::EnsEMBL::Gene argument expected.'); + } + + my $gene_id = $gene->dbID(); + + if(!$gene_id) { + throw("Genes must have dbIDs in order to construct alternate alleles."); + } + my $sth = $self->prepare("INSERT INTO alt_allele (gene_id) VALUES (?)"); + $sth->execute($gene->dbID()); + + my $alt_allele_id = $sth->{'mysql_insertid'}; + $sth->finish(); + + # + # Insert all subsequent alt alleles using the alt_allele identifier + # from the first insert + # + + $sth = $self->prepare("INSERT INTO alt_allele (alt_allele_id, gene_id) " . + "VALUES (?,?)"); + + for(my $i = 1; $i < $num_genes; $i++) { + my $gene = $genes->[$i]; - my @ids = $entryAdaptor->list_gene_ids_by_extids($external_id); - foreach my $gene_id ( @ids ) { - my $gene = $self->fetch_by_dbID( $gene_id ); - if( $gene ) { - push( @genes, $gene ); + if(!ref($gene) || !$gene->isa('Bio::EnsEMBL::Gene')) { + throw("List reference of Bio::EnsEMBL::Gene argument expected"); + } + + $gene_id = $gene->dbID(); + + if(!$gene_id) { + #This is an error but we have already inserted into the database + #delete the already inserted entries to restore the state of the + #database + $sth->finish(); + $sth->prepare("DELETE FROM alt_allele WHERE alt_allele_id = ?"); + $sth->execute($alt_allele_id); + $sth->finish(); + throw('Genes must have dbIDs in order to construct alternate alleles.'); + } + + eval { + $sth->execute($alt_allele_id, $gene_id); + }; + + if($@) { + #an error occured, revert the db to the previous state + $sth = $self->prepare("DELETE FROM alt_allele WHERE alt_allele_id = ?"); + $sth->execute($alt_allele_id); + $sth->finish(); + throw("An SQL error occured inserting alternate alleles:\n$@"); } } - return \@genes; + + $sth->finish(); + + return; } @@ -718,120 +581,131 @@ sub fetch_all_by_DBEntry { =cut sub store { - my ($self,$gene) = @_; - my %done; - - my $transcriptAdaptor = $self->db->get_TranscriptAdaptor(); - - if( !defined $gene || !ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { - $self->throw("Must store a gene object, not a $gene"); - } - if( !defined $gene->analysis ) { - $self->throw("Genes must have an analysis object!"); - } + my ( $self, $gene ) = @_; - my $aA = $self->db->get_AnalysisAdaptor(); - my $analysisId = $aA->exists( $gene->analysis() ); + if(!ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { + throw("Must store a gene object, not a $gene"); + } - if( defined $analysisId ) { - $gene->analysis()->dbID( $analysisId ); - } else { - $analysisId = $self->db->get_AnalysisAdaptor()->store( $gene->analysis ); - } + my $db = $self->db(); - if ( !defined $gene || ! $gene->isa('Bio::EnsEMBL::Gene') ) { - $self->throw("$gene is not a EnsEMBL gene - not writing!"); - } - - my $trans_count = scalar(@{$gene->get_all_Transcripts}); - my $type = ""; + if($gene->is_stored($db)) { + return $gene->dbID(); + } - if (defined($gene->type)) { - $type = $gene->type; - } + #force lazy-loading of transcripts and exons, and ensure coords are correct + $gene->recalculate_coordinates(); - # assuming that the store is used during the Genebuil process, set - # the display_xref_id to 0. This ought to get re-set during the protein - # pipeline run. This probably update to the gene table has yet to be - # implemented. - my $xref_id = 0; + my $analysis = $gene->analysis(); + throw("Genes must have an analysis object.") if(!defined($analysis)); - my $sth2 = $self->prepare("INSERT INTO gene(type, analysis_id, - transcript_count, - display_xref_id) - VALUES(?,?,?,?)"); - $sth2->execute("$type", $analysisId, $trans_count, $xref_id); + my $analysis_id; + if($analysis->is_stored($db)) { + $analysis_id = $analysis->dbID(); + } else { + $analysis_id = $db->get_AnalysisAdaptor->store($analysis); + } - my $gene_dbID = $sth2->{'mysql_insertid'}; + my $type = $gene->type || ""; + + my $original = $gene; + my $seq_region_id; + ($gene, $seq_region_id) = $self->_pre_store($gene); + + my $store_gene_sql = + "INSERT INTO gene " . + "SET type = ?, " . + "analysis_id = ?, " . + "seq_region_id = ?, " . + "seq_region_start = ?, " . + "seq_region_end = ?, " . + "seq_region_strand = ? "; + + my $sth = $self->prepare( $store_gene_sql ); + $sth->execute( + "$type", + $analysis_id, + $seq_region_id, + $gene->start(), + $gene->end(), + $gene->strand() + ); + $sth->finish(); + + my $gene_dbID = $sth->{'mysql_insertid'}; + # + # store stable ids if they are available + # if (defined($gene->stable_id)) { - if (!defined($gene->created) || - !defined($gene->modified) || - !defined($gene->version)) { - $self->throw("Trying to store incomplete stable id information for gene"); - } - my $statement = "INSERT INTO gene_stable_id(gene_id," . - "version, stable_id, created, modified)". - " VALUES(" . $gene_dbID . "," . - $gene->version . "," . - "'" . $gene->stable_id . "'," . - "FROM_UNIXTIME(".$gene->created."),". - "FROM_UNIXTIME(".$gene->modified."))"; - my $sth = $self->prepare($statement); - $sth->execute(); - } + my $statement = "INSERT INTO gene_stable_id + SET gene_id = ?, + stable_id = ?, + version = ?"; - # - # store the gene description associated with this gene if there is one - # - my $desc = $gene->description(); - if(defined($desc)) { - my $sth = $self->prepare("INSERT INTO gene_description " . - " SET gene_id = ?, " . - " description = ?" ); - $sth->execute($gene_dbID, $desc); + $sth = $self->prepare($statement); + $sth->execute( $gene_dbID, $gene->stable_id(), $gene->version() ); $sth->finish(); } + + # + # store the gene description associated with this gene if there is one + # + my $desc = $gene->description(); + if(defined($desc)) { + $sth = $self->prepare("INSERT INTO gene_description " . + " SET gene_id = ?, " . + " description = ?" ); + $sth->execute($gene_dbID, $desc); + $sth->finish(); + } + # # store the dbentries associated with this gene # - my $dbEntryAdaptor = $self->db->get_DBEntryAdaptor(); + my $dbEntryAdaptor = $db->get_DBEntryAdaptor(); foreach my $dbe ( @{$gene->get_all_DBEntries} ) { $dbEntryAdaptor->store( $dbe, $gene_dbID, "Gene" ); } - # - # Update the genes display xref if it is set - # - my $display_xref = $gene->display_xref; - if($display_xref) { - if(my $dbe_id = $dbEntryAdaptor->exists($display_xref)) { - my $dispxref_sth = $self->prepare('UPDATE gene SET display_xref_id = ? - WHERE gene_id = ?'); - $dispxref_sth->execute($dbe_id, $gene_dbID); + + # we allow transcripts not to share equal exons and instead have copies + # For the database we still want sharing though, to have easier time with + # stable ids. So we need to have a step to merge exons together before store + my %exons; + + foreach my $trans ( @{$gene->get_all_Transcripts} ) { + foreach my $e ( @{$trans->get_all_Exons} ) { + my $key = $e->hashkey(); + + if( exists $exons{ $key } ) { + $trans->swap_exons( $e, $exons{$key} ); + } else { + $exons{$key} = $e; + } } } - - # write exons transcripts and exon_transcript table - my $trans = $gene->get_all_Transcripts; - #force lazy loading of translations before new exon dbIDs are set - map {$_->translation} @$trans; + my $transcript_adaptor = $db->get_TranscriptAdaptor(); - foreach my $t ( @$trans ) { - $transcriptAdaptor->store($t,$gene_dbID ); - } + foreach my $t ( @{$gene->get_all_Transcripts()} ) { + $transcript_adaptor->store($t,$gene_dbID ); + } - $gene->adaptor( $self ); - $gene->dbID( $gene_dbID ); - - return $gene->dbID; + #set the adaptor and dbID on the original passed in gene not the transfered + #copy + $original->adaptor( $self ); + $original->dbID( $gene_dbID ); + + return $gene_dbID; } + + =head2 remove Arg [1] : Bio::EnsEMBL::Gene $gene @@ -856,12 +730,16 @@ sub remove { $sth->execute( $gene->dbID ); $sth= $self->prepare( "delete from gene_stable_id where gene_id = ? " ); $sth->execute( $gene->dbID ); + $sth = $self->prepare( "delete from gene_description where gene_id = ?" ); + $sth->execute( $gene->dbID() ); + my $transcriptAdaptor = $self->db->get_TranscriptAdaptor(); foreach my $trans ( @{$gene->get_all_Transcripts()} ) { $transcriptAdaptor->remove($trans,$gene); } - $gene->{'_dbID'} = undef; + $gene->dbID(undef); + $gene->adaptor(undef); } @@ -885,14 +763,16 @@ sub get_Interpro_by_geneid { my $sql=" SELECT i.interpro_ac, x.description - FROM transcript t, + FROM transcript t, + translation tl, protein_feature pf, interpro i, - xref x, + xref x, gene_stable_id gsi WHERE gsi.stable_id = '$gene' AND t.gene_id = gsi.gene_id - AND t.translation_id = pf.translation_id + AND tl.transcript_id = t.transcript_id + AND tl.translation_id = pf.translation_id AND i.id = pf.hit_id AND i.interpro_ac = x.dbprimary_acc"; @@ -915,84 +795,288 @@ sub get_Interpro_by_geneid { -=head2 get_description - Arg [1] : int $dbID - the database identifier of the gene whose description should be - obtained - Example : $description = $gene_adaptor->get_description(1234); - Description: Retrieves a description for a gene which is created during - the gene build and stored in the the gene_description table. - In the future this method should check the family database - for a description if one does not exist in the core, however, - this has not been implemented yet. - Returntype : string - Exceptions : thrown if $dbId arg is not defined - Caller : geneview +# deleteObj +# Arg [1] : none +# Example : none +# Description: Responsible for cleaning up this objects references to other +# objects so that proper garbage collection can occur. +# Returntype : none +# Exceptions : none +# Caller : DBConnection::DeleteObj + +sub deleteObj { + my $self = shift; + + #print STDERR "\t\tGeneAdaptor::deleteObj\n"; + + #call superclass destructor + $self->SUPER::deleteObj(); + +} + + + + + +=head2 update + + Arg [1] : Bio::EnsEMBL::Gene + Example : $gene_adaptor->update($gene); + Description: Updates the type, analysis and display_xref of a gene in the + database. + Returntype : None + Exceptions : thrown if the $gene is not a Bio::EnsEMBL::Gene + Caller : general =cut -sub get_description { - my ($self, $dbID) = @_; +sub update { + my ($self,$gene) = @_; + my $update = 0; - if( !defined $dbID ) { - $self->throw("must call with dbID"); + if( !defined $gene || !ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { + throw("Must update a gene object, not a $gene"); + } + + my $update_gene_sql = " + UPDATE gene + SET type = ?, + analysis_id = ?, + display_xref_id = ? + WHERE gene_id = ?"; + + my $display_xref = $gene->display_xref(); + my $display_xref_id; + + if( defined $display_xref && $display_xref->dbID() ) { + $display_xref_id = $display_xref->dbID(); + } else { + $display_xref_id = undef; + } + + my $sth = $self->prepare( $update_gene_sql ); + $sth->execute($gene->type(), + $gene->analysis->dbID(), + $display_xref_id, + $gene->dbID() + ); + + # maybe should update stable id or gene description ??? +} + + +# _objs_from_sth + +# Arg [1] : StatementHandle $sth +# Example : none +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of Genes +# Returntype : listref of Bio::EnsEMBL::Genes in target coordinate system +# Exceptions : none +# Caller : internal + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db->get_AnalysisAdaptor(); + my $dbEntryAdaptor = $self->db()->get_DBEntryAdaptor(); + + my @genes; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my ( $gene_id, $seq_region_id, $seq_region_start, $seq_region_end, + $seq_region_strand, $analysis_id, $type, $display_xref_id, + $gene_description, $stable_id, $version, $external_name, $external_db, + $external_status ); + + $sth->bind_columns( \$gene_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, \$analysis_id, \$type, + \$display_xref_id, \$gene_description, \$stable_id, \$version, + \$external_name, \$external_db, \$external_status ); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); } - my $sth = $self->prepare("SELECT description - FROM gene_description - WHERE gene_id = ?"); - $sth->execute($dbID); - my @array = $sth->fetchrow_array(); - return $array[0]; + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } + + FEATURE: while($sth->fetch()) { + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); + + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + + $slice = $dest_slice; + } + + my $display_xref; + + if( $display_xref_id ) { + $display_xref = Bio::EnsEMBL::DBEntry->new_fast + ({ 'dbID' => $display_xref_id, + 'adaptor' => $dbEntryAdaptor, + 'display_id' => $external_name, + 'dbname' => $external_db + }); + $display_xref->status( $external_status ); + } + + #finally, create the new gene + push @genes, Bio::EnsEMBL::Gene->new + ( '-analysis' => $analysis, + '-type' => $type, + '-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => $seq_region_strand, + '-adaptor' => $self, + '-slice' => $slice, + '-dbID' => $gene_id, + '-stable_id' => $stable_id, + '-version' => $version, + '-description' => $gene_description, + '-external_name' => $external_name, + '-external_db' => $external_db, + '-external_status' => $external_status, + '-display_xref' => $display_xref ); + } + + return \@genes; } -=head2 deleteObj +=head2 fetch_by_maximum_DBLink + + Description: DEPRECATED - use fetch_all_by_external_name instead - Arg [1] : none - Example : none - Description: Responsible for cleaning up this objects references to other - objects so that proper garbage collection can occur. - Returntype : none - Exceptions : none - Caller : DBConnection::DeleteObj =cut -sub deleteObj { - my $self = shift; - - #print STDERR "\t\tGeneAdaptor::deleteObj\n"; +sub fetch_by_maximum_DBLink { + my ( $self, $external_id ) = @_; - #call superclass destructor - $self->SUPER::deleteObj(); - - #flush the cache - %{$self->{'_slice_gene_cache'}} = (); + my $genes=$self->fetch_all_by_DBEntry( $external_id); + + my $biggest; + my $max=0; + my $size=scalar(@$genes); + if ($size > 0) { + foreach my $gene (@$genes) { + my $size = scalar(@{$gene->get_all_Exons}); + if ($size > $max) { + $biggest = $gene; + $max=$size; + } + } + return $biggest; + } + return; } - =head2 get_display_xref - Arg [1] : Bio::EnsEMBL::Gene $gene - retrieve display_xref for this gene - Example : none - Description: Retrieves the display_xref for a gene. - Returntype : Bio::EnsEMBL::DBEntry - Exceptions : thrown if $dbId arg is not defined - Caller : general + Description: DEPRECATED use $gene->display_xref =cut sub get_display_xref { my ($self, $gene ) = @_; + deprecate( "display xref should retrieved from Gene object directly" ); + if( !defined $gene ) { - $self->throw("Must call with a Gene object"); + throw("Must call with a Gene object"); } my $sth = $self->prepare("SELECT e.db_name, @@ -1024,54 +1108,95 @@ sub get_display_xref { } +=head2 get_description + + Description: DEPRECATED, use gene->get_description + +=cut + +sub get_description { + my ($self, $dbID) = @_; + + deprecate( "Gene description should be loaded on gene retrieval. Use gene->get_description()" ); + + if( !defined $dbID ) { + throw("must call with dbID"); + } + + my $sth = $self->prepare("SELECT description + FROM gene_description + WHERE gene_id = ?"); + $sth->execute($dbID); + my @array = $sth->fetchrow_array(); + return $array[0]; +} -=head2 update - Arg [1] : Bio::EnsEMBL::Gene - Example : $gene_adaptor->update($gene); - Description: Updates a gene in the database - Returntype : None - Exceptions : thrown if the $gene is not a Bio::EnsEMBL::Gene - warn if trying to update the number of attached transcripts. This - is a far more complex process and is not yet implemented. - warn if the method is called on a gene that does not exist in the - database. - Caller : general + + +=head2 fetch_by_Peptide_id + + Description: DEPRECATED, use fetch_by_translation_stable_id() =cut -sub update { - my ($self,$gene) = @_; - my $update = 0; +sub fetch_by_Peptide_id { + my ( $self, $translation_stable_id) = @_; - if( !defined $gene || !ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { - $self->throw("Must update a gene object, not a $gene"); - } + deprecate( "Please use better named fetch_by_translation_stable_id" ); - my $xref_id; - if($gene->display_xref && $gene->display_xref->dbID) { - $xref_id = $gene->display_xref->dbID; - } else { - $xref_id = 0; - } + $self->fetch_by_translation_stable_id($translation_stable_id); +} + + +=head2 get_stable_entry_info + + Description: DEPRECATED use $gene->stable_id instead + +=cut - my $tcount = scalar @{$gene->get_all_Transcripts}; +sub get_stable_entry_info { + my ($self,$gene) = @_; + + deprecated( "stable id info is loaded on default, no lazy loading necessary" ); + + if( !defined $gene || !ref $gene || !$gene->isa('Bio::EnsEMBL::Gene') ) { + throw("Needs a gene object, not a $gene"); + } + + my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created), + UNIX_TIMESTAMP(modified), version + FROM gene_stable_id + WHERE gene_id = ".$gene->dbID); + $sth->execute(); + + my @array = $sth->fetchrow_array(); + $gene->{'stable_id'} = $array[0]; + $gene->{'created'} = $array[1]; + $gene->{'modified'} = $array[2]; + $gene->{'version'} = $array[3]; + + return 1; +} - my $sth = $self->prepare("UPDATE gene - SET type = ?, - analysis_id = ?, - display_xref_id = ?, - transcript_count = ? - WHERE gene_id = ?"); - $sth->execute($gene->type, - $gene->analysis->dbID, - $xref_id, - $tcount, - $gene->dbID); + +=head2 fetch_all_by_DBEntry + + Description: DEPRECATED - Use fetch_all_by_external_name instead + +=cut + +sub fetch_all_by_DBEntry { + my $self = shift; + deprecate('This method has been deprecated because there was another.' . + "Method which did exactly the same thing.\n" . + 'Use fetch_all_by_external_name instead.'); + return $self->fetch_all_by_external_name(@_); } + 1; __END__ diff --git a/modules/Bio/EnsEMBL/DBSQL/KaryotypeBandAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/KaryotypeBandAdaptor.pm index bdde897e01..4b2264d683 100644 --- a/modules/Bio/EnsEMBL/DBSQL/KaryotypeBandAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/KaryotypeBandAdaptor.pm @@ -1,7 +1,6 @@ # # Ensembl module for Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor # -# Cared for by James Stalker <jws@sanger.ac.uk> # # Copyright James Stalker # @@ -16,10 +15,17 @@ Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor =head1 SYNOPSIS $kary_adaptor = $db_adaptor->get_KaryotypeBandAdaptor(); -foreach $band ( $kary_adaptor->fetch_by_Slice($slice) ) { +foreach $band ( @{$kary_adaptor->fetch_all_by_Slice($slice)} ) { #do something with band } +$band = $kary_adaptor->fetch_by_dbID($id); + +my @bands = @{$kary_adaptor->fetch_all_by_chr_name('X')}; + +my $band = $kary_adaptor->fetch_by_chr_band('4','q23'); + + =head1 DESCRIPTION Database adaptor to provide access to KaryotypeBand objects @@ -42,81 +48,93 @@ methods are usually preceded with a _ =cut -# Let the code begin... +package Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor; +use strict; -package Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor; use vars qw(@ISA); + use Bio::EnsEMBL::KaryotypeBand; -use strict; +use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate); +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; -# Object preamble - inherits from Bio::EnsEMBL::BaseAdaptor +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +#_tables +# +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the tables to query +# Returntype : string +# Exceptions : none +# Caller : internal -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +sub _tables { + my $self = shift; -# inherit new from BaseAdaptor + return (['karyotype','k']) +} -=head2 fetch_all_by_Slice +#_columns - Arg [1] : Bio::EnsEMBL::Slice $slice - The slice object covering the region to retrieve bands from - Example : @bands = @{$karyotype_band_adaptor->fetch_all_by_Slice($slice)}; - Description: Fetches karyotype band object from the database for the - region given by the slice. - Returntype : listref of Bio::EnsEMBL::KaryotypeBand objects in - Slice coordinates - Exceptions : none - Caller : Bio::EnsEMBL::Slice::get_KarytypeBands +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the columns to query +# Returntype : list of strings +# Exceptions : none +# Caller : internal -=cut +sub _columns { + my $self = shift; + + #warning _objs_from_sth implementation depends on ordering + return qw ( + k.karyotype_id + k.seq_region_id + k.seq_region_start + k.seq_region_end + k.band + k.stain ); +} + + +sub _objs_from_sth { + my ($self, $sth) = @_; + my $db = $self->db(); + my $slice_adaptor = $db->get_SliceAdaptor(); + + my @features; + my %slice_cache; -sub fetch_all_by_Slice { - my ($self,$slice) = @_; - - my $start = $slice->chr_start(); - my $end = $slice->chr_end(); - my $chr_name = $slice->chr_name(); - - my $chr_adaptor = $self->db()->get_ChromosomeAdaptor(); - my $chr_id = $chr_adaptor->fetch_by_chr_name($chr_name)->dbID(); - - my $sth = $self->prepare(" SELECT chr_start, - chr_end, - band, - stain - FROM karyotype - WHERE chromosome_id = $chr_id - AND $start <= chr_end - AND $end > chr_start - order by chr_start - "); - - $sth->execute; - my @bands = (); - my ($chr_start,$chr_end,$band,$stain) = (); - - while (($chr_start,$chr_end,$band,$stain) = $sth->fetchrow_array()){ - last unless defined $band; - my $band_obj = Bio::EnsEMBL::KaryotypeBand->new(); - $band_obj->name($band); - $band_obj->chr_name($chr_name); - - #convert to slice coordinates - $band_obj->start($chr_start - $start + 1); - $band_obj->end($chr_end - $start + 1); - - $band_obj->stain($stain); - push (@bands, $band_obj); + my($karyotype_id,$seq_region_id,$seq_region_start,$seq_region_end, + $band,$stain); + + $sth->bind_columns(\$karyotype_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$band, \$stain); + + while($sth->fetch()) { + my $slice = $slice_cache{$seq_region_id} ||= + $slice_adaptor->fetch_by_seq_region_id($seq_region_id); + + push @features, Bio::EnsEMBL::KaryotypeBand->new + (-START => $seq_region_start, + -END => $seq_region_end, + -SLICE => $slice, + -ADAPTOR => $self, + -DBID => $karyotype_id, + -NAME => $band, + -STAIN => $stain); } - return \@bands; + return \@features; } + =head2 fetch_all_by_chr_name Arg [1] : string $chr_name @@ -134,36 +152,12 @@ sub fetch_all_by_Slice { sub fetch_all_by_chr_name { my ($self,$chr_name) = @_; - my $chr_adaptor = $self->db()->get_ChromosomeAdaptor(); - my $chr_id = $chr_adaptor->fetch_by_chr_name($chr_name)->dbID(); - - my $sth = $self->prepare( - "SELECT chr_start, chr_end, stain, band - FROM karyotype - WHERE chromosome_id = ? - ORDER BY chr_start" - ); - $sth->execute( $chr_id ); - - my ($chr_start,$chr_end,$stain, $band) = (); - my @out = (); - - while(($chr_start, $chr_end, $stain, $band) = $sth->fetchrow_array()) { - last unless defined $chr_start; - - my $band_obj = Bio::EnsEMBL::KaryotypeBand->new(); - $band_obj->name($band); - $band_obj->chr_name($chr_name); - $band_obj->start($chr_start); - $band_obj->end($chr_end); - $band_obj->stain($stain); - - push @out, $band_obj; - } - - return \@out; -} + throw('Chromosome name argument expected') if(!$chr_name); + my $slice = + $self->db->get_SliceAdaptor->fetch_by_region('chromosome', $chr_name); + return $self->fetch_all_by_Slice($slice); +} =head2 fetch_by_chr_band @@ -172,46 +166,59 @@ sub fetch_all_by_chr_name { Name of the chromosome from which to retrieve the band Arg [2] : string $band The name of the band to retrieve from the specified chromosome - Example : $band = $kary_adaptor->fetch_all_by_chr_band('4', 'q23'); - Description: Fetches the karyotype band object from the database - for the given chromosome and band name. - Returntype : Bio::EnsEMBL::KaryotypeBand in - chromosomal (assembly) coordinates + Example : @bands = @{$kary_adaptor->fetch_all_by_chr_band('4', 'q23')}; + Description: Fetches the karyotype band object from the database + for the given chromosome and band name. If no such band + exists, undef is returned instead. This function uses fuzzy + matching of the band name. For example the bands 'q23.1' and + 'q23.4' could be matched by fetch_all_by_chr_band('20', 'q23'); + Returntype : Bio::EnsEMBL::KaryotypeBand in chromosomal coordinates. Exceptions : none Caller : general =cut -sub fetch_by_chr_band { - my ($self,$chr_name, $band) = @_; - - $self->throw("Need band name") unless defined $band; +sub fetch_all_by_chr_band { + my ($self, $chr_name, $band) = @_; - my $chr_adaptor = $self->db()->get_ChromosomeAdaptor(); - - my $chr_id = $chr_adaptor->fetch_by_chr_name($chr_name)->dbID(); + throw('Chromosome name argument expected') if(!$chr_name); + throw('Band argument expected') if(!$band); - my $sth = $self->prepare( - "SELECT chr_start, chr_end, stain - FROM karyotype - WHERE band = ? AND chromosome_id = ?"); + my $slice = $self->db->get_SliceAdaptor->fetch_by_region('chromosome', + $chr_name); - $sth->execute( $band, $chr_id ); + my $constraint = "k.band like '$band%'"; + return $self->fetch_all_by_Slice_constraint($slice,$constraint); +} - my ($chr_start,$chr_end,$stain) = $sth->fetchrow_array; - return undef unless defined $chr_start; - my $band_obj = Bio::EnsEMBL::KaryotypeBand->new(); - $band_obj->name($band); - $band_obj->chr_name($chr_name); - $band_obj->start($chr_start); - $band_obj->end($chr_end); - $band_obj->stain($stain); +sub fetch_by_chr_band { + my $self = shift; + deprecate('Use fetch_all_by_chr_band instead.'); - return $band_obj; + my ($band) = @{$self->fetch_all_by_chr_band(@_)}; + return $band; } +=head2 list_dbIDs + + Arg [1] : none + Example : @kary_ids = @{$karyotype_band_adaptor->list_dbIDs()}; + Description: Gets an array of internal ids for all karyotype bands in the + current db + Returntype : reference to a list of ints + Exceptions : none + Caller : ? + +=cut + +sub list_dbIDs { + my $self = shift; + + return $self->_list_dbIDs("karyotype"); +} + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/MetaContainer.pm b/modules/Bio/EnsEMBL/DBSQL/MetaContainer.pm index 10d268dc0a..2779787da4 100644 --- a/modules/Bio/EnsEMBL/DBSQL/MetaContainer.pm +++ b/modules/Bio/EnsEMBL/DBSQL/MetaContainer.pm @@ -24,22 +24,20 @@ =head1 CONTACT -=head1 APPENDIX + Post questions to the EnsEMBL development list: ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... - package Bio::EnsEMBL::DBSQL::MetaContainer; use vars qw(@ISA); use strict; use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); + use Bio::Species; @@ -48,7 +46,6 @@ use Bio::Species; # new() is inherited from Bio::EnsEMBL::DBSQL::BaseAdaptor - =head2 list_value_by_key Arg [1] : string $key @@ -64,7 +61,7 @@ use Bio::Species; sub list_value_by_key { my ($self,$key) = @_; my @result; - + $self->{'cache'} ||= {}; if( exists $self->{'cache'}->{$key} ) { return $self->{'cache'}->{$key}; @@ -112,29 +109,33 @@ sub store_key_value { return; } -=head2 update_key_value + +=head2 delete_key Arg [1] : string $key - a key under which $value should be updated - Arg [2] : string $value - the value to update in the meta table - Example : $meta_container->update_key_value($key, $value); - Description: update a value in the meta container, accessable by a key + The key which should be removed from the database. + Example : $meta_container->delete_key('sequence.compression'); + Description: Removes all rows from the meta table which have a meta_key + equal to $key. Returntype : none Exceptions : none - Caller : ? + Caller : dna_compress script, general =cut -sub update_key_value { - my ( $self, $key, $value ) = @_; +sub delete_key { + my ($self, $key) = @_; - my $sth = $self->prepare( "UPDATE meta SET meta_value = ? WHERE meta_key = ?" ); + my $sth = $self->prepare("DELETE FROM meta WHERE meta_key = ?"); + $sth->execute($key); + $sth->finish(); + + delete $self->{'cache'}->{$key}; - my $res = $sth->execute( $value, $key ); return; } + # add well known meta info get-functions below =head2 get_Species @@ -197,83 +198,33 @@ sub get_taxonomy_id { } -=head2 get_default_assembly_name - - Arg [1] : none - Example : $assembly = $meta_container->get_default_assembly_name(); - Description: Retrieves the default assembly name for this database from the - meta container - Returntype : string - Exceptions : none - Caller : ? - -=cut - -sub get_default_assembly_name { - my $self = shift; - - my $arrRef = $self->list_value_by_key('assembly.name' ); - - if( @$arrRef ) { - return $arrRef->[0]; - } else { - return undef; - } -} - -=head2 get_default_assembly_version - - Arg [1] : none - Example : $assembly = $meta_container->get_default_assembly_version(); - Description: Retrieves the default assembly version for this database from the - meta container - Returntype : string - Exceptions : none - Caller : ? - -=cut - -sub get_default_assembly_version { - my $self = shift; - - my $arrRef = $self->list_value_by_key('assembly.version' ); - - if( @$arrRef ) { - return $arrRef->[0]; - } else { - return undef; - } -} - =head2 get_default_assembly - Arg [1] : none - Example : $assembly = $meta_container->get_default_assembly(); - Description: Retrieves the default assembly for this database from the - meta container - Returntype : string - Exceptions : none - Caller : ? +Description: DEPRECATED. Use CoordSystemAdaptor::fetch_top_level instead to + obtain the assembly version. =cut sub get_default_assembly { my $self = shift; - my $arrRef = $self->list_value_by_key('assembly.default' ); + deprecate('Use CoordSystemAdaptor::fetch_top_level instead'); - if( @$arrRef ) { - return $arrRef->[0]; - } else { - return undef; - } + my $cs = $self->db->get_CoordSystemAdaptor->fetch_top_level(); + + return $cs->version(); } +# +# TBD This method should be removed/deprecated +# sub get_max_assembly_contig { my $self = shift; + deprecate('This method should either be fixed or removed'); + my $value_list = $self->list_value_by_key( "assembly.maxcontig" ); if( @$value_list ) { return $value_list->[0]; @@ -283,5 +234,6 @@ sub get_max_assembly_contig { } + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/MiscFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/MiscFeatureAdaptor.pm new file mode 100644 index 0000000000..432df679e9 --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/MiscFeatureAdaptor.pm @@ -0,0 +1,474 @@ +# +# EnsEMBL module for Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor +# +# Copyright EMBL/EBI +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor + +=head1 SYNOPSIS + +$mfa = $database_adaptor->get_MiscFeatureAdaptor(); + +my $misc_feat = $mfa->fetch_by_dbID(1234); +my @misc_feats = @{$mfa->fetch_all_by_Slice($slice)}; + +my @misc_clones = @{$mfa->fetch_all_by_Slice_and_set_code('cloneset')}; + + +=head1 DESCRIPTION + +This is an adaptor for the retrieval and storage of MiscFeatures. Misc +Features are extremely generic features that can be added with minimal +effort to the database. Currently misc features are used to describe +the locations of clone sets and tiling path information, but arbitrary +features can be stored. Misc features are grouped into sets and can be +fetched according to their grouping using the fetch_all_by_Slice_and_set_code +and fetch_all_by_set_code methods. MiscFeatures may belong to more +than one set. + + +=head1 CONTACT + +Post questions to the EnsEMBL developer list: ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ + +=cut + +package Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor; + +use strict; +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::MiscFeature; +use Bio::EnsEMBL::MiscSet; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); + + + +=head2 fetch_all_by_Slice_and_set_code + + Arg [1] : Bio::EnsEMBL::Slice $slice + A slice representing the region to fetch from + Arg [2] : string $set_code + The code of the set to retrieve features from + Example : @feats = @{$mfa->fetch_all_by_Slice_and_set_code('cloneset')}; + Description: Retrieves a set of MiscFeatures which have a particular set code + and which lie in a particular region. All features with the + provide set code and which overlap the given slice are returned. + Returntype : listref of Bio::EnsEMBL::MiscFeatures + Exceptions : throw if set_code is not provided + warning if no set for provided set code exists + Caller : general + +=cut + +sub fetch_all_by_Slice_and_set_code { + my $self = shift; + my $slice = shift; + my $set_code = shift; + + throw('Set code argument is required.') if(!$set_code); + + my $msa = $self->db->get_MiscSetAdaptor(); + my $set = $msa->fetch_by_code($set_code); + + if(!$set) { + warning("No misc_set with code [$set_code] exists.\n" . + "Returning empty list."); + return []; + } + + my $constraint = " mfms.misc_set_id = " . $set->dbID(); + return $self->fetch_all_by_Slice_constraint($slice, $constraint); +} + + + +=head2 fetch_all_by_attribute_type_value + + Arg [1] : string $attrib_type_code + The code of the attribute type to fetch features for + Arg [2] : (optional) string $attrib_value + The value of the attribute to fetch features for + Example : + #get all misc features that have an embl accession + @feats = @{$mfa->fetch_all_by_attrib_type_value('embl_acc')}; + #get the misc feature with synonym 'AL014121' + ($feat)=@{$mfa->fetch_all_by_attrib_type_value('synonym','AL014121'); + Description: Retrieves MiscFeatures which have a particular attribute. + If the attribute value argument is also provided only features + which have the attribute AND a particular value are returned. + The features are returned in their native coordinate system + (i.e. the coordinate system that they are stored in). + Returntype : listref of Bio::EnsEMBL::MiscFeatures + Exceptions : throw if attrib_type code arg is not provided + Caller : general + +=cut + +sub fetch_all_by_attribute_type_value { + my $self = shift; + my $attrib_type_code = shift; + my $attrib_value = shift; + + throw("Attrib type code argument is required.") if(!$attrib_type_code); + + # + # Need to do 2 queries so that all of the ids come back with the features. + # The problem with adding attrib constraints to filter the misc_features + # which come back is that not all of the attributes will come back + # + + my $sql = "SELECT DISTINCT ma.misc_feature_id " . + "FROM misc_attrib ma, attrib_type at " . + "WHERE ma.attrib_type_id = at.attrib_type_id " . + "AND at.code = ?"; + + my @bind_vals = ($attrib_type_code); + + if($attrib_value) { + push @bind_vals, $attrib_value; + $sql .= " AND ma.value = ?"; + } + + my $sth = $self->prepare($sql); + $sth->execute(@bind_vals); + + my @ids = map {$_->[0]} @{$sth->fetchall_arrayref()}; + + $sth->finish(); + + #construct constraints from the list of ids. Split ids into + #groups of 1000 to ensure that the query is not too big + my @constraints; + while(@ids) { + my @subset = splice(@ids, 0, 1000); + if(@subset == 1) { + push @constraints, "mf.misc_feature_id = $subset[0]"; + } else { + my $id_str = join(',',@subset); + push @constraints, "mf.misc_feature_id in ($id_str)"; + } + } + + my @results; + foreach my $constraint (@constraints) { + push @results, @{$self->generic_fetch($constraint)}; + } + + return \@results; +} + + +#_tables +# +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the tables to query +# Returntype : string +# Exceptions : none +# Caller : internal + + +sub _tables { + my $self = shift; + + return (['misc_feature', 'mf'], + ['misc_feature_misc_set', 'mfms'], + ['misc_attrib', 'ma'], + ['attrib_type', 'at']); +} + + +#_columns + +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the columns to query +# Returntype : list of strings +# Exceptions : none +# Caller : internal + +sub _columns { + my $self = shift; + + #warning _objs_from_sth implementation depends on ordering + return qw (mf.misc_feature_id + mf.seq_region_id + mf.seq_region_start + mf.seq_region_end + mf.seq_region_strand + ma.value + at.code + mfms.misc_set_id); +} + + + +# _default_where_clause + +# Arg [1] : none +# Example : none +# Description: Overrides superclass method to provide an additional +# table joining constraint before the SQL query is performed. +# Returntype : string +# Exceptions : none +# Caller : generic_fetch + +sub _default_where_clause { + my $self = shift; + + return ''; +} + + +sub _left_join { + my $self = shift; + + return( + ['misc_feature_misc_set','mf.misc_feature_id = mfms.misc_feature_id'], + ['misc_attrib', 'mf.misc_feature_id = ma.misc_feature_id'], + ['attrib_type','ma.attrib_type_id = at.attrib_type_id']); +} + + +sub _final_clause { + my $self = shift; + + return "order by mf.misc_feature_id"; +} + + +# _objs_from_sth + +# Arg [1] : StatementHandle $sth +# Example : none +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of MiscFeatures from a +# hashref generated from an SQL query +# Returntype : listref of Bio::EnsEMBL::MiscFeatures +# Exceptions : none +# Caller : internal + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $msa = $self->db->get_MiscSetAdaptor(); + + my @features; + my %ms_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my($misc_feature_id, $seq_region_id, $seq_region_start, $seq_region_end, + $seq_region_strand, $attrib_value, $attrib_type_code, $misc_set_id); + + $sth->bind_columns( \$misc_feature_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, + \$attrib_value, \$attrib_type_code,\$misc_set_id); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } + + my $current = -1; + my $throw_away = -1; + my $feat; + my $feat_misc_sets; + my $feat_attribs; + my $seen_attribs; + + FEATURE: while($sth->fetch()) { + #if this feature is not being used, skip all rows related to it + next if($throw_away == $misc_feature_id); + + if($current == $misc_feature_id) { + #still working on building up attributes and sets for current feature + + #if there is a misc_set, add it to the current feature + if($misc_set_id) { + my $misc_set = $ms_hash{$misc_set_id} ||= + $msa->fetch_by_dbID($misc_set_id); + #doesn't matter if it is added twice in same slot + $feat_misc_sets->{$misc_set->{'code'}} = $misc_set; + } + + #if there is a new attribute add it to the current feature + if($attrib_value && $attrib_type_code && + !$seen_attribs->{"$attrib_type_code:$attrib_value"}) { + $feat_attribs->{$attrib_type_code} ||= []; + push @{$feat_attribs->{$attrib_type_code}}, $attrib_value; + $seen_attribs->{"$attrib_type_code:$attrib_value"} = 1; + } + + } else { + if($feat) { + #start working on a new feature, discard references to last one + $feat = {}; + $feat_attribs = {}; + $feat_misc_sets = {}; + $seen_attribs = {}; + } + + $current = $misc_feature_id; + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || + ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + #flag this feature as one to throw away + $throw_away = $misc_feature_id; + next FEATURE; + } + } + $slice = $dest_slice; + } + + if($misc_set_id) { + #get the misc_set object + my $misc_set = $ms_hash{$misc_set_id} ||= + $msa->fetch_by_dbID($misc_set_id); + $feat_misc_sets->{$misc_set->{'code'}} = $misc_set; + } + + if($attrib_value && $attrib_type_code) { + $feat_attribs->{$attrib_type_code} = [$attrib_value]; + $seen_attribs->{"$attrib_type_code:$attrib_value"} = 1; + } + + $feat = Bio::EnsEMBL::MiscFeature->new_fast + ({'start' => $seq_region_start, + 'end' => $seq_region_end, + 'strand' => $seq_region_strand, + 'slice' => $slice, + 'adaptor' => $self, + 'dbID' => $misc_feature_id, + 'attributes' => $feat_attribs, + 'sets' => $feat_misc_sets}); + push @features, $feat; + } + } + + return \@features; +} + + + +=head2 list_dbIDs + + Arg [1] : none + Example : @feature_ids = @{$misc_feature_adaptor->list_dbIDs()}; + Description: Gets an array of internal ids for all misc_features in the current db + Returntype : list of ints + Exceptions : none + Caller : ? + +=cut + +sub list_dbIDs { + my ($self) = @_; + + return $self->_list_dbIDs("misc_feature"); +} + +1; + + + + + diff --git a/modules/Bio/EnsEMBL/DBSQL/MiscSetAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/MiscSetAdaptor.pm new file mode 100644 index 0000000000..10c0dadec0 --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/MiscSetAdaptor.pm @@ -0,0 +1,182 @@ +# +# Ensembl module for Bio::EnsEMBL::DBSQL::MiscSetAdaptor +# +# Copyright (c) 2003 EnsEMBL +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::DBSQL::MiscSetAdaptor - Provides database interaction for +Bio::EnsEMBL::MiscSet objects. + + +=head1 SYNOPSIS + + #$db is a Bio::EnsEMBL::DBSQL::DBAdaptor object: + $msa = $db->get_MiscSetAdaptor(); + + $misc_set = $msa->fetch_by_dbID(1234); + + $misc_set = $msa->fetch_by_code('clone'); + + +=head1 DESCRIPTION + +This class provides database interactivity for MiscSet objects. MiscSets +are used to classify MiscFeatures into groups. + +=head1 CONTACT + +This modules is part of the Ensembl project http://www.ensembl.org + +Questions can be posted to the ensembl-dev mailing list: +ensembl-dev@ebi.ac.uk + +=cut + +use strict; +use warnings; + +package Bio::EnsEMBL::DBSQL::MiscSetAdaptor; + +use Bio::EnsEMBL::MiscSet; +use Bio::EnsEMBL::DBSQL::BaseAdaptor; + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); + + +=head2 new + + Arg [...] : Superclass args. See Bio::EnsEMBL::DBSQL::BaseAdaptor + Description: Instantiates a Bio::EnsEMBL::DBSQL::MiscSetAdaptor and + caches the contents of the MiscSet table. + Returntype : Bio::EnsEMBL::MiscSet + Exceptions : none + Caller : MiscFeatureAdaptor + +=cut + + +sub new { + my $class = shift; + + my $self = $class->SUPER::new(@_); + + #cache the entire contents of the misc set table + #the table is small and it removes the need to repeatedly query the + #table or join to the table + + $self->{'_id_cache'} = {}; + $self->{'_code_cache'} = {}; + + my $sth = $self->prepare + ('SELECT misc_set_id, code, name, description, max_length FROM misc_set'); + + $sth->execute(); + + my ($dbID, $code, $name, $desc, $max_len); + $sth->bind_columns(\$dbID, \$code, \$name, \$desc, \$max_len); + + while($sth->fetch()) { + my $ms = + Bio::EnsEMBL::MiscSet->new($dbID, $self, $code, $name, $desc, $max_len); + + $self->{'_id_cache'}->{$dbID} = $ms; + $self->{'_code_cache'}->{lc($code)} = $ms; + } + + $sth->finish(); + + return $self; +} + + + + +=head2 fetch_all + + Arg [1] : none + Example : foreach my $ms (@{$msa->fetch_all()}) { + print $ms->code(), ' ', $ms->name(), "\n"; + } + Description: Retrieves every MapSet defined in the DB + Returntype : listref of Bio::EnsEMBL::MapSets + Exceptions : none + Caller : general + +=cut + +sub fetch_all { + my $self = shift; + + my @all = values(%{$self->{'_id_cache'}}); + + return \@all; +} + + + +=head2 fetch_by_dbID + + Arg [1] : int $dbID + The internal identifier of the misc set to retrieve + Example : my $ms = $msa->fetch_by_dbID($dbID); + Description: Retrieves a misc set via its internal identifier + Returntype : Bio::EnsEMBL::MiscSet + Exceptions : none + Caller : general + +=cut + +sub fetch_by_dbID { + my $self = shift; + my $dbID = shift; + + return $self->{'_id_cache'}->{$dbID}; +} + + + +=head2 fetch_by_code + + Arg [1] : string $code + The unique code of the MiscSet to retrieve + Example : my $ms = $msa->fetch_by_code('clone'); + Description: Retrieves a MiscSet via its code + Returntype : Bio::EnsEMBL::MiscSet + Exceptions : none + Caller : general + +=cut + +sub fetch_by_code { + my $self = shift; + my $code = shift; + + return $self->{'_code_cache'}->{lc($code)}; +} + + + +# +# Called during db destruction to clean up internal cache structures +# that result in circular references +# +sub deleteObj { + my $self = shift; + + #break circular db <-> adaptor references + $self->SUPER::deleteObj(); + + #break circular object <-> adaptor references + delete $self->{'_id_cache'}; + delete $self->{'_code_cache'}; +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/PredictionExonAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/PredictionExonAdaptor.pm new file mode 100644 index 0000000000..4d76523f0b --- /dev/null +++ b/modules/Bio/EnsEMBL/DBSQL/PredictionExonAdaptor.pm @@ -0,0 +1,409 @@ +#EnsEMBL PredictionExon reading writing adaptor for mySQL +# +# Copyright EMBL-EBI 2003 +# +# Author: Arne Stabenau +# +# + +=head1 NAME + +Bio::EnsEMBL::DBSQL::PredictionExonAdaptor - Performs database interaction for +PredictionExons. + +=head1 SYNOPSIS + +$pea = $database_adaptor->get_PredictionExonAdaptor(); +$pexon = $pea->fetch_by_dbID(); + +my $slice = $database_adaptor->get_SliceAdaptor->fetch_by_region('X',1,1e6); + +my @pexons = @{$pea->fetch_all_by_Slice($slice)}; + + +=head1 CONTACT + + Post questions to the EnsEMBL development list ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + + The rest of the documentation describes object methods. + +=cut + + +package Bio::EnsEMBL::DBSQL::PredictionExonAdaptor; + +use vars qw( @ISA ); +use strict; + + +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::PredictionExon; +use Bio::EnsEMBL::Utils::Exception qw( warning throw deprecate ); + +@ISA = qw( Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor ); + + +#_tables +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns the names, aliases of the tables to use for queries +# Returntype : list of listrefs of strings +# Exceptions : none +# Caller : internal +# + +sub _tables { + return ([ 'prediction_exon', 'pe' ] ); +} + + + +#_columns +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a list of columns to use for queries +# Returntype : list of strings +# Exceptions : none +# Caller : internal + +sub _columns { + my $self = shift; + + return qw( pe.prediction_exon_id + pe.seq_region_id + pe.seq_region_start + pe.seq_region_end + pe.seq_region_strand + pe.start_phase + pe.score + pe.p_value ); +} + + +# _final_clause +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a default end for the SQL-query (ORDER BY) +# Returntype : string +# Exceptions : none +# Caller : internal + +sub _final_clause { + return "ORDER BY pe.prediction_transcript_id, pe.exon_rank"; +} + + +=head2 fetch_all_by_PredictionTranscript + + Arg [1] : Bio::EnsEMBL::PredcitionTranscript $transcript + Example : none + Description: Retrieves all Exons for the Transcript in 5-3 order + Returntype : listref Bio::EnsEMBL::Exon on Transcript slice + Exceptions : none + Caller : Transcript->get_all_Exons() + +=cut + +sub fetch_all_by_PredictionTranscript { + my ( $self, $transcript ) = @_; + my $constraint = "pe.prediction_transcript_id = ".$transcript->dbID(); + + my $keep_all = 1; #keep transcripts that are off end of slice + return $self->generic_fetch( $constraint, undef, + $transcript->slice(), $keep_all); +} + + + +=head2 store + + Arg [1] : Bio::EnsEMBL::PredictionExon $exon + The exon to store in this database + Arg [2] : int $prediction_transcript_id + The internal identifier of the prediction exon that that this + exon is associated with. + Arg [3] : int $rank + The rank of the exon in the transcript (starting at 1) + Example : $pexon_adaptor->store($pexon, 1211, 2); + Description: Stores a PredictionExon in the database + Returntype : none + Exceptions : thrown if exon does not have a slice attached + or if $exon->start, $exon->end, $exon->strand, or $exon->phase + are not defined or if $exon is not a Bio::EnsEMBL::PredictionExon + Caller : general + +=cut + +sub store { + my ( $self, $pexon, $pt_id, $rank ) = @_; + + if(!ref($pexon) || !$pexon->isa('Bio::EnsEMBL::PredictionExon') ) { + throw("Expected PredictionExon argument"); + } + + throw("Expected PredictionTranscript id argument.") if(!$pt_id); + throw("Expected rank argument.") if(!$rank); + + my $db = $self->db(); + + if($pexon->is_stored($db)) { + warning('PredictionExon is already stored in this DB.'); + return $pexon->dbID(); + } + + if( ! $pexon->start || ! $pexon->end || + ! $pexon->strand || ! defined $pexon->phase ) { + throw("PredictionExon does not have all attributes to store.\n" . + "start, end, strand and phase attributes must be set."); + } + + #maintain reference to original passed-in prediction exon + my $original = $pexon; + my $seq_region_id; + ($pexon, $seq_region_id) = $self->_pre_store($pexon); + + my $sth = $db->prepare + ("INSERT into prediction_exon (prediction_transcript_id, exon_rank, " . + "seq_region_id, seq_region_start, seq_region_end, " . + "seq_region_strand, start_phase, score, p_value) " . + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? )"); + + $sth->execute( $pt_id, + $rank, + $seq_region_id, + $pexon->start(), + $pexon->end(), + $pexon->strand(), + $pexon->phase(), + $pexon->score(), + $pexon->p_value()); + + my $dbID = $sth->{'mysql_insertid'}; + + #set the adaptor and dbID of the object they passed in + $original->dbID($dbID); + $original->adaptor($self); + + return $dbID; +} + + + +=head2 remove + + Arg [1] : Bio::EnsEMBL::PredictionExon $exon + the exon to remove from the database + Example : $exon_adaptor->remove($exon); + Description: Removes an exon from the database + Returntype : none + Exceptions : none + Caller : general + +=cut + +sub remove { + my $self = shift; + my $pexon = shift; + + my $db = $self->db(); + + if(!$pexon->is_stored($db)) { + warning('PredictionExon is not in this DB - not removing'); + return undef; + } + + my $sth = $self->prepare( "delete from exon where exon_id = ?" ); + $sth->execute( $pexon->dbID ); + + $pexon->dbID(undef); + $pexon->adaptor(undef); +} + + + +=head2 list_dbIDs + + Arg [1] : none + Example : @exon_ids = @{$exon_adaptor->list_dbIDs()}; + Description: Gets an array of internal ids for all exons in the current db + Returntype : list of ints + Exceptions : none + Caller : ? + +=cut + +sub list_dbIDs { + my ($self) = @_; + + return $self->_list_dbIDs("prediction_exon"); +} + + + +#_objs_from_sth + +# Arg [1] : Hashreference $hashref +# Example : none +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of Genes +# Returntype : listref of Bio::EnsEMBL::Genes in target coordinate system +# Exceptions : none +# Caller : internal +# + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice, $keep_all) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + my $sa = $self->db()->get_SliceAdaptor(); + + my @exons; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my($prediction_exon_id,$seq_region_id, + $seq_region_start, $seq_region_end, $seq_region_strand, + $start_phase, $score, $p_value); + + $sth->bind_columns(\$prediction_exon_id,\$seq_region_id, + \$seq_region_start, \$seq_region_end, \$seq_region_strand, + \$start_phase, \$score, \$p_value); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + my $dest_slice_cs; + my $asma; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + $dest_slice_cs = $dest_slice->coord_system; + $asma = $self->db->get_AssemblyMapperAdaptor(); + } + + FEATURE: while($sth->fetch()) { + my $slice = $slice_hash{"ID:".$seq_region_id}; + my $dest_mapper = $mapper; + + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + #obtain a mapper if none was defined, but a dest_seq_region was + if(!$dest_mapper && $dest_slice && + !$dest_slice_cs->equals($slice->coord_system)) { + $dest_mapper = $asma->fetch_by_CoordSystems($dest_slice_cs, + $slice->coord_system); + $asm_cs = $dest_mapper->assembled_CoordSystem(); + $cmp_cs = $dest_mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($dest_mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $dest_mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE if(!$keep_all); + } + } + + $slice = $dest_slice; + } + + #finally, create the new PredictionExon + push @exons, Bio::EnsEMBL::PredictionExon->new + ( '-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => $seq_region_strand, + '-adaptor' => $self, + '-slice' => $slice, + '-dbID' => $prediction_exon_id, + '-phase' => $start_phase, + '-score' => $score, + '-p_value' => $p_value); + } + + return \@exons; +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/PredictionTranscriptAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/PredictionTranscriptAdaptor.pm index 0275658ebb..e6be382e46 100644 --- a/modules/Bio/EnsEMBL/DBSQL/PredictionTranscriptAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/PredictionTranscriptAdaptor.pm @@ -7,8 +7,8 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor - -MySQL Database queries to load and store PredictionExons +Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor - +Performs database interaction related to PredictionTranscripts =head1 SYNOPSIS @@ -17,7 +17,7 @@ $pta = $database_adaptor->get_PredictionTranscriptAdaptor(); #get a slice on a region of chromosome 1 $sa = $database_adaptor->get_SliceAdaptor(); -$slice = $sa->fetch_by_chr_start_end('1', 100000, 200000); +$slice = $sa->fetch_by_region('x', 100000, 200000); #get all the prediction transcripts from the slice region $prediction_transcripts = @{$pta->fetch_all_by_Slice($slice)}; @@ -34,90 +34,63 @@ use vars qw( @ISA ); use strict; use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; -use Bio::EnsEMBL::DBSQL::DBAdaptor; use Bio::EnsEMBL::DBSQL::AnalysisAdaptor; use Bio::EnsEMBL::PredictionTranscript; +use Bio::EnsEMBL::Utils::Exception qw(deprecate throw warning); @ISA = qw( Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor ); -=head2 _tables - - Arg [1] : none - Example : none - Description: Implements abstract superclass method to define the table used - to retrieve prediction transcripts from the database - Returntype : string - Exceptions : none - Caller : generic_fetch - -=cut +# _tables +# +# Arg [1] : none +# Example : none +# Description: Implements abstract superclass method to define the table used +# to retrieve prediction transcripts from the database +# Returntype : string +# Exceptions : none +# Caller : generic_fetch sub _tables { my $self = shift; - return ['prediction_transcript', 'p']; + return ['prediction_transcript', 'pt']; } +# _columns -=head2 _columns - - Arg [1] : none - Example : none - Description: Implements abstract superclass method to define the columns - retrieved in database queries used to create prediction - transcripts. - Returntype : list of strings - Exceptions : none - Caller : generic_fetch - -=cut +# Arg [1] : none +# Example : none +# Description: Implements abstract superclass method to define the columns +# retrieved in database queries used to create prediction +# transcripts. +# Returntype : list of strings +# Exceptions : none +# Caller : generic_fetch +# sub _columns { my $self = shift; - return qw( p.prediction_transcript_id - p.contig_id - p.contig_start - p.contig_end - p.contig_strand - p.start_phase - p.exon_rank - p.score - p.p_value - p.analysis_id - p.exon_count); + return qw( pt.prediction_transcript_id + pt.seq_region_id + pt.seq_region_start + pt.seq_region_end + pt.seq_region_strand + pt.analysis_id); } - -=head2 _final_clause - - Arg [1] : none - Example : none - Description: Overrides superclass method to provide an additional table - joining coinstraint before the SQL query is performed. - Returntype : string - Exceptions : none - Caller : generic_fetch - -=cut - -sub _final_clause { - my $self = shift; - - return 'order by p.prediction_transcript_id, p.exon_rank'; -} - =head2 fetch_by_stable_id Arg [1] : string $stable_id The stable id of the transcript to retrieve -Example : $trans = $trans_adptr->fetch_by_stable_id('3.10.190'); +Example : $trans = $trans_adptr->fetch_by_stable_id('GENSCAN00000001234'); Description: Retrieves a prediction transcript via its stable id. Note that - the stable id is not actually stored in the database and is - calculated upon retrieval as the contig.start.end of the + the stable id is not actually stored in the database and is + calculated upon retrieval as the logic_name of the transcripts + analysis concatted with the '0'-left-padded internal identifier. prediction transcript Returntype : Bio::EnsEMBL::PredictionTranscript Caller : general @@ -126,31 +99,17 @@ Caller : general sub fetch_by_stable_id { my $self = shift; - my $id = shift; + my $stable_id = shift; - $self->throw('ID argument is required') if(!$id); + throw('Stable_id argument expected') if(!$stable_id); - #strip the start/end off the end of the id to get the contig name - my @components = split(/\./, $id); - pop(@components); - pop(@components); + #take the last 11 digits + my $dbID = substr($stable_id, -11); - my $contig_name = join('.', @components); - my $contig = $self->db->get_RawContigAdaptor->fetch_by_name($contig_name); + #cast to an integer (remove lpadded 0s): + $dbID += 0; - $self->throw("unknown contig [$contig_name] in identifier [$id]") - if(!$contig); - - # - # Retrieve all the prediction transcripts on the contig it is known to be on. - # Return the one found with the matching 'id' - # - foreach my $pt (@{$self->fetch_all_by_RawContig($contig)}) { - return $pt if($id eq $pt->stable_id); - } - - #prediction transcript does not exist - $self->throw("No prediction transcipt exists with stable id [$id]"); + return $self->fetch_by_dbID($dbID); } @@ -178,176 +137,142 @@ sub fetch_by_stable_id { =cut sub _objs_from_sth { - my ($self, $sth, $mapper, $slice) = @_; - - my @out = (); - - my ($prediction_transcript_id, - $contig_id, $contig_start, $contig_end, $contig_strand, - $start_phase, $exon_rank, $score, $p_value, $analysis_id, - $exon_count ); - - $sth->bind_columns(\$prediction_transcript_id, - \$contig_id, \$contig_start, \$contig_end, \$contig_strand, - \$start_phase, \$exon_rank, \$score, \$p_value, - \$analysis_id,\$exon_count); - - my $rca = $self->db->get_RawContigAdaptor; - my $aa = $self->db->get_AnalysisAdaptor; - - my ($analysis, $contig, $pre_trans, $ptid, $on_slice_flag, $last_end, - $chr, $start, $end, $strand, - $slice_start, $slice_end, $slice_strand, - $exon, $exon_start, $exon_end, $exon_strand, - $stable_start, $stable_end, $stable_ctg, - $transcript_slice_start, $transcript_slice_end ); - my (%analysis_hash, %contig_hash); - - if($slice) { - $slice_start = $slice->chr_start; - $slice_end = $slice->chr_end; - $slice_strand = $slice->strand; + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db()->get_AnalysisAdaptor(); + + my @ptranscripts; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my ($prediction_transcript_id, + $seq_region_id, + $seq_region_start, + $seq_region_end, + $seq_region_strand, + $analysis_id ); + + $sth->bind_columns(\$prediction_transcript_id, + \$seq_region_id, + \$seq_region_start, + \$seq_region_end, + \$seq_region_strand, + \$analysis_id ); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); } - $on_slice_flag = 0; - - my $prev_exon; - my $already_merged; - - while($sth->fetch) { - #create a new transcript for each new prediction transcript id - unless(defined $pre_trans && $ptid == $prediction_transcript_id) { - $pre_trans = Bio::EnsEMBL::PredictionTranscript->new; - - $ptid = $prediction_transcript_id; - $pre_trans->dbID($ptid); - - unless($analysis = $analysis_hash{$analysis_id}) { - $analysis = $aa->fetch_by_dbID($analysis_id); - $analysis_hash{$analysis_id} = $analysis; - } - - $pre_trans->analysis($analysis); - $pre_trans->set_exon_count($exon_count); - - $prev_exon = undef; - $already_merged = 0; - - if(@out) { - #throw away last pt if no exons or introns were on the slice - if($slice && ( $transcript_slice_end < 1 || - $transcript_slice_start > $slice->length() )) { - pop @out; - } else { - #set the stable_id of the previous prediction - $out[$#out]->stable_id("$stable_ctg.$stable_start.$stable_end"); - } - } - - push( @out, $pre_trans ); + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } - #reset values used for last predtrans - $stable_start = -1; - $stable_end = -1; - $stable_ctg = ''; + FEATURE: while($sth->fetch()) { - $transcript_slice_end = undef; - $transcript_slice_start = undef; - } + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); - #recalculate stable id values - if($stable_start == -1 || $contig_start < $stable_start) { - $stable_start = $contig_start; - } - if($contig_end > $stable_end) { - $stable_end = $contig_end; - } - unless($contig = $contig_hash{$contig_id}) { - $contig = $rca->fetch_by_dbID($contig_id); - $contig_hash{$contig_id} = $contig; + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); } - $stable_ctg = $contig->name; - - if($slice) { - #a slice was passed in so we want slice coords - - #convert contig coords to assembly coords - ($chr, $start, $end, $strand) = - $mapper->fast_to_assembly($contig_id, $contig_start, - $contig_end, $contig_strand); - - #if mapped to gap skip - next unless(defined $start); - - - #convert to slice coordinates - if($slice_strand == -1) { - $exon_start = $slice_end - $end + 1; - $exon_end = $slice_end - $start + 1; - $exon_strand = $strand * -1; - - #merge adjacent exons into a single exon - if($prev_exon && $prev_exon->start == $exon->end + 1) { - $exon->end($prev_exon->end); - $already_merged++; - } + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); } else { - $exon_start = $start - $slice_start + 1; - $exon_end = $end - $slice_start + 1; - $exon_strand = $strand; - - #merge adjacent exons into a single exon - if($prev_exon && $exon->start == $prev_exon->end +1) { - $exon->start($prev_exon->start); - $already_merged++; - } - } - - if( !defined $transcript_slice_start || - $transcript_slice_start > $exon_start ) { - $transcript_slice_start = $exon_start; + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); } - - if( ! defined $transcript_slice_end || - $transcript_slice_end < $exon_end ) { - $transcript_slice_end = $exon_end; - } - #use slice as the contig instead of the raw contig - $contig = $slice; - } else { - #we just want plain old contig coords - $exon_start = $contig_start; - $exon_end = $contig_end; - $exon_strand = $contig_strand; } - #create an exon and add it to the prediction transcript - $exon = Bio::EnsEMBL::Exon->new_fast($contig, - $exon_start, - $exon_end, - $exon_strand); - $exon->phase( $start_phase ); - $exon->end_phase( ($exon_end - $exon_start + 1 + $start_phase) % 3 ); - $exon->score( $score ); - $exon->p_value( $p_value ); - - $prev_exon = $exon; - $pre_trans->add_Exon($exon, $exon_rank - $already_merged); - } - - #throw away last pred_transcript if it had no exons overlapping the slice - if(@out) { - if($slice && ( $transcript_slice_end < 1 || - $transcript_slice_start > $slice->length() )) { - pop @out; - } else { - #set the stable id of the last prediction transcript - $out[$#out]->stable_id("$stable_ctg.$stable_start.$stable_end"); + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + + $slice = $dest_slice; } + + #finally, create the new repeat feature + push @ptranscripts, Bio::EnsEMBL::PredictionTranscript->new + ( '-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => $seq_region_strand, + '-adaptor' => $self, + '-slice' => $slice, + '-analysis' => $analysis, + '-dbID' => $prediction_transcript_id ); } - return \@out; + return \@ptranscripts; } @@ -367,77 +292,61 @@ sub _objs_from_sth { sub store { my ( $self, @pre_transcripts ) = @_; - my $exon_sql = q{ - INSERT INTO prediction_transcript ( prediction_transcript_id, exon_rank, - contig_id, contig_start, contig_end, - contig_strand, start_phase, score, - p_value, analysis_id, exon_count ) - VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) - }; + my $ptstore_sth = $self->prepare + ("INSERT INTO prediction_transcript (seq_region_id, seq_region_start, " . + " seq_region_end, seq_region_strand, analysis_id) " . + "VALUES( ?, ?, ?, ?, ?)"); - my $exonst = $self->prepare($exon_sql); + my $db = $self->db(); + my $analysis_adaptor = $db->get_AnalysisAdaptor(); + my $pexon_adaptor = $db->get_PredictionExonAdaptor(); - foreach my $pre_trans (@pre_transcripts) { - if( ! $pre_trans->isa('Bio::EnsEMBL::PredictionTranscript') ) { - $self->throw("$pre_trans is not a EnsEMBL PredictionTranscript " - . "- not dumping!"); + FEATURE: foreach my $pt (@pre_transcripts) { + if(!ref($pt) || !$pt->isa('Bio::EnsEMBL::PredictionTranscript')) { + throw('Expected PredictionTranscript argument not [' . ref($pt).']'); } - - if( $pre_trans->dbID && $pre_trans->adaptor == $self ) { - $self->warn("Already stored"); + + #skip prediction transcripts that have already been stored + if($pt->is_stored($db)) { + warning('Not storing already stored prediction transcript '. $pt->dbID); + next FEATURE; } - - my $exonId = undef; - my @pt_exons = @{$pre_trans->get_all_Exons()}; - my $dbID = undef; - my $rank = 1; - - my @exons; - foreach my $e (@pt_exons) { - if($e && (!$e->contig || $e->contig->isa('Bio::EnsEMBL::Slice'))) { - $self->throw('PredictionTranscript must be in contig coords to store'); - } - - if($e && $e->isa('Bio::EnsEMBL::StickyExon')) { - push @exons, @{$e->get_all_component_Exons}; - } else { - push @exons, $e; - } + + #get analysis and store it if it is not in the db + my $analysis = $pt->analysis(); + if(!$analysis) { + throw('Prediction transcript must have analysis to be stored.'); + } + if(!$analysis->is_stored($db)) { + $analysis_adaptor->store($analysis); } - for my $exon ( @exons ) { - if( ! defined $exon ) { $rank++; next; } - - my $contig_id = $exon->contig->dbID(); - my $contig_start = $exon->start(); - my $contig_end = $exon->end(); - my $contig_strand = $exon->strand(); - my $start_phase = $exon->phase(); - my $end_phase = $exon->end_phase(); - my $score = $exon->score(); - my $p_value = $exon->p_value(); - my $analysis = $pre_trans->analysis->dbID; - - if( $rank == 1 ) { - $exonst->execute( undef, 1, $contig_id, $contig_start, - $contig_end, $contig_strand, - $start_phase, $score, $p_value, $analysis, - scalar( @exons )); - $dbID = $exonst->{'mysql_insertid'}; - } else { - $exonst->execute( $dbID, $rank, $contig_id, $contig_start, - $contig_end, $contig_strand, - $start_phase, $score, $p_value, $analysis, - scalar( @exons ) ); - } - $rank++; + #ensure that the transcript coordinates are correct, they may not be, + #if somebody has done some exon coordinate juggling and not recalculated + #the transcript coords. + $pt->recalculate_coordinates(); + + my $original = $pt; + my $seq_region_id; + ($pt, $seq_region_id) = $self->_pre_store($pt); + + #store the prediction transcript + $ptstore_sth->execute($seq_region_id, + $pt->start(), + $pt->end(), + $pt->strand(), + $analysis->dbID()); + + my $pt_id = $ptstore_sth->{'mysql_insertid'}; + $original->dbID($pt_id); + $original->adaptor($self); + + #store the exons + my $rank = 1; + foreach my $pexon (@{$original->get_all_Exons}) { + $pexon_adaptor->store($pexon, $pt_id, $rank++); } - - $pre_trans->dbID( $dbID ); - $pre_trans->adaptor( $self ); } - - $exonst->finish; } @@ -456,18 +365,30 @@ sub store { sub remove { my $self = shift; my $pre_trans = shift; - - if ( ! defined $pre_trans->dbID() ) { + + if(!ref($pre_trans)||!$pre_trans->isa('Bio::EnsEMBL::PredictionTranscript')){ + throw('Expected PredictionTranscript argument.'); + } + + if(!$pre_trans->is_stored($self->db())) { + warning('PredictionTranscript is not stored in this DB - not removing.'); return; } - my $sth = $self->prepare( "DELETE FROM prediction_transcript + #remove all associated prediction exons + my $pexon_adaptor = $self->get_PredictionExonAdaptor(); + foreach my $pexon (@{$pre_trans->get_all_Exons}) { + $pexon_adaptor->remove($pexon); + } + + #remove the prediction transcript + my $sth = $self->prepare( "DELETE FROM prediction_transcript WHERE prediction_transcript_id = ?" ); $sth->execute( $pre_trans->dbID ); - # uhh, didnt know another way of resetting to undef ... - $pre_trans->{dbID} = undef; - $pre_trans->{adaptor} = undef; + #unset the adaptor and internal id + $pre_trans->dbID(undef); + $pre_trans->adaptor(undef); } @@ -475,7 +396,8 @@ sub remove { Arg [1] : none Example : @feature_ids = @{$prediction_transcript_adaptor->list_dbIDs()}; - Description: Gets an array of internal ids for all prediction transcript features in the current db + Description: Gets an array of internal ids for all prediction transcript + features in the current db Returntype : list of ints Exceptions : none Caller : ? diff --git a/modules/Bio/EnsEMBL/DBSQL/ProteinAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ProteinAdaptor.pm index 567baa6850..c46b263b5a 100644 --- a/modules/Bio/EnsEMBL/DBSQL/ProteinAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ProteinAdaptor.pm @@ -12,193 +12,89 @@ =head1 NAME -ProteinAdaptor - DESCRIPTION of Object - -=head1 SYNOPSIS - -use Bio::EnsEMBL::DBSQL::DBAdaptor; - - -my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -user => 'root', - -db => 'pog' , - -host => 'caldy' , - -driver => 'mysql' ); - -my $protein_adaptor = $db->get_ProteinAdaptor(); - -my $protein = $protein_adaptor->fetch_by_transcript_id(1234); - - +ProteinAdaptor - DEPRECATED Use TranslationAdaptor or TranscriptAdaptor instead =head1 DESCRIPTION -An adaptor which allows for the creation of Protein Objects from transcript -or translation ids. There is no Protein table in the EnsEMBL core database -and possibly this functionality should be moved into the translation object. +DEPRECATED - Do not use this module. Use the TranslationAdaptor or +TranscriptAdaptor instead. All Protein object functionality has been replaced +on the Translation object so there is no reason to create Protein objects +anymore. =head1 CONTACT -mongin@ebi.ac.uk - -=head1 APPENDIX + Post questions to the EnsEMBL development list -The rest of the documentation details each of the object methods. Internal -methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... package Bio::EnsEMBL::DBSQL::ProteinAdaptor; use vars qw(@ISA); use strict; - -use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::DBSQL::TranslationAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); use Bio::EnsEMBL::Protein; -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +@ISA = qw(Bio::EnsEMBL::DBSQL::TranslationAdaptor); =head2 fetch_by_transcript_id - Arg [1] : int $transid - The unique internal identifier of this proteins transcript - Example : $protein = $protein_adaptor->fetch_by_transcript_id(1234); - Description: (formerly fetch_Protein_by_transcriptId) Retrieves a protein - object via the internal database identifier of its transcript - Returntype : Bio::EnsEMBL::Protein - Exceptions : none - Caller : protview? + Description: DEPRECATED - use TranslationAdaptor::fetch_by_Transcript or + Transcript::translation instead =cut sub fetch_by_transcript_id{ - my ($self,$transid) = @_; - my $query = "SELECT t.translation_id - FROM transcript as t, - transcript_stable_id as s - WHERE s.stable_id = '$transid' - AND t.transcript_id = s.transcript_id"; - my $sth = $self->prepare($query); - $sth->execute(); - my @row = $sth->fetchrow; - - return $self->fetch_by_translation_id($row[0]); - } + my ($self,$transid) = @_; + deprecate("Use Transcript::translation instead\n"); + my $tr_adaptor = $self->db->get_TranscriptAdaptor(); + my $tr = $tr_adaptor->fetch_by_dbID($transid); + my $tl = $tr->translation(); + $tl->adaptor($self); + return bless $tl, 'Bio::EnsEMBL::Protein'; +} =head2 fetch_by_translation_stable_id - Arg [1] : int $transid - the stable identifier of the translation of the desired protein - Example : $prot = $pa->fetch_by_translation_stable_id('ENSP00000278194'); - Description: Creates a protein object using the translation table of the DB - Returntype : Bio::EnsEMBL::Protein - Exceptions : none - Caller : protview? + Description: DEPRECATED - use TranslationAdaptor::fetch_by_stable_id + or Transcript::translation instead =cut sub fetch_by_translation_stable_id { - my ($self,$transid) = @_; - my $query = "SELECT translation_id - FROM translation_stable_id - WHERE stable_id = '$transid'"; - my $sth = $self->prepare($query); - $sth->execute(); - my @row = $sth->fetchrow; - return $self->fetch_by_translation_id($row[0]); - } - + my ($self,$transid) = @_; + deprecate("Use TranslationAdaptor::fetch_by_stable_id or " . + "Transcript::translation instead."); + my $tl_adaptor = $self->db->get_TranslationAdaptor(); + my $tl = $tl_adaptor->fetch_by_stable_id($transid); + $tl->adaptor($self); + return bless $tl, 'Bio::EnsEMBL::Protein'; +} =head2 fetch_by_translation_id - Arg [1] : int $translation_id - the unique DB identifier for the translation corresponding to - the desired protein - Example : $prot = $prot_adaptor->fetch_by_translation_id($id); - Description: Retrieves a protein object from a database - (formerly fetch_Protein_by_dbid) - Returntype : Bio::EnsEMBL::Protein - Exceptions : thrown if transcript or gene cannot be retrieved from database, - or if the amino acid sequence cannot be obtained - Caller : protview? + Description: DEPRECATED - use TranslationAdaptor::fetch_by_dbID or =cut sub fetch_by_translation_id { my ($self, $translation_id) = @_; - - #Get the transcript id from the translation id - my $query = "SELECT transcript_id, - gene_id - FROM transcript t - WHERE translation_id = '$translation_id'"; - - my $sth = $self->prepare($query); - $sth ->execute(); - - my ($transcript_id, $gene_id) = $sth->fetchrow(); - - if (!defined $transcript_id) { - $self->throw("$translation_id does not have a transcript_id"); - } - - if (!defined $gene_id) { - $self->throw("$translation_id does not have a gene_id"); - } - - #Get Transcript object ( will allow us to get the aa sequence of the protein - my $ta = $self->db()->get_TranscriptAdaptor(); - my $transcript = $ta->fetch_by_dbID($transcript_id); - - my $ga = $self->db()->get_GeneAdaptor(); - my $gene = $ga->fetch_by_dbID($gene_id); + deprecate("Use TranslationAdaptor::fetch_by_dbID or " . + "Transcript::translation instead."); - #Get all of the family (at the Transcript level), not implemented yet - #my $family = $self->fetch_Family_by_dbid($id); - - #Get the polypeptide sequence out of the transcript object - my $sequence = $transcript->translate->seq; - - #Calculate the length of the Peptide - my $length = length($sequence); - if ($length == 0) { - $self->throw("Transcript " . $transcript->stable_id() . - " does not have an amino acid sequence"); - } - - #Define the moltype - my $moltype = "protein"; - my $meta_obj = $self->db->get_MetaContainer(); - my $species = $meta_obj->get_Species(); - my $desc = "Protein predicted by Ensembl"; - - #Create the Protein object - my $protein = Bio::EnsEMBL::Protein->new ( -seq =>$sequence, - -accession_number => $translation_id, - -display_id => $translation_id, - -primary_id => $translation_id, - -id => $translation_id, - -desc => $desc, - -moltype => $moltype - ); - - #Set up the adaptor handler for the protein object - $protein->adaptor($self); - - #Add the species object to protein object - $protein->species($species); - - $protein->transcript($transcript); - $protein->gene($gene); - - return $protein; + my $tl_adaptor = $self->db->get_TranslationAdaptor(); + my $tl = $tl_adaptor->fetch_by_dbID($translation_id); + $tl->adaptor($self); + return bless $tl, 'Bio::EnsEMBL::Protein'; } + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/ProteinAlignFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ProteinAlignFeatureAdaptor.pm index a728e8ccca..d00ff2dac3 100644 --- a/modules/Bio/EnsEMBL/DBSQL/ProteinAlignFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ProteinAlignFeatureAdaptor.pm @@ -1,7 +1,5 @@ # -# BioPerl module for Bio::EnsEMBL::DBSQL::ProteinAlignFeatureAdaptor -# -# Cared for by Ewan Birney <birney@ebi.ac.uk> +# Ensembl module for Bio::EnsEMBL::DBSQL::ProteinAlignFeatureAdaptor # # Copyright Ewan Birney # @@ -16,108 +14,131 @@ Adaptor for ProteinAlignFeatures =head1 SYNOPSIS - $pfadp = $dbadaptor->get_ProteinAlignFeatureAdaptor(); + $pafa = $dbadaptor->get_ProteinAlignFeatureAdaptor(); - my @features = $pfadp->fetch_by_Contig($contig); + my @features = @{$pafa->fetch_all_by_Slice($slice)}; - my @features = $pfadp->fetch_by_assembly_location($start,$end,$chr,'UCSC'); - - $pfadp->store(@features); + $pafa->store(@features); =head1 DESCRIPTION -This is an adaptor for protein features on DNA sequence. Like other -feature getting adaptors it has a number of fetch_ functions and a -store function. - - -=head1 AUTHOR - Ewan Birney - -Email birney@ebi.ac.uk - -Describe contact details here +=head1 CONTACT -=head1 APPENDIX +Post questions to the Ensembl development list: ensembl-dev@ebia.ac.uk -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::ProteinAlignFeatureAdaptor; use vars qw(@ISA); use strict; -# Object preamble - inherits from Bio::EnsEMBL::Root - use Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor; use Bio::EnsEMBL::DnaPepAlignFeature; -use Bio::EnsEMBL::SeqFeature; + @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor); =head2 store - Arg [1] : list of Bio::EnsEMBL::DnaPepAlignFeature @sf - Example : $protein_align_feature_adaptor->store(@sf); - Description: stores a list of features in the database + Arg [1] : list of Bio::EnsEMBL::DnaPepAlignFeature @feats + Example : $protein_align_feature_adaptor->store(@feats); + Description: stores a list of ProteinAlignFeatures in the database Returntype : none - Exceptions : thrown if there is no attached sequence on any of the features, - if the features are not defined - Caller : + Exceptions : throw if any of the provided features cannot be stored + which may occur if: + * The feature does not have an associated Slice + * The feature does not have an associated analysis + * The Slice the feature is associated with is on a seq_region + unknown to this database + A warning is given if: + * The feature has already been stored in this db + Caller : Pipeline =cut sub store{ - my ($self ,@sf) = @_; + my ($self, @feats) = @_; + + throw("Must call store with features") if( scalar(@feats) == 0 ); + + my @tabs = $self->_tables; + my ($tablename) = @{$tabs[0]}; + + my $db = $self->db(); + my $slice_adaptor = $db->get_SliceAdaptor(); + my $analysis_adaptor = $db->get_AnalysisAdaptor(); + + my $sth = $self->prepare( + "INSERT INTO $tablename (seq_region_id, seq_region_start, seq_region_end, + seq_region_strand, hit_start, hit_end, + hit_name, cigar_line, + analysis_id, score, evalue, perc_ident) + VALUES (?,?,?,?,?,?,?,?,?,?, ?, ?)"); + + FEATURE: foreach my $feat ( @feats ) { + if( !ref $feat || !$feat->isa("Bio::EnsEMBL::DnaPepAlignFeature") ) { + throw("feature must be a Bio::EnsEMBL::DnaPepAlignFeature," + . " not a [".ref($feat)."]."); + } + + if($feat->is_stored($db)) { + warning("PepDnaAlignFeature [".$feat->dbID."] is already stored" . + " in this database."); + next FEATURE; + } + + #sanity check the hstart and hend + my $hstart = $feat->hstart(); + my $hend = $feat->hend(); + $self->_check_start_end_strand($hstart,$hend,1); + + my $cigar_string = $feat->cigar_string(); + if(!$cigar_string) { + $cigar_string = $feat->length() . 'M'; + warning("DnaPepAlignFeature does not define a cigar_string.\n" . + "Assuming ungapped block with cigar_string=$cigar_string\n"); + } - if( scalar(@sf) == 0 ) { - $self->throw("Must call store with list of sequence features"); + my $hseqname = $feat->hseqname(); + if(!$hseqname) { + throw("DnaPepAlignFeature must define an hseqname."); } - my $sth = $self->prepare( - "INSERT INTO protein_align_feature(contig_id, contig_start, contig_end, - contig_strand, hit_start, hit_end, - hit_name, cigar_line, analysis_id, - score, evalue, perc_ident) - VALUES (?,?,?,?,?,?,?,?,?,?, ?, ?)"); - - foreach my $sf ( @sf ) { - if( !ref $sf || !$sf->isa("Bio::EnsEMBL::DnaPepAlignFeature") ) { - $self->throw("Feature must be a Bio::EnsEMBL::DnaPepAlignFeature, " . - "not a [$sf]"); - } - - if( !defined $sf->analysis ) { - $self->throw("Cannot store sequence features without analysis"); - } - - # will only store if object is not already stored in this database - $self->db()->get_AnalysisAdaptor()->store( $sf->analysis() ); - - my $contig = $sf->entire_seq(); - #print STDERR $contig."\n"; - unless(defined $contig && $contig->isa("Bio::EnsEMBL::RawContig")) { - $self->throw("Cannot store feature without Contig attached via " . - "attach_seq\n"); - } - - $sth->execute($contig->dbID(), $sf->start, $sf->end, - $sf->strand, $sf->hstart, $sf->hend, - $sf->hseqname, $sf->cigar_string, $sf->analysis->dbID, - $sf->score, $sf->p_value, $sf->percent_id); - - $sf->dbID($sth->{'mysql_insertid'}); + if(!defined($feat->analysis)) { + throw("An analysis must be attached to the features to be stored."); } + + #store the analysis if it has not been stored yet + if(!$feat->analysis->is_stored($db)) { + $analysis_adaptor->store($feat->analysis()); + } + + my $slice = $feat->slice(); + if(!defined($slice) || !$slice->isa("Bio::EnsEMBL::Slice")) { + throw("A slice must be attached to the features to be stored."); + } + + my $original = $feat; + my $seq_region_id; + ($feat, $seq_region_id) = $self->_pre_store($feat); + + $sth->execute( $seq_region_id, $feat->start, $feat->end, $feat->strand, + $feat->hstart, $feat->hend, $feat->hseqname, + $feat->cigar_string, $feat->analysis->dbID, $feat->score, + $feat->p_value, $feat->percent_id); + $original->dbID($sth->{'mysql_insertid'}); + $original->adaptor($self); } + $sth->finish(); +} + =head2 _objs_from_sth @@ -135,124 +156,148 @@ sub store{ =cut sub _objs_from_sth { - my ($self, $sth, $mapper, $slice) = @_; - - my ($protein_align_feature_id, $contig_id, $contig_start, $contig_end, - $analysis_id, $contig_strand, $hit_start, $hit_end, $hit_name, - $cigar_line, $evalue, $perc_ident, $score); - - my $rca = $self->db()->get_RawContigAdaptor(); - my $aa = $self->db()->get_AnalysisAdaptor(); - my @features; - - my($analysis, $contig); + my ($self, $sth, $mapper, $dest_slice) = @_; - my %a_hash; - my %c_hash; + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # - my($row_cache, $row); + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db->get_AnalysisAdaptor(); - $row_cache = $sth->fetchall_arrayref(); - - if($slice) { - my ($chr, $start, $end, $strand); - my $slice_start = $slice->chr_start(); - my $slice_end = $slice->chr_end(); - my $slice_name = $slice->name(); - my $slice_strand = $slice->strand(); + my @features; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my ($protein_align_feature_id, $seq_region_id, $seq_region_start, + $seq_region_end, $analysis_id, $seq_region_strand, $hit_start, + $hit_end, $hit_name, $cigar_line, $evalue, $perc_ident, $score); + + $sth->bind_columns(\$protein_align_feature_id, \$seq_region_id, + \$seq_region_start,\$seq_region_end, \$analysis_id, + \$seq_region_strand, \$hit_start,\$hit_end, \$hit_name, + \$cigar_line, \$evalue, \$perc_ident, \$score); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } - my($feat_start, $feat_end, $feat_strand); + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } - while($row = shift @$row_cache) { - ($protein_align_feature_id, $contig_id, $contig_start, $contig_end, - $analysis_id, $contig_strand, $hit_start, $hit_end, $hit_name, - $cigar_line, $evalue, $perc_ident, $score) = @$row; + FEATURE: while($sth->fetch()) { + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); - $analysis = $a_hash{$analysis_id} ||= $aa->fetch_by_dbID($analysis_id); - ($chr, $start, $end, $strand) = - $mapper->fast_to_assembly($contig_id, $contig_start, - $contig_end, $contig_strand); - - #skip if feature maps to gap - next unless(defined $start); + #get the slice object + my $slice = $slice_hash{"ID:".$seq_region_id}; - #skip if feature outside of slice area - next if ($start > $slice_end) || ($end < $slice_start); + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } - #convert assembly coordinates to slice coordinates - if($slice_strand == -1) { - $feat_start = $slice_end - $end + 1; - $feat_end = $slice_end - $start + 1; - $feat_strand = $strand * -1; + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); } else { - $feat_start = $start - $slice_start + 1; - $feat_end = $end - $slice_start + 1; - $feat_strand = $strand; + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); } + } - #use a very fast (hack) constructor - normal object construction is too - #slow for the number of features we are potentially dealing with - push @features, Bio::EnsEMBL::DnaPepAlignFeature->new_fast( - {'_gsf_tag_hash' => {}, - '_gsf_sub_array' => [], - '_parse_h' => {}, - '_analysis' => $analysis, - '_gsf_start' => $feat_start, - '_gsf_end' => $feat_end, - '_gsf_strand' => $feat_strand, - '_gsf_score' => $score, - '_seqname' => $slice_name, - '_percent_id' => $perc_ident, - '_p_value' => $evalue, - '_hstart' => $hit_start, - '_hend' => $hit_end, - '_hstrand' => 1, #strand is always one for pep hits - '_hseqname' => $hit_name, - '_gsf_seq' => $slice, - '_cigar_string' => $cigar_line, - '_id' => $hit_name, - '_database_id' => $protein_align_feature_id}); - } - - } else { - while($row = shift @$row_cache) { - ($protein_align_feature_id, $contig_id, $contig_start, $contig_end, - $analysis_id, $contig_strand, $hit_start, $hit_end, $hit_name, - $cigar_line, $evalue, $perc_ident, $score) = @$row; - - $analysis = $a_hash{$analysis_id} ||= $aa->fetch_by_dbID($analysis_id); - $contig = $c_hash{$contig_id} ||= $rca->fetch_by_dbID($contig_id); - - #use a very fast (hack) constructor - normal object construction is too - #slow for the number of features we are potentially dealing with - push @features, Bio::EnsEMBL::DnaPepAlignFeature->new_fast( - {'_gsf_tag_hash' => {}, - '_gsf_sub_array' => [], - '_parse_h' => {}, - '_analysis' => $analysis, - '_gsf_start' => $contig_start, - '_gsf_end' => $contig_end, - '_gsf_strand' => $contig_strand, - '_gsf_score' => $score, - '_seqname' => $contig->name, - '_percent_id' => $perc_ident, - '_p_value' => $evalue, - '_hstart' => $hit_start, - '_hend' => $hit_end, - '_hstrand' => 1, #strand is always 1 for pep hits - '_hseqname' => $hit_name, - '_gsf_seq' => $contig, - '_cigar_string' => $cigar_line, - '_id' => $hit_name, - '_database_id' => $protein_align_feature_id}); + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; } - } + #finally, create the new dna align feature + push @features, Bio::EnsEMBL::DnaPepAlignFeature->new_fast + ( { 'slice' => $slice, + 'start' => $seq_region_start, + 'end' => $seq_region_end, + 'strand' => $seq_region_strand, + 'hseqname' => $hit_name, + 'hstart' => $hit_start, + 'hend' => $hit_end, + 'hstrand' => 1, #dna_pep_align features are always hstrand 1 + 'score' => $score, + 'p_value' => $evalue, + 'percent_id' => $perc_ident, + 'cigar_string' => $cigar_line, + 'analysis' => $analysis, + 'adaptor' => $self, + 'dbID' => $protein_align_feature_id } ); + } return \@features; } + sub _tables { my $self = shift; @@ -264,27 +309,28 @@ sub _columns { my $self = shift; #warning _objs_from_hashref method depends on ordering of this list - return qw( paf.protein_align_feature_id - paf.contig_id - paf.contig_start - paf.contig_end - paf.analysis_id - paf.contig_strand - paf.hit_start - paf.hit_end - paf.hit_name - paf.cigar_line - paf.evalue - paf.perc_ident - paf.score ); + return qw( paf.protein_align_feature_id + paf.seq_region_id + paf.seq_region_start + paf.seq_region_end + paf.analysis_id + paf.seq_region_strand + paf.hit_start + paf.hit_end + paf.hit_name + paf.cigar_line + paf.evalue + paf.perc_ident + paf.score ); } =head2 list_dbIDs Arg [1] : none Example : @feature_ids = @{$protein_align_feature_adaptor->list_dbIDs()}; - Description: Gets an array of internal ids for all protein align features in the current db - Returntype : list of ints + Description: Gets an array of internal ids for all protein align + features in the current db + Returntype : listref of ints Exceptions : none Caller : ? diff --git a/modules/Bio/EnsEMBL/DBSQL/ProteinFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ProteinFeatureAdaptor.pm index 706a5ca7a6..b65ce4083e 100755 --- a/modules/Bio/EnsEMBL/DBSQL/ProteinFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ProteinFeatureAdaptor.pm @@ -1,5 +1,5 @@ # -# EnsEMBL module for Bio::EnsEMBL::DBSQL::Feature_Obj +# EnsEMBL module for Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor # # Cared for by Emmanuel Mongin <mongin@ebi.ac.uk> # @@ -11,58 +11,48 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::Feature_Obj - MySQL database adapter class for EnsEMBL -Feature Objects +Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor =head1 SYNOPSIS use Bio::EnsEMBL::DBSQL::DBAdaptor; use Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor; - $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -user => 'root', -dbname => 'pog' , -host => 'caldy' , -driver => 'mysql' ); - my $feature_obj=Bio::EnsEMBL::ProteinFeatureAdaptor->new($obj); + $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -user => 'root', + -db => 'pog' , + -host => 'caldy' , + -driver => 'mysql' ); + my $pfa = $db->get_ProteinFeatureAdaptor(); - -=head1 DESCRIPTION + my @prot_feats = $pfa->fetch_all_by_translation_id(1231); -This object deals with protein feature objects. It contains methods to fetch -prtein features from the database, write protein feature into the database, -and delete these protein features from the databases. + my $prot_feat = $pfa->fetch_by_dbID(523); -A protein feature is linked to a peptide. This linked is made through the -translation id stored in the translation table. For example the method -fetch_by_translationID will return all of the feature for this given peptide. + +=head1 DESCRIPTION -The Obj object represents a database that is implemented somehow -(you shouldn\'t care much as long as you can get the object). =head1 CONTACT -Emmanuel Mongin: mongin@ebi.ac.uk - -=head1 APPENDIX + Post questions to the EnsEMBl development mailing list : + ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. Internal -methods are usually preceded with a _ +=head1 METHODS =cut -# Let the code begin... - package Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor; -use vars qw(@ISA); use strict; -# Object preamble - inheriets from Bio::EnsEMBL::DBSQL::BaseAdaptor use Bio::EnsEMBL::DBSQL::BaseAdaptor; - use Bio::EnsEMBL::ProteinFeature; -use Bio::EnsEMBL::SeqFeature; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); +use vars qw(@ISA); +@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); =head2 fetch_all_by_translation_id @@ -71,91 +61,69 @@ use Bio::EnsEMBL::SeqFeature; the internal id of the translation corresponding to protein whose features are desired Example : @prot_feats = $prot_feat_adaptor->fetch_by_translation_id(1234); - Description: Get all of the protein feature objects of a peptide + Description: Gets all protein features present on a peptide using the + translations internal identifier. This method will return + an unsorted list of all protein_feature types. The feature + types may be distinguished using the logic name attribute of + the attached analysis objects. Returntype : listref of Bio::EnsEMBL::ProteinFeatures Exceptions : none Caller : ? =cut -sub fetch_by_translation_id { - my($self,$transl) = @_; +sub fetch_all_by_translation_id { + my($self,$translation_id) = @_; + + if(!$translation_id) { + throw("translation_id argument is required\n"); + } my @features; my $analysis_adaptor = $self->db()->get_AnalysisAdaptor(); - - - my $sth = $self->prepare( - "SELECT p.seq_start, p.seq_end, p.analysis_id, - p.score, p.perc_ident, p.evalue, - p.hit_start, p.hit_end, p.hit_id, - x.display_label, i.interpro_ac - FROM protein_feature p,analysis a - LEFT JOIN interpro AS i ON p.hit_id = i.id - LEFT JOIN xref AS x ON x.dbprimary_acc = i.interpro_ac - WHERE p.translation_id = ? - AND p.analysis_id = a.analysis_id - AND a.gff_feature = ?"); - - $sth->execute("$transl", 'domain'); + + my $sth = $self->prepare + ("SELECT protein_feature_id, p.seq_start, p.seq_end, p.analysis_id, " . + " p.score, p.perc_ident, p.evalue, p.hit_start, p.hit_end, " . + " p.hit_id, x.display_label, i.interpro_ac " . + "FROM protein_feature p " . + "LEFT JOIN interpro AS i ON p.hit_id = i.id " . + "LEFT JOIN xref AS x ON x.dbprimary_acc = i.interpro_ac " . + "WHERE p.translation_id = ?"); + + $sth->execute($translation_id); while( my $row = $sth->fetchrow_arrayref) { - my ($start, $end, $analysisid, $score, $perc_id, $evalue, $hstart, - $hend,$hid,$desc, $interpro_ac) = @$row; - + my ($dbID, $start, $end, $analysisid, $score, $perc_id, $evalue, $hstart, + $hend,$hid,$desc, $interpro_ac) = @$row; + my $analysis = $analysis_adaptor->fetch_by_dbID($analysisid); - - my $feat = Bio::EnsEMBL::ProteinFeature->new(); - $feat->seqname($transl); - $feat->start($start); - $feat->end($end); - $feat->analysis($analysis); - $feat->percent_id($perc_id); - $feat->p_value($evalue); - - $feat->hstart($hstart); - $feat->hend($hend); - $feat->hseqname($hid); - - $feat->idesc($desc); - $feat->interpro_ac($interpro_ac); + + if(!$analysis) { + warning("Analysis with dbID=$analysisid does not exist\n" . + "but is referenced by ProteinFeature $dbID"); + } + + my $feat = Bio::EnsEMBL::ProteinFeature->new + (-DBID => $dbID, + -ADADAPTOR => $self, + -SEQNAME => $translation_id, + -START => $start, + -END => $end, + -ANALYSIS => $analysis, + -PERCENT_ID => $perc_id, + -PVALUE => $evalue, + -HSTART => $hstart, + -HEND => $hend, + -HSEQNAME => $hid, + -IDESC => $desc, + -INTERPRO_AC => $interpro_ac); push(@features,$feat); } - - $sth = $self->prepare ("SELECT p.seq_start, p.seq_end, p.analysis_id, - p.score, p.perc_ident, p.evalue, - p.hit_start, p.hit_end, p.hit_id - FROM protein_feature p, analysis a - WHERE a.analysis_id = p.analysis_id - AND p.translation_id = ? - AND a.gff_feature != ?"); - $sth->execute("$transl", 'domain'); + $sth->finish(); - while( my $row = $sth->fetchrow_arrayref) { - my ($start,$end,$analysisid,$score,$perc_id, - $evalue,$hstart,$hend,$hid) = @$row; - - my $analysis = $analysis_adaptor->fetch_by_dbID($analysisid); - - - my $feat = Bio::EnsEMBL::ProteinFeature->new(); - $feat->seqname($transl); - $feat->start($start); - $feat->end($end); - $feat->analysis($analysis); - $feat->percent_id($perc_id); - $feat->p_value($evalue); - - $feat->hstart($hstart); - $feat->hend($hend); - $feat->hseqname($hid); - - - push(@features,$feat); - } - return \@features; } @@ -173,316 +141,156 @@ sub fetch_by_translation_id { =cut sub fetch_by_dbID{ - my ($self,$protfeat_id) = @_; - - my $features; - my $sth = - $self->prepare("select * from protein_feature where id = '$protfeat_id'"); - my $res = $sth->execute; - - my $rowhash = $sth->fetchrow_hashref; + my ($self,$protfeat_id) = @_; - if (!defined $rowhash->{'id'}) { - $self->throw("This dbID: $protfeat_id, does not exist in the database"); - } - - my $feature = $self->_set_protein_feature($rowhash); + my $sth = $self->prepare( + "SELECT p.seq_start, p.seq_end, p.analysis_id, " . + " p.score, p.perc_ident, p.evalue, " . + " p.hit_start, p.hit_end, p.hit_id, " . + " x.display_label, i.interpro_ac " . + "FROM protein_feature p " . + "LEFT JOIN interpro AS i ON p.hit_id = i.id " . + "LEFT JOIN xref AS x ON x.dbprimary_acc = i.interpro_ac " . + "WHERE p.protein_feature_id = ?"); + + my $res = $sth->execute($protfeat_id); - return $feature; -} - - - -=head2 fetch_by_feature_and_dbID - - Arg [1] : string $feature - analysis gff_source - Arg [2] : int $transl - unique translation identifier - Example : none - Description: Retrieves protein features of a protein using the dbID of the - corresponding translation, and the analysis gff_source for - the feature - Returntype : listref of Bio::EnsEMBL::ProteinFeatures - Exceptions : none - Caller : ? - -=cut - -sub fetch_all_by_feature_and_dbID{ - my ($self,$feature,$transl) = @_; - my @features; - my $analysis_adaptor = $self->db()->get_AnalysisAdaptor(); - - #The call has to be specific for the Interpro components because there - #is one join to make on the interpro table and then with the xref table - if (($feature eq "PRINTS") || ($feature eq "Pfam") || - ($feature eq "PROSITE") || ($feature eq "PROFILE")) { - - my $sth = $self->prepare("SELECT p.seq_start, p.seq_end, p.analysis_id, - p.score, p.perc_ident, p.evalue, - p.hit_start, p.hit_end, p.hit_id, - x.display_label - FROM protein_feature p,analysis a - left join interpro as i on p.hit_id = i.id - left join xref as x on x.dbprimary_acc = i.interpro_ac - WHERE p.translation_id = '$transl' - AND p.analysis_id = a.analysis_id - AND a.gff_source = '$feature'"); - - $sth->execute(); - - while( my $arrayref = $sth->fetchrow_arrayref) { - my ($start,$end,$analysisid,$score,$perc_id,$evalue, - $hstart,$hend,$hid,$desc) = @{$arrayref}; - - my $analysis = $analysis_adaptor->fetch_by_dbID($analysisid); - - my $feat1 = new Bio::EnsEMBL::SeqFeature ( -seqname => $transl, - -start => $start, - -end => $end, - -score => $score, - -analysis => $analysis, - -percent_id => $perc_id, - -p_value => $evalue); - - my $feat2 = new Bio::EnsEMBL::SeqFeature (-start => $hstart, - -end => $hend, - -analysis => $analysis, - -seqname => $hid); - - my $feature = new Bio::EnsEMBL::ProteinFeature(-feature1 => $feat1, - -feature2 => $feat2,); - - $feature->idesc($desc); - - if ($feature) { - push(@features,$feature); - } - - } - } + if($sth->rows == 0) { + $sth->finish(); + return undef; + } - #Superfamily has also a description attached to it but there is - #no join needed with the interpro table. but its also considered - #as a domain feature - elsif ($feature eq "superfamily") { - my $sth = $self->prepare ("SELECT p.seq_start, p.seq_end, p.analysis_id, - p.score, p.perc_ident, p.evalue, - p.hit_start, p.hit_end, p.hit_id, - x.display_label, x.dbprimary_acc - FROM protein_feature AS p, analysis AS a, - xref AS x - WHERE a.gff_source = '$feature' AND - p.translation_id = '$transl' AND - a.analysis_id = p.analysis_id AND - x.dbprimary_acc = p.hit_id"); - $sth->execute(); - - - while( my $arrayref = $sth->fetchrow_arrayref) { - - my ($start,$end,$analysisid,$score,$perc_id,$evalue, - $hstart,$hend,$hid,$desc,$interproac) = @{$arrayref}; - - my $analysis = $analysis_adaptor->fetch_by_dbID($analysisid); - - my $feat1 = new Bio::EnsEMBL::SeqFeature ( -seqname => $transl, - -start => $start, - -end => $end, - -score => $score, - -analysis => $analysis, - -percent_id => $perc_id, - -p_value => $evalue); - - my $feat2 = new Bio::EnsEMBL::SeqFeature (-start => $hstart, - -end => $hend, - -analysis => $analysis, - -seqname => $hid); - - my $feature = new Bio::EnsEMBL::ProteinFeature(-feature1 => $feat1, - -feature2 => $feat2,); - - $feature->idesc($desc); - $feature->interpro_ac($interproac); - - if ($feature) { - push(@features,$feature); - } - - } - } - - #Get all of the other features...Coils, TMHMM, ... - else { - my $sth = $self->prepare ("SELECT p.seq_start, p.seq_end, p.analysis_id, - p.score, p.perc_ident, p.evalue, - p.hit_start, p.hit_end, p.hit_id - FROM protein_feature p,analysis a - WHERE a.analysis_id = p.analysis_id - AND p.translation_id = '$transl' - AND a.gff_feature != 'domain' - AND a.gff_source = '$feature'"); - - $sth->execute(); - my @a = $sth->fetchrow(); - - $sth->execute(); - while( my $arrayref = $sth->fetchrow_arrayref) { - my ($start, $end, $analysisid, $score, $perc_id, - $evalue, $hstart,$hend,$hid) = @{$arrayref}; - - my $analysis = $analysis_adaptor->fetch_by_dbID($analysisid); - - my $feat1 = new Bio::EnsEMBL::SeqFeature ( -seqname => $transl, - -start => $start, - -end => $end, - -score => $score, - -analysis => $analysis, - -percent_id => $perc_id, - -p_value => $evalue); - - my $feat2 = new Bio::EnsEMBL::SeqFeature (-start => $hstart, - -end => $hend, - -analysis => $analysis, - -seqname => $hid); - - my $feature = new Bio::EnsEMBL::ProteinFeature(-feature1 => $feat1, - -feature2 => $feat2); - - if ($feature) { - push(@features,$feature); - } - } - } - - return \@features; + my ($start, $end, $analysis_id, $score, $perc_ident, $pvalue, $hstart, + $hend, $hseqname, $idesc, $interpro_ac) = $sth->fetchrow_array(); + + $sth->finish(); + + my $analysis = $self->db->get_AnalysisAdaptor->fetch_by_dbID($analysis_id); + + return Bio::EnsEMBL::ProteinFeature->new + (-ADAPTOR => $self, + -DBID => $protfeat_id, + -START => $start, + -END => $end, + -HSTART => $hstart, + -HEND => $hend, + -HSEQNAME => $hseqname, + -ANALYSIS => $analysis, + -SCORE => $score, + -P_VALUE => $pvalue, + -PERCENT_ID => $perc_ident, + -IDESC => $idesc, + -INTERPRO_AC => $interpro_ac); } + =head2 store Arg [1] : Bio::EnsEMBL::ProteinFeature $feature + The feature to be stored + Arg [2] : int $translation_id + Example : $protein_feature_adaptor->store($protein_feature); Description: Stores a protein feature in the database - Returntype : none - Exceptions : thrown if arg is not a Bio::EnsEMBL::SeqFeatureI + Returntype : int - the new internal identifier of the stored protein feature + Exceptions : thrown if arg is not a Bio::EnsEMBL: Caller : none =cut sub store { - my ($self,$feature) = @_; - my $analysis; - - - if( ! $feature->isa('Bio::EnsEMBL::FeaturePair') ) { - $self->throw("A FeaturePair object required!"); - } - - - eval { - $feature->validate_prot_feature(); - }; - - if (!defined($feature->analysis)) { - $self->throw("Feature " . $feature->seqname . - "doesn't have analysis. Can't write to database"); - } else { - $analysis = $feature->analysis; - } - - - my $analysisid = $self->db->get_AnalysisAdaptor->store($analysis); - + my ($self,$feature, $translation_id) = @_; - my $homol = $feature->feature2; - - my $sth = - $self->prepare("INSERT INTO protein_feature(protein_feature_id, - translation_id, seq_start, - seq_end, analysis_id, - hit_start, hit_end, - hit_id, score, - perc_ident, evalue) ". - "VALUES ('NULL'," - ."'".$feature->seqname ."'," - .$feature->start ."," - .$feature->end ."," - .$analysisid ."," - .$homol->start ."," - .$homol->end ."," - ."'".$homol->seqname ."'," - .$feature->score ."," - .$feature->percent_id ."," - .$feature->p_value .")"); - - $sth->execute(); + if(!ref($feature) || !$feature->isa('Bio::EnsEMBL::ProteinFeature')) { + throw("ProteinFeature argument is required"); + } -} + if(!$translation_id) { + deprecate("Calling ProteinFeatureAdaptor without a translation_id is " . + "deprecated. Pass a translation_id argument rather than " . + "setting the ProteinFeature seqname to be the translation " . + "id"); + $translation_id = $feature->seqname(); + } -=head2 remove + my $db = $self->db(); - Arg [1] : int $id - the database id of the protein feature to remove - Example : $protein_feature_adaptor->remove($prot_feat->dbID()); - Description: deletes a protein feature from the database - Returntype : none - Exceptions : none - Caller : general + if($feature->is_stored($db)) { + warning("ProteinFeature " . $feature->dbID() . " is already stored in " . + "this database - not storing again"); + } -=cut + my $analysis = $feature->analysis(); + if (!defined($analysis)) { + throw("Feature doesn't have analysis. Can't write to database"); + } -sub remove { - my ($self,$id) = @_; - my $sth = $self->prepare("delete from protein_feature where id = $id"); + if(!$analysis->is_stored($db)) { + $db->get_AnalysisAdaptor->store($analysis); + } - $sth->execute; -} + my $sth = + $self->prepare("INSERT INTO protein_feature " . + " SET translation_id = ?, " . + " seq_start = ?, ". + " seq_end = ?, ". + " analysis_id = ?, ". + " hit_start = ?, ". + " hit_end = ?, ". + " hit_id = ?, ". + " score = ?, ". + " perc_ident = ?, ". + " evalue = ?"); + + $sth->execute($translation_id, + $feature->start(), + $feature->end(), + $analysis->dbID(), + $feature->hstart(), + $feature->hend(), + $feature->hseqname(), + $feature->score(), + $feature->percent_id(), + $feature->p_value()); + + my $dbID = $sth->{'mysql_insertid'}; -=head2 _set_protein_feature + $feature->adaptor($self); + $feature->dbID($dbID); + + $sth->finish(); - Arg [1] : DBI row hash $rowhash - Example : $prot_feat = $self->_set_protein_feature($row_hash); - Description: PRIVATE creates a ProteinFeature object from a SQL hashref - Returntype : Bio::EnsEMBL::ProteinFeature - Exceptions : none - Caller : internal + return $dbID; +} -=cut -sub _set_protein_feature { - my ($self,$rowhash) = @_; - my $analysis = - $self->db->get_AnalysisAdaptor->fetch_by_dbID($rowhash->{'analysis'}); - - my $feat1 = - new Bio::EnsEMBL::SeqFeature ( -seqname => $rowhash->{'translation'}, - -start => $rowhash->{'seq_start'}, - -end => $rowhash->{'seq_end'}, - -score => $rowhash->{'score'}, - -analysis => $analysis, - -percent_id => $rowhash->{'perc_id'}, - -p_value => $rowhash->{'evalue'}); - - my $feat2 = new Bio::EnsEMBL::SeqFeature (-start => $rowhash->{'hstart'}, - -end => $rowhash->{'hend'}, - -analysis => $analysis, - -seqname => $rowhash->{'hid'}); - - my $feature = new Bio::EnsEMBL::ProteinFeature(-feature1 => $feat1, - -feature2 => $feat2,); - return $feature; +sub fetch_by_translation_id { + deprecate("Use fetch_all_by_translation_id instead."); + fetch_all_by_translation_id(@_); } +sub fetch_all_by_feature_and_dbID { + my $self = shift; + my $feature = shift; + my $translation_id = shift; + deprecate("Use fetch_all_by_translation_id instead."); -1; - - + print STDERR "translation_id = $translation_id feature = $feature\n"; + my $features = $self->fetch_all_by_translation_id($translation_id); + my @out; + foreach my $f (@$features) { + my $logic_name = lc($f->analysis->logic_name()); + print STDERR "LOGIC_NAME = $logic_name | FEATURE = $feature\n"; + push(@out, $f) if($logic_name eq lc($feature)); + } + return \@out; +} +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/ProxyAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/ProxyAdaptor.pm index b1e81c0ae0..40b227736d 100644 --- a/modules/Bio/EnsEMBL/DBSQL/ProxyAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/ProxyAdaptor.pm @@ -48,6 +48,7 @@ package Bio::EnsEMBL::DBSQL::ProxyAdaptor; use strict; use vars qw($AUTOLOAD @ISA); use Bio::EnsEMBL::DBSQL::BaseAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); @@ -74,7 +75,7 @@ sub new { my $self = $class->SUPER::new($db); unless($primary_adaptor) { - $self->throw("The primary_adaptor argument is required\n"); + throw("The primary_adaptor argument is required\n"); return undef; } @@ -148,8 +149,8 @@ sub AUTOLOAD { } #none of the attached adaptors could fulfill the request either - $self->throw("The requested method $method could not be found in the " - . $self->{'_proxy_type'} . " of the attached databases:" . + throw("The requested method $method could not be found in the " + . $self->{'_proxy_type'} . " of the attached databases:" . @databases); return undef; } diff --git a/modules/Bio/EnsEMBL/DBSQL/RawContigAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/RawContigAdaptor.pm index fd11a417b8..01a3ad939d 100644 --- a/modules/Bio/EnsEMBL/DBSQL/RawContigAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/RawContigAdaptor.pm @@ -1,7 +1,6 @@ # # EnsEMBL module for Bio::EnsEMBL::DBSQL::RawContigAdaptor # -# Cared for by Imre Vastrik <vastrik@ebi.ac.uk> # # Copyright Imre Vastrik # @@ -9,19 +8,8 @@ # POD documentation - main docs before the code -=head1 NAME - -Bio::EnsEMBL::DBSQL::RawContigAdaptor - MySQL database adapter class -for EnsEMBL RawContig Objects - -=head1 SYNOPSIS - -$contig_adaptor = $database_adaptor->get_RawContigAdaptor(); -$contig = $contig_adaptor->fetch_by_dbID(1234); - -=head1 DESCRIPTION - -Allows for the retrieval and storage of RawContig objects from the database. +=head1 NAME Bio::EnsEMBL::DBSQL::RawContigAdaptor +- DEPRECATED use Bio::EnsEMBL::DBSQL::SliceAdaptor instead =head1 CONTACT @@ -29,66 +17,37 @@ Post questions to the EnsEMBL developer list <ensembl-dev@ebi.ac.uk> =cut -package Bio::EnsEMBL::DBSQL::RawContigAdaptor; - -use vars qw(@ISA); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; -use DBI; +package Bio::EnsEMBL::DBSQL::RawContigAdaptor; +use vars qw(@ISA); -use Bio::EnsEMBL::Clone; +use Bio::EnsEMBL::DBSQL::SliceAdaptor; use Bio::EnsEMBL::RawContig; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); -use Bio::EnsEMBL::Utils::Cache; # CPAN LRU Cache module -my $RAW_CONTIG_CACHE_SIZE = 20; +@ISA = qw(Bio::EnsEMBL::DBSQL::SliceAdaptor); -@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); -=head2 new +=head2 fetch_by_dbID - Arg [1] : list of arguments @args - Example : $contig_adaptor = new Bio::EnsEMBL::RawContigAdaptor($db); - Description: Creates a new RawContigAdaptor - Returntype : Bio::EnsEMBL::RawContig - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::DBConnection + Description: DEPRECATED use SliceAdaptor::new instead =cut sub new { - my($class, @args) = @_; + my $class = shift; - #call super class constructor - my $self = $class->SUPER::new(@args); - - #Initialize caching data structures - tie(%{$self->{_raw_contig_cache}}, - 'Bio::EnsEMBL::Utils::Cache', - $RAW_CONTIG_CACHE_SIZE); - - return $self; + deprecate("Bio::EnsEMBL::DBSQL::RawContigAdaptor is a deprecated class.\n" . + "Use the Bio::EnsEMBL::DBSQL::SliceAdaptor class instead"); + return $class->SUPER::new(@_); } - =head2 fetch_by_dbID - Arg [1] : int $dbID - the database identifier for the contig to retrieve - Example : $contig = $raw_contig_adaptor->fetch_by_dbID(1234); - Description: Retreives a RawContig object from the database. RawContigs - retrieved by this method are in fact lazy loaded and not - populated at all. Once data is actually requested from a - RawContig object the attributes are pulled from the database. - This is far faster for many requests which do not require - populated Contigs. However, if a list of fully filled contigs - is going to be required, then it may be much faster to use - the fetch_filled_by_dbIDs method. - Returntype : Bio::EnsEMBL::RawContig - Exceptions : none - Caller : general + Description: DEPRECATED use SliceAdaptor::fetch_by_seq_region_id instead =cut @@ -96,58 +55,39 @@ sub fetch_by_dbID { my $self = shift; my $dbID = shift; - # retrieve the raw contig from the cache - my $raw_contig = $self->{_raw_contig_cache}->{$dbID}; - - unless($raw_contig) { - # the cache did not contain a raw contig, create a new empty 'lazy loaded' - # contig under the assumption that the contig data will not be - # needed. If the data is needed then it can be loaded from the DB by - # other db adaptor functions + deprecate('Use SliceAdaptor::fetch_by_seq_region_id instead'); - $raw_contig = new Bio::EnsEMBL::RawContig($dbID, $self); + my $contig = $self->fetch_by_seq_region_id($dbID); - #store the new raw contig in the cache - $self->{_raw_contig_cache}->{$dbID} = $raw_contig; - } - - return $raw_contig; + #change blessing to contig so old contig functions still work + return bless($contig, 'Bio::EnsEMBL::RawContig'); } =head2 fetch_all - Arg [1] : none - Example : @contigs = @{$raw_contig_adaptor->fetch_all()}; - Description: Retrieves all of the contig objects in the database. This will - be a very slow request on a full-sized database - Returntype : listref of Bio::EnsEMBL::RawContig - Exceptions : none - Caller : general + Description: DEPRECATED use SliceAdaptor::fetch_all instead =cut sub fetch_all { my $self = shift; - my @res; - my $sth = $self->prepare( "SELECT contig_id, name, clone_id, length, - embl_offset, dna_id - FROM contig " ); - $sth->execute(); + deprecate('Use SliceAdaptor::fetch_all instead'); + + my $result = $self->SUPER::fetch_all('seqlevel'); - return $self->_contig_from_sth( $sth ); + #change blessings to RawContig so old contig functions still work + foreach my $contig (@$result) { + bless $contig, 'Bio::EnsEMBL::RawContig'; + } + + return $result; } =head2 fetch_by_name - Arg [1] : string $name - the name of the contig to retrieve - Example : $contig = $rca->fetch_by_name('AC004501.1.1.39507'); - Description: Retrieves a contig from the database using the contig name - Returntype : Bio::EnsEMBL::RawContig - Exceptions : none - Caller : general + Description: DEPRECATED use SliceAdaptor::fetch_by_region instead =cut @@ -155,76 +95,43 @@ sub fetch_by_name { my $self = shift; my $name = shift; - my $sth = $self->prepare( "SELECT contig_id, name, clone_id, length, - embl_offset, dna_id - FROM contig - WHERE name = '$name'" ); - $sth->execute(); - - my ( $contig ) = @{$self->_contig_from_sth( $sth )}; + deprecate('Use SliceAdaptor::fetch_by_region instead'); + + #assume that by 'contig' what is actually meant is seq level + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $cs = $csa->fetch_sequence_level(); - return $contig; + my $contig = $self->fetch_by_region($cs->name, + $name, + undef, + undef, + undef, + $cs->version); + + #change blessing to RawContig so old contig functions still work + return bless $contig, 'Bio::EnsEMBL::RawContig'; } =head2 fetch_filled_by_dbIDs - Arg [1] : list of ints @contig_ids - The list of contigs to retrieve - Example : @contigs = $raw_contig_adaptor->fetch_filled_by_dbIDs(120, 121); - Description: Returns a hashref of RawContigs retrieved from the database. - The contigs are fully filled, and their attached clone is - retrieved fully filled as well. - Returntype : hasref of RawContigs, with dbIDs as keys - Exceptions : none - Caller : Bio::EnsEMBL::Slice::get_tiling_path + Description: DEPRECATED use SliceAdaptor::fetch_by_seq_region_id instead =cut sub fetch_filled_by_dbIDs { my $self = shift; my @contig_ids = @_; - my %result = (); - if(scalar(@contig_ids) == 0) { - return (); - } + deprecate('Use SliceAdaptor::fetch_by_seq_region_id instead'); + + my %result = (); - my $sth = $self->prepare( "SELECT co.contig_id, co.name, co.clone_id, - co.length, co.embl_offset, co.dna_id, - cl.embl_acc, cl.embl_version, - cl.name, cl.version, cl.htg_phase, - UNIX_TIMESTAMP(cl.created), UNIX_TIMESTAMP(cl.modified) - FROM contig co, clone cl - WHERE co.contig_id IN ( " . - join( ", ", @contig_ids ) . ") - AND co.clone_id = cl.clone_id" ); - - - - $sth->execute(); - - while( my $aref = $sth->fetchrow_arrayref() ) { - my($contig_id, $contig_name, $contig_clone_id, $contig_length, - $contig_embl_offset, $contig_dna_id, $clone_embl_acc, - $clone_embl_version, $clone_name, $clone_version, $clone_htg_phase, - $clone_created, $clone_modified) = @$aref; - - my $contig = Bio::EnsEMBL::RawContig->new( $contig_id, $self ); - $self->_fill_contig_from_arrayref( $contig,$aref ); - my $clone = Bio::EnsEMBL::Clone->new - ( - $self->db->get_CloneAdaptor(), - $contig_clone_id, $clone_name, - $clone_embl_acc, $clone_version, , - $clone_embl_version, $clone_htg_phase, - $clone_created, $clone_modified - ); - $contig->clone( $clone ); - - $result{ $contig->dbID() } = $contig; - - $self->{_raw_contig_cache}->{$contig->dbID()} = $contig; + foreach my $contig_id (@contig_ids) { + my $contig = $self->fetch_by_seq_region_id($contig_id); + #change blessing to Bio::EnsEMBL::RawContig so old functions still work + bless $contig, 'Bio::EnsEMBL::RawContig'; + $result{$contig_id} = $contig; } return \%result; @@ -233,14 +140,7 @@ sub fetch_filled_by_dbIDs { =head2 fetch_all_by_Clone - Arg [1] : Bio::EnsEMBL::Clone $clone - The clone object that the contigs are desired from - Example : $contigs = raw_contig_adaptor->fetch_all_by_Clone($clone); - Description: Returns a list reference of contig objects on a particular - clone. - Returntype : list reference of Bio::EnsEMBL::RawContig objects - Exceptions : none - Caller : general + Description: DEPRECATED use Slice::project instead =cut @@ -248,294 +148,64 @@ sub fetch_all_by_Clone { my $self = shift; my $clone = shift; - my $clone_id = $clone->dbID; - - my $sth = $self->prepare( "SELECT contig_id, name, clone_id, length, - embl_offset, dna_id - FROM contig - WHERE clone_id = $clone_id" ); + deprecate('Use Slice::project instead'); - return $self->_contig_from_sth( $sth ); -} + #project this clone to contig coord system + #assume that by 'contig' what is actually meant is seq level + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $cs = $csa->fetch_sequence_level(); + my $projection = $clone->project($cs->name, $cs->version); + my @out; + foreach my $seg (@$projection) { + my $contig = $seg->[2]; + #rebless into contig so old method calls still work + bless $contig, 'Bio::EnsEMBL::RawContig'; + push @out, $contig; + } + return \@out; +} =head2 fetch_attributes - Arg [1] : Bio::EnsEMBL::RawContig $contig - Example : $raw_contig_adaptor->fetch_attributes($contig); - Description: Fills in the attributes of a lazy-loaded RawContig object. - RawContig. - Returntype : none - Exceptions : thrown if the attributes for a contig could not be filled - Caller : Bio::EnsEMBL::RawContig + Description: DEPRECATED This method is no longer needed and does nothing =cut sub fetch_attributes { - my $self = shift; - my $contig = shift; - - my $dbID = $contig->dbID(); - - unless($dbID && $contig->adaptor) { - #do nothing, we do not know where to get the attributes from - return; - } - - my $sth = $self->prepare( "SELECT contig_id, name, clone_id, length, - embl_offset, dna_id - FROM contig - WHERE contig_id = $dbID" ); - $sth->execute(); - - my $aref = $sth->fetchrow_arrayref(); - if( defined $aref ) { - $self->_fill_contig_from_arrayref( $contig, $aref ); - } else { - $self->throw( "Couldnt fetch contig, unexpected .." ); - } + deprecate('This method is no longer needed and does nothing'); + return; } =head2 store - Arg [1] : Bio::EnsEMBL::RawContig $contig - The contig to store in the database. - Arg [2] : Bio::EnsEMBL::Clone $clone - The clone the contig is on - Example : my $contig_id = $raw_contig_adaptor->store($contig, $clone); - Description: Stores a contig and its associated DNA sequence in the database, - returns the database id of the new database record. Attaches - this adaptor to the the contig object and sets its dbID on - success. - Returntype : int - Exceptions : thrown if $contig arg is not defined, $clone arg is not a clone - or if the database insertion fails. - Caller : Bio::EnsEMBL::Clone::store + Description: DEPRECATED XXX Replacement may need to be written =cut sub store { - my ($self, $contig, $clone) = @_; - - unless($contig && $contig->isa('Bio::EnsEMBL::RawContig')) { - $self->throw('contig arg is not a Bio::EnsEMBL::RawContig'); - } - unless($clone && $clone->isa('Bio::EnsEMBL::Clone')) { - $self->throw('clone arg is not a Bio::EnsEMBL::Clone'); - } - - my $date = $clone->created(); - my $dna = $contig->seq(); - my $dna_id = $self->db->get_SequenceAdaptor->store($dna, $date); - - my $sth = $self->prepare("INSERT INTO contig (name, - clone_id, - length, - embl_offset, - dna_id) - VALUES ( ?, ?, ?, ?, ? )"); - my $rv = $sth->execute($contig->name(), - $clone->dbID(), - $contig->length(), - $contig->embl_offset(), - $dna_id); - - unless($rv) { - $self->throw("Failed to insert contig " . $contig->name . "into database"); - } - - $sth->finish; - - $sth = $self->prepare("SELECT last_insert_id()"); - $sth->execute(); - my ($contig_id) = $sth->fetchrow_array(); - - $sth->finish; - - $contig->dbID($contig_id); - $contig->adaptor($self); - - return $contig_id; -} - - -=head2 _contig_from_sth - - Arg [1] : DBI Statementhandle $sth - Example : @contigs = $self->_contig_from_sth($sth); - Description: PRIVATE creates a contig from an executed DBI statement handle. - Returntype : listref of Bio::EnsEMBL::RawContig - Exceptions : thrown if the statement handle is not defined - Caller : internal - -=cut - -sub _contig_from_sth { - my $self = shift; - my $sth = shift; - - if( !defined $sth ) { - $self->throw("Bad internal error - no statement!"); - } - - my @res = (); - - $sth->execute(); - while( my $aref = $sth->fetchrow_arrayref() ) { - - my $contig = Bio::EnsEMBL::RawContig->new( $aref->[0], $self ); - $self->_fill_contig_from_arrayref( $contig, $aref ); - - push( @res, $contig ); - } - - return \@res; -} - - - -=head2 _fill_contig_from_arrayref - - Arg [1] : DBI array reference $aref - Arg [2] : Bio::EnsEMBL::RawContig $contig - Example : $contig = $self->_fill_contig_from_arrayref($arr_ref); - Description: PRIVATE Populates an empty RawContig object from an - array ref to an SQL query - Returntype : Bio::EnsEMBL::RawContig - Exceptions : thrown if - Caller : internal - -=cut - -sub _fill_contig_from_arrayref { - my $self = shift; - my $contig = shift; - my $aref = shift; - - if( !defined $aref ) { - $self->throw("Bad internal error - no array ref"); - } - - my ( $contig_id, $name, $clone_id, $length, $offset, $dna_id) = @$aref; - - - (defined $length) && $contig->length( $length ); - (defined $name) && $contig->name( $name ); - (defined $offset) && $contig->embl_offset( $offset ); - - # maybe these should be lazy fetched... - $contig->_clone_id($clone_id); - - #my $clone = $self->db->get_CloneAdaptor->fetch_by_dbID($clone_id); - #$contig->clone( $clone ); - - - return $contig; -} - - -=head2 deleteObj - - Arg [1] : none - Example : none - Description: Cleans up object references contained within this object so - that proper garbage collection can occur. - Returntype : none - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::DBConnection::deleteObj - -=cut - -sub deleteObj { - my $self = shift; - - #print STDERR "\t\tRawContigAdaptor::deleteObj\n"; - - $self->SUPER::deleteObj(); - - #flush internal cache - %{$self->{'_raw_contig_cache'}} = (); + ### XXX Does a replacement need to be implemented? + deprecate('No replacement has been implemented'); + return 0; } =head2 remove - Arg [1] : Bio::EnsEMBL::RawContig $contig - Example : $rawcontig_adaptor->remove($contig) - Description: This removes a contig (itself) plus any attached features and dna. - The method loops over available 5 available feature adaptors and - removes features on them individually. - Returntype : none - Exceptions : Throw if unable to get one of the feature adaptors. - Throw if unable to identify the dna to remove. - Throw if unable to remove record from dna table. - Throw if unable to remove contig. - Caller : Bio::EnsEMBL::DBSQL::CloneAdaptor + Description: DEPRECATED XXX Replacement may need to be written =cut sub remove { - my ($self, $contig) = @_; - - # The list of feature adaptors to be looped over - my @adaptor_list = ($self->db()->get_SimpleFeatureAdaptor(), - $self->db()->get_RepeatFeatureAdaptor(), - $self->db()->get_PredictionTranscriptAdaptor(), - $self->db()->get_ProteinAlignFeatureAdaptor(), - $self->db()->get_DnaAlignFeatureAdaptor()); - - foreach my $adaptor ( @adaptor_list ) { - $adaptor->remove_by_RawContig($contig); - } - - # Delete DNA as long as we aren't using a remote DNA database. - if ($self->db ne $self->db->dnadb) { - $self->warn("Using a remote dna database - not deleting dna\n"); - } else { - - # Get the dna_id for the delete - my $sth = $self->prepare("SELECT dna_id FROM contig where contig_id = ?"); - $sth->execute($contig->dbID); - $self->throw("Failed to find any dna for dna_id '$contig->dbID'") - unless $sth->rows; - - # Do the delete - my $dna_id = $sth->fetchrow_array; - $sth = $self->prepare("DELETE FROM dna WHERE dna_id = $dna_id"); - $sth->execute; - my $flag_found=0; - if($sth->rows){ - $flag_found=1; - } - # now try dnac - eval since table might not be present.. - $sth = $self->prepare("DELETE FROM dnac WHERE dna_id = $dna_id"); - eval{ - $sth->execute; - }; - if($@){ - }else{ - if($sth->rows){ - $flag_found=1; - } - } - - if($flag_found==0){ - $self->throw("Failed to delete dna for dna_id '$dna_id'") - } - } - - # Remove the contig - my $sth = $self->prepare("DELETE FROM contig WHERE contig_id = ?"); - $sth->execute($contig->dbID); - $self->throw("Failed to delete contigs for contig_id '$contig->dbID'") - unless $sth->rows; - + ### XXX Does a replacement need to be implemented? + deprecate('No replacement has been implemened'); + return 0; } @@ -543,14 +213,8 @@ sub remove { sub fetch_all_names{ my ($self) = @_; - my $sql = "select name from contig"; - my $sth = $self->prepare($sql); - $sth->execute; - my @names; - while(my ($name) = $sth->fetchrow){ - push(@names, $name); - } - + deprecate('Use SliceAdaptor::fetch_all instead'); + my @names = map {$_->seq_region_name} @{$self->fetch_all()}; return \@names; } diff --git a/modules/Bio/EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm index bba12c33b5..a3586b3463 100644 --- a/modules/Bio/EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/RepeatConsensusAdaptor.pm @@ -11,9 +11,14 @@ Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor -=head1 SYNOPSIS +=head1 -$repeat_consensus_adaptor = $database_adaptor->get_RepeatConsensusAdaptor(); +$rca = $database_adaptor->get_RepeatConsensusAdaptor(); + +$repeat_consensus = $rca->fetch_by_dbID(132); +$repeat_consensus = $rca->fetch_by_name_class('AluSx', 'SINE/Alu'); + +$rca->store($rc1, $rc2, $rc3); =head1 DESCRIPTION @@ -25,14 +30,9 @@ Email jgrg@ebi.ac.uk =head1 CONTACT -Arne Stabenau - stabenau@ebi.ac.uk -Graham McVicker - mcvicker@ebi.ac.uk -Ewan Birney - birney@ebi.ac.uk - -=head1 APPENDIX +Post questions to the EnsEMBL developer list ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut @@ -41,8 +41,9 @@ package Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor; use strict; use Bio::EnsEMBL::DBSQL::BaseAdaptor; use Bio::EnsEMBL::RepeatConsensus; -use vars qw(@ISA); +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); +use vars qw(@ISA); @ISA = ('Bio::EnsEMBL::DBSQL::BaseAdaptor'); @@ -62,9 +63,9 @@ use vars qw(@ISA); sub fetch_by_dbID { my( $self, $db_id ) = @_; - my ($rc) = @{$self->_generic_fetch("repeat_consensus_id = $db_id")}; + my ($rc) = @{$self->_generic_fetch("repeat_consensus_id = $db_id")}; - return $rc; + return $rc; } @@ -84,7 +85,7 @@ sub fetch_by_dbID { sub fetch_by_name { my( $self, $name ) = @_; - my ($rc) = @{$self->_generic_fetch("repeat_name = '$name'")}; + my ($rc) = @{$self->_generic_fetch("repeat_name = '$name'")}; return $rc; } @@ -119,14 +120,14 @@ sub fetch_by_name_class { } -=head2 fetch_by_class_seq +=head2 fetch_all_by_class_seq Arg [1] : string $class the class of the repeat consensus to obtain Arg [2] : string $seq the sequence of the repeat consensus to obtain Example : $rc = $repeat_consensus_adaptor-> - fetch_by_name_class('trf', 'ATGGTGTCA'); + fetch_all_by_class_seq('trf', 'ATGGTGTCA'); Description: Obtains a repeat consensus from the database via its class and sequence Returntype : listREF of Bio::EnsEMBL::RepeatConsensus @@ -135,7 +136,7 @@ sub fetch_by_name_class { =cut -sub fetch_by_class_seq { +sub fetch_all_by_class_seq { my( $self, $class, $seq ) = @_; return $self->_generic_fetch(qq{ @@ -145,6 +146,12 @@ sub fetch_by_class_seq { } +sub fetch_by_class_seq { + deprecate('Use fetch_all_by_class_seq instead'); + fetch_all_by_class_seq(@_); +} + + =head2 _generic_fetch Arg [1] : string $where_clause @@ -159,37 +166,37 @@ sub fetch_by_class_seq { sub _generic_fetch { my( $self, $where_clause ) = @_; - - my( $repeat_consensus_id, - $repeat_name, - $repeat_class, - $repeat_length, - ); - + + my( $repeat_consensus_id, $repeat_name, $repeat_class,$repeat_length, + $repeat_consensus ); + my $sth = $self->prepare(qq{ SELECT repeat_consensus_id , repeat_name , repeat_class , LENGTH(repeat_consensus) + , repeat_consensus FROM repeat_consensus WHERE }. $where_clause); + $sth->execute; $sth->bind_columns( \$repeat_consensus_id, \$repeat_name, \$repeat_class, \$repeat_length, + \$repeat_consensus ); - - my( @consensi ); + + my @consensi; while ($sth->fetch) { - my $rc = Bio::EnsEMBL::RepeatConsensus->new; - $rc->dbID($repeat_consensus_id); - $rc->name($repeat_name); - $rc->repeat_class($repeat_class); - $rc->length($repeat_length); - $rc->adaptor($self); - push(@consensi, $rc); + push @consensi, Bio::EnsEMBL::RepeatConsensus->new + (-DBID => $repeat_consensus_id, + -NAME => $repeat_name, + -REPEAT_CLASS => $repeat_class, + -LENGTH => $repeat_length, + -ADAPTOR => $self, + -REPEAT_CONSENSUS => $repeat_consensus); } return \@consensi; } @@ -208,7 +215,7 @@ sub _generic_fetch { sub store { my( $self, @consensi ) = @_; - + my $sth = $self->prepare(q{ INSERT into repeat_consensus( repeat_consensus_id , repeat_name @@ -216,20 +223,20 @@ sub store { , repeat_consensus ) VALUES (NULL, ?,?,?) }); - + foreach my $rc (@consensi) { my $name = $rc->name - or $self->throw("name not set"); + or throw("name not set"); my $class = $rc->repeat_class - or $self->throw("repeat_class not set"); + or throw("repeat_class not set"); my $seq = $rc->repeat_consensus - or $self->throw("repeat_consensus not set"); - + or throw("repeat_consensus not set"); + $sth->execute($name, $class, $seq); - + my $db_id = $sth->{'mysql_insertid'} - or $self->throw("Didn't get an insertid from the INSERT statement"); - + or throw("Didn't get an insertid from the INSERT statement"); + $rc->dbID($db_id); $rc->adaptor($self); } diff --git a/modules/Bio/EnsEMBL/DBSQL/RepeatFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/RepeatFeatureAdaptor.pm index da83a31378..26db9489d3 100644 --- a/modules/Bio/EnsEMBL/DBSQL/RepeatFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/RepeatFeatureAdaptor.pm @@ -13,56 +13,49 @@ Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor =head1 SYNOPSIS -$repeat_feature_adaptor = $database_adaptor->get_RepeatFeatureAdaptor(); +$rfa = $database_adaptor->get_RepeatFeatureAdaptor(); + +my $repeat = $rfa->fetch_by_dbID(1234); +my @repeats = @{$rfa->fetch_all_by_Slice($slice)}; =head1 DESCRIPTION This is an adaptor for the retrieval and storage of RepeatFeature objects from the RepeatFeature database. Most of the implementation is in the -superclass BaseFeatureAdaptor. +superclass BaseFeatureAdaptor. =head1 AUTHOR - James Gilbert -Email jgrg@ebi.ac.uk - =head1 CONTACT -Arne Stabenau - stabenau@ebi.ac.uk -Graham McVicker - mcvicker@ebi.ac.uk -Ewan Birney - birney@ebi.ac.uk - -=head1 APPENDIX +Post questions to the EnsEMBL developer list: ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... - package Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor; use strict; use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::RepeatFeature; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); use vars qw(@ISA); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); -=head2 _tablename - - Arg [1] : none - Example : none - Description: PROTECTED Implementation of abstract superclass method to - provide the name of the tables to query - Returntype : string - Exceptions : none - Caller : internal +# _tablename +# +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the tables to query +# Returntype : string +# Exceptions : none +# Caller : internal -=cut sub _tables { my $self = shift; @@ -71,26 +64,24 @@ sub _tables { } -=head2 _columns - - Arg [1] : none - Example : none - Description: PROTECTED Implementation of abstract superclass method to - provide the name of the columns to query - Returntype : list of strings - Exceptions : none - Caller : internal - -=cut +# _columns +# +# Arg [1] : none +# Example : none +# Description: PROTECTED Implementation of abstract superclass method to +# provide the name of the columns to query +# Returntype : list of strings +# Exceptions : none +# Caller : internal sub _columns { my $self = shift; - + return qw (r.repeat_feature_id - r.contig_id - r.contig_start - r.contig_end - r.contig_strand + r.seq_region_id + r.seq_region_start + r.seq_region_end + r.seq_region_strand r.repeat_consensus_id r.repeat_start r.repeat_end @@ -102,18 +93,15 @@ sub _columns { } - -=head2 _default_where_clause - - Arg [1] : none - Example : none - Description: Overrides superclass method to provide an additional - table joining constraint before the SQL query is performed. - Returntype : string - Exceptions : none - Caller : generic_fetch - -=cut +# _default_where_clause +# Arg [1] : none +# Example : none +# Description: Overrides superclass method to provide an additional +# table joining constraint before the SQL query is performed. +# Returntype : string +# Exceptions : none +# Caller : generic_fetch +# sub _default_where_clause { my $self = shift; @@ -122,90 +110,161 @@ sub _default_where_clause { } -=head2 _obj_from_hashref - Arg [1] : Hashreference $hashref - Example : none - Description: PROTECTED implementation of abstract superclass method. - responsible for the creation of RepeatFeatures from a - hashref generated from an SQL query - Returntype : listref of Bio::EnsEMBL::RepeatFeatures in contig coordinates - Exceptions : none - Caller : internal - -=cut +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of RepeatFeatures from a +# hashref generated from an SQL query sub _objs_from_sth { - my ($self, $sth) = @_; + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # my $rca = $self->db()->get_RepeatConsensusAdaptor(); - my $ca = $self->db()->get_RawContigAdaptor(); + my $sa = $self->db()->get_SliceAdaptor(); my $aa = $self->db->get_AnalysisAdaptor(); my @features; my %rc_hash; my %analysis_hash; - my %contig_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; - my($repeat_feature_id, $contig_id, $contig_start, $contig_end, - $contig_strand, $repeat_consensus_id, $repeat_start, $repeat_end, + my($repeat_feature_id, $seq_region_id, $seq_region_start, $seq_region_end, + $seq_region_strand, $repeat_consensus_id, $repeat_start, $repeat_end, $analysis_id, $score, $repeat_name, $repeat_class, $repeat_consensus); - - $sth->bind_columns( \$repeat_feature_id, \$contig_id, \$contig_start, - \$contig_end, \$contig_strand, \$repeat_consensus_id, - \$repeat_start,\$repeat_end, \$analysis_id, \$score, - \$repeat_name, \$repeat_class, + + $sth->bind_columns( \$repeat_feature_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, + \$repeat_consensus_id, \$repeat_start,\$repeat_end, + \$analysis_id, \$score, \$repeat_name, \$repeat_class, \$repeat_consensus ); - my $rc; - my $contig; - my $analysis; + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } - while($sth->fetch()) { + FEATURE: while($sth->fetch()) { #create a repeat consensus object - unless($rc = $rc_hash{$repeat_consensus_id}) { - $rc = new Bio::EnsEMBL::RepeatConsensus; - $rc->dbID($repeat_consensus_id); - $rc->repeat_class($repeat_class); - $rc->name($repeat_name); - $rc->repeat_consensus($repeat_consensus); - $rc->adaptor($rca); - - $rc_hash{$repeat_consensus_id} = $rc; + my $rc = $rc_hash{$repeat_consensus_id} ||= + Bio::EnsEMBL::RepeatConsensus->new + (-DBID => $repeat_consensus_id, + -ADAPTOR => $rca, + -NAME => $repeat_name, + -REPEAT_CLASS => $repeat_class, + -REPEAT_CONSENSUS => $repeat_consensus, + -LENGTH => length($repeat_consensus)); + + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); + + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); } - - unless($analysis = $analysis_hash{$analysis_id}) { - $analysis = $aa->fetch_by_dbID($analysis_id); - $analysis_hash{$analysis_id} = $analysis; + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } } - unless($contig = $contig_hash{$contig_id}) { - $contig = $ca->fetch_by_dbID($contig_id); - $contig_hash{$contig_id} = $contig; + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; } - #create the new repeat feature - push @features, Bio::EnsEMBL::RepeatFeature->new_fast( - { '_gsf_tag_hash' => {}, - '_gsf_sub_array' => [], - '_parse_h' => {}, - '_analysis' => $analysis, - '_gsf_start' => $contig_start, - '_gsf_end' => $contig_end, - '_gsf_strand' => $contig_strand, - '_gsf_score' => $score, - '_hstart' => $repeat_start, - '_hend' => $repeat_end, - '_repeat_consensus' => $rc, - '_adaptor' => $self, - '_gsf_seq' => $contig, - '_db_id' => $repeat_feature_id } ); + #finally, create the new repeat feature + push @features, Bio::EnsEMBL::RepeatFeature->new_fast + ( { 'analysis' => $analysis, + 'start' => $seq_region_start, + 'end' => $seq_region_end, + 'strand' => $seq_region_strand, + 'score' => $score, + 'hstart' => $repeat_start, + 'hend' => $repeat_end, + 'repeat_consensus' => $rc, + 'adaptor' => $self, + 'slice' => $slice, + 'dbID' => $repeat_feature_id } ); } return \@features; } - + =head2 store @@ -222,16 +281,18 @@ sub _objs_from_sth { sub store { my( $self, @repeats ) = @_; - - my $rca = $self->db->get_RepeatConsensusAdaptor; + + my $db = $self->db(); + my $rca = $db->get_RepeatConsensusAdaptor(); + my $sa = $db->get_SliceAdaptor(); my ($cons, $db_id); my $sth = $self->prepare(qq{ INSERT into repeat_feature( repeat_feature_id - , contig_id - , contig_start - , contig_end - , contig_strand + , seq_region_id + , seq_region_start + , seq_region_end + , seq_region_strand , repeat_consensus_id , repeat_start , repeat_end @@ -240,10 +301,19 @@ sub store { VALUES(NULL, ?,?,?,?,?,?,?,?,?) }); - foreach my $rf (@repeats) { - $self->throw("Must have a RepeatConsensus attached") - unless defined ($cons = $rf->repeat_consensus); - + FEATURE: foreach my $rf (@repeats) { + if(!ref($rf) || !$rf->isa('Bio::EnsEMBL::RepeatFeature')) { + throw('Expected RepeatFeature argument not [' . ref($rf) .'].'); + } + + if($rf->is_stored($db)) { + warning("RepeatFeature [".$rf->dbID."] is already stored in this DB."); + next FEATURE; + } + + my $cons = $rf->repeat_consensus(); + throw("Must have a RepeatConsensus attached") if(!defined($cons)); + # for tandem repeats - simply store consensus and repeat # one pair per hit. don't need to check consensi stored # already. consensus has name and class set to 'trf' @@ -251,12 +321,12 @@ sub store { if ($cons->repeat_class eq 'trf') { # Look for matches already stored - my @match = @{$rca->fetch_by_class_seq('trf', $cons->repeat_consensus)}; + my @match = @{$rca->fetch_by_class_seq('trf', $cons->repeat_consensus)}; if (@match) { - $cons->dbID($match[0]->dbID()); + $cons->dbID($match[0]->dbID()); } else { - $rca->store($cons); + $rca->store($cons); } } elsif ($cons->repeat_class eq 'Simple_repeat') { @@ -266,67 +336,63 @@ sub store { $cons->repeat_consensus($rcon); # Look for matches already stored - my $match = $rca->fetch_by_name_class($cons->name, 'Simple_repeat'); + my $match = $rca->fetch_by_name_class($cons->name, 'Simple_repeat'); if ($match) { - $cons->dbID($match->dbID()); + $cons->dbID($match->dbID()); } else { - $rca->store($cons); + $rca->store($cons); } } else { # for other repeats - need to see if a consensus is stored already - unless ($cons->dbID) { - my $match = ($rca->fetch_by_name($cons->name)); + if(!$cons->dbID) { + my $match = ($rca->fetch_by_name($cons->name)); - if($match) { - #set the consensus dbID to be the same as the database one - $cons->dbID($match->dbID()); - } else { - # if we don't match a consensus already stored create a fake one - # and set consensus to 'N' as null seq not allowed - # FIXME: not happy with this, but ho hum ... - $self->warn("Can't find " . $cons->name . "\n"); - $cons->repeat_consensus("N"); - $rca->store($cons); - } - - #if (@match > 1) { - #multiple consensi were matched - # $self->warn(@match . " consensi for " . $cons->name . "\n"); - #} + if($match) { + #set the consensus dbID to be the same as the database one + $cons->dbID($match->dbID()); + } else { + # if we don't match a consensus already stored create a fake one + # and set consensus to 'N' as null seq not allowed + # FIXME: not happy with this, but ho hum ... + warning("Can't find " . $cons->name . "\n"); + $cons->repeat_consensus("N"); + $rca->store($cons); + } } + + #if (@match > 1) { + #multiple consensi were matched + # $self->warn(@match . " consensi for " . $cons->name . "\n"); + #} } - - my $contig = $rf->entire_seq(); - - unless(defined $contig && $contig->isa("Bio::EnsEMBL::RawContig")) { - $self->throw("RepeatFeature cannot be stored without a contig " . - "attached via the attach_seq method"); - } unless($contig->dbID()) { - $self->throw("RepeatFeature cannot be stored because attached contig " . - "does not have a dbID"); + + my $slice = $rf->slice(); + if(!ref($slice) || !$slice->isa("Bio::EnsEMBL::Slice")) { + throw("RepeatFeature cannot be stored without an associated slice."); } - - # store analysis if not there already - $self->db->get_AnalysisAdaptor->store($rf->analysis); - - $sth->execute( - $contig->dbID(), - $rf->start, - $rf->end, - $rf->strand, - $rf->repeat_consensus->dbID(), - $rf->hstart, - $rf->hend, - $rf->score, - $rf->analysis->dbID, - ); + + my $original = $rf; + my $seq_region_id; + ($rf, $seq_region_id) = $self->_pre_store($rf); + + $sth->execute($seq_region_id, + $rf->start, + $rf->end, + $rf->strand, + $rf->repeat_consensus->dbID(), + $rf->hstart, + $rf->hend, + $rf->score, + $rf->analysis->dbID); my $db_id = $sth->{'mysql_insertid'} - or $self->throw("Didn't get an insertid from the INSERT statement"); - $rf->dbID($db_id); + or throw("Didn't get an insertid from the INSERT statement"); + + $original->dbID($db_id); + $original->adaptor($self); } } diff --git a/modules/Bio/EnsEMBL/DBSQL/SequenceAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SequenceAdaptor.pm index 1c9aabbb1c..6af66ae180 100644 --- a/modules/Bio/EnsEMBL/DBSQL/SequenceAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/SequenceAdaptor.pm @@ -1,5 +1,5 @@ # -# EnsEMBL module for Bio::EnsEMBL::DSQL::SequenceAdaptor +# EnsEMBL module for Bio::EnsEMBL::DBSQL::SequenceAdaptor # # Cared for by Arne Stabenau <stabenau@ebi.ac.uk> # @@ -7,8 +7,6 @@ # # You may distribute this module under the same terms as perl itself -# POD documentation - main docs before the code - =head1 NAME Bio::EnsEMBL::DBSQL::SequenceAdaptor - produce sequence strings from locations @@ -16,206 +14,48 @@ Bio::EnsEMBL::DBSQL::SequenceAdaptor - produce sequence strings from locations =head1 SYNOPSIS $seq_adptr = $database_adaptor->get_SequenceAdaptor(); -$dna = $seq_adptr->fetch_by_RawContig_start_end_strand($contig, 1, 1000, -1); +$dna = ${$seq_adptr->fetch_by_Slice_start_end_strand($slice, 1, 1000, -1);} =head1 DESCRIPTION -An adaptor for the retrieval of sequences of DNA from the database +An adaptor for the retrieval of DNA sequence from the EnsEMBL database =head1 CONTACT -Arne Stabenau - stabenau@ebi.ac.uk -Elia Stupka - elia@fugu-sg.org - -=head1 APPENDIX +Post questions/comments to the EnsEMBL development list: +ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... package Bio::EnsEMBL::DBSQL::SequenceAdaptor; + use vars qw(@ISA); use strict; -# Object preamble - inheriets from Bio::Root::Object use Bio::EnsEMBL::DBSQL::BaseAdaptor; - +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor); - -=head2 fetch_by_RawContig_start_end_strand - - Arg [1] : Bio::EnsEMBL::RawContig $contig - Arg [2] : int $start - Arg [3] : int $end - a -1 means until the end - Arg [4] : int $strand - -1, 1 are possible values - Arg [5] : (optional) force read from compressed DNA table - Example : $dna = $seq_adp->fetch_by_RawContig_start_end_strand($contig, 1, - 1000, -1); - Description: retrieves the dna string from the database from the - given RawContig. - Returntype : string - Exceptions : thrown if start < 1 - Caller : Bio::EnsEMBL::RawContig::seq(), RawContig::subseq() - -=cut - -sub fetch_by_RawContig_start_end_strand { - my ( $self, $contig, $start, $end, $strand, $compressed ) = @_; - my $sth; - - $compressed ||= 0; - - if( $start < 1 ) { - $self->throw( "Wrong parameters" ); - } - - unless($contig && ref $contig && $contig->isa("Bio::EnsEMBL::RawContig")) { - $self->throw("contig arg must be contig not a [$contig]"); - } - - { - - my $query; - - if($compressed==1 || $self->is_compressed){ - - # query for compressed mode, uses hex and a different range - # (compression implemented by th, 14/7/03) - # needs to getback dna_id as will have to check for Ns in dnan table - my $start4=int(($start-1)/4)+1; - - if( $end == -1 ) { - $query = "SELECT c.length, HEX( SUBSTRING( d.sequence, $start4 ) ), - d.n_line - FROM dnac d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - - } else { - my $end4=int(($end-1)/4)+1; - my $length4 = $end4 - $start4 + 1; - if( $length4 < 1 ) { - $self->throw( "Wrong parameters" ); - } - - $query = "SELECT c.length, HEX( SUBSTRING( d.sequence, $start4, $length4 ) ), - d.n_line - FROM dnac d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - } - - }else{ - - if( $end == -1 ) { - - $query = "SELECT c.length, SUBSTRING( d.sequence, $start ) - FROM dna d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - - } else { - my $length = $end - $start + 1; - if( $length < 1 ) { - $self->throw( "Wrong parameters" ); - } - - $query = "SELECT c.length, SUBSTRING( d.sequence, $start, $length ) - FROM dna d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - } - - } - - #use the dna db if defined - if( defined $self->db()->dnadb() ) { - $sth = $self->db()->dnadb()->prepare( $query ); - } else { - $sth = $self->prepare( $query ); - } - - $sth->execute($contig->dbID()); - - if( my $aref = $sth->fetchrow_arrayref() ) { - my ( $length, $seq, $n_line ) = @$aref; - my $lenx=length($seq); - if($compressed || $self->is_compressed()){ - $seq=$self->_dna_uncompress($length,$n_line,$start,$end,\$seq); - } - $seq =~ s/\s//g; - if( $strand == -1 ) { - return $self->_reverse_comp( $seq ); - } else { - return $seq; - } - } else { - - my $flag; - if($self->is_compressed==0){ - # found nothing...perhaps in this entry is compressed - check - # and if present, set is_compressed - eval{ - $query = "SELECT c.length, d.dna_id - FROM dnac d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - $sth = $self->prepare( $query ); - $sth->execute($contig->dbID()); - if( my $aref = $sth->fetchrow_arrayref() ) { - $flag=1; - } - }; - if($flag==1){ - $self->is_compressed(1); - print "Switched to compressed DNA reading mode\n"; - redo; - } - }else{ - # found nothing...perhaps in this entry is uncompressed - check - # and if present, set is_compressed - eval{ - $query = "SELECT c.length, d.dna_id - FROM dna d, contig c - WHERE d.dna_id = c.dna_id - AND c.contig_id = ?"; - $sth = $self->prepare( $query ); - $sth->execute($contig->dbID()); - if( my $aref = $sth->fetchrow_arrayref() ) { - $flag=1; - } - }; - if($flag==1){ - $self->is_compressed(0); - print "Switched to uncompressed DNA reading mode\n"; - redo; - } - } - return undef; - } - } -} - - - - =head2 fetch_by_Slice_start_end_strand Arg [1] : Bio::EnsEMBL::Slice slice The slice from which you want the sequence - Arg [2] : int startBasePair + Arg [2] : (optional) int startBasePair + The start base pair relative to the start of the slice. Negative + values or values greater than the length of the slice are fine. + default = 1 + Arg [3] : (optional) int endBasePair + The end base pair relative to the start of the slice. Negative + values or values greater than the length of the slice are fine, + but the end must be greater than or equal to the start count from 1 - Arg [3] : int endBasePair - count from 1, -1 is last one - Arg [4] : int strand + default = the length of the slice + Arg [4] : (optional) int strand 1, -1 + default = 1 Example : $dna = $seq_adptr->fetch_by_Slice_start_end_strand($slice, 1, 1000, -1); Description: retrieves from db the sequence for this slice @@ -229,392 +69,225 @@ sub fetch_by_RawContig_start_end_strand { sub fetch_by_Slice_start_end_strand { my ( $self, $slice, $start, $end, $strand ) = @_; - my $seq= ""; - - if( !$slice ){ - $self->throw("need a slice to work\n"); + if(!ref($slice) || !$slice->isa("Bio::EnsEMBL::Slice")) { + throw("Slice argument is required."); } - unless - ($slice->isa("Bio::EnsEMBL::Slice")) { - $self->throw("$slice isn't a slice"); - } - - if( $end == -1 ) { - $end = $slice->chr_end() - $slice->chr_start() + 1; - } + $start = 1 if(!defined($start)); + + $end = $slice->end() - $slice->start() + 1 if(!defined($end)); + + throw("Start must be less than or equal to end.") if($start > $end); + + $strand ||= 1; + + #get a new slice that spans the exact region to retrieve dna from + my $right_expand = $end - $slice->length(); #negative is fine + my $left_expand = 1 - $start; #negative is fine - # need to check the strand'edness of the slice as this - # affects the direction in which the dna seq is grabbed - if ( $slice->strand == 1 ) { - $seq = $self->fetch_by_assembly_location - ( - $slice->chr_start()+$start-1, - $slice->chr_start()+$end-1, - $strand, - $slice->chr_name(), - $slice->assembly_type() - ); + if($right_expand || $left_expand) { + $slice = $slice->expand($left_expand, $right_expand); } - elsif ( $slice->strand == -1 ) { - $seq = $self->fetch_by_assembly_location - ( - $slice->chr_end()-$end+1, - $slice->chr_end()-$start+1, - $strand * -1, #have to make strand relative to slice's strand - $slice->chr_name(), - $slice->assembly_type() - ); + + #retrieve normalized 'non-symlinked' slices + #this allows us to support haplotypes and PARs + my $slice_adaptor = $slice->adaptor(); + my @symproj=@{$slice_adaptor->fetch_normalized_slice_projection($slice)}; + + if(@symproj == 0) { + throw('Could not retrieve normalized Slices. Database contains ' . + 'incorrect assembly_exception information.'); } - else { - $self->throw("Incorrect strand set on slice $slice"); + + #call this method again with any slices that were 'symlinked' to by this + #slice + if(@symproj != 1 || $symproj[0]->[2] != $slice) { + my $seq; + foreach my $segment (@symproj) { + my $symlink_slice = $segment->[2]; + #get sequence from each symlinked area + $seq .= ${$self->fetch_by_Slice_start_end_strand($symlink_slice, + 1,undef,1)}; + } + if($strand == -1) { + _reverse_comp(\$seq); + } + return \$seq; } - return $seq; -} + # we need to project this slice onto the sequence coordinate system + # even if the slice is in the same coord system, we want to trim out + # flanking gaps (if the slice is past the edges of the seqregion) + my $csa = $self->db->get_CoordSystemAdaptor(); + my $seqlevel = $csa->fetch_sequence_level(); + my @projection=@{$slice->project($seqlevel->name(), $seqlevel->version())}; -=head2 fetch_by_assembly_location + my $seq = ''; + my $total = 0; + my $tmp_seq; - Arg [1] : int $chrStart - Arg [2] : int $chrEnd - Arg [3] : int $strand - Arg [4] : txt $chrName - Arg [5] : txt $assemblyType - Example : $dna = $fetch_by_assembly_location( 1, 100, -1, 'X', NCBI30 ); - Description: retrieve specified sequence from db. Using AssemblyMapper. Gaps - are filled with N - Returntype : string - Exceptions : Wrong parameters give undef as result - Caller : general, fetch_by_Slice_start_end_strand + #fetch sequence from each of the sequence regions projected onto + foreach my $segment (@projection) { + my ($start, $end, $seq_slice) = @$segment; -=cut + #check for gaps between segments and pad them with Ns + my $gap = $start - $total - 1; + if($gap) { + $seq .= 'N' x $gap; + } -sub fetch_by_assembly_location { - my ( $self, $chrStart, $chrEnd, - $strand, $chrName, $assemblyType ) = @_; + my $seq_region_id = $slice_adaptor->get_seq_region_id($seq_slice); + + $tmp_seq = ${$self->_fetch_seq($seq_region_id, + $seq_slice->start, $seq_slice->length())}; - my $mapper = - $self->db->get_AssemblyMapperAdaptor->fetch_by_type($assemblyType); - # $mapper->register_region($chrName,$chrStart,$chrEnd); - - my @coord_list = $mapper->map_coordinates_to_rawcontig - ( $chrName, $chrStart, $chrEnd, $strand ); - - # for each of the pieces get sequence - my $seq = ""; - for my $segment ( @coord_list ) { - if( $segment->isa( "Bio::EnsEMBL::Mapper::Coordinate" )) { - - my $contig = - $self->db->get_RawContigAdaptor()->fetch_by_dbID($segment->id()); - - my $contig_seq = $self->fetch_by_RawContig_start_end_strand - ( $contig, - $segment->start(), - $segment->end(), - $segment->strand() ); - - $seq .= $contig_seq; - - } else { - # its a gap - my $length = $segment->end() - $segment->start() + 1; - $seq .= "N" x $length; + #reverse compliment on negatively oriented slices + if($seq_slice->strand == -1) { + _reverse_comp(\$tmp_seq); } + + $seq .= $tmp_seq; + + $total = $end; } - - return $seq; + + #check for any remaining gaps at the end + my $gap = $slice->length - $total; + if($gap) { + $seq .= 'N' x $gap; + } + + #if the sequence is too short it is because we came in with a seqlevel + #slice that was partially off of the seq_region. Pad the end with Ns + #to make long enough + if(length($seq) != $slice->length()) { + $seq .= 'N' x ($slice->length() - length($seq)); + } + + #if they asked for the negative slice strand revcomp the whole thing + _reverse_comp(\$seq) if($strand == -1); + + return \$seq; } +sub _fetch_seq { + my $self = shift; + my $seq_region_id = shift; + my $start = shift; + my $length = shift; + + my $tmp_seq; + + my $sth = $self->prepare( + "SELECT SUBSTRING( d.sequence, ?, ?) + FROM dna d + WHERE d.seq_region_id = ?"); + $sth->execute($start, $length, $seq_region_id); + $sth->bind_columns(\$tmp_seq); + $sth->fetch(); + $sth->finish(); + + return \$tmp_seq; +} + + =head2 store - Arg [1] : string $sequence the dna sequence to be stored in the database - Arg [2] : string $date create date to be associated with the dna sequence - to be stored. - Example : $dbID = $seq_adaptor->store('ACTGGGTACCAAACAAACACAACA', $date); + Arg [1] : int $seq_region_id the id of the sequence region this dna + will be associated with. + Arg [2] : string $sequence the dna sequence to be stored + in the database. Note that the sequence passed in will be + converted to uppercase. + Example : $seq_adaptor->store(11, 'ACTGGGTACCAAACAAACACAACA'); Description: stores a dna sequence in the databases dna table and returns the database identifier for the new record. - Returntype : int - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::RawContigAdaptor::store + Returntype : none + Exceptions : throw if the database insert fails + Caller : sequence loading scripts =cut sub store { - my ($self, $sequence, $date) = @_; - - $sequence =~ tr/atgcn/ATGCN/; + my ($self, $seq_region_id, $sequence) = @_; - # save compressed - if($self->is_compressed){ - return $self->store_compressed($sequence,$date); + if(!$seq_region_id) { + throw('seq_region_id is required'); } - - my $statement = $self->prepare(" - INSERT INTO dna(sequence,created) - VALUES(?, FROM_UNIXTIME(?)) - "); - - my $rv = $statement->execute($sequence, $date); - $self->throw("Failed to insert dna $sequence") unless $rv; - - $statement->finish; - - $statement = $self->prepare("SELECT last_insert_id()"); - $statement->execute(); - my ($id) = $statement->fetchrow(); - $statement->finish; - - return $id; -} + $sequence = uc($sequence); -=head2 store_compressed + my $statement = + $self->prepare("INSERT INTO dna(seq_region_id, sequence) VALUES(?,?)"); - Arg [1] : string $sequence the dna sequence to be stored in the database - Arg [2] : string $date create date to be associated with the dna sequence - to be stored. - Arg [3] : dbid (optional) - Returntype : int - Exceptions : none - Caller : Bio::EnsEMBL::DBSQL::RawContigAdaptor::store_compressed, - Bio::EnsEMBL::DBSQL::RawContigAdaptor::store + $statement->execute($seq_region_id, $sequence); -=cut + $statement->finish(); -sub store_compressed { - my ($self, $sequence, $date, $dbid) = @_; - - # look for N's, save list of start and ends and convert to A's - my $n_line; - my $len=length($sequence); - #print "DEBUG $sequence ($len)\n"; - { - if($sequence=~/^([ACGT]*)([^ACGT]+)(.*)$/){ - my $l1=length($1); - my $l2=length($2); - my $start=$l1+1; - my $end=$l1+$l2; - $sequence=$1.('A' x $l2).$3; - # might be more than one letter - my $insert=$2; - #print "DEBUG: $insert ($start,$end)\n"; - { - if($insert=~/^(\w)(\1*)(.*)$/){ - my $insert2=$1.$2; - my $end2=$start+length($insert2)-1; - $n_line.=" " if $n_line; - my $modifier=''; - if($1 ne 'N'){$modifier=":$1";} - $n_line.="$start-$end2$modifier"; - #print "DEBUG: write $start-$end2$modifier\n"; - $insert=$3; - $start=$end2+1; - redo if $insert; - } - } - redo; - } - } - #print "DEBUG $sequence\n"; - - # convert ACGT -> 00011011 - my $sequence_comp=$self->_dna_compress($sequence); - - my $id; - if($dbid){ - my $statement = $self->prepare(" - INSERT INTO dnac(dna_id,sequence,created,n_line) - VALUES(?, ?, FROM_UNIXTIME(?), ?) - "); - - my $rv = $statement->execute($dbid,$sequence_comp, $date, $n_line); - $self->throw("Failed to insert dna $sequence") unless $rv; - $statement->finish; - $id=$dbid; - }else{ - my $statement = $self->prepare(" - INSERT INTO dnac(sequence,created,flag_dnan) - VALUES(?, FROM_UNIXTIME(?), ?) - "); - - my $rv = $statement->execute($sequence_comp, $date, $n_line); - $self->throw("Failed to insert dna $sequence") unless $rv; - $statement->finish; - - $statement = $self->prepare("SELECT last_insert_id()"); - $statement->execute(); - ($id) = $statement->fetchrow(); - $statement->finish; - } - return $id; + return; } -=head2 _dna_compress +=head2 _reverse_comp - Arg 1 : txt $dna_sequence - Function : build hex representation of string (ACGT -> 1B) - Returntype: txt - Exceptions: none - Caller : private to this module + Arg [1] : reference to a string $seqref + Example : $self->_reverse_comp(\$seqref); + Description: Does an in place reverse compliment of a passed in string + reference. The string is passed by reference + rather than by value for memory efficiency. + Returntype : none + Exceptions : none + Caller : internal =cut -{ - - my %table=( - 'AA'=>'0', - 'AC'=>'1', - 'AG'=>'2', - 'AT'=>'3', - 'CA'=>'4', - 'CC'=>'5', - 'CG'=>'6', - 'CT'=>'7', - 'GA'=>'8', - 'GC'=>'9', - 'GG'=>'A', - 'GT'=>'B', - 'TA'=>'C', - 'TC'=>'D', - 'TG'=>'E', - 'TT'=>'F', - ); - - sub _dna_compress { - my $self = shift; - my $seq = shift; - # length must be multiple of 4, so pad if necesary - my $len=length($seq); - $seq.='A' x ($len-(int($len/4))*4); - #print "DEBUG $seq\n"; - # process in blocks of 2 to do conversion - $seq=~s/(\G..)/$table{$1}/g; - return pack("H*",$seq); - } -} +sub _reverse_comp { + my $seqref = shift; + $$seqref = reverse( $$seqref ); + $$seqref =~ + tr/acgtrymkswhbvdnxACGTRYMKSWHBVDNX/tgcayrkmswdvbhnxTGCAYRKMSWDVBHNX/; -=head2 _dna_uncompress + return undef; +} - Arg [1] : int $length - Arg [2] : int $n_line - Arg [3] : int $start - Arg [4] : int $end - Arg [5] : reference to $seq (hex string) - Function : converts hex string from DB into ACGT with appropriate truncation - Returntype : string - Exceptions : none - Caller : private to this module -=cut -{ - - my %table=( - '0'=>'AA', - '1'=>'AC', - '2'=>'AG', - '3'=>'AT', - '4'=>'CA', - '5'=>'CC', - '6'=>'CG', - '7'=>'CT', - '8'=>'GA', - '9'=>'GC', - 'A'=>'GG', - 'B'=>'GT', - 'C'=>'TA', - 'D'=>'TC', - 'E'=>'TG', - 'F'=>'TT', - ); - - sub _dna_uncompress { - my($self,$length,$n_line,$start,$end,$rseq)=@_; - - # convert sequence back to ACGT (already in Hex) - my $seq2=join('',map{$table{$_}}split(//,$$rseq)); - - # calculate extent of $seq2 and truncate - my $start4=(int(($start-1)/4)+1)*4-3; - my $off=$start-$start4; - my $len; - if($end==-1){ - $end=$length; - } - $len=$end-$start+1; - #print "truncate: $start,$start4,$end,$len\n"; - my $seq=substr($seq2,$off,$len); - - # mask with N's - foreach my $range (split(/ /,$n_line)){ - my($st,$ed)=split(/\-/,$range); - my $char='N'; - if($ed=~/(\d+):(\w)/){ - $ed=$1; - $char=$2; - } - #print "before: $st-$ed $start-$end\n"; - # check in range - next if($ed<$start || $st>$end); - $ed=$end if $ed>$end; - $st=$start if $st<$start; - #print "after: $st-$ed\n"; - my $len=$ed-$st+1; - $st-=$start; - substr($seq,$st,$len)=$char x $len; - } - - return $seq; - } -} +=head2 fetch_by_assembly_location + Description: DEPRECATED use fetch_by_Slice_start_end_strand() instead. -=head2 is_compressed +=cut - Arg [1] : (optional) flag - to set or unset - Example : $adaptor->is_compressed(1) - Description: Getter/Setter for whether compressed DNA should be read/written - Returntype : true/false - Exceptions : none - Caller : Adaptors inherited from BaseAdaptor +sub fetch_by_assembly_location { + my ( $self, $chrStart, $chrEnd, + $strand, $chrName, $assemblyType ) = @_; -=cut + deprecate('Use fetch_by_Slice_start_end_strand() instead'); + + my $slice_adaptor = $self->db->get_SliceAdaptor(); + my $slice = $slice_adaptor->fetch_by_region('toplevel', $chrName, + $chrStart, $chrEnd, + $strand); -sub is_compressed { - my( $obj, $flag ) = @_; - if (defined $flag) { - $obj->{'_is_truncated'} = $flag ? 1 : 0; - } - return $obj->{'_is_truncated'}; + return $self->fetch_by_Slice_start_end_strand($slice,1, $slice->length,1); } -=head2 _reverse_comp +=head2 fetch_by_RawContig_start_end_strand - Arg 1 : txt $dna_sequence - Function : build reverse complement string - Returntype: txt - Exceptions: none - Caller : private to this module + Description: DEPRECATED use fetch_by_Slice_start_end_strand instead =cut -sub _reverse_comp { - my $self = shift; - my $seq = shift; - - $seq = reverse( $seq ); - $seq =~ - tr/acgtrymkswhbvdnxACGTRYMKSWHBVDNX/tgcayrkmswdvbhnxTGCAYRKMSWDVBHNX/; - return $seq; +sub fetch_by_RawContig_start_end_strand { + deprecate('Use fetch_by_Slice_start_end_strand instead.'); + fetch_by_Slice_start_end_strand(@_); } + + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/SimpleFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SimpleFeatureAdaptor.pm index fdc46d8533..69ce3e6fe9 100644 --- a/modules/Bio/EnsEMBL/DBSQL/SimpleFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/SimpleFeatureAdaptor.pm @@ -1,7 +1,6 @@ # # EnsEMBL module for Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor # -# Cared for by Ewan Birney <birney@ebi.ac.uk> # # Copyright EMBL/EBI # @@ -11,38 +10,30 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor +Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor =head1 SYNOPSIS my $simple_feature_adaptor = $database_adaptor->get_SimpleFeatureAdaptor(); -@simple_features = $simple_feature_adaptor->fetch_by_Slice($slice); +@simple_features = @{$simple_feature_adaptor->fetch_all_by_Slice($slice)}; =head1 DESCRIPTION -Simple Feature Adaptor - database access for simple features +Simple Feature Adaptor - database access for simple features =head1 AUTHOR - Ewan Birney -Email birney@ebi.ac.uk - -=head1 APPENDIX - -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor; use vars qw(@ISA); use strict; use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::SimpleFeature; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); @@ -55,7 +46,7 @@ use Bio::EnsEMBL::SimpleFeature; Description: Stores a list of simple feature objects in the database Returntype : none Exceptions : thrown if @sf is not defined, if any of the features do not - have an attached contig object, + have an attached slice. or if any elements of @sf are not Bio::EnsEMBL::SeqFeatures Caller : general @@ -63,45 +54,52 @@ use Bio::EnsEMBL::SimpleFeature; sub store{ my ($self,@sf) = @_; - + if( scalar(@sf) == 0 ) { - $self->throw("Must call store with list of sequence features"); + throw("Must call store with list of SimpleFeatures"); } - - my $sth = - $self->prepare("INSERT INTO simple_feature (contig_id, contig_start, - contig_end, contig_strand, - display_label, analysis_id, - score) - VALUES (?,?,?,?,?,?,?)"); - - foreach my $sf ( @sf ) { + + my $sth = $self->prepare + ("INSERT INTO simple_feature (seq_region_id, seq_region_start, " . + "seq_region_end, seq_region_strand, " . + "display_label, analysis_id, score) " . + "VALUES (?,?,?,?,?,?,?)"); + + my $db = $self->db(); + my $analysis_adaptor = $db->get_AnalysisAdaptor(); + + FEATURE: foreach my $sf ( @sf ) { + if( !ref $sf || !$sf->isa("Bio::EnsEMBL::SimpleFeature") ) { - $self->throw("Simple feature must be an Ensembl SimpleFeature, " . - "not a [$sf]"); + throw("SimpleFeature must be an Ensembl SimpleFeature, " . + "not a [".ref($sf)."]"); } - - if( !defined $sf->analysis ) { - $self->throw("Cannot store sequence features without analysis"); + + if($sf->is_stored($db)) { + warning("SimpleFeature [".$sf->dbID."] is already stored" . + " in this database."); + next FEATURE; } - if( !defined $sf->analysis->dbID ) { - $self->throw("I think we should always have an analysis object " . - "which has originated from the database. No dbID, " . - "not putting in!"); + + if(!defined($sf->analysis)) { + throw("An analysis must be attached to the features to be stored."); } - - my $contig = $sf->entire_seq(); - unless(defined $contig && $contig->isa("Bio::EnsEMBL::RawContig")) { - $self->throw("Cannot store feature without a Contig object attached via " - . "attach_seq\n"); + + #store the analysis if it has not been stored yet + if(!$sf->analysis->is_stored($db)) { + $analysis_adaptor->store($sf->analysis()); } - # store analysis if not there already - $self->db->get_AnalysisAdaptor->store($sf->analysis); + my $original = $sf; + my $seq_region_id; + ($sf, $seq_region_id) = $self->_pre_store($sf); - $sth->execute($contig->dbID(), $sf->start, $sf->end, $sf->strand, - $sf->display_label, $sf->analysis->dbID, $sf->score); - } + $sth->execute($seq_region_id, $sf->start, $sf->end, $sf->strand, + $sf->display_label, $sf->analysis->dbID, $sf->score); + + $original->dbID($sth->{'mysql_insertid'}); + $original->adaptor($self); + } } @@ -139,9 +137,9 @@ sub _tables { sub _columns { my $self = shift; - return qw( sf.simple_feature_id - sf.contig_id sf.contig_start sf.contig_end sf.contig_strand - sf.display_label sf.analysis_id score ); + return qw( sf.simple_feature_id + sf.seq_region_id sf.seq_region_start sf.seq_region_end + sf.seq_region_strand sf.display_label sf.analysis_id sf.score ); } @@ -158,33 +156,133 @@ sub _columns { =cut sub _objs_from_sth { - my ($self, $sth) = @_; + my ($self, $sth, $mapper, $dest_slice) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $aa = $self->db->get_AnalysisAdaptor(); + + my @features; + my %analysis_hash; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + + my($simple_feature_id,$seq_region_id, $seq_region_start, $seq_region_end, + $seq_region_strand, $display_label, $analysis_id, $score); + + $sth->bind_columns(\$simple_feature_id,\$seq_region_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, \$display_label, + \$analysis_id, \$score); + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } - my $aa = $self->db()->get_AnalysisAdaptor(); - my $rca = $self->db()->get_RawContigAdaptor(); + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } - my @features = (); - - my $hashref; - while($hashref = $sth->fetchrow_hashref()) { - my $contig = $rca->fetch_by_dbID($hashref->{'contig_id'}); - my $analysis = $aa->fetch_by_dbID($hashref->{'analysis_id'}); - - my $out = Bio::EnsEMBL::SimpleFeature->new(); - $out->start($hashref->{'contig_start'}); - $out->end($hashref->{'contig_end'}); - $out->strand($hashref->{'contig_strand'}); - $out->analysis($analysis); - $out->display_label($hashref->{'display_label'}); - $out->attach_seq($contig); - - if($hashref->{'score'}) { - $out->score($hashref->{'score'}); + FEATURE: while($sth->fetch()) { + #get the analysis object + my $analysis = $analysis_hash{$analysis_id} ||= + $aa->fetch_by_dbID($analysis_id); + + #get the slice object + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; } - - $out->dbID($hashref->{'simple_feature_id'}); - push @features, $out; + push @features, Bio::EnsEMBL::SimpleFeature->new_fast( + {'start' => $seq_region_start, + 'end' => $seq_region_end, + 'strand' => $seq_region_strand, + 'slice' => $slice, + 'analysis' => $analysis, + 'adaptor' => $self, + 'dbID' => $simple_feature_id, + 'display_label' => $display_label, + 'score' => $score}); } return \@features; diff --git a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm index 0dfd888126..bf99509e44 100644 --- a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm @@ -12,66 +12,103 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::SliceAdaptor - Adaptors for slices +Bio::EnsEMBL::DBSQL::SliceAdaptor - A database aware adaptor responsible for +the creation of Slice objects. =head1 SYNOPSIS - + my $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + my $slice_adaptor = $db->get_SliceAdaptor(); + + #get a slice on the entire chromosome X + my $chr_slice = $slice_adaptor->fetch_by_region('chromosome','X'); + + #get a slice for each clone in the database + foreach my $cln_slice (@{$slice_adaptor->fetch_all('clone')}) { + #do something with clone + } + + #get a slice which is part of NT_004321 + my $spctg_slice = $slice_adaptor->fetch_by_region('supercontig','NT_004321', + 200_000, 600_000); =head1 DESCRIPTION -Factory for getting out slices of assemblies. WebSlice is the highly -accelerated version for the web site. +This module is responsible for fetching Slices representing genomic regions +from a database. Details on how slices can be used are in the +Bio::EnsEMBL::Slice module. =head1 AUTHOR - Ewan Birney This modules is part of the Ensembl project http://www.ensembl.org -Email ensembl-dev@ebi.ac.uk - -Describe contact details here +=head1 CONTACT -=head1 APPENDIX +Email ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object -methods. Internal methods are usually preceded with a _ +=head1 METHODS =cut -# Let the code begin... - - package Bio::EnsEMBL::DBSQL::SliceAdaptor; use vars qw(@ISA); use strict; -# Object preamble - inherits from Bio::EnsEMBL::Root use Bio::EnsEMBL::DBSQL::BaseAdaptor; use Bio::EnsEMBL::Slice; use Bio::EnsEMBL::DBSQL::DBAdaptor; +use Bio::EnsEMBL::Mapper; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); +use Bio::EnsEMBL::Utils::Cache; #CPAN LRU cache @ISA = ('Bio::EnsEMBL::DBSQL::BaseAdaptor'); +my $SEQ_REGION_CACHE_SIZE = 100; -# new is inherited from BaseAdaptor +sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + my $self = $class->SUPER::new(@_); -=head2 fetch_by_chr_start_end + my %name_cache; + my %id_cache; - Arg [1] : string $chr - the name of the chromosome to obtain a slice for - Arg [2] : int $start - the start basepair of the slice to obtain in chromosomal - coordinates - Arg [3] : int $end - the end basepair of the slice to obtain in chromosomal - coordinates - Example : $slice = $slice_adaptor->fetch_by_chr_start_end(); + tie(%name_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE); + tie(%id_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE); + + $self->{'_name_cache'} = \%name_cache; + $self->{'_id_cache'} = \%id_cache; + + return $self; +} + + +=head2 fetch_by_region + + Arg [1] : string $coord_system_name + The name of the coordinate system of the slice to be created + This may be a name of an acutal coordinate system or an alias + to a coordinate system. Valid aliases are 'seqlevel' or + 'toplevel'. + Arg [2] : string $seq_region_name + The name of the sequence region that the slice will be + created on + Arg [3] : int $start (optional, default = 1) + The start of the slice on the sequence region + Arg [4] : int $end (optional, default = seq_region length) + The end of the slice on the sequence region + Arg [5] : int $strand (optional, default = 1) + The orientation of the slice on the sequence region + Arg [6] : string $version (optional, default = default version) + The version of the coordinate system to use (e.g. NCBI33) + Example : $slice = $slice_adaptor->fetch_by_region('chromosome'); Description: Creates a slice object on the given chromosome and coordinates. Returntype : Bio::EnsEMBL::Slice Exceptions : none @@ -79,275 +116,530 @@ use Bio::EnsEMBL::DBSQL::DBAdaptor; =cut -sub fetch_by_chr_start_end { - my ($self,$chr,$start,$end) = @_; - - unless($chr) { - $self->throw("chromosome name argument must be defined and not ''"); +sub fetch_by_region { + my ($self, $coord_system_name, $seq_region_name, + $start, $end, $strand, $version) = @_; + + throw('seq_region_name argument is required') if(!$seq_region_name); + + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $coord_system = $csa->fetch_by_name($coord_system_name,$version); + + #check the cache so we only go to the db if necessary + my $name_cache = $self->{'_name_cache'}; + my $key = lc(join(':',$seq_region_name, + $coord_system->name(), + $coord_system->version)); + + my $length; + + if(exists($name_cache->{$key})) { + $length = $name_cache->{$key}->[1]; + } else { + my $sth = $self->prepare("SELECT seq_region_id, length " . + "FROM seq_region " . + "WHERE name = ? AND coord_system_id = ?"); + + #force seq_region_name cast to string so mysql cannot treat as int + $sth->execute("$seq_region_name", $coord_system->dbID()); + + if($sth->rows() != 1) { + $version ||= ''; + $seq_region_name ||= ''; + $coord_system_name ||= ''; + throw("Cannot create slice on non-existant or ambigous seq_region:\n" . + " coord_system=[$coord_system_name],\n" . + " name=[$seq_region_name],\n" . + " version=[$version]"); } - unless(defined $end) { # Why defined? Is '0' a valid end? - $self->throw("end argument must be defined\n"); - } + my $id; + ($id, $length) = $sth->fetchrow_array(); + $sth->finish(); - unless(defined $start) { - $self->throw("start argument must be defined\n"); - } + #cache results to speed up future queries + $name_cache->{$key} = [$id,$length]; + $self->{'_id_cache'}->{$id} = [$seq_region_name, $length, $coord_system]; + } - if($start > $end) { - $self->throw("start must be less than end: parameters $chr:$start:$end"); - } - - my $slice; - my $type = $self->db->assembly_type(); - - $slice = Bio::EnsEMBL::Slice->new( - -chr_name => $chr, - -chr_start => $start, - -chr_end => $end, - -assembly_type => $type, - -adaptor => $self - ); - - return $slice; + $start = 1 if(!defined($start)); + $strand = 1 if(!defined($strand)); + $end = $length if(!defined($end)); + + if($end < $start) { + throw('start [$start] must be less than or equal to end [$end]'); + } + + return Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => $seq_region_name, + -START => $start, + -END => $end, + -STRAND => $strand, + -ADAPTOR => $self); } -=head2 fetch_by_contig_name +=head2 fetch_by_name Arg [1] : string $name - the name of the contig to obtain a slice for - Arg [2] : (optional) int $size - the size of the flanking regions to obtain (aka context size) - Example : $slc = $slc_adaptor->fetch_by_contig_name('AB000878.1.1.33983'); - Description: Creates a slice object around the specified contig. - If a context size is given, the slice is extended by that - number of basepairs on either side of the contig. + Example : $name = 'chromosome:NCBI34:X:1000000:2000000:1'; + $slice = $slice_adaptor->fetch_by_name($name); + $slice2 = $slice_adaptor->fetch_by_name($slice3->name()); + Description: Fetches a slice using a slice name (i.e. the value returned by + the Slice::name method). This is useful if you wish to + store a unique identifier for a slice in a file or database or + pass a slice over a network. + Slice::name allows you to serialise/marshall a slice and this + method allows you to deserialise/unmarshal it. Returntype : Bio::EnsEMBL::Slice - Exceptions : none - Caller : general + Exceptions : throw if incorrent arg provided + Caller : Pipeline =cut -sub fetch_by_contig_name { - my ($self,$name, $size) = @_; - - if( !defined $size ) {$size=0;} +sub fetch_by_name { + my $self = shift; + my $name = shift; - my ($chr_name,$start,$end) = $self->_get_chr_start_end_of_contig($name); - - $start -= $size; - $end += $size; - - if($start < 1) { - $start = 1; + if(!$name) { + throw("name argument is required"); } - - return $self->fetch_by_chr_start_end($chr_name, $start, $end); + + my @array = split(/:/,$name); + + if(@array != 6) { + throw("Malformed slice name [$name]. Format is " . + "coord_system:version:start:end:strand"); + } + + my ($cs_name, $cs_version, $seq_region, $start, $end, $strand) = @array; + + + return $self->fetch_by_region($cs_name,$seq_region, $start, + $end, $strand, $cs_version); } -=head2 fetch_by_supercontig_name - Arg [1] : string $supercontig_name - Example : $slice = $slice_adaptor->fetch_by_supercontig_name('NT_004321'); - Description: Creates a Slice on the region of the assembly where - the specified super contig lies. Note that this slice will - have the same orientation as the supercontig. If the supercontig - has a negative assembly orientation, the slice will also have - a negative orientation relative to the assembly. +=head2 fetch_by_seq_region_id + + Arg [1] : string $seq_region_id + The internal identifier of the seq_region to create this slice + on + Example : $slice = $slice_adaptor->fetch_by_seq_region_id(34413); + Description: Creates a slice object of an entire seq_region using the + seq_region internal identifier to resolve the seq_region. Returntype : Bio::EnsEMBL::Slice Exceptions : none Caller : general =cut -sub fetch_by_supercontig_name { - my ($self,$supercontig_name) = @_; - - my $assembly_type = $self->db->assembly_type(); - - my $sth = $self->db->prepare( - "SELECT chr.name, a.superctg_ori, MIN(a.chr_start), MAX(a.chr_end) - FROM assembly a, chromosome chr - WHERE superctg_name = ? AND type = ? AND chr.chromosome_id = a.chromosome_id - GROUP BY superctg_name" - ); - - $sth->execute( $supercontig_name, $assembly_type ); - - my ($chr, $strand, $slice_start, $slice_end) = $sth->fetchrow_array; - - my $slice; - - $slice = new Bio::EnsEMBL::Slice - ( - -chr_name => $chr, - -chr_start =>$slice_start, - -chr_end => $slice_end, - -strand => $strand, - -assembly_type => $assembly_type, - -adaptor => $self - ); - - return $slice; +sub fetch_by_seq_region_id { + my ($self, $seq_region_id) = @_; + + my $id_cache = $self->{'_id_cache'}; + + my ($name, $length, $cs); + + if(exists $id_cache->{$seq_region_id}) { + ($name, $length, $cs) = @{$id_cache->{$seq_region_id}}; + } else { + my $sth = $self->prepare("SELECT name, length, coord_system_id " . + "FROM seq_region " . + "WHERE seq_region_id = ?"); + + $sth->execute($seq_region_id); + + if($sth->rows() != 1) { + throw("Cannot create slice on non-existant or ambigous seq_region:" . + " seq_region_id=[$seq_region_id],\n"); + } + + my $cs_id; + ($name, $length, $cs_id) = $sth->fetchrow_array(); + $sth->finish(); + + $cs = $self->db->get_CoordSystemAdaptor->fetch_by_dbID($cs_id); + + #cache results to speed up repeated queries + $id_cache->{$seq_region_id} = [$name, $length, $cs]; + my $key = lc(join(':', $name, $cs->name, $cs->version)); + $self->{'_name_cache'}->{$key} = [$seq_region_id, $length]; + } + + return Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $cs, + -SEQ_REGION_NAME => $name, + -START => 1, + -END => $length, + -STRAND => 1, + -ADAPTOR => $self); } -=head2 list_overlapping_supercontigs + +=head2 get_seq_region_id Arg [1] : Bio::EnsEMBL::Slice $slice - overlapping given Sice - Example : - Description: return the names of the supercontigs that overlap given Slice. - Returntype : listref string - Exceptions : none - Caller : general + The slice to fetch a seq_region_id for + Example : $srid = $slice_adaptor->get_seq_region_id($slice); + Description: Retrieves the seq_region id (in this database) given a slice + Seq region ids are not stored on the slices themselves + because they are intended to be somewhat database independant + and seq_region_ids vary accross databases. + Returntype : int + Exceptions : throw if the seq_region of the slice is not in the db + throw if incorrect arg provided + Caller : BaseFeatureAdaptor =cut +sub get_seq_region_id { + my $self = shift; + my $slice = shift; -sub list_overlapping_supercontigs { - my ($self,$slice) = @_; - my $sth = $self->db->prepare( " - SELECT DISTINCT superctg_name - FROM assembly a, chromosome c - WHERE c.chromosome_id = a.chromosome_id - AND c.name = ? - AND a.type = ? - AND a.chr_end >= ? - AND a.chr_start <= ? - " ); - $sth->execute( $slice->chr_name(), $slice->assembly_type(), - $slice->chr_start(), $slice->chr_end() ); - - my $result = []; - while( my $aref = $sth->fetchrow_arrayref() ) { - push( @$result, $aref->[0] ); - } + if(!$slice || !ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Slice argument is required'); + } + + my $cs_name = $slice->coord_system->name(); + my $cs_version = $slice->coord_system->version(); + my $seq_region_name = $slice->seq_region_name(); + + my $key = lc(join(':', $seq_region_name,$cs_name,$cs_version)); - return $result; + my $name_cache = $self->{'_name_cache'}; + + if(exists($name_cache->{$key})) { + return $name_cache->{$key}->[0]; + } + + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $coord_system = $csa->fetch_by_name($cs_name,$cs_version); + + my $sth = $self->prepare("SELECT seq_region_id, length " . + "FROM seq_region " . + "WHERE name = ? AND coord_system_id = ?"); + + #force seq_region_name cast to string so mysql cannot treat as int + $sth->execute("$seq_region_name", $coord_system->dbID()); + + if($sth->rows() != 1) { + throw("Non existant or ambigous seq_region:\n" . + " coord_system=[$cs_name],\n" . + " name=[$seq_region_name],\n" . + " version=[$cs_version]"); + } + + my($seq_region_id, $length) = $sth->fetchrow_array(); + $sth->finish(); + + #cache information for future requests + $name_cache->{$key} = [$seq_region_id, $length]; + $self->{'_id_cache'}->{$seq_region_id} = + [$seq_region_name, $length, $coord_system]; + + return $seq_region_id; } -=head2 fetch_by_chr_band +=head2 get_seq_region_attribs - Title : fetch_by_chr_band - Usage : - Function: create a Slice representing a series of bands - Example : - Returns : - Args : the band name + Arg [1] : Bio::EnsEMBL::Slice $slice + The slice to fetch attributes for + Example : %attribs = %{$slice_adaptor->get_seq_region_attribs($slice)}; + ($htg_phase) = @{$attribs->{'htg_phase'} || []}; + @synonyms = @{$attribs->{'synonym'} || []}; + Description: Retrieves a reference to a hash containing attrib code values + and listref value keys. + Returntype : hashref + Exceptions : throw if the seq_region of the slice is not in the db + throw if incorrect arg provided + Caller : Bio::EnsEMBL::Slice + +=cut + +sub get_seq_region_attribs { + my $self = shift; + my $slice = shift; + + if(!ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Slice argument is required'); + } + + my $srid = $self->get_seq_region_id($slice); + if(!$srid) { + throw('Slice is not on a seq_region stored in this database.'); + } + + $self->{'_attribs_cache'} ||= {}; + if($self->{'_attribs_cache'}->{$srid}) { + return $self->{'_attribs_cache'}->{$srid}; + } + + my $sth = $self->prepare('SELECT at.code, sra.value ' . + 'FROM seq_region_attrib sra, attrib_type at ' . + 'WHERE sra.seq_region_id = ? ' . + 'AND at.attrib_type_id = sra.attrib_type_id'); + + $sth->execute($srid); + + my($code, $attrib); + $sth->bind_columns(\$code, \$attrib); + + my %attrib_hash; + while($sth->fetch()) { + $attrib_hash{$code} ||= []; + push @{$attrib_hash{$code}}, $attrib; + } + + $sth->finish(); + $self->{'_attribs_cache'} = \%attrib_hash; + return \%attrib_hash; +} + + +=head2 fetch_all + + Arg [1] : string $coord_system_name + The name of the coordinate system to retrieve slices of. + This may be a name of an acutal coordinate system or an alias + to a coordinate system. Valid aliases are 'seqlevel' or + 'toplevel'. + Arg [2] : string $coord_system_version (optional) + The version of the coordinate system to retrieve slices of + Arg [3] : int $max_length (optional) + The maximum length of slices to be returned. Seq_regions which + are larger than $max_length will be split into multiple slices. + If this argument is not provided then slices will not be + split. If this argument is less than 1 a warning will occur and + the slices will not be split. + Arg [4] : int $overlap (optional) + The amount that the returned slices should overlap. By default + this value is 0. If no max_length value is provided but an + overlap which is not zero is provided this argument will be + ignored and a warning will occur. + Example : @chromos = @{$slice_adaptor->fetch_all('chromosome','NCBI33')}; + @contigs = @{$slice_adaptor->fetch_all('contig')}; + + #create chunks of size 100k with 10k overlap + @fixed_chunks = @{$slice_adaptor->fetch_all('chromosome', undef, + 1e5, 1e4); + + Description: Retrieves slices of all seq_regions for a given coordinate + system. This is analagous to the methods fetch_all which were + formerly on the ChromosomeAdaptor, RawContigAdaptor and + CloneAdaptor classes. Slices fetched span the entire + seq_regions and are on the forward strand. + Returntype : listref of Bio::EnsEMBL::Slices + Exceptions : throw if invalid coord system is provided + throw if max_length < 1 is provided + throw if overlap < 0 is provided + throw if overlap is provided but max_length is not + throw if overlap is greater than max_length + Caller : general =cut -sub fetch_by_chr_band { - my ($self,$chr,$band) = @_; - - my $type = $self->db->assembly_type(); - - warn( "XX>" ,$chr, "--", $band ); - my $sth = $self->db->prepare(" - select min(k.chr_start), max(k.chr_end) - from chromosome as c, karyotype as k - where c.chromosome_id = k.chromosome_id and c.name=? and k.band like ? - "); - $sth->execute( $chr, "$band%" ); - my ( $slice_start, $slice_end) = $sth->fetchrow_array; - - warn( $chr, "--", $band ); - unless( defined($slice_start) ) { - my $sth = $self->db->prepare(" - select min(k.chr_start), max(k.chr_end) - from chromosome as c, karyotype as k - where c.chromosome_id = k.chromosome_id and k.band like ? - "); - $sth->execute( "$band%" ); - ( $slice_start, $slice_end) = $sth->fetchrow_array; +sub fetch_all { + my $self = shift; + my $cs_name = shift; + my $cs_version = shift || ''; + + my ($max_length, $overlap) = @_; + + # + # sanity checking of the overlap / maxlength arguments + # + if(defined($max_length) && $max_length < 1) { + throw("Invalid max length [$max_length] provided."); + } + + $overlap ||= 0; + if($overlap != 0) { + if(!defined($max_length)) { + throw("Cannot define overlap without defining valid max_length."); } + if($overlap < 0) { + throw("Cannot define overlap that is less than 0."); + } + if($max_length <= $overlap) { + throw("Overlap must be less than max_length."); + } + } - if(defined $slice_start) { - return new Bio::EnsEMBL::Slice( - -chr_name => $chr, - -chr_start => $slice_start, - -chr_end => $slice_end, - -strand => 1, - -assembly_type => $type - ); + # + # verify existance of requested coord system and get its id + # + my $csa = $self->db->get_CoordSystemAdaptor(); + my $cs = $csa->fetch_by_name($cs_name, $cs_version); + + + # + # Retrieve the seq_region from the database + # + my $sth = $self->prepare('SELECT seq_region_id, name, length ' . + 'FROM seq_region ' . + 'WHERE coord_system_id =?'); + + $sth->execute($cs->dbID); + + my ($seq_region_id, $name, $length); + $sth->bind_columns(\$seq_region_id, \$name, \$length); + + my $name_cache = $self->{'_name_cache'}; + my $id_cache = $self->{'_id_cache'}; + + my $cs_key = lc($cs->name().':'.$cs_version); + + my @out; + while($sth->fetch()) { + #cache values for future reference + my $key = lc($name) . ':'. $cs_key; + $name_cache->{$key} = [$seq_region_id, $length]; + $id_cache->{$seq_region_id} = [$name, $length, $cs]; + + # + # split the seq regions into appropriately sized chunks + # + my $start = 1; + my $end; + my $multiple; + my $number; + + if($max_length && ($length > $overlap)) { + #No seq region may be longer than max_length but we want to make + #them all similar size so that the last one isn't much shorter. + #Divide the seq_region into the largest equal pieces that are shorter + #than max_length + + #calculate number of slices to create + $number = ($length-$overlap) / ($max_length-$overlap); + $number = int($number + 1.0); #round up to int (ceiling) + + #calculate length of created slices + $multiple = $length / $number; + $multiple = int($multiple); #round down to int (floor) + } else { + #just one slice of the whole seq_region + $number = 1; + $multiple = $length; + } + + my $i; + for(my $i=0; $i < $number; $i++) { + $end = $start + $multiple + $overlap; + + #any remainder gets added to the last slice of the seq_region + $end = $length if($i == $number-1); + + push @out, Bio::EnsEMBL::Slice->new(-START => $start, + -END => $end, + -STRAND => 1, + -SEQ_REGION_NAME => $name, + -COORD_SYSTEM => $cs, + -ADAPTOR => $self); + $start += $multiple; } + } - $self->throw("Band not recognised in database"); + return \@out; } -=head2 fetch_by_clone_accession +=head2 fetch_all_non_redundant - Arg [1] : string $clone - the embl accession of the clone object to retrieve - Arg [2] : (optional) int $size - the size of the flanking regions to obtain around the clone - Example : $slc = $slc_adaptor->fetch_by_clone_accession('AC000012',1000); - Description: Creates a Slice around the specified clone. If a context size - is given, the Slice is extended by that number of basepairs on - either side of the clone. Throws if the clone is not golden. - Returntype : Bio::EnsEMBL::Slice - Exceptions : thrown if the clone is not in the assembly + Arg [1] : none + Example : @all = @{$slice_adaptor->fetch_all_non_redundant()}; + Description: Retrieves all non-redundant slices, i.e. those which have + the attribute 'nonredundant' set + Returntype : listref of Bio::EnsEMBL::Slices + Exceptions : none Caller : general =cut -sub fetch_by_clone_accession{ - my ($self,$clone,$size) = @_; +sub fetch_all_non_redundant { - if( !defined $clone ) { - $self->throw("Must have clone to fetch Slice of clone"); - } - if( !defined $size ) {$size=0;} - - my $type = $self->db->assembly_type() - or $self->throw("No assembly type defined"); - - my $sth = $self->db->prepare("SELECT c.name, - a.chr_start, - a.chr_end, - chr.name - FROM assembly a, - contig c, - clone cl, - chromosome chr - WHERE c.clone_id = cl.clone_id - AND cl.name = '$clone' - AND c.contig_id = a.contig_id - AND a.type = '$type' - AND chr.chromosome_id = a.chromosome_id - ORDER BY a.chr_start" - ); - $sth->execute(); - - my ($contig,$start,$end,$chr_name); - my $counter; - my $first_start; - while ( my @row=$sth->fetchrow_array){ - $counter++; - ($contig,$start,$end,$chr_name)=@row; - if ($counter==1){$first_start=$start;} - } + my $self = shift; - if( !defined $contig ) { - $self->throw("Clone is not on the golden path. Cannot build Slice"); - } - - $first_start -= $size; - $end += $size; + my $sth = $self->prepare("SELECT s.name, s.length, c.coord_system_id " . + "FROM seq_region s, coord_system c, seq_region_attrib sra, attrib_type at " . + "WHERE s.coord_system_id=c.coord_system_id " . + "AND at.code='nonredundant' " . + "AND at.attrib_type_id=sra.attrib_type_id " . + "AND sra.seq_region_id=s.seq_region_id"); - if($first_start < 1) { - $first_start = 1; - } + $sth->execute(); + + my ($name, $length, $cs_id); + $sth->bind_columns(\$name, \$length, \$cs_id); + + # Slice expects a CoordSystem object + my $cs_adaptor = $self->db->get_CoordSystemAdaptor(); + + + my @out; + while($sth->fetch()) { + my $cs = $cs_adaptor->fetch_by_dbID($cs_id); + push @out, Bio::EnsEMBL::Slice->new(-START => 1, + -END => $length, + -STRAND => 1, + -SEQ_REGION_NAME => $name, + -COORD_SYSTEM => $cs, + -ADAPTOR => $self); + } + + return \@out; + +} + + +sub deleteObj { + my $self = shift; + + $self->SUPER::deleteObj; - my $slice = $self->fetch_by_chr_start_end($chr_name, $first_start, $end); - return $slice; + $self->{'_id_cache'} = {}; + $self->{'_name_cache'} = {}; + $self->{'_exc_cache'} = {}; +} + + + +=head2 fetch_by_chr_band + + Title : fetch_by_chr_band + Usage : + Function: create a Slice representing a series of bands + Example : + Returns : + Args : the band name + +=cut + +sub fetch_by_chr_band { + my ($self,$chr,$band) = @_; + + my $chr_slice = $self->fetch_by_region('chromosome', $chr); + + my $seq_region_id = $self->get_seq_region_id($chr_slice); + + my $sth = $self->db->prepare + ("select min(k.chr_start), max(k.chr_end) " . + "from karyotype as k " . + "where k.seq_region_id = ? and k.band like ?"); + + $sth->execute( $seq_region_id, "$band%" ); + my ( $slice_start, $slice_end) = $sth->fetchrow_array; + + if(defined $slice_start) { + return $self->fetch_by_region('chromosome',$chr,$slice_start,$slice_end); + } + + throw("Band not recognised in database"); } @@ -363,10 +655,10 @@ sub fetch_by_clone_accession{ Example : $slc = $sa->fetch_by_transcript_stable_id('ENST00000302930',10); Description: Creates a slice around the region of the specified transcript. If a context size is given, the slice is extended by that - number of basepairs on either side of the - transcript. Throws if the transcript is not golden. + number of basepairs on either side of the + transcript. Returntype : Bio::EnsEMBL::Slice - Exceptions : none + Exceptions : Thrown if the transcript is not in the database. Caller : general =cut @@ -374,14 +666,15 @@ sub fetch_by_clone_accession{ sub fetch_by_transcript_stable_id{ my ($self,$transcriptid,$size) = @_; - # Just get the dbID, then fetch slice by that + throw('Transcript argument is required.') if(!$transcriptid); + my $ta = $self->db->get_TranscriptAdaptor; - my $transcript_obj = $ta->fetch_by_stable_id($transcriptid); - my $dbID = $transcript_obj->dbID; - - return $self->fetch_by_transcript_id($dbID, $size); -} + my $transcript = $ta->fetch_by_stable_id($transcriptid); + throw("Transcript [$transcriptid] does not exist in DB.") if(!$transcript); + + return $self->fetch_by_Feature($transcript, $size); +} @@ -394,12 +687,13 @@ sub fetch_by_transcript_stable_id{ The length of the flanking regions the slice should encompass on either side of the transcript (0 by default) Example : $slc = $sa->fetch_by_transcript_id(24, 1000); - Description: Creates a slice around the region of the specified transcript. - If a context size is given, the slice is extended by that - number of basepairs on either side of the - transcript. + Description: Creates a slice around the region of the specified transcript. + If a context size is given, the slice is extended by that + number of basepairs on either side of the + transcript. Returntype : Bio::EnsEMBL::Slice - Exceptions : thrown on incorrect args + Exceptions : throw on incorrect args + throw if transcript is not in database Caller : general =cut @@ -407,39 +701,14 @@ sub fetch_by_transcript_stable_id{ sub fetch_by_transcript_id { my ($self,$transcriptid,$size) = @_; - unless( defined $transcriptid ) { - $self->throw("Must have transcriptid id to fetch Slice of transcript"); - } + throw('Transcript id argument is required.') if(!$transcriptid); - $size = 0 unless(defined $size); - - my $ta = $self->db->get_TranscriptAdaptor; - my $transcript_obj = $ta->fetch_by_dbID($transcriptid); - - my %exon_transforms; - - my $emptyslice; - for my $exon ( @{$transcript_obj->get_all_Exons()} ) { - $emptyslice = Bio::EnsEMBL::Slice->new( '-empty' => 1, - '-adaptor' => $self, - '-ASSEMBLY_TYPE' => - $self->db->assembly_type); - my $newExon = $exon->transform( $emptyslice ); - $exon_transforms{ $exon } = $newExon; - } - - $transcript_obj->transform( \%exon_transforms ); - - my $start = $transcript_obj->start() - $size; - my $end = $transcript_obj->end() + $size; - - if($start < 1) { - $start = 1; - } - - my $slice = $self->fetch_by_chr_start_end($emptyslice->chr_name, - $start, $end); - return $slice; + my $transcript_adaptor = $self->db()->get_TranscriptAdaptor(); + my $transcript = $transcript_adaptor->fetch_by_dbID($transcriptid); + + throw("Transcript [$transcriptid] does not exist in DB.") if(!$transcript); + + return $self->fetch_by_Feature($transcript, $size); } @@ -447,7 +716,7 @@ sub fetch_by_transcript_id { =head2 fetch_by_gene_stable_id Arg [1] : string $geneid - The stable id of the gene around which the slice is + The stable id of the gene around which the slice is desired Arg [2] : (optional) int $size The length of the flanking regions the slice should encompass @@ -456,243 +725,620 @@ sub fetch_by_transcript_id { Description: Creates a slice around the region of the specified gene. If a context size is given, the slice is extended by that number of basepairs on either side of the gene. + The slice will be created in the genes native coordinate system. Returntype : Bio::EnsEMBL::Slice - Exceptions : none + Exceptions : throw on incorrect args + throw if transcript does not exist Caller : general =cut -sub fetch_by_gene_stable_id{ - my ($self,$geneid,$size) = @_; +sub fetch_by_gene_stable_id { + my ($self,$geneid,$size) = @_; - if( !defined $geneid ) { - $self->throw("Must have gene id to fetch Slice of gene"); - } - my ($chr_name,$start,$end) = $self->_get_chr_start_end_of_gene($geneid); + throw('Gene argument is required.') if(!$geneid); - if( $size =~/([\d+\.]+)%/ ) { - $size = int($1/100 * ($end-$start+1)); - } - if( !defined $size ) {$size=0;} + my $gene_adaptor = $self->db->get_GeneAdaptor(); + my $gene = $gene_adaptor->fetch_by_stable_id($geneid); - if( !defined $start ) { - my $type = $self->db->assembly_type() - or $self->throw("No assembly type defined"); - $self->throw("Gene [$geneid] is not on the golden path '$type'. " . - "Cannot build Slice."); - } - - $start -= $size; - $end += $size; - - if($start < 1) { - $start = 1; - } + throw("Gene [$geneid] does not exist in DB.") if(!$gene); - return $self->fetch_by_chr_start_end($chr_name, $start, $end); + return $self->fetch_by_Feature($gene, $size); } -=head2 fetch_by_chr_name +=head2 fetch_by_Feature - Arg [1] : string $chr_name - Example : $slice = $slice_adaptor->fetch_by_chr_name('20'); - Description: Retrieves a slice on the region of an entire chromosome + Arg [1] : Bio::EnsEMBL::Feature $feat + The feature to fetch the slice around + Arg [2] : int size (optional) + The desired number of flanking basepairs around the feature. + Example : $slice = $slice_adaptor->fetch_by_Feature($feat, 100); + Description: Retrieves a slice around a specific feature. All this really + does is return a resized version of the slice that the feature + is already on. Note that slices returned from this method + are always on the forward strand of the seq_region regardless of + the strandedness of the feature passed in. Returntype : Bio::EnsEMBL::Slice - Exceptions : thrown if $chr_name arg is not supplied - Caller : general + Exceptions : throw if the feature does not have an attached slice + throw if feature argument is not provided + Caller : fetch_by_gene_stable_id, fetch_by_transcript_stable_id, + fetch_by_gene_id, fetch_by_transcript_id =cut -sub fetch_by_chr_name{ - my ($self,$chr_name) = @_; +sub fetch_by_Feature{ + my ($self, $feature, $size) = @_; - unless( $chr_name ) { - $self->throw("Chromosome name argument required"); - } + $size ||= 0; + + if(!ref($feature) || !$feature->isa('Bio::EnsEMBL::Feature')) { + throw('Feature argument expected.'); + } + + my $slice = $feature->slice(); + if(!$slice || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Feature must be attached to a valid slice.'); + } + + my $fstart = $feature->start(); + my $fend = $feature->end(); + if(!defined($fstart) || !defined($fend)) { + throw('Feature must have defined start and end.'); + } + + #convert the feature slice coordinates to seq_region coordinates + my $slice_start = $slice->start(); + my $slice_end = $slice->end(); + my $slice_strand = $slice->strand(); + if($slice_start != 1 || $slice_strand != 1) { + if($slice_strand == 1) { + $fstart = $fstart + $slice_start - 1; + $fend = $fend + $slice_start - 1; + } else { + my $tmp_start = $fstart; + $fstart = $slice_end - $fend + 1; + $fend = $slice_end - $tmp_start + 1; + } + } + + #return a new slice covering the region of the feature + return Bio::EnsEMBL::Slice->new(-seq_region_name => $slice->seq_region_name, + -coord_system => $slice->coord_system, + -start => $fstart - $size, + -end => $fend + $size, + -strand => 1, + -adaptor => $self); +} + + + +=head2 fetch_by_misc_feature_attribute + + Arg [1] : string $attribute_type + The code of the attribute type + Arg [2] : (optional) string $attribute_value + The value of the attribute to fetch by + Arg [3] : (optional) int $size + The amount of flanking region around the misc feature desired. + Example : $slice = $sa->fetch_by_misc_feature_attribute('superctg', + 'NT_030871'); + $slice = $sa->fetch_by_misc_feature_attribute('synonym', + 'AL00012311', + $flanking); + Description: Fetches a slice around a MiscFeature with a particular + attribute type and value. If no value is specified then + the feature with the particular attribute is used. + If no size is specified then 0 is used. + Returntype : Bio::EnsEMBL::Slice + Exceptions : Throw if no feature with the specified attribute type and value + exists in the database + Warning if multiple features with the specified attribute type + and value exist in the database. + Caller : webcode + +=cut + +sub fetch_by_misc_feature_attribute { + my ($self, $attrib_type_code, $attrib_value, $size) = @_; - my $chr_start = 1; - - #set the end of the slice to the end of the chromosome - my $ca = $self->db()->get_ChromosomeAdaptor(); - my $chromosome = $ca->fetch_by_chr_name($chr_name); + my $mfa = $self->db()->get_MiscFeatureAdaptor(); - $self->throw("Unknown chromosome $chr_name") unless $chromosome; + my $feats = $mfa->fetch_all_by_attribute_type_value($attrib_type_code, + $attrib_value); - my $chr_end = $chromosome->length(); + if(@$feats == 0) { + throw("MiscFeature with $attrib_type_code=$attrib_value does " . + "not exist in DB."); + } - my $type = $self->db->assembly_type(); + if(@$feats > 1) { + warning("MiscFeature with $attrib_type_code=$attrib_value is " . + "ambiguous - using first one found."); + } - my $slice = Bio::EnsEMBL::Slice->new - ( - -chr_name => $chr_name, - -chr_start => 1, - -chr_end => $chr_end, - -assembly_type => $type, - -adaptor => $self - ); + my ($feat) = @$feats; - return $slice; + return $self->fetch_by_Feature($feat, $size); } +=head2 fetch_normalized_slice_projection -=head2 fetch_by_mapfrag + Arg [1] : Bio::EnsEMBL::Slice $slice + Example : ( optional ) + Description: gives back a project style result. The returned slices + represent the areas to which there are symlinks for the + given slice. start, end show which area on given slice is + symlinked + Returntype : [[start,end,$slice][]] + Exceptions : none + Caller : BaseFeatureAdaptor + +=cut + + +sub fetch_normalized_slice_projection { + my $self = shift; + my $slice = shift; + + my $slice_seq_region_id = $self->get_seq_region_id( $slice ); + + my $result = $self->{'asm_exc_cache'}->{$slice_seq_region_id}; + + if(!defined($result)) { + my $sql = " + SELECT seq_region_id, seq_region_start, seq_region_end, + exc_type, exc_seq_region_id, exc_seq_region_start, + exc_seq_region_end + FROM assembly_exception + WHERE seq_region_id = ?"; + + my $sth = $self->prepare( $sql ); + $sth->execute( $slice_seq_region_id ); + $result = $sth->fetchall_arrayref(); + $self->{'asm_exc_cache'}->{$slice_seq_region_id} = $result; + } + + my (@haps, @pars); + + foreach my $row (@$result) { + my ( $seq_region_id, $seq_region_start, $seq_region_end, + $exc_type, $exc_seq_region_id, $exc_seq_region_start, + $exc_seq_region_end ) = @$row; + + # need overlapping PAR and all HAPs if any + if( $exc_type eq "PAR" ) { + if( $seq_region_start <= $slice->end() && + $seq_region_end >= $slice->start() ) { + push( @pars, [ $seq_region_start, $seq_region_end, $exc_seq_region_id, + $exc_seq_region_start, $exc_seq_region_end ] ); + } + } else { + push( @haps, [ $seq_region_start, $seq_region_end, $exc_seq_region_id, + $exc_seq_region_start, $exc_seq_region_end ] ); + } + } + + if(!@pars && !@haps) { + #just return this slice, there were no haps or pars + return [[1,$slice->length, $slice]]; + } + + my @syms; + if( @haps > 1 ) { + my @sort_haps = sort { $a->[1] <=> $b->[1] } @haps; + throw( "More than one HAP region not supported yet" ); + } elsif( @haps == 1 ) { + my $hap = $haps[0]; + + my $seq_reg_slice = $self->fetch_by_seq_region_id($slice_seq_region_id); + my $exc_slice = $self->fetch_by_seq_region_id( $hap->[2] ); + + # + # lengths of haplotype and reference in db may be different + # we want to use the maximum possible length for the mapping + # between the two systems + # + my $len1 = $seq_reg_slice->length(); + my $len2 = $exc_slice->length(); + my $max_len = ($len1 > $len2) ? $len1 : $len2; + + #the inserted region can differ in length, but mapped sections + #need to be same lengths + my $diff = $hap->[4] - $hap->[1]; + + # we want the region of the haplotype INVERTED + push( @syms, [ 1, $hap->[0]-1, $hap->[2], 1, $hap->[3] - 1 ] ); + push( @syms, [ $hap->[1]+1, $max_len - $diff, + $hap->[2], $hap->[4] + 1, $max_len ] ); + } + + # for now haps and pars should not be both there, but in theory we + # could handle it here by cleverly merging the pars into the existing syms, + # for now just: + push( @syms, @pars ); + + my $mapper = Bio::EnsEMBL::Mapper->new( "sym", "org" ); + for my $sym ( @syms ) { + $mapper->add_map_coordinates( $slice_seq_region_id, $sym->[0], $sym->[1], + 1, $sym->[2], $sym->[3], $sym->[4] ); + } - Title : fetch_by_mapfrag - Usage : $slice = $slice_adaptor->fetch_by_mapfrag('20'); - Function: Creates a slice of a "mapfrag" - Returns : Slice object - Args : chromosome name + my @linked = $mapper->map_coordinates( $slice_seq_region_id, + $slice->start(), $slice->end(), + $slice->strand(), "sym" ); + # gaps are regions where there is no mapping to another region + my $rel_start = 1; + + #if there was only one coord and it is a gap, we know it is just the + #same slice with no overlapping symlinks + if(@linked == 1 && $linked[0]->isa('Bio::EnsEMBL::Mapper::Gap')) { + return [[1,$slice->length, $slice]]; + } + + my @out; + for my $coord ( @linked ) { + if( $coord->isa( "Bio::EnsEMBL::Mapper::Gap" )) { + my $exc_slice = Bio::EnsEMBL::Slice->new + (-START => $coord->start(), + -END => $coord->end(), + -STRAND => $slice->strand(), + -COORD_SYSTEM => $slice->coord_system(), + -ADAPTOR => $self, + -SEQ_REGION_NAME => $slice->seq_region_name); + push( @out, [ $rel_start, $coord->length()+$rel_start-1, + $exc_slice ] ); + } else { + my $exc_slice = $self->fetch_by_seq_region_id( $coord->id() ); + my $exc2_slice = Bio::EnsEMBL::Slice->new + ( + -START => $coord->start(), + -END => $coord->end(), + -STRAND => $coord->strand(), + -SEQ_REGION_NAME => $exc_slice->seq_region_name(), + -COORD_SYSTEM => $exc_slice->coord_system(), + -ADAPTOR => $self + ); + + push( @out, [ $rel_start, $coord->length() + $rel_start - 1, + $exc2_slice ] ); + } + $rel_start += $coord->length(); + } + + return \@out; +} + + + + +=head2 store + + Arg [1] : Bio::EnsEMBL::Slice $slice + Arg [2] : (optional) $seqref reference to a string + The sequence associated with the slice to be stored. + Example : $slice = Bio::EnsEMBL::Slice->new(...); + $seq_region_id = $slice_adaptor->store($slice, \$sequence); + Description: This stores a slice as a sequence region in the database + and returns the seq region id. The passed in slice must + start at 1, and must have a valid seq_region name and coordinate + system. The attached coordinate system must already be stored in + the database. The sequence region is assumed to start at 1 and + to have a length equalling the length of the slice. + If the slice coordinate system is the sequence level coordinate + system then the seqref argument must also be passed. If the + slice coordinate system is NOT a sequence level coordinate + system then the sequence argument cannot be passed. + Returntype : int + Exceptions : throw if slice has no coord system. + throw if slice coord system is not already stored. + throw if slice coord system is seqlevel and no sequence is + provided. + throw if slice coord system is not seqlevel and sequence is + provided. + throw if slice does not start at 1 + throw if sequence is provided and the sequence length does not + match the slice length. + throw if the SQL insert fails (e.g. on duplicate seq region) + throw if slice argument is not passed + Caller : database loading scripts + +=cut + + + +sub store { + my $self = shift; + my $slice = shift; + my $seqref = shift; + + # + # Get all of the sanity checks out of the way before storing anything + # + + if(!ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Slice argument is required'); + } + + my $cs = $slice->coord_system(); + throw("Slice must have attached CoordSystem.") if(!$cs); + + my $db = $self->db(); + if(!$cs->is_stored($db)) { + throw("Slice CoordSystem must already be stored in DB.") + } + + if($slice->start != 1 || $slice->strand != 1) { + throw("Slice must have start==1 and strand==1."); + } + + my $sr_len = $slice->length(); + my $sr_name = $slice->seq_region_name(); + + if(!$sr_name) { + throw("Slice must have valid seq region name."); + } + + if($cs->is_sequence_level()) { + if(!$seqref) { + throw("Must provide sequence for sequence level coord system."); + } + if(ref($seqref) ne 'SCALAR') { + throw("Sequence must be a scalar reference."); + } + my $seq_len = length($$seqref); + + if($seq_len != $sr_len) { + throw("Sequence length ($seq_len) must match slice length ($sr_len)."); + } + } else { + if($seqref) { + throw("Cannot provide sequence for non-sequence level seq regions."); + } + } + + #store the seq_region + + my $sth = $db->prepare("INSERT INTO seq_region " . + "SET name = ?, " . + " length = ?, " . + " coord_system_id = ?" ); + + $sth->execute($sr_name, $sr_len, $cs->dbID()); + + my $seq_region_id = $sth->{'mysql_insertid'}; + + if(!$seq_region_id) { + throw("Database seq_region insertion failed."); + } + + if($cs->is_sequence_level()) { + #store sequence if it was provided + my $seq_adaptor = $db->get_SequenceAdaptor(); + $seq_adaptor->store($seq_region_id, $$seqref); + } + + return $seq_region_id; +} + + + +##################################### +# sub DEPRECATED METHODs +##################################### + +=head2 fetch_by_mapfrag + + Function: DEPRECATED use fetch_by_misc_feature_attribute('synonym',$mapfrag) =cut sub fetch_by_mapfrag{ my ($self,$mymapfrag,$flag,$size) = @_; - + deprecate('Use fetch_by_misc_feature_attribute instead'); $flag ||= 'fixed-width'; # alt.. 'context' - $size ||= $flag eq 'fixed-width' ? 200000 : 0; - unless( $mymapfrag ) { - $self->throw("Mapfrag name argument required"); - } + $size ||= $flag eq 'fixed-width' ? 100000 : 0; + return $self->fetch_by_misc_feature_attribute('synonym',$mymapfrag,$size); +} - my( $chr_start,$chr_end); - - #set the end of the slice to the end of the chromosome - my $ca = $self->db()->get_MapFragAdaptor(); - my $mapfrag = $ca->fetch_by_synonym($mymapfrag); - return undef unless defined $mapfrag; - - if( $flag eq 'fixed-width' ) { - my $halfsize = int( $size/2 ); - $chr_start = $mapfrag->seq_start - $halfsize; - $chr_end = $mapfrag->seq_start + $size - $halfsize; - } else { - $chr_start = $mapfrag->seq_start - $size; - $chr_end = $mapfrag->seq_end + $size; - } - my $type = $self->db->assembly_type(); - - my $slice = Bio::EnsEMBL::Slice->new - ( - -chr_name => $mapfrag->seq, - -chr_start => $chr_start, - -chr_end => $chr_end, - -assembly_type => $type, - -adaptor => $self - ); - - return $slice; + + +=head2 fetch_by_chr_start_end + + Description: DEPRECATED use fetch_by_region instead + +=cut + +sub fetch_by_chr_start_end { + my ($self,$chr,$start,$end) = @_; + deprecate('Use fetch_by_region() instead'); + + #assume that by chromosome the user actually meant top-level coord + #system since this is the old behaviour of this deprecated method + my $csa = $self->db->get_CoordSystemAdaptor(); + my $cs = $csa->fetch_top_level(); + + return $self->fetch_by_region($cs->name,$chr,$start,$end,1,$cs->version); } +=head2 fetch_by_contig_name + Description: Deprecated. Use fetch_by_region(), Slice::project(), + Slice::expand() instead -=head2 _get_chr_start_end_of_contig +=cut - Title : _get_chr_start_end_of_contig - Usage : - Function: returns the chromosome name, absolute start and absolute end of the - specified contig - Returns : returns chr,start,end - Args : contig id +sub fetch_by_contig_name { + my ($self, $name, $size) = @_; + + deprecate('Use fetch_by_region(), Slice::project() and Slice::expand().'); + + #previously wanted chromosomal slice on a given contig. Assume this means + #a top-level slice on a given seq_region in the seq_level coord system + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $top_level = $csa->fetch_top_level(); + my $seq_level = $csa->fetch_sequence_level(); + + my $seq_lvl_slice = $self->fetch_by_region($seq_level->name(), $name); + + my @projection = @{$seq_lvl_slice->project($top_level->name(), + $top_level->version())}; + if(@projection == 0) { + warning("contig $name is not used in ".$top_level->name().' assembly.'); + return undef; + } + + if(@projection > 1) { + warning("$name is mapped to multiple locations in " . $top_level->name()); + } + + return $projection[0]->[2]->expand($size, $size); +} + + +=head2 fetch_by_clone_accession + + Description: DEPRECATED. Use fetch_by_region, Slice::project, Slice::expand + instead. =cut -sub _get_chr_start_end_of_contig { - my ($self,$contigid) = @_; +sub fetch_by_clone_accession{ + my ($self,$name,$size) = @_; - if( !defined $contigid ) { - $self->throw("Must have contig id to fetch Slice of contig"); - } - - my $type = $self->db->assembly_type() - or $self->throw("No assembly type defined"); - - my $sth = $self->db->prepare("SELECT c.name, - a.chr_start, - a.chr_end, - chr.name - FROM assembly a, contig c, chromosome chr - WHERE c.name = '$contigid' - AND c.contig_id = a.contig_id - AND a.type = '$type' - AND chr.chromosome_id = a.chromosome_id" - ); - $sth->execute(); - my ($contig,$start,$end,$chr_name) = $sth->fetchrow_array; - - if( !defined $contig ) { - $self->throw("Contig $contigid is not on the golden path of type $type"); - } + deprecate('Use fetch_by_region(), Slice::project() and Slice::expand().'); + + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $top_level = $csa->fetch_top_level(); + my $clone_cs = $csa->fetch_by_name('clone'); + + if(!$clone_cs) { + warning('Clone coordinate system does not exist for this species'); + return undef; + } + + #this unfortunately needs a version on the end to work + if(! ($name =~ /\./)) { + my $sth = $self->prepare("SELECT sr.name " . + "FROM seq_region sr, coord_system cs " . + "WHERE cs.name = 'clone' " . + "AND cs.coord_system_id = sr.coord_system_id ". + "AND sr.name LIKE '$name.%'"); + $sth->execute(); + if(!$sth->rows()) { + $sth->finish(); + throw("Clone $name not found in database"); + } + + ($name) = $sth->fetchrow_array(); + + $sth->finish(); + } - return ($chr_name,$start,$end); + my $clone = $self->fetch_by_region($clone_cs->name(), $name); + my @projection = @{$clone->project($top_level->name(), + $top_level->version())}; + if(@projection == 0) { + warning("clone $name is not used in " . $top_level->name() . ' assembly.'); + return undef; + } + + if(@projection > 1) { + warning("$name is mapped to multiple locations in " . $top_level->name()); + } + + return $projection[0]->[2]->expand($size, $size); } -=head2 _get_chr_start_end_of_gene - Title : get_Gene_chr_bp - Usage : - Function: - Returns : - Args : +=head2 fetch_by_supercontig_name + Description: DEPRECATED. Use fetch_by_region(), Slice::project() and + Slice::expand() instead =cut +sub fetch_by_supercontig_name { + my ($self,$name, $size) = @_; + + deprecate('Use fetch_by_region(), Slice::project() and Slice::expand().'); -sub _get_chr_start_end_of_gene { - my ($self,$geneid) = @_; - - my $type = $self->db->assembly_type() - or $self->throw("No assembly type defined"); - - my $sth = $self->db->prepare("SELECT - if(a.contig_ori=1,(e.contig_start-a.contig_start+a.chr_start), - (a.chr_start+a.contig_end-e.contig_end)), - if(a.contig_ori=1,(e.contig_end-a.contig_start+a.chr_start), - (a.chr_start+a.contig_end-e.contig_start)), - chr.name - - FROM exon e, - transcript tr, - exon_transcript et, - assembly a, - gene_stable_id gsi, - chromosome chr - WHERE e.exon_id=et.exon_id - AND et.transcript_id =tr.transcript_id - AND a.contig_id=e.contig_id - AND a.type = '$type' - AND tr.gene_id = gsi.gene_id - AND gsi.stable_id = '$geneid' - AND a.chromosome_id = chr.chromosome_id" - ); - $sth->execute(); - - my ($start,$end,$chr); - my @start; - while ( my @row=$sth->fetchrow_array){ - ($start,$end,$chr)=@row; - push @start,$start; - push @start,$end; - } - - my @start_sorted=sort { $a <=> $b } @start; - - $start=shift @start_sorted; - $end=pop @start_sorted; - - return ($chr,$start,$end); + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $top_level = $csa->fetch_top_level(); + my $sc_level = $csa->fetch_by_name('supercontig'); + + if(!$sc_level) { + warning('No supercontig coordinate system exists for this species.'); + return undef; + } + + my $sc_slice = $self->fetch_by_region($sc_level->name(),$name); + + my @projection = @{$sc_slice->project($top_level->name(), + $top_level->version())}; + if(@projection == 0) { + warning("Supercontig $name is not used in " . $top_level->name() . + ' assembly.'); + return undef; + } + + if(@projection > 1) { + warning("$name is mapped to multiple locations in " . $top_level->name()); + } + + return $projection[0]->[2]->expand($size, $size); } -1; +=head2 list_overlapping_supercontigs + Description: DEPRECATED use Slice::project instead +=cut +sub list_overlapping_supercontigs { + my ($self,$slice) = @_; + + deprecate('Use Slice::project() instead.'); + + my $csa = $self->db()->get_CoordSystemAdaptor(); + my $top_level = $csa->fetch_top_level(); + my $sc_level = $csa->fetch_by_name('supercontig'); + + if(!$sc_level) { + warning('No supercontig coordinate system exists for this species.'); + return undef; + } + + my @out; + foreach my $seg (@{$slice->project($sc_level->name(), $sc_level->version)}){ + push @out, $seg->[2]->seq_region_name(); + } + + return \@out; +} + + + +=head2 fetch_by_chr_name + + Description: DEPRECATED. Use fetch by region instead + +=cut + +sub fetch_by_chr_name{ + my ($self,$chr_name) = @_; + deprecate('Use fetch_by_region() instead.'); + + return $self->fetch_by_region('toplevel',$chr_name); +} + + +1; diff --git a/modules/Bio/EnsEMBL/DBSQL/SupportingFeatureAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SupportingFeatureAdaptor.pm index 17612dca81..81e43185ee 100644 --- a/modules/Bio/EnsEMBL/DBSQL/SupportingFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/SupportingFeatureAdaptor.pm @@ -54,12 +54,6 @@ sub fetch_all_by_Exon { my $out = []; - #throw if this is a sticky exon - if($exon->isa('Bio::EnsEMBL::StickyExon')) { - $self->throw('Expected Exon but got StickyExon. ' . - 'Call get_all_component_Exons first'); - } - unless($exon->dbID) { $self->warn("exon has no dbID can't fetch evidence from db " . "no relationship exists\n"); @@ -86,14 +80,8 @@ sub fetch_all_by_Exon { $self->throw("Unknown feature type [$type]\n"); } - if($exon->contig()->isa("Bio::EnsEMBL::Slice")) { - #tranform to slice coords - $feature->transform($exon->contig()); - } else { - #we might have to convert the features coordinate system - next unless($feature->contig->dbID == $exon->contig->dbID); - } - push @$out, $feature; + my $new_feature = $feature->transfer($exon->slice()); + push @$out, $new_feature if( $new_feature ); } return $out; } diff --git a/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm index a1cbe19332..00c7e994e5 100644 --- a/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm @@ -11,19 +11,39 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::TranscriptAdaptor - MySQL Database queries to generate and store transcripts/translations. +Bio::EnsEMBL::DBSQL::TranscriptAdaptor - An adaptor which performs database +interaction relating to the storage and retrieval of Transcripts + +=head1 DESCRIPTION + +This adaptor provides a means to retrieve and store information related to +Transcripts. Primarily this involves the retrieval or storage of +Bio::EnsEMBL::Transcript objects from a database. +See Bio::EnsEMBL::Transcript for details of the Transcript class. =head1 SYNOPSIS -Transcripts and Translations are stored and fetched in this -object. Translations never go alone any more. The database only -accepts them (at the moment) in a transcript. + $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + $slice_adaptor = $db->get_SliceAdaptor(); + + $transcript_adaptor = $db->get_TranscriptAdaptor(); + + $transcript = $transcript_adaptor->fetch_by_dbID(1234); + + $transcript = $transcript_adaptor->fetch_by_stable_id('ENST00000201961'); + + $slice = $slice_adaptor->fetch_by_region('chromosome', '3', 1, 1000000); + @transcripts = @{$transcript_adaptor->fetch_all_by_Slice($slice)}; + + ($transcript) = @{$transcript_adaptor->fetch_all_by_external_name('BRCA2')}; + =head1 CONTACT - Arne Stabenau: stabenau@ebi.ac.uk - Elia Stupka : elia@ebi.ac.uk - Ewan Birney : + Post questions/comments to the EnsEMBL development list: + ensembl-dev@ebi.ac.uk + +=head1 METHODS =cut @@ -32,65 +52,66 @@ package Bio::EnsEMBL::DBSQL::TranscriptAdaptor; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; -use Bio::EnsEMBL::DBSQL::DBAdaptor; +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::Gene; use Bio::EnsEMBL::Exon; use Bio::EnsEMBL::Transcript; use Bio::EnsEMBL::Translation; -@ISA = qw( Bio::EnsEMBL::DBSQL::BaseAdaptor ); +use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning ); +@ISA = qw( Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor ); -=head2 fetch_by_dbID - Arg [1] : int $transid - The unique database id for the transcript to be retrieved. - Example : $transcript = $transcript_adaptor->fetch_by_dbID(1234); - Description: Retreives a transcript from the database via its dbID - Returntype : Bio::EnsEMBL::Transcript - Exceptions : none - Caller : general -=cut - -sub fetch_by_dbID { - my ($self, $transid) = @_; - - my $seen = 0; - my $trans = Bio::EnsEMBL::Transcript->new(); - my $exonAdaptor = $self->db->get_ExonAdaptor(); - - my $sth = $self->prepare("SELECT exon_id - FROM exon_transcript - WHERE transcript_id = ? - ORDER BY rank"); - $sth->execute($transid); - - while( my $rowhash = $sth->fetchrow_hashref) { - my $exon = $exonAdaptor->fetch_by_dbID($rowhash->{'exon_id'}); - $trans->add_Exon($exon); - $seen = 1; - } +# _tables +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns the names, aliases of the tables to use for queries +# Returntype : list of listrefs of strings +# Exceptions : none +# Caller : internal - if ($seen == 0 ) { - $self->throw("transcript $transid is not present in db"); - } - $trans->dbID($transid); - $trans->adaptor( $self ); - my $ts = $self->prepare("SELECT translation_id translation_id - FROM transcript - WHERE transcript_id = ?"); - $ts->execute($transid); - my ($val) = $ts->fetchrow_array(); - $trans->_translation_id($val); +sub _tables { + my $self = shift; + + return ([ 'transcript', 't' ], [ 'transcript_stable_id', 'tsi' ], + [ 'xref', 'x' ], [ 'external_db' , 'exdb' ] ); +} + + +#_columns +# +# Arg [1] : none +# Example : none +# Description: PROTECTED implementation of superclass abstract method +# returns a list of columns to use for queries +# Returntype : list of strings +# Exceptions : none +# Caller : internal + +sub _columns { + my $self = shift; - return $trans; + return qw( t.transcript_id t.seq_region_id t.seq_region_start t.seq_region_end + t.seq_region_strand t.gene_id + t.display_xref_id tsi.stable_id tsi.version + x.display_label exdb.db_name exdb.status ); } +sub _left_join { + return ( [ 'transcript_stable_id', "tsi.transcript_id = t.transcript_id" ], + [ 'xref', "x.xref_id = t.display_xref_id" ], + [ 'external_db', "exdb.external_db_id = x.external_db_id" ] ); +} + + + =head2 fetch_by_stable_id Arg [1] : string $stable_id @@ -103,20 +124,22 @@ sub fetch_by_dbID { =cut -sub fetch_by_stable_id { - my ($self, $stable_id) = @_; - my $sth = $self->prepare( "SELECT transcript_id - FROM transcript_stable_id - WHERE stable_id = ?" ); - $sth->execute( $stable_id ); +sub fetch_by_stable_id{ + my ($self,$id) = @_; + + # because of the way this query is constructed (with a left join to the + # transcript_stable_id table), it is faster to do 2 queries, getting the + # transcript_id in the first query + my $sth = $self->prepare("SELECT transcript_id from transcript_stable_id ". + "WHERE stable_id = ?"); + $sth->execute($id); + + my ($dbID) = $sth->fetchrow_array(); + + return undef if(!$dbID); + + return $self->fetch_by_dbID($dbID); - if( my $arr = $sth->fetchrow_arrayref ) { - my $transcript = $self->fetch_by_dbID( $arr->[0] ); - return $transcript; - } else { - $ self->warn( "No Transcript with this stable id found in the database." ); - return undef; - } } @@ -136,64 +159,120 @@ sub fetch_by_stable_id { =cut sub fetch_by_translation_stable_id { - my ($self, $transl_stable_id) = @_; + my ($self, $transl_stable_id ) = @_; - my $sth = $self->prepare( "SELECT t.transcript_id - FROM translation_stable_id tsi, transcript t - WHERE tsi.stable_id = ? - AND t.translation_id = tsi.translation_id"); + my $sth = $self->prepare( "SELECT t.transcript_id " . + "FROM translation_stable_id tsi, translation t ". + "WHERE tsi.stable_id = ? " . + "AND t.translation_id = tsi.translation_id"); - $sth->execute($transl_stable_id); + $sth->execute("$transl_stable_id"); my ($id) = $sth->fetchrow_array; if ($id){ - return $self->fetch_by_dbID($id); + return $self->fetch_by_dbID($id); } else { - return undef; + return undef; } -} +} + + =head2 fetch_by_translation_id + Arg [1] : int $id + The internal identifier of the translation whose transcript + is to be retrieved. + Example : $tr = $tr_adaptor->fetch_by_translation_id($transl->dbID()); + Description: Given the internal identifier of a translation this method + retrieves the transcript associated with that translation. + If the transcript cannot be found undef is returned instead. + Returntype : Bio::EnsEMBL::Transcript or undef + Exceptions : none + Caller : general + =cut sub fetch_by_translation_id { - my ($self, $transl_id) = @_; - my $sth = $self->prepare( - "SELECT transcript_id - FROM transcript - WHERE translation_id = ?"); - $sth->execute($transl_id); - my ($id) = $sth->fetchrow_array; - return $id? $self->fetch_by_dbID($id) : undef; + my $self = shift; + my $id = shift; + + throw("id argument is required.") if(!$id); + + my $sth = $self->prepare( "SELECT t.transcript_id " . + "FROM translation t ". + "WHERE t.translation_id = ?"); + + $sth->execute($id); + + my ($dbID) = $sth->fetchrow_array; + if ($dbID){ + return $self->fetch_by_dbID($id); + } else { + return undef; + } } -=head2 fetch_all_by_DBEntry - Arg [1] : in $external_id - the external identifier for the transcript to be obtained - Example : @trans = @{$trans_adaptor->fetch_all_by_DBEntry($ext_id)} - Description: retrieves a list of transcripts with an external database - idenitifier $external_id - Returntype : listref of Bio::EnsEMBL::DBSQL::Transcript in contig coordinates + +=head2 fetch_all_by_Gene + + Arg [1] : Bio::EnsEMBL::Gene $gene + Example : none + Description: retrieves Transcript objects for given gene. Puts Genes slice + in each Transcript. + Returntype : listref Bio::EnsEMBL::Transcript Exceptions : none - Caller : ? + Caller : Gene->get_all_Transcripts() =cut -sub fetch_all_by_DBEntry { + +sub fetch_all_by_Gene { + my $self = shift; + my $gene = shift; + + # should be on the same slice as gene + my $constraint = "t.gene_id = ".$gene->dbID(); + + my $slice = $gene->slice(); + my $keep_all = 1; #keep transcripts that fall off end of slice + return $self->generic_fetch( $constraint, undef, $slice, $keep_all ); +} + + + + +=head2 fetch_all_by_external_name + + Arg [1] : string $external_id + An external identifier of the transcript to be obtained + Example : @trans = @{$tr_adaptor->fetch_all_by_external_name('ARSE')}; + Description: Retrieves all transcripts which are associated with an + external identifier such as a GO term, HUGO id, Swissprot + identifer, etc. Usually there will only be a single transcript + returned in the listref, but not always. Transcripts are + returned in their native coordinate system. That is, the + coordinate system in which they are stored in the database. If + they are required in another coordinate system the + Transcript::transfer or Transcript::transform method can be + used to convert them. If no transcripts with the external + identifier are found, a reference to an empty list is returned. + Returntype : reference to a list of transcripts + Exceptions : none + Caller : general + +=cut + +sub fetch_all_by_external_name { my $self = shift; my $external_id = shift; + my @trans = (); my $entryAdaptor = $self->db->get_DBEntryAdaptor(); - my @ids = $entryAdaptor->transcriptids_by_extids($external_id); - foreach my $trans_id ( @ids ) { - my $trans = $self->fetch_by_dbID( $trans_id ); - if( $trans ) { - push( @trans, $trans ); - } - } - return \@trans; + my @ids = $entryAdaptor->list_transcript_ids_by_extids($external_id); + + return $self->fetch_all_by_dbID_list(\@ids); } @@ -210,24 +289,24 @@ sub fetch_all_by_DBEntry { =cut sub fetch_all_by_exon_stable_id { - my ($self, $stable_id) = @_; + my ($self, $stable_id ) = @_; my @trans ; my $sth = $self->prepare( qq( SELECT et.transcript_id - FROM exon_transcript as et, - exon_stable_id as esi - WHERE esi.exon_id = et.exon_id and - esi.stable_id = "$stable_id" )); - $sth->execute( ); - - while( my $id = $sth->fetchrow_array ) { - my $transcript = $self->fetch_by_dbID( $id ); - push(@trans, $transcript) if $transcript; + FROM exon_transcript as et, + exon_stable_id as esi + WHERE esi.exon_id = et.exon_id and + esi.stable_id = ? )); + $sth->execute("$stable_id"); + + while( my $id = $sth->fetchrow_array ) { + my $transcript = $self->fetch_by_dbID( $id ); + push(@trans, $transcript) if $transcript; + } - } if (!@trans) { - $self->warn( "No Transcript with this exon stable id found in the database." ); return undef; } + return \@trans; } @@ -252,70 +331,129 @@ sub store { my ($self,$transcript,$gene_dbID) = @_; if( ! ref $transcript || !$transcript->isa('Bio::EnsEMBL::Transcript') ) { - $self->throw("$transcript is not a EnsEMBL transcript - not dumping!"); + throw("$transcript is not a EnsEMBL transcript - not storing"); } - # store translation - # then store the transcript - # then store the exon_transcript table + my $db = $self->db(); - my $translation = $transcript->translation(); - my ( $exon_count, $exons ); - $exons = $transcript->get_all_Exons(); - $exon_count = scalar( @{$exons} ); + if($transcript->is_stored($db)) { + return $transcript->dbID(); + } + + #force lazy-loading of exons and ensure coords are correct + $transcript->recalculate_coordinates(); - my $exonAdaptor = $self->db->get_ExonAdaptor(); + # + # Store exons - this needs to be done before the possible transfer + # of the transcript to another slice (in _prestore()).Transfering results + # in copies being made of the exons and we need to preserve the object + # identity of the exons so that they are not stored twice by different + # transcripts. + # + my $exons = $transcript->get_all_Exons(); + my $exonAdaptor = $db->get_ExonAdaptor(); foreach my $exon ( @{$exons} ) { $exonAdaptor->store( $exon ); } - if( defined $translation ) { - $self->db->get_TranslationAdaptor()->store( $translation ); - } - + my $original = $transcript; + my $seq_region_id; + ($transcript, $seq_region_id) = $self->_pre_store($transcript); # first store the transcript w/o a display xref - # the display xref needs to be set after xrefs are stored which needs to + # the display xref needs to be set after xrefs are stored which needs to # happen after transcript is stored... my $xref_id = 0; - # ok - now load this line in - my $tst = $self->prepare(" - insert into transcript ( gene_id, translation_id, - exon_count, display_xref_id ) - values ( ?, ?, ?, 0) - "); + # + #store transcript + # + my $tst = $self->prepare( + "insert into transcript ( gene_id, seq_region_id, seq_region_start, " . + "seq_region_end, seq_region_strand ) " . + "values ( ?, ?, ?, ?, ? )"); - if( defined $translation ) { - $tst->execute( $gene_dbID, $translation->dbID(), $exon_count ); - } else { - $tst->execute( $gene_dbID, 0, $exon_count ); - } + $tst->execute( $gene_dbID, $seq_region_id, $transcript->start(), + $transcript->end(), $transcript->strand() ); + $tst->finish(); my $transc_dbID = $tst->{'mysql_insertid'}; - #store the xrefs/object xref mapping - my $dbEntryAdaptor = $self->db->get_DBEntryAdaptor(); + # + # store translation + # + my $translation = $transcript->translation(); + if( defined $translation ) { + #make sure that the start and end exon are set correctly + my $start_exon = $translation->start_Exon(); + my $end_exon = $translation->end_Exon(); + + if(!$start_exon) { + throw("Translation does not define a start exon."); + } + + if(!$end_exon) { + throw("Translation does not defined an end exon."); + } + + #If the dbID is not set, this means the exon must have been a different + #object in memory than the the exons of the transcript. Try to find the + #matching exon in all of the exons we just stored + if(!$start_exon->dbID()) { + my $key = $start_exon->hashkey(); + ($start_exon) = grep {$_->hashkey() eq $key} @$exons; + + if($start_exon) { + $translation->start_Exon($start_exon); + } else { + throw("Translation's start_Exon does not appear to be one of the " . + "exons in its associated Transcript"); + } + } + + if(!$end_exon->dbID()) { + my $key = $end_exon->hashkey(); + ($end_exon) = grep {$_->hashkey() eq $key} @$exons; + + if($start_exon) { + $translation->end_Exon($end_exon); + } else { + throw("Translation's end_Exon does not appear to be one of the " . + "exons in its associated Transcript."); + } + } + + $db->get_TranslationAdaptor()->store( $translation, $transc_dbID ); + } + + # + # store the xrefs/object xref mapping + # + my $dbEntryAdaptor = $db->get_DBEntryAdaptor(); foreach my $dbe ( @{$transcript->get_all_DBEntries} ) { $dbEntryAdaptor->store( $dbe, $transc_dbID, "Transcript" ); } # - # Update transcript to point to display xref if it is set + # Update transcript to point to display xref if it is set # if(my $dxref = $transcript->display_xref) { if(my $dxref_id = $dbEntryAdaptor->exists($dxref)) { my $sth = $self->prepare( "update transcript set display_xref_id = ?". " where transcript_id = ?"); $sth->execute($dxref_id, $transc_dbID); + $sth->finish(); $dxref->dbID($dxref_id); $dxref->adaptor($dbEntryAdaptor); } } - my $etst = + # + # Link transcript to exons in exon_transcript table + # + my $etst = $self->prepare("insert into exon_transcript (exon_id,transcript_id,rank)" ." values (?,?,?)"); my $rank = 1; @@ -324,9 +462,14 @@ sub store { $rank++; } + $etst->finish(); + + # + # Store stable_id + # if (defined($transcript->stable_id)) { if (!defined($transcript->version)) { - $self->throw("Trying to store incomplete stable id information for " . + throw("Trying to store incomplete stable id information for " . "transcript"); } @@ -335,44 +478,21 @@ sub store { " VALUES(?, ?, ?)"; my $sth = $self->prepare($statement); $sth->execute($transc_dbID, $transcript->stable_id, $transcript->version); + $sth->finish(); } - $transcript->dbID( $transc_dbID ); - $transcript->adaptor( $self ); + #update the original transcript object - not the transfered copy that + #we might have created + $original->dbID( $transc_dbID ); + $original->adaptor( $self ); + return $transc_dbID; } -=head2 get_stable_entry_info - - Title : get_stable_entry_info - Usage : $transcriptAdptor->get_stable_entry_info($transcript) - Function: gets stable info for gene and places it into the hash - Returns : - Args : -=cut - -sub get_stable_entry_info { - my ($self,$transcript) = @_; - - unless( defined $transcript && ref $transcript && - $transcript->isa('Bio::EnsEMBL::Transcript') ) { - $self->throw("Needs a Transcript object, not a $transcript"); - } - - my $sth = $self->prepare("SELECT stable_id, version - FROM transcript_stable_id - WHERE transcript_id = ?"); - $sth->execute($transcript->dbID()); - my @array = $sth->fetchrow_array(); - $transcript->{'_stable_id'} = $array[0]; - $transcript->{'_version'} = $array[1]; - - return 1; -} =head2 get_Interpro_by_transid @@ -390,22 +510,21 @@ sub get_stable_entry_info { sub get_Interpro_by_transid { my ($self,$transid) = @_; - my $sql=" - SELECT i.interpro_ac, - x.description - FROM transcript t, - protein_feature pf, - interpro i, - xref x, - transcript_stable_id tsi - WHERE tsi.stable_id = '$transid' - AND t.transcript_id = tsi.transcript_id - AND t.translation_id = pf.translation_id - AND i.id = pf.hit_id - AND i.interpro_ac = x.dbprimary_acc"; - - my $sth = $self->prepare($sql); - $sth->execute; + + my $sth = $self->prepare + ("SELECT STRAIGHT_JOIN i.interpro_ac, x.description " . + "FROM transcript_stable_id tsi, ". + "translation tl, ". + "protein_feature pf, ". + "interpro i, " . + "xref x " . + "WHERE tsi.stable_id = ? " . + "AND tl.transcript_id = tsi.transcript_id " . + "AND tl.translation_id = pf.translation_id " . + "AND i.id = pf.hit_id " . + "AND i.interpro_ac = x.dbprimary_acc"); + + $sth->execute($transid); my @out; my %h; @@ -416,7 +535,6 @@ sub get_Interpro_by_transid { push(@out,$string); } - return \@out; } @@ -458,69 +576,18 @@ sub remove { if($count == 0){ $exonAdaptor->remove( $exon ); } else{ - $self->warn("exon " . $exon->dbID . " is not exclusive to transcript " . + warning("exon " . $exon->dbID . " is not exclusive to transcript " . $transcript->dbID . "\n"); } } - - $transcript->{'dbID'} = undef; -} - - - - - -=head2 get_display_xref - - Arg [1] : int $dbID - the database identifier of the transcript for which the name - of external db from which its external name is derived. - Example : $external_dbname = $transcript_adaptor->get_display_xref_id(42); - Description: Retrieves the display_xref_id for a transcript. - Returntype : int - Exceptions : thrown if $dbId arg is not defined - Caller : general - -=cut - -sub get_display_xref { - my ($self, $transcript) = @_; - - if( !defined $transcript ) { - $self->throw("Must call with a Transcript object"); - } - - my $sth = $self->prepare("SELECT e.db_name, - x.display_label, - x.xref_id - FROM transcript t, - xref x, - external_db e - WHERE t.transcript_id = ? - AND t.display_xref_id = x.xref_id - AND x.external_db_id = e.external_db_id - "); - $sth->execute( $transcript->dbID ); - - - my ($db_name, $display_label, $xref_id ) = $sth->fetchrow_array(); - if( !defined $xref_id ) { - return undef; - } - - my $db_entry = Bio::EnsEMBL::DBEntry->new - ( - -dbid => $xref_id, - -adaptor => $self->db->get_DBEntryAdaptor(), - -dbname => $db_name, - -display_id => $display_label - ); - return $db_entry; + $transcript->dbID(undef); + $transcript->adaptor(undef); } + =head2 update Arg [1] : Bio::EnsEMBL::Transcript @@ -540,15 +607,15 @@ sub update { my ($self,$transcript) = @_; my $update = 0; - if( !defined $transcript || !ref $transcript || !$transcript->isa('Bio::EnsEMBL::Transcript') ) { - $self->throw("Must update a transcript object, not a $transcript"); + if( !defined $transcript || !ref $transcript || + !$transcript->isa('Bio::EnsEMBL::Transcript') ) { + throw("Must update a transcript object, not a $transcript"); } - my $sth = $self->prepare("UPDATE transcript - SET display_xref_id = ?, - exon_count = ? - WHERE transcript_id = ? - "); + my $update_transcript_sql = " + UPDATE transcript + SET display_xref_id = ? + WHERE transcript_id = ?"; my $display_xref = $transcript->display_xref(); my $display_xref_id; @@ -556,11 +623,11 @@ sub update { if( defined $display_xref && $display_xref->dbID() ) { $display_xref_id = $display_xref->dbID(); } else { - $display_xref_id = 0; + $display_xref_id = undef; } - my $exon_count = scalar( @{$transcript->get_all_Exons()} ); - $sth->execute( $display_xref_id, $exon_count, $transcript->dbID() ); + my $sth = $self->prepare( $update_transcript_sql ); + $sth->execute( $display_xref_id, $transcript->dbID() ); } =head2 list_dbIDs @@ -583,9 +650,10 @@ sub list_dbIDs { =head2 list_stable_dbIDs Arg [1] : none - Example : @stable_transcript_ids = @{$transcript_adaptor->list_stable_dbIDs()}; - Description: Gets an array of stable ids for all transcripts in the current db - Returntype : list of ints + Example : @stable_trans_ids = @{$transcript_adaptor->list_stable_dbIDs()}; + Description: Gets an array of stable ids for all transcripts in the current + database. + Returntype : listref of ints Exceptions : none Caller : ? @@ -598,6 +666,277 @@ sub list_stable_ids { } +#_objs_from_sth + +# Arg [1] : StatementHandle $sth +# Example : none +# Description: PROTECTED implementation of abstract superclass method. +# responsible for the creation of Transcripts +# Returntype : listref of Bio::EnsEMBL::Transcripts in target coord system +# Exceptions : none +# Caller : internal + +sub _objs_from_sth { + my ($self, $sth, $mapper, $dest_slice, $keep_all) = @_; + + # + # This code is ugly because an attempt has been made to remove as many + # function calls as possible for speed purposes. Thus many caches and + # a fair bit of gymnastics is used. + # + + my $sa = $self->db()->get_SliceAdaptor(); + my $dbEntryAdaptor = $self->db()->get_DBEntryAdaptor(); + + my @transcripts; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; + + my ( $transcript_id, $seq_region_id, $seq_region_start, $seq_region_end, + $seq_region_strand, $gene_id, + $display_xref_id, $stable_id, $version, + $external_name, $external_db, $external_status ); + + $sth->bind_columns( \$transcript_id, \$seq_region_id, \$seq_region_start, + \$seq_region_end, \$seq_region_strand, \$gene_id, + \$display_xref_id, \$stable_id, \$version, + \$external_name, \$external_db, \$external_status ); + + + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + my $dest_slice_cs; + my $asma; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + $dest_slice_cs = $dest_slice->coord_system(); + $asma = $self->db->get_AssemblyMapperAdaptor(); + } + + FEATURE: while($sth->fetch()) { + + my $slice = $slice_hash{"ID:".$seq_region_id}; + my $dest_mapper = $mapper; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); + } + + #obtain a mapper if none was defined, but a dest_seq_region was + if(!$dest_mapper && $dest_slice && + !$dest_slice_cs->equals($slice->coord_system)) { + $dest_mapper = $asma->fetch_by_CoordSystems($dest_slice_cs, + $slice->coord_system); + $asm_cs = $dest_mapper->assembled_CoordSystem(); + $cmp_cs = $dest_mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($dest_mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end,$seq_region_strand) = + $dest_mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + $seq_region_strand, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + $seq_region_strand *= -1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE if(!$keep_all); + } + } + + $slice = $dest_slice; + } + + my $display_xref; + + if( $display_xref_id ) { + $display_xref = bless + { 'dbID' => $display_xref_id, + 'adaptor' => $dbEntryAdaptor, + 'display_id' => $external_name, + 'dbname' => $external_db + }, "Bio::EnsEMBL::DBEntry"; + } + + + #finally, create the new transcript + push @transcripts, Bio::EnsEMBL::Transcript->new + ( '-start' => $seq_region_start, + '-end' => $seq_region_end, + '-strand' => $seq_region_strand, + '-adaptor' => $self, + '-slice' => $slice, + '-dbID' => $transcript_id, + '-stable_id' => $stable_id, + '-version' => $version, + '-external_name' => $external_name, + '-external_db' => $external_db, + '-external_status' => $external_status, + '-display_xref' => $display_xref ); + } + + return \@transcripts; +} + + + +=head2 get_display_xref + + Description: DEPRECATED use $transcript->display_xref() + +=cut + +sub get_display_xref { + my ($self, $transcript) = @_; + + deprecate( "display_xref should be retreived from Transcript object directly." ); + + if( !defined $transcript ) { + throw("Must call with a Transcript object"); + } + + my $sth = $self->prepare("SELECT e.db_name, + x.display_label, + x.xref_id + FROM transcript t, + xref x, + external_db e + WHERE t.transcript_id = ? + AND t.display_xref_id = x.xref_id + AND x.external_db_id = e.external_db_id + "); + $sth->execute( $transcript->dbID ); + + + my ($db_name, $display_label, $xref_id ) = $sth->fetchrow_array(); + if( !defined $xref_id ) { + return undef; + } + + my $db_entry = Bio::EnsEMBL::DBEntry->new + ( + -dbid => $xref_id, + -adaptor => $self->db->get_DBEntryAdaptor(), + -dbname => $db_name, + -display_id => $display_label + ); + + return $db_entry; +} + + + + +=head2 get_stable_entry_info + + Description: DEPRECATED Use $transcript->stable_id() + +=cut + +sub get_stable_entry_info { + my ($self,$transcript) = @_; + + deprecate( "Stable ids should be loaded directly now" ); + + unless( defined $transcript && ref $transcript && + $transcript->isa('Bio::EnsEMBL::Transcript') ) { + throw("Needs a Transcript object, not a $transcript"); + } + + my $sth = $self->prepare("SELECT stable_id, version + FROM transcript_stable_id + WHERE transcript_id = ?"); + $sth->execute($transcript->dbID()); + + my @array = $sth->fetchrow_array(); + $transcript->{'_stable_id'} = $array[0]; + $transcript->{'_version'} = $array[1]; + + + return 1; +} + + + + +=head2 fetch_all_by_DBEntry + + Description: DEPRECATED this method has been renamed + fetch_all_by_external_name + +=cut + +sub fetch_all_by_DBEntry { + my $self = shift; + deprecate('Use fetch_all_by_external_name instead.'); + return $self->fetch_all_by_external_name(@_); +} + 1; diff --git a/modules/Bio/EnsEMBL/DBSQL/TranslationAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/TranslationAdaptor.pm index 068d237627..3dd7d9adb6 100644 --- a/modules/Bio/EnsEMBL/DBSQL/TranslationAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/TranslationAdaptor.pm @@ -9,20 +9,38 @@ =head1 NAME -Bio::EnsEMBL::DBSQL::TranslationAdaptor - MySQL Database queries to generate -and store translations. +Bio::EnsEMBL::DBSQL::TranslationAdaptor - Provides a means to fetch and store +Translation objects from a database. + +=head1 DESCRIPTION + +This adaptor provides a means to retrieve and store Bio::EnsEMBL::Translation +objects from/in a database. + +Translation objects only truly make sense in the context of their transcripts +so the recommended means to retrieve Translations is by retrieving the +Transcript object first, and then fetching the Translation. =head1 SYNOPSIS -Translations are stored and fetched with this -object. + my $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); + + my $transcript_adaptor = $db->get_TranscriptAdaptor(); + my $translation_adaptor = $db->get_TranslationAdaptor(); + my $transcript = $transcript_adaptor->fetch_by_dbID(131243); + my $translation = $translation_adaptor->fetch_by_Transcript($transcript); + + print "Translation Start Site: " . + $translation->start_Exon()->stable_id(), " ", $translation->start(); + print "Translation Stop: " . + $translation->end_Exon()->stable_id(), " ", $translation->end(); + =head1 CONTACT ensembl-dev@ebi.ac.uk - -=head1 APPENDIX +=head1 METHODS =cut @@ -31,106 +49,128 @@ package Bio::EnsEMBL::DBSQL::TranslationAdaptor; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::DBSQL::BaseAdaptor; -use Bio::EnsEMBL::DBSQL::DBAdaptor; -use Bio::EnsEMBL::Gene; -use Bio::EnsEMBL::Exon; -use Bio::EnsEMBL::Transcript; +use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; use Bio::EnsEMBL::Translation; +use Bio::EnsEMBL::Utils::Exception qw( throw warning deprecate ); + @ISA = qw( Bio::EnsEMBL::DBSQL::BaseAdaptor ); -=head2 fetch_by_dbID - Title : fetch_by_dbID - Usage : - Function: - Example : - Returns : - Args : +=head2 fetch_by_Transcript + + Arg [1] : none, string, int, Bio::EnsEMBL::Example $formal_parameter_name + Additional description lines + list, listref, hashref + Example : ( optional ) + Description: testable description + Returntype : none, txt, int, float, Bio::EnsEMBL::Example + Exceptions : none + Caller : object::methodname or just methodname =cut -sub fetch_by_dbID { - my ($self,$dbID,$transcript) = @_; +sub fetch_by_Transcript { + my ( $self, $transcript ) = @_; + if(!ref($transcript) || !$transcript->isa('Bio::EnsEMBL::Transcript')) { + throw("Bio::EnsEMBL::Transcript argument is required."); + } - if( !defined $transcript ) { - $self->throw("Translations make no sense outside of their " . - "parent Transcript objects. You must retrieve " . - "with Transcript parent"); - } + my $sql = " + SELECT tl.translation_id, tl.start_exon_id, + tl.end_exon_id, tl.seq_start, tl.seq_end, + tlsi.stable_id, tlsi.version + FROM translation tl + LEFT JOIN translation_stable_id tlsi + ON tlsi.translation_id = tl.translation_id + WHERE tl.transcript_id = ?"; + + my $transcript_id = $transcript->dbID(); + my $sth = $self->prepare( $sql ); + $sth->execute( $transcript_id ); + + my ( $translation_id, $start_exon_id, $end_exon_id, + $seq_start, $seq_end, $stable_id, $version ) = + $sth->fetchrow_array(); + + if( ! defined $translation_id ) { + return undef; + } - my $sth = $self->prepare("SELECT translation_id tlid, seq_start, - start_exon_id, seq_end, end_exon_id - FROM translation - WHERE translation_id = ?"); - $sth->execute($dbID); - my $rowhash = $sth->fetchrow_hashref; + my ($start_exon, $end_exon); - if( !defined $rowhash ) { - # assumme this is a translationless transcript deliberately - return undef; - } + # this will load all the exons whenever we load the translation + # but I guess thats ok .... - my $out = Bio::EnsEMBL::Translation->new(); + foreach my $exon (@{$transcript->get_all_Exons()}) { + if($exon->dbID() == $start_exon_id ) { + $start_exon = $exon; + } - $out->start ($rowhash->{'seq_start'}); - $out->end ($rowhash->{'seq_end'}); + if($exon->dbID() == $end_exon_id ) { + $end_exon = $exon; + } + } + unless($start_exon && $end_exon) { + throw("Could not find start or end exon in transcript\n"); + } - #search through the transcript's exons for the start and end exons - my ($start_exon, $end_exon); - foreach my $exon (@{$transcript->get_all_Exons()}) { - if($exon->dbID() == $rowhash->{'start_exon_id'}) { - $start_exon = $exon; - } + my $translation = Bio::EnsEMBL::Translation->new + ( + -dbID => $translation_id, + -adaptor => $self, + -seq_start => $seq_start, + -seq_end => $seq_end, + -start_exon => $start_exon, + -end_exon => $end_exon, + -stable_id => $stable_id, + -version => $version + ); + + return $translation; +} - if($exon->dbID() == $rowhash->{'end_exon_id'}) { - $end_exon = $exon; - } - } - unless($start_exon && $end_exon) { - $self->throw("Could not find start or end exon in transcript\n"); - } - $out->start_Exon($start_exon); - $out->end_Exon($end_exon); - $out->dbID($rowhash->{'tlid'}); - $out->adaptor( $self ); - - return $out; -} -=head2 fetch_all_by_DBEntry - Arg [1] : in $external_id - the external identifier for the translation to be obtained - Example : @trans = @{$trans_adaptor->fetch_all_by_DBEntry($ext_id)} - Description: retrieves a list of translation with an external database - idenitifier $external_id - Returntype : listref of Bio::EnsEMBL::DBSQL::Translation in contig coordinates +=head2 fetch_all_by_external_name + + Arg [1] : string $external_id + The external identifier for the tranlsation(s) to be obtained. + Example : @tls = @{$trl_adaptor->fetch_all_by_external_name('BRCA2')}; + Description: Retrieves a list of translations fetched via an external + identifier. Note that this may not be a particularly useful + method, because translations do not make much sense out of the + context of their transcript. It may be better to use the + TranscriptAdaptor::fetch_all_by_external_name instead. + Returntype : reference to a list of Translations Exceptions : none - Caller : ? + Caller : general =cut -sub fetch_all_by_DBEntry { +sub fetch_all_by_external_name { my $self = shift; my $external_id = shift; - my @trans = (); - - my $entryAdaptor = $self->db->get_DBEntryAdaptor(); - my @ids = $entryAdaptor->translationids_by_extids($external_id); - foreach my $trans_id ( @ids ) { - my $trans = $self->fetch_by_dbID( $trans_id ); - warn $trans_id; - if( $trans ) { - push( @trans, $trans ); + + my $entry_adaptor = $self->db->get_DBEntryAdaptor(); + my @ids = $entry_adaptor->list_translation_ids_by_extids($external_id); + + my $transcript_adaptor = $self->db()->get_TranscriptAdaptor(); + + my @out; + + foreach my $id (@ids) { + my $transcript = $transcript_adaptor->fetch_by_translation_id($id); + if($transcript) { + push @out, $self->fetch_by_Transcript($transcript); } - } - return \@trans; + } + + return \@out; } @@ -141,38 +181,49 @@ sub fetch_all_by_DBEntry { The translation object to be stored in the database Example : $transl_id = $translation_adaptor->store($translation); Description: Stores a translation object in the database - Returntype : - Exceptions : - Caller : + Returntype : int - the new dbID of the stored translation + Exceptions : thrown if the dbID of the start_Exon or end_Exon is not + defined. + thrown if only partial stable id information is present (e.g. + identifier but not version number) + Caller : Transcript::store =cut sub store { - my ( $self, $translation ) = @_; - - unless( defined $translation->start_Exon->dbID && - defined $translation->end_Exon->dbID ) { - $self->throw("Attempting to write a translation where the dbIDs of the " . - "start and exons are not set. This is most likely to be " . - "because you assigned the exons for translation start_exon " . - "and translation end_exon to be different in memory " . - "objects from your transcript exons - although it could " . - "also be an internal error in the adaptors. For your " . - "info the exon memory locations are " . - $translation->start_Exon." and ".$translation->end_Exon()); + my ( $self, $translation, $transcript_id ) = @_; + + my $start_exon = $translation->start_Exon(); + my $end_exon = $translation->end_Exon(); + + if(!$start_exon) { + throw("Translation must define a start_Exon to be stored."); } - my $sth = $self->prepare( "INSERT INTO translation( seq_start, start_exon_id, - seq_end, end_exon_id) - VALUES( ?,?,?,? )"); + if(!$end_exon) { + throw("Translation must define an end_Exon to be stored."); + } - $sth->execute( $translation->start(), - $translation->start_Exon()->dbID(), - $translation->end(), - $translation->end_Exon()->dbID() ); + if(!$start_exon->dbID) { + throw("start_Exon must have a dbID for Translation to be stored."); + } - my $transl_dbID = $sth->{'mysql_insertid'}; + if(!$end_exon->dbID) { + throw("end_Exon must have a dbID for Translation to be stored."); + } + + my $sth = $self->prepare( " + INSERT INTO translation( seq_start, start_exon_id, + seq_end, end_exon_id, transcript_id) + VALUES ( ?,?,?,?,? )"); + $sth->execute( $translation->start(), + $translation->start_Exon()->dbID(), + $translation->end(), + $translation->end_Exon()->dbID(), + $transcript_id ); + + my $transl_dbID = $sth->{'mysql_insertid'}; #store object xref mappings to translations @@ -185,19 +236,18 @@ sub store { if (defined($translation->stable_id)) { if (!defined($translation->version)) { - $self->throw("Trying to store incomplete stable id information for translation"); + throw("Trying to store incomplete stable id information for translation"); } - my $statement = "INSERT INTO translation_stable_id(translation_id," . - "stable_id,version)". - " VALUES(" . $transl_dbID . "," . - "'" . $translation->stable_id . "'," . - $translation->version . - ")"; - - my $sth = $self->prepare($statement); - $sth->execute(); - } + my $sth = $self->prepare + ("INSERT INTO translation_stable_id(translation_id, stable_id, version)". + " VALUES (?, ?, ?)"); + + $sth->execute($transl_dbID, $translation->stable_id(), + $translation->version()); + + $sth->finish(); + } $translation->dbID( $transl_dbID ); $translation->adaptor( $self ); @@ -206,36 +256,6 @@ sub store { } -=head2 get_stable_entry_info - - Title : get_stable_entry_info - Usage : $translationAdaptor->get_stable_entry_info($translation) - Function: gets stable info for translation and places it into the hash - Returns : - Args : - - -=cut - -sub get_stable_entry_info { - my ($self,$translation) = @_; - - unless(defined $translation && ref $translation && - $translation->isa('Bio::EnsEMBL::Translation') ) { - $self->throw("Needs a Translation object, not a [$translation]"); - } - - my $sth = $self->prepare("SELECT stable_id, version - FROM translation_stable_id - WHERE translation_id = ?"); - $sth->execute($translation->dbID()); - - my @array = $sth->fetchrow_array(); - $translation->{'_stable_id'} = $array[0]; - $translation->{'_version'} = $array[1]; - - return 1; -} sub remove { @@ -248,9 +268,11 @@ sub remove { $sth = $self->prepare("DELETE FROM translation_stable_id WHERE translation_id = ?" ); $sth->execute( $translation->dbID ); - $translation->dbID( undef ); #don't think this line works + $translation->dbID( undef ); + $translation->adaptor(undef); } + =head2 list_dbIDs Arg [1] : none @@ -268,14 +290,16 @@ sub list_dbIDs { return $self->_list_dbIDs("translation"); } + =head2 list_stable_dbIDs Arg [1] : none - Example : @stable_translation_ids = @{$translation_adaptor->list_stable_dbIDs()}; - Description: Gets an array of stable ids for all translations in the current db - Returntype : list of ints + Example : @transl_stable_ids = @{$transl_adaptor->list_stable_dbIDs()}; + Description: Gets an array of stable ids for all translations in the current + db + Returntype : reference to a list of strings Exceptions : none - Caller : ? + Caller : general =cut @@ -285,4 +309,121 @@ sub list_stable_ids { return $self->_list_dbIDs("translation_stable_id", "stable_id"); } + + +=head2 fetch_by_dbID + + Arg [1] : int $dbID + The internal identifier of the Translation to obtain + Example : $translation = $translation_adaptor->fetch_by_dbID(1234); + Description: This fetches a Translation object via its internal id. This + is only debatably useful since translations do not make much + sense outside of the context of their Translation. Consider + using fetch_by_Transcript instead. + Returntype : Bio::EnsEMBL::Translation or undef if the translation is not + found. + Exceptions : warning if an additional (old style) Transcript argument is + provided + Caller : ? + +=cut + +sub fetch_by_dbID { + my ($self,$dbID, $transcript) = @_; + + if($transcript) { + deprecate("Use of fetch_by_dbID with a Transcript argument is deprecated." + . "Use fetch_by_Transcript instead." ); + } + + if(!$dbID) { + throw("dbID argument is required"); + } + + my $transcript_adaptor = $self->db()->get_TranscriptAdaptor(); + $transcript = $transcript_adaptor->fetch_by_translation_id($dbID); + + return undef if(!$transcript); + + return $self->fetch_by_Transcript($transcript); +} + + +=head2 fetch_by_dbID + + Arg [1] : int $dbID + The internal identifier of the Translation to obtain + Example : $translation = $translation_adaptor->fetch_by_dbID(1234); + Description: This fetches a Translation object via its internal id. This + is only debatably useful since translations do not make much + sense outside of the context of their Translation. Consider + using fetch_by_Transcript instead. + Returntype : Bio::EnsEMBL::Translation or undef if the translation is not + found. + Exceptions : warning if an additional (old style) Transcript argument is + provided + Caller : ? + +=cut + +sub fetch_by_stable_id { + my ($self,$stable_id) = @_; + + if(!$stable_id) { + throw("stable id argument is required"); + } + + my $transcript_adaptor = $self->db()->get_TranscriptAdaptor(); + my $transcript = + $transcript_adaptor->fetch_by_translation_stable_id($stable_id); + + return undef if(!$transcript); + + return $self->fetch_by_Transcript($transcript); +} + + + + +=head2 fetch_all_by_DBEntry + + Description: DEPRECATED, this has been renames fetch_all_by_external_name + +=cut + +sub fetch_all_by_DBEntry { + my $self = shift; + deprecate("Use fetch_all_by_external_name instead."); + return $self->fetch_all_by_external_name(@_); +} + +=head2 get_stable_entry_info + + Description: DEPRECATED - This method should no longer be needed. Stable + id info is fetched when the transcript is. + +=cut + +sub get_stable_entry_info { + my ($self,$translation) = @_; + + deprecate( "This method shouldnt be necessary any more" ); + + unless(defined $translation && ref $translation && + $translation->isa('Bio::EnsEMBL::Translation') ) { + throw("Needs a Translation object, not a [$translation]"); + } + + my $sth = $self->prepare("SELECT stable_id, version + FROM translation_stable_id + WHERE translation_id = ?"); + $sth->execute($translation->dbID()); + + my @array = $sth->fetchrow_array(); + $translation->{'_stable_id'} = $array[0]; + $translation->{'_version'} = $array[1]; + + return 1; +} + 1; diff --git a/modules/Bio/EnsEMBL/DensityFeature.pm b/modules/Bio/EnsEMBL/DensityFeature.pm new file mode 100644 index 0000000000..38335c7504 --- /dev/null +++ b/modules/Bio/EnsEMBL/DensityFeature.pm @@ -0,0 +1,191 @@ +# +# Ensembl module for Bio::EnsEMBL::DensityFeature +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::DensityFeature - A feature representing a density, or precentage +coverage etc. in a given region. + +=head1 SYNOPSIS + +use Bio::EnsEMBL::DensityFeature; + +$feature = Bio::EnsEMBL::DensityFeature->new(-start => 100, + -end => 220, + -slice => $slice, + -analysis => $analysis, + -density_value => 90.1, + -density_value_type => 'sum', + -dbID => 112, + -adaptor => $adaptor); + +=head1 DESCRIPTION + +A density feature represents a count, density, or percentage coverage, etc. for +a given region. + +This module is part of the Ensembl project http://www.ensembl.org + +=head1 CONTACT + +Post comments/questions to the ensembl development list: ensembl-dev@ebi.ac.uk + +=head1 METHODS + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::DensityFeature; + +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw); + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::Feature); + + +=head2 new + + Arg [DENSITY_VALUE] : The number of features which were found within the + region of this DensityFeature. May also be a percentage or + coverage, etc. + Arg [DENSITY_VALUE_TYPE] : string - should be 'ratio' or 'sum'. A value + which is a sum represents a summation values in the + the range of this feature. A ratio is some sort of average + of the values in the range of this feature. A 'sum' could be + a count of the snps in the region and a 'ratio' could be a + percent gc contenct or repeat coverage. + Arg [...] : Named arguments passed to superclass + Example : $feature = Bio::EnsEMBL::SimpleFeature->new + (-start => 1, + -end => 1e6, + -analysis => $analysis, + -density_value => 80.5, + -density_value_type => 'ratio'); + Description: Creates a new density feature. + Returntype : Bio::EnsEMBL::DensityFeature + Exceptions : throw if invalid density value type is provided + Caller : general + +=cut + +sub new { + my $caller = shift; + + #allow constructor to be called as class or object method + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + my($density_value,$density_value_type) = + rearrange(['DENSITY_VALUE', 'DENSITY_VALUE_TYPE'], @_); + + throw("Density value must be >= 0.") if($density_value < 0); + + if($density_value) { + $density_value = lc($density_value); + if($density_value_type ne 'sum' && $density_value_type ne 'ratio') { + throw("Unknown density value type [$density_value_type]."); + } + } + + $self->{'density_value'} = $density_value; + $self->{'density_value_type'} = $density_value_type; + $self->{'strand'} = 0; + + return $self; +} + + +sub new_fast { + my $class = shift; + my $hashref = shift; + return bless($hashref,$class); +} + + +=head2 strand + + Arg [1] : none + Example : $strand = $df->strand(); + Description: Getter fot the strand attribute. Density features always have + strand 0 and this attribute is not settable. + Returntype : int (always 0) + Exceptions : warning if an attempt is made to set the strand + Caller : general + +=cut + +sub strand { + my $self = shift; + warning("DensityFeature strand is not settable") if(@_); + return 0; +} + + + +=head2 density_value + + Arg [1] : (optional) float $density_value + Example : $dv = $density_feature->density_value(); + Description: Getter/Setter for the density value of this DensityFeature. + The density value may be a count, a percentage, or a coverage + of a feature type in the area defined by this feature. + Returntype : float + Exceptions : throw if a negative density value is provided + Caller : general + +=cut + +sub density_value { + my $self = shift; + + if(@_) { + my $density_value = shift; + throw("Density value must be >= 0.") if($density_value < 0); + $self->{'density_value'} = $density_value; + } + + return $self->{'density_value'}; +} + + + + +=head2 density_value_type + + Arg [1] : string $newval (optional) + The new value to set the density_value_type attribute to + Example : $density_value_type = $obj->density_value_type() + Description: Getter/Setter for the density_value_type attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub density_value_type{ + my $self = shift; + if(@_) { + my $density_value_type = lc(shift); + if($density_value_type ne 'sum' && $density_value_type ne 'ratio') { + throw("Unknown density value type [$density_value_type]"); + } + $self->{'density_value_type'} = $density_value_type; + } + return $self->{'density_value_type'}; +} + +1; + + + diff --git a/modules/Bio/EnsEMBL/Exon.pm b/modules/Bio/EnsEMBL/Exon.pm index 4e9d761104..13bb15aef8 100755 --- a/modules/Bio/EnsEMBL/Exon.pm +++ b/modules/Bio/EnsEMBL/Exon.pm @@ -1,7 +1,6 @@ # -# BioPerl module for Exon +# EnsEMBL module for Bio::EnsEMBL::Exon # -# Cared for by Ewan Birney <birney@sanger.ac.uk> # # Copyright Ewan Birney # @@ -11,40 +10,35 @@ =pod -=head1 NAME - -Bio::EnsEMBL::Exon - Confirmed Exon +=head1 NAME Bio::EnsEMBL::Exon - A class representing an Exon =head1 SYNOPSIS - $ex = new Bio::EnsEMBL::Exon; - - $ex->start(10); - $ex->end(100); - -Examples of creating an exon - - # start = 1208, end = 1506, forward strand - $ex = new Bio::EnsEMBL::Exon(1208,1506,1) - - Start and end coordinates are always stored with start < end. If they are - input in the reverse order they will be swapped over. The value for the - strand will be kept as its input value; - - Strand values: + or 1 = forward strand - - or -1 = reverse strand - . or 0 = unknown strand + $ex = new Bio::EnsEMBL::Exon(-START => 100, + -END => 200, + -STRAND => 1, + -SLICE => $slice, + -DBID => $dbID, + -ANALYSIS => $analysis, + -STABLE_ID => 'ENSE000000123', + -VERSION => 2 + ); - $ex->contig($dna); # $dna is a Bio::Seq - $ex->phase(0); # Sets the phase of the exon - $ex->end_phase(1); # sets the end_phase of the exon + #seq returns a Bio::Seq + my $seq = $exon->seq->seq(); - Phase values are 0,1,2 + #peptide only makes sense within transcript context + my $pep = $exon->peptide($transcript)->seq(); + #normal feature operations can be performed: + $exon = $exon->transform('clone'); + $exon->move($new_start, $new_end, $new_strand); + print $exon->slice->seq_region_name(); =head1 DESCRIPTION -Exon object. +This is a class which represents an exon which is part of a transcript. +See Bio::EnsEMBL:Transcript =head1 CONTACT @@ -52,27 +46,24 @@ Post questions to the EnsEMBL developer list: <ensembl-dev@ebi.ac.uk> =head1 APPENDIX -The rest of the documentation details each of the object methods. Internal +The rest of the documentation details each of the object methods. Internal methods are usually preceded with a_ =cut - -# Let the code begin... - - package Bio::EnsEMBL::Exon; -use vars qw(@ISA $AUTOLOAD); +use vars qw(@ISA); use strict; -# Object preamble - inherits from Bio::SeqFeature::Generic -use Bio::EnsEMBL::SeqFeature; +use Bio::EnsEMBL::Feature; use Bio::Seq; # exons have to have sequences... -use Bio::EnsEMBL::StickyExon; -@ISA = qw(Bio::EnsEMBL::SeqFeature); +use Bio::EnsEMBL::Utils::Exception qw( warning throw deprecate ); +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); + +@ISA = qw(Bio::EnsEMBL::Feature); =head2 new @@ -87,22 +78,28 @@ use Bio::EnsEMBL::StickyExon; =cut sub new { - my($class,@args) = @_; + my $class = shift; - my $self = $class->SUPER::new(@args); - - # set exon rank to be 1 be default - $self->sticky_rank(1); + $class = ref $class || $class; + + my $self = $class->SUPER::new( @_ ); + + my ( $phase, $end_phase, $stable_id, $version ) = + rearrange( [ "PHASE", "END_PHASE", "STABLE_ID", "VERSION" ], @_ ); - # set stuff in self from @args - return $self; # success - we hope! + $self->{'phase'} = $phase; + $self->{'end_phase'} = $end_phase; + $self->{'stable_id'} = $stable_id; + $self->{'version'} = $version; + + return $self; } =head2 new_fast - Arg [1] : Bio::EnsEMBL::RawContig/Bio::EnsEMBL::Slice $contig + Arg [1] : Bio::EnsEMBL::Slice $slice Arg [2] : int $start Arg [3] : int $end Arg [4] : int $strand (1 or -1) @@ -115,7 +112,7 @@ sub new { =cut sub new_fast { - my ($class,$contig,$start,$end,$strand) = @_; + my ($class,$slice,$start,$end,$strand) = @_; my $self = bless {}, $class; @@ -123,465 +120,19 @@ sub new_fast { # We assume that the strand is correct and keep the input value. if ($start > $end) { - my $tmp = $end; - $end = $start; - $start = $tmp; + throw( "End smaller than start not allowed" ); } - + $self->start ($start); $self->end ($end); $self->strand($strand); - $self->contig($contig); - - return $self; -} - - - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set for the database internal id - Returntype : int - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub dbID { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'dbID'} = $value; - } - return $self->{'dbID'}; - -} - - - -=head2 temporary_id - - Arg [1] : string $temporary_id - Example : none - Description: get/set for attribute temporary_id - was invented from genebuild and shouldnt be necessary - Returntype : string - Exceptions : none - Caller : general - -=cut - - -sub temporary_id { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'tempID'} = $value; - } - return $self->{'tempID'}; - -} - - -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::DBSQL::ExonAdaptor $adaptor - Example : none - Description: get/set for this objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::ExonAdaptor - Exceptions : none - Caller : general, set from adaptor on store - -=cut - -sub adaptor { - my $self = shift; - if( @_ ) { - $self->{'adaptor'} = shift; - } - return $self->{'adaptor'}; - -} - - - -=head2 _transform_between_Slices - - Arg [1] : Bio::EnsEMBL::Slice $new_slice - Example : none - Description: Transforms the exons from one Slice to the given Slice, - that needs to be on the same Chromosome. The method overwrites - the same method in Bio::EnsEMBL::SeqFeature - Returntype : Bio::EnsEMBL::Exon - Exceptions : Checks if Slice is attached and argument is Slice on same - chromosome. - Caller : transform - -=cut - -sub _transform_between_Slices { - my ($self, $to_slice) = @_; - - my $from_slice = $self->contig(); - - #sanity check - make sure we have something to transform from - unless(defined $from_slice) { - $self->throw("Exon's contig is not defined - cannot transform between " - . "slices\n"); - } - #sanity check - make sure the from slice's chromosome is defined - unless(defined $from_slice->chr_name()) { - $self->throw("Exon's chromosome is not defined - cannot transform between " - . "slices\n"); - } - - unless(defined $to_slice->chr_name()) { - #sanity check - we need an adaptor from a slice - my $slice_adaptor = $to_slice->adaptor || $from_slice->adaptor; - unless($slice_adaptor) { - $self->throw("Exon cannot be transformed to empty slice without an " . - "an attached adaptor on the From slice or To slice"); - } - #from slice is an empty slice, create a entire chromosome slice - %$to_slice = %{$slice_adaptor->fetch_by_chr_name($from_slice->chr_name())}; - } - - #sanity check - make sure we are transforming to the same chromosome - if($to_slice->chr_name() ne $from_slice->chr_name()) { - $self->throw("Cannot transform exon on chr " . $from_slice->chr_name() . - "to chr " . $to_slice->chr_name()); - } - - #create a copy of the old exon - my $new_exon = new Bio::EnsEMBL::Exon; - %$new_exon = %$self; - - #unset the new exons supporting features - delete $new_exon->{'_supporting_evidence'}; - - #calculate the exons position in the assembly - my ($exon_chr_start, $exon_chr_end, $exon_chr_strand); - if($from_slice->strand == 1) { - $exon_chr_start = $self->start + $from_slice->chr_start - 1; - $exon_chr_end = $self->end + $from_slice->chr_start - 1; - $exon_chr_strand = $self->strand; - } else { - $exon_chr_start = $from_slice->chr_end - $self->end + 1; - $exon_chr_end = $from_slice->chr_end - $self->start + 1; - $exon_chr_strand = $self->strand * -1; - } - - #now calculate the exons position on the new slice - if($to_slice->strand == 1) { - $new_exon->start($exon_chr_start - $to_slice->chr_start + 1); - $new_exon->end ($exon_chr_end - $to_slice->chr_start + 1); - $new_exon->strand($exon_chr_strand); - } else { - $new_exon->start($to_slice->chr_end - $exon_chr_end + 1); - $new_exon->end ($to_slice->chr_end - $exon_chr_start + 1); - $new_exon->strand($exon_chr_strand * -1); - } - - $new_exon->contig($to_slice); - - #copy the attached supporting features and transform them - my @feats; - if( exists $self->{_supporting_evidence} ) { - foreach my $sf (@{$self->get_all_supporting_features()}) { - #my $f = $sf->new(); - #%$f = %$sf; - ###(mcvicker) this would be better if the feature was copied - push @feats, $sf->transform($to_slice); - } - $new_exon->add_supporting_features(@feats); - } - - return $new_exon; -} - - - -=head2 _transform_to_Slice - - Arg [1] : Bio::EnsEMBL::Slice $slice - Example : none - Description: Transforms this Exon from RawContig coord to given Slice coord. - The method overrides the same method in Bio::EnsEMBL::SeqFeature - Returntype : Bio::EnsEMBL::Exon - Exceptions : If the RawContig coords dont map - Caller : transform - -=cut - -sub _transform_to_Slice { - my ($self,$slice) = @_; - - unless($self->contig) { - $self->throw("Exon's contig must be defined to transform to Slice coords"); - } - #print STDERR "transforming ".$self." from raw contig to slice coords\n"; - #print STDERR "exon ".$self->stable_id." ".$self->gffstring."\n"; - my $adaptor = $slice->adaptor || $self->contig->adaptor; - - unless($adaptor) { - $self->throw("Cannot transform to exon slice unless either the " . - "exon->contig->adaptor or slice->adaptor is defined"); - } - - my $mapper = $adaptor->db->get_AssemblyMapperAdaptor->fetch_by_type - ( $slice->assembly_type() ); - - my @mapped = $mapper->map_coordinates_to_assembly - ( - $self->contig()->dbID, - $self->start(), - $self->end(), - $self->strand() - ); - - # exons should always transform so in theory no error check necessary - # actually we could have exons inside and outside the Slice - # because of db design and the query that produces them - if( ! @mapped ) { - $self->throw( "Exon couldnt map" ); - } - # should get a gap object returned if an exon lies outside of - # the current slice. Simply return the exon as is - i.e. untransformed. - # this untransformed exon will be distinguishable as it will still have - # contig attached to it and not a slice. - if( $mapped[0]->isa( "Bio::EnsEMBL::Mapper::Gap" )) { - return $self; - } - - # the slice is an empty slice, create an enitre chromosome slice and - # replace the empty slice with it - if( ! defined $slice->chr_name() ) { - my $slice_adaptor = $adaptor->db->get_SliceAdaptor; - %$slice = %{$slice_adaptor->fetch_by_chr_name( $mapped[0]->id() )}; - } - - my $newexon = new Bio::EnsEMBL::Exon(); - %$newexon = %$self; - - #unset supporting features of new exon - delete $newexon->{'_supporting_evidence'}; - - if ($slice->strand == 1) { - $newexon->start( $mapped[0]->start() - $slice->chr_start() + 1); - $newexon->end( $mapped[0]->end() - $slice->chr_start() + 1); - } else { - $newexon->start( $slice->chr_end() - $mapped[0]->end() + 1); - $newexon->end( $slice->chr_end() - $mapped[0]->start() + 1); - } - - $newexon->strand( $mapped[0]->strand() * $slice->strand() ); - $newexon->contig( $slice ); - #copy the attached supporting features and transform them - my @feats; - if( exists $self->{_supporting_evidence} ) { - foreach my $sf (@{$self->get_all_supporting_features()}) { - #my $f = $sf->new(); - #%$f = %$sf; - #(mcvicker) this would be better if the feature was copied - push @feats, $sf->transform($slice); - } - $newexon->add_supporting_features(@feats); - } - #print STDERR "transformed exon ".$newexon->stable_id." ".$newexon->gffstring."\n"; - return $newexon; -} - - - -=head2 _transform_to_RawContig - - Args : none - Example : none - Description: Transform this Exon from Slice to RawContig coords - Returntype : Bio::EnsEMBL::Exon - Exceptions : Exon cant lie on Gap - Caller : transform - -=cut - -sub _transform_to_RawContig { - my $self = shift; - - my $slice_adaptor = $self->contig->adaptor; - - unless($slice_adaptor) { - $self->throw("Cannot transform exon to raw contig unless attached slice" . - " has adaptor defined. (i.e. exon->contig->adaptor)"); - } - - my $asma = $slice_adaptor->db->get_AssemblyMapperAdaptor(); - - my $mapper = $asma->fetch_by_type( $self->contig()->assembly_type() ); - my $rcAdaptor = $slice_adaptor->db->get_RawContigAdaptor(); - my $slice_chr_start = $self->contig->chr_start(); - my $slice_chr_end = $self->contig->chr_end(); - - my ($exon_chr_start,$exon_chr_end); - - if ($self->contig()->strand() == 1) { - $exon_chr_start = $self->start() + $slice_chr_start - 1; - $exon_chr_end = $self->end() + $slice_chr_start - 1; - } - else { - $exon_chr_end = $slice_chr_end - $self->start() + 1; - $exon_chr_start = $slice_chr_end - $self->end() + 1; - } - - my @mapped = $mapper->map_coordinates_to_rawcontig - ( - $self->contig()->chr_name(), - $exon_chr_start, - $exon_chr_end, - $self->strand()*$self->contig()->strand() - ); - - if( ! @mapped ) { - $self->throw( "Exon couldnt map" ); - return $self; - } - - #transform the supporting features to raw contig coords (hashed on contig) - my %sf_hash; - - if( exists $self->{_supporting_evidence} ) { - my $sfs = $self->get_all_supporting_features(); - SUPPORTING:foreach my $sf (@$sfs) { - my @mapped_feats; - eval{ - @mapped_feats = $sf->transform; - }; - if($@){ - $self->warn("Supporting feature didn't mapped ignoring $@"); - next SUPPORTING; - } - foreach my $mapped_feat (@mapped_feats) { - unless(exists $sf_hash{$mapped_feat->contig->name}) { - $sf_hash{$mapped_feat->contig->name} = []; - } - push @{$sf_hash{$mapped_feat->contig->name}}, $mapped_feat; - } - } - } - - if( scalar( @mapped ) > 1 ) { - # sticky exons - # bjeacchh - - my $stickyExon = Bio::EnsEMBL::StickyExon->new(); - $stickyExon->phase( $self->phase() ); - $stickyExon->end_phase($self->end_phase()); - $stickyExon->adaptor( $self->adaptor() ); - $stickyExon->start( 1 ); - if( defined $self->dbID() ) { - $stickyExon->dbID( $self->dbID() ); - } - - my $sticky_length =0; - # and then all the component exons ... - for( my $i=0; $i <= $#mapped; $i++ ) { - if($mapped[$i]->isa("Bio::EnsEMBL::Mapper::Gap")){ - $self->throw(" exon lies on a gap cannot be mapped\n"); - } - my $componentExon = Bio::EnsEMBL::Exon->new(); - $componentExon->start( $mapped[$i]->start() ); - $componentExon->end( $mapped[$i]->end() ); - $componentExon->strand( $mapped[$i]->strand() ); - my $rawContig = $rcAdaptor->fetch_by_dbID( $mapped[$i]->id() ); - $componentExon->contig( $rawContig ); - $componentExon->sticky_rank( $i + 1 ); - $componentExon->phase( $self->phase ); - $componentExon->end_phase($self->end_phase); - $componentExon->dbID( $self->dbID() ); - $componentExon->adaptor( $self->adaptor() ); - - #add the supporting features on this contig to the component exon - if(exists $sf_hash{$rawContig->name}) { - $componentExon->add_supporting_features(@{$sf_hash{$rawContig->name}}); - } - - $stickyExon->add_component_Exon( $componentExon ); - $sticky_length += ( $mapped[$i]->end() - $mapped[$i]->start() + 1 ); - } - $stickyExon->end( $sticky_length ); - $stickyExon->strand( 1 ); - if (defined($self->stable_id)) { - $stickyExon->stable_id($self->stable_id); - } - if (defined($self->version)) { - $stickyExon->version($self->version); - } - if (defined($self->created)) { - $stickyExon->created($self->created); - } - if (defined($self->modified)) { - $stickyExon->modified($self->modified); - } - return $stickyExon; - - } else { - # thats a simple exon - if($mapped[0]->isa("Bio::EnsEMBL::Mapper::Gap")){ - - $self->throw(" exon lies on a gap cannot be mapped\n"); - } - my $rawContig = $rcAdaptor->fetch_by_dbID( $mapped[0]->id() ); - my $new_exon = new Bio::EnsEMBL::Exon(); - - #copy this exon - %$new_exon = %$self; - - #unset supporting evidence of new exon - delete $new_exon->{'_supporting_evidence'}; + $self->slice($slice); - $new_exon->start( $mapped[0]->start() ); - $new_exon->end( $mapped[0]->end() ); - $new_exon->strand( $mapped[0]->strand() ); - # attach raw contig - $new_exon->contig( $rawContig ); - - #replace old supporting feats with transformed supporting feats - $new_exon->add_supporting_features(@{$sf_hash{$rawContig->name}}); - #print STDERR "transformed exon ".$new_exon->gffstring."\n"; - return $new_exon; - - } + return $self; } -=head2 sticky_rank - - Arg [1] : (optional) int $value - Example : $sticky_rank = $exon->sticky_rank - Description: Returns the position of a component exon in its assembled sticky - exon. Normal exons all have sticky_rank = 1 as do exons in - slice coordinates. Exons in RawContig coordinates which span - multiple contigs are 'sticky' and are made of component exons - whose order are denoted by this attribute. - Returntype : int - Exceptions : none - Caller : Bio::EnsEMBL::StickyExon - -=cut - -sub sticky_rank{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'sticky_rank'} = $value; - } - return $obj->{'sticky_rank'}; - -} - - =head2 end_phase @@ -601,19 +152,20 @@ sub sticky_rank{ =cut sub end_phase { - my ($self,$endphase) = @_; - if ( defined($endphase) ){ - $self->{_end_phase} = $endphase; - } - if ( !defined( $self->{_end_phase} ) ){ - $self->throw("No end phase set in Exon. You must set it explicitly. $!" . - "Caller: ".caller); + my $self = shift; + if( @_ ) { + $self->{'end_phase'} = shift; + } else { + if( ! defined ( $self->{'end_phase'} )) { + warning( "No end phase set in Exon. You must set it explicitly." ); + } } - return $self->{_end_phase}; + return $self->{'end_phase'}; } + =pod =head2 phase @@ -659,8 +211,8 @@ sub phase { #print STDERR "Setting phase to $value\n"; $self->{'phase'} = $value; } else { - $self->throw("Bad value ($value) for exon phase. Should only be" . - " -1,0,1,2\n"); + throw("Bad value ($value) for exon phase. Should only be" . + " -1,0,1,2\n"); } } return $self->{'phase'}; @@ -684,7 +236,7 @@ sub frame { my ($self,$value) = @_; if( defined $value ) { - $self->throw("Cannot set frame. Deduced from seq_start and phase"); + throw("Cannot set frame. Deduced from seq_start and phase"); } # frame is mod 3 of the translation point @@ -704,34 +256,220 @@ sub frame { return ($self->start+1)%3; } - $self->throw("bad phase in exon ".$self->phase); + throw("bad phase in exon ".$self->phase); + +} + + + +=head2 type + + Arg [1] : (optional) $value + Example : Gets/Sets th etype of this exon + Description: Returns the type of the exon (Init, Intr, Term) + Returntype : string + Exceptions : none + Caller : ? + +=cut + +sub type { + my ($self,$value) = @_; + + if (defined($value)) { + $self->{'type'} = $value; + } + return $self->{'type'}; +} + + + +=head2 start + + Arg [1] : int $start (optional) + Example : $start = $exon->start(); + Description: Getter/Setter for the start of this exon. The superclass + implmentation is overridden to flush the internal sequence + cache if this value is altered + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub start { + my $self = shift; + #if an arg was provided, flush the internal sequence cache + delete $self->{'_seq_cache'} if(@_); + return $self->SUPER::start(@_); +} + + +=head2 end + + Arg [1] : int $end (optional) + Example : $end = $exon->end(); + Description: Getter/Setter for the end of this exon. The superclass + implmentation is overridden to flush the internal sequence + cache if this value is altered + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub end { + my $self = shift; + #if an arg was provided, flush the internal sequence cache + delete $self->{'_seq_cache'} if(@_); + return $self->SUPER::end(@_); +} + + +=head2 strand + + Arg [1] : int $strand (optional) + Example : $start = $exon->strand(); + Description: Getter/Setter for the strand of this exon. The superclass + implmentation is overridden to flush the internal sequence + cache if this value is altered + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub strand { + my $self = shift; + #if an arg was provided, flush the internal sequence cache + delete $self->{'_seq_cache'} if(@_); + return $self->SUPER::strand(@_); +} + + +=head2 slice + + Arg [1] : Bio::EnsEMBL::Slice + Example : $slice = $exon->slice(); + Description: Getter/Setter for the slice this exon is on. The superclass + implmentation is overridden to flush the internal sequence + cache if this value is altered + Returntype : Bio::EnsEMBL::Slice + Exceptions : none + Caller : general + +=cut + +sub contig { + my $self = shift; + #if an arg was provided, flush the internal sequence cache + delete $self->{'_seq_cache'} if(@_); + return $self->SUPER::slice(@_); +} + + + +=head2 move + + Arg [1] : int start + Arg [2] : int end + Arg [3] : (optional) int strand + Example : None + Description: Sets the start, end and strand in one call rather than in + 3 seperate calls to the start(), end() and strand() methods. + This is for convenience and for speed when this needs to be + done within a tight loop. This overrides the superclass + move() method so that the internal sequence cache can be + flushed if the exon if moved. + Returntype : none + Exceptions : Thrown is invalid arguments are provided + Caller : general + +=cut + +sub move { + my $self = shift; + #flush the internal sequence cache + delete $self->{'_seq_cache'}; + return $self->SUPER::move(@_); +} + + + +=head2 transform + + Arg 1 : String $coordinate_system_name + Arg [2] : String $coordinate_system_version + Description: moves this exon to the given coordinate system. If this exon has + attached supporting evidence, they move as well. + Returntype : Bio::EnsEMBL::Exon + Exceptions : wrong parameters + Caller : general + +=cut + + +sub transform { + my $self = shift; + + # catch for old style transform calls + if( !@_ || ( ref $_[0] && $_[0]->isa( "Bio::EnsEMBL::Slice" ))) { + deprecate('Calling transform without a coord system name is deprecated.'); + return $self->_deprecated_transform(@_); + } + + my $new_exon = $self->SUPER::transform( @_ ); + return undef unless $new_exon; + + if( exists $self->{'_supporting_evidence'} ) { + my @new_features; + for my $old_feature ( @{$self->{'_supporting_evidence'}} ) { + my $new_feature = $old_feature->transform( @_ ); + push( @new_features, $new_feature ); + } + $new_exon->{'_supporting_evidence'} = \@new_features; + } + + #dont want to share the same sequence cache + delete $new_exon->{'_seq_cache'}; + return $new_exon; } -=head2 type +=head2 transfer - Arg [1] : (optional) $value - Example : Gets/Sets th etype of this exon - Description: Returns the type of the exon (Init, Intr, Term) - Returntype : string + Arg [1] : Bio::EnsEMBL::Slice $destination_slice + Example : none + Description: Moves this Exon to given target slice coordinates. If Features + are attached they are moved as well. Returns a new exon. + Returntype : Bio::EnsEMBL::Gene Exceptions : none - Caller : ? + Caller : general =cut -sub type { - my ($self,$value) = @_; - - if (defined($value)) { - $self->{'type'} = $value; - } - return $self->{'type'}; -} +sub transfer { + my $self = shift; + my $new_exon = $self->SUPER::transfer( @_ ); + return undef unless $new_exon; + + if( exists $self->{'_supporting_evidence'} ) { + my @new_features; + for my $old_feature ( @{$self->{'_supporting_evidence'}} ) { + my $new_feature = $old_feature->transfer( @_ ); + push( @new_features, $new_feature ); + } + $new_exon->{'_supporting_evidence'} = \@new_features; + } + #dont want to share the same sequence cache + delete $new_exon->{'_seq_cache'}; + return $new_exon; +} @@ -758,22 +496,21 @@ sub add_supporting_features { #print STDERR "calling add supporting features\n\n"; return unless @features; - $self->{_supporting_evidence} = [] - unless defined($self->{_supporting_evidence}); + $self->{_supporting_evidence} ||= []; # check whether this feature object has been added already FEATURE: foreach my $feature (@features) { #print STDERR "have ".$feature." to add to exon\n\n"; - unless($feature && $feature->isa("Bio::EnsEMBL::SeqFeatureI")) { - $self->throw("Supporting feat [$feature] not a " . - "Bio::EnsEMBL::SeqFeatureI"); + unless($feature && $feature->isa("Bio::EnsEMBL::Feature")) { + throw("Supporting feat [$feature] not a " . + "Bio::EnsEMBL::Feature"); } - if ((defined $self->contig() && defined $feature->contig())&& - ( $self->contig()->name() ne $feature->contig()->name())){ - $self->throw("Supporting feat not in same coord system as exon\n" . - "exon is attached to [".$self->contig->name()."]\n" . - "feat is attached to [".$feature->contig->name()."]"); + if ((defined $self->slice() && defined $feature->slice())&& + ( $self->slice()->name() ne $feature->slice()->name())){ + throw("Supporting feat not in same coord system as exon\n" . + "exon is attached to [".$self->slice()->name()."]\n" . + "feat is attached to [".$feature->slice()->name()."]"); } foreach my $added_feature ( @{ $self->{_supporting_evidence} } ){ @@ -838,7 +575,7 @@ sub get_all_supporting_features { sub find_supporting_evidence { my ($self,$features,$sorted) = @_; - + foreach my $f (@$features) { # return if we have a sorted feature array if ($sorted == 1 && $f->start > $self->end) { @@ -859,221 +596,39 @@ sub find_supporting_evidence { } } +=head2 stable_id - - -=head2 start - - Arg [1] : int $start (optional) - Example : $start = $exon->start(); - Description: Getter/Setter for the start of this exon. The superclass - implmentation is overridden to flush the internal sequence - cache if this value is altered - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub start { - my $self = shift; - #if an arg was provided, flush the internal sequence cache - delete $self->{'_seq_cache'} if(@_); - return $self->SUPER::start(@_); -} - - -=head2 end - - Arg [1] : int $end (optional) - Example : $end = $exon->end(); - Description: Getter/Setter for the end of this exon. The superclass - implmentation is overridden to flush the internal sequence - cache if this value is altered - Returntype : int + Arg [1] : string $stable_id + Example : none + Description: get/set for attribute stable_id + Returntype : string Exceptions : none Caller : general =cut -sub end { - my $self = shift; - #if an arg was provided, flush the internal sequence cache - delete $self->{'_seq_cache'} if(@_); - return $self->SUPER::end(@_); +sub stable_id { + my $self = shift; + $self->{'stable_id'} = shift if( @_ ); + return $self->{'stable_id'}; } -=head2 strand - - Arg [1] : int $strand (optional) - Example : $start = $exon->strand(); - Description: Getter/Setter for the strand of this exon. The superclass - implmentation is overridden to flush the internal sequence - cache if this value is altered - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub strand { - my $self = shift; - #if an arg was provided, flush the internal sequence cache - delete $self->{'_seq_cache'} if(@_); - return $self->SUPER::strand(@_); -} - -=head2 contig +=head2 version - Arg [1] : Bio::EnsEMBL::Slice or Bio::EnsEMBL::RawContig (optional) - Example : $slice = $exon->contig(); - Description: Getter/Setter for the contig of this exon. The superclass - implmentation is overridden to flush the internal sequence - cache if this value is altered - Returntype : int + Arg [1] : string $version + Example : none + Description: get/set for attribute version + Returntype : string Exceptions : none Caller : general =cut -sub contig { - my $self = shift; - #if an arg was provided, flush the internal sequence cache - delete $self->{'_seq_cache'} if(@_); - return $self->SUPER::contig(@_); -} - - - - -=head2 created - - Title : created - Usage : $obj->created() - Function: - Returns : value of created - Args : - - -=cut - -sub created{ - my ($self,$value) = @_; - - if(defined $value ) { - $self->{'_created'} = $value; - } - - - if( exists $self->{'_created'} ) { - return $self->{'_created'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_created'}; - -} - -=head2 modified - - Title : modified - Usage : $obj->modified() - Function: - Returns : value of modified - Args : - - -=cut - -sub modified{ - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_modified'} = $value; - } - - if( exists $self->{'_modified'} ) { - return $self->{'_modified'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_modified'}; -} - - -=head2 version - - Title : version - Usage : $obj->version() - Function: - Returns : value of version - Args : - -=cut - -sub version{ - - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_version'} = $value; - } - - if( exists $self->{'_version'} ) { - return $self->{'_version'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_version'}; - -} - - -=head2 stable_id - - Title : stable_id - Usage : $obj->stable_id - Function: - Returns : value of stable_id - Args : - - -=cut - -sub stable_id{ - - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_stable_id'} = $value; - } - - if( exists $self->{'_stable_id'} ) { - return $self->{'_stable_id'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_stable_id'}; - -} - -sub _get_stable_entry_info { +sub version { my $self = shift; - - if( !defined $self->adaptor ) { - return undef; - } - - $self->adaptor->get_stable_entry_info($self); - + $self->{'version'} = shift if( @_ ); + return $self->{'version'}; } @@ -1102,7 +657,7 @@ sub load_genomic_mapper { my ( $self, $mapper, $id, $start ) = @_; $mapper->add_map_coordinates( $id, $start, $start+$self->length()-1, - $self->strand(), $self->contig, + $self->strand(), $self->slice(), $self->start(), $self->end() ); } @@ -1167,12 +722,17 @@ sub peptide { my $tr = shift; unless($tr && ref($tr) && $tr->isa('Bio::EnsEMBL::Transcript')) { - $self->throw("transcript arg must be Bio::EnsEMBL:::Transcript not [$tr]"); + throw("transcript arg must be Bio::EnsEMBL:::Transcript not [$tr]"); } #convert exons coordinates to peptide coordinates + my $tmp_exon = $self->transfer($tr->slice); + if (!$tmp_exon) { + throw("Couldn't transfer exon to transcript's slice"); + } + my @coords = - $tr->genomic2pep($self->start, $self->end, $self->strand, $self->contig); + $tr->genomic2pep($tmp_exon->start, $tmp_exon->end, $tmp_exon->strand); #filter out gaps @coords = grep {$_->isa('Bio::EnsEMBL::Mapper::Coordinate')} @coords; @@ -1181,7 +741,7 @@ sub peptide { my $pep_str = ''; if(scalar(@coords) > 1) { - $self->throw("Error. Exon maps to multiple locations in peptide." . + throw("Error. Exon maps to multiple locations in peptide." . " Is this exon [$self] a member of this transcript [$tr]?"); } elsif(scalar(@coords) == 1) { my $c = $coords[0]; @@ -1192,7 +752,7 @@ sub peptide { my ($start, $end); $end = ($c->end > $pep->length) ? $pep->length : $c->end; $start = ($c->start < $end) ? $c->start : $end; - $pep_str = $pep->subseq($start, $end); + $pep_str = $tr->translate->subseq($start, $end); } return Bio::Seq->new(-seq => $pep_str, @@ -1221,7 +781,7 @@ sub seq { my $arg = shift; if( defined $arg ) { - $self->warn( "seq setting on Exon not supported currently" ); + warning( "seq setting on Exon not supported currently" ); $self->{'_seq_cache'} = $arg->seq(); } @@ -1231,13 +791,13 @@ sub seq { my $seq; - if ( ! defined $self->contig ) { - $self->warn(" this exon doesn't have a contig you won't get a seq \n"); + if ( ! defined $self->slice ) { + warning(" this exon doesn't have a slice you won't get a seq \n"); return undef; } else { - $seq = $self->contig()->subseq($self->start, $self->end); + $seq = $self->slice()->subseq($self->start, $self->end); if($self->strand == -1){ $seq =~ tr/ATGCatgc/TACGtacg/; @@ -1255,169 +815,138 @@ sub seq { -# Inherited methods -# but you do have all the SeqFeature documentation: reproduced here -# for convenience... - -=pod - -=head1 Methods inherited from SeqFeature - -=head2 start - - Title : start - Usage : $start = $feat->start - Function: Returns the start coordinate of the feature - Returns : integer - Args : none - -=head2 end - - Title : end - Usage : $end = $feat->end - Function: Returns the end coordinate of the feature - Returns : integer - Args : none - -=head2 strand - - Title : strand - Usage : $strand = $feat->strand() - $feat->strand($strand) - Function: get/set on strand information, being 1,-1 or 0 - Returns : -1,1 or 0 - Args : none +=head2 hashkey + Arg [1] : none + Example : if(exists $hash{$exon->hashkey}) { do_something(); } + Description: Returns a unique hashkey that can be used to uniquely identify + this exon. Exons are considered to be identical if they share + the same seq_region, start, end, strand, phase, end_phase. + Note that this will consider two exons on different slices + to be different, even if they actually are not. + Returntype : string formatted as slice_name-start-end-strand-phase-end_phase + Exceptions : thrown if not all the necessary attributes needed to generate + a unique hash value are set + set + Caller : general =cut -=head2 length - - Title : length - Usage : - Function: - Example : - Returns : - Args : - - -=head2 sub_SeqFeature - - Title : sub_SeqFeature - Usage : @feats = $feat->sub_SeqFeature(); - Function: Returns an array of sub Sequence Features - Returns : An array - Args : none - -=head2 primary_tag - - Title : primary_tag - Usage : $tag = $feat->primary_tag() - Function: Returns the primary tag for a feature, - eg 'exon' - Returns : a string - Args : none +sub hashkey { + my $self = shift; -=head2 source_tag + my $slice = $self->{'slice'}; + my $slice_name = ($slice) ? $slice->name() : undef; + my $start = $self->{'start'}; + my $end = $self->{'end'}; + my $strand = $self->{'strand'}; + my $phase = $self->{'phase'}; + my $end_phase = $self->{'end_phase'}; - Title : source_tag - Usage : $tag = $feat->source_tag() - Function: Returns the source tag for a feature, - eg, 'genscan' - Returns : a string - Args : none + if(!defined($slice_name)) { + throw('Slice must be set to generate correct hashkey.'); + } -=head2 has_tag + if(!defined($start)) { + warning("start attribute must be defined to generate correct hashkey."); + } - Title : has_tag - Usage : $value = $self->has_tag('some_tag') - Function: Returns the value of the tag (undef if - none) - Returns : - Args : + if(!defined($end)) { + throw("end attribute must be defined to generate correct hashkey."); + } -=head2 all_tags + if(!defined($strand)) { + throw("strand attribute must be defined to generate correct hashkey."); + } - Title : all_tags - Usage : @tags = $feat->all_tags() - Function: gives all tags for this feature - Returns : an array of strings - Args : none + if(!defined($phase)) { + throw("phase attribute must be defined to generate correct hashkey."); + } -=head2 gff_string + if(!defined($end_phase)) { + throw("end_phase attribute must be defined to generate correct hashkey."); + } - Title : gff_string - Usage : $str = $feat->gff_string - Function: provides the feature information in GFF - version 2 format. - Returns : A string - Args : None + return "$slice_name-$start-$end-$strand-$phase-$end_phase"; +} +=head2 display_id -=head1 RangeI methods + Arg [1] : none + Example : print $exons->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For exons this is the stable id if + it is available otherwise it is an empty string. + Returntype : string + Exceptions : none + Caller : web drawing code -These methods are inherited from RangeI and can be used -directly from a SeqFeatureI interface. Remember that a -SeqFeature is-a RangeI, and so wherever you see RangeI you -can use a feature ($r in the below documentation). +=cut -=head2 overlaps +sub display_id { + my $self = shift; + return $self->{'stable_id'} || ''; +} - Title : overlaps - Usage : if($feat->overlaps($r)) { do stuff } - if($feat->overlaps(200)) { do stuff } - Function: tests if $feat overlaps $r - Args : a RangeI to test for overlap with, or a point - Returns : true if the Range overlaps with the feature, false otherwise +##################### +# DEPRECATED METHODS +##################### -=head2 contains +sub _get_stable_entry_info { + my $self = shift; + deprecate( "This function shouldnt be called any more" ); + if( !defined $self->adaptor ) { + return undef; + } + $self->adaptor->get_stable_entry_info($self); +} - Title : contains - Usage : if($feat->contains($r) { do stuff } - Function: tests whether $feat totally contains $r - Args : a RangeI to test for being contained - Returns : true if the argument is totaly contained within this range +=head2 temporary_id -=head2 equals + Description: DEPRECATED. This should not be necessary - Title : equals - Usage : if($feat->equals($r)) - Function: test whether $feat has the same start, end, strand as $r - Args : a RangeI to test for equality - Returns : true if they are describing the same range +=cut +sub temporary_id { + my $self = shift; + deprecate('It should not be necessary to use this method.'); + $self->{'tempID'} = shift if(@_); + return $self->{'tempID'}; +} -=head1 Geometrical methods +=head2 created -These methods do things to the geometry of ranges, and return -triplets (start, stop, strand) from which new ranges could be built. + Description: DEPRECATED. Do not use. =cut -=head2 intersection - - Title : intersection - Usage : ($start, $stop, $strand) = $feat->intersection($r) - Function: gives the range that is contained by both ranges - Args : a RangeI to compare this one to - Returns : nothing if they don''t overlap, or - a new exon based on the range that they do overlap - +sub created{ + my ($self,$value) = @_; + deprecate( "Created attribute not supported any more" ); + if(defined $value ) { + $self->{'_created'} = $value; + } + return $self->{'_created'}; +} -=head2 union +=head2 modified - Title : union - Usage : ($start, $stop, $strand) = $feat->union($r); - : ($start, $stop, $strand) = Bio::RangeI->union(@ranges); - Function: finds the minimal range that contains all of the ranges - Args : a range or list of ranges to find the union of - Returns : the range containing all of the ranges + Description: DEPRECATED. Do not use. =cut +sub modified{ + my ($self,$value) = @_; + deprecate( "Modified attribute not supported any more" ); + if( defined $value ) { + $self->{'_modified'} = $value; + } + return $self->{'_modified'}; +} + 1; diff --git a/modules/Bio/EnsEMBL/External/BlastAdaptor.pm b/modules/Bio/EnsEMBL/External/BlastAdaptor.pm index 4e40198bbc..61ac03f23f 100644 --- a/modules/Bio/EnsEMBL/External/BlastAdaptor.pm +++ b/modules/Bio/EnsEMBL/External/BlastAdaptor.pm @@ -5,176 +5,16 @@ use strict; use DBI; use Storable qw(freeze thaw); use Data::Dumper qw( Dumper ); -use Time::Local; use vars qw(@ISA); use Bio::EnsEMBL::DBSQL::BaseAdaptor; use Bio::EnsEMBL::DBSQL::DBConnection; -use Bio::Search::HSP::EnsemblHSP; # This is a web module +#use Bio::Search::HSP::EnsemblHSP; # This is a web module @ISA = qw( Bio::EnsEMBL::DBSQL::BaseAdaptor ); #@ISA = qw( Bio::EnsEMBL::DBSQL::DBConnection ); - -#---------------------------------------------------------------------- -# Define SQL - -#--- CREATE TABLES --- -our $SQL_CREATE_TICKET = " -CREATE TABLE blast_ticket ( - ticket_id int(10) unsigned NOT NULL auto_increment, - create_time datetime NOT NULL default '0000-00-00 00:00:00', - update_time datetime NOT NULL default '0000-00-00 00:00:00', - ticket varchar(32) NOT NULL default '', - status enum('CURRENT','DELETED') NOT NULL default 'CURRENT', - object longblob, - PRIMARY KEY (ticket_id), - UNIQUE KEY ticket (ticket), - KEY create_time (create_time), - KEY update_time (update_time) -) TYPE=MyISAM"; - -our $SQL_CREATE_TABLE_LOG = " -CREATE TABLE blast_table_log ( - table_id int(10) unsigned NOT NULL auto_increment, - table_name varchar(32), - table_type enum('TICKET','RESULT','HIT','HSP') default NULL, - table_status enum('CURRENT','FILLED','DELETED') default NULL, - use_date date default NULL, - create_time datetime default NULL, - delete_time datetime default NULL, - num_objects int(10) default NULL, - PRIMARY KEY (table_id), - KEY table_name (table_name), - KEY table_type (table_type), - KEY use_date (use_date), - KEY table_status (table_status) -) TYPE=MyISAM"; - - -our $SQL_CREATE_DAILY_RESULT = " -CREATE TABLE %s ( - result_id int(10) unsigned NOT NULL auto_increment, - ticket varchar(32) default NULL, - object longblob, - PRIMARY KEY (result_id), - KEY ticket (ticket) -) TYPE=MyISAM"; - -our $SQL_CREATE_DAILY_HIT = " -CREATE TABLE %s ( - hit_id int(10) unsigned NOT NULL auto_increment, - ticket varchar(32) default NULL, - object longblob, - PRIMARY KEY (hit_id), - KEY ticket (ticket) -) TYPE=MyISAM"; - -our $SQL_CREATE_DAILY_HSP = " -CREATE TABLE %s ( - hsp_id int(10) unsigned NOT NULL auto_increment, - ticket varchar(32) default NULL, - object longblob, - chr_name varchar(32) default NULL, - chr_start int(10) unsigned default NULL, - chr_end int(10) unsigned default NULL, - PRIMARY KEY (hsp_id), - KEY ticket (ticket) -) TYPE=MyISAM MAX_ROWS=705032704 AVG_ROW_LENGTH=4000"; - -#--- TABLE LOG --- -our $SQL_SELECT_TABLE_LOG_CURRENT = " -SELECT use_date -FROM blast_table_log -WHERE table_type = ? -AND table_status = 'CURRENT' -ORDER BY use_date DESC"; - -our $SQL_TABLE_LOG_INSERT = " -INSERT into blast_table_log - ( table_name, table_status, table_type, use_date, create_time) -VALUES ( ?, ?, ?, ?, NOW() )"; - -our $SQL_TABLE_LOG_UPDATE = " -UPDATE blast_table_log -SET table_status = ?, - delete_time = ?, - num_objects = ? -WHERE table_name = ?"; - -#--- TICKETS --- - -our $SQL_SEARCH_MULTI_STORE = " -INSERT INTO blast_ticket ( create_time, update_time, object, ticket ) -VALUES ( NOW(), NOW(), ? , ? )"; - -our $SQL_SEARCH_MULTI_UPDATE = " -UPDATE blast_ticket -SET object = ?, - update_time = NOW() -WHERE ticket = ?"; - -our $SQL_SEARCH_MULTI_RETRIEVE = " -SELECT object -FROM blast_ticket -WHERE ticket = ? "; - -#--- RESULTS --- - -our $SQL_RESULT_STORE = " -INSERT INTO blast_result%s ( object, ticket ) -VALUES ( ? , ? )"; - -our $SQL_RESULT_UPDATE = " -UPDATE blast_result%s -SET object = ?, - ticket = ? -WHERE result_id = ?"; - -our $SQL_RESULT_RETRIEVE = " -SELECT object -FROM blast_result%s -WHERE result_id = ? "; - -#--- HITS --- - -our $SQL_HIT_STORE = " -INSERT INTO blast_hit%s ( object, ticket ) -VALUES ( ? , ? )"; - -our $SQL_HIT_UPDATE = " -UPDATE blast_hit%s -SET object = ?, - ticket = ? -WHERE hit_id = ?"; - -our $SQL_HIT_RETRIEVE = " -SELECT object -FROM blast_hit%s -WHERE hit_id = ? "; - -#--- HSPS --- - -our $SQL_HSP_STORE = " -INSERT INTO blast_hsp%s ( object, ticket, chr_name, chr_start, chr_end ) -VALUES ( ? , ? , ? , ? , ? )"; - -our $SQL_HSP_UPDATE = " -UPDATE blast_hsp%s -SET object = ?, - ticket = ?, - chr_name = ?, - chr_start = ?, - chr_end = ? -WHERE hsp_id = ?"; - -our $SQL_HSP_RETRIEVE = " -SELECT object -FROM blast_hsp%s -WHERE hsp_id = ? "; - - #---------------------------------------------------------------------- =head2 new @@ -195,413 +35,6 @@ sub new { return $self; } -#---------------------------------------------------------------------- - -=head2 store - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub store { - my $self = shift; - my $obj = shift; - my $ret; - if( $obj->isa("Bio::Tools::Run::SearchMulti") ){ - $ret = $self->store_search_multi( $obj, @_ ); - } - elsif( $obj->isa("Bio::Search::Result::ResultI") ){ - $ret = $self->store_result( $obj, @_ ); - } - elsif( $obj->isa("Bio::Search::Hit::HitI") ){ - $ret =$self->store_hit( $obj, @_ ); - } - elsif( $obj->isa("Bio::Search::HSP::HSPI") ){ - $ret = $self->store_hsp( $obj, @_ ); - } - else{ - $self->throw( "Do not know how to store objects of type ".ref($obj) ); - } - return $ret; -} - -#---------------------------------------------------------------------- - -=head2 retrieve - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub retrieve { - my $self = shift; - my $caller = shift; - if( $caller->isa("Bio::Tools::Run::EnsemblSearchMulti") ){ - return $self->retrieve_search_multi( @_ ); - } - elsif( $caller->isa("Bio::Search::Result::ResultI") ){ - return $self->retrieve_result( @_ ); - } - elsif( $caller->isa("Bio::Search::Hit::HitI") ){ - return $self->retrieve_hit( @_ ); - } - elsif( $caller->isa("Bio::Search::HSP::HSPI") ){ - return $self->retrieve_hsp( @_ ); - } - $self->throw( "Do not know how to retrieve objects of type ". - ref($caller)? ref($caller) : $caller ); -} - -#---------------------------------------------------------------------- - -=head2 remove - - Arg [1] : - Function : TODO: implement remove functions - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub remove { - my $self = shift; - my $obj = shift; - if( $obj->isa("Bio::Tools::Run::EnsemblSearchMulti") ){ - #return $self->remove_search_multi( @_ ); - } - elsif( $obj->isa("Bio::Search::Result::ResultI") ){ - #return $self->remove_result( @_ ); - } - elsif( $obj->isa("Bio::Search::Hit::HitI") ){ - #return $self->remove_hit( @_ ); - } - elsif( $obj->isa("Bio::Search::HSP::HSPI") ){ - #return $self->remove_hsp( @_ ); - } - $self->throw( "Do not know how to remove objects of type ". - ref($obj) ); -} -#---------------------------------------------------------------------- -=head2 store_search_multi - - Arg [1] : Bio::Tools::Run::EnsemblSearchMulti obj - Function : Stores the ensembl SearchMulti container object in the database - Returntype: scalar (token) - Exceptions: - Caller : - Example : my $container_token = $blast_adpt->store_ticket( $container ); - -=cut - -sub store_search_multi{ - my $self = shift; - my $search_multi = shift || - $self->throw( "Need a Bio::Tools::Run::EnsemblSearchMulti obj" ); - - my $frozen = shift || $search_multi->serialise; - - my $dbh = $self->db->db_handle; - - my $ticket = $search_multi->token || - $self->throw( "Bio::Tools::Run::EnsemblSearchMulti obj has no ticket" ); - - my $sth = $dbh->prepare( $SQL_SEARCH_MULTI_RETRIEVE ); - my $rv = $sth->execute( $ticket ) || $self->throw( $sth->errstr ); - $sth->finish; - - if( $rv < 1 ){ # Insert (do first to minimise risk of race) - my $sth = $dbh->prepare( $SQL_SEARCH_MULTI_STORE ); - $sth->execute( $frozen, $ticket ) || $self->throw( $sth->errstr ); - #$search_multi->token( $self->dbh->{mysql_insertid} ); - $sth->finish; - } - else{ # Update - my $sth = $dbh->prepare( $SQL_SEARCH_MULTI_UPDATE ); - $sth->execute( $frozen, $ticket ) || $self->throw( $sth->errstr ); - $sth->finish; - } - return $search_multi->token(); -} - -#---------------------------------------------------------------------- - -=head2 retrieve_search_multi - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub retrieve_search_multi { - my $self = shift; - my $ticket = shift || $self->throw( "Need an EnsemblSearchMulti ticket" ); - - my $dbh = $self->db->db_handle; - my $sth = $dbh->prepare( $SQL_SEARCH_MULTI_RETRIEVE ); - my $rv = $sth->execute( $ticket ) || $self->throw( $sth->errstr ); - if( $rv < 1 ){ $self->throw( "Token $ticket not found" ) } - my ( $frozen ) = $sth->fetchrow_array; - $frozen || $self->throw( "Object from ticket $ticket is empty" ); - $sth->finish; - return $frozen; -} - - - -#---------------------------------------------------------------------- -=head2 store_result - - Arg [1] : Bio::Search::Result::EnsemblResult obj - Function : Stores the ensembl Result in the database - Returntype: scalar (token) - Exceptions: - Caller : - Example : my $result_token = $blast_adpt->store_result( $result ); - -=cut - -sub store_result{ - my $self = shift; - my $res = shift || - $self->throw( "Need a Bio::Search::Result::EnsemblResult obj" ); - my $frozen = shift || $res->serialised; - - my $dbh = $self->db->db_handle; - - my $ticket = $res->group_ticket; - my ( $id, $use_date ) = split( '!!', $res->token || '' ); - $use_date ||= $self->use_date('RESULT'); - - my $rv = 0; - if( $id ){ - my $sth = $dbh->prepare( sprintf $SQL_RESULT_RETRIEVE, $use_date ); - $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - $sth->finish; - } - if( $rv < 1 ){# Insert - my $use_date = $res->use_date() || - $res->use_date($self->use_date('RESULT')); - my $sth = $dbh->prepare( sprintf $SQL_RESULT_STORE, $use_date ); - $sth->execute( $frozen, $ticket ) || $self->throw( $sth->errstr ); - my $id = $dbh->{mysql_insertid}; - $res->token( join( '!!', $id, $use_date ) ); - $sth->finish; - } - else{ # Update - my $sth = $dbh->prepare( sprintf $SQL_RESULT_UPDATE, $use_date ); - $sth->execute( $frozen, $ticket, $id ) || $self->throw( $sth->errstr ); - $sth->finish; - } - return $res->token(); -} - -#---------------------------------------------------------------------- - -=head2 retrieve_result - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub retrieve_result{ - my $self = shift; - my $token = shift || $self->throw( "Need a Hit token" ); - my ( $id, $use_date ) = split( '!!',$token); - $use_date ||= ''; - - my $dbh = $self->db->db_handle; - my $sth = $dbh->prepare( sprintf $SQL_RESULT_RETRIEVE, $use_date ); - my $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - if( $rv < 1 ){ $self->throw( "Token $id not found" ) } - my ( $frozen ) = $sth->fetchrow_array; - $frozen || $self->throw( "Object from result $id is empty" ); - $sth->finish; - return $frozen; -} - -#---------------------------------------------------------------------- -=head2 store_hit - - Arg [1] : Bio::Search::Hit::EnsemblHit obj - Function : Stores the ensembl Hit in the database - Returntype: scalar (token) - Exceptions: - Caller : - Example : my $hit_token = $blast_adpt->store_hit( $hit ); - -=cut - -sub store_hit{ - my $self = shift; - my $hit = shift || - $self->throw( "Need a Bio::Search::Hit::EnsemblHit obj" ); - my $frozen = shift || $hit->serialise; - - my $dbh = $self->db->db_handle; - - my $ticket = $hit->group_ticket; - my ( $id, $use_date ) = split( '!!', $hit->token || '' ); - $use_date ||= ''; - - my $rv = 0; - if( $id ){ - my $sth = $dbh->prepare( sprintf $SQL_HIT_RETRIEVE, $use_date ); - $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - $sth->finish; - } - if( $rv < 1 ){ # Insert - my $use_date = $hit->use_date() || $hit->use_date($self->use_date('HIT')); - my $sth = $dbh->prepare( sprintf $SQL_HIT_STORE, $use_date ); - $sth->execute( $frozen, $ticket ) || $self->throw( $sth->errstr ); - my $id = $dbh->{mysql_insertid}; - $hit->token( join( '!!', $id, $use_date ) ); - $sth->finish; - } - else{ # Update - my $sth = $dbh->prepare( sprintf $SQL_HIT_UPDATE, $use_date ); - $sth->execute( $frozen, $ticket, $id ) || $self->throw( $sth->errstr ); - $sth->finish; - } - return $hit->token(); -} - -#---------------------------------------------------------------------- - -=head2 retrieve_hit - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub retrieve_hit{ - my $self = shift; - my $token = shift || $self->throw( "Need a Hit token" ); - my ( $id, $use_date ) = split( '!!',$token); - $use_date ||= ''; - - my $dbh = $self->db->db_handle; - my $sth = $dbh->prepare( sprintf $SQL_HIT_RETRIEVE, $use_date ); - my $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - if( $rv < 1 ){ $self->throw( "Token $token not found" ) } - my ( $frozen ) = $sth->fetchrow_array; - $frozen || $self->throw( "Object from hit $id is empty" ); - $sth->finish; - return $frozen; -} - -#---------------------------------------------------------------------- -=head2 store_hsp - - Arg [1] : Bio::Search::HSP::EnsemblHSP obj - Function : Stores the ensembl HSP in the database - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub store_hsp{ - my $self = shift; - my $hsp = shift || - $self->throw( "Need a Bio::Search::HSP::EnsemblHSP obj" ); - my $frozen = shift || $hsp->serialise; - - my $dbh = $self->db->db_handle; - - my $ticket = $hsp->group_ticket; - my ( $id, $use_date ) = split( '!!', $hsp->token || ''); - $use_date ||= $self->use_date('HSP'); - - my $chr_name = 'NULL'; - my $chr_start = 'NULL'; - my $chr_end = 'NULL'; - if( my $genomic = $hsp->genomic_hit ){ - $chr_name = $genomic->seq_id; - $chr_start = $genomic->start; - $chr_end = $genomic->end; - } - - my $rv = 0; - if( $id ){ - my $sth = $dbh->prepare( sprintf $SQL_HSP_RETRIEVE, $use_date ); - $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - $sth->finish; - } - if( $rv < 1 ){ # Insert - my $use_date = $hsp->use_date() || $hsp->use_date($self->use_date('HSP')); - my $sth = $dbh->prepare( sprintf $SQL_HSP_STORE, $use_date ); - my @bound = ( $frozen, $ticket, $chr_name, $chr_start, $chr_end ); - $sth->execute( @bound ) || $self->throw( $sth->errstr ); - my $id = $dbh->{mysql_insertid}; - $hsp->token( join( '!!', $id, $use_date ) ); - $sth->finish; - } - else{ # Update - my $sth = $dbh->prepare( sprintf $SQL_HSP_UPDATE, $use_date ); - my @bound = ( $frozen, $ticket, $chr_name, $chr_start, $chr_end, $id ); - $sth->execute( @bound ) || $self->throw( $sth->errstr ); - $sth->finish; - } - return $hsp->token(); -} - -#---------------------------------------------------------------------- - -=head2 retrieve_hsp - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -sub retrieve_hsp{ - my $self = shift; - my $token = shift || $self->throw( "Need an HSP token" ); - my ( $id, $use_date ) = split( '!!',$token); - $use_date ||= ''; - - my $dbh = $self->db->db_handle; - my $sth = $dbh->prepare( sprintf $SQL_HSP_RETRIEVE, $use_date ); - my $rv = $sth->execute( $id ) || $self->throw( $sth->errstr ); - if( $rv < 1 ){ $self->throw( "Token $token not found" ) } - my ( $frozen ) = $sth->fetchrow_array; - $frozen || $self->throw( "Object from hsp $id is empty" ); - $sth->finish; - return $frozen; -} - - #---------------------------------------------------------------------- =head2 get_all_HSPs @@ -621,13 +54,11 @@ sub get_all_HSPs { my $chr_name = shift || undef; my $chr_start = shift || undef; my $chr_end = shift || undef; - my ( $id, $use_date ) = split( '!!', $ticket ); - $use_date ||= ''; my $SQL = qq( SELECT object -FROM blast_hsp%s -WHERE \(ticket = ? OR ticket = ?\) ); +FROM blast_hsp +WHERE ticket = ? ); my $CHR_SQL = qq( AND chr_name = ? ); @@ -636,8 +67,8 @@ AND chr_name = ? ); AND chr_start <= ? AND chr_end >= ? ); - my $q = sprintf( $SQL, $use_date ); - my @binded = ( $id, substr($id,6) ); + my $q = $SQL; + my @binded = ( $ticket ); if( $chr_name ){ $q .= $CHR_SQL; @@ -648,13 +79,12 @@ AND chr_end >= ? ); push @binded, $chr_end, $chr_start; } } -# warn( "$q: ", join( ', ',@binded ) ); + warn( "$q: ", join( ', ',@binded ) ); my $sth = $self->db->db_handle->prepare($q); my $rv = $sth->execute( @binded ) || $self->throw( $sth->errstr ); my @hsps = map{ thaw( $_->[0] ) } @{$sth->fetchall_arrayref()}; - $sth->finish; return [@hsps]; } @@ -677,301 +107,12 @@ AND chr_end >= ? ); sub get_all_SearchFeatures { my $self = shift; my $hsps = $self->get_all_HSPs(@_); - $self->dynamic_use( ref($hsps->[0] ) ); my @feats = grep{ $_ } map{ $_->ens_genomic_align } @$hsps; return [ @feats ]; } -sub dynamic_use { - my( $self, $classname ) = @_; - my( $parent_namespace, $module ) = $classname =~/^(.*::)(.*?)$/; - no strict 'refs'; - return 1 if $parent_namespace->{$module.'::'}; # return if already used - eval "require $classname"; - if($@) { - warn "DrawableContainer: failed to use $classname\nDrawableContainer: $@"; - return 0; - } - $classname->import(); - return 1; -} - -#---------------------------------------------------------------------- - -=head2 use_date - - Arg [1] : - Function : - Returntype: - Exceptions: - Caller : - Example : - -=cut - -my %valid_table_types = ( HIT=>1, HSP=>1, RESULT=>1 ); -sub use_date { - my $key = '_current_table'; - my $self = shift; - my $type = uc( shift ); - $valid_table_types{$type} || - $self->throw( "Need a table type (Result, Hit or HSP)" ); - - $self->{$key} ||= {}; - if( ! $self->{$key}->{$type} ){ - my $sth = $self->db->db_handle->prepare( $SQL_SELECT_TABLE_LOG_CURRENT ); - my $rv = $sth->execute( $type ) || ( warn( $sth->errstr ) && return ); - $rv > 0 || ( warn( "No current $type table found" ) && return ); - my $date = $sth->fetchrow_arrayref->[0]; - $date =~ s/-//g; - $self->{$key}->{$type} = $date; - } - return $self->{$key}->{$type}; -} - - - -#---------------------------------------------------------------------- - -=head2 clean_blast_database - - Arg [1] : int $days - Function : Removes blast tickets older than $days days - Returntype: - Exceptions: SQL errors - Caller : - Example : $ba->clean_blast_database(14) - -=cut - -sub clean_blast_database{ - my $self = shift; - my $days = shift || $self->throw( "Missing arg: number of days" ); - $days =~ /\D/ && $self->throw( "Bad arg: number of days $days not int" ); - my $dbh = $self->db->db_handle; - - # Get list of tickets > $days days old - my $q = qq/ -SELECT ticket -FROM blast_ticket -WHERE update_time < SUBDATE( NOW(), INTERVAL $days DAY ) /; - - my $sth = $self->db->db_handle->prepare($q); - my $rv = $sth->execute() || $self->throw( $sth->errstr ); - my $res = $sth->fetchall_arrayref; - $sth->finish; - - # Delete result and ticket rows associated with old tickets -# my $q_del_tmpl = qq/ -#DELETE -#FROM blast_%s -#WHERE ticket like "%s" /; -# -# my @types = ( 'result','ticket' ); -# my %num_deleted = map{ $_=>0 } @types; -# -# foreach my $row( @$res ){ -# my $ticket = $row->[0]; -# -# foreach my $type( @types ){ -# my $q_del = sprintf( $q_del_tmpl, $type, $ticket ); -# my $sth = $self->db->db_handle->prepare($q_del); -# my $rv = $sth->execute() || $self->throw( $sth->errstr ); -# $num_deleted{$type} += $rv; -# } -# } -# map{ warn("Purging $days days: Deleted $num_deleted{$_} rows of type $_\n") } -# keys %num_deleted; - - # Drop daily Result, Hit and HSP tables not updated within $days days - my $q_find = 'show table status like ?'; - my $sth2 = $dbh->prepare( $q_find ); - $sth2->execute( "blast_result%" ) || $self->throw( $sth2->errstr ); - my $res_res = $sth2->fetchall_arrayref(); - $sth2->execute( "blast_hit%" ) || $self->throw( $sth2->errstr ); - my $hit_res = $sth2->fetchall_arrayref(); - $sth2->execute( "blast_hsp%" ) || $self->throw( $sth2->errstr ); - my $hsp_res = $sth2->fetchall_arrayref(); - - my @deletable_hit_tables; - foreach my $row( @$res_res, @$hit_res, @$hsp_res ){ - my $table_name = $row->[0]; - my $num_rows = $row->[3]; - my $update_time = $row->[11]; # Should be a string like 2003-08-15 10:36:56 - my @time = split( /[-:\s]/, $update_time ); - - my $epoch_then = timelocal( $time[5], $time[4], $time[3], - $time[2], $time[1]-1, $time[0] - 1900 ); - my $secs_old = time() - $epoch_then; - my $days_old = $secs_old / ( 60 * 60 * 24 ); - if( $days_old > $days ){ - warn( "Dropping table $table_name: $num_rows rows\n" ); - my $sth_drop = $dbh->prepare( "DROP table $table_name" ); - my $sth_log = $dbh->prepare( $SQL_TABLE_LOG_UPDATE ); - $sth_drop->execute || $self->throw( $sth_drop->errstr ); - my( $se,$mi,$hr,$da,$mo,$yr ) = (localtime)[0,1,2,3,4,5]; - my $now = sprintf( "%4d-%2d-%2d %2d:%2d:%2d", - $yr+1900,$mo+1,$da,$hr,$mi,$se ); - $sth_log->execute - ('DELETED',$now,$num_rows,$table_name) || - $self->throw( $sth_log->errstr ); - } - } - - - return 1; -} - -#---------------------------------------------------------------------- - -=head2 create_tables - Arg [1] : none - Function : Creates the blast_ticket and blast_table_log - tables in the database indicated by the database handle. - Checks first to make sure they do not exist - Returntype: boolean - Exceptions: - Caller : - Example : -=cut - -sub create_tables { - my $self = shift; - my $dbh = $self->db->db_handle; - - # Get list of existing tables in database - my $q = 'show tables like ?'; - my $sth = $dbh->prepare( $q ); - my $rv_tck = $sth->execute("blast_ticket") || $self->throw($sth->errstr); - my $rv_log = $sth->execute("blast_table_log" )|| $self->throw($sth->errstr); - $sth->finish; - - if( $rv_tck == 0 ){ - warn( "Creating blast_ticket table\n" ); - my $sth = $dbh->prepare( $SQL_CREATE_TICKET ); - my $rv = $sth->execute() || $self->throw( $sth->errstr ); - $sth->finish; - } - else{ warn( "blast_ticket table already exists\n" ) } - - if( $rv_log == 0 ){ - warn( "Creating blast_result table\n" ); - my $sth = $dbh->prepare( $SQL_CREATE_TABLE_LOG ); - my $rv = $sth->execute() || $self->throw( $sth->errstr ); - $sth->finish; - } - else{ warn( "blast_table_log table already exists\n" ) } - - return 1; -} - -#---------------------------------------------------------------------- - -=head2 rotate_daily_tables - - Arg [1] : none - Function : Creates the daily blast_result{date}, blast_hit{date} - and blast_hsp{date} tables in the database indicated by - the database handle. - Checks first to make sure they do not exist. - Sets the new table to 'CURRENT' in the blast_table_log. - Sets the previous 'CURRENT' table to filled. - Returntype: boolean - Exceptions: - Caller : - Example : - -=cut - -sub rotate_daily_tables { - my $self = shift; - my $dbh = $self->db->db_handle; - - # Get date - my( $day, $month, $year ) = (localtime)[3,4,5]; - my $date = sprintf( "%04d%02d%02d", $year+1900, $month+1, $day ); - - my $res_table = "blast_result$date"; - my $hit_table = "blast_hit$date"; - my $hsp_table = "blast_hsp$date"; - - # Get list of existing tables in database - my $q = 'show table status like ?'; - my $sth = $dbh->prepare( $q ); - my $rv_res = $sth->execute($res_table) || $self->throw($sth->errstr); - my $rv_hit = $sth->execute($hit_table) || $self->throw($sth->errstr); - my $rv_hsp = $sth->execute($hsp_table) || $self->throw($sth->errstr); - $sth->finish; - - if( $rv_res == 0 ){ - warn( "Creating today's $res_table table\n" ); - - # Create new table - my $q = sprintf($SQL_CREATE_DAILY_RESULT, $res_table); - my $sth1 = $dbh->prepare( $q ); - my $rv = $sth1->execute() || $self->throw( $sth1->errstr ); - - # Flip current table in blast_table_tog - my $last_date = $self->use_date( "RESULT" ) || ''; - my $sth2 = $dbh->prepare( $SQL_TABLE_LOG_INSERT ); - my $sth3 = $dbh->prepare( $SQL_TABLE_LOG_UPDATE ); - $sth2->execute( "$res_table",'CURRENT','RESULT',$date ) - || die( $self->throw( $sth2->errstr ) ); - $sth3->execute( 'FILLED','0',0,"blast_result$last_date") - || die( $self->throw( $sth3->errstr ) ); - $sth1->finish(); - $sth2->finish(); - $sth3->finish(); - } - else{ warn( "Today's $res_table table already exists\n" ) } - - if( $rv_hit == 0 ){ - warn( "Creating today's $hit_table table\n" ); - - # Create new table - my $q = sprintf($SQL_CREATE_DAILY_HIT, $hit_table); - my $sth1 = $dbh->prepare( $q ); - my $rv = $sth1->execute() || $self->throw( $sth1->errstr ); - - # Flip current table in blast_table_tog - my $last_date = $self->use_date( "HIT" ) || ''; - my $sth2 = $dbh->prepare( $SQL_TABLE_LOG_INSERT ); - my $sth3 = $dbh->prepare( $SQL_TABLE_LOG_UPDATE ); - $sth2->execute( "$hit_table",'CURRENT','HIT',$date ) - || die( $self->throw( $sth2->errstr ) ); - $sth3->execute( 'FILLED','0',0,"blast_hit$last_date") - || die( $self->throw( $sth3->errstr ) ); - $sth1->finish(); - $sth2->finish(); - $sth3->finish(); - } - else{ warn( "Today's $hit_table table already exists\n" ) } - - if( $rv_hsp == 0 ){ - warn( "Creating today's $hsp_table table\n" ); - - # Create new table - my $q = sprintf($SQL_CREATE_DAILY_HSP, $hsp_table ); - my $sth1 = $dbh->prepare( $q ); - my $rv = $sth1->execute() || $self->throw( $sth1->errstr ); - - # Flip current table in blast_table_tog - my $last_date = $self->use_date( "HSP" ) || ''; - my $sth2 = $dbh->prepare( $SQL_TABLE_LOG_INSERT ); - my $sth3 = $dbh->prepare( $SQL_TABLE_LOG_UPDATE ); - $sth2->execute( "$hsp_table",'CURRENT','HSP',$date ) - || die( $self->throw( $sth2->errstr ) ); - $sth3->execute( 'FILLED','0',0,"blast_hsp$last_date") - || die( $self->throw( $sth3->errstr ) ); - $sth1->finish(); - $sth2->finish(); - $sth3->finish(); - } - else{ warn( "Today's $hsp_table table already exists\n" ) } - return 1; -} #---------------------------------------------------------------------- 1; diff --git a/modules/Bio/EnsEMBL/External/ExternalFeatureAdaptor.pm b/modules/Bio/EnsEMBL/External/ExternalFeatureAdaptor.pm index 2a56c187a3..312d475f93 100644 --- a/modules/Bio/EnsEMBL/External/ExternalFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/External/ExternalFeatureAdaptor.pm @@ -7,7 +7,14 @@ =head1 NAME -Bio::EnsEMBL::External::ExternalFeatureAdaptor - Allows features created externally from EnsEMBL in a single coordinate system to be retrieved in several other (EnsEMBL-style) coordinate systems. This is intended to be a replacement for the old Bio::EnsEMBL::DB::ExternalFeatureFactoryI interface. +Bio::EnsEMBL::External::ExternalFeatureAdaptor + +=head 1 SUMMARY + +Allows features created externally from EnsEMBL in a single coordinate system +to be retrieved in several other (EnsEMBL-style) coordinate systems. This is +intended to be a replacement for the old +Bio::EnsEMBL::DB::ExternalFeatureFactoryI interface. =head1 SYNOPSIS @@ -24,33 +31,22 @@ Bio::EnsEMBL::External::ExternalFeatureAdaptor - Allows features created externa #get some features in RawContig coords @feats = @{$xf_adaptor->fetch_all_by_contig_name('AC000087.2.1.42071')}; - #another way of doing the same thing - $contig_adaptor = $database_adaptor->get_RawContigAdaptor; - $contig = $contig_adaptor->fetch_by_name('AC000087.2.1.42071'); - @feats = @{$xf_adaptor->fetch_all_by_RawContig($contig); - #get some features in assembly coords @feats = @{$xf_adaptor->fetch_all_by_chr_start_end('X', 100000, 200000)}; #get some features in clone coords @feats = @{$xf_adaptor->fetch_all_by_clone_accession('AC000087')}; - #another way of doing the same thing - $clone_adaptor = $db_adaptor->get_CloneAdaptor; - $clone = $clone_adaptor->fetch_by_accession('AC000087'); - @feats = ${$xf_adaptor->fetch_all_by_Clone($clone); - #Add the adaptor to the ensembl core dbadaptor (implicitly sets db attribute) $database_adaptor->add_ExternalFeatureAdaptor($xf_adaptor); #get some features in Slice coords $slice_adaptor = $database_adaptor->get_SliceAdaptor; - $slice = $slice_adaptor->fetch_by_chr_start_end(1,100000,200000); + $slice = $slice_adaptor->fetch_all_by_chr_start_end(1,100000,200000); @feats = @{$xf_adaptor->fetch_all_by_Slice($slice)}; - #now features can be retrieved directly from slice or RawContig + #now features can be retrieved directly from Slice @feats = @{$slice->get_all_ExternalFeatures}; - @feats = @{$contig->get_all_ExternalFeatures}; =head1 DESCRIPTION @@ -76,18 +72,11 @@ corresponding fetch methods that must be implemented: 'ASSEMBLY' fetch_all_by_chr_start_end 'CLONE' fetch_all_by_clone_accession 'CONTIG' fetch_all_by_contig_name + 'SUPERCONTIG' fetch_all_by_supercontig_name 'SLICE' fetch_all_by_Slice -For convenience fetch_all_by_RawContig and fetch_all_by_Clone methods are -also available. These methods may be overridden if desired but due to -internal dependencies the fetch_all_by_contig_name and -fetch_all_by_clone_accession must also be overridden if these methods are -altered. See the method descriptions for more detail. - -The objects returned by the fetch methods should be Bio::SeqFeature object, -though only the start, end, strand and attach_seq methods are actually used -by the ExternalFeatureAdaptor. The objects which are returned by the -ExternalFeature adaptor will be altered by the functions called. +The objects returned by the fetch methods should be EnsEMBL or BioPerl style +Feature objects. These objects MUST have start, end and strand methods. Before the non-overridden ExternalFeatureAdaptor fetch methods may be called an EnsEMBL core database adaptor must be attached to the ExternalFeatureAdaptor @@ -95,7 +84,7 @@ an EnsEMBL core database adaptor must be attached to the ExternalFeatureAdaptor coordinate system. This may be done implicitly by adding the ExternalFeatureAdaptor to the database adaptor through a call to the DBAdaptor add_ExternalFeatureAdaptor method or explicitly by calling the -ExternalFeatureAdaptor db method. +ExternalFeatureAdaptor ensembl_db method. =head1 CONTACT @@ -117,12 +106,7 @@ use strict; package Bio::EnsEMBL::External::ExternalFeatureAdaptor; -use vars qw(@ISA); - -use Bio::EnsEMBL::Root; - - -@ISA = qw(Bio::EnsEMBL::Root); +use Bio::EnsEMBL::Utils::Exception qw(warning throw); =head2 new @@ -195,8 +179,8 @@ sub ensembl_db { sub coordinate_systems { my $self = shift; - - $self->throw("abstract method coordinate_systems not implemented\n"); + + throw("abstract method coordinate_systems not implemented\n"); return ''; } @@ -276,54 +260,181 @@ sub fetch_all_by_Slice { my ($self, $slice) = @_; unless($slice && ref $slice && $slice->isa('Bio::EnsEMBL::Slice')) { - $self->throw("[$slice] is not a Bio::EnsEMBL::Slice"); + throw("[$slice] is not a Bio::EnsEMBL::Slice"); } my $out = []; - my $slice_start = $slice->chr_start; - my $slice_end = $slice->chr_end; + my $csa = $self->ensembl_db->get_CoordSystemAdaptor(); + + my $slice_start = $slice->start; + my $slice_end = $slice->end; my $slice_strand = $slice->strand; - my $slice_chr = $slice->chr_name; + my $slice_seq_region = $slice->seq_region_name; + my $coord_system = $slice->coord_system; if($self->_supported('SLICE')) { - $self->throw("ExternalFeatureAdaptor supports SLICE coordinate system" . + throw("ExternalFeatureAdaptor supports SLICE coordinate system" . " but fetch_all_by_Slice not implemented"); - } - - #fetch the features in assembly coords - $out = $self->fetch_all_by_chr_start_end($slice_chr,$slice_start,$slice_end); - - #convert from assembly coords to slice coords - my($f_start, $f_end, $f_strand); - foreach my $f (@$out) { - if($slice_strand == 1) { - $f_start = $f->start - $slice_start + 1; - $f_end = $f->end - $slice_start + 1; - $f_strand = $f->strand; - } else { - $f_start = $slice_end - $f->end + 1; - $f_end = $slice_end - $f->start + 1; - $f_strand = $f->strand * -1; + } + + my %features; + my $from_coord_system; + + my $fetch_method; + + # + # Get all of the features from whatever coord system they are computed in + # + if($self->_supported('CLONE')) { + $fetch_method = sub { + my $self = shift; + my $name = shift; + my ($acc, $ver) = split(/\./, $name); + $self->fetch_all_by_clone_accession($acc,$ver,@_); + }; + $from_coord_system = $csa->fetch_by_name('clone'); + } elsif($self->_supported('ASSEMBLY')) { + $from_coord_system = $csa->fetch_by_name('toplevel'); + $fetch_method = $self->can('fetch_all_by_chr_start_end'); + } elsif($self->_supported('CONTIG')) { + $from_coord_system = $csa->fetch_by_name('contig'); + $fetch_method = $self->can('fetch_all_by_contig_name'); + } elsif($self->_supported('SUPERCONTIG')) { + $from_coord_system = $csa->fetch_by_name('supercontig'); + $fetch_method = $self->can('fetch_all_by_supercontig_name'); + } else { + $self->_no_valid_coord_systems(); + } + + if($from_coord_system->equals($coord_system)) { + $features{$slice_seq_region} = &$fetch_method($self, $slice_seq_region, + $slice_start,$slice_end); + } else { + foreach my $segment (@{$slice->project($from_coord_system->name, + $from_coord_system->version)}) { + my ($start,$end,$pslice) = @$segment; + $features{$pslice->seq_region_name} ||= []; + push @{$features{$pslice->seq_region_name}}, + @{&$fetch_method($self, $pslice->seq_region_name, + $pslice->start(), + $pslice->end())}; + } + } + + my @out; + + if(!$coord_system->equals($from_coord_system)) { + my $asma = $self->ensembl_db->get_AssemblyMapperAdaptor(); + my $mapper = $asma->fetch_by_CoordSystems($from_coord_system, + $coord_system); + my %slice_cache; + my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor(); + my $slice_setter; + + #convert the coordinates of each of the features retrieved + foreach my $fseq_region (keys %features) { + my $feats = $features{$fseq_region}; + next if(!$feats); + $slice_setter = _guess_slice_setter($feats) if(!$slice_setter); + + foreach my $f (@$feats) { + my($sr_name, $start, $end, $strand) = + $mapper->fastmap($fseq_region,$f->start,$f->end,$f->strand, + $from_coord_system); + + #maps to gap + next if(!defined($sr_name)); + + #maps to unexpected seq region, probably error in the externally + if($sr_name ne $slice_seq_region) { + warning("Externally created Feature mapped to [$sr_name] " . + "which is not on requested seq_region [$slice_seq_region]"); + next; + } + + #update the coordinates of the feature + &$slice_setter($f,$slice); + $f->start($start); + $f->end($end); + $f->strand($strand); + push @out, $f; + } + } + } else { + #we already know the seqregion the featues are on, we just have + #to put them on the slice + @out = @{$features{$slice_seq_region}}; + my $slice_setter = _guess_slice_setter(\@out); + + foreach my $f (@out) { + &$slice_setter($f,$slice); } + } + + #shift the feature coordinates again if + #the requested slice is not the full seqregion + if($slice->start != 1 || $slice->strand != 1) { + #convert from assembly coords to slice coords + my($f_start, $f_end, $f_strand); + foreach my $f (@out) { + if($slice_strand == 1) { + $f_start = $f->start - $slice_start + 1; + $f_end = $f->end - $slice_start + 1; + $f_strand = $f->strand; + } else { + $f_start = $slice_end - $f->end + 1; + $f_end = $slice_end - $f->start + 1; + $f_strand = $f->strand * -1; + } - $f->start($f_start); - $f->end($f_end); - $f->strand($f_strand); - $f->attach_seq($slice); + $f->start($f_start); + $f->end($f_end); + $f->strand($f_strand); + } } - return $out; + return \@out; } +sub _guess_slice_setter { + my $features = shift; + + #we do not know what type of features these are. They might + #be bioperl features or old ensembl features, hopefully they are new + #style features. Try to come up with a setter method for the + #slice. + + return undef if(!@$features); + + my ($f) = @$features; + + my $slice_setter; + foreach my $method (qw(slice contig attach_seq)) { + last if($slice_setter = $f->can($method)); + } + + if(!$slice_setter) { + if($f->can('seqname')) { + $slice_setter = sub { $_[0]->seqname($_[1]->seq_region_name()); }; + } else { + $slice_setter = sub{} if(!$slice_setter); + } + } + + return $slice_setter; +} + + =head2 fetch_all_by_RawContig Arg [1] : Bio::EnsEMBL::RawContig $contig Example : @features = @{$self->fetch_all_by_RawContig($contig)}; - Description: Retrieves features on the region defined by the $contig arg in - RawContig coordinates. + Description: You should use the fetch_all_by_Slice method instead of this + method now. RawContigs have been effectively replaced by + Slices. If this method is overridden then it is also necessary to override the fetch_all_by_contig_name method due to @@ -344,172 +455,124 @@ sub fetch_all_by_Slice { =cut sub fetch_all_by_RawContig { - my ($self, $contig) = @_; + my $self = shift; + return $self->fetch_all_by_Slice(@_); +} - unless($contig && ref $contig && $contig->isa('Bio::EnsEMBL::RawContig')) { - $self->throw("[$contig] is not a Bio::EnsEMBL::RawContig"); - } - my $out = []; +=head2 fetch_all_by_contig_name - if($self->_supported('CONTIG')) { - return $self->fetch_all_by_contig_name($contig->name); - } + Arg [1] : string $contig_name + Arg [2] : int $start (optional) + The start of the region on the contig to retrieve features on + if not specified the whole of the contig is used. + Arg [3] : int $end (optional) + The end of the region on the contig to retrieve features on + if not specified the whole of the contig is used. + Example : @fs = @{$self->fetch_all_by_contig_name('AB00879.1.1.39436')}; + Description: Retrieves features on the contig defined by the name + $contig_name in RawContig coordinates. - if($self->_supported('CLONE')) { - #retrieve features in clone coordinates + If this method is overridden then the coordinate_systems + method must return 'CONTIG' as one of its values. - my $offset = $contig->embl_offset; - my $length = $contig->length; + This method will work as is (i.e. without being overridden) + providing at least one other fetch method has + been overridden. + Returntype : reference to a list of Bio::SeqFeature objects in the RawContig + coordinate system. + Exceptions : thrown if the input argument is incorrect + thrown if the coordinate_systems method returns the value + 'CONTIG' and this method has not been overridden. + Caller : general, fetch_all_by_Slice - my $feats = $self->fetch_all_by_Clone($contig->clone, $offset, - $offset + $length - 1); - - my ($start, $end); - - #convert from clone coordinates to contig coordinates - foreach my $f (@$feats) { - $start = $f->start - $offset + 1; - $end = $f->end - $offset + 1; - - #skip features which are not entirely on this contig - next if($start < 1 || $end > $length); - - $f->start($start); - $f->end($end); - $f->attach_seq($contig); - push(@$out, $f); - } +=cut + +sub fetch_all_by_contig_name { + my ($self, $contig_name, $start, $end) = @_; - return $out; + unless($contig_name) { + throw("contig_name argument not defined"); } - unless($self->_supported('SLICE') || $self->_supported('ASSEMBLY')) { - $self->_no_valid_coord_system; + if($self->_supported('CONTIG')) { + throw("ExternalFeatureAdaptor supports CONTIG coordinate system" . + " but fetch_all_by_contig_name is not implemented"); } unless($self->ensembl_db) { - $self->throw('DB attribute not set. This value must be set for the ' . + throw('DB attribute not set. This value must be set for the ' . 'ExternalFeatureAdaptor to function correctly'); } - my $asma = $self->ensembl_db->get_AssemblyMapperAdaptor; - my $mapper = $asma->fetch_by_type($self->ensembl_db->assembly_type); - - #map the whole contig to the assembly - my @mapped = $mapper->map_coordinates_to_assembly($contig->dbID, 1, - $contig->length, 1); - - my $chr; - - foreach my $coord (@mapped) { - #skip over parts of the contig that do not map to the assembly - next if ($coord->isa('Bio::EnsEMBL::Mapper::Gap')); - - $chr = $coord->id; - - #retrieve the features in assembly coordinates - push @$out, @{$self->fetch_all_by_chr_start_end($coord->id, - $coord->start, - $coord->end)}; - } - - #map each feature from assembly coords back to raw contig coords - foreach my $f (@$out) { - @mapped =$mapper->map_coordinates_to_rawcontig($chr, - $f->start, - $f->end, - $f->strand); - - #skip if feature does not map cleanly to our contig - next if(@mapped != 1); - next if($mapped[0]->isa('Bio::EnsEMBL::Mapper::Gap')); - - unless($mapped[0]->id == $contig->dbID) { - $self->throw('Error mapping feature from assembly to contig'); - } - - $f->start ($mapped[0]->start); - $f->end ($mapped[0]->end); - $f->strand($mapped[0]->strand); - $f->attach_seq($contig); - } - - return $out; + my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor(); + my $slice = $slice_adaptor->fetch_by_region('contig', $contig_name, + $start, $end); + return $self->fetch_all_by_Slice($slice); } -=head2 fetch_all_by_contig_name - Arg [1] : string $contig_name - Example : @fs = @{$self->fetch_all_by_contig_name('AB00879.1.1.39436')}; +=head2 fetch_all_by_supercontig_name + + Arg [1] : string $supercontig_name + Arg [2] : int $start (optional) + The start of the region on the contig to retrieve features on + if not specified the whole of the contig is used. + Arg [3] : int $end (optional) + The end of the region on the contig to retrieve features on + if not specified the whole of the contig is used. + Example : @fs = @{$self->fetch_all_by_contig_name('NT_004321')}; Description: Retrieves features on the contig defined by the name - $contig_name in RawContig coordinates. + $supercontigname in supercontig coordinates. If this method is overridden then the coordinate_systems - method must return 'CONTIG' as one of its values. If the - fetch_all_by_Contig method is overridden then this method - should also be overridden to chain calls to that method (and - avoid throwing an exception when this method is called). + method must return 'SUPERCONTIG' as one of its values. This method will work as is (i.e. without being overridden) providing at least one other fetch method has - been overridden and the fetch_all_by_Contig method has not been - overridden. + been overridden. Returntype : reference to a list of Bio::SeqFeature objects in the RawContig coordinate system. Exceptions : thrown if the input argument is incorrect thrown if the coordinate_systems method returns the value - 'CONTIG' and this method has not been overridden. - Caller : general, fetch_all_by_Contig + 'SUPERCONTIG' and this method has not been overridden. + Caller : general, fetch_all_by_Slice =cut -sub fetch_all_by_contig_name { - my ($self, $contig_name) = @_; - unless($contig_name) { - $self->throw("contig_name argument not defined"); +sub fetch_all_by_supercontig_name { + my ($self, $supercontig_name, $start, $end) = @_; + + unless($supercontig_name) { + throw("supercontig_name argument not defined"); } - if($self->_supported('CONTIG')) { - $self->throw("ExternalFeatureAdaptor supports CONTIG coordinate system" . - " but fetch_all_by_contig_name is not implemented"); + if($self->_supported('SUPERCONTIG')) { + throw("ExternalFeatureAdaptor supports SUPERCONTIG coordinate system" . + " but fetch_all_by_supercontig_name is not implemented"); } unless($self->ensembl_db) { - $self->throw('DB attribute not set. This value must be set for the ' . + throw('DB attribute not set. This value must be set for the ' . 'ExternalFeatureAdaptor to function correctly'); } - my $contig_adaptor = $self->ensembl_db->get_RawContigAdaptor; - my $contig = $contig_adaptor->fetch_by_name($contig_name); - - unless($contig) { - $self->warn("ExternalFeatureAdaptor::fetch_all_by_contig_name: Contig " . - "[$contig_name] not found\n"); - return []; - } - - - return $self->fetch_all_by_RawContig($contig); + my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor(); + my $slice = $slice_adaptor->fetch_by_region('supercontig', $supercontig_name, + $start, $end); + return $self->fetch_all_by_Slice($slice); } - - =head2 fetch_all_by_Clone Arg [1] : Bio::EnsEMBL::Clone $clone - Arg [2] : (optional) int $clone_start the start of the clonal region - interested in. This information may be used to speed up - the query, or may be ignored. - Arg [3] : (optional) int $clone_end the end of the clonal region - interested in. This information may be used to speed up - the query, or may be ignored. Example : @features = @{$self->fetch_all_by_Clone($clone)}; - Description: Retrieves features on the region defined by the $clone arg in - Clone coordinates. + Description: You should not use this method anymore. Use the + fetch_all_by_Slice method instead. Clones have effectively been + replaced by Slices on the 'clone' coordinate system. If this method is overridden then it is also necessary to override the fetch_all_by_clone_accession method due to @@ -532,44 +595,8 @@ sub fetch_all_by_contig_name { =cut sub fetch_all_by_Clone { - my ($self, $clone, $clone_start, $clone_end) = @_; - - #ignore $clone_start && $clone_end it is only useful when - #fetch_all_by_RawContig is not implemented, but fetch_all_by_Clone is - #i.e. it can be used by people who override this method... - - unless($clone && ref $clone && $clone->isa('Bio::EnsEMBL::Clone')) { - $self->throw("Clone must be a Bio::EnsEMBL::Clone"); - } - - if($self->_supported('CLONE')) { - return $self->fetch_all_by_clone_accession($clone->id, $clone->embl_acc, - $clone_start, $clone_end); - } - - unless($self->_supported('CONTIG') || - $self->_supported('SLICE') || - $self->_supported('ASSEMBLY')) { - $self->_no_valid_coord_system; - } - - my $out = []; - - #retrieve features from each contig in the clone - my $contigs = $clone->get_all_Contigs; - my $offset; - foreach my $contig (@$contigs) { - $offset = $contig->embl_offset; - foreach my $f (@{$self->fetch_all_by_RawContig($contig)}) { - #convert each feature to clone coordinates - $f->start($f->start - $offset + 1); - $f->end($f->end - $offset + 1); - #$f->attach_seq($clone); #this might work in future... - push @$out, $f; - } - } - - return $out; + my $self = shift; + return $self->fetch_all_by_Slice(@_); } @@ -614,32 +641,30 @@ sub fetch_all_by_clone_accession { my ($self, $acc, $version, $start, $end) = @_; unless($acc) { - $self->throw("clone accession argument not defined"); + throw("clone accession argument not defined"); } if($self->_supported('CLONE')) { - $self->throw('ExternalFeatureAdaptor supports CLONE coordinate system ' . + throw('ExternalFeatureAdaptor supports CLONE coordinate system ' . 'but does not implement fetch_all_by_clone_accession'); } unless($self->ensembl_db) { - $self->throw('DB attribute not set. This value must be set for the ' . + throw('DB attribute not set. This value must be set for the ' . 'ExternalFeatureAdaptor to function correctly'); } + if(defined($version)) { + $acc = "$acc.$version"; + } elsif(!$acc =~ /\./) { + $acc = "$acc.1"; + } - my $clone_adaptor = $self->ensembl_db->get_CloneAdaptor; - my $clone = $clone_adaptor->fetch_by_accession($acc); - + my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor; - unless($clone) { - $self->warn("ExternalFeatureAdaptor::fetch_all_by_clone_accession: Clone " - . "[$acc] not found\n"); - return []; - } - + my $slice = $slice_adaptor->fetch_by_region('clone', $acc, $start, $end); - return $self->fetch_all_by_Clone($clone); + return $self->fetch_all_by_Slice($slice); } @@ -675,85 +700,20 @@ sub fetch_all_by_chr_start_end { my ($self, $chr_name, $start, $end) = @_; unless($chr_name && defined $start && defined $end && $start < $end) { - $self->throw("Incorrect start [$start] end [$end] or chr [$chr_name] arg"); + throw("Incorrect start [$start] end [$end] or chr [$chr_name] arg"); } unless($self->ensembl_db) { - $self->throw('DB attribute not set. This value must be set for the ' . + throw('DB attribute not set. This value must be set for the ' . 'ExternalFeatureAdaptor to function correctly'); } - my $out = []; - - my $asma = $self->ensembl_db->get_AssemblyMapperAdaptor; - my $mapper = $asma->fetch_by_type($self->ensembl_db->assembly_type); - my $contig_adaptor = $self->ensembl_db->get_RawContigAdaptor; - - if($self->_supported('ASSEMBLY')) { - $self->throw("ExternalFeatureAdaptor supports ASSEMBLY coordinate system". - " but fetch_all_by_chr_start_end is not implemented"); - - } - - my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor; - #get a slice of the whole chromosome - my $chrom_slice = $slice_adaptor->fetch_by_chr_name($chr_name); + my $slice_adaptor = $self->ensembl_db->get_SliceAdaptor(); - if($self->_supported('SLICE')) { - - #fetch by slice and convert to assembly coords - my $slice = $slice_adaptor->fetch_by_chr_start_end($chr_name,$start,$end); - $out = $self->fetch_all_by_Slice($slice); - - foreach my $f (@$out) { - $f->start($start + $f->start - 1); - $f->end ($start + $f->end - 1); - $f->attach_seq($chrom_slice); - } + my $slice = $slice_adaptor->fetch_by_region('toplevel', $chr_name, $start, + $end); - return $out; - } - - #fetch via rawcontig and convert to assembly coords - - #Figure out what contigs we are overlapping - my @cids = $mapper->list_contig_ids( $chr_name, $start, $end); - - foreach my $cid (@cids) { - my $contig = $contig_adaptor->fetch_by_dbID($cid); - #retrieve features of each contig that we are overlapping - my $feats = $self->fetch_all_by_RawContig($contig); - - foreach my $f (@$feats) { - #convert each feature from contig coords to assembly coords - my @mapped = $mapper->map_coordinates_to_assembly($cid, - $f->start, - $f->end, - $f->strand); - - #if maps to multiple locations in assembly, skip feature - next if(@mapped > 1); - - #if maps to a gap, skip - next if($mapped[0]->isa('Bio::EnsEMBL::Mapper::Gap')); - - my $m_start = $mapped[0]->start; - my $m_end = $mapped[0]->end; - my $m_strand = $mapped[0]->strand; - - #skip features which do not overlap this assembly region - next if($m_start > $end || $m_end < $start); - - $f->start($m_start); - $f->end($m_end); - $f->strand($m_strand); - $f->attach_seq($chrom_slice); - - push @$out, $f; - } - } - - return $out; + return $self->fetch_all_by_Slice($slice); } @@ -771,9 +731,9 @@ sub fetch_all_by_chr_start_end { sub _no_valid_coord_system { my $self = shift; - $self->throw("This ExternalFeatureAdaptor does not support a known " . + throw("This ExternalFeatureAdaptor does not support a known " . "coordinate system.\n Valid coordinate systems are: " . - "[SLICE, ASSEMBLY, CONTIG, CLONE].\n This External Adaptor " . + "[SLICE,ASSEMBLY,SUPERCONTIG,CONTIG,CLONE].\n This External Adaptor " . "supports: [" . join(', ', $self->coordinate_systems) . "]"); } diff --git a/modules/Bio/EnsEMBL/Feature.pm b/modules/Bio/EnsEMBL/Feature.pm new file mode 100644 index 0000000000..7002445b98 --- /dev/null +++ b/modules/Bio/EnsEMBL/Feature.pm @@ -0,0 +1,767 @@ +# EnsEMBL module for Bio::EnsEMBL::Feature +# +# Copyright (c) 2003 EnsEMBL +# + + +=head1 NAME + +Bio::EnsEMBL::Feature - Ensembl specific sequence feature. + +=head1 SYNOPSIS + + my $feat = new Bio::EnsEMBL::Feature(-start => 100, + -end => 220, + -strand => -1, + -slice => $slice + -analysis => $analysis + ); + + my $start = $feat->start; + my $end = $feat->end; + my $strand = $feat->strand; + + #move the feature to the chromosomal coordinate system + $feature = $feature->transform('chromosome'); + + #move the feature to a different slice (possibly on another coord system) + $feature = $feature->transfer($new_slice); + + #project the feature onto another coordinate system possibly across + #boundaries: + @projection = @{$feature->project('contig')}; + + #change the start, end, and strand of the feature in place + $feature->move($new_start, $new_end, $new_strand); + +=head1 DESCRIPTION + +This is the Base feature class from which all EnsEMBL features inherit. It +provides a bare minimum functionality that all features require. It basically +describes a location on a sequence in an arbitrary coordinate system. + +=head1 CONTACT + +Post questions to the EnsEMBL development list: ensembl-dev@ebi.ac.uk + +=head1 METHODS + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::Feature; + +use Bio::EnsEMBL::Storable; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); +use Bio::EnsEMBL::Slice; + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::Storable); + + +=head2 new + + Arg [-SLICE]: Bio::EnsEMBL::SLice - Represents the sequence that this + feature is on. The coordinates of the created feature are + relative to the start of the slice. + Arg [-START]: The start coordinate of this feature relative to the start + of the slice it is sitting on. Coordinates start at 1 and + are inclusive. + Arg [-END] : The end coordinate of this feature relative to the start of + the slice it is sitting on. Coordinates start at 1 and are + inclusive. + Arg [-STRAND]: The orientation of this feature. Valid values are 1,-1,0. + Arg [-SEQNAME] : A seqname to be used instead of the default name of the + of the slice. Useful for features that do not have an + attached slice such as protein features. + Example : $feature = Bio::EnsEMBL::Feature->new(-start => 1, + -end => 100, + -strand => 1, + -slice => $slice, + -analysis => $analysis); + Description: Constructs a new Bio::EnsEMBL::Feature. Generally subclasses + of this method are instantiated, rather than this class itself. + Returntype : Bio::EnsEMBL::Feature + Exceptions : Thrown on invalid -SLICE, -ANALYSIS, -STRAND arguments + Caller : general, subclass constructors + +=cut + + +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my($start, $end, $strand, $slice, $analysis,$seqname, $dbID, $adaptor) = + rearrange(['START','END','STRAND','SLICE','ANALYSIS', 'SEQNAME', + 'DBID', 'ADAPTOR'], @_); + + if($slice) { + if(!ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('-SLICE argument must be a Bio::EnsEMBL::Slice not '.$slice); + } + } + + if($analysis) { + if(!ref($analysis) || !$analysis->isa('Bio::EnsEMBL::Analysis')) { + throw('-ANALYSIS argument must be a Bio::EnsEMBL::Analysis not '. + $analysis); + } + } + + if(defined($strand)) { + if(!($strand == 1) && !($strand == -1) && !($strand == 0)) { + throw('-STRAND argument must be 1, -1, or 0'); + } + } + + if(defined($start) && defined($end)) { + if($end < $start) { + throw('-START argument must be less than -END argument'); + } + } + + return bless({'start' => $start, + 'end' => $end, + 'strand' => $strand, + 'slice' => $slice, + 'analysis' => $analysis, + 'adaptor' => $adaptor, + 'seqname' => $seqname, + 'dbID' => $dbID}, $class); +} + + + +=head2 start + + Arg [1] : (optional) int $start + The start of this feature relative to the start of the slice + that it is on. + Example : $start = $feat->start() + Description: Getter/Setter for the start of this feature relative to the + start of the slice it is on. Note that negative values, or + values exceeding the length of the slice are permitted. + Start must be less than or equal to the end regardless of the + strand. Coordinate values start at 1 and are inclusive. + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub start { + my $self = shift; + $self->{'start'} = shift if(@_); + return $self->{'start'}; +} + + + + +=head2 end + + Arg [1] : (optional) int $end + Example : $end = $feat->end(); + Description: Getter/Setter for the end of this feature relative to the + start of the slice that it is on. Note that negative values, + of values exceeding the length of the slice are permitted. End + must be greater than or equal to start regardless of the strand. + Coordinate values start at 1 and are inclusive. + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub end { + my $self = shift; + $self->{'end'} = shift if(@_); + return $self->{'end'}; +} + + + + +=head2 strand + + Arg [1] : (optional) int $strand + Example : $feat->strand(-1); + Description: Getter/Setter for the strand of this feature relative to the + slice it is on. 0 is an unknown or non-applicable strand. + -1 is the reverse (negative) strand and 1 is the forward + (positive) strand. No other values are permitted. + Returntype : int + Exceptions : thrown if an invalid strand argument is passed + Caller : general + +=cut + +sub strand { + my $self = shift; + + if(@_) { + my $strand = shift || 0; + if(defined($strand) && $strand != 0 && $strand != 1 && $strand != -1) { + throw('strand argument must be 0, -1 or 1'); + } + + $self->{'strand'} = $strand; + } + + return $self->{'strand'}; +} + + + +=head2 move + + Arg [1] : int start + Arg [2] : int end + Arg [3] : (optional) int strand + Example : None + Description: Sets the start, end and strand in one call rather than in + 3 seperate calls to the start(), end() and strand() methods. + This is for convenience and for speed when this needs to be + done within a tight loop. + Returntype : none + Exceptions : Thrown is invalid arguments are provided + Caller : general + +=cut + +sub move { + my $self = shift; + + throw('start and end arguments are required') if(@_ < 2); + + my $start = shift; + my $end = shift; + my $strand = shift; + + if(defined($start) && defined($end) && $end < $start) { + throw('start must be less than or equal to end'); + } + if(defined($strand) && $strand != 0 && $strand != -1 && $strand != 1) { + throw('strand must be 0, -1 or 1'); + } + + $self->{'start'} = $start; + $self->{'end'} = $end; + $self->{'strand'} = $strand if(defined($strand)); +} + + + +=head2 length + + Arg [1] : none + Example : $length = $feat->length(); + Description: Returns the length of this feature + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub length { + my $self = shift; + return $self->{'end'} - $self->{'start'} + 1; +} + + + + +=head2 analysis + + Arg [1] : (optional) Bio::EnsEMBL::Analysis $analysis + Example : $feature->analysis(new Bio::EnsEMBL::Analysis(...)) + Description: Getter/Setter for the analysis that is associated with + this feature. The analysis describes how this feature + was derived. + Returntype : Bio::EnsEMBL::Analysis + Exceptions : thrown if an invalid argument is passed + Caller : general + +=cut + +sub analysis { + my $self = shift; + + if(@_) { + my $an = shift; + if(defined($an) && (!ref($an) || !$an->isa('Bio::EnsEMBL::Analysis'))) { + throw('analysis argument must be a Bio::EnsEMBL::Analysis'); + } + $self->{'analysis'} = $an; + } + + return $self->{'analysis'}; +} + + + +=head2 slice + + Arg [1] : (optional) Bio::EnsEMBL::Slice $slice + Example : $seqname = $feature->slice()->name(); + Description: Getter/Setter for the Slice that is associated with this + feature. The slice represents the underlying sequence that this + feature is on. Note that this method call is analagous to the + old SeqFeature methods contig(), entire_seq(), attach_seq(), + etc. + Returntype : Bio::EnsEMBL::Slice + Exceptions : thrown if an invalid argument is passed + Caller : general + +=cut + +sub slice { + my $self = shift; + + if(@_) { + my $sl = shift; + if(defined($sl) && (!ref($sl) || !$sl->isa('Bio::EnsEMBL::Slice'))) { + throw('slice argument must be a Bio::EnsEMBL::Slice'); + } + + $self->{'slice'} = $sl; + } + + return $self->{'slice'}; +} + + +=head2 transform + + Arg [1] : string $coord_system + The coord system to transform this feature to. + Arg [2] : string $version (optional) + The version of the coord system to transform this feature to. + Example : $feature = $feature->transform('contig'); + next if(!defined($feature)); + Description: Returns a copy of this feature, but converted to a different + coordinate system. The converted feature will be placed on a + slice which spans an entire sequence region of the new + coordinate system. If the requested coordinate system is the + same coordinate system it is simply placed on a slice which + spans the entire seq_region (as opposed to the original slice + which may have only partially covered the seq_region). + + If a feature spans a boundary in the new coordinate system, + undef is returned instead. + + For example, transforming an exon in contig coordinates to one + in chromosomal coodinates will place the exon on a slice of an + entire chromosome. + Returntype : Bio::EnsEMBL::Feature (or undef) + Exceptions : thrown if an invalid coordinate system is provided + thrown if this feature is not already on a slice + Caller : general, transfer() + +=cut + +sub transform { + my $self = shift; + my $cs_name = shift; + my $cs_version = shift; + + # + # For backwards compatibility check if the arguments are old style args + # + if(!$cs_name || ref($cs_name)) { + deprecate('Calling transform without a coord system name is deprecated.'); + return $self->_deprecated_transform($cs_name); + } + + my $slice = $self->{'slice'}; + + if(!$slice) { + throw('Feature is not associated with a slice and may not be transformed'); + } + + + #use db from slice since this feature may not yet be stored in a database + my $db = $slice->adaptor->db(); + my $cs = $db->get_CoordSystemAdaptor->fetch_by_name($cs_name, $cs_version); + my $current_cs = $slice->coord_system(); + + # self is already in the requested coordinate system, so we can just return a copy + if( $cs->equals( $current_cs ) && $slice->start() == 1 && $slice->strand() == 1 ) { + my $new_feature; + %$new_feature = %$self; + bless $new_feature, ref $self; + return $new_feature; + } + + my $projection = $self->project( $cs_name, $cs_version ); + if( @$projection != 1 ) { + return undef; + } else { + my $p_slice = $projection->[0]->[2]; + my $slice_adaptor = $db->get_SliceAdaptor; + $slice = $slice_adaptor->fetch_by_region($p_slice->coord_system()->name(), + $p_slice->seq_region_name(), + undef, #start + undef, #end + 1, #strand + $p_slice->coord_system()->version); + + my $new_feature; + %$new_feature = %$self; + bless $new_feature, ref $self; + $new_feature->{'start'} = $p_slice->start(); + $new_feature->{'end'} = $p_slice->end(); + $new_feature->{'strand'} = ($self->{'strand'} == 0) ? 0 : $p_slice->strand(); + $new_feature->{'slice'} = $slice; + return $new_feature; + } +} + + + +=head2 transfer + + Arg [1] : Bio::EnsEMBL::Slice $slice + The slice to transfer this feature to + Example : $feature = $feature->transfer($slice); + next if(!defined($feature)); + Description: Returns a copy of this feature which has been shifted onto + another slice. + + If the new slice is in a different coordinate system the + feature is transformed first and then placed on the slice. + If the feature would be split across a coordinate system + boundary or mapped to a gap undef is returned instead. + Returntype : Bio::EnsEMBL::Feature (or undef) + Exceptions : Thrown if the feature cannot be placed on the the same + seq_region as the slice. + Caller : general, transform() + +=cut + + +sub transfer { + my $self = shift; + my $slice = shift; + + if(!$slice || !ref($slice) || !$slice->isa('Bio::EnsEMBL::Slice')) { + throw('Slice argument is required'); + } + + my $current_slice = $self->{'slice'}; + + if(!$current_slice) { + throw('Feature must be on a slice to be transfered.'); + } + + #make a shallow copy of the feature to be transfered + my $feature; + %{$feature} = %{$self}; + bless $feature, ref($self); + + my $cur_cs = $current_slice->coord_system(); + my $dest_cs = $slice->coord_system(); + + #if we are not in the same coord system a transformation step is needed first + if(!$dest_cs->equals($cur_cs)) { + $feature = $feature->transform($dest_cs->name, $dest_cs->version); + return undef if(!defined($feature)); + $current_slice = $feature->{'slice'}; + } + + if($current_slice->seq_region_name() ne $slice->seq_region_name()) { + throw('Feature is not on the seq_region of the slice to transfer to'); + } + + #if the current feature positions are not relative to the start of the + #seq region, convert them so they are + my $cur_slice_start = $current_slice->start(); + my $cur_slice_strand = $current_slice->strand(); + if($cur_slice_start != 1 || $cur_slice_strand != 1) { + my $fstart = $feature->{'start'}; + my $fend = $feature->{'end'}; + + if($cur_slice_strand == 1) { + $feature->{'start'} = $fstart + $cur_slice_start - 1; + $feature->{'end'} = $fend + $cur_slice_start - 1; + } else { + my $cur_slice_end = $current_slice->end(); + $feature->{'start'} = $cur_slice_end - $fend + 1; + $feature->{'end'} = $cur_slice_end - $fstart + 1; + $feature->{'strand'} *= -1; + } + } + + my $fstart = $feature->{'start'}; + my $fend = $feature->{'end'}; + + #convert to destination slice coords + if($slice->strand == 1) { + $feature->{'start'} = $fstart - $slice->start() + 1; + $feature->{'end'} = $fend - $slice->start() + 1; + } else { + $feature->{'start'} = $slice->end() - $fend + 1; + $feature->{'end'} = $slice->end() - $fstart + 1; + $feature->{'strand'} *= -1; + } + + $feature->{'slice'} = $slice; + + return $feature; +} + + + +=head2 project + + Arg [1] : string $name + The name of the coordinate system to project this feature onto + Arg [2] : string $version (optional) + The version of the coordinate system (such as 'NCBI34') to + project this feature onto + Example : + my $clone_projection = $feature->project('clone'); + + foreach my $segment (@$clone_projection) { + my ($start, $end, $clone) = @$segment; + print "Features current coords $start-$end project onto clone coords " . + $clone->seq_region_name, ':', $clone->start, '-', $clone->end, + $clone->strand, "\n"; + } + Description: Returns the results of 'projecting' this feature onto another + coordinate system. This is useful to see where a feature + where a feature would lie in a coordinate system in which it + crosses a boundary. + + This method returns a listref of triplets [start,end,slice] + which represents the projection. The start and end are the + coordinates relative to the feature start. + For example if a feature is current 100-200bp on a slice + then the triplets returned might be: + 1,50,$slice1 + 51,101,$slice2 + + The third value of the returned triplets is a slice spanning + the region on the requested coordinate system that this feature + projected to. + + If the feature projects entirely into a gap then a reference to + an empty list is returned. + + Returntype : list reference of [$start,$end,$slice] triplets + Exceptions : none + Caller : general + +=cut + +sub project { + my $self = shift; + my $cs_name = shift; + my $cs_version = shift; + + my $slice = $self->{'slice'}; + + if(!$slice) { + throw("Feature is not associated with a Slice and may not be projected"); + } + + #get an adaptor from the attached slice because this feature may not yet + #be stored and may not have its own adaptor + my $slice_adaptor = $slice->adaptor(); + + if(!$slice_adaptor) { + throw("Cannot project feature because associated slice does not have an " . + " adaptor"); + } + + my $strand = $self->strand() * $slice->strand(); + #fetch by feature always gives back forward strand slice: + $slice = $slice_adaptor->fetch_by_Feature($self); + $slice = $slice->invert if($strand == -1); + + return $slice->project($cs_name, $cs_version); +} + + + +=head2 seqname + + Arg [1] : (optional) $seqname + Example : $seqname = $feat->seqname(); + Description: Getter/Setter for the name of the sequence that this feature + is on. Normally you can get away with not setting this value + and it will default to the name of the slice on which this + feature is on. It is useful to set this value on features which + do not ordinarily sit on features such as ProteinFeatures which + sit on peptides. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub seqname { + my $self = shift; + + if(@_) { + $self->{'seqname'} = shift; + } + + if(!$self->{'seqname'} && $self->slice()) { + return $self->slice->name(); + } + + return $self->{'seqname'}; +} + + + + +=head2 display_id + + Arg [1] : none + Example : print $f->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. It is overridden by subclasses to + return an appropriate value for objects of that particular + class. If no appropriate display id is available an empty + string is returned instead. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + return ''; +} + + +############################################## +# Methods included for backwards compatibility +############################################## + + +# contig +# +# This method is included for backwards compatibility. +# Use slice() instead +# +sub contig { + deprecate('Use slice() instead'); + slice(@_); +} + + + +# sub_SeqFeature +# +# This method is only for genebuild backwards compatibility. +# Avoid using it if possible +# +sub sub_SeqFeature{ + my ($self) = @_; + return @{$self->{'_gsf_sub_array'}} if($self->{'_gsf_sub_array'}); +} + +# add_sub_SeqFeature +# +# This method is only for genebuild backwards compatibility. +# Avoid using it if possible +# +sub add_sub_SeqFeature{ + my ($self,$feat,$expand) = @_; + + if( $expand eq 'EXPAND' ) { + # if this doesn't have start/end set - forget it! + if( !defined $self->start && !defined $self->end ) { + $self->start($feat->start()); + $self->end($feat->end()); + $self->strand($feat->strand); + } else { + my ($start,$end); + if( $feat->start < $self->start ) { + $start = $feat->start; + } + + if( $feat->end > $self->end ) { + $end = $feat->end; + } + + $self->start($start); + $self->end($end); + } + } else { + if($self->start > $feat->start || $self->end < $feat->end) { + throw("$feat is not contained within parent feature, " . + "and expansion is not valid"); + } + } + + push(@{$self->{'_gsf_sub_array'}},$feat); +} + +# flush_sub_SeqFeature +# +# This method is only for genebuild backwards compatibility. +# Avoid using it isf possible +# +sub flush_sub_SeqFeature { + my ($self) = @_; + $self->{'_gsf_sub_array'} = []; +} + + +sub _deprecated_transform { + my $self = shift; + my $arg = shift; + + if(!$arg) { + warning("Calling transform() with no arguments is deprecated.\n". + "A coordinate system name argument should be used instead.\n". + "You probably wanted transform('seqlevel') or transform('contig')."); + return $self->transform('seqlevel'); + } + + if(ref($arg) eq 'Bio::EnsEMBL::Slice') { + if($arg->{'empty'}) { + warning("Calling transform with an empty slice is deprecated.\n" . + "A coordinate system name argument should be used instead.\n". + "You probably wanted transform('chromosome') or " . + "transform('toplevel')"); + return $self->transform('toplevel'); + } + warning("Calling transform with a slice is deprecated.\n" . + "Use the transfer method instead"); + return $self->transfer($arg); + } + + warning("Calling transform with a [".ref($arg)."] arg is no longer " . + "(or never was) supported. Doing nothing instead."); + + return $self; +} + +# id +# +# This method is included for backwards compatibility only. +# Use hseqname or dbID or stable_id instead +# +sub id { + my $self = shift; + deprecate("id method is not used - use display_id instead"); + return $self->{'stable_id'} if($self->{'stable_id'}); + return $self->{'hseqname'} if($self->{'hseqname'}); + return $self->{'seqname'} if($self->{'seqname'}); + return $self->{'dbID'}; +} + +1; diff --git a/modules/Bio/EnsEMBL/FeaturePair.pm b/modules/Bio/EnsEMBL/FeaturePair.pm index 0cad54569e..00dfbaa241 100755 --- a/modules/Bio/EnsEMBL/FeaturePair.pm +++ b/modules/Bio/EnsEMBL/FeaturePair.pm @@ -1,4 +1,3 @@ - # # BioPerl module for Bio::EnsEMBL::FeaturePair # @@ -6,399 +5,502 @@ # # Copyright Ewan Birney # -# You may distribute this module under the same terms as perl itself - -# POD documentation - main docs before the code +# You may distribute this module under the same terms as perl =head1 NAME -Bio::EnsEMBL::FeaturePair - Stores sequence features which are - themselves hits to other sequence features. +Bio::EnsEMBL::FeaturePair - Stores sequence Features which are +themselves hits to other sequence features. =head1 SYNOPSIS - my $feat = new Bio::EnsEMBL::FeaturePair(-feature1 => $f1, - -feature2 => $f2, - ); - - # Bio::SeqFeatureI methods can be used - my $start = $feat->start; - my $end = $feat->end; - - # Bio::EnsEMBL::SeqFeatureI methods can be used - my $analysis = $feat->analysis; - - $feat->validate || $feat->throw("Invalid data in $feat"); - - # Bio::FeaturePair methods can be used - my $hstart = $feat->hstart; - my $hend = $feat->hend; + my $feat = Bio::EnsEMBL::FeaturePair->new(-start => 132_231, + -end => 132_321, + -strand => -1, + -slice => $slice, + -hstart => 10, + -hend => 100, + -hstrand => 1, + -score => 100, + -percent_id => 92.0, + -hseqname => 'ALUSX10.1', + -analysis => $analysis); + + my $hit_start = $feat->hstart(); + my $hit_end = $feat->hend(); + my $hit_strand = $feat->hstrand(); + my $analysis = $feat->analysis(); =head1 DESCRIPTION A sequence feature object where the feature is itself a feature on another sequence - e.g. a blast hit where residues 1-40 of a protein sequence SW:HBA_HUMAN has hit to bases 100 - 220 on a genomic sequence HS120G22. -The genomic sequence coordinates are used to create one sequence feature -$f1 and the protein coordinates are used to create feature $f2. -A FeaturePair object can then be made +The genomic sequence coordinates are represented by the start, end, strand +attributes while the protein (hit) coordinates are represented by the hstart, +hend, hstrand attributes. + + $clone = $slice_adpator->fetch_by_region('clone', 'HS120G22'); + + $fp = Bio::EnsEMBL::FeaturePair(-start => 100, + -end => 220, + -strand => 1, + -slice => $clone, + -hstart => 1, + -hend => 40, + -hstrand => 1, + -percent_id => 92.0, + -score => 100, + -hseqname => 'SW:HBA_HUMAN', + -species => 'Homo sapiens', + -hspecies => 'Homo sapiens'); - my $fp = new Bio::EnsEMBL::FeaturePair(-feature1 => $f1, # genomic - -feature2 => $f2, # protein - ); -This object can be used as a standard Bio::SeqFeatureI in which case +=head1 CONTACT - my $gstart = $fp->start # returns start coord on feature1 - genomic seq. - my $gend = $fp->end # returns end coord on feature1. +Post comments/questions to the EnsEMBL developer list: ensembl-dev@ebi.ac.uk -In general standard Bio::SeqFeatureI method calls return information -in feature1. +=head1 APPENDIX -Data in the feature 2 object are generally obtained using the standard -methods prefixed by h (for hit!) +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ - my $pstart = $fp->hstart # returns start coord on feature2 = protein seq. - my $pend = $fp->hend # returns end coord on feature2. +=cut +package Bio::EnsEMBL::FeaturePair; -If you wish to swap feature1 and feature2 around : +use vars qw(@ISA); +use strict; - $feat->invert +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); + +@ISA = qw(Bio::EnsEMBL::Feature); + + + +=head2 new + + Arg [HSTART] : int - The start of the hit region (optional) + Arg [HEND] : int - The end of the hit region (optional) + Arg [HSTRAND] : (0,1,-1) - The strand of the hit region (optional) + Arg [PERCENT_ID]: float - The precentage identity of the hit (optional) + Arg [SCORE] : float - The score of the hit (optional) + Arg [HSEQNAME] : string - The name of the hit sequence (optional) + Arg [P_VALUE] : float - The pvalue or evalue (optional) + Arg [SPECIES] : string - The species the query sequence is from (optional) + Arg [HSPECIES] : string - The species the hit sequence is from (optional) + Arg [...] : Named superclass constructor args (Bio::EnsEMBL::Feature) + Example : $feat = Bio::EnsEMBL::FeaturePair->new(-start => 132_231, + -end => 132_321, + -strand => -1, + -slice => $slice, + -hstart => 10, + -hend => 100, + -hstrand => 1, + -score => 100, + -percent_id => 92.0, + -hseqname => 'ALUSX10.1', + -analysis => $analysis); +Description: Creates a new Bio::EnsEMBL::FeaturePair object + Returntype : Bio::EnsEMBL::FeaturePair + Exceptions : throw if start > end + throw if invalid strand is provided + Caller : general - $feat->start # etc. returns data in $feature2 object +=cut +sub new { + my $caller = shift; -=head1 CONTACT + my $class = ref($caller) || $caller; -Describe contact details here + my $self = $class->SUPER::new(@_); -=head1 APPENDIX + my ($hstart,$hend,$hstrand,$percent_id,$score, $species, $hspecies, + $p_value, $hseqname, $f1,$f2) = + rearrange(['HSTART','HEND','HSTRAND','PERCENT_ID','SCORE','SPECIES', + 'HSPECIES', 'P_VALUE', 'HSEQNAME', 'FEATURE1','FEATURE2'], @_); -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ + if(defined($hstart) && defined($hend) && ($hend < $hstart)) { + throw('HSTART must be less than or equal to HEND'); + } -=cut + if(defined($hstrand) && $hstrand != 1 && $hstrand != -1 && $hstrand != 0) { + throw('HSTRAND must be one of (0,1,-1)'); + } + + $self->{'hstart'} = $hstart; + $self->{'hend'} = $hend; + $self->{'hstrand'} = $hstrand; + $self->{'score'} = $score; + $self->{'percent_id'} = $percent_id; + $self->{'species'} = $species; + $self->{'hspecies'} = $hspecies; + $self->{'hseqname'} = $hseqname; + $self->{'p_value'} = $p_value; + + # + # Feature1 and Feature2 arg handling for backwards compatibility + # + if($f1) { + deprecate("Using FEATURE1 arg to construct FeaturePairs" . + " is deprecated.\nUse the args START,END,STRAND,SLICE instead"); + + #eval because we are not exactly sure what f1 arg will look like + eval { + $self->{'start'} = $f1->start(); + $self->{'end'} = $f1->end(); + $self->{'strand'} = $f1->strand(); + $self->{'slice'} = $f1->contig(); + $self->{'analysis'} = $f1->analysis() if($f1->analysis()); + }; + } + + if($f2) { + deprecate("Using FEATURE2 arg to construct FeaturePairs is deprecated" . + "\nUse the args HSTART,HEND,HSTRAND,HSEQNAME instead"); + + #eval because we are not exactly sure what f2 arg will look like + eval { + $self->{'hseqname'} = $f2->seqname(); + $self->{'hstart'} = $f2->start(); + $self->{'hend'} = $f2->end(); + $self->{'hstrand'} = $f2->strand(); + $self->{'analysis'} = $f2->analysis() if($f2->analysis()); + }; + } + return $self; +} -# Let the code begin... -package Bio::EnsEMBL::FeaturePair; +=head2 hseqname -use vars qw(@ISA); -use strict; + Arg [1] : string $hseqname (optional) + Example : $hseqname = $fp->hseqname(); + Description: Getter/Setter for the name of the hit sequence + Returntype : string + Exceptions : none + Caller : general -use Bio::EnsEMBL::SeqFeature; +=cut -@ISA = qw(Bio::EnsEMBL::SeqFeature); +sub hseqname { + my $self = shift; + $self->{'hseqname'} = shift if(@_); + return $self->{hseqname}; +} -sub new { - my($class,@args) = @_; - my $self = {}; - if( ref( $class) ) { - $class = ref( $class ); - } +=head2 hstart - bless ($self,$class); - - my ($feature1,$feature2) = - $self->_rearrange([qw(FEATURE1 - FEATURE2 - )],@args); - - if($feature1) { - $self = $self->SUPER::new(-ANALYSIS => $feature1->analysis(), - -SEQNAME => $feature1->seqname(), - -START => $feature1->start(), - -END => $feature1->end(), - -STRAND => $feature1->strand(), - -FRAME => $feature1->frame(), - -SCORE => $feature1->score(), - -PERCENT_ID => $feature1->percent_id(), - -P_VALUE => $feature1->p_value(), - -PHASE => $feature1->phase(), - -END_PHASE => $feature1->end_phase()); - - if($feature1->contig) { - $self->contig($feature1->contig); - } - } else { - $self = $self->SUPER::new( @args ); - } + Arg [1] : string $hstart (optional) + Example : $hstart = $fp->hstart(); + Description: Getter/Setter for the start coordinate on the hit sequence + Returntype : int + Exceptions : none + Caller : general - $feature2 && $self->feature2($feature2); +=cut - # set stuff in self from @args - return $self; # success - we hope! +sub hstart{ + my $self = shift; + $self->{'hstart'} = shift if(@_); + return $self->{'hstart'}; } -=head2 feature1 +=head2 hend - Title : feature1 - Usage : $f = $featpair->feature1 - $featpair->feature1($feature) - Function: Get/set for the query feature - Returns : Bio::SeqFeatureI - Args : none + Arg [1] : string $hend (optional) + Example : $hend = $fp->hend(); + Description: Getter/Setter for the end coordinate on the hit sequence + Returntype : int + Exceptions : none + Caller : general =cut +sub hend{ + my $self = shift; + $self->{'hend'} = shift if(@_); + return $self->{'hend'}; +} + -sub feature1 { - my ($self,$arg) = @_; - if($arg) { - #print STDERR "have ".$arg." for feature1 and it has ".$arg->entire_seq."\n"; - $self->start($arg->start()); - $self->end($arg->end()); - $self->strand($arg->strand()); - $self->frame($arg->frame()); - $self->score($arg->score()); - $self->seqname($arg->seqname()); - $self->percent_id($arg->percent_id()); - $self->p_value($arg->p_value()); - $self->phase($arg->phase()); - $self->end_phase($arg->end_phase()); - $self->analysis($arg->analysis); - if($arg->entire_seq){ - $self->attach_seq($arg->entire_seq); - } +=head2 hstrand + + Arg [1] : int $hstrand (optional) + Example : $hstrand = $fp->hstrand + Description: Getter/Setter for the orientation of the hit on the hit sequence + Returntype : 0,1,-1 + Exceptions : thrown + Caller : general + +=cut + +sub hstrand{ + my $self = shift; + + if(@_) { + my $hstrand = shift; + if(defined($hstrand) && $hstrand != 1 && $hstrand != 0 && $hstrand != -1) { + throw('hstrand must be one of (-1,0,1)'); } + $self->{'hstrand'} = $hstrand; + } - return $self; + return $self->{'hstrand'}; } -=head2 feature2 - Title : feature2 - Usage : $f = $featpair->feature2 - $featpair->feature2($feature) - Function: Get/set for the hit feature - Returns : Bio::SeqFeatureI - Args : none +=head2 score + Arg [1] : float $score (optional) + Example : $score = $fp->score(); + Description: Getter/Setter for the score of this feature pair + Returntype : float + Exceptions : none + Caller : general =cut -sub feature2 { - my ($self,$arg) = @_; - #print "passing ".$arg." into feature2\n"; - if (defined($arg)) { - unless(ref($arg) ne "" && $arg->isa("Bio::SeqFeatureI")) { - $self->throw("Argument [$arg] must be a Bio::SeqFeatureI"); - } - - $self->hstart($arg->start()); - $self->hend($arg->end()); - $self->hstrand($arg->strand()); - $self->hseqname($arg->seqname()); - $self->hphase($arg->phase()); - $self->hend_phase($arg->end_phase()); - - return $arg; - } - - my $seq = new Bio::EnsEMBL::SeqFeature( - -SEQNAME => $self->{_hseqname}, - -START => $self->{_hstart}, - -END => $self->{_hend}, - -STRAND => $self->{_hstrand}, - -SCORE => $self->score(), - -PERCENT_ID => $self->percent_id(), - -P_VALUE => $self->p_value(), - -PHASE => $self->hphase, - -END_PHASE => $self->hend_phase, - -ANALYSIS => $self->analysis); +sub score{ + my $self = shift; + $self->{'score'} = shift if(@_); + return $self->{'score'}; +} - - return $seq; + + +=head2 percent_id + + Arg [1] : float $percent_id (optional) + Example : $percent_id = $fp->percent_id(); + Description: Getter/Setter for the percentage identity of this feature pair + Returntype : float + Exceptions : none + Caller : general + +=cut + +sub percent_id { + my $self = shift; + $self->{'percent_id'} = shift if(@_); + return $self->{'percent_id'}; } -=head2 hseqname - Title : hseqname - Usage : $featpair->hseqname($newval) - Function: Get/set method for the name of - feature2. - Returns : value of $feature2->seqname - Args : newvalue (optional) +=head2 species + Arg [1] : string $genus_species_name (optional) + e.g. Homo_sapiens or Mus_musculus + Example : $species = $fp->species(); + Description: get/set on the species of feature1 + Returntype : string + Execeptions: none + Caller : general =cut -sub hseqname { - my ($self,$arg) = @_; - - if (defined($arg)) { - # print STDERR "hseqname being set ".$arg."\n"; - $self->{_hseqname} = $arg; - } +sub species{ + my $self = shift; + $self->{'species'} = shift if(@_); + return $self->{'species'}; +} + + +=head2 hspecies + + Arg [1] : string $genus_species_name (optional) + e.g. Homo_sapiens or Mus_musculus + Example : $hspecies = $fp->hspecies + Description: get/set on the species of feature2 + Returntype : string + Execeptions: none + Caller : general + +=cut - return $self->{_hseqname}; +sub hspecies{ + my $self = shift; + $self->{'hspecies'} = shift if(@_); + return $self->{'hspecies'}; } -=head2 hstart - Title : hstart - Usage : $start = $featpair->hstart - $featpair->hstart(20) - Function: Get/set on the start coordinate of feature2 - Returns : integer - Args : none +=head2 p_value + + Arg [1] : float $p_value (optional) + Example : $eval = $fp->p_value + Description: Getter Setter for the evalue / pvalue of this feature + Returntype : float + Exceptions : none + Caller : general =cut -sub hstart { - my ($self,$value) = @_; - - if (defined($value)) { - #print STDERR "htart being set to ".$value,"\n"; - $self->{_hstart} = $value; - } - - return $self->{_hstart}; +sub p_value{ + my $self = shift; + $self->{'p_value'} = shift if(@_); + return $self->{'p_value'}; } -=head2 hend - Title : hend - Usage : $end = $featpair->hend - $featpair->hend($end) - Function: get/set on the end coordinate of feature2 - Returns : integer - Args : none + +=head2 display_id + + Arg [1] : none + Example : print $fp->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For feature pairs this is the + hseqname if it is available otherwise it is an empty string. + Returntype : string + Exceptions : none + Caller : web drawing code =cut -sub hend{ - my ($self,$value) = @_; +sub display_id { + my $self = shift; + return $self->{'hseqname'} || ''; +} - if (defined($value)) { - #print STDERR "hend being set to ".$value."\n"; - $self->{_hend} = $value; + +########################### +# DEPRECATED METHODS FOLLOW +########################### + +=head2 feature1 + + Description: DEPRECATED use start(), end(), strand(), slice(), etc. + methods instead + +=cut + +sub feature1 { + my ($self,$arg) = @_; + + deprecate('Use start(), end(), strand(), slice(), etc. methods instead.'); + + if($arg) { + $self->start($arg->start()); + $self->end($arg->end()); + $self->strand($arg->strand()); + $self->score($arg->score()); + $self->percent_id($arg->percent_id()); + $self->analysis($arg->analysis); + if($arg->contig){ + $self->slice($arg->contig); } + } - return $self->{_hend}; + return $self; } -=head2 hstrand +=head2 feature2 - Title : hstrand - Usage : $strand = $feat->strand() - $feat->strand($strand) - Function: get/set on strand information, being 1,-1 or 0 - Returns : -1,1 or 0 - Args : none + Description: DEPRECATED use hstart(), hend(), hstrand() etc. + methods instead =cut -sub hstrand{ - my ($self,$arg) = @_; - - if (defined($arg)) { - #print "hstrand = ".$arg."\n"; - $self->{_hstrand} = $arg; - } - - return $self->{_hstrand}; +sub feature2 { + my ($self,$arg) = @_; + + deprecate('Use hstart(),hend(),hstrand(),hseqname() methods instead.'); + + if (defined($arg)) { + $self->hstart($arg->start()); + $self->hend($arg->end()); + $self->hstrand($arg->strand()); + $self->hseqname($arg->seqname()); + return $arg; + } + + return new Bio::EnsEMBL::Feature( + -START => $self->hstart(), + -END => $self->hend(), + -STRAND => $self->hstrand(), + -SCORE => $self->score(), + -PERCENT_ID => $self->percent_id(), + -ANALYSIS => $self->analysis, + -SEQNAME => $self->hseqname()); } =head2 invert - Title : invert - Usage : $tag = $feat->invert - Function: Swaps feature1 and feature2 around - Returns : Nothing - Args : none - + Description: DEPRECATED do not use =cut sub invert { my ($self) = @_; - my $tmp = $self->feature2; + deprecated('Do not use this method - it should not be needed'); + + my $hstart = $self->{'hstart'}; + my $hend = $self->{'hend'}; + my $hstrand = $self->{'hstrand'}; + my $hspecies = $self->{'hspecies'}; + + my $start = $self->{'start'}; + my $end = $self->{'end'}; + my $strand = $self->{'strand'}; + my $slice = $self->{'slice'}; + my $species = $self->{'species'}; + + $self->{'start'} = $hstart; + $self->{'end'} = $hend; + $self->{'strand'} = $hstrand; + $self->{'species'} = $hspecies; + + $self->{'hstart'} = $hstart; + $self->{'hend'} = $hend; + $self->{'hstrand'} = $hstrand; + $self->{'hseqname'} = ($slice) ? $slice->seq_region_name : ''; + $self->{'hspecies'} = $species; +} - $self->feature2($self->feature1); - $self->feature1($tmp); -} =head2 validate - Title : validate - Usage : $sf->validate - Function: Checks whether all data fields are filled - in in the object and whether it is of - the correct type. - Throws an exception if it finds problems - Example : $sf->validate - Returns : nothing - Args : none - + Description: DEPRECATED do not use =cut sub validate { my ($self) = @_; - - $self->SUPER::validate(); - $self->feature2->validate; - #$f2->validate(); - - # Now the analysis object - if (defined($self->analysis)) { - unless($self->analysis->isa("Bio::EnsEMBL::Analysis")) { - $self->throw("Wrong type of analysis object"); - } - } else { - $self->throw("No analysis object defined"); - } + + deprecate('This method does nothing and should not be used.'); } =head2 validate_prot_feature - Title : validate_prot_feature - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED do not use =cut sub validate_prot_feature{ - my ($self) = @_; + my ($self) = @_; - $self->SUPER::validate_prot_feature(1); - $self->feature2->validate_prot_feature(2); + deprecate('This method does nothing and should not be used.'); +} - if (defined($self->analysis)) { - unless($self->analysis->isa("Bio::EnsEMBL::Analysis")) { - $self->throw("Wrong type of analysis object"); - } - } else { - $self->throw("No analysis object defined"); - } - } =head2 set_featurepair_fields - Title : set_featurepair_fields - Usage : $fp->set_featurepair_fields($start, $end, $strand, - $score, $seqname, $hstart, $hend, $hstrand, - $hseqname, $analysis); - Returns : nothing - Args : listed above, followed by optional $e_value, $perc_id, - $phase, $end_phase + Description: DEPRECATED do not use =cut @@ -406,8 +508,11 @@ sub set_featurepair_fields { my ($self, $start, $end, $strand, $score, $seqname, $hstart, $hend, $hstrand, $hseqname, $analysis, $e_value, $perc_id, $phase, $end_phase) = @_; - - $self->throw('interface fault') if (@_ < 12 or @_ > 15); + + deprecate("Use individual Getter/Setters or Constructor arguments " . + " instead.\nThere is no advantage to using this method."); + + throw('interface fault') if (@_ < 12 or @_ > 15); $self->start($start); $self->end($end); @@ -426,14 +531,29 @@ sub set_featurepair_fields { } +=head2 gffstring + + Description: DEPRECATED do not use + +=cut sub gffstring { my ($self) = @_; - my $str = $self->SUPER::gffstring(); + deprecate('Do not use'); + + my $str .= (defined $self->slice) ? $self->slice->name()."\t": "\t"; + $str .= "\t"; #source tag + $str .= "\t"; #primary tag + $str .= (defined $self->start) ? $self->start."\t" : "\t"; + $str .= (defined $self->end) ? $self->end."\t" : "\t"; + $str .= (defined $self->score) ? $self->score."\t" : "\t"; + $str .= (defined $self->strand) ? $self->strand."\t" : ".\t"; + $str .= ".\t"; #phase + $str .= ".\t"; #end phase my $hstrand = "+"; - + if (($self->hstrand)&&($self->hstrand == -1)) { $hstrand = "-"; } @@ -444,7 +564,7 @@ sub gffstring { $str .= (defined $self->hend) ? $self->hend."\t" : "\t"; $str .= (defined $self->hstrand) ? $hstrand."\t" : "\t"; $str .= (defined $self->hphase) ? $self->hphase."\t" : ".\t"; - + return $str; } @@ -453,129 +573,41 @@ sub gffstring { =head2 hphase - Title : hphase - Usage : $hphase = $fp->hphase() - $fp->hphase($hphase) - Function: get/set on start hphase of predicted feature2 - Returns : [0,1,2] - Args : none if get, 0,1 or 2 if set. + Description: DEPRECATED do not use =cut sub hphase { my ($self, $value) = @_; - + + deprecate('This method does nothing useful.'); + if (defined($value)) { $self->{_hphase} = $value; } - + return $self->{_hphase}; } =head2 hend_phase - Title : hend_phase - Usage : $hend_phase = $feat->hend_phase() - $feat->hend_phase($hend_phase) - Function: get/set on end phase of predicted feature2 - Returns : [0,1,2] - Args : none if get, 0,1 or 2 if set. + Description: DEPRECATED do not use =cut sub hend_phase { my ($self, $value) = @_; - + + deprecate('This method does nothing useful.'); + if (defined($value)) { $self->{_hend_phase} = $value; } - return $self->{_hend_phase}; } -=head2 species - - Arg [1] : string $genus_species_name (optional) - e.g. Homo_sapiens or Mus_musculus - Example : - Description: get/set on the species of feature1 - Returntype : string - Execeptions: none - Caller : general - -=cut - -sub species{ - my ($self,$arg) = @_; - - if (defined($arg)) { - return $self->{'_species'} = $arg; - } - return $self->{'_species'}; -} - -=head2 hspecies - - Arg [1] : string $genus_species_name (optional) - e.g. Homo_sapiens or Mus_musculus - Example : - Description: get/set on the species of feature2 - Returntype : string - Execeptions: none - Caller : general - -=cut - -sub hspecies{ - my ($self,$arg) = @_; - - if (defined($arg)) { - return $self->{'_hspecies'} = $arg; - } - return $self->{'_hspecies'}; -} - -=head2 identical_matches - - Arg [1] : int $identical_matches (optional) - Example : - Description: get/set on the number of identical matches - Returntype : int - Execeptions: none - Caller : general - -=cut - -sub identical_matches{ - my ($self,$arg) = @_; - - if (defined($arg)) { - return $self->{'_identical_matches'} = $arg; - } - return $self->{'_identical_matches'}; -} - -=head2 positive_matches - - Arg [1] : int $positive_matches (optional) - Example : - Description: get/set on the number of positive matches - Returntype : int - Execeptions: none - Caller : general - -=cut - -sub positive_matches{ - my ($self,$arg) = @_; - - if (defined($arg)) { - return $self->{'_positive_matches'} = $arg; - } - return $self->{'_positive_matches'}; -} 1; diff --git a/modules/Bio/EnsEMBL/Gene.pm b/modules/Bio/EnsEMBL/Gene.pm index e256a9b4a7..262c6bf557 100755 --- a/modules/Bio/EnsEMBL/Gene.pm +++ b/modules/Bio/EnsEMBL/Gene.pm @@ -30,17 +30,20 @@ package Bio::EnsEMBL::Gene; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::Root; -use Bio::EnsEMBL::TranscriptI; -use Bio::Annotation::DBLink; -use Bio::EnsEMBL::DBEntry; +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate); -@ISA = qw(Bio::EnsEMBL::Root); + +@ISA = qw(Bio::EnsEMBL::Feature); =head2 new - Arg [1] : none + Arg [start] : int $start + Arg [end] : int $end + Arg [strand] : 1,-1 $strand + Arg [slice] : Bio::EnsEMBL::Slice $slice Example : $gene = Bio::EnsEMBL::Gene->new(); Description: Creates a new gene object Returntype : Bio::EnsEMBL::Gene @@ -50,198 +53,26 @@ use Bio::EnsEMBL::DBEntry; =cut sub new { - my($class,@args) = @_; - - my $self = bless {}, $class; - $self->{'_transcript_array'} = []; - - return $self; -} - - - -=head2 start - - Arg [1] : (optional) int $start - Example : $start = $gene->start; - Description: This is a convenience method. It may be better to calculate - your own start by looking at the exons yourself. - Gets/sets the lowest start coordinate of this genes exons. - No consistancy check is performed and if this is used as a - setter potentially the start could be set to a value which - does not correspond to the lowest exon start. If this - gene is in RawContig coordinates and its exons span multiple - contigs the lowest value is still returned and a warning is - issued. - Returntype : int - Exceptions : warning if gene spans multiple contigs - Caller : general, contigview - -=cut - -sub start { - my($self, $start) = @_; - - my $multi_flag = 0; - - if($start) { - $self->{start} = $start; - } elsif(!defined $self->{start}) { - my $last_contig; - foreach my $exon (@{$self->get_all_Exons}) { - if(!defined($self->{start}) || $exon->start() < $self->{start}) { - $self->{start} = $exon->start(); - } - $multi_flag = 1 if($last_contig && $last_contig ne $exon->contig->name); - $last_contig = $exon->contig->name; - } - } - - if($multi_flag) { - use Carp 'cluck'; - cluck("Bio::EnsEMBL::Gene::start - Gene spans multiple contigs."); - $self->warn("Bio::EnsEMBL::Gene::start - Gene spans multiple contigs." . - "The return value from start may not be what you want"); - } - - return $self->{start}; -} - - - -=head2 end - - Arg [1] : (optional) int $end - Example : $end = $gene->end; - Description: This is a convenience method. It may be better to calculate - your own end by looking at the exons yourself. - Gets/sets the highest end coordinate of this genes exons. - No consistancy check is performed and if this is used as a - setter potentially the end could be set to a value which - does not correspond to the highest exon end. If this - gene is in RawContig coordinates and its exons span multiple - contigs the highest value is still returned and a warning is - issued. - Returntype : int - Exceptions : warning if gene spans multiple contigs - Caller : general, contigview - -=cut - -sub end { - my($self, $end) = @_; - - my $multi_flag = 0; - - if($end) { - $self->{end} = $end; - } elsif(!defined $self->{end}) { - my $last_contig; - foreach my $exon (@{$self->get_all_Exons()}) { - if(!defined($self->{end}) || $exon->end() > $self->{end}) { - $self->{end} = $exon->end(); - } - $multi_flag = 1 if($last_contig && $last_contig ne $exon->contig->name); - $last_contig = $exon->contig->name; - } - } - - if($multi_flag) { - cluck("Bio::EnsEMBL::Gene::start - Gene spans multiple contigs."); - $self->warn("Bio::EnsEMBL::Gene::end - Gene spans multiple contigs." . - "The return value from end may not be what you want"); - } - - return $self->{end}; -} - - - -=head2 strand - - Arg [1] : (optional) int strand - Example : $strand = $gene->strand; - Description: This is a convenience method. It may be better just to - get the strand from this genes exons yourself. - Gets/Sets the strand of this gene. No consistancy check is - performed and if used as a setter the strand can be set - incorrectly. If this gene is in RawContig coords and spans - multiple contigs it is not possible to calculate the strand - correctly, and a warning is returned. - Returntype : int - Exceptions : Warning if strand is not defined and Gene is in RawContig coords - so strand cannot be calculated - Caller : general - -=cut - -sub strand { - my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{'strand'} = $arg; - } elsif( ! defined $self->{strand} ) { - my $exons = $self->get_all_Exons(); - if(@$exons) { - if($exons->[0]->contig && - $exons->[0]->contig->isa("Bio::EnsEMBL::RawContig")) { - my $last_contig; - foreach my $exon (@$exons) { - if($last_contig && $last_contig ne $exon->contig->name) { - $self->warn("Bio::EnsEMBL::Gene::strand - strand can not be " . - "calculated for a Gene in RawContig coordinates that " - . "spans multiple contigs"); - return 0; - } - $last_contig = $exon->contig->name; - } - } - $self->{'strand'} = $exons->[0]->strand(); - } - } - return $self->{'strand'}; + my $caller = shift; -} + my $class = ref($caller) || $caller; + my $self = $class->SUPER::new(@_); + my ( $stable_id, $version, $external_name, $type, $external_db, + $external_status, $display_xref, $description ) = + rearrange( [ 'STABLE_ID', 'VERSION', 'EXTERNAL_NAME', 'TYPE', + 'EXTERNAL_DB', 'EXTERNAL_STATUS', 'DISPLAY_XREF', 'DESCRIPTION' ], @_ ); -=head2 chr_name + $self->stable_id( $stable_id ); + $self->version( $version ); + $self->external_name( $external_name ) if( defined $external_name ); + $self->external_db( $external_db ) if( defined $external_db ); + $self->external_status( $external_status ) if( defined $external_status ); + $self->display_xref( $display_xref ) if( defined $display_xref ); + $self->type( $type ) if( defined $type ); + $self->description($description); - Arg [1] : (optional) string $chr_name - Example : $chr_name = $gene->chr_name - Description: Getter/Setter for the name of the chromosome that this - Gene is on. This is really just a shortcut to the slice - attached this genes exons, but the value can also be set, which - is useful for use with the lite database and web code. - This function will return undef if this gene is not attached - to a slice and the chr_name attribute has not already been set. - Returntype : string - Exceptions : warning if chr_name is not defined and Gene is in RawContig - coordinates - Caller : Lite GeneAdaptor, domainview - -=cut - -sub chr_name { - my ($self, $chr_name) = @_; - - if(defined $chr_name) { - $self->{'_chr_name'} = $chr_name; - } elsif(!defined $self->{'_chr_name'}) { - #attempt to get the chr_name from the contig attached to the exons - my ($exon, $contig); - ($exon) = @{$self->get_all_Exons()}; - if($exon && ($contig = $exon->contig())) { - if(ref $contig && $contig->isa('Bio::EnsEMBL::Slice')) { - $self->{'_chr_name'} = $contig->chr_name(); - } else { - $self->warn('Gene::chr_name - Gene is in RawContig coords, and must ' - . 'be in Slice coords to have a valid chr_name'); - } - } - } - - return $self->{'_chr_name'}; + return $self; } @@ -250,8 +81,7 @@ sub chr_name { Args : none Example : none - Description: returns true if the Gene or one of its Transcripts have - DBLinks + Description: returns true if this gene has a display_xref Returntype : 0,1 Exceptions : none Caller : general @@ -260,94 +90,11 @@ sub chr_name { sub is_known{ - my ($self) = @_; - - for my $entry ( @{$self->get_all_DBLinks()} ) { - return 1 if uc($entry->status) eq "KNOWN"; - } - - foreach my $trans ( @{$self->get_all_Transcripts} ) { - for my $entry ( @{$trans->get_all_DBLinks()} ) { - return 1 if uc($entry->status) eq "KNOWN"; - } - } - - return 0; -} - - -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::DBSQL::GeneAdaptor $adaptor - Example : $gene->adaptor($gene_adaptor); - $gene->adaptor(undef); # to drop adaptor - Description: get/set for attribute adaptor - Returntype : Bio::EnsEMBL::DBSQL::GeneAdaptor - Exceptions : none - Caller : set only used by adaptor on store or retrieve - -=cut - - -sub adaptor { - my $self = shift; - - if (@_) { - # Testing for any arguments allows undef to be - # passed as an argument to unset the adaptor - $self->{'_adaptor'} = shift; - } - return $self->{'_adaptor'}; -} - - - -=head2 analysis - - Arg [1] : Bio::EnsEMBL::Analysis $analysis - Example : none - Description: get/set for attribute analysis - Returntype : Bio::EnsEMBL::Analysis - Exceptions : none - Caller : general - -=cut - - -sub analysis { - my ($self,$value) = @_; - if( defined $value ) { - $self->{'analysis'} = $value; - } - return $self->{'analysis'}; -} - - - - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set for attribute dbID - Returntype : int - Exceptions : none - Caller : set only by adaptor on store or retrieve - -=cut - - -sub dbID { - my ($self, $arg) = @_; - - if ( defined $arg ) { - $self->{'_dbID'} = $arg ; - } - return $self->{'_dbID'}; + my $self = shift; + return ($self->{'display_xref'}) ? 1 : 0; } - =head2 external_name Arg [1] : string $external_name @@ -360,14 +107,12 @@ sub dbID { =cut sub external_name { - my ($self, $ext_name) = @_; + my $self = shift; - if(defined $ext_name) { - return ( $self->{'_ext_name'} = $ext_name ); - } + $self->{'external_name'} = shift if( @_ ); - if( exists $self->{'_ext_name'} ) { - return $self->{'_ext_name'}; + if( exists $self->{'external_name'} ) { + return $self->{'external_name'}; } my $display_xref = $self->display_xref(); @@ -393,14 +138,12 @@ sub external_name { =cut sub external_db { - my ( $self, $ext_dbname ) = @_; + my $self = shift; - if(defined $ext_dbname) { - return ( $self->{'_ext_dbname'} = $ext_dbname ); - } + $self->{'external_db'} = shift if( @_ ); - if( exists $self->{'_ext_dbname'} ) { - return $self->{'_ext_dbname'}; + if( exists $self->{'external_db'} ) { + return $self->{'external_db'}; } my $display_xref = $self->display_xref(); @@ -445,30 +188,17 @@ sub external_status { Arg [1] : (optional) string $description Example : none - Description: you can set get this argument. If not set its lazy loaded - from attached adaptor. + Description: getter setter for gene description Returntype : string - Exceptions : if no GeneAdaptor is set and no description is there + Exceptions : none Caller : general =cut - sub description { - my ($self, $arg) = @_; - - if( defined $arg ) { - $self->{'_description'} = $arg; - return $arg; - } - - if( exists $self->{'_description'} ) { - return $self->{'_description'}; - } - elsif (my $aptr = $self->adaptor) { - $self->{'_description'} = $aptr->get_description($self->dbID); - } - return $self->{'_description'}; + my $self = shift; + $self->{'description'} = shift if( @_ ); + return $self->{'description'}; } @@ -492,7 +222,7 @@ sub add_DBEntry { my $dbe = shift; unless($dbe && ref($dbe) && $dbe->isa('Bio::EnsEMBL::DBEntry')) { - $self->throw('Expected DBEntry argument'); + throw('Expected DBEntry argument'); } $self->{'dbentries'} ||= []; @@ -585,8 +315,8 @@ sub get_all_Exons { my @out = (); foreach my $trans ( @{$self->get_all_Transcripts} ) { - foreach my $exon ( @{$trans->get_all_Exons} ) { - $h{"$exon"} = $exon; + foreach my $e ( @{$trans->get_all_Exons} ) { + $h{$e->start()."-".$e->end()."-".$e->strand()."-".$e->phase()} = $e; } } @@ -610,12 +340,11 @@ sub get_all_Exons { sub type { - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'type'} = $value; - } - return $obj->{'type'}; + my $self = shift; + + $self->{'type'} = shift if( @_ ); + + return $self->{'type'}; } @@ -637,16 +366,31 @@ sub type { sub add_Transcript{ my ($self,$trans) = @_; - if( !ref $trans || ! $trans->isa("Bio::EnsEMBL::TranscriptI") ) { - $self->throw("$trans is not a Bio::EnsEMBL::TranscriptI!"); + if( !ref $trans || ! $trans->isa("Bio::EnsEMBL::Transcript") ) { + throw("$trans is not a Bio::EnsEMBL::Transcript!"); + } + + if( defined $self->{'start'} ) { + if( $self->{'start'} > $trans->start() ) { + $self->start( $trans->start() ); + } + } else { + $self->start( $trans->start() ); + } + + if( defined $self->{'end'} ) { + if( $self->{'end'} < $trans->end() ) { + $self->end( $trans->end() ); + } + } else { + $self->end( $trans->end() ); } - #invalidate the start and end since they may need to be recalculated - $self->{start} = undef; - $self->{end} = undef; - $self->{strand} = undef; + $self->{strand} = $trans->strand();; + $self->{'_transcript_array'} ||= []; push(@{$self->{'_transcript_array'}},$trans); + $self->recalculate_coordinates(); } @@ -666,321 +410,351 @@ sub add_Transcript{ sub get_all_Transcripts { my ($self) = @_; + if( ! exists $self->{'_transcript_array'} ) { + if( defined $self->adaptor() ) { + my $ta = $self->adaptor()->db()->get_TranscriptAdaptor(); + my $transcripts = $ta->fetch_all_by_Gene( $self ); + $self->{'_transcript_array'} = $transcripts; + } + } return $self->{'_transcript_array'}; } -=head2 created +=head2 get_all_alt_alleles - Arg [1] : string $created - The time the stable id for this gene was created. Not very well - maintained data (at release 9) - Example : none - Description: get/set/lazy_load for the created timestamp - Returntype : string + Arg [1] : none + Example : ( optional ) + Description: Return a listref of Gene objects that represent this Gene on + an alternative haplotype. Empty list if there is no such + Gene. (eg there is no overlapping haplotype) + Returntype : listref of Bio::EnsEMBL::Gene Exceptions : none Caller : general =cut +sub get_all_alt_alleles { + my $self = shift; + my $result = $self->adaptor()->fetch_all_alt_alleles( $self ); + return $result; +} -sub created{ - my ($self,$value) = @_; - - if(defined $value ) { - $self->{'_created'} = $value; - } - if( exists $self->{'_created'} ) { - return $self->{'_created'}; - } +=head2 version - $self->_get_stable_entry_info(); + Arg [1] : int $version + A version number for the stable_id + Example : nonen + Description: getter/setter for version number + Returntype : int + Exceptions : none + Caller : general - return $self->{'_created'}; +=cut +sub version{ + my $self = shift; + $self->{'version'} = shift if(@_); + return $self->{'version'}; } -=head2 modified +=head2 stable_id - Arg [1] : string $modified - The time the gene with this stable_id was last modified. - Not well maintained data (release 9) - Example : none - Description: get/set/lazy_load of modified timestamp + Arg [1] : string $stable_id + Example : ("ENSG0000000001") + Description: getter/setter for stable id for this gene Returntype : string Exceptions : none Caller : general =cut - -sub modified{ - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_modified'} = $value; - } - - if( exists $self->{'_modified'} ) { - return $self->{'_modified'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_modified'}; +sub stable_id{ + my $self = shift; + $self->{'stable_id'} = shift if(@_); + return $self->{'stable_id'}; } +=head2 transform -=head2 version - - Arg [1] : int $version - A version number for the stable_id - Example : nonen - Description: get/set/lazy_load for the version number - Returntype : int - Exceptions : none + Arg 1 : String $coordinate_system_name + Arg [2] : String $coordinate_system_version + Description: moves this gene to the given coordinate system. If this gene has Transcripts + attached, they move as well. + Returntype : Bio::EnsEMBL::Gene + Exceptions : wrong parameters Caller : general =cut -sub version{ - - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_version'} = $value; - } +sub transform { + my $self = shift; - if( exists $self->{'_version'} ) { - return $self->{'_version'}; - } - $self->_get_stable_entry_info(); + # catch for old style transform calls + if( !@_ || ( ref $_[0] && $_[0]->isa( "Bio::EnsEMBL::Slice" ))) { + deprecate('Calling transform without a coord system name is deprecated.'); + return $self->_deprecated_transform(@_); + } - return $self->{'_version'}; + my $new_gene = $self->SUPER::transform( @_ ); + return undef unless $new_gene; + if( exists $self->{'_transcript_array'} ) { + my @new_transcripts; + for my $old_transcript ( @{$self->{'_transcript_array'}} ) { + my $new_transcript = $old_transcript->transform( @_ ); + push( @new_transcripts, $new_transcript ); + } + $new_gene->{'_transcript_array'} = \@new_transcripts; + } + return $new_gene; } -=head2 stable_id +=head2 transfer - Arg [1] : string $stable_id - Example : ("ENSG0000000001") - Description: get/set/lazy_loaded stable id for this gene - Returntype : string + Arg [1] : Bio::EnsEMBL::Slice $destination_slice + Example : none + Description: MOves this Gene to given target slice coordinates. If Transcripts + are attached they are moved as well. Returns a new gene. + Returntype : Bio::EnsEMBL::Gene Exceptions : none Caller : general =cut -sub stable_id{ +sub transfer { + my $self = shift; + + my $new_gene = $self->SUPER::transfer( @_ ); + return undef unless $new_gene; + + if( exists $self->{'_transcript_array'} ) { + my @new_transcripts; + for my $old_transcript ( @{$self->{'_transcript_array'}} ) { + my $new_transcript = $old_transcript->transfer( @_ ); + push( @new_transcripts, $new_transcript ); + } + $new_gene->{'_transcript_array'} = \@new_transcripts; + } + return $new_gene; +} - my ($self,$value) = @_; - - if( defined $value ) { - $self->{'_stable_id'} = $value; - return; - } - if( exists $self->{'_stable_id'} ) { - return $self->{'_stable_id'}; - } +=head2 display_xref - $self->_get_stable_entry_info(); + Arg [1] : Bio::EnsEMBL::DBEntry $display_xref + Example : $gene->display_xref($db_entry); + Description: get/set display_xref for this gene + Returntype : Bio::EnsEMBL::DBEntry + Exceptions : none + Caller : general - return $self->{'_stable_id'}; +=cut +sub display_xref { + my $self = shift; + $self->{'display_xref'} = shift if(@_); + return $self->{'display_xref'}; } - -=head2 _get_stable_entry_info +=head2 recalculate_coordinates Args : none Example : none - Description: does the lazy loading for all stable id related information + Description: called when transcript added to the gene + tries to set coords for the gene. Returntype : none Exceptions : none Caller : internal =cut +sub recalculate_coordinates { + my $self = shift; -sub _get_stable_entry_info { - my $self = shift; - - if( !defined $self->adaptor ) { - return undef; - } + my $transcripts = $self->get_all_Transcripts(); - $self->adaptor->get_stable_entry_info($self); + return if(!$transcripts || !@$transcripts); -} + my ( $slice, $start, $end, $strand ); + $slice = $transcripts->[0]->slice(); + $strand = $transcripts->[0]->strand(); + $start = $transcripts->[0]->start(); + $end = $transcripts->[0]->end(); + my $transsplicing = 0; + for my $t ( @$transcripts ) { + if( $t->start() < $start ) { + $start = $t->start(); + } -sub _dump{ - my ($self,$fh) = @_; + if( $t->end() < $end ) { + $end = $t->end(); + } - if( ! $fh ) { - $fh = \*STDOUT; - } + if( $t->slice()->name() ne $slice->name() ) { + throw( "Transcripts with different slices not allowed on one Gene" ); + } - print $fh "Gene ", $self->dbID(), "\n"; - foreach my $t ( @{$self->get_all_Transcripts()} ) { - print $fh " Trans ", $t->dbID(), " :"; - foreach my $e ( @{$t->get_all_Exons} ) { - print $fh " ",$e->dbID(),","; - } - print "\n"; - } + if( $t->strand() != $strand ) { + $transsplicing = 1; + } + } + if( $transsplicing ) { + warning( "Gene contained trans splicing event" ); + } + $self->start( $start ); + $self->end( $end ); + $self->strand( $strand ); + $self->slice( $slice ); } -=head2 transform - Arg 1 : (optional) Bio::EnsEMBL::Slice $slice - Description: when passed a Slice as argument, - it will transform this Gene to the Slice coordinate system. - Without an argument it transforms the Gene (which should be - in a slice) to a RawContig - coordinate system. - The method changes the Gene in place and returns itself. - Returntype : Bio::EnsEMBL::Gene +=head2 display_id + + Arg [1] : none + Example : print $gene->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For genes this is the stable id if + it is available otherwise it is an empty string. + Returntype : string Exceptions : none - Caller : object::methodname or just methodname + Caller : web drawing code =cut - -sub transform { +sub display_id { my $self = shift; - my $slice = shift; + return $self->{'stable_id'} || ''; +} - # hash arrray to store the refs of transformed exons - my %exon_transforms; - # transform Exons - for my $exon ( @{$self->get_all_Exons()} ) { - my $newExon = $exon->transform( $slice ); - $exon_transforms{ $exon } = $newExon; - } - # now need to re-jiggle the transcripts and their - # translations to account for the re-mapping process +########################### +# DEPRECATED METHODS FOLLOW +########################### - foreach my $transcript ( @{$self->get_all_Transcripts()} ) { +=head2 DEPRECATED add_DBLink - # need to grab the translation before starting to - # re-jiggle the exons + Description: DEPRECATED This method has been deprecated in favor of the + add_DBEntry method. Objects are responible for holding only + xrefs directly associated with themselves now. - $transcript->transform( \%exon_transforms ); - } +=cut - #unset the start, end, and strand - they need to be recalculated - $self->{start} = undef; - $self->{end} = undef; - $self->{strand} = undef; - $self->{_chr_name} = undef; - return $self; +sub add_DBLink{ + my ($self,$value) = @_; + + throw("add_DBLink is deprecated. You probably want add_DBEntry."); + +# unless(defined $value && ref $value +# && $value->isa('Bio::Annotation::DBLink') ) { +# throw("This [$value] is not a DBLink"); +# } + +# if( !defined $self->{'_db_link'} ) { +# $self->{'_db_link'} = []; +# } + +# push(@{$self->{'_db_link'}},$value); } -=head2 temporary_id - Title : temporary_id - Usage : $obj->temporary_id($newval) - Function: Temporary ids are used for Genscan predictions - which should probably - be moved over to being stored inside the gene tables anyway. Bio::EnsEMBL::TranscriptFactory use this. - MC Over my dead body they will. Unless you can speed up the database by a couple of orders of magnitude. - Example : - Returns : value of temporary_id - Args : newvalue (optional) +=head2 temporary_id + Function: DEPRECATED: Use dbID or stable_id or something else instead =cut sub temporary_id { my ($obj,$value) = @_; + deprecate( "I cant see what a temporary_id is good for, please use " . + "dbID or stableID or\n try without an id." ); if( defined $value) { $obj->{'temporary_id'} = $value; } return $obj->{'temporary_id'}; - } +=head2 created -=head2 display_xref - - Arg [1] : Bio::EnsEMBL::DBEntry $display_xref - Example : $gene->display_xref($db_entry); - Description: get/set/lazy_loaded display_xref for this gene - Returntype : Bio::EnsEMBL::DBEntry - Exceptions : none - Caller : general + Description: DEPRECATED - Transcripts no longer have a created attribute =cut -sub display_xref { - - my $self = shift; - if( @_ ) { - $self->{'display_xref'} = shift; - } elsif( exists $self->{'display_xref'} ) { - return $self->{'display_xref'}; - } elsif ( defined $self->adaptor() ) { - $self->{'display_xref'} = $self->adaptor->get_display_xref( $self ); +sub created{ + my ($self,$value) = @_; + deprecate( "The created attribute isnt available any more" ); + if(defined $value ) { + $self->{'created'} = $value; } - - return $self->{'display_xref'}; + return $self->{'created'}; } +=head2 modified + Description: DEPRECATED - Transcripts no longer have a modified attribute -=head2 DEPRECATED add_DBLink +=cut - Arg [1] : DEPRECATED Bio::Annotation::DBLink $link - a link is a database entry somewhere else. - Usually this is a Bio::EnsEMBL::DBEntry. - Example : DEPRECATED - Description: This method has been deprecated in favor of the add_DBEntry - method. Objects are responible for holding only xrefs directly - associated with themselves now. - Returntype : none - Exceptions : none - Caller : general +sub modified { + my ($self,$value) = @_; + deprecate( "The modified item isnt available any more" ); + if( defined $value ) { + $self->{'modified'} = $value; + } + return $self->{'modified'}; +} + +=head2 chr_name + + Description: DEPRECATED. Use project, tranform, or transfer to obtain this + gene in another coord system. Use $gene->slice->seq_region_name + to get the name of the underlying coord system. Or + $gene->slice->name(). =cut +sub chr_name { + my $self = shift; -sub add_DBLink{ - my ($self,$value) = @_; + deprecate( "Use project() to obtain other coordinate systems" ); - $self->throw("add_DBLink is deprecated. You probably want add_DBEntry."); + my $gene_slice = $self->slice(); + if( $gene_slice->coord_system()->name eq "chromosome" ) { + return $gene_slice->seq_region_name(); + } -# unless(defined $value && ref $value -# && $value->isa('Bio::Annotation::DBLink') ) { -# $self->throw("This [$value] is not a DBLink"); -# } - -# if( !defined $self->{'_db_link'} ) { -# $self->{'_db_link'} = []; -# } + my $sa = $self->slice->adaptor(); + throw( "need db connection for chr_name call" ) unless $sa; -# push(@{$self->{'_db_link'}},$value); + my $ca = $sa->db()->get_CoordSystemAdaptor(); + my $coord_system = $ca->fetch_by_name( "chromosome" ); + if( ! $coord_system ) { + throw( "Chromosome coordinate system not available" ); + } + my $coords = $self->project( $coord_system ); + + if( @$coords ) { + return $coords->[0]->[2]->seq_region_name(); + } } 1; diff --git a/modules/Bio/EnsEMBL/IdentityXref.pm b/modules/Bio/EnsEMBL/IdentityXref.pm index 9c5874d1be..3fd74954ee 100644 --- a/modules/Bio/EnsEMBL/IdentityXref.pm +++ b/modules/Bio/EnsEMBL/IdentityXref.pm @@ -46,24 +46,10 @@ use strict; sub new { my ($class, @args) = @_; my $self = $class->SUPER::new(@args); - my ($query_identity, $target_identity, $score, $evalue, - $cigar_line, $query_start, $query_end, $translation_start, - $translation_end, $analysis ) = $self->_rearrange( - [qw(QUERY_IDENTITY TARGET_IDENTITY SCORE EVALUE CIGAR_LINE - QUERY_START QUERY_END TRANSLATION_START TRANSLATION_END - ANALYSIS)], @args); - - $self->{'query_identity'} = $query_identity; - $self->{'target_identity'} = $target_identity; - $self->{'score'} = $score; - $self->{'evalue'} = $evalue; - $self->{'cigar_line'} = $cigar_line; - $self->{'query_start'} = $query_start; - $self->{'query_end'} = $query_end; - $self->{'translation_start'} = $translation_start; - $self->{'translation_end'} = $translation_end; - $self->{'analysis'} = $analysis; - + my ($query_identity, $target_identity) = $self->_rearrange( + [qw(QUERY_IDENTITY TARGET_IDENTITY)], @args); + if(defined $query_identity) { $self->query_identity($query_identity); } + if(defined $target_identity) { $self->target_identity($target_identity); } return $self; } @@ -110,294 +96,4 @@ sub target_identity{ } - - -=head2 cigar_line - - Arg [1] : string $cigar_line - Example : none - Description: get/set for attribute cigar_line - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub cigar_line { - my $self = shift; - $self->{'cigar_line'} = shift if( @_ ); - return $self->{'cigar_line'}; -} - - -=head2 translation_start - - Arg [1] : string $translation_start - Example : none - Description: get/set for attribute translation_start - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub translation_start { - my $self = shift; - $self->{'translation_start'} = shift if( @_ ); - return $self->{'translation_start'}; -} - - -=head2 translation_end - - Arg [1] : string $translation_end - Example : none - Description: get/set for attribute translation_end - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub translation_end { - my $self = shift; - $self->{'translation_end'} = shift if( @_ ); - return $self->{'translation_end'}; -} - - -=head2 query_start - - Arg [1] : string $query_start - Example : none - Description: get/set for attribute query_start - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub query_start { - my $self = shift; - $self->{'query_start'} = shift if( @_ ); - return $self->{'query_start'}; -} - - -=head2 query_end - - Arg [1] : string $query_end - Example : none - Description: get/set for attribute query_end - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub query_end { - my $self = shift; - $self->{'query_end'} = shift if( @_ ); - return $self->{'query_end'}; -} - - -=head2 score - - Arg [1] : string $score - Example : none - Description: get/set for attribute score - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub score { - my $self = shift; - $self->{'score'} = shift if( @_ ); - return $self->{'score'}; -} - - -=head2 evalue - - Arg [1] : string $evalue - Example : none - Description: get/set for attribute evalue - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub evalue { - my $self = shift; - $self->{'evalue'} = shift if( @_ ); - return $self->{'evalue'}; -} - - -=head2 analysis - - Arg [1] : Bio::EnsEMBL::Analysis $analysis - Example : none - Description: get/set for attribute analysis - Returntype : Bio::EnsEMBL::Analysis - Exceptions : none - Caller : general - -=cut - -sub analysis { - my $self = shift; - $self->{'analysis'} = shift if( @_ ); - return $self->{'analysis'}; -} - - - - -=head2 get_mapper - - Args : none - Example : none - Description: produces a mapper object that takes coordinates from one side of - the alignment to the other side. "ensembl" and "external" are the - two coordinate systems contained. - Returntype : Bio::EnsEMBL::Mapper - Exceptions : none - Caller : general, ProteinDAS subsystem - -=cut - - -sub get_mapper { - my ( $self ) = @_; - # parse the cigar_line and create a mapper ... - if( exists $self->{'_cached_mapper'} ) { - return $self->{'_cached_mapper'}; - } - - my ( @lens, @chars ); - - # if there is no cigar line, nothing is going to be loaded - if( $self->cigar_line() ) { - my @pre_lens = split( '[DMI]', $self->cigar_line() ); - @lens = map { if( ! $_ ) { 1 } else { $_ }} @pre_lens; - @chars = grep { /[DMI]/ } split( //, $self->cigar_line() ); - } - my $translation_start = $self->translation_start(); - my $translation_end = $self->translation_end(); - my $query_start = $self->query_start(); - my $query_end = $self->query_end(); - - # my $hit_id = $self->display_id(); - my $hit_id = "external_id"; - my $translation_id = "translation_id"; - # now build the mapper - my $mapper = Bio::EnsEMBL::Mapper->new( "ensembl", "external" ); - - - for( my $i=0; $i<=$#lens; $i++ ) { - my $length = $lens[$i]; - my $char = $chars[$i]; - if( $char eq "M" ) { - $mapper->add_map_coordinates( $translation_id, $translation_start, - $translation_start + $length - 1, - 1, $hit_id, $query_start, $query_start + $length - 1 ); - $query_start += $length; - $translation_start += $length; - - } elsif( $char eq "D" ) { - $query_start += $length; - } elsif( $char eq "I" ) { - $translation_start += $length; - } - } - - $self->{'_cached_mapper'} = $mapper; - - return $mapper; -} - - - -=head2 transform_feature - - Arg [1] : a feature type with start and end $feature - This doesnt need to be a Bio::EnsEMBL::Feature as it doesnt - need an attached slice. We may have to introduce an appropriate - object type. - Example : my $ens_prot_feature_list = $ident_xref-> - transform_feature( $swiss_prot_feature ); - Description: a list of potential partial features which represent all mappable places - of the original feature in ensembl translation coordinates. - Returntype : listref of whatever was put in - Exceptions : none - Caller : general, ProteinDAS subsystem - -=cut - - -sub transform_feature { - my $self= shift; - my $feature = shift; - - my $fstart = $feature->start(); - my $fend = $feature->end(); - - my $mapper = $self->get_mapper(); - my @result; - - my @coords = $mapper->map_coordinates( "external_id", $fstart, $fend, 1, "external" ); - - for my $coord ( @coords ) { - if( $coord->isa( "Bio::EnsEMBL::Mapper::Coordinate" )) { - my $new_feature; - %{$new_feature} = %$feature; - bless $new_feature, ref( $feature ); - $new_feature->start( $coord->start() ); - $new_feature->end( $coord->end() ); - - push( @result, $new_feature ); - } - } - - return \@result; -} - - - -=head2 map_feature - - Arg [1] : a start,end capable feature object - Example : none - Description: - Returntype : list of Coordinates/Gaps which represents the mapping - Exceptions : none - Caller : another way of doing ProteinDAS - -=cut - -sub map_feature { - my $self = shift; - my $feature = shift; - - - my $fstart = $feature->start(); - my $fend = $feature->end(); - - my $mapper = $self->get_mapper(); - my @coords = $mapper->map_coordinates( "external_id", $fstart, $fend, 1, "external" ); - - return @coords; -} - - - - - - - 1; diff --git a/modules/Bio/EnsEMBL/KaryotypeBand.pm b/modules/Bio/EnsEMBL/KaryotypeBand.pm index 8d9954f89d..3811182a95 100644 --- a/modules/Bio/EnsEMBL/KaryotypeBand.pm +++ b/modules/Bio/EnsEMBL/KaryotypeBand.pm @@ -1,7 +1,6 @@ # # Ensembl module for Bio::EnsEMBL::DBSQL::KaryotypeBand # -# Cared for by James Stalker <jws@sanger.ac.uk> # # Copyright James Stalker # @@ -15,19 +14,33 @@ Bio::EnsEMBL::DBSQL::KaryotypeBand use Bio::EnsEMBL::KaryotypeBand; -# create and populate a karyotype band -$kb = Bio::EnsEMBL::KaryotyeBand; -$kb->name('q31'); -$kb->chr_name('1'); -$kb->start(1); -$kb->end(1_000_000); -$kb->stain('gpos50'); +# create and populate a karyotype band (normally done by adaptor) +$kb = Bio::EnsEMBL::KaryotyeBand(-START => 1, + -END => 1_000_000, + -SLICE => $chrX_slice, + -NAME => 'q31', + -STAIN => 'gpos50', + -ADAPTOR => $db->get_KaryotypeBandAdaptor, + -DBID => 10); + +#can tranform this band into other coord systems, just like other features +$kb = $kb->transform('supercontig'); + +$start = $kb->start(); +$end = $kb->end(); +$seq_region = $kb->slice->seq_region_name(); + +#karyotypes have internal ids as well +$kary_id = $kb->dbID(); =head1 DESCRIPTION KaryotypeBand objects encapsulate data pertaining to a single karyotype band. -Access these objects through a Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor +Access these objects through a Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor. + +KarytoypeBand inherits from Bio::EnsEMBL::Feature and can be used just as +any other feature can be. =head1 AUTHOR @@ -37,7 +50,7 @@ This modules is part of the Ensembl project http://www.ensembl.org =head1 CONTACT -Post questions to the EnsEMBL developer mailing list <ensembl-dev@ebi.ac.uk> +Post questions to the EnsEMBL developer mailing list <ensembl-dev@ebi.ac.uk> =cut @@ -45,16 +58,30 @@ package Bio::EnsEMBL::KaryotypeBand; use strict; use vars qw(@ISA); -use Bio::EnsEMBL::Root; -@ISA = qw(Bio::EnsEMBL::Root); +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(deprecate warning); + +@ISA = qw(Bio::EnsEMBL::Feature); =head2 new - Arg [1] : none - Example : $kb = Bio::EnsEMBL::KaryotypeBand->new; - Description: Constructor. Creates a new KaryotypeBand object + Arg [NAME] : string (optional) + The name of this band + Arg [STAIN]: string (optional) + The stain of this band + Arg [...] : Arguments passed to superclass constructor. + See Bio::EnsEMBL::Feature + Example : $kb = Bio::EnsEMBL::KaryotypeBand->new(-START => $start, + -END => $end, + -SLICE => $slice, + -NAME => 'q11.21', + -STAIN => 'gneg'); + Description: Constructor. Creates a new KaryotypeBand object, which can be + treated as any other feature object. Note that karyotypes + bands always have strand = 0. Returntype : Bio::EnsEMBL::KarytotypeBand Exceptions : none Caller : Bio::EnsEMBL::KaryotypeBandAdaptor @@ -62,14 +89,17 @@ use Bio::EnsEMBL::Root; =cut sub new { - my ($class) = @_; + my $class = shift; - my $self = {}; - bless $self,$class; + my $self = $class->SUPER::new(@_); - return $self; -} + my ($name, $stain) = rearrange(['NAME','STAIN'],@_); + $self->{'name'} = $name; + $self->{'stain'} = $stain; + $self->{'strand'} = 0; + return $self; +} =head2 name @@ -84,101 +114,107 @@ sub new { =cut sub name{ - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'name'} = $value; - } - return $self->{'name'}; + my $self = shift; + $self->{'name'} = shift if(@_); + return $self->{'name'}; } -=head2 chr_name +=head2 stain - Arg [1] : (optional) string $chr_name - Name of the chromosome this Karyotype band is on - Example : $chr_name = $band->chr_name; - Description: Getter/Setter for the name of the chromosome this band is on + Arg [1] : (optional) string $value + Example : my $band_stain = $band->stain(); + Description: get/set for the band stain (e.g. 'gpos50') Returntype : string - Name of the chromosom this band is on Exceptions : none Caller : general =cut -sub chr_name { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'_chr_name'} = $value; - } - return $self->{'_chr_name'}; +sub stain{ + my $self = shift; + $self->{'stain'} = shift if(@_); + return $self->{'stain'}; } -=head2 start - Arg [1] : (optional) int $newvalue - Example : my $band_start = $band->start(); - Description: get/set for the band start (e.g. 10000) in absolute basepairs - Returntype : int +=head2 strand + + Arg [1] : none + Example : $strand = $qtl_feat->strand(); + Description: Overrides the Feature strand method to always return a + value of 0 for qtl features (they are unstranded features) + Returntype : int (always 0) Exceptions : none Caller : general =cut -sub start{ - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'start'} = $value; - } - return $self->{'start'}; +sub strand { + my $self = shift; + return 0; } +=head2 move -=head2 end - - Arg [1] : (optional) int $value - Example : $band_end = $band->end; - Description: get/set for the band end (e.g. 10000) in absolute basepairs - Returntype : int + Arg [1] : $start - The new end of this band + Arg [2] : $end - The new start of this band + Arg [3] : $strand - ignored always set to 0 + Example : $kb->move(1, 10_000); + Description: Overrides superclass move() method to ensure strand is always 0. + See Bio::EnsEMBL::Feature::move + Returntype : none Exceptions : none Caller : general =cut -sub end{ - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'end'} = $value; - } - return $self->{'end'}; +sub move { + my ($self, $start, $end, $strand) = @_; + + #maintain a strandedness of 0 + return $self->SUPER::move($start,$end,0); } +=head2 display_id -=head2 stain - - Arg [1] : (optional) string $value - Example : my $band_stain = $band->stain(); - Description: get/set for the band stain (e.g. 'gpos50') - Returntype : string + Arg [1] : none + Example : print $kb->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For karyotype bands this is the + name of the karyotype band or '' if no name is defined. + Returntype : string Exceptions : none - Caller : general + Caller : web drawing code =cut -sub stain{ - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'stain'} = $value; - } - return $self->{'stain'}; +sub display_id { + my $self = shift; + return $self->{'name'} || ''; +} + + +=head2 chr_name + + Description: DEPRECATED - use $kary_band->slice()->seq_region_name() instead + +=cut + +sub chr_name { + my $self = shift; + + deprecate('Use $kary_band->slice()->seq_region_name() instead.'); + if(!$self->slice) { + warning('KaryotypeBand does not have Slice - cannot get seq_region_name.'); + return ''; + } + + return $self->slice->seq_region_name(); } diff --git a/modules/Bio/EnsEMBL/Lite/DensityPlot/DensityAdaptor.pm b/modules/Bio/EnsEMBL/Lite/DensityPlot/DensityAdaptor.pm index 5c8c118b96..0fd7af58e3 100644 --- a/modules/Bio/EnsEMBL/Lite/DensityPlot/DensityAdaptor.pm +++ b/modules/Bio/EnsEMBL/Lite/DensityPlot/DensityAdaptor.pm @@ -12,9 +12,10 @@ DensityAdaptor =head1 SYNOPSIS my $obj= Bio::EnsEMBL::DBSQL::Obj->new(-dbname=>'ens08',-user=>'ensadmin',-host=>'ensrv5'); + my $da= Bio::EnsEMBL::DBSQL::DensityAdaptor->new($obj); + my $binvalueset = $da->get_density_per_chromosome_type('1','gene'); -my $max_density = $da->get_max_density_per_chromosome('1'); =head1 DESCRIPTION @@ -48,10 +49,14 @@ use Bio::EnsEMBL::DensityPlot::BinValueSet; =cut -sub get_density_per_chromosome_type { - my ($self,$chromosome,$type) = @_; +sub get_density_per_chromosome_type +{ + + my ($self,$chromosome,$type)=@_; + $self->throw("I need a chromosome") unless defined $chromosome; $self->throw("I need a type") unless defined $type; + my $chr_adaptor = $self->db->get_ChromosomeAdaptor(); my $chr_id = $chr_adaptor->fetch_by_chr_name($chromosome)->dbID(); @@ -67,6 +72,7 @@ sub get_density_per_chromosome_type { my $res = $sth->execute(); my ($chr_start,$chr_end,$value); + $sth->bind_columns(undef,\$chr_start,\$chr_end,\$value); my $valueset = new Bio::EnsEMBL::DensityPlot::BinValueSet; @@ -81,45 +87,4 @@ sub get_density_per_chromosome_type { return $valueset; } -=head2 get_max_density_per_chromosome - - Arg [1] : string $chr - the chromomsome to get the max. density from - Arg [2] : arrayref $ignore_types - types in map_density to ignore in max. count - Example : my $max_density = $densityAdaptor->get_max_density_per_chromosome('1'); - Description: Get the max. density from a chromosome - Returntype : int - Exceptions : thrown if no chromosome is passed or if no density data is - returned from db - Caller : general - -=cut - -sub get_max_density_per_chromosome { - my ($self, $chr, $ignore_types) = @_; - $self->throw("I need a chromosome") unless defined $chr; - unless (defined($self->{'_max_density'})) { - $self->{'_max_density'} = {}; - } - unless ($self->{'_max_density'}->{$chr}) { - my $chr_adaptor = $self->db->get_ChromosomeAdaptor(); - my $chr_id = $chr_adaptor->fetch_by_chr_name($chr)->dbID(); - - my $query = "SELECT MAX(value) - FROM map_density - WHERE chromosome_id = '$chr_id'"; - if ($ignore_types) { - my $ignore_str = join("', '", @{$ignore_types}); - $query .= " AND type NOT IN ('" . $ignore_str . "')"; - } - my $sth = $self->db->prepare($query); - $sth->execute(); - ($self->{'_max_density'}->{$chr}) = $sth->fetchrow_array() - or $self->throw("No density data available for chromosome $chr"); - } - return $self->{'_max_density'}->{$chr}; -} - 1; - diff --git a/modules/Bio/EnsEMBL/Lite/GeneAdaptor.pm b/modules/Bio/EnsEMBL/Lite/GeneAdaptor.pm index 2729ff32c0..e818a68668 100644 --- a/modules/Bio/EnsEMBL/Lite/GeneAdaptor.pm +++ b/modules/Bio/EnsEMBL/Lite/GeneAdaptor.pm @@ -71,6 +71,8 @@ sub new { return $self; } + + =head2 fetch_all_by_gene_id_list Arg [1] : arrayref $gene_ids @@ -167,7 +169,7 @@ sub fetch_by_gene_id_list { sub fetch_all_by_Slice { my ( $self, $slice, $logic_name, $empty_flag ) = @_; - my $key = $slice->name . (defined ($logic_name) ? ":$logic_name" : ""); + my $key = $slice->name . ":$logic_name"; if($empty_flag) { # return from cache or the _get_empty_Genes fn while caching results.... @@ -244,7 +246,6 @@ sub fetch_by_DBEntry { sub fetch_by_stable_id { my ($self, $stable_id, $chr_coords) = @_; - #warn( "~~~~~~~~~~~~~~" ); my $core_db_adaptor = $self->db->get_db_adaptor('core'); my $sth = $self->prepare diff --git a/modules/Bio/EnsEMBL/Lite/SNPAdaptor.pm b/modules/Bio/EnsEMBL/Lite/SNPAdaptor.pm index ec68696b67..168fb3cb45 100644 --- a/modules/Bio/EnsEMBL/Lite/SNPAdaptor.pm +++ b/modules/Bio/EnsEMBL/Lite/SNPAdaptor.pm @@ -84,9 +84,6 @@ sub fetch_all_by_Slice { } #create a snp object through a fast (hacky) constructor - my $STATUS = $arrayref->[6]; - $STATUS =~s/-/ /; - $STATUS = $STATUS eq 'no info' ? 'suspected' : "proven $STATUS"; my $snp = Bio::EnsEMBL::SNP->new_fast( { 'dbID' => $arrayref->[0], '_gsf_start' => $arrayref->[1] - $slice_start + 1, @@ -96,12 +93,10 @@ sub fetch_all_by_Slice { '_type' => $arrayref->[4], '_range_type' => $arrayref->[5], '_validated' => $arrayref->[6], - 'status' => $STATUS, 'alleles' => $arrayref->[7], '_ambiguity_code' => $arrayref->[10], '_snpclass' => $arrayref->[8], '_mapweight' => $arrayref->[9], - '_source' => $arrayref->[11], '_source_tag' => $arrayref->[11], 'link' => \@links }); push @snps, $snp; diff --git a/modules/Bio/EnsEMBL/Map/DBSQL/MarkerAdaptor.pm b/modules/Bio/EnsEMBL/Map/DBSQL/MarkerAdaptor.pm index 345ce5e43d..0420a13bd8 100644 --- a/modules/Bio/EnsEMBL/Map/DBSQL/MarkerAdaptor.pm +++ b/modules/Bio/EnsEMBL/Map/DBSQL/MarkerAdaptor.pm @@ -65,8 +65,8 @@ sub fetch_all { my( $marker_id, $priority, $left_primer, $right_primer, $type, $min_pdist, $max_pdist, $ms_id, $ms_name, $ms_src); - $sth->bind_columns(\$marker_id, \$priority, \$left_primer, - \$right_primer, \$type, \$min_pdist, \$max_pdist, + $sth->bind_columns(\$marker_id, \$priority, + \$left_primer, \$right_primer, \$type, \$min_pdist, \$max_pdist, \$ms_id, \$ms_name, \$ms_src); my @out; @@ -243,17 +243,17 @@ sub fetch_attributes { while($sth->fetch) { push @syns, Bio::EnsEMBL::Map::MarkerSynonym->new($ms_id,$ms_src,$ms_name); - } + } $sth->finish; $marker->add_MarkerSynonyms(@syns) if(@syns); - + # # Now retrieve map locations for this marker # $marker->flush_MapLocations; - - $sth = $self->prepare("SELECT mloc.chromosome_id, mloc.position, + + $sth = $self->prepare("SELECT mloc.chromosome_name, mloc.position, mloc.lod_score, map.map_name, ms.name FROM marker_map_location mloc, map map, marker_synonym ms @@ -261,24 +261,16 @@ sub fetch_attributes { AND map.map_id = mloc.map_id AND ms.marker_synonym_id = mloc.marker_synonym_id"); - my($chr_id, $pos, $lod, $mname, $name); + my($chr_name, $pos, $lod, $mname, $name); my @mlocs; $sth->execute($m_id); - $sth->bind_columns(\$chr_id, \$pos, \$lod, \$mname, \$name); + $sth->bind_columns(\$chr_name, \$pos, \$lod, \$mname, \$name); - my %chr_cache; - my $chr_adaptor = $self->db->get_ChromosomeAdaptor; while($sth->fetch) { - my $chr; - unless($chr = $chr_cache{$chr_id}) { - $chr = $chr_adaptor->fetch_by_dbID($chr_id); - $chr_cache{$chr_id} = $chr; - } - - push(@mlocs, - Bio::EnsEMBL::Map::MapLocation->new($name,$mname, $chr,$pos,$lod)); + push(@mlocs, Bio::EnsEMBL::Map::MapLocation->new($name, $mname, + $chr_name,$pos,$lod)); } $sth->finish; diff --git a/modules/Bio/EnsEMBL/Map/DBSQL/MarkerFeatureAdaptor.pm b/modules/Bio/EnsEMBL/Map/DBSQL/MarkerFeatureAdaptor.pm index 9636ac5970..2714aa24a6 100644 --- a/modules/Bio/EnsEMBL/Map/DBSQL/MarkerFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/Map/DBSQL/MarkerFeatureAdaptor.pm @@ -34,6 +34,8 @@ use Bio::EnsEMBL::Map::Marker; use Bio::EnsEMBL::Map::MarkerSynonym; use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); + use vars qw(@ISA); @ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor); @@ -54,9 +56,9 @@ use vars qw(@ISA); sub fetch_all_by_Marker { my $self = shift; my $marker = shift; - + my $constraint = 'm.marker_id = ' . $marker->dbID; - + return $self->generic_fetch($constraint, @_); } @@ -100,69 +102,48 @@ sub fetch_all_by_Slice_and_priority { =head2 fetch_all_by_RawContig_and_priority - Arg [1] : Bio::EnsEMBL::RawContig $contig - Arg [2] : (optional) int $priority - Arg [3] : (optional) string $logic_name - Example : @feats = @{$mfa->fetch_all_by_RawContig_and_priority($ctg, 80)}; - Description: Retrieves all marker features above a specified threshold - priority which overlap the provided slice. - Returntype : listref of Bio::EnsEMBL::Map::MarkerFeatures in contig coords - Exceptions : none - Caller : general + Description: DEPRECATED use fetch_all_by_Slice_and_priority instead =cut sub fetch_all_by_RawContig_and_priority { - my ($self, $contig, $priority, @args) = @_; - - my $constraint; - if(defined $priority) { - $constraint = "m.priority > $priority"; - } - - return $self->fetch_all_by_RawContig_constraint($contig, $constraint, @args); + deprecate('Use fetch_all_by_Slice_and_priority() instead.'); + fetch_all_by_Slice_and_priority(@_); } - -sub fetch_all_by_RawContig_and_score { - my $self = shift; - $self->throw('fetch_all_by_RawContig_and_score should not be used to fetch' . - ' marker features'); -} - sub fetch_all_by_Slice_and_score { my $self = shift; - $self->throw('fetch_all_by_Slice_and_score should not be used to fetch' . - ' marker_features'); + throw('fetch_all_by_Slice_and_score should not be' . + 'used to fetch marker_features'); } sub _columns { my $self = shift; - return ('mf.marker_feature_id', 'mf.marker_id', - 'mf.contig_id', 'mf.contig_start', 'mf.contig_end', - 'mf.analysis_id', 'mf.map_weight', - 'm.left_primer', 'm.right_primer', 'm.min_primer_dist', - 'm.max_primer_dist', 'm.priority', 'm.type', 'ms.marker_synonym_id', - 'ms.name', 'ms.source'); + return ('mf.marker_feature_id', 'mf.marker_id', + 'mf.seq_region_id', 'mf.seq_region_start', 'mf.seq_region_end', + 'mf.analysis_id', 'mf.map_weight', + 'm.left_primer', 'm.right_primer', 'm.min_primer_dist', + 'm.max_primer_dist', 'm.priority', 'm.type', 'ms.marker_synonym_id', + 'ms.name', 'ms.source'); } sub _tables { my $self = shift; return (['marker_feature', 'mf'], #primary table - ['marker', 'm'], - ['marker_synonym', 'ms']); + ['marker', 'm'], + ['marker_synonym', 'ms']); } sub _left_join { my $self = shift; - return ('marker_synonym', - 'ON m.display_marker_synonym_id = ms.marker_synonym_id'); + return ( [ 'marker_synonym', + 'm.display_marker_synonym_id = ms.marker_synonym_id' ] ); } - + sub _default_where_clause { my $self = shift; @@ -170,18 +151,17 @@ sub _default_where_clause { } sub _objs_from_sth { - my $self = shift; - my $sth = shift; + my ($self, $sth, $mapper, $dest_slice) = @_; my ($marker_feature_id, $marker_id, - $contig_id, $contig_start, $contig_end, + $seq_region_id, $seq_region_start, $seq_region_end, $analysis_id, $map_weight, - $left_primer, $right_primer, $min_primer_dist, $max_primer_dist, + $left_primer, $right_primer, $min_primer_dist, $max_primer_dist, $priority, $type, $ms_id, $ms_name, $ms_source); #warning: ordering depends on _columns function implementation - $sth->bind_columns(\$marker_feature_id, \$marker_id, - \$contig_id, \$contig_start, \$contig_end, + $sth->bind_columns(\$marker_feature_id, \$marker_id, + \$seq_region_id, \$seq_region_start, \$seq_region_end, \$analysis_id, \$map_weight, \$left_primer, \$right_primer, \$min_primer_dist, \$max_primer_dist, \$priority, \$type, \$ms_id, \$ms_name, \$ms_source); @@ -189,47 +169,130 @@ sub _objs_from_sth { my @out = (); my %marker_cache; - my %contig_cache; + my %slice_hash; + my %sr_name_hash; + my %sr_cs_hash; my %analysis_cache; my $marker_adp = $self->db->get_MarkerAdaptor; - while($sth->fetch) { + my $sa = $self->db->get_SliceAdaptor; + my $analysis_adp = $self->db->get_AnalysisAdaptor; + + my $asm_cs; + my $cmp_cs; + my $asm_cs_vers; + my $asm_cs_name; + my $cmp_cs_vers; + my $cmp_cs_name; + if($mapper) { + $asm_cs = $mapper->assembled_CoordSystem(); + $cmp_cs = $mapper->component_CoordSystem(); + $asm_cs_name = $asm_cs->name(); + $asm_cs_vers = $asm_cs->version(); + $cmp_cs_name = $cmp_cs->name(); + $cmp_cs_vers = $cmp_cs->version(); + } + my $dest_slice_start; + my $dest_slice_end; + my $dest_slice_strand; + my $dest_slice_length; + if($dest_slice) { + $dest_slice_start = $dest_slice->start(); + $dest_slice_end = $dest_slice->end(); + $dest_slice_strand = $dest_slice->strand(); + $dest_slice_length = $dest_slice->length(); + } + + FEATURE: while($sth->fetch) { #create a new marker unless this one has been seen already my $marker; - unless($marker = $marker_cache{$marker_id}) { + if(!($marker = $marker_cache{$marker_id})) { #create a new marker synonym for the display synonym (if defined) my $ms; if($ms_id) { - $ms = Bio::EnsEMBL::Map::MarkerSynonym->new - ($ms_id, $ms_source, $ms_name); + $ms = Bio::EnsEMBL::Map::MarkerSynonym->new + ($ms_id, $ms_source, $ms_name); } #create a new marker $marker = Bio::EnsEMBL::Map::Marker->new - ($marker_id, $marker_adp, - $left_primer, $right_primer, $min_primer_dist, $max_primer_dist, - $priority, $type, $ms); + ($marker_id, $marker_adp, + $left_primer, $right_primer, $min_primer_dist, $max_primer_dist, + $priority, $type, $ms); $marker_cache{$marker_id} = $marker; } - #retrieve the contig from the database - my $contig; - unless($contig = $contig_cache{$contig_id}) { - $contig = $self->db->get_RawContigAdaptor->fetch_by_dbID($contig_id); - $contig_cache{$contig_id} = $contig; + #get the slice object + my $slice = $slice_hash{"ID:".$seq_region_id}; + + if(!$slice) { + $slice = $sa->fetch_by_seq_region_id($seq_region_id); + $slice_hash{"ID:".$seq_region_id} = $slice; + $sr_name_hash{$seq_region_id} = $slice->seq_region_name(); + $sr_cs_hash{$seq_region_id} = $slice->coord_system(); } #retrieve analysis my $analysis; unless($analysis = $analysis_cache{$analysis_id}) { - $analysis = $self->db->get_AnalysisAdaptor->fetch_by_dbID($analysis_id); + $analysis = $analysis_adp->fetch_by_dbID($analysis_id); $analysis_cache{$analysis_id} = $analysis; } + # + # remap the feature coordinates to another coord system + # if a mapper was provided + # + if($mapper) { + my $sr_name = $sr_name_hash{$seq_region_id}; + my $sr_cs = $sr_cs_hash{$seq_region_id}; + + ($sr_name,$seq_region_start,$seq_region_end) = + $mapper->fastmap($sr_name, $seq_region_start, $seq_region_end, + 0, $sr_cs); + + #skip features that map to gaps or coord system boundaries + next FEATURE if(!defined($sr_name)); + + #get a slice in the coord system we just mapped to + if($asm_cs == $sr_cs || ($cmp_cs != $sr_cs && $asm_cs->equals($sr_cs))) { + $slice = $slice_hash{"NAME:$sr_name:$cmp_cs_name:$cmp_cs_vers"} ||= + $sa->fetch_by_region($cmp_cs_name, $sr_name,undef, undef, undef, + $cmp_cs_vers); + } else { + $slice = $slice_hash{"NAME:$sr_name:$asm_cs_name:$asm_cs_vers"} ||= + $sa->fetch_by_region($asm_cs_name, $sr_name, undef, undef, undef, + $asm_cs_vers); + } + } + + # + # If a destination slice was provided convert the coords + # If the dest_slice starts at 1 and is foward strand, nothing needs doing + # + if($dest_slice) { + if($dest_slice_start != 1 || $dest_slice_strand != 1) { + if($dest_slice_strand == 1) { + $seq_region_start = $seq_region_start - $dest_slice_start + 1; + $seq_region_end = $seq_region_end - $dest_slice_start + 1; + } else { + my $tmp_seq_region_start = $seq_region_start; + $seq_region_start = $dest_slice_end - $seq_region_end + 1; + $seq_region_end = $dest_slice_end - $tmp_seq_region_start + 1; + } + + #throw away features off the end of the requested slice + if($seq_region_end < 1 || $seq_region_start > $dest_slice_length) { + next FEATURE; + } + } + $slice = $dest_slice; + } + #now create a new marker_feature using the marker push @out, Bio::EnsEMBL::Map::MarkerFeature->new - ($marker_feature_id, $self, - $contig_start, $contig_end, $contig, + ($marker_feature_id, $self, + $seq_region_start, $seq_region_end, $slice, $analysis, $marker_id, $map_weight, $marker); } @@ -256,74 +319,61 @@ sub _objs_from_sth { sub store { my ($self, @mfs) = @_; + my $analysis_adaptor = $self->db->get_AnalysisAdaptor(); + foreach my $mf (@mfs) { # # Sanity checking! # - unless($mf && ref $mf && $mf->isa('Bio::EnsEMBL::Map::MarkerFeature')) { + if(!ref($mf) || !$mf->isa('Bio::EnsEMBL::Map::MarkerFeature')) { $self->throw('Incorrect argument [$mf] to store. Expected ' . - 'Bio::EnsEMBL::Map::MarkerFeature'); - } - - #don't store this feature if it has already been stored - next if($mf->adaptor && ($mf->adaptor == $self)); - - my $marker = $mf->marker; - - unless($marker && ref $marker && - $marker->isa('Bio::EnsEMBL::Map::Marker')) { - $self->throw('Cannot store MarkerFeature without an associated Marker'); + 'Bio::EnsEMBL::Map::MarkerFeature'); } - my $marker_id = $marker->dbID; - unless($marker_id) { - $self->throw('Associated marker must have dbID to store MarkerFeature'); + #don't store this feature if it has already been stored + if($mf->is_stored($self->db())) { + warning('MarkerFeature ['.$mf->dbID.'] is already stored in this DB.'); } + my $marker = $mf->marker; - my $analysis = $mf->analysis; - - unless($analysis && ref $analysis && - $analysis->isa('Bio::EnsEMBL::Analysis')) { - $self->throw('Cannot store MarkerFeature without associated Analysis'); + if(!$marker || !ref($marker) || + !$marker->isa('Bio::EnsEMBL::Map::Marker')) { + throw('Cannot store MarkerFeature without an associated Marker'); } - my $analysis_id = $analysis->dbID; - - unless($analysis_id) { - $self->throw('Associated analysis must have dbID to store MarkerFeature'); + my $marker_id = $marker->dbID; + if(!$marker_id) { + throw('Associated marker must have dbID to store MarkerFeature'); } - my $contig = $mf->contig; + my $analysis = $mf->analysis; - unless($contig && ref $contig && $contig->isa('Bio::EnsEMBL::RawContig')) { - $self->throw('Cannot store MarkerFeature that is not in contig coords'); + #store the analysis if it has not been stored yet + if(!$analysis->is_stored($self->db())) { + $analysis_adaptor->store($mf->analysis()); } - - my $contig_id = $contig->dbID; - unless($contig_id) { - $self->throw('Attached contig must have dbID to store MarkerFeature'); - } + my $analysis_id = $analysis->dbID; - # - # Everything looks ok so store - # + my $original = $mf; + my $seq_region_id; + ($mf, $seq_region_id) = $self->_pre_store($mf); - my $sth = + my $sth = $self->prepare("INSERT INTO marker_feature (marker_id, - contig_id, contig_start, contig_end, + seq_region_id, seq_region_start, seq_region_end, analysis_id, map_weight) - VALUES (?, ?, ?, ?, ?, ?)"); - $sth->execute($marker_id, - $contig_id, $mf->start, $mf->end, - $analysis_id, 0); + VALUES (?, ?, ?, ?, ?, ?)"); + $sth->execute($marker_id, + $seq_region_id, $mf->start, $mf->end, + $analysis_id, 0); my $dbID = $sth->{'mysql_insertid'}; - - $mf->dbID($dbID); - $mf->adaptor($self); + + $original->dbID($dbID); + $original->adaptor($self); } } diff --git a/modules/Bio/EnsEMBL/Map/DBSQL/QtlFeatureAdaptor.pm b/modules/Bio/EnsEMBL/Map/DBSQL/QtlFeatureAdaptor.pm index c7e304db61..5a7ae5e285 100644 --- a/modules/Bio/EnsEMBL/Map/DBSQL/QtlFeatureAdaptor.pm +++ b/modules/Bio/EnsEMBL/Map/DBSQL/QtlFeatureAdaptor.pm @@ -53,9 +53,9 @@ use vars qw(@ISA); sub fetch_all_by_Qtl { my $self = shift; my $qtl = shift; - + my $constraint = 'q.qtl_id = ' . $qtl->dbID; - + return $self->generic_fetch($constraint, @_); } @@ -65,68 +65,71 @@ sub fetch_all_by_Qtl { sub _columns { my $self = shift; - return ( 'c.name', 'qf.start', 'qf.end', 'q.qtl_id', 'qf.analysis_id', - 'qs.source_database', 'qs.source_primary_id', - 'q.trait', 'q.lod_score', 'q.flank_marker_id_1', - 'q.flank_marker_id_2', 'q.peak_marker_id' ); + return ( 'qf.seq_region_id', 'qf.seq_region_start', 'qf.seq_region_end', + 'q.qtl_id', + 'qf.analysis_id', + 'qs.source_database', 'qs.source_primary_id', + 'q.trait', 'q.lod_score', 'q.flank_marker_id_1', + 'q.flank_marker_id_2', 'q.peak_marker_id' ); } sub _tables { my $self = shift; return (['qtl_feature', 'qf'], #primary table - ['qtl', 'q'], - ['chromosome' ,'c' ], + ['qtl', 'q'], ['qtl_synonym', 'qs']); } sub _left_join { - return ('qtl_synonym', 'ON q.qtl_id = qs.qtl_id'); + return ( [ 'qtl_synonym', 'q.qtl_id = qs.qtl_id' ] ); } - + sub _default_where_clause { my $self = shift; - return ('qf.qtl_id = q.qtl_id AND qf.chromosome_id = c.chromosome_id'); + return ('qf.qtl_id = q.qtl_id'); } sub _objs_from_sth { my $self = shift; my $sth = shift; - my $mapper = shift; - my $slice = shift; # optional Slice - - - my ( $chromosome_name, $chr_start, $chr_end, $qtl_id, $analysis_id, - $source_database, + my ( $seq_region_id, $seq_region_start, $seq_region_end, $qtl_id, + $analysis_id, $source_database, $source_primary_id, $trait, $lod_score, $flank_marker_id_1, $flank_marker_id_2, $peak_marker_id ); #warning: ordering depends on _columns function implementation - $sth->bind_columns( \$chromosome_name, \$chr_start, \$chr_end, \$qtl_id, - \$analysis_id, - \$source_database, \$source_primary_id, \$trait, - \$lod_score, \$flank_marker_id_1, - \$flank_marker_id_2, \$peak_marker_id ); + $sth->bind_columns( \$seq_region_id, \$seq_region_start, \$seq_region_end, + \$qtl_id, \$analysis_id, + \$source_database, \$source_primary_id, \$trait, + \$lod_score, \$flank_marker_id_1, + \$flank_marker_id_2, \$peak_marker_id ); my @out = (); my %already_seen; + + my $mad = $self->db()->get_MarkerAdaptor(); + my $aad = $self->db()->get_AnalysisAdaptor(); + my $sad = $self->db()->get_SliceAdaptor(); + while( $sth->fetch()) { - my $mad = $self->db()->get_MarkerAdaptor(); + my $flank_marker_1 = $flank_marker_id_1 ? + $mad->fetch_by_dbID( $flank_marker_id_1 ) : + undef; + my $flank_marker_2 = $flank_marker_id_2 ? + $mad->fetch_by_dbID( $flank_marker_id_2 ) : + undef; + my $peak_marker = $peak_marker_id ? + $mad->fetch_by_dbID( $peak_marker_id ) : + undef; - my $flank_marker_1 = $flank_marker_id_1 ? $mad->fetch_by_dbID( $flank_marker_id_1 ) : undef; - my $flank_marker_2 = $flank_marker_id_2 ? $mad->fetch_by_dbID( $flank_marker_id_2 ) : undef; - my $peak_marker = $peak_marker_id ? $mad->fetch_by_dbID( $peak_marker_id ) : undef; - - my $analysis = $self->db()->get_AnalysisAdaptor()->fetch_by_dbID( $analysis_id ); + my $analysis = $aad->fetch_by_dbID( $analysis_id ); - if( ! $slice ) { - $slice = $self->db->get_SliceAdaptor()-> - fetch_by_chr_name( $chromosome_name ); - } + my $slice = $sad->fetch_by_seq_region_id($seq_region_id); #rows with the same qtl contain additional synonyms of the qtl if(my $qtl = $already_seen{$qtl_id}) { @@ -147,95 +150,19 @@ sub _objs_from_sth { ); $already_seen{$qtl_id} = $qtl; - + #now create a new marker_feature using the marker - if( $slice->strand == 1 ) { - push @out, Bio::EnsEMBL::Map::QtlFeature->new - ( - $self, - $slice, - $chr_start - $slice->chr_start() + 1, - $chr_end - $slice->chr_start() + 1, - $qtl, - $analysis - ); - } else { - push @out, Bio::EnsEMBL::Map::QtlFeature->new - ( - $self, - $slice, - $slice->chr_end() - $chr_end + 1, - $slice->chr_end() - $chr_start + 1, - $qtl, - $analysis - ); - } + push @out, Bio::EnsEMBL::Map::QtlFeature->new + ($self, + $slice, + $seq_region_start, + $seq_region_end, + $qtl, + $analysis); } return \@out; } -=head2 fetch_all_by_Slice_constraint - - Arg [1] : Bio::EnsEMBL::Slice $slice - the slice from which to obtain features - Arg [2] : (optional) string $constraint - An SQL query constraint (i.e. part of the WHERE clause) - Arg [3] : (optional) string $logic_name - the logic name of the type of features to obtain - Example : $fs = $a->fetch_all_by_Slice_constraint($slc, 'perc_ident > 5'); - Description: Returns a listref of features created from the database which - are on the Slice defined by $slice and fulfill the SQL - constraint defined by $constraint. If logic name is defined, - only features with an analysis of type $logic_name will be - returned. - Returntype : listref of Bio::EnsEMBL::SeqFeatures in Slice coordinates - Exceptions : thrown if $slice is not defined - Caller : Bio::EnsEMBL::Slice - -=cut - -sub fetch_all_by_Slice_constraint { - my($self, $slice, $constraint, $logic_name) = @_; - - unless(defined $slice && ref $slice && $slice->isa("Bio::EnsEMBL::Slice")) { - $self->throw("Slice arg must be a Bio::EnsEMBL::Slice not a [$slice]\n"); - } - - $logic_name = '' unless $logic_name; - $constraint = '' unless $constraint; - - #check the cache and return if we have already done this query - my $key = join($slice->name, $constraint, $logic_name); - return $self->{'_slice_feature_cache'}{$key} - if $self->{'_slice_feature_cache'}{$key}; - - my $slice_start = $slice->chr_start(); - my $slice_end = $slice->chr_end(); - - #get the synonym of the primary_table - my @tabs = $self->_tables; - my $syn = $tabs[0]->[1]; - - my $chromosome_id = $slice->get_Chromosome->dbID(); - - $constraint .= ' AND ' if($constraint); - - $constraint .= " ${syn}.chromosome_id = $chromosome_id " . - "AND ${syn}.end >= $slice_start AND ${syn}.start <= $slice_end"; - - #for speed the remapping to slice may be done at the time of object creation - my $features = - $self->generic_fetch($constraint, $logic_name, undef, $slice); - - if(@$features && (!$features->[0]->can('contig') || - $features->[0]->contig == $slice)) { - #features have been converted to slice coords already, cache and return - return $self->{'_slice_feature_cache'}{$key} = $features; - } -} - - - 1; diff --git a/modules/Bio/EnsEMBL/Map/MapLocation.pm b/modules/Bio/EnsEMBL/Map/MapLocation.pm index e6f2795751..af8d38844c 100644 --- a/modules/Bio/EnsEMBL/Map/MapLocation.pm +++ b/modules/Bio/EnsEMBL/Map/MapLocation.pm @@ -27,6 +27,7 @@ use strict; use vars qw(@ISA); use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); @ISA = qw(Bio::EnsEMBL::Root); @@ -35,14 +36,14 @@ use Bio::EnsEMBL::Root; Arg [1] : (optional) string $name Arg [2] : (optional) string $map_name - Arg [3] : (optional) Bio::EnsEMBL::Chromosome $chromosome + Arg [3] : (optional) string $chromosome_name Arg [4] : (optional) string $position Arg [5] : (optional) float $lod_score Example : $map_location = Bio::EnsEMBL::Map::MapLocation('DS1234', - 'genethon', - $chr, - '12.39', - 50.12); + 'genethon', + 'X', + '12.39', + 50.12); Description: Creates a new MapLocation Returntype : Bio::EnsEMBL::Map::MapLocation Exceptions : none @@ -51,15 +52,15 @@ use Bio::EnsEMBL::Root; =cut sub new { - my ($caller, $name, $map_name, $chromosome, $position, $lod_score) = @_; + my ($caller, $name, $map_name, $chromosome_name, $position, $lod_score) = @_; my $class = ref($caller) || $caller; - return bless( {'map_name' => $map_name, - 'name' => $name, - 'chromosome' => $chromosome, - 'position' => $position, - 'lod_score' => $lod_score}, $class ); + return bless( {'map_name' => $map_name, + 'name' => $name, + 'chromosome_name' => $chromosome_name, + 'position' => $position, + 'lod_score' => $lod_score}, $class ); } @@ -68,20 +69,16 @@ sub new { Arg [1] : string $map_name Example : $map_name = $map_location->map_name; - Description: Retrieves the map_name - Returntype : - Exceptions : - Caller : + Description: Getter/Setter for the map name + Returntype : string + Exceptions : none + Caller : general =cut sub map_name { my $self = shift; - - if(@_) { - $self->{'map_name'} = shift; - } - + $self->{'map_name'} = shift if(@_); return $self->{'map_name'}; } @@ -93,7 +90,7 @@ sub map_name { Example : $name = $map_location->name; Description: A name associated with the marker at this position. For example if this is a genethon map location the name will be - the synonym of source genethon. + the synonym of source genethon. Returntype : string Exceptions : none Caller : general @@ -102,39 +99,27 @@ sub map_name { sub name { my $self = shift; - - if(@_) { - $self->{'name'} = shift; - } - - return $self->{'name'}; + $self->{'name'} = shift if(@_); + return $self->{'name'}; } -=head2 chromosome +=head2 chromosome_name - Arg [1] : (optional) Bio::EnsEMBL::Chromosome - Example : $chr = $map_location->chromosome; - Description: Getter/Setter for the chromosome of this map location - Returntype : Bio::EnsEMBL::Chromosome - Exceptions : thrown if an invalid arg is passed + Arg [1] : (optional) string $chromosome_name + Example : $chr_name = $map_location->chromosome_name; + $map_location->chromosome_name('X'); + Description: The name of the chromosome associated with this map location + Returntype : string + Exceptions : none Caller : general =cut -sub chromosome { +sub chromosome_name{ my $self = shift; - - if(@_) { - my $chr = shift; - if($chr && !(ref($chr) && $chr->isa('Bio::EnsEMBL::Chromosome'))) { - $self->throw("arg must be a Bio::EnsEMBL::Chromosome not [$chr]"); - } - - $self->{'chromosome'} = $chr; - } - - return $self->{'chromosome'}; + $self->{'chromosome_name'} = shift if(@_); + return $self->{'chromosome_name'}; } @@ -152,11 +137,7 @@ sub chromosome { sub position { my $self = shift; - - if(@_) { - $self->{'position'} = shift; - } - + $self->{'position'} = shift if(@_); return $self->{'position'}; } @@ -175,13 +156,37 @@ sub position { sub lod_score { my $self = shift; + $self->{'lod_score'} = shift if(@_); + return $self->{'lod_score'}; +} + + + +=head2 chromosome + + Description: DEPRECATED use chromosome_name() instead + +=cut + +sub chromosome { + my $self = shift; + deprecate('use chromosome_name instead'); if(@_) { - $self->{'lod_score'} = shift; + my $chr = shift; + if(ref($chr)) { + $self->chromosome_name($chr->seq_region_name()); + } else { + $self->chromosome_name($chr); + } } - return $self->{'lod_score'}; + #this object has no way to talk to db and thus no way to + #get a chromosome object + return $self->chromosome_name(); } + + 1; diff --git a/modules/Bio/EnsEMBL/Map/Marker.pm b/modules/Bio/EnsEMBL/Map/Marker.pm index e52192e786..4749b6414c 100644 --- a/modules/Bio/EnsEMBL/Map/Marker.pm +++ b/modules/Bio/EnsEMBL/Map/Marker.pm @@ -27,9 +27,10 @@ package Bio::EnsEMBL::Map::Marker; use strict; use vars qw(@ISA); -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Storable; +use Bio::EnsEMBL::Utils::Exception qw(throw); -@ISA = qw(Bio::EnsEMBL::Root); +@ISA = qw(Bio::EnsEMBL::Storable); @@ -63,16 +64,16 @@ sub new { my $class = ref($caller) || $caller; - my $self = bless( {'dbID' => $dbID, - 'adaptor' => $adaptor, - 'left_primer' => $left_primer, - 'right_primer' => $right_primer, - 'min_primer_dist' => $min_primer_dist, - 'max_primer_dist' => $max_primer_dist, - 'priority' => $priority, - 'type' => $type, - 'display_marker_synonym' => $display_synonym - }, $class); + my $self = bless( {'dbID' => $dbID, + 'adaptor' => $adaptor, + 'left_primer' => $left_primer, + 'right_primer' => $right_primer, + 'min_primer_dist' => $min_primer_dist, + 'max_primer_dist' => $max_primer_dist, + 'priority' => $priority, + 'type' => $type, + 'display_marker_synonym' => $display_synonym + }, $class); #only load the marker synononyms if they were supplied, otherwise they # will be lazy-loaded @@ -91,52 +92,6 @@ sub new { return $self; } -=head2 dbID - - Arg [1] : (optional) $dbID - Example : $dbID = $marker->dbID; - Description: Getter/Setter for the internal identifier of this marker - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub dbID { - my $self = shift; - - if(@_) { - $self->{'dbID'} = shift; - } - - return $self->{'dbID'}; -} - - - -=head2 adaptor - - Arg [1] : (optional) Bio::EnsEMBL::Map::DBSQL::MarkerAdaptor $adaptor - Example : $adaptor = $marker->adaptor; - Description: Getter/Setter for the adaptor that performs database interaction - for this Marker. - Returntype : Bio::EnsEMBL::Map::DBSQL::MarkerAdaptor - Exceptions : none - Caller : general - -=cut - -sub adaptor { - my $self = shift; - - if(@_) { - $self->{'adaptor'} = shift; - } - - return $self->{'adaptor'}; -} - - =head2 left_primer @@ -372,7 +327,7 @@ sub display_MarkerSynonym { if(@_) { my $ms = shift; if($ms && !(ref $ms && $ms->isa('Bio::EnsEMBL::Map::MarkerSynonym'))) { - $self->throw("ms arg must be Bio::EnsEMBL::Map::MarkerSynonym not [$ms]"); + throw("ms arg must be Bio::EnsEMBL::Map::MarkerSynonym not [$ms]"); } $self->{'display_marker_synonym'} = $ms; } @@ -459,7 +414,7 @@ sub get_MapLocation { } unless($map_name) { - $self->throw('map_name argument is required, or use get_all_MapLocations'); + throw('map_name argument is required, or use get_all_MapLocations'); } return $self->{'map_locations'}->{$map_name}; @@ -485,12 +440,12 @@ sub add_MapLocations { foreach my $ml (@mlocs) { unless($ml && ref $ml && $ml->isa('Bio::EnsEMBL::Map::MapLocation')) { - $self->throw("args must be Bio::EnsEMBL::Map::MapLocations not [$ml]"); + throw("args must be Bio::EnsEMBL::Map::MapLocations not [$ml]"); } my $mname = $ml->map_name; unless($mname) { - $self->throw("map location arg [$ml] does not define a map name"); + throw("map location arg [$ml] does not define a map name"); } $self->{'map_locations'}->{$mname} = $ml; @@ -517,7 +472,7 @@ sub flush_MapLocations{ delete $self->{'map_locations'}; } - + 1; diff --git a/modules/Bio/EnsEMBL/Map/MarkerFeature.pm b/modules/Bio/EnsEMBL/Map/MarkerFeature.pm index f706c5e1e8..7a3577ab57 100644 --- a/modules/Bio/EnsEMBL/Map/MarkerFeature.pm +++ b/modules/Bio/EnsEMBL/Map/MarkerFeature.pm @@ -27,9 +27,9 @@ package Bio::EnsEMBL::Map::MarkerFeature; use strict; use vars qw(@ISA); -use Bio::EnsEMBL::SeqFeature; +use Bio::EnsEMBL::Feature; -@ISA = qw(Bio::EnsEMBL::SeqFeature); +@ISA = qw(Bio::EnsEMBL::Feature); @@ -37,9 +37,9 @@ use Bio::EnsEMBL::SeqFeature; Arg [1] : (optional) int $dbID Arg [2] : (optional) Bio::EnsEMBL::Adaptor $adaptor - Arg [3] : (optional) int $start + Arg [3] : (optional) int $start Arg [4] : (optional) int $end - Arg [5] : (optional) Bio::EnsEMBL ::RawContig or ::Slice $contig + Arg [5] : (optional) Bio::EnsEMBL::Slice $slice Arg [6] : (optional) Bio::EnsEMBL::Analysis Arg [7] : (optional) int $marker_id Arg [8] : (optional) int $map_weight @@ -55,70 +55,22 @@ use Bio::EnsEMBL::SeqFeature; =cut sub new { - my ($caller, $dbID, $adaptor, $start, $end, $contig, $analysis, + my ($caller, $dbID, $adaptor, $start, $end, $slice, $analysis, $marker_id, $map_weight, $marker) = @_; - + my $class = ref($caller) || $caller; return bless( { 'dbID' => $dbID, 'adaptor' => $adaptor, - '_gsf_start' => $start, - '_gsf_end' => $end, - '_gsf_strand' => 0, - '_gsf_seq' => $contig, - '_analysis' => $analysis, + 'start' => $start, + 'end' => $end, + 'strand' => 0, + 'slice' => $slice, + 'analysis' => $analysis, 'marker_id' => $marker_id, 'marker' => $marker, - 'map_weight' => $map_weight }, $class); -} - - - - -=head2 dbID - - Arg [1] : (optional) int $dbID - Example : $dbID = $marker_feature->dbID; - Description: Getter/Setter for the dbID of this MarkerFeature - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub dbID { - my $self = shift; - - if(@_) { - $self->{'dbID'} = shift; - } - - return $self->{'dbID'}; -} - - - -=head2 adaptor - - Arg [1] : (optional) Bio::EnsEMBL::Map::DBSQL::MarkerFeatureAdaptor $adp - Example : $adaptor = $marker_feature->adaptor; - Description: Getter/Setter for the adaptor which provides database - database interaction for this MarkerFeature - Returntype : Bio::EnsEMBL::Map::DBSQL::MarkerFeatureAdaptor - Exceptions : none - Caller : general - -=cut - -sub adaptor { - my $self = shift; - - if(@_) { - $self->{'adaptor'} = shift; - } - - return $self->{'adaptor'}; + 'map_weight' => $map_weight }, $class); } @@ -162,7 +114,7 @@ sub _marker_id { sub marker { my $self = shift; - + if(@_) { $self->{'marker'} = shift; } elsif(!$self->{'marker'} && $self->{'adaptor'} && $self->{'marker_id'}) { @@ -170,7 +122,7 @@ sub marker { my $ma = $self->{'adaptor'}->db->get_MarkerAdaptor; $self->{'marker'} = $ma->fetch_by_dbID($self->{'marker_id'}); } - + return $self->{'marker'}; } @@ -200,4 +152,30 @@ sub map_weight { return $self->{'map_weight'}; } + + +=head2 display_id + + Arg [1] : none + Example : print $mf->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For marker features this is the + name of the display synonym or '' if it is not defined. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + my $marker = $self->{'marker'}; + + return '' if(!$marker); + my $ms = $marker->display_MarkerSynonym(); + return '' if(!$ms); + return $ms->name() || ''; +} + + 1; diff --git a/modules/Bio/EnsEMBL/Map/Qtl.pm b/modules/Bio/EnsEMBL/Map/Qtl.pm index da678726a3..9f1f492d81 100644 --- a/modules/Bio/EnsEMBL/Map/Qtl.pm +++ b/modules/Bio/EnsEMBL/Map/Qtl.pm @@ -36,9 +36,10 @@ package Bio::EnsEMBL::Map::Qtl; use strict; use vars qw(@ISA); -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Storable; +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); -@ISA = qw(Bio::EnsEMBL::Root); +@ISA = qw(Bio::EnsEMBL::Storable); @@ -62,71 +63,26 @@ use Bio::EnsEMBL::Root; =cut sub new { - my ( $class, $dbID, $adaptor, $flank_marker_1, $peak_marker, + my ( $class, $dbID, $adaptor, $flank_marker_1, $peak_marker, $flank_marker_2, $trait, $lod_score, $synonyms ) = @_; $class = ref( $class ) ||$class; my $self = bless( { - 'dbID' => $dbID, - 'adaptor' => $adaptor, + 'dbID' => $dbID, + 'adaptor' => $adaptor, 'flank_marker_1' => $flank_marker_1, 'flank_marker_2' => $flank_marker_2, - 'peak_marker' => $peak_marker, - 'trait' => $trait, - 'lod_score' => $lod_score, - 'synonyms' => $synonyms + 'peak_marker' => $peak_marker, + 'trait' => $trait, + 'lod_score' => $lod_score, + 'synonyms' => $synonyms }, $class ); - return $self; -} - - - -=head2 dbID - - Arg [1] : int $dbID - Example : none - Description: get/set/clear attribute dbID - Returntype : int - Exceptions : none - Caller : DBSQL::QtlAdaptor - -=cut - -sub dbID { - my $self = shift; - - if(@_) { - $self->{'dbID'} = shift; - } - - return $self->{'dbID'}; -} - - -=head2 adaptor - Arg [1] : Bio::EnsEMBL::Map::DBSQL::QtlAdaptor $adaptor - Example : none - Description: Getter/Setter attribute adaptor - Returntype : Bio::EnsEMBL::Map::DBSQL::QtlAdaptor - Exceptions : none - Caller : DBSQL::QtlAdaptor - -=cut - -sub adaptor { - my $self = shift; - - if(@_) { - $self->{'adaptor'} = shift; - } - - return $self->{'adaptor'}; + return $self; } - =head2 add_synonym Arg [1] : string $source @@ -145,9 +101,9 @@ sub add_synonym { my $self = shift; my $source = shift; my $identifier = shift; - + unless($source && $identifier) { - $self->throw('Source and identifier arguments are required'); + throw('Source and identifier arguments are required'); } $self->{'synonyms'}->{$source} = $identifier; @@ -157,7 +113,7 @@ sub add_synonym { =head2 get_synonyms Arg [1] : none - Example : + Example : foreach my $source ($keys %{$qtl->get_synonyms}) { print $source . ':'. $qtl->get_synonyms->{$source}; } @@ -338,14 +294,11 @@ This method is deprecated. Use get_synonyms or add_synonym instead. sub source_database { my $self = shift; - my ($f, $p, $l) = caller; - - $self->warn("$f:$l: call to deprecated method Qtl::source_database.". - " Use Qtl::get_synonyms or Qtl::add_synonym instead"); + deprecate('Use get_synonyms or add_synonym instead'); my $syns = $self->get_synonyms; my ($source) = keys %$syns; - + return $source || ''; } @@ -359,13 +312,11 @@ This method is deprecated. Use get_synonyms or add_synonym instead. sub source_primary_id { my $self = shift; - my ($f, $p, $l) = caller; - $self->warn("$f:$l: call to deprecated method Qtl::source_database.". - " Use Qtl::get_synonyms or Qtl::add_synonym instead"); + deprecate('Use get_synonyms or add_synonym instead'); my $syns = $self->get_synonyms; my ($source) = keys %$syns; - + if($source) { return $syns->{$source}; } diff --git a/modules/Bio/EnsEMBL/Map/QtlFeature.pm b/modules/Bio/EnsEMBL/Map/QtlFeature.pm index e5f04b7b8d..11ccedcfed 100644 --- a/modules/Bio/EnsEMBL/Map/QtlFeature.pm +++ b/modules/Bio/EnsEMBL/Map/QtlFeature.pm @@ -28,8 +28,6 @@ Represents a QtlFeature in the EnsEMBL database. QtlFeatures are generally very long and its not clear wether a representation in Contig coordinates actually makes sense. In the database they will have chromosomal coordinates. - - =cut package Bio::EnsEMBL::Map::QtlFeature; @@ -37,11 +35,9 @@ package Bio::EnsEMBL::Map::QtlFeature; use strict; use vars qw(@ISA); -use Bio::EnsEMBL::Root; -use Bio::EnsEMBL::SeqFeature; - -@ISA = qw(Bio::EnsEMBL::SeqFeature); +use Bio::EnsEMBL::Feature; +@ISA = qw(Bio::EnsEMBL::Feature); =head2 new @@ -56,42 +52,20 @@ use Bio::EnsEMBL::SeqFeature; =cut sub new { - my ( $class, $adaptor, $contig, $start, $end, $qtl, $analysis ) = @_; + my ( $class, $adaptor, $slice, $start, $end, $qtl, $analysis ) = @_; $class = ref( $class ) ||$class; my $self = bless( { - 'adaptor' => $adaptor, - '_gsf_seq' => $contig, - '_gsf_start' => $start, - '_gsf_end' => $end, - 'qtl' => $qtl, - 'analysis' => $analysis + 'adaptor' => $adaptor, + 'slice' => $slice, + 'start' => $start, + 'end' => $end, + 'qtl' => $qtl, + 'analysis' => $analysis, + 'strand' => 0 }, $class ); - $self->is_splittable( 1 ); - return $self; -} - - - -=head2 adaptor - - Arg [1] : Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor $adaptor - Example : none - Description: Getter/Setter attribute adaptor - Returntype : Bio::EnsEMBL::Map::DBSQL::QtlFeatureAdaptor - Exceptions : none - Caller : DBSQL::QtlFeatureAdaptor -=cut - -sub adaptor { - my $self = shift; - - if(@_) { - $self->{'adaptor'} = shift; - } - - return $self->{'adaptor'}; + return $self; } @@ -117,33 +91,13 @@ sub qtl { return $self->{'qtl'}; } -=head2 analysis - - Arg [1] : Bio::EnsEMBL::Analysis $analysis - Example : none - Description: getter/setter for attribute analysis - Returntype : Bio::EnsEMBL::Analysis - Exceptions : none - Caller : general - -=cut - -sub analysis { - my $self = shift; - - if(@_) { - $self->{'analysis'} = shift; - } - - return $self->{'analysis'}; -} =head2 strand Arg [1] : none Example : $strand = $qtl_feat->strand(); - Description: Overrides the SeqFeature strand method to always return a + Description: Overrides the Feature strand method to always return a value of 0 for qtl features (they are unstranded features) Returntype : int (always 0) Exceptions : none @@ -153,11 +107,34 @@ sub analysis { sub strand { my $self = shift; - return 0; } + +=head2 move + + Arg [1] : $start - The new end of this qtl feature + Arg [2] : $end - The new start of this qtl feature + Arg [3] : $strand - ignored always set to 0 + Example : $qtl_feat->move(1, 10_000); + Description: Overrides superclass move() method to ensure strand is always 0. + See Bio::EnsEMBL::Feature::move + Returntype : none + Exceptions : none + Caller : general + +=cut + +sub move { + my ($self, $start, $end, $strand) = @_; + + #maintain a strandedness of 0 + return $self->SUPER::move($start,$end,0); +} + + + 1; diff --git a/modules/Bio/EnsEMBL/Mapper.pm b/modules/Bio/EnsEMBL/Mapper.pm index a86e6ec93f..d460f96970 100644 --- a/modules/Bio/EnsEMBL/Mapper.pm +++ b/modules/Bio/EnsEMBL/Mapper.pm @@ -50,18 +50,15 @@ Internal methods are usually preceded with a _ =cut package Bio::EnsEMBL::Mapper; -use vars qw(@ISA); use strict; +use integer; - -use Bio::EnsEMBL::Root; use Bio::EnsEMBL::Mapper::Pair; use Bio::EnsEMBL::Mapper::Unit; use Bio::EnsEMBL::Mapper::Coordinate; use Bio::EnsEMBL::Mapper::Gap; - -@ISA = qw(Bio::EnsEMBL::Root); +use Bio::EnsEMBL::Utils::Exception qw(throw); sub new { @@ -74,7 +71,7 @@ sub new { bless $self,$class; if( !defined $to ) { - $self->throw("Must supply from and to tags"); + throw("Must supply from and to tags"); } $self->{"_pair_$from"} = {}; @@ -83,11 +80,37 @@ sub new { $self->to($to); $self->from($from); + $self->{'pair_count'} = 0; # set stuff in self from @args return $self; } + +=head2 flush + + Args : none + Example : none + Description: removes all cached information out of this mapper + Returntype : none + Exceptions : none + Caller : AssemblyMapper, ChainedAssemblyMapper + +=cut + +sub flush { + my $self = shift; + my $from = $self->from(); + my $to = $self->to(); + + $self->{"_pair_$from"} = {}; + $self->{"_pair_$to"} = {}; + + $self->{'pair_count'} = 0; +} + + + =head2 map_coordinates Arg 1 int $id @@ -116,10 +139,12 @@ sub map_coordinates{ unless(defined($id) && defined($start) && defined($end) && defined($strand) && defined($type) ) { - $self->throw("Must start,end,strand,id,type as coordinates"); + throw("Must start,end,strand,id,type as coordinates"); } + if( ! $self->{'_is_sorted'} ) { $self->_sort() } + my $hash = $self->{"_pair_$type"}; my ($from, $to); @@ -133,11 +158,7 @@ sub map_coordinates{ } unless(defined $hash) { - $self->throw("Type $type is neither to or from coordinate systems"); - } - - if( $self->{'_is_sorted'} == 0 ) { - $self->_sort(); + throw("Type $type is neither to or from coordinate systems"); } if( !defined $hash->{uc($id)} ) { @@ -149,70 +170,90 @@ sub map_coordinates{ my $last_used_pair; my @result; - foreach my $pair ( @{$hash->{uc($id)}} ) { - my $self_coord = $pair->{$from}; - my $target_coord = $pair->{$to}; - - # if we haven't even reached the start, move on - if( $self_coord->{'end'} < $start ) { - next; - } - - # if we have over run, break - if( $self_coord->{'start'} > $end ) { - last; - } - - if( $start < $self_coord->{'start'} ) { - # gap detected - my $gap = Bio::EnsEMBL::Mapper::Gap->new($start, - $self_coord->{'start'}-1); - - push(@result,$gap); - $start = $gap->{'end'}+1; - } + my ( $start_idx, $end_idx, $mid_idx, $pair, $self_coord ); + my $lr = $hash->{uc($id)}; + + $start_idx = 0; + $end_idx = $#$lr; + + # binary search the relevant pairs + # helps if the list is big + while(( $end_idx - $start_idx ) > 1 ) { + $mid_idx = ($start_idx+$end_idx)>>1; + $pair = $lr->[$mid_idx]; + $self_coord = $pair->{$from}; + if( $self_coord->{'end'} < $start ) { + $start_idx = $mid_idx; + } else { + $end_idx = $mid_idx; + } + } - my ($target_start,$target_end,$target_ori); + for( my $i = $start_idx; $i<=$#$lr; $i++ ) { + $pair = $lr->[$i]; + my $self_coord = $pair->{$from}; + my $target_coord = $pair->{$to}; + + # if we haven't even reached the start, move on + if( $self_coord->{'end'} < $start ) { + next; + } + + # if we have over run, break + if( $self_coord->{'start'} > $end ) { + last; + } + + if( $start < $self_coord->{'start'} ) { + # gap detected + my $gap = Bio::EnsEMBL::Mapper::Gap->new($start, + $self_coord->{'start'}-1); + + push(@result,$gap); + $start = $gap->{'end'}+1; + } + + my ($target_start,$target_end,$target_ori); + + # start is somewhere inside the region + if( $pair->{'ori'} == 1 ) { + $target_start = + $target_coord->{'start'} + ($start - $self_coord->{'start'}); + } else { + $target_end = + $target_coord->{'end'} - ($start - $self_coord->{'start'}); + } - # start is somewhere inside the region + # either we are enveloping this map or not. If yes, then end + # point (self perspective) is determined solely by target. If not + # we need to adjust + + if( $end > $self_coord->{'end'} ) { + # enveloped if( $pair->{'ori'} == 1 ) { - $target_start = - $target_coord->{'start'} + ($start - $self_coord->{'start'}); + $target_end = $target_coord->{'end'}; } else { - $target_end = - $target_coord->{'end'} - ($start - $self_coord->{'start'}); + $target_start = $target_coord->{'start'}; } - - # either we are enveloping this map or not. If yes, then end - # point (self perspective) is determined solely by target. If not - # we need to adjust - - if( $end > $self_coord->{'end'} ) { - # enveloped - if( $pair->{'ori'} == 1 ) { - $target_end = $target_coord->{'end'}; - } else { - $target_start = $target_coord->{'start'}; - } + } else { + # need to adjust end + if( $pair->{'ori'} == 1 ) { + $target_end = + $target_coord->{'start'} + ($end - $self_coord->{'start'}); } else { - # need to adjust end - if( $pair->{'ori'} == 1 ) { - $target_end = - $target_coord->{'start'} + ($end - $self_coord->{'start'}); - } else { - $target_start = - $target_coord->{'end'} - ($end - $self_coord->{'start'}); - } + $target_start = + $target_coord->{'end'} - ($end - $self_coord->{'start'}); } + } - my $res = Bio::EnsEMBL::Mapper::Coordinate->new($target_coord->{'id'}, + my $res = Bio::EnsEMBL::Mapper::Coordinate->new($target_coord->{'id'}, $target_start, $target_end, $pair->{'ori'} * $strand); - push(@result,$res); - - $last_used_pair = $pair; - $start = $self_coord->{'end'}+1; + push(@result,$res); + + $last_used_pair = $pair; + $start = $self_coord->{'end'}+1; } if( !defined $last_used_pair ) { @@ -262,6 +303,8 @@ sub fastmap { my ($from, $to); + if( ! $self->{'_is_sorted'} ) { $self->_sort() } + if($type eq $self->{'to'}) { $from = 'to'; $to = 'from'; @@ -271,11 +314,8 @@ sub fastmap { } my $hash = $self->{"_pair_$type"} or - $self->throw("Type $type is neither to or from coordinate systems"); + throw("Type $type is neither to or from coordinate systems"); - if( $self->{'_is_sorted'} == 0 ) { - $self->_sort(); - } my $pairs = $hash->{uc($id)}; @@ -325,58 +365,60 @@ sub fastmap { Arg 7 int $end end coordinate of 'targe' sequence Function stores details of mapping between two regions: - 'source' and 'target' - Returntype none + 'source' and 'target'. Returns 1 if the pair was added, 0 if it + was already in. + Returntype int 0,1 Exceptions none Caller Bio::EnsEMBL::Mapper =cut sub add_map_coordinates{ - my ($self, $contig_id, $contig_start, $contig_end, - $contig_ori, $chr_name, $chr_start, $chr_end) = @_; - - unless(defined($contig_id) && defined($contig_start) && defined($contig_end) - && defined($contig_ori) && defined($chr_name) && defined($chr_start) - && defined($chr_end)) { - $self->throw("7 arguments expected"); - } - - if( ($contig_end - $contig_start) != ($chr_end - $chr_start) ) { - $self->throw("Cannot deal with mis-lengthed mappings so far"); - } - - my $pair = Bio::EnsEMBL::Mapper::Pair->new(); - - my $from = Bio::EnsEMBL::Mapper::Unit->new(); - $from->start($contig_start); - $from->end($contig_end); - $from->id($contig_id); - - my $to = Bio::EnsEMBL::Mapper::Unit->new(); - $to->start($chr_start); - $to->end($chr_end); - $to->id($chr_name); - - $pair->to($to); - $pair->from($from); - - $pair->ori($contig_ori); - - # place into hash on both ids - my $map_to = $self->{'to'}; - my $map_from = $self->{'from'}; - - $self->{"_pair_$map_to"}->{uc($chr_name)} ||= []; - push(@{$self->{"_pair_$map_to"}->{uc($chr_name)}},$pair); + my ($self, $contig_id, $contig_start, $contig_end, + $contig_ori, $chr_name, $chr_start, $chr_end) = @_; + + unless(defined($contig_id) && defined($contig_start) && defined($contig_end) + && defined($contig_ori) && defined($chr_name) && defined($chr_start) + && defined($chr_end)) { + throw("7 arguments expected"); + } - $self->{"_pair_$map_from"}->{uc($contig_id)} ||= []; - push(@{$self->{"_pair_$map_from"}->{uc($contig_id)}},$pair); + if( ($contig_end - $contig_start) != ($chr_end - $chr_start) ) { + throw("Cannot deal with mis-lengthed mappings so far"); + } - $self->_is_sorted(0); + my $pair = Bio::EnsEMBL::Mapper::Pair->new(); + + my $from = Bio::EnsEMBL::Mapper::Unit->new(); + $from->start($contig_start); + $from->end($contig_end); + $from->id($contig_id); + + my $to = Bio::EnsEMBL::Mapper::Unit->new(); + $to->start($chr_start); + $to->end($chr_end); + $to->id($chr_name); + + $pair->to($to); + $pair->from($from); + + $pair->ori($contig_ori); + + # place into hash on both ids + my $map_to = $self->{'to'}; + my $map_from = $self->{'from'}; + + push( @{$self->{"_pair_$map_to"}->{uc($chr_name)}}, $pair ); + push( @{$self->{"_pair_$map_from"}->{uc($contig_id)}}, $pair ); + + $self->{'pair_count'}++; + + $self->{'_is_sorted'} = 0; + return 1; } + =head2 list_pairs Arg 1 int $id @@ -399,20 +441,16 @@ sub list_pairs{ my ($self, $id, $start, $end, $type) = @_; + if( ! $self->{'_is_sorted'} ) { $self->_sort() } + if( !defined $type ) { - $self->throw("Must start,end,id,type as coordinates"); + throw("Must start,end,id,type as coordinates"); } if( $start > $end ) { - $self->throw("Start is greater than end for id $id, start $start, end $end\n"); + throw("Start is greater than end for id $id, start $start, end $end\n"); } - # perhaps a little paranoid/excessive - if( $self->_is_sorted == 0 ) { - $self->_sort(); - } - - my $hash = $self->{"_pair_$type"}; my ($from, $to); @@ -426,7 +464,7 @@ sub list_pairs{ } unless(defined $hash) { - $self->throw("Type $type is neither to or from coordinate systems"); + throw("Type $type is neither to or from coordinate systems"); } my @list; @@ -541,11 +579,83 @@ sub _sort{ @{$self->{"_pair_$to"}->{$id}} = sort { $a->{'to'}->{'start'} <=> $b->{'to'}->{'start'} } @{$self->{"_pair_$to"}->{$id}}; } + $self->_merge_pairs(); + $self->_is_sorted(1); } +# this function merges pairs that are adjacent into one +sub _merge_pairs { + my $self = shift; + + my ( $lr, $lr_from, $del_pair, $next_pair, $current_pair ); + + my $map_to = $self->{'to'}; + my $map_from = $self->{'from'}; + $self->{'pair_count'} = 0; + + for my $key ( keys %{$self->{"_pair_$map_to"}} ) { + $lr = $self->{"_pair_$map_to"}->{$key}; + + my $i = 0; + my $next = 1; + my $length = $#$lr; + while( $next <= $length ) { + $current_pair = $lr->[$i]; + $next_pair = $lr->[$next]; + $del_pair = undef; + + # duplicate filter + if( $current_pair->{'to'}->{'start'} == $next_pair->{'to'}->{'start'} ) { + $del_pair = $next_pair; + } elsif(( $current_pair->{'from'}->{'id'} eq $next_pair->{'from'}->{'id'} ) && + ( $next_pair->{'ori'} == $current_pair->{'ori'} ) && + ( $next_pair->{'to'}->{'start'} -1 == $current_pair->{'to'}->{'end'} )) { + + if( $current_pair->{'ori'} == 1 ) { + # check forward strand merge + if( $next_pair->{'from'}->{'start'} - 1 == $current_pair->{'from'}->{'end'} ) { + # normal merge with previous element + $current_pair->{'to'}->{'end'} = $next_pair->{'to'}->{'end'}; + $current_pair->{'from'}->{'end'} = $next_pair->{'from'}->{'end'}; + $del_pair = $next_pair; + } + } else { + # check backward strand merge + if( $next_pair->{'from'}->{'end'} + 1 == $current_pair->{'from'}->{'start'} ) { + # yes its a merge + $current_pair->{'to'}->{'end'} = $next_pair->{'to'}->{'end'}; + $current_pair->{'from'}->{'start'} = $next_pair->{'from'}->{'start'}; + $del_pair = $next_pair; + } + } + } + + if( defined $del_pair ) { + splice( @$lr, $next, 1 ); + $lr_from = $self->{"_pair_$map_from"}->{uc($del_pair->{'from'}->{'id'})}; + for( my $j=0; $j <= $#$lr_from; $j++ ) { + if( $lr_from->[$j] == $del_pair ) { + splice( @$lr_from, $j, 1 ); + last; + } + } + $length--; + if( $length < $next ) { last; } + } else { + $next++; + $i++; + } + } + $self->{'pair_count'} += scalar( @$lr ); + } +} + + + + =head2 _is_sorted Arg 1 int $sorted @@ -559,14 +669,8 @@ sub _sort{ sub _is_sorted{ my ($self,$value) = @_; - if( defined $value) { - $self->{'_is_sorted'} = $value; - } - if (! defined $self->{'_is_sorted'}) { - $self->{'_is_sorted'} = 0; - } - return $self->{'_is_sorted'}; - + $self->{'_is_sorted'} = shift if(@_); + return $self->{'_is_sorted'}; } diff --git a/modules/Bio/EnsEMBL/Mapper/Coordinate.pm b/modules/Bio/EnsEMBL/Mapper/Coordinate.pm index 0aa1251249..acbbc3d627 100644 --- a/modules/Bio/EnsEMBL/Mapper/Coordinate.pm +++ b/modules/Bio/EnsEMBL/Mapper/Coordinate.pm @@ -146,4 +146,9 @@ sub id{ } +sub length { + my $self = shift; + return $self->{'end'} - $self->{'start'} + 1; +} + 1; diff --git a/modules/Bio/EnsEMBL/Mapper/Gap.pm b/modules/Bio/EnsEMBL/Mapper/Gap.pm index 7775ee827a..6b475eb168 100644 --- a/modules/Bio/EnsEMBL/Mapper/Gap.pm +++ b/modules/Bio/EnsEMBL/Mapper/Gap.pm @@ -100,4 +100,11 @@ sub end{ } +sub length { + my $self = shift; + return $self->{'end'} - $self->{'start'} + 1; +} + + + 1; diff --git a/modules/Bio/EnsEMBL/Mapper/RangeRegistry.pm b/modules/Bio/EnsEMBL/Mapper/RangeRegistry.pm new file mode 100644 index 0000000000..37b81e8ec4 --- /dev/null +++ b/modules/Bio/EnsEMBL/Mapper/RangeRegistry.pm @@ -0,0 +1,268 @@ +# +# Ensembl module for Bio::EnsEMBL::Mapper::RangeRegistry +# +# +# You may distribute this module under the same terms as perl itself + +=head1 NAME + +Bio::EnsEMBL::Mapper::RangeRegistry + +=head1 SYNOPSIS + + use Bio::EnsEMBL::Mapper::RangeRegistry; + + $rr = Bio::EnsEMBL::Mapper::RangeRegistry->new(); + + #get a fixed width chunk around the range of intereset + #this will be used if any registration is actually necessary + $chunk_start = ($start >> 20) << 20 + 1; + $chunk_end = (($end >> 20) + 1) << 20; + + #check if any registration is necessary for the range. + #if it is register a large chunked area instead and return a listref + #of unregistered areas that need to be loaded. + if($pairs=$rr->check_and_register($id,$start,$end,$chunk_start,$chunk_end)) { + foreach my $pair (@$pairs) { + my ($pair_start, $pair_end) = @$pair; + #fetch mappings for these regions from the assembly table and load them + #into the mapper + ... + } + } else { + #the range ($start - $end) is already registered + ... + } + + + #check if any registration is necessary + #if it is register the region and return a listref of pairs that + #need to be loaded. + if($pairs = $rr->check_and_register($id, $start,$end)) { + } + + +=head1 DESCRIPTION + +This module maintains an internal list of registered regions and is used to +quickly ascertain if and what regions of a provided range need registration. + +=head1 AUTHOR - Graham McVicker + +=head1 CONTACT + +This modules is part of the Ensembl project http://www.ensembl.org + +Questions can be posted to the ensembl-dev mailing list: +ensembl-dev@ebi.ac.uk + +=cut + +use strict; + +package Bio::EnsEMBL::Mapper::RangeRegistry; + +use Bio::EnsEMBL::Utils::Exception qw(throw); +use integer; + +=head2 new + + Arg [1] : none + Example : my $rr = Bio::EnsEMBL::Mapper::RangeRegistry->new(); + Description: Creates a new RangeRegistry object + Returntype : Bio::EnsEMBL::Mapper::RangeRegistry + Exceptions : none + Caller : AssemblyMapperAdaptor + +=cut + +sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + return bless {'registry' => {}}, $class; +} + + +sub flush { + my $self = shift; + $self->{'registry'} = {}; +} + + + + +=head2 check_and_register + + Arg [1] : string $id + The id of the range to be checked/registered (e.g. a sequenceid) + Arg [2] : int $start + The start of the range to be checked + Arg [3] : int $end + The end of the range to be checked + Arg [4] : (optional) int $rstart + The start of the range to be registered + if the checked range was not fully registered + Arg [5] : (optional) int $rend + The end of the range to be registerd + if the checked range was not fully registered + Example : $ranges=$rr->check_and_register('X',500,600, 1,1_000_000)); + Description: Checks the range registry to see if the entire range + denoted by ($id : $start-$end) is already registered. If + it already is, then undef is returned. If it is not then + the range specified by $rstart and $rend is registered, and + a list of regions that were required to completely register + $rstart-$rend is returned. If $rstart and $rend are not + defined they default to $start and $end respectively. + + The reason there is a single call to do both the checking and + registering is to reduce the overhead. Much of the work to + check if a range is registered is the same as registering a + region around that range. + Returntype : undef or listref of [start,end] range pairs + Exceptions : throw if rstart is greater than start + throw if rend is less than end + throw if end is less than start + throw if id, start, or end are not defined + Caller : AssemblyMapperAdaptor + +=cut + +#"constants" +my $START = 0; +my $END = 1; + +sub check_and_register { + my ($self, $id, $start, $end, $rstart,$rend) = @_; + + $rstart = $start if(!defined($rstart)); + $rend = $end if(!defined($rend)); + + # + # Sanity checks + # + if(!defined($id) || !defined($start) || !defined($end)) { + throw("ID, start, end arguments are required"); + } + + if($start > $end) { + throw("start argument must be less than end argument"); + } + + if($rstart >$rend) { + throw("rend [$rstart] argument must be less than rend [$rend] argument"); + } + + if($rstart > $start) { + throw("rstart must be less than or equal to start"); + } + + if($rend < $end) { + throw("rend must be greater than or equal to end"); + } + + my $reg = $self->{'registry'}; + my $list = $reg->{$id} ||= []; + + my @gap_pairs; + + my $len = scalar(@$list); + + if($len == 0) { + #this is the first request for this id, return a gap pair for the + #entire range and register it as seen + $list->[0] = [$rstart,$rend]; + return [[$rstart,$rend]]; + } + + my $CUR; + + ##### + #loop through the list of existing ranges recording any "gaps" where the + #existing range does not cover part of the requested range + # + my $start_idx = 0; + my $end_idx = $#$list; + my ( $mid_idx, $range ); + + # binary search the relevant pairs + # helps if the list is big + while(( $end_idx - $start_idx ) > 1 ) { + $mid_idx = ($start_idx+$end_idx)>>1; + $range = $list->[$mid_idx]; + if( $range->[1] < $start ) { + $start_idx = $mid_idx; + } else { + $end_idx = $mid_idx; + } + } + + + my ($gap_start, $gap_end, $r_idx, $rstart_idx, $rend_idx); + $gap_start = $rstart; + + for($CUR=$start_idx; $CUR < $len; $CUR++) { + my ($pstart,$pend) = @{$list->[$CUR]}; + + #no work needs to be done at all if + #if we find a range pair that entirely overlaps the requested region + if($pstart <= $start && $pend >= $end) { + return undef; + } + + #find adjacent or overlapping regions already registered + if($pend >= ($rstart-1) && $pstart <= ($rend+1)) { + if(!defined($rstart_idx)) { + $rstart_idx = $CUR; + } + $rend_idx = $CUR; + } + + if($pstart > $rstart) { + $gap_end = ($rend < $pstart) ? $rend : $pstart-1; + push @gap_pairs, [$gap_start, $gap_end]; + } + + $gap_start = ($rstart > $pend) ? $rstart : $pend+1; + + if($pstart > $rend && !defined($r_idx)) { + $r_idx = $CUR; + last; + } + } + + #do we have to make another gap? + if($gap_start <= $rend) { + push @gap_pairs, [$gap_start, $rend]; + } + + # + # Merge the new range into the registered list + # + if(defined($rstart_idx)) { + my ($new_start, $new_end); + if($rstart < $list->[$rstart_idx]->[0]) { + $new_start = $rstart; + } else { + $new_start = $list->[$rstart_idx]->[0]; + } + + if($rend > $list->[$rend_idx]->[1]) { + $new_end = $rend; + } else { + $new_end = $list->[$rend_idx]->[1]; + } + + splice(@$list, $rstart_idx, $rend_idx-$rstart_idx+1, [$new_start, $new_end]); + } elsif(defined($r_idx)) { + splice(@$list, $r_idx, 0, [$rstart, $rend]); + } else { + push(@$list, [$rstart,$rend]); + } + + return \@gap_pairs; +} + + + +1; + diff --git a/modules/Bio/EnsEMBL/MiscFeature.pm b/modules/Bio/EnsEMBL/MiscFeature.pm new file mode 100644 index 0000000000..64ff9b9b46 --- /dev/null +++ b/modules/Bio/EnsEMBL/MiscFeature.pm @@ -0,0 +1,263 @@ +# +# Ensembl module for Bio::EnsEMBL::MiscFeature +# +# Copyright (c) 2003 EnsEMBL +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::MiscFeature - A miscelaneous feature with arbitrary features and +associations. + +=head1 SYNOPSIS + + use Bio::EnsEMBL::MiscFeature; + + my $mfeat = Bio::EnsEMBL::MiscFeature->new(-START => 1200, + -END => 100_000, + -STRAND => 1, + -SLICE => $slice); + + # Can add attributes to the misc feature and associate with various sets + $clone_set->code('clone'); + $tiling_path_set->core('tilingpath'); + + $mfeat->add_attribute('name', 'RLX12451'); + $mfeat->add_attribute('version', '4'); + $mfeat->add_attribute('synonym', 'AL42131.4'); + $mfeat->add_attrubute('synonym', 'Z199311'); + $mfeat->add_set($clone_set); + $mfeat->add_set($tiling_path_set); + + my ($name) = $mfeat->get_attribute('name'); + my @synonyms = $mfeat->get_attribute('synonym'); + + my @attrib_types = $mfeat->get_attribute_types(); + foreach my $attrib_type (@attrib_types) { + print join(',', $mfeat->get_attribute($attrib_type)); + } + + $clone_set = $mfeat->get_set('clone'); + $tiling_path_set = $mfeat->get_set('tiling_path'); + + my @set_codes = $mfeat->get_set_codes(); + foreach my $set_code (@set_codes) { + print $mfeat->get_set->name(), "\n"; + } + + + # Can do normal feature operations as well + $mfeat = $mfeat->transform('supercontig'); + print $mfeat->slice->seq_region_name, ' ', $mfeat->start, '-', $mfeat->end; + + +=head1 DESCRIPTION + +MiscFeatures are extremely general features with a location, and an +arbitrary group of attributes. They are grouped with other features of the +same 'type' through the use of MiscSets (see Bio::EnsEMBL::MiscSet). + +=head1 CONTACT + +This modules is part of the Ensembl project http://www.ensembl.org + +Questions can be posted to the ensembl-dev mailing list: +ensembl-dev@ebi.ac.uk + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::MiscFeature; + +use Bio::EnsEMBL::Feature; + +use Bio::EnsEMBL::Utils::Exception qw(throw); + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::Feature); + + +# new is inherited from superclass + +sub new_fast { + my $class = shift; + my $hashref = shift; + return bless($hashref, $class); +} + + + + +=head2 add_attribute + + Arg [1] : string $type + The type of attribute to add + Arg [2] : string $value + The value of the attribute to add + Example : $misc_feature->add_attribute('synonym', 'AL124141.1'); + Description: Adds an attribute of a given type to this misc. feature + Returntype : none + Exceptions : throw if type arg is not provided + Caller : general + +=cut + +sub add_attribute { + my ($self, $type, $value) = @_; + + throw('Type argument is required') if(!$type); + + $self->{'attributes'}->{$type} ||= []; + push @{$self->{'attributes'}->{$type}}, $value +} + + +=head2 add_set + + Arg [1] : Bio::EnsEMBL::MiscSet $set + The set to add + Example : $misc_feature->add_set(Bio::EnsEMBL::MiscSet->new(...)); + Description: Associates this MiscFeature with a given Set. + Returntype : none + Exceptions : throw if the set arg is not provided, + throw if the set to be added does not have a code + Caller : general + +=cut + +sub add_set { + my ($self, $set) = @_; + + if(!$set || !ref($set) || !$set->isa('Bio::EnsEMBL::MiscSet')) { + throw('Set argument must be a Bio::EnsEMBL::MiscSet'); + } + + my $code = $set->code(); + + throw('Set must be associated with a code to be added') if(!$code); + + $self->{'sets'}->{$code} = $set; +} + + + +=head2 get_attribute_types + + Arg [1] : none + Example : @attrib_types = $misc_feature->get_attribute_types(); + Description: returns a list of attribute types that this feature has + Returntype : list of strings + Exceptions : none + Caller : general + +=cut + +sub get_attribute_types { + my $self = shift; + $self->{'attributes'} ||= {}; + + return keys %{$self->{'attributes'}}; +} + +=head2 get_set_codes + + Arg [1] : none + Example : @set_codes = $misc_feature->get_set_codes(); + Description: returns a list of codes for the sets this feature is associated + with + Returntype : list of strings + Exceptions : none + Caller : general + +=cut + +sub get_set_codes { + my $self = shift; + $self->{'sets'} ||= {}; + return keys %{$self->{'sets'}}; +} + + +=head2 get_set + + Arg [1] : string $code + The code of the set to retrieve + Example : $set = $misc_feature->get_set($code); + Description: Retrieves a set that this feature is associated with via its + code. Undef is returned if the feature is not associated with + the requested set. + Returntype : Bio::EnsEMBL::MiscSet or undef + Exceptions : throw if the code arg is not provided + Caller : general + +=cut + +sub get_set { + my $self = shift; + my $code = shift; + + throw('Code arg is required.') if (!$code); + + return $self->{'sets'}->{$code}; +} + + + +=head2 get_attribute + + Arg [1] : string $type + The type of the attribute values to retrieve + Example : @values = $misc_feature->get_attribute('name'); + Description: Retrieves a list of values for a particular attribute type + Returntype : list of strings + Exceptions : thrown if a type arg is not provided + Caller : general + +=cut + +sub get_attribute { + my $self = shift; + my $type = shift; + + throw('Type arg is required.') if(!$type); + + if(exists $self->{'attributes'}->{$type}) { + return @{$self->{'attributes'}->{$type}}; + } + + return (); +} + + + +=head2 display_id + + Arg [1] : none + Example : print $kb->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For misc_features this is the first + name or synonym attribute or '' if neither are defined. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + my ($attrib) = $self->get_attribute('name'); + ($attrib) = $self->get_attribute('synonym') if(!$attrib); + return $attrib || ''; +} + + + + +1; diff --git a/modules/Bio/EnsEMBL/MiscSet.pm b/modules/Bio/EnsEMBL/MiscSet.pm new file mode 100644 index 0000000000..47007e2002 --- /dev/null +++ b/modules/Bio/EnsEMBL/MiscSet.pm @@ -0,0 +1,178 @@ +# +# Ensembl module for Bio::EnsEMBL::MiscSet +# +# Copyright (c) 2003 EnsEMBL +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::MiscSet - This is a set representing a classification of +a group of miscellaneuos features. + +=head1 SYNOPSIS + + use Bio::EnsEMBL::MiscSet; + + ... + + my $misc_set = Bio::EnsEMBL::MiscSet->new(1234, $adaptor, + 'tilepath', + 'Assembly Tiling Path', + 'The tiling path of clones', + 1e6); + + my $misc_feature->add_set($misc_set); + + +=head1 DESCRIPTION + +MiscSets represent classsifications or groupings of MiscFeatures. Features are +classified into sets essentially to define what they are and how they may be +used. Generally MiscFeatures are retrieved on the basis of their associated +sets. See Bio::EnsEMBL::MiscFeature, Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor. + +Note that MiscSets and MiscFeatures were formerly known as MapSets and MapFrags + +=head1 CONTACT + +This modules is part of the Ensembl project http://www.ensembl.org + +Questions can be posted to the ensembl-dev mailing list: +ensembl-dev@ebi.ac.uk + +=cut + +use strict; + +package Bio::EnsEMBL::MiscSet; + +use Bio::EnsEMBL::Storable; + +use vars qw(@ISA); + +@ISA = qw(Bio::EnsEMBL::Storable); + + + + +=head2 new + + Arg [1] : int $misc_set_id + The internal identifier for this misc set + Arg [2] : string $code + The unique code which identifies this set type + Arg [3] : string $name + The human readable name of this set + Arg [4] : string $desc + The description of this set + Arg [5] : int $max_len + The maximum length of features of this mapset + Example : $set = new Bio::EnsEMBL::MiscSet(1234, 'tilepath', + 'Assembly Tiling Path', + 'The tiling path of clones', + 1e6); + Description: Instantiates a Bio::EnsEMBL::MiscSet + Returntype : Bio::EnsEMBL::MiscSet + Exceptions : none + Caller : MiscFeatureAdaptor + +=cut + +sub new { + my ($caller, $misc_set_id, $adaptor, $code, $name, $desc, $max_len) = @_; + + my $class = ref($caller) || $caller; + + if($adaptor && !(ref($adaptor) || + !$adaptor->isa('Bio::EnsEMBL::DBSQL::MiscSetAdaptor'))) { + throw('Adaptor arg must be a Bio::EnsEMBL::DBSQL::MiscSetAdaptor'); + } + + return bless {'dbID' => $misc_set_id, + 'adaptor' => $adaptor, + 'code' => $code, + 'name' => $name, + 'description' => $desc, + 'longest_feature' => $max_len}, $class; +} + +=head2 code + + Arg [1] : string $newval (optional) + The new value to set the code attribute to + Example : $code = $obj->code() + Description: Getter/Setter for the code attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub code{ + my $self = shift; + $self->{'code'} = shift if(@_); + return $self->{'code'}; +} + + +=head2 name + + Arg [1] : string $newval (optional) + The new value to set the code attribute to + Example : $name = $obj->name() + Description: Getter/Setter for the name attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub name { + my $self = shift; + $self->{'name'} = shift if(@_); + return $self->{'name'}; +} + + +=head2 description + + Arg [1] : string $newval (optional) + The new value to set the description attribute to + Example : $description = $obj->description() + Description: Getter/Setter for the description attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub description{ + my $self = shift; + $self->{'description'} = shift if(@_); + return $self->{'description'}; +} + + +=head2 longest_feature + + Arg [1] : int $newval (optional) + The new value to set the longest_feature attribute to + Example : $longest_feature = $obj->longest_feature() + Description: Getter/Setter for the longest_feature attribute + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub longest_feature{ + my $self = shift; + $self->{'longest_feature'} = shift if(@_); + return $self->{'longest_feature'}; +} + + +1; diff --git a/modules/Bio/EnsEMBL/PredictionExon.pm b/modules/Bio/EnsEMBL/PredictionExon.pm new file mode 100644 index 0000000000..bfc9a3cc15 --- /dev/null +++ b/modules/Bio/EnsEMBL/PredictionExon.pm @@ -0,0 +1,291 @@ +# +# EnsEMBL module for Bio::EnsEMBL::PredictionExon +# +# +# Copyright Ewan Birney +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=pod + +=head1 NAME Bio::EnsEMBL::PredictionExon - A class representing an Exon from an +ab initio prediction method + +=head1 SYNOPSIS + + $ex = new Bio::EnsEMBL::Exon(-START => 100, + -END => 200, + -STRAND => 1, + -SLICE => $slice, + -DBID => $dbID, + -P_VALUE => 23.5, + -SCORE => 99 + ); + + #seq returns a Bio::Seq + my $seq = $exon->seq->seq(); + + #peptide only makes sense within transcript context + my $pep = $exon->peptide($transcript)->seq(); + + #normal feature operations can be performed: + $exon = $exon->transform('clone'); + $exon->move($new_start, $new_end, $new_strand); + print $exon->slice->seq_region_name(); + +=head1 DESCRIPTION + +This is a class which represents an prediction exon which is part of a +predcition transcript. See Bio::EnsEMBL:PredictionTranscript + +=head1 CONTACT + +Post questions to the EnsEMBL developer list: <ensembl-dev@ebi.ac.uk> + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. Internal +methods are usually preceded with a_ + +=cut + +package Bio::EnsEMBL::PredictionExon; +use vars qw(@ISA); +use strict; + +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Exon; +use Bio::EnsEMBL::Utils::Exception qw( warning throw deprecate ); +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); + + +@ISA = qw(Bio::EnsEMBL::Exon); + + +=head2 new + + Args : see SUPERCLASS Bio::EnsEMBL::Exon + Example : none + Description: create an Exon object + Returntype : Bio::EnsEMBL::Exon + Exceptions : none + Caller : general + +=cut + +sub new { + my $class = shift; + + $class = ref $class || $class; + + my $self = $class->SUPER::new( @_ ); + + my ( $p_value, $score ) = + rearrange( [ "P_VALUE", "SCORE" ], @_ ); + + $self->{'p_value'} = $p_value; + $self->{'score'} = $score; + + return $self; +} + + +=head2 score + + Arg [1] : string $newval (optional) + The new value to set the score attribute to + Example : $score = $obj->score() + Description: Getter/Setter for the score attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub score{ + my $self = shift; + $self->{'score'} = shift if(@_); + return $self->{'score'}; +} + + + +=head2 p_value + + Arg [1] : string $newval (optional) + The new value to set the p_value attribute to + Example : $p_value = $obj->p_value() + Description: Getter/Setter for the p_value attribute + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub p_value{ + my $self = shift; + $self->{'p_value'} = shift if(@_); + return $self->{'p_value'}; +} + + +=head2 end_phase + + Arg [1] : (optional) int $end_phase + Example : $end_phase = $feat->end_phase; + Description: Gets/Sets the end phase of the exon. + end_phase = number of bases from the last incomplete codon of + this exon. + Usually, end_phase = (phase + exon_length)%3 + but end_phase could be -1 if the exon is half-coding and its 3 + prime end is UTR. + Returntype : int + Exceptions : warning if end_phase is called without an argument and the + value is not set. + Caller : general + +=cut + + + +sub end_phase { + my $self = shift; + if( @_ ) { + throw( "End_phase setting not supported" ); + } + return (3- $self->phase() + $self->length()) % 3; +} + + +=head2 transform + + Arg 1 : String $coordinate_system_name + Arg [2] : String $coordinate_system_version + Description: moves this exon to the given coordinate system. If this exon has + attached supporting evidence, they move as well. + Returntype : Bio::EnsEMBL::Exon + Exceptions : wrong parameters + Caller : general + +=cut + + +sub transform { + my $self = shift; + + # catch for old style transform calls + if( !@_ || ( ref $_[0] && $_[0]->isa( "Bio::EnsEMBL::Slice" ))) { + throw( "transform needs coordinate systems details now," . + "please use transfer" ); + } + + my $new_exon = Bio::EnsEMBL::Feature::transform( $self, @_ ); + return undef unless $new_exon; + + #dont want to share the same sequence cache + delete $new_exon->{'_seq_cache'}; + + return $new_exon; +} + + + +=head2 transfer + + Arg [1] : Bio::EnsEMBL::Slice $destination_slice + Example : none + Description: Moves this Exon to given target slice coordinates. If Features + are attached they are moved as well. Returns a new exon. + Returntype : Bio::EnsEMBL::Gene + Exceptions : none + Caller : general + +=cut + +sub transfer { + my $self = shift; + + my $new_exon = Bio::EnsEMBL::Feature::transfer( $self, @_ ); + return undef unless $new_exon; + + #dont want to share the same sequence cache + delete $new_exon->{'_seq_cache'}; + + return $new_exon; +} + + + + + + +=head2 add_supporting_features + + Arg [1] : Bio::EnsEMBL::SeqFeatureI $feature + Example : $exon->add_supporting_features(@features); + Description: Adds a list of supporting features to this exon. + Duplicate features are not added. + If supporting features are added manually in this + way, prior to calling get_all_supporting_features then the + get_all_supporting_features call will not retrieve supporting + features from the database. + Returntype : none + Exceptions : throw if any of the features are not SeqFeatureIs + throw if any of the features are not in the same coordinate + system as the exon + Caller : general + +=cut + +sub add_supporting_features { + throw( "This object doesnt have supporting_feature" ); +} + + +=head2 get_all_supporting_features + + Arg [1] : none + Example : @evidence = @{$exon->get_all_supporting_features()}; + Description: Retreives any supporting features added manually by + calls to add_supporting_features. If no features have been + added manually and this exon is in a database (i.e. it h + Returntype : listreference of Bio::EnsEMBL::BaseAlignFeature objects + Exceptions : none + Caller : general + +=cut + +sub get_all_supporting_features { + throw( "This object doesnt have supporting_feature" ); +} + + +=head2 find_supporting_evidence + + Arg [1] : Bio::EnsEMBL::SeqFeatureI $features + The list of features to search for supporting (i.e. overlapping) + evidence. + Arg [2] : (optional) boolean $sorted + Used to speed up the calculation of overlapping features. + Should be set to true if the list of features is sorted in + ascending order on their start coordinates. + Example : $exon->find_supporting_evidence(\@features); + Description: Looks through all the similarity features and + stores as supporting features any feature + that overlaps with an exon. + Returntype : none + Exceptions : none + Caller : general + +=cut + +sub find_supporting_evidence { + throw( "This object doesnt have supporting_feature" ); +} + + + + +1; diff --git a/modules/Bio/EnsEMBL/PredictionTranscript.pm b/modules/Bio/EnsEMBL/PredictionTranscript.pm index 767a181f45..54d0035cc5 100644 --- a/modules/Bio/EnsEMBL/PredictionTranscript.pm +++ b/modules/Bio/EnsEMBL/PredictionTranscript.pm @@ -3,7 +3,6 @@ # # Cared for by Arne Stabenau # - # # You may distribute this module under the same terms as perl itself @@ -18,10 +17,9 @@ PredictionTranscript =head1 DESCRIPTION -Container for single transcript ab initio gene prediction ala GenScan. +Container for single transcript ab initio gene prediction ala GenScan or SNAP. Is directly storable/retrievable in EnsEMBL using PredictionTranscript Adaptor. - Creation: my $tran = new Bio::EnsEMBL::PredictionTranscript(); @@ -54,288 +52,66 @@ contact EnsEMBL dev <ensembl-dev@ebi.ac.uk> for information =cut - -# Let the code begin... - package Bio::EnsEMBL::PredictionTranscript; use vars qw(@ISA); use strict; - -use Bio::EnsEMBL::Root; -use Bio::EnsEMBL::Exon; +use Bio::EnsEMBL::Feature; use Bio::EnsEMBL::Transcript; -use Bio::Seq; - -@ISA = qw(Bio::EnsEMBL::Root Bio::EnsEMBL::TranscriptI); - -=head2 new - - Arg [1-] : Bio::EnsEMBL::Exon $exon - Exons which make up this transcript in the right order. - Optional, can be added as well with add_Exon. - Function : Creates a new PredictionTranscript - Returntype: Bio::EnsEMBL::PredictionTranscript - Exceptions: none - Caller : Adaptor, Genscan Runnable - -=cut - -sub new { - my($class,@optional_exons) = @_; - - if( ref $class ) { - $class = ref $class; - } - - my $self = {}; - bless $self,$class; - - # set stuff in self from @args - foreach my $exon (@optional_exons) { - if( ! defined $self->{'exons'} ) { - $self->{'exons'} = []; - } - - $self->add_Exon($exon); - } - - return $self; -} - - - -=head2 stable_id - - Arg [1] : (optional) $stable_id - Example : my $pt_id = $prediction_transcript->stable_id; - Description: Retrieves the stable id fro this prediction transcript. - Prediction transcripts do not maintain stable ids as real - transcripts do - the id is constructed from the name of the - contig the prediction transcript was pulled off of, and the - start and end of the transcript on the contig. - i.e. the stable id is: "$contig_name.$contig_start.$contig_end" - Returntype : string - Exceptions : none - Caller : general, PredictionTranscriptAdaptor - -=cut - -sub stable_id { - my ($self, $value) = @_; +use Bio::EnsEMBL::Translation; - if($value) { - $self->{'_stable_id'} = $value; - } +use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning ); +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); - return $self->{'_stable_id'}; -} +@ISA = qw(Bio::EnsEMBL::Transcript); =head2 coding_region_start - Arg [1] : The new coding start of this prediction transcript in slice - coords. - Function : Getter/Setter for the coding start of this transcript. - Implemented to satisfy requirements of TranscriptI interface - and so that it can be drawn as a Transcript. Since prediction - transcripts do not currently have UTRs the coding start should - return the same value as the start method. - By convention, the coding_region_start is always lower than the - value returned by the coding_region_end method. The value - returned by this function is NOT the biological coding start - since on the reverse strand the biological coding start would - be the higher genomic value. - Returntype: scalar int - Exceptions: none - Caller : GlyphSet_transcript + Arg [1] : none + Example : $coding_region_start = $pt->coding_region_start + Description: Retrieves the start of the coding region of this transcript in + slice coordinates. For prediction transcripts this + is always the start of the transcript (i.e. there is no UTR). + By convention, the coding_region_start is always lower than + the value returned by the coding_end method. + The value returned by this function is NOT the biological + coding start since on the reverse strand the biological coding + start would be the higher genomic value. + Returntype : int + Exceptions : none + Caller : general =cut sub coding_region_start { - my ($self, $arg) = @_; - - if(defined $arg) { - $self->{'coding_region_start'} = $arg; - } elsif(!defined $self->{'coding_region_start'}) { - #if the coding start is not defined, use the start of the transcript - return $self->start(); - } - - return $self->{'coding_region_start'}; + my $self = shift; + return $self->start(); } =head2 coding_region_end - Arg [1] : (optional) The new coding end of this prediction transcript - in slice coords. - Function : Getter/Setter for the coding end of this transcript. - Implemented to satisfy requirements of TranscriptI interface - and so that it can be drawn as a Transcript. Since prediction - transcripts do not currently have UTRs the coding end should - be the same as the end of the transcript. - By convention, the coding_region_start is always lower than the - value returned by the coding_region_end method. The value - returned by this function is NOT the biological coding start - since on the reverse strand the biological coding start would - be the higher genomic value. - Returntype: scalar int - Exceptions: none - Caller : GlyphSet_transcript + Arg [1] : none + Example : $coding_region_end = $transcript->coding_region_end + Description: Retrieves the start of the coding region of this prediction + transcript. For prediction transcripts this is always the same + as the end since no UTRs are stored. + By convention, the coding_region_end is always higher than the + value returned by the coding_region_start method. + The value returned by this function is NOT the biological + coding start since on the reverse strand the biological coding + end would be the lower genomic value. + Returntype : int + Exceptions : none + Caller : general =cut sub coding_region_end { - my ($self, $arg) = @_; - - if(defined $arg) { - $self->{'coding_region_end'} = $arg; - } elsif(!defined $self->{'coding_region_end'}) { - #if the coding end is not defined, use the end of the transcript - return $self->end(); - } - return $self->{'coding_region_end'}; -} - - -=head2 start - - Arg [1] : The new start of this prediction transcript in slice - coords. - Function : Getter/Setter for the start of this transcript. - Implemented to satisfy requirements of TranscriptI interface - and so that it can be drawn as a Transcript. - Returntype: scalar int - Exceptions: none - Caller : GlyphSet_transcript - -=cut - -sub start { - my ($self, $arg) = @_; - - if(defined $arg) { - $self->{'start'} = $arg; - } - - return $self->{'start'}; -} - -=head2 end - - Arg [1] : The new end of this prediction transcript in slice coords. - Function : Getter/Setter for the end of this transcript. - Implemented to satisfy requirements of TranscriptI interface - and so that it can be drawn as a Transcript. - Returntype: scalar int - Exceptions: none - Caller : GlyphSet_transcript - -=cut - -sub end { - my ($self, $arg) = @_; - - if(defined $arg) { - $self->{'end'} = $arg; - } - - return $self->{'end'}; -} - - -## Attribute section ## - -sub analysis { - my ( $self, $value ) = @_; - ( defined $value ) && - ( $self->{'analysis'} = $value ); - return $self->{'analysis'}; -} - - -sub dbID { - my $self = shift; - - if( @_ ) { - my $value = shift; - $self->{'dbID'} = $value; - } - return $self->{'dbID'}; - -} - -sub adaptor { - my $self = shift; - - if( @_ ) { - my $value = shift; - $self->{'adaptor'} = $value; - } - return $self->{'adaptor'}; -} - -## end attribute section ## - -=head2 add_Exon - - Arg 1 : Bio::EnsEMBL::Exon $exon - Arg [2] : int $exon_position - Use it when you know you dont have exons in the - beginning. Useful for the Adaptor when retrieving - partial PT.. - Function : Adds given Exon to this prediction transcript. - It can be at arbitrary position in the array. Not filled lower - positions in the exon list are set undef then. Counting starts at 1. - Returntype: none - Exceptions: if argument is not Bio::EnsEMBL::Exon - Caller : Pipeline runnable Genscan - -=cut - - -sub add_Exon { - my ($self, $exon, $position) = @_; - if( defined $position ) { - $self->{'exons'}[$position-1] = $exon; - } else { - push( @{$self->{'exons'}}, $exon ); - } - - if(defined $exon && (!defined $self->{'start'} || - $exon->start() < $self->{'start'})) { - $self->start($exon->start()); - } - if(defined $exon && (!defined $self->{'end'} || - $exon->end() > $self->{'end'})) { - $self->end($exon->end()); - } -} - - - -=head2 get_all_Exons - - Arg [1] : optional 1 $wish_undefined_exons - Function : Returns all Exons currently in the PredictionTranscript - in the order 5' to 3'. If this is a partial PredictionTranscript, - elements of the list will be undef. - Returntype: listref Bio::EnsEMBL::Exon - Exceptions: none - Caller : self->get_cdna(),Web for display. - -=cut - -sub get_all_Exons { - my ($self, $wish_undefined_exon ) = @_; - - if( $wish_undefined_exon ) { - return $self->{'exons'}; - } else { - return [ grep{ ref( $_ ) eq 'Bio::EnsEMBL::Exon' } @{$self->{'exons'}} ]; - } + my $self = shift; + return $self->end(); } @@ -344,12 +120,10 @@ sub get_all_Exons { Arg [1] : none Example : $exons = $self->get_all_translateable_Exons - Description: Retreives the same value of get_all_Exons for this prediction - transcript with the exception that undefined exons (only when - transcript is in slice coords and exon maps to gap) are not - returned. In a prediction transcript there is no UTR and - thus all exons are entirely translateable. - Returntype : listref of Bio::EnsEMBL::Exon + Description: Retrieves the translateable portion of all exons in this + transcript. For prediction transcripts this means all exons + since no UTRs are stored for them. + Returntype : listref of Bio::EnsEMBL::PredictionExons Exceptions : none Caller : general @@ -357,154 +131,113 @@ sub get_all_Exons { sub get_all_translateable_Exons { my $self = shift; - - return [ grep{ ref( $_ ) eq 'Bio::EnsEMBL::Exon' } @{$self->get_all_Exons(1)} ]; + return $self->get_all_Exons(); } -=head2 sort +=head2 stable_id - Function: Sorts the exons by start coordinate - Sorts forward for forward strand and reverse for reverse strand - It refills $self->{'exons'} with the sorted exons - Returns : none - Args : none + Arg [1] : none + Example : print $pt->stable_id(); + Description: Gets a 'stable' identifier for this prediction transcript. Note + that prediction transcripts do not have real stable + identifiers (i.e. identifiers maintained between releases and + stored in the database) and this method is provided to be + polymorphic with the Transcript class. + The stable identifer returned returned is formed by concating + the logic-name of the prediction transcripts analysis with + the transcripts dbID (0 Left padded to 11digits). + Returntype : string + Exceptions : + Caller : =cut -sub sort { +sub stable_id { my $self = shift; - # dont sort if there are undefined exons - if( grep { ! defined $_ } @{$self->{'exons'}} ) { - return; - } - # Fetch all the exons - my @exons = @{$self->get_all_Exons()}; + my $id = $self->dbID(); + return '' if(!$id); - # Empty the exon holder - $self->flush_Exons(); + my $analysis = $self->analysis(); + my $logic_name = uc($analysis->logic_name()) if($analysis); + $logic_name ||= 'PTRANS'; - # Now sort the exons and put back in the feature table - my $strand = $exons[0]->strand; - - if ($strand == 1) { - @exons = sort { $a->start <=> $b->start } @exons; - } - elsif ($strand == -1) { - @exons = sort { $b->start <=> $a->start } @exons; - } + my $pad = 11; + $pad -= length($id); - foreach my $e (@exons) { - $self->add_Exon($e); - } + return $logic_name . ('0' x $pad) . $id; } +sub get_all_DBEntries { return []; } -=head2 get_exon_count +sub get_all_DBLinks { return []; } - Args : none - Function : How many exons are in this PTranscript. Some might - not be in this object, depending on how it was retrieved. - (non golden exons missing on Slice->get_predicitonTranscripts()) - Returntype: int - Exceptions: none - Caller : general +sub add_DBEntry {} -=cut +sub external_db { return undef; } +sub external_status { return undef; } -sub get_exon_count { - my $self = shift; - return scalar( @{$self->{'exons'}} ); -} +sub external_name { return undef; } +sub is_known { return 0;} -=head2 set_exon_count +=head2 translation - Arg 1 : int $number_of_exons - If the number of exons you put in with add_exon is not the - real number of exons in the Transcript, you can set it here. - Might be necessary in db gets, where you dont get all. - Function : sets number of exons, so get_all_Exons returns more undef exons - at the end. After this, you have to use position argument when you - want to insert Exons. - Returntype: none - Exceptions: If you set less then already in, you loose what you have :) - Caller : $self->adaptor() + Arg [1] : none + Example : $translation = $pt->translation(); + Description: Retrieves a Bio::EnsEMBL::Translation object for this prediction + transcript. Note that this translation is generated on the fly + and is not stored in the database. The translation always + spans the entire transcript (no UTRs; all CDS) and does not + have an associated dbID, stable_id or adaptor. + Returntype : int + Exceptions : none + Caller : general =cut -sub set_exon_count { +sub translation { my $self = shift; - my $number_of_exons = shift; - - if( ! defined $self->{'exons'} ) { - $self->{'exons'} = []; - } - - $#{$self->{'exons'}} = $number_of_exons-1; -} + #calculate translation on the fly + my $strand = $self->strand(); + my $start_exon; + my $end_exon; -=head2 length - - Args : none - Function : length of DNA of all Exons in the PT together. No phase padding - is done. - Returntype: int - Exceptions: differs from length in get_cdna() as that might be padded. - Caller : unknown + my @exons = @{$self->get_all_Exons()}; -=cut + return undef if(!@exons); + if($strand == 1) { + $start_exon = $exons[0]; + $end_exon = $exons[-1]; + } else { + $start_exon = $exons[-1]; + $end_exon = $exons[0]; + } -sub length { - my( $self ) = @_; - - my $length = 0; - foreach my $ex (@{$self->get_all_Exons}) { - if( defined $ex ) { $length += $ex->length }; - } - return $length; + return + Bio::EnsEMBL::Translation->new(-START_EXON => $start_exon, + -END_EXON => $end_exon, + -SEQ_START => 1, + -SEQ_END => $end_exon->length()); } - -=head2 flush_Exons - - Args : none - Function : Removes all Exons from this PT. Resets count to zero. - Returntype: none - Exceptions: none - Caller : for completeness, use not likely. - -=cut - -sub flush_Exons { - my ($self,@args) = @_; - - $self->{'exons'} = []; - $self->{'start'} = undef; - $self->{'end'} = undef; - $self->{'coding_start'} = undef; - $self->{'coding_end'} = undef; -} - - =head2 translate Args : none Function : Give a peptide translation of all exons currently in the PT. Gives empty string when none is in. Returntype: a Bio::Seq as in transcript->translate() - Exceptions: if the exons come in two or more groups, with an undef exon - in the middle, only the first group is translated. + Exceptions: none Caller : general =cut @@ -513,7 +246,7 @@ sub flush_Exons { sub translate { my ($self) = @_; - my $dna = $self->get_cdna(); + my $dna = $self->translateable_seq(); $dna =~ s/TAG$|TGA$|TAA$//i; # the above line will remove the final stop codon from the mrna # sequence produced if it is present, this is so any peptide produced @@ -522,322 +255,203 @@ sub translate { # or call translatable seq directly and produce a translation from it my $bioseq = new Bio::Seq( -seq => $dna, -moltype => 'dna' ); - + return $bioseq->translate(); } - -=head2 get_cdna +=head2 cdna_coding_start - Args : none - Function : Give a concat cdna of all exons currently in - the PT. Gives empty string when none is in. Pads between not - phase matching exons. Builds internal coord translation table. - Returntype: txt - Exceptions: if the exons come in two or more groups, with an undef exon - in the middle, only the first groups cdna is returned. - Caller : general, $self->translate() + Arg [1] : none + Example : $relative_coding_start = $transcript->cdna_coding_start; + Description: Retrieves the position of the coding start of this transcript + in cdna coordinates (relative to the start of the 5prime end of + the transcript, excluding introns, including utrs). This is + always 1 for prediction transcripts because they have no UTRs. + Returntype : int + Exceptions : none + Caller : five_prime_utr, get_all_snps, general =cut -sub get_cdna { - my $self = shift; - - my $exons = $self->get_all_Exons(); - - my $cdna = undef; - my $lastphase = 0; - - my ( $cdna_start, $cdna_end ); - my ( $pep_start, $pep_end ); - my ( $new_cdna, $pep_count ); - - $cdna_start = 1; - $pep_start = 1; +sub cdna_coding_start { return 1; } - $self->{'_exon_align'} = []; - for my $exon ( @$exons ) { - my $exon_align = {}; - if( ! defined $exon ) { - if( ! defined $cdna ) { - next; - } else { - last; - } - } - push( @{$self->{'_exon_align'}}, $exon_align ); +=head2 cdna_coding_end - my $phase = 0; - - if (defined($exon->phase)) { - $phase = $exon->phase; - } - - if( $phase != $lastphase ) { - - if( $lastphase == 1 ) { - $cdna .= 'NN'; - $cdna_start += 2; - $pep_start++; - } elsif( $lastphase == 2 ) { - $cdna .= 'N'; - $cdna_start += 1; - $pep_start++; - } - - #startpadding for this exon - $cdna .= 'N' x $phase; - $cdna_start += $phase; - } - - $new_cdna = $exon->seq->seq(); -# print $new_cdna."\n"; - $cdna .= $new_cdna; - $cdna_end = $cdna_start + CORE::length( $new_cdna ) - 1; - - # how many peptides are added by this exon?? - - $pep_count = int( ( CORE::length( $new_cdna ) + $phase + 2 ) / 3 ); - - $pep_end = $pep_start + $pep_count - 1; - $lastphase = $exon->end_phase(); - - $exon_align->{ 'cdna_start' } = $cdna_start; - $exon_align->{ 'cdna_end' } = $cdna_end; - $exon_align->{ 'pep_start' } = $pep_start; - $exon_align->{ 'pep_end' } = $pep_end; - $exon_align->{ 'exon' } = $exon; - - if( $lastphase == 0 ) { - $pep_start = $pep_end + 1; - } else { - $pep_start = $pep_end; - } - $cdna_start = $cdna_end+1; + Arg [1] : none + Example : $relative_coding_start = $transcript->cdna_coding_start; + Description: Retrieves the position of the coding end of this transcript + in cdna coordinates (relative to the start of the 5prime end of + the transcript, excluding introns, including utrs). This is + always te length of the cdna for prediction transcripts because + they have no UTRs. + Returntype : int + Exceptions : none + Caller : five_prime_utr, get_all_snps, general - } +=cut - if( ! defined $cdna ) { $cdna = '' }; - return $cdna +sub cdna_coding_end { + my $self = shift; + return length($self->spliced_seq); } +=head2 transform -=head1 pep2genomic - - Arg 1 : integer start - relative to peptide - Arg 2 : integer end - relative to peptide - - Function : Provides a list of Bio::EnsEMBL::SeqFeatures which - is the genomic coordinates of this start/end on the peptide - - Returns : list of Bio::EnsEMBL::SeqFeature + Arg 1 : String $coordinate_system_name + Arg [2] : String $coordinate_system_version + Example : $ptrans = $ptrans->transform('chromosome', 'NCBI33'); + $ptrans = $ptrans->transform('clone'); + Description: Moves this PredictionTranscript to the given coordinate system. + If this Transcript has Exons attached, they move as well. + A new Transcript is returned or undefined if this PT is not + defined in the new coordinate system. + Returntype : Bio::EnsEMBL::PredictionTranscript + Exceptions : wrong parameters + Caller : general =cut -sub pep2genomic { - my ($self,$start,$end) = @_; +sub transform { + my $self = shift; - if( !defined $end ) { - $self->throw("Must call with start/end"); + # catch for old style transform calls + if( ref $_[0] && $_[0]->isa( "Bio::EnsEMBL::Slice" )) { + throw("transform needs coordinate systems details now," . + "please use transfer"); } - # move start end into translate cDNA coordinates now. - # much easier! - $start = 3* $start-2; - $end = 3* $end; - - # - # Adjust the phase - # - my $exons = $self->get_all_Exons; - if($exons && (my $e = $exons->[0])) { - $start -= $e->phase; - $end -= $e->phase; + my $new_transcript = Bio::EnsEMBL::Feature::transform($self, @_ ); + return undef unless $new_transcript; + + #go through the _trans_exon_array so as not to prompt lazy-loading + if(exists($self->{'_trans_exon_array'})) { + my @new_exons; + foreach my $old_exon ( @{$self->{'_trans_exon_array'}} ) { + my $new_exon = $old_exon->transform(@_); + push(@new_exons, $new_exon); + } + $new_transcript->{'_trans_exon_array'} = \@new_exons; } - return $self->cdna2genomic( $start, $end ); + return $new_transcript; } -=head2 cdna2genomic +=head2 transfer - Arg [1] : $start - The start position in genomic coordinates - Arg [2] : $end - The end position in genomic coordinates - Arg [3] : (optional) $strand - The strand of the genomic coordinates - Example : @coords = $transcript->cdna2genomic($start, $end); - Description: Converts cdna coordinates to genomic coordinates. The - return value is a list of coordinates and gaps. - Returntype : list of Bio::EnsEMBL::Mapper::Coordinate and - Bio::EnsEMBL::Mapper::Gap objects + Arg 1 : Bio::EnsEMBL::Slice $destination_slice + Example : $ptrans = $ptrans->transfer($slice); + Description: Moves this PredictionTranscript to the given slice. + If this Transcripts has Exons attached, they move as well. + If this transcript cannot be moved then undef is returned + instead. + Returntype : Bio::EnsEMBL::PredictionTranscript Exceptions : none Caller : general =cut -sub cdna2genomic { +sub transfer { my $self = shift; - my $start = shift || 1; - my $end = shift || $self->length; - if( !defined $end ) { - $self->throw("Must call with start/end"); - } + my $new_transcript = $self->SUPER::transfer( @_ ); + return undef unless $new_transcript; - my $mapper = $self->_get_cdna_coord_mapper(); + if( exists $self->{'_trans_exon_array'} ) { + my @new_exons; + for my $old_exon ( @{$self->{'_trans_exon_array'}} ) { + my $new_exon = $old_exon->transfer( @_ ); + push( @new_exons, $new_exon ); + } - return $mapper->map_coordinates( $self, $start, $end, 1, "cdna" ); -} + $new_transcript->{'_trans_exon_array'} = \@new_exons; + } + return $new_transcript; +} +=head2 get_all_Exons -=head2 genomic2cdna - - Arg [1] : $start - The start position in genomic coordinates - Arg [2] : $end - The end position in genomic coordinates - Arg [3] : (optional) $strand - The strand of the genomic coordinates (default value 1) - Arg [4] : (optional) $contig - The contig the coordinates are on. This can be a slice - or RawContig, but must be the same object in memory as - the contig(s) of this transcripts exon(s), because of the - use of object identity. If no contig argument is specified the - contig of the first exon is used, which is fine for slice - coordinates but may cause incorrect mappings in raw contig - coords if this transcript spans multiple contigs. - Example : @coords = $transcript->genomic2cdna($start, $end, $strnd, $ctg); - Description: Converts genomic coordinates to cdna coordinates. The - return value is a list of coordinates and gaps. Gaps - represent intronic or upstream/downstream regions which do - not comprise this transcripts cdna. Coordinate objects - represent genomic regions which map to exons (utrs included). - Returntype : list of Bio::EnsEMBL::Mapper::Coordinate and - Bio::EnsEMBL::Mapper::Gap objects + Arg [1] : none + Example : my @exons = @{$transcript->get_all_Exons()}; + Description: Returns an listref of the exons in this transcipr in order. + i.e. the first exon in the listref is the 5prime most exon in + the transcript. + Returntype : a list reference to Bio::EnsEMBL::Exon objects Exceptions : none Caller : general =cut -sub genomic2cdna { - my ($self, $start, $end, $strand, $contig) = @_; - - unless(defined $start && defined $end) { - $self->throw("start and end arguments are required\n"); - } - $strand = 1 unless(defined $strand); - - #"ids" in mapper are contigs of exons, so use the same contig that should - #be attached to all of the exons... - unless(defined $contig) { - my @exons = @{$self->get_all_translateable_Exons}; - return () unless(@exons); - $contig = $exons[0]->contig; - } - my $mapper = $self->_get_cdna_coord_mapper; - - return $mapper->map_coordinates($contig, $start, $end, $strand, "genomic"); +sub get_all_Exons { + my ($self) = @_; + if( ! defined $self->{'_trans_exon_array'} && defined $self->adaptor() ) { + $self->{'_trans_exon_array'} = $self->adaptor()->db()-> + get_PredictionExonAdaptor()->fetch_all_by_PredictionTranscript( $self ); + } + return $self->{'_trans_exon_array'}; } +=head2 display_id -=head2 _get_cdna_coord_mapper - - Args : none - Example : none - Description: creates and caches a mapper from "cdna" coordinate system to - "genomic" coordinate system. Uses Exons to help with that. Only - calculates in the translateable part. - Returntype : Bio::EnsEMBL::Mapper( "cdna", "genomic" ); + Arg [1] : none + Example : print $rf->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For prediction transcripts this is + the stable_id if it is available otherwise it is an empty + string. + Returntype : string Exceptions : none - Caller : cdna2genomic, pep2genomic + Caller : web drawing code =cut -sub _get_cdna_coord_mapper { - my ( $self ) = @_; - - if( defined $self->{'_exon_coord_mapper'} ) { - return $self->{'_exon_coord_mapper'}; - } - - # - # the mapper is loaded with OBJECTS in place of the IDs !!!! - # the objects are the contigs in the exons - # - my $mapper; - $mapper = Bio::EnsEMBL::Mapper->new( "cdna", "genomic" ); - my @exons = @{$self->get_all_translateable_Exons() }; - my $start = 1; - for my $exon ( @exons ) { - $exon->load_genomic_mapper( $mapper, $self, $start ); - $start += $exon->length; - } - $self->{'_exon_coord_mapper'} = $mapper; - return $mapper; +sub display_id { + my $self = shift; + return $self->stable_id() || ''; } +=head2 get_exon_count -=head2 type - - Arg [1] : (optional) string $type - Example : none - Description: Getter setter for the type of this prediction transcript - Returntype : string - Exceptions : none - Caller : none + Description: DEPRECATED - use get_all_Exons instead =cut -sub type { - my ($self, $type) = @_; - - if(defined $type) { - $self->{'_type'} = $type; - } - - return $self->{'_type'}; +sub get_exon_count { + my $self = shift; + deprecate('Use scalar(@{$transcript->get_all_Exon()s}) instead'); + return scalar( @{$self->get_all_Exons} ); } -=head2 transform +=head2 set_exon_count - Arg [1] : (optional) $slice - The slice to transform this transcript to. If not provided - the transcript is transformed to raw contig coords. - Example : $pt->transform($slice) - Description: Transforms this prediction transcript to slice or chromosomal - coordinates - Returntype : none - Exceptions : none - Caller : general + Description: DEPRECATED - this method does nothing now =cut -sub transform { - my $self = shift; +sub set_exon_count { + deprecate('This method no longer does anything.'); +} - my @exons; - foreach my $exon (@{$self->get_all_Exons()}) { - push @exons, $exon->transform(@_); - } - #flush the exons and all related internal caches - $self->flush_Exons(); +=head2 get_cdna - # attach the new list of exons to the transcript - $self->{'exons'} = \@exons; -} + Description : DEPRECATED - use spliced_seq() or translateable_seq instead +=cut +sub get_cdna { + my $self = shift; + deprecate('use spliced_seq instead'); + return $self->spliced_seq(); +} 1; diff --git a/modules/Bio/EnsEMBL/Protein.pm b/modules/Bio/EnsEMBL/Protein.pm index ce55b21113..1c2b3bc0c3 100644 --- a/modules/Bio/EnsEMBL/Protein.pm +++ b/modules/Bio/EnsEMBL/Protein.pm @@ -12,97 +12,46 @@ =head1 NAME -Protein.pm - DESCRIPTION of Object +Protein.pm - DEPRECATED - Use Bio::EnsEMBL::Translation instead =head1 SYNOPSIS -my $protein = Bio::EnsEMBL::Protein->new ( -seq =>$sequence, - -accession_number => $id, - -display_id => $id, - -primary_id => $id, - -id => $id, - -desc => $desc, - -moltype => $moltype, - ); - - =head1 DESCRIPTION -This object inherit from Bio::SeqI for the implementation and from PrimarySeq -A protein object hold the basic PrimarySeq requirements, hold annotation, DBlink, protein_features object. -It will also soon hold family and SNPs objects. The DB adaptor for this object is called Protein_Adaptor -Most of the calls should be done from the protein object, the protein object will then deal with calling the rigth DBadaptor (ProteinAdaptor, ProteinFeatureAdaptor, ...) - -=head1 CONTACT - -Describe contact details here - -=head1 APPENDIX +Do not use this object. Use Bio::EnsEMBL::Translation instead. -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... - - package Bio::EnsEMBL::Protein; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::Root; - -use Bio::SeqI; -use Bio::EnsEMBL::Transcript; -use Bio::SeqIO; -use Bio::Tools::SeqStats; - -# Object preamble - inheriets from Bio::Root::Object +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate); +use Bio::EnsEMBL::Translation; -@ISA = qw( Bio::PrimarySeq Bio::SeqI); +@ISA = qw( Bio::EnsEMBL::Translation ); -=head2 SeqI interface features -=cut - - - -=head2 adaptor - - Title : adaptor - Usage : $self->adaptor($adaptor) - Function: Getter/Setter for the ProteinAdaptor for this object - Example : my $db = $prot->adaptor()->db(); - Returns : a ProteinAdaptor object - Args : (optional) a new ProteinAdaptor -=cut - -sub adaptor { - my ($self, $adaptor) = @_; - - if(defined $adaptor) { - $self->{_adaptor} = $adaptor; - } - return $self->{_adaptor}; +sub new { + deprecate("The Protein class is deprecated. Use the Translation and " . + "Transcript classes instead.\n"); + return bless {}, 'Bio::EnsEMBL::Protein'; } - =head2 species - Title : species - Usage : $obj->species($newval) - Function: - Returns : value of species - Args : newvalue (optional) - + Description : DEPRECATED no replacement exists. =cut sub species{ my $obj = shift; + + deprecate("You should not have to use this method."); if( @_ ) { my $value = shift; $obj->{'species'} = $value; @@ -113,12 +62,7 @@ sub species{ =head2 primary_seq - Title : primary_seq - Usage : $obj->primary_seq($newval) - Function: - Returns : value of primary_seq - Args : newvalue (optional) - + Description: DEPRECATE do not use =cut @@ -131,66 +75,69 @@ sub primary_seq{ =head2 gene - Title : gene - Usage : my $gene = $prot->gene() - Function: Getter/Setter for the gene associated with this protein - Returns : Bio::EnsEMBL::Gene - Args : newvalue (optional) + Description : DEPRECATED + use GeneAdaptor::fetch_by_translation_stable_id instead =cut sub gene { - my ($self, $gene) = @_; + my $self = shift; - if(defined $gene) { - unless($gene->isa('Bio::EnsEMBL::Gene')) { - $self->throw("$gene is not a valid Bio::EnsEMBL::Gene object"); - } - $self->{'_gene'} = $gene; + deprecate("Use GeneAdaptor::fetch_by_translation_stable_id"); + + my $adaptor = $self->adaptor(); + if(!$adaptor) { + warning("Cannot get gene without attached adaptor"); + return undef; } - return $self->{'_gene'}; + my $stable_id = $self->stable_id(); + if(!$stable_id) { + warning("Cannot get gene without translation stable_id"); + return undef; + } + my $g_adaptor = $adaptor->db->get_GeneAdaptor(); + return $g_adaptor->fetch_by_translation_stable_id($stable_id); } =head2 transcript - Title : transcript - Usage : my $transcript = $prot->transcript() - Function: Getter/Setter for the gene associated with this protein - Returns : Bio::EnsEMBL::Transcript - Args : newvalue (optional) + Description : DEPRECATED + use Bio::EnsEMBL::TranscriptAdaptor::fetch_by_translation_stable_id instead =cut sub transcript { - my ($self, $transcript) = @_; + my $self = shift; + deprecate("Use TranscriptAdaptor::fetch_by_translation_stable_id"); - if(defined $transcript) { - unless($transcript->isa('Bio::EnsEMBL::Transcript')) { - $self->throw("$transcript is not a valid" . - "Bio::EnsEMBL::Transcript object"); - } - $self->{'_transcript'} = $transcript; + my $adaptor = $self->adaptor(); + if(!$adaptor) { + warning("Cannot get transcript without attached adaptor"); + return undef; + } + + my $stable_id = $self->stable_id(); + if(!$stable_id) { + warning("Cannot get transcript without translation stable_id"); + return undef; } - return $self->{'_transcript'}; + my $tr_adaptor = $adaptor->db->get_TranscriptAdaptor(); + return $tr_adaptor->fetch_by_translation_stable_id($stable_id); } =head2 molecule - Title : molecule - Usage : $obj->molecule($newval) - Function: - Returns : value of molecule - Args : newvalue (optional) - + Description: DEPRECATED - No replacement. =cut sub molecule{ my $obj = shift; + deprecate("You should not have to use this method."); if( @_ ) { my $value = shift; $obj->{'molecule'} = $value; @@ -200,18 +147,14 @@ sub molecule{ } =head2 moltype - - Title : moltype - Usage : $obj->moltype($newval) - Function: - Returns : value of moltype - Args : newvalue (optional) - + + Description: DEPRECATED - No replacement. =cut sub moltype{ my $obj = shift; + deprecate("You should not have to use this method."); if( @_ ) { my $value = shift; $obj->{'moltype'} = $value; @@ -222,57 +165,21 @@ sub moltype{ =head2 top_SeqFeatures - Title : top_SeqFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED - use TranslationAdaptor::get_all_ProteinFeatures =cut sub top_SeqFeatures { - my ($self,@args) = @_; - - return @{$self->get_all_ProteinFeatures}; -} - - - - -sub get_all_ProteinFeatures { my $self = shift; - - my @f = (); - - push(@f, @{$self->get_all_DomainFeatures()}); - - push(@f, @{$self->get_all_blastpFeatures()}); - - push(@f, @{$self->get_all_SigpFeatures()}); - - push(@f, @{$self->get_all_TransmembraneFeatures()}); - - push(@f, @{$self->get_all_CoilsFeatures()}); - - push(@f, @{$self->get_all_LowcomplFeatures()}); - - return \@f; + deprecate("Use TranslationAdaptor::get_all_ProteinFeatures"); + return @{$self->get_all_ProteinFeatures()}; } +=head2 get_all_Families -=head2 get_Family - - Title : get_Family - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -293,16 +200,9 @@ sub get_all_Families{ } - =head2 add_Family - Title : add_Family - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -311,83 +211,29 @@ sub add_Family{ unless(defined $value && $value->isa('Bio::EnsEMBL::ExternalData::Family::Family')) { - $self->throw("[$value] is not a Family object"); + throw("[$value] is not a Family object"); } push(@{$self->{'_family'}},$value); } -=head2 Protein Specific Features -=cut - -=head2 get_all_DomainFeatures - - Title : get_all_DomainFeatures - Usage : - Function: - Example : - Returns : - Args : - - -=cut - -sub get_all_DomainFeatures{ - my ($self) = @_; - - if (defined ($self->{'_domains'})) { - return $self->{'_domains'}; - } - - my @f = (); - push(@f,@{$self->get_all_PrintsFeatures()}); - push(@f,@{$self->get_all_PfamFeatures()}); - push(@f,@{$self->get_all_PrositeFeatures()}); - push(@f,@{$self->get_all_SuperfamilyFeatures()}); - push(@f,@{$self->get_all_ProfileFeatures()}); - - return \@f; -} =head2 get_all_ProfileFeatures - Title : get_all_ProfileFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description : DEPRECATED - use Translation::get_all_ProteinFeatures('pfscan') =cut sub get_all_ProfileFeatures{ my ($self) = @_; - - unless(defined ($self->{'_profile'})) { - $self->{'_profile'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor->db()->get_ProteinFeatureAdaptor; - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('PROFILE',$proteinid); - foreach my $in (@$array_features) { - $self->add_Profile($in); - } - } - - return ( $self->{'_profile'} || [] ); + deprecate("Use Translation::get_all_ProteinFeatures('pfscan') instead"); + return $self->get_all_ProteinFeatures('pfscan'); } =head2 add_Profile - Title : add_Profile - Usage : - Function: - Example : - Returns : - Args : - + Description : DEPRECATED =cut @@ -395,7 +241,7 @@ sub add_Profile{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("The Protein Feature added is not defined or is not a " + throw("The Protein Feature added is not defined or is not a " ."protein feature object"); } @@ -405,42 +251,19 @@ sub add_Profile{ =head2 get_all_blastpFeatures - Title : get_all_blastpFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description : DEPRECATED use Translation::get_all_ProteinFeatures('blastp') =cut sub get_all_blastpFeatures{ - my ($self) = @_; - - unless(defined ($self->{'_blastp'})) { - $self->{'_blastp'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('blastp',$proteinid); - foreach my $in (@$array_features) { - $self->add_blastp($in); - } - } - - return ( $self->{'_blastp'} || [] ); + my $self = shift; + deprecate("Use Translation::get_all_ProteinFeatures('blastp') instead"); + return $self->get_all_ProteinFeatures('blastp'); } =head2 add_blastp - Title : add_blastp - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -448,7 +271,7 @@ sub add_blastp{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not defined or is not a protein feature object"); + throw("[$value] is not defined or is not a protein feature object"); } push(@{$self->{'_blastp'}},$value); @@ -456,90 +279,48 @@ sub add_blastp{ =head2 get_all_PrintsFeatures - Title : get_all_PrintsFeatures - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED - use Translation::get_all_ProteinFeatures('prints'); =cut sub get_all_PrintsFeatures{ my ($self) = @_; - - unless(defined ($self->{'_prints'})) { - $self->{'_prints'} = []; # init in case there are no PRINTS - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('PRINTS',$proteinid); - foreach my $in (@$array_features) { - $self->add_Prints($in); - } - } - return ( $self->{'_prints'} || [] ); + deprecate('Use Translation::get_all_ProteinFeatures("prints") instead.'); + return $self->get_all_ProteinFeatures('prints'); } =head2 add_Prints - Title : add_Prints - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut sub add_Prints{ - my ($self,$value) = @_; - - if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); - } - - push(@{$self->{'_prints'}},$value); + my ($self,$value) = @_; + if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { + throw("[$value] is not a protein feature object"); + } + + push(@{$self->{'_prints'}},$value); } =head2 get_all_PfamFeatures - Title : get_all_PfamFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED use Translation::get_all_ProteinFeatures('pfam'); =cut sub get_all_PfamFeatures{ my ($self) = @_; - - unless($self->{'_pfam'}) { - $self->{'_pfam'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('Pfam',$proteinid); - foreach my $in (@$array_features) { - $self->add_Pfam($in); - } - } - return ( $self->{'_pfam'} || [] ); + deprecate('Use Translation::get_all_ProteinFeatures("pfam") instead'); + return $self->get_all_ProteinFeatures('pfam'); } + =head2 add_Pfam - Title : add_Pfam - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED =cut @@ -547,7 +328,7 @@ sub add_Pfam{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); + throw("[$value] is not a protein feature object"); } push(@{$self->{'_pfam'}},$value); @@ -556,39 +337,19 @@ sub add_Pfam{ =head2 get_all_PrositeFeatures - Title : get_all_PrositeFeatures - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED use Translation::get_all_PrositeFeatures('scanprosite'); =cut sub get_all_PrositeFeatures{ my ($self) = @_; - - unless(defined ($self->{'_prosite'})) { - $self->{'_prosite'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('PROSITE',$proteinid); - foreach my $in (@$array_features) { - $self->add_Prosite($in); - } - } - return ( $self->{'_prosite'} || [] ); + deprecate('Use Translation::get_all_ProteinFeatures("scanprosite")'); + return $self->get_all_ProteinFeatures("scanprosite"); } =head2 add_Prosite - Title : add_Prosite - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED =cut @@ -596,7 +357,7 @@ sub add_Prosite{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); + throw("[$value] is not a protein feature object"); } push(@{$self->{'_prosite'}},$value); @@ -604,41 +365,20 @@ sub add_Prosite{ =head2 get_all_SigpFeatures - Title : get_all_SigpFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED - use Translation::get_all_ProteinFeatures instead =cut sub get_all_SigpFeatures{ my ($self) = @_; + deprecate("Use Translation::get_all_ProteinFeatures('signalp') instead."); + return $self->get_all_ProteinFeatures('signalp'); - unless(defined ($self->{'_sigp'})) { - $self->{'_sigp'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('Signalp',$proteinid); - foreach my $in (@$array_features) { - $self->add_Sigp($in); - } - } - return ( $self->{'_sigp'} || [] ); } =head2 add_Sigp - Title : add_Sigp - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -646,7 +386,7 @@ sub add_Sigp{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not defined or is not a protein feature object"); + throw("[$value] is not defined or is not a protein feature object"); } push(@{$self->{'_sigp'}},$value); } @@ -654,43 +394,19 @@ sub add_Sigp{ =head2 get_all_TransmembraneFeatures - Title : get_all_TransmembraneFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED - use Translation::get_all_ProteinFeatures =cut sub get_all_TransmembraneFeatures{ - my ($self) = @_; - - unless(defined ($self->{'_transmembrane'})) { - $self->{'_transmembrane'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('Tmhmm',$proteinid); - foreach my $in (@$array_features) { - $self->add_Transmembrane($in); - } - } - - return ( $self->{'_transmembrane'} || [] ); - + my $self = shift; + deprecate("Use Translation::get_all_ProteinFeatures('tmhmm') instead"); + return $self->get_all_ProteinFeatures('tmhmm'); } =head2 add_Transmembrane - Title : add_Transmembrane - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -698,7 +414,7 @@ sub add_Transmembrane{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("The Protein Feature added is not defined" . + throw("The Protein Feature added is not defined" . "or is not a protein feature object"); } push(@{$self->{'_transmembrane'}},$value); @@ -706,41 +422,19 @@ sub add_Transmembrane{ =head2 get_all_CoilsFeatures - Title : get_all_CoilsFeatures - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED use Translation::get_all_ProteinFeatures instead =cut sub get_all_CoilsFeatures{ - my ($self) = @_; - - unless(defined ($self->{'_coils'})) { - $self->{'_coils'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('ncoils',$proteinid); - foreach my $in (@$array_features) { - $self->add_Coils($in); - } - } - return ( $self->{'_coils'} || [] ); + my $self = shift; + deprecate("Use Translation::get_all_ProteinFeatures('ncoils') instead."); + return $self->get_all_ProteinFeatures('ncoils'); } =head2 add_Coils - Title : add_Coils - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -748,46 +442,27 @@ sub add_Coils{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); + throw("[$value] is not a protein feature object"); } push(@{$self->{'_coils'}},$value); } + =head2 get_all_LowcomplFeatures - Title : get_all_LowcomplFeatures - Usage : - Function: - Example : - Returns : - Args : + Description: DEPRECATED use Translation::get_all_ProteinFeatures('seg'); =cut sub get_all_LowcomplFeatures{ - my ($self) = @_; - - unless (defined ($self->{'_lowcompl'})) { - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db()->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('Seg',$proteinid); - foreach my $in (@$array_features) { - $self->add_Lowcompl($in); - } - } - return ( $self->{'_lowcompl'} || [] ); + my $self = shift; + deprecate("Use Translation::get_all_ProteinFeatures('seg')"); + return $self->get_all_ProteinFeatures('seg'); } =head2 add_LowCompl - Title : add_LowCompl - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -795,7 +470,7 @@ sub add_Lowcompl{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); + throw("[$value] is not a protein feature object"); } push(@{$self->{'_lowcompl'}},$value); @@ -803,41 +478,19 @@ sub add_Lowcompl{ =head2 get_all_SuperfamilyFeatures - Title : get_all_SuperfamilyFeatures - Usage : - Function: - Example : - Returns : - Args : - +Description: DEPRECATED - use Translation::get_all_ProteinFeatures instead =cut sub get_all_SuperfamilyFeatures{ - my ($self) = @_; - - unless(defined ($self->{'_superfamily'})) { - $self->{'_superfamily'} = []; - my $proteinid = $self->id(); - my $pfa = $self->adaptor()->db->get_ProteinFeatureAdaptor(); - my $array_features = - $pfa->fetch_all_by_feature_and_dbID('superfamily',$proteinid); - foreach my $in (@$array_features) { - $self->add_Superfamily($in); - } - } - return ( $self->{'_superfamily'} || [] ); + my $self = shift; + deprecate("Use Translation::get_all_ProteinFeatures('superfamily') instead"); + return $self->get_all_ProteinFeatures('superfamily'); } =head2 add_Superfamily - Title : add_Superfamily - Usage : - Function: - Example : - Returns : - Args : - + Description: DEPRECATED =cut @@ -845,94 +498,47 @@ sub add_Superfamily{ my ($self,$value) = @_; if ((!defined $value) || (!$value->isa('Bio::EnsEMBL::ProteinFeature'))) { - $self->throw("[$value] is not a protein feature object"); + throw("[$value] is not a protein feature object"); } push(@{$self->{'_superfamily'}},$value); } - - =head2 length - Title : length - Usage :my $lenght = $protein->length - Function: - Example : - Returns :length of the aa sequence - Args :none - + DEPRECATED : use $transcript->translate->length instead =cut sub length{ - my ($self) = @_; - my $length = length($self->seq); - - return $length; - + my $self = shift; + deprecate("use transcript->translate->length instead"); + return $self->transcript->translate->length(); } -=head2 get_all_DBlinks - - Title : get_all_DBlinks - Usage : - Function: - Example : - Returns : - Args : - - -=cut - -sub get_all_DBLinks{ - my ($self) = @_; - - unless(defined $self->{'_dblinks'}) { - $self->{'_dblinks'} = []; - my $transcript = $self->transcript(); - unless(defined $transcript) { - throw("Cannot fetch Protein DBLinks without a valid Transcript.\n"); - } - - my $dbea = $self->adaptor()->db()->get_DBEntryAdaptor(); - $self->{'_dblinks'} = - $dbea->fetch_all_by_Translation($transcript->translation); - } - - return $self->{'_dblinks'}; +sub primary_id { + my $self = shift; + deprecate("Use Translation::dbID or Translation::stable_id instead."); + return $self->stable_id || $self->dbID; } -=head2 get_all_DASFeatures +sub id { + my $self = shift; + deprecate("Use Translation::dbID or Translation::stable_id instead."); + return $self->stable_id || $self->dbID; +} - Arg [1] : none - Example : $features = $prot->get_all_DASFeatures; - Description: Retreives a hash reference to a hash of DAS feature - sets, keyed by the DNS, NOTE the values of this hash - are an anonymous array containing: - (1) a pointer to an array of features; - (2) a pointer to the DAS stylesheet - Returntype : hashref of Bio::SeqFeatures - Exceptions : ? - Caller : webcode -=cut - -sub get_all_DASFeatures{ - my ($self,@args) = @_; - my %das_features; - foreach my $dasfact( $self->adaptor()->db()->_each_DASFeatureFactory ){ - my @featref = $dasfact->fetch_all_by_DBLink_Container( $self ); - $das_features{$dasfact->_dsn} = [@featref]; - } - return \%das_features; +sub seq { + my $self = shift; + deprecate("Use Translation::translate instead."); + return $self->transcript->translate()->seq(); } - 1; diff --git a/modules/Bio/EnsEMBL/ProteinFeature.pm b/modules/Bio/EnsEMBL/ProteinFeature.pm index 19a1278b6e..63cfe07c8d 100755 --- a/modules/Bio/EnsEMBL/ProteinFeature.pm +++ b/modules/Bio/EnsEMBL/ProteinFeature.pm @@ -16,29 +16,79 @@ ProteinFeature.pm - DESCRIPTION of Object =head1 SYNOPSIS -my $feature = new Bio::EnsEMBL::ProteinFeature(-feature1 => $feat1, - -feature2 => $feat2,); -=head1 DESCRIPTION + my $feature = Bio::EnsEMBL::ProteinFeature->new + (-start => $start, + -end => $end, + -hstart => $hit_start, + -hend => $hit_end, + -hname => $hit_name); -This object inherits from Bio::EnsEMBL::FeaturePair. This extension has been implemented to work with the Protein object. Each Protein Feature should be stored in a Protein_FeaturePair object. +=head1 DESCRIPTION -This object was formerly named Protein_FeaturePair. +ProteinFeature objects represent domains or other features of interest +on a peptide sequence. =head1 CONTACT -mongin@ebi.ac.uk + Post questions to the EnsEMBL development list ensembl-dev@sanger.ac.uk =cut package Bio::EnsEMBL::ProteinFeature; -use vars qw(@ISA); + use strict; + use Bio::EnsEMBL::FeaturePair; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use vars qw(@ISA); @ISA = qw(Bio::EnsEMBL::FeaturePair); -=head2 idesc + + +=head2 new + + Arg [IDESC] : (optional) string An interpro description + Arg [INTERPRO_AC] : (optional) string An interpro accession + Arg [...] : named arguments to FeaturePair superclass + Example : $pf = Bio::EnsEMBL::ProteinFeature->new(-IDESC => $idesc, + -INTERPRO_AC => $iac, + @fp_args); + Description: Instantiates a Bio::EnsEMBL::ProteinFeature + Returntype : Bio::EnsEMBL::FeaturePair + Exceptions : none + Caller : general + +=cut + +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my ($idesc, $interpro_ac) = rearrange(['IDESC', 'INTERPRO_AC'], @_); + + my $self = $class->SUPER::new(@_); + + #the strand of protein features is always 0 + $self->{'strand'} = 0; + $self->{'idesc'} = $idesc; + $self->{'interpro_ac'} = $interpro_ac; + + return $self; +} + + + +#do not allow the strand to be set +sub strand { + my $self = shift; + return $self->{'strand'}; +} + + +=Head2 idesc Title : idesc Usage : $obj->idesc($newval) @@ -50,15 +100,12 @@ use Bio::EnsEMBL::FeaturePair; =cut sub idesc{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'idesc'} = $value; - } - return $obj->{'idesc'}; - + my $self = shift; + $self->{'idesc'} = shift if(@_); + return $self->{'idesc'}; } + =head2 interpro_ac Title : interpro_ac @@ -71,13 +118,9 @@ sub idesc{ =cut sub interpro_ac{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'interpro_ac'} = $value; - } - return $obj->{'interpro_ac'}; - + my $self = shift; + $self->{'interpro_ac'} = shift if(@_); + return $self->{'interpro_ac'}; } diff --git a/modules/Bio/EnsEMBL/RawContig.pm b/modules/Bio/EnsEMBL/RawContig.pm index b788748747..3fe96788cd 100644 --- a/modules/Bio/EnsEMBL/RawContig.pm +++ b/modules/Bio/EnsEMBL/RawContig.pm @@ -6,21 +6,10 @@ # Date : 04.12.2001 # - =head1 NAME -Bio::EnsEMBL::RawContig - Contig object which represents part of an EMBL Clone.Mostly for - database usage - -=head1 SYNOPSIS - -=head1 CONTACT - - Arne Stabenau: stabenau@ebi.ac.uk - Ewan Birney : birney@ebi.ac.uk - -=head1 APPENDIX +Bio::EnsEMBL::RawContig This class is DEPRECATED, use Bio::EnsEMBL::Slice +instead =cut @@ -30,744 +19,117 @@ package Bio::EnsEMBL::RawContig; use vars qw( @ISA ); use strict; +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::Clone; +use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate); -use Bio::EnsEMBL::DBSQL::DBAdaptor; -use Bio::PrimarySeq; - -@ISA = qw( Bio::EnsEMBL::Root Bio::PrimarySeqI ); +@ISA = qw( Bio::EnsEMBL::Slice ); =head2 new - Arg 1 : int dbID - Arg 2 : Bio::EnsEMBL::DBSQL::RawContigAdaptor adaptor - Arg 3 : txt contigName - Arg 4 : Bio::SeqI sequenceContainer - Arg 5 : int sequenceLength - Arg 6 : Bio::EnsEMBL::Clone clone - Arg 7 : int emblCloneBaseOffset - Arg 7 : int emblCloneContigNumber - Arg 8 : int emblCloneBaseOffset - Function : creates RawContig. Neds either dbID and Adaptor or clone and sequence. - With dbID its connected to DB, with the other it may be stored. - Returntype: Bio::EnsEMBL::RawContig - Exceptions: none - Caller : RawContigAdaptor, Data upload script +Description: DEPRECATED use Bio::EnsEMBL::Slice instead =cut sub new { my ( $class, @args ) = @_; - my $self = {}; - bless $self, $class; - - my ( $dbID, $adaptor, $name, $sequence, $length, - $clone, $offset ) = @args; - + deprecate("Bio::EnsEMBL::RawContig is a deprecated class.\n" . + "Use Bio::EnsEMBL::Slice instead"); - (defined $dbID) && $self->dbID( $dbID ); - (defined $adaptor) && $self->adaptor( $adaptor ); - (defined $clone) && $self->clone( $clone ); - (defined $sequence) && $self->sequence( $sequence ); - (defined $name) && $self->name( $name ); - (defined $length) && $self->length( $length ); - (defined $offset) && $self->embl_offset( $offset ); - - return $self; -} - - - -sub adaptor { - my $self = shift; - my $arg = shift; - - ( defined $arg ) && - ( $self->{_adaptor} = $arg ); - - return $self->{_adaptor}; -} - - - -sub dbID { - my $self = shift; - my $arg = shift; - - ( defined $arg ) && - ( $self->{_dbID} = $arg ); - - return $self->{_dbID}; -} - - - -sub name { - my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{_name} = $arg ; - } else { - if( ! defined $self->{_name} && - defined $self->adaptor() ) { - $self->adaptor->fetch_attributes( $self ); - } - } - - return $self->{_name}; + return $class->SUPER::new(@args); } -# scp: RawContig->primary_seq is used by the pipeline/bioperl -# (which expects an object to be returned that implements 'id'. -# As RawContig->primary_seq now returns a RawContig, this -# object needs to implement 'id' also. -sub id { - my ($self) = shift; - return $self->name || $self->dbID; -} - - - -sub length { +sub embl_offset { my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{_length} = $arg ; - } else { - if( ! defined $self->{_length} && - defined $self->adaptor() ) { - $self->adaptor->fetch_attributes( $self ); - } - } - - return $self->{_length}; -} - - - -=head2 seq - - Arg [1] : none - Example : $dna = $contig->seq(); - Description: Obtains the dna sequence of this entire contig as a string - (positive strand). - Returntype : string - Exceptions : none - Caller : general - -=cut - -sub seq { - my ($self, $arg) = @_; - - # Sequence can be set manually - if($arg) { - $self->{_seq} = $arg; - } - if($self->{_seq}) { - return $self->{_seq}; - } - - #or retrieved from the database - if($self->adaptor()) { - my $sa = $self->adaptor->db->dnadb->get_SequenceAdaptor(); - return $sa->fetch_by_RawContig_start_end_strand($self, 1, -1, 1); - } - - $self->warn("RawContig seq not set, and no db is available"); - return ''; -} - - - -=head2 subseq - - Arg [1] : int $start - The start basepair of the sequence to obtain - Arg [2] : int $end - The end basepair of the sequence to obtain - Arg [3] : (optional) int $strand - The strand of the sequence to obtain. Default is the contigs - forward strand. - Example : $dna = $contig->subseq(1, 1000, -1); - Description: Obtains a subsequence of this contigs dna sequence - Returntype : string - Exceptions : none - Caller : general -=cut - -sub subseq { - my ($self, $start, $end, $strand) = @_; + deprecate('Use Bio::EnsEMBL::Slice::project instead'); - if ( $end < $start ) { - $self->throw("End coord is less then start coord to call on RawContig " . - "subseq."); - } + my @projection = @{$self->project('clone')}; - if ( !defined $strand || ( $strand != -1 && $strand != 1 )) { - $strand = 1; + if(@projection != 1) { + warning('This contig not associated with a single clone'); + return 1; } - #if the sequence of this contig has been manually set retrieve its substring - if(my $str = $self->{_seq}) { - $str = substr($str, $start -1, $end - $start + 1); - - if($strand == -1) { - $str = reverse $str; - $str =~ tr/ACTGactg/TGACtgac/; - } - - return $str; - } - - unless($self->adaptor) { - $self->warn("RawContig::subseq no sequence set and no db available"); - return ''; - } - - my $seq_adaptor = $self->adaptor->db->get_SequenceAdaptor(); - - my $sub_seq = $seq_adaptor->fetch_by_RawContig_start_end_strand($self, - $start, $end, - $strand); - return $sub_seq; + #return the start position into the clone + return $projection[0]->[2]->start(); } -=head2 get_base_count - - Arg [1] : none - Example : $gc_content = $contig->get_base_count()->{'%gc'}; - Description: Retrieves a hashref containing the counts of each bases in the - sequence spanned by this slice. The format of the hash is : - { 'a' => num, - 'c' => num, - 't' => num, - 'g' => num, - 'n' => num, - '%gc' => num } - - All bases which are not in the set [A,a,C,c,T,t,G,g] are - included in the 'n' count. The 'n' count could therefore be - inclusive of ambiguity codes such as 'y'. - The %gc is the ratio of GC to AT content as in: - total(GC)/total(ACTG) * 100 - Returntype : hashref - Exceptions : none - Caller : general - -=cut -sub get_base_count { +sub clone { my $self = shift; - my $seq = $self->seq(); - my $len = $self->length(); + deprecate('Use Bio::EnsEMBL::Slice::project instead'); - my $a = $seq =~ tr/Aa/Aa/; - my $c = $seq =~ tr/Cc/Cc/; - my $t = $seq =~ tr/Tt/Tt/; - my $g = $seq =~ tr/Gg/Gg/; + my @projection = @{$self->project('clone')}; - my $gc_content = 0; - if($a || $g || $c || $t) { #avoid divide by 0 - $gc_content = sprintf( "%1.2f", (($g + $c)/($a + $g + $t + $c)) * 100); + if(@projection != 1) { + warning('This contig is associated with ' .scalar(@projection).' clones.'); + return undef; } - return {'a' => $a, - 'c' => $c, - 't' => $t, - 'g' => $g, - 'n' => $len - $a - $c - $t - $g, - '%gc' => $gc_content}; -} + my $clone = $projection[0]->[2]; + #get full clone instead of potentially partial clone + $clone = $self->adaptor->fetch_by_region($clone->coord_system->name(), + $clone->seq_region_name(), + undef, + undef, + undef, + $clone->coord_system->version()); -=head2 get_repeatmasked_seq - Arg [1] : string \@logic_names (optional) - Arg [2] : int $soft_masking_enable (optional) - Example : $slice->get_repeatmasked_seq or - $slice->get_repeatmasked_seq(['RepeatMask'],1) - Description: Returns Bio::PrimarySeq containing the masked - (repeat replaced by N) - or soft-masked (when Arg[2]=1, repeat in lower case while - non repeat in upper case) sequence corresponding to the - Slice object. Will only work with database connection to get - repeat features. - Returntype : Bio::PrimarySeq - Exceptions : none - Caller : general. - -=cut - -sub get_repeatmasked_seq { - my ($self, $logic_names, $soft_mask) = @_; - - unless ($logic_names && @$logic_names) { - $logic_names = [ '' ]; - } - - unless (defined $soft_mask) { - $soft_mask = 0; - } - - my $repeats = []; - - foreach my $l (@$logic_names) { - push @{$repeats}, @{$self->get_all_RepeatFeatures($l)}; - } - - my $dna = $self->seq(); - my $masked_dna = $self->_mask_features($dna,$repeats,$soft_mask); - my $masked_seq = Bio::PrimarySeq->new('-seq' => $masked_dna, - '-display_id' => $self->name, - '-primary_id' => $self->name, - '-moltype' => 'dna' - ); - return $masked_seq; -} - - -=head2 _mask_features - - Arg [1] : string $dna_string - Arg [2] : array_ref \@repeats - reference to a list Bio::EnsEMBL::RepeatFeature - give the list of coordinates to replace with N or with lower case - Arg [3] : int $soft_masking_enable (optional) - Example : - Description: replaces string positions described in the RepeatFeatures - with Ns (default setting), or with the lower case equivalent (soft masking) - Returntype : string - Exceptions : none - Caller : get_repeatmasked_seq - -=cut - -sub _mask_features { - my ($self,$dnastr,$repeats,$soft_mask) = @_; - - # explicit CORE::length call, to avoid confusion with Slice::length method - my $dnalen = CORE::length($dnastr); - - REP:foreach my $f (@{$repeats}) { - - my $start = $f->start; - my $end = $f->end; - my $length = ($end - $start) + 1; - - # check if we get repeat completely outside of expected slice range - if ($end < 1 || $start > $dnalen) { - $self->warn("Repeat completely outside RawContig coordinates!". - "That should not happen! repeat_start $start or " . - "repeat_end $end not within [1-$dnalen] RawContig " . - "range coordinates\n"); - next REP; - } - - # repeat partly outside slice range, so correct - # the repeat start and length to the slice size if needed - if ($start < 1) { - $start = 1; - $length = ($end - $start) + 1; - } - - # repeat partly outside slice range, so correct - # the repeat end and length to the slice size if needed - if ($end > $dnalen) { - $end = $dnalen; - $length = ($end - $start) + 1; - } - - $start--; - - my $padstr; - - if ($soft_mask) { - $padstr = lc substr ($dnastr,$start,$length); - } else { - $padstr = 'N' x $length; - } - substr ($dnastr,$start,$length) = $padstr; - } - return $dnastr; + #rebless the slice as a Bio::EnsEMBL::Clone so old method calls still work + return bless $clone, 'Bio::EnsEMBL::Clone'; } -=head2 get_all_PredictionTranscripts - - Args : none - Function : connect to database through set adaptor and retrieve the - PredictionFeatures for this contig. - Returntype: listref Bio::EnsEMBL::PredictionTranscript - (previously this returned a SeqFeature) - Exceptions: none - Caller : general - -=cut - -sub get_all_PredictionTranscripts { - my $self = shift; - my $logic_name = shift; - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_PredictionFeatures()" ); - return (); - } - - my $pta = $self->adaptor->db->get_PredictionTranscriptAdaptor(); - - return $pta->fetch_all_by_RawContig($self, $logic_name); -} - - - -=head2 get_all_RepeatFeatures - - Args : none - Function : connect to database through set adaptor and retrieve the - repeatfeatures for this contig. - Returntype: listref Bio::EnsEMBL::RepeatFeature - Exceptions: none - Caller : general, get_repeatmasked_seq() - -=cut - -sub get_all_RepeatFeatures { - my $self = shift; - my $logic_name = shift; - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_RepeatFeatures()" ); - return (); - } - - my $rfa = $self->adaptor()->db->get_RepeatFeatureAdaptor(); - - return $rfa->fetch_all_by_RawContig( $self , $logic_name); -} - - - -=head2 get_all_SimilarityFeatures - - Args : none - Function : connect to database through set adaptor and retrieve the - SimilarityFeatures for this contig. - Returntype: list Bio::EnsEMBL::FeaturePair - Exceptions: none - Caller : general - -=cut - -sub get_all_SimilarityFeatures { - my ($self, $logic_name, $score) = @_; - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_SimilarityFeatures()" ); - return (); - } - - my @out; - my $dafa = $self->adaptor->db->get_DnaAlignFeatureAdaptor(); - my $pafa = $self->adaptor->db->get_ProteinAlignFeatureAdaptor(); - push @out, @{$dafa->fetch_all_by_RawContig_and_score($self, $score, $logic_name)}; - push @out, @{$pafa->fetch_all_by_RawContig_and_score($self, $score, $logic_name)}; - - return \@out; -} - - -=head2 get_all_DnaAlignFeatures - - Arg [1] : (optional) string $logic_name - The name of the analysis performed on the dna align features - to obtain. - Arg [2] : (optional) float $score - The mimimum score of the features to retrieve - Example : @dna_align_feats = $contig->get_all_DnaAlignFeatures() - Description: Retrieves the DnaDnaAlignFeatures which overlap this contig - Returntype : list of Bio::EnsEMBL::DnaDnaAlignFeatures - Exceptions : none - Caller :general - -=cut - -sub get_all_DnaAlignFeatures { - my ($self, $logic_name, $score) = @_; - - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_DnaAlignFeatures()" ); - return (); - } - - my $dafa = $self->adaptor->db->get_DnaAlignFeatureAdaptor(); - - return $dafa->fetch_all_by_RawContig_and_score($self,$score, $logic_name); -} - - - -=head2 get_all_ProteinAlignFeatures - - Arg [1] : (optional) string $logic_name - The name of the analysis performed on the protein align features - to obtain. - Arg [2] : (optional) float $score - The mimimum score of the features to retrieve - Example : @pep_align_feats = $contig->get_all_ProteinAlignFeatures() - Description: Retrieves the PepDnaAlignFeatures which overlap this contig. - Returntype : list of Bio::EnsEMBL::PepDnaAlignFeatures - Exceptions : none - Caller : general - -=cut - -sub get_all_ProteinAlignFeatures { - my ($self, $logic_name, $score) = @_; - - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_ProteinAlignFeatures()" ); - return (); - } - - my $pafa = $self->adaptor()->db()->get_ProteinAlignFeatureAdaptor(); - - return $pafa->fetch_all_by_RawContig_and_score($self, $score, $logic_name); -} - - - -=head2 get_all_SimpleFeatures - - Arg [1] : (optional) string $logic_name - The name of the analysis performed on the simple features - to obtain. - Arg [2] : (optional) float $score - The mimimum score of the features to retrieve - Example : @simple_feats = $contig->get_all_SimpleFeatures() - Description: Retrieves the SimpleFeatures which overlap this contig. - Returntype : list of Bio::EnsEMBL::DnaDnaAlignFeature - Exceptions : none - Caller : general - -=cut - -sub get_all_SimpleFeatures { - my ($self, $logic_name, $score) = @_; - - - if( ! defined $self->adaptor() ) { - $self->warn( "Need db connection for get_all_SimpleFeatures()" ); - return (); - } - - my $sfa = $self->adaptor()->db()->get_SimpleFeatureAdaptor(); - - return $sfa->fetch_all_by_RawContig_and_score($self, $score, $logic_name); -} - - -sub embl_offset { - my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{_embl_offset} = $arg ; - } else { - if( ! defined $self->{_embl_offset} && - defined $self->adaptor() ) { - $self->adaptor->fetch_attributes( $self ); - } - } - - return $self->{_embl_offset}; -} - - -sub clone { - my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{_clone} = $arg ; - } else { - if( ! defined $self->{_clone} && - defined $self->adaptor() ) { - if( !defined $self->_clone_id() ) { - $self->adaptor->fetch_attributes($self); - } - $self->{_clone} = - $self->adaptor->db->get_CloneAdaptor->fetch_by_dbID($self->_clone_id()); - } - } - - return $self->{_clone}; -} - -sub _clone_id { - my $self = shift; - my $arg = shift; - - if( defined $arg ) { - $self->{_clone_id} = $arg ; - } - - return $self->{_clone_id}; -} - - - - -=head2 get_all_ExternalFeatures - - Arg [1] : (optional) string $track_name - If specified only features from ExternalFeatureAdaptors with - the track name $track_name are retrieved. If not set, all - features from every ExternalFeatureAdaptor are retrieved. - Example : @xfeatures = @{$contig->get_all_ExternalFeatures}; - Description: Retrieves features on this contig from external feature adaptors - Returntype : listref of Bio::SeqFeatureI implementing objects in contig - coordinates - Exceptions : none - Caller : general - -=cut - -sub get_all_ExternalFeatures { - my ($self, $track_name) = @_; - - my $features = []; - - my $xfa_hash = $self->adaptor->db->get_ExternalFeatureAdaptors; - my @xf_adaptors = (); - - if($track_name) { - #use a specific adaptor - push @xf_adaptors, $xfa_hash->{$track_name}; - } else { - #use all of the adaptors - push @xf_adaptors, values %$xfa_hash; - } - - foreach my $xfa (@xf_adaptors) { - push @$features, @{$xfa->fetch_all_by_RawContig($self)}; - } - - return $features; -} =head2: ctg2genomic - Arg [1] : $start - The start position in contig coordinates - Arg [2] : $end - The end position in contig coordinates - Arg [3] : (optional) $strand - The strand of the contig coordinates - Example : @coords = $transcript->ctg2genomic($start, $end); - Description: Converts contig coordinates to genomic coordinates. The - return value is a list of coordinates and gaps. - Returntype : list of Bio::EnsEMBL::Mapper::Coordinate and - Bio::EnsEMBL::Mapper::Gap objects - Exceptions : none - Caller : general + Description: use Bio::EnsEMBL::Slice instead =cut - sub ctg2genomic{ # Map the internal ID onto the golden path - my $self = shift; + my $self = shift; my $start = shift || 1; my $end = shift || $self->length; - my $strand = shift || 1; + my $strand = shift || 1; + + deprecate('Use Bio::EnsEMBL::Slice instead'); my $db = $self->adaptor->db(); my $aa = $db->get_AssemblyMapperAdaptor(); - my $ma = $aa->fetch_by_type( $db->assembly_type ); - return $ma->map_coordinates_to_assembly( $self->dbID, $start, $end, - $strand ); -} - -=head2 Methods included only for BioPerl compliance -=cut -############################################################################### - -=head2 display_id - - Arg [1] : none - Example : none - Description: Only for BioPerl compliance. - Returntype : string - Exceptions : none - Caller : none - -=cut - -sub display_id{ - my $self = shift; - - return $self->id(); -} + my $csa = $db->get_CoordSystemAdaptor(); -=head2 desc - - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none - -=cut + my $top_level = $csa->fetch_top_level(); + my $ma = $aa->fetch_by_CoordSystems($top_level, $self->coord_system); -sub desc{ - my $self = shift; - return "RawContig, no description"; + return $ma->map_coordinates_to_assembly( $self->seq_region_name, + $start, + $end, + $strand, + $self->coord_system); } -=head2 moltype - - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none -=cut -sub moltype { +# +# The name that is wanted is actually the seq_region name +# +sub name { my $self = shift; - return 'dna'; -} - -=head2 accession_number - - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none -=cut - -sub accession_number { - my $self = shift; - return $self->dbID(); + return $self->seq_region_name(); } diff --git a/modules/Bio/EnsEMBL/RepeatConsensus.pm b/modules/Bio/EnsEMBL/RepeatConsensus.pm index d48a49c25b..48ac13f8e5 100644 --- a/modules/Bio/EnsEMBL/RepeatConsensus.pm +++ b/modules/Bio/EnsEMBL/RepeatConsensus.pm @@ -1,96 +1,169 @@ - -### Bio::EnsEMBL::RepeatConsensus +use strict; package Bio::EnsEMBL::RepeatConsensus; -use strict; -use Bio::PrimarySeqI; -use Bio::EnsEMBL::Root; -use vars '@ISA'; - -@ISA = qw(Bio::EnsEMBL::Root Bio::PrimarySeqI); +use Bio::EnsEMBL::Storable; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +use vars qw(@ISA); +@ISA = qw(Bio::EnsEMBL::Storable); + + +=head2 new + + Arg [NAME] : string (optional) + The name of this repeat consensus + Arg [LENGTH]: int (optional) + The length of the repeat consensus sequence + Arg [REPEAT_CLASS]: string (optional) + The type of repeat consensus + Arg [REPEAT_CONSENSUS]: string (optional) + The sequence of this repeat consensus + Arg [...]: Named arguments to superclass constructor + (see Bio::EnsEMBL::Storable) + Example : $rc = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => 'AATG' + -NAME => '(AATG)n', + -REPEAT_CLASS => 'Simple_repeat', + -LENGTH => '4', + -DBID => 1023, + -ADAPTOR => $rc_adaptor); + Description: Creates a new Bio::EnsEMBL::RepeatFeature object + Returntype : Bio::EnsEMBL::RepeatFeature + Exceptions : none + Caller : RepeatFeatureAdaptors + +=cut sub new { - my( $pkg ) = @_; - - return bless {}, $pkg; -} + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + my ($name, $length, $repeat_class, $repeat_consensus) = + rearrange(['NAME', 'LENGTH', 'REPEAT_CLASS', 'REPEAT_CONSENSUS'], @_); -sub moltype { return 'dna' }; -sub alphabet { return 'dna' }; + $self->{'name'} = $name; + $self->{'length'} = $length; + $self->{'repeat_class'} = $repeat_class; + $self->{'repeat_consensus'} = $repeat_consensus; -sub dbID { - my( $self, $db_id ) = @_; - - if ($db_id) { - $self->{'_db_id'} = $db_id; - } - return $self->{'_db_id'}; + return $self; } -# Alias primary_id method to dbID -*primary_id = \&dbID; + +=head2 name + + Arg [1] : string $name (optional) + Example : $name = $repeat_consensus->name() + Description: Getter/Setter for the name of this repeat_consensus + Returntype : string + Exceptions : none + Caller : general + +=cut sub name { - my( $self, $name ) = @_; - - if ($name) { - $self->{'_name'} = $name; - } - return $self->{'_name'}; + my $self = shift; + $self->{'name'} = shift if(@_); + return $self->{'name'}; } -# Alias display_id and accession_number methods to name -*display_id = \&name; -*accession_number = \&name; + +=head2 length + + Arg [1] : int $length (optional) + Example : $length = $repeat_consensus->length() + Description: Getter/Setter for the length of this repeat_consensus + Returntype : int + Exceptions : none + Caller : general + +=cut sub length { - my( $self, $length ) = @_; - - if ($length) { - $self->{'_length'} = $length; - } - return $self->{'_length'}; + my $self = shift; + $self->{'length'} = shift if(@_); + return $self->{'length'}; } + +=head2 repeat_class + + Arg [1] : string $class (optional) + The class of + Example : $class = $repeat_consensus->repeat_class() + Description: Getter/Setter for the class of this repeat_consensus + Returntype : string + Exceptions : none + Caller : general + +=cut + sub repeat_class { - my( $self, $repeat_class ) = @_; - - if ($repeat_class) { - $self->{'_repeat_class'} = $repeat_class; - } - return $self->{'_repeat_class'}; + my $self = shift; + $self->{'repeat_class'} = shift if(@_); + return $self->{'repeat_class'}; } + +=head2 desc + + Arg [1] : none + Example : $desc = $repeat_consensus->desc() + Description: Getter for the description of this repeat consensus as extracted + from the repeat_class. This method is probably useless. + Returntype : string + Exceptions : none + Caller : general + +=cut + sub desc { - my( $self ) = @_; - - my $class = $self->repeat_class or return; - return "class=$class"; + my $self = shift; + my $class = $self->repeat_class or return; + return "class=$class"; } -sub adaptor { - my( $self, $adaptor ) = @_; - - if ($adaptor) { - $self->{'_adaptor'} = $adaptor; - } - return $self->{'_adaptor'}; -} + + +=head2 repeat_consensus + + Arg [1] : string $consensus_seq (optional) + The sequence of this repeat consensus + Example : $consensus = $repeat_consensus->repeat_consensus(); + Description: Getter/Setter for the sequence of this repeat_consensus. + Returntype : string + Exceptions : none + Caller : general + +=cut sub repeat_consensus { - my( $self, $repeat_consensus ) = @_; - - if ($repeat_consensus) { - $self->{'_repeat_consensus'} = $repeat_consensus; - } - return $self->{'_repeat_consensus'}; + my $self = shift; + $self->{'repeat_consensus'} = shift if(@_); + return $self->{'repeat_consensus'}; } + + +=head2 seq + + Arg [1] : none + Example : none + Description: Returns the repeat consensus. This method is useless - Use + repeat_consensus() instead. + Returntype : string + Exceptions : none + Caller : general + +=cut + sub seq { - my( $self ) = @_; - - return $self->repeat_consensus; + my( $self ) = @_; + return $self->repeat_consensus; } 1; diff --git a/modules/Bio/EnsEMBL/RepeatFeature.pm b/modules/Bio/EnsEMBL/RepeatFeature.pm index 12407b1bbe..5d48e7338f 100644 --- a/modules/Bio/EnsEMBL/RepeatFeature.pm +++ b/modules/Bio/EnsEMBL/RepeatFeature.pm @@ -1,14 +1,69 @@ +# EnsEMBL module for Bio::EnsEMBL::RepeatFeature +# +# Copyright (c) 2003 EnsEMBL +# -### Bio::EnsEMBL::RepeatFeature +=head1 NAME + +Bio::EnsEMBL::RepeatFeature - A feature representing a repeat on a piece of +sequence. + +=head1 SYNOPSIS + + my $rf = new Bio::EnsEMBL::Feature(-start => 100, + -end => 220, + -strand => -1, + -slice => $slice + -analysis => $analysis + -repeat_consensus => $rc, + -hstart => 10, + -hend => 100, + -hstrand => 1, + -score => 83.2 + ); + + my $hstart = $feat->hstart; + my $hend = $feat->hend; + + #move the feature to the chromosomal coordinate system + $feature = $feature->transform('chromosome'); + + #move the feature to a different slice (possibly on another coord system) + $feature = $feature->transfer($new_slice); + + #project the feature onto another coordinate system possibly across + #boundaries: + @projection = @{$feature->project('contig')}; + + #change the start, end, and strand of the feature in place + $feature->move($new_start, $new_end, $new_strand); + +=head1 DESCRIPTION + +This a feature representing a repeat region on a sequence + +=head1 CONTACT + +Post questions to the EnsEMBL development list: ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. +Internal methods are usually preceded with a _ + +=cut package Bio::EnsEMBL::RepeatFeature; use strict; -use Bio::EnsEMBL::SeqFeature; +use Bio::EnsEMBL::Feature; + +use Bio::EnsEMBL::Utils::Exception qw(throw); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); use vars '@ISA'; -@ISA = qw{ Bio::EnsEMBL::SeqFeature }; +@ISA = qw{ Bio::EnsEMBL::Feature }; =head2 new_fast @@ -16,10 +71,10 @@ use vars '@ISA'; Arg [1] : hash reference $hashref Example : none Description: This is an ultra fast constructor which requires knowledge of - the objects internals to be used. It is only used by + the objects internals to be used. It is only used by RepeatFeatureAdaptors (when thousands of repeats need to be - quickly created). The SeqFeature superclass constructor 'new' - should be used in most instances. + quickly created). The constructor 'new' should be used in + most instances. Returntype : Bio::EnsEMBL::RepeatFeature Exceptions : none Caller : RepeatFeatureAdaptors @@ -28,35 +83,56 @@ use vars '@ISA'; sub new_fast { my ($class, $hashref) = @_; - + return bless $hashref, $class; } - -=head2 adaptor - - Arg [1] : (optional) Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor $adaptor - Example : $adaptor = $repeat->adaptor; - Description: The adaptor which performs database requests for this object. - This should be set when the object is stored in the database or - retrieved from the database. - Returntype : Bio::EnsEMBL::DBSQL::RepeatFeatureAdaptor +=head2 new + + Arg [REPEAT_CONSENSUS] : Bio::EnsEMBL::RepeatConsensus (optional) + The repeat consensus for this repeat feature + Arg [HSTART] : int (optional) + The hit start on the consensus sequence + Arg [HEND] : int (optional) + The hit end on the consensus sequence + Arg [SCORE] : float (optional) + The score + Arg [...] : Named arguments to superclass constructor + (see Bio::EnsEMBL::Feaure) + Example : $rf = Bio::EnsEMBL::RepeatFeature->new(-REPEAT_CONSENSUS => $rc, + -HSTART => 10, + -HEND => 100, + -SCORE => 58.0, + -START => 1_000_100, + -END => 1_000_190, + -STRAND => 1, + -ANALYSIS => $an, + -SLICE => $chr_slice); + Description: Creates a new Bio::EnsEMBL::RepeatFeature object + Returntype : Bio::EnsEMBL::RepeatFeature Exceptions : none - Caller : general + Caller : RepeatFeatureAdaptors =cut -sub adaptor { - my ($self, $adaptor) = @_; - - if(defined $adaptor) { - $self->{'_adaptor'} = $adaptor; - } - - return $self->{'_adaptor'}; -} +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + my ($repeat_consensus, $hstart, $hend, $score) = + rearrange(['REPEAT_CONSENSUS','HSTART','HEND','SCORE'], @_); + + $self->repeat_consensus($repeat_consensus); + $self->{'hstart'} = $hstart; + $self->{'hend'} = $hend; + $self->{'score'} = $score; + + return $self; +} =head2 repeat_consensus @@ -71,80 +147,57 @@ sub adaptor { =cut sub repeat_consensus { - my( $self, $con ) = @_; - - if (defined $con) { - $self->throw("$con is not a RepeatConsensus") - unless $con->isa("Bio::EnsEMBL::RepeatConsensus"); - $self->{'_repeat_consensus'} = $con; + my $self = shift; + + if(@_) { + my $rc = shift; + if(defined($rc)) { + if(!ref($rc) || !$rc->isa('Bio::EnsEMBL::RepeatConsensus')) { + throw('RepeatConsensus arg must be a Bio::EnsEMBL::RepeatConsensus'); + } + } + $self->{'repeat_consensus'} = $rc; } - return $self->{'_repeat_consensus'}; + + return $self->{'repeat_consensus'}; } -=head2 dbID +=head2 hstart - Arg [1] : (optional) $db_id - Example : $dbID = $repeat->dbID - Description: getter/setter for this objects internal database identifier + Arg [1] : (optional) int $hstart + Example : $hit_start = $repeat->hstart; + Description: Getter/Setter for the start bp of this repeat match on the + consensus sequence. Returntype : int - Exceptions : none - Caller : general - -=cut - -sub dbID { - my( $self, $db_id ) = @_; - - if (defined $db_id) { - $self->{'_db_id'} = $db_id; - } - return $self->{'_db_id'}; -} - - -=head2 analysis - - Arg [1] : (optional) Bio::EnsEMBL::Analysis - Example : $analysis = $repeat_feat->analysis; - Description: Getter/Setter for the analysis that was used to generate this - object - Returntype : Bio::EnsEMBL::Analysis - Exceptions : none + Exceptions : none Caller : general =cut -sub analysis { - my( $self, $analysis ) = @_; - - if ($analysis) { - $self->{'_analysis'} = $analysis; - } - return $self->{'_analysis'}; +sub hstart { + my $self = shift; + $self->{'hstart'} = shift if(@_); + return $self->{'hstart'}; } -=head2 hstart +=head2 score - Arg [1] : (optional) int $hstart - Example : $hit_start = $repeat->hstart; - Description: Getter/Setter for the start bp of this repeat match on the - consensus sequence. + Arg [1] : (optional) float $score + Example : $score = $repeat->score(); + Description: Getter/Setter for the score of this repeat feature Returntype : int - Exceptions : none + Exceptions : none Caller : general =cut -sub hstart { - my( $self, $hstart ) = @_; - - if ($hstart) { - $self->{'_hstart'} = $hstart; - } - return $self->{'_hstart'}; +sub score { + my $self = shift; + $self->{'score'} = shift if(@_); + return $self->{'score'}; } @@ -162,47 +215,56 @@ sub hstart { =cut sub hend { - my( $self, $hend ) = @_; - - if ($hend) { - $self->{'_hend'} = $hend; - } - return $self->{'_hend'}; + my $self = shift; + $self->{'hend'} = shift if(@_); + return $self->{'hend'}; } =head2 hstrand - Arg [1] : none + Arg [1] : none Example : none Description: always returns 1. method exists for consistancy with other features. Returntype : int Exceptions : none - Caller : + Caller : =cut -sub hstrand { - return 1; +sub hstrand { + return 1; } -sub to_FTString { - my( $self ) = @_; - - my $start = $self->start or $self->throw("start not set"); - my $end = $self->end or $self->throw("end not set"); - my $strand = $self->strand; - $self->throw("strand not set") unless defined($strand); - - my $loc = "$start..$end"; - if ($strand == -1) { - $loc = "complement($loc)"; - } -} +=head2 display_id + Arg [1] : none + Example : print $rf->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For repeat_features this is the + name of the repeat consensus if it is available otherwise it is + an empty string. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + + my $id = ''; + + my $rc = $self->{'repeat_consensus'}; + if($rc) { + $id = $rc->name(); + } + + return $id; +} 1; diff --git a/modules/Bio/EnsEMBL/RepeatMaskedSlice.pm b/modules/Bio/EnsEMBL/RepeatMaskedSlice.pm new file mode 100644 index 0000000000..0a55b949a3 --- /dev/null +++ b/modules/Bio/EnsEMBL/RepeatMaskedSlice.pm @@ -0,0 +1,234 @@ +# +# Ensembl module for Bio::EnsEMBL::RepeatMaskedSlice +# +# +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::RepeatMaskedSlice - Arbitary Slice of a genome + +=head1 SYNOPSIS + + $sa = $db->get_SliceAdaptor; + + $slice = $sa->fetch_by_region('chromosome', 'X', 1_000_000, 2_000_000); + + $repeat_masked_slice = $sa->get_repeatmasked_seq(); + + #get repeat masked sequence: + my $dna = $repeat_masked_slice->seq(); + $dna = $repeat_masked_slice->subseq(1, 1000); + + +=head1 DESCRIPTION + +This is a specialised B<Bio::EnsEMBL::Slice> class that is used to +retrieve repeat masked genomic sequence rather than normal genomic +sequence. + +=head1 AUTHOR - Graham McVicker + +=head1 CONTACT + +This modules is part of the Ensembl project http://www.ensembl.org + +Questions can be posted to the ensembl-dev mailing list: +ensembl-dev@ebi.ac.uk + +=head1 METHODS + +=cut + + +package Bio::EnsEMBL::RepeatMaskedSlice; + +use strict; +use warnings; + +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + + +use vars qw(@ISA); + +@ISA = ('Bio::EnsEMBL::Slice'); + + + +=head2 new + + Arg [-REPEAT_MASK] : The logic name of the repeats to be used for masking. + If not provided, all repeats in the database are used. + Arg [...] : Named superclass arguments. See B<Bio::EnsEMBL::Slice>. + Example : my $slice = Bio::EnsEMBL::RepeatMaskedSlice->new + (-START => $start, + -END => $end, + -STRAND => $strand, + -SEQ_REGION_NAME => $seq_region, + -COORD_SYSTEM => $cs, + -ADAPTOR => $adaptor, + -REPEAT_MASK => ['repeat_masker'], + -SOFT_MASK => 1); + Description: Creates a Slice which behaves exactly as a normal slice but + that returns repeat masked sequence from the seq method. + Returntype : Bio::EnsEMBL::RepeatMaskedSlice + Exceptions : none + Caller : RawComputes (PredictionTranscript creation code). + +=cut + +sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + + my ($logic_names, $soft_mask) = rearrange(['REPEAT_MASK', + 'SOFT_MASK'], @_); + + my $self = $class->SUPER::new(@_); + + + $logic_names ||= ['']; + if(ref($logic_names) ne 'ARRAY') { + throw("Reference to list of logic names argument expected."); + } + + $self->{'repeat_mask_logic_names'} = $logic_names; + $self->{'soft_mask'} = $soft_mask; + + return $self; +} + + +=head2 repeat_mask_logic_names + + Arg [1] : reference to list of strings $logic_names (optional) + Example : $rm_slice->repeat_mask_logic_name(['repeat_masker']); + Description: Getter/Setter for the logic_names of the repeats that are used + to mask this slices sequence. + Returntype : reference to list of strings + Exceptions : none + Caller : seq() method + +=cut + +sub repeat_mask_logic_names { + my $self = shift; + + if(@_) { + my $array = shift; + if(ref($array) ne 'ARRAY') { + throw('Reference to list of logic names argument expected.'); + } + } + + return $self->{'repeat_mask_logic_names'}; +} + + +=head2 soft_mask + + Arg [1] : boolean $soft_mask (optional) + Example : $rm_slice->soft_mask(0); + Description: Getter/Setter which is used to turn on/off softmasking of the + sequence returned by seq. + Returntype : boolean + Exceptions : none + Caller : seq() method + +=cut + +sub soft_mask { + my $self = shift; + $self->{'soft_mask'} = shift if(@_); + return $self->{'soft_mask'} || 0; +} + + + +=head2 seq + + Arg [1] : none + Example : print $rmslice->seq(), "\n"; + Description: Retrieves the entire repeat masked sequence for this slice. + See also the B<Bio::EnsEMBL::Slice> implementation of this + method. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub seq { + my $self = shift; + # + # get all the features + # + my $logic_names = $self->repeat_mask_logic_names(); + my $soft_mask = $self->soft_mask(); + + my $repeats = []; + + foreach my $l (@$logic_names) { + push @{$repeats}, @{$self->get_all_RepeatFeatures($l)}; + } + + # + # get the dna + # + my $dna = $self->SUPER::seq(@_); + + # + # mask the dna + # + $self->_mask_features(\$dna,$repeats,$soft_mask); + return $dna; +} + + + +=head2 subseq + + Arg [1] : none + Example : print $rmslice->subseq(1, 1000); + Description: Retrieves a repeat masked sequence from a specified subregion + of this slice. See also the B<Bio::EnsEMBL::Slice> + implementation of this method. + Returntype : string + Exceptions : none + Caller : general + +=cut + + +sub subseq { + my $self = shift; + # + # get all the features + # + my $logic_names = $self->repeat_mask_logic_names(); + my $soft_mask = $self->soft_mask(); + + my $repeats = []; + + foreach my $l (@$logic_names) { + push @{$repeats}, @{$self->get_all_RepeatFeatures($l)}; + } + + # + # get the dna + # + my $dna = $self->SUPER::subseq(@_); + + # + # mask the dna + # + $self->_mask_features(\$dna,$repeats,$soft_mask); + return $dna; +} + + +1; diff --git a/modules/Bio/EnsEMBL/Root.pm b/modules/Bio/EnsEMBL/Root.pm index 5ba84946ac..d7b1619bf0 100644 --- a/modules/Bio/EnsEMBL/Root.pm +++ b/modules/Bio/EnsEMBL/Root.pm @@ -2,28 +2,29 @@ Bio::EnsEMBL::Root -=head1 SYNOPSIS +=head1 DESCRIPTION - # any bioperl or bioperl compliant object is a RootI - # compliant object +Do not use Bio::EnsEMBL::Root anymore. It is included for backwards +compatibility (every object in EnsEMBL used to inherit from this class) but +will eventually be phased out. The replacement for the _rearrage method is the +rearrange method which can be imported in the following way: - $obj->throw("This is an exception"); + use Bio::EnsEMBL::Utils::Argument qw(rearrange); - eval { - $obj->throw("This is catching an exception"); - }; + #can now call rearrange as a class method (instead as object method) + my ($start, $end) = rearrange(['START','END'], \@args); - if( $@ ) { - print "Caught exception"; - } else { - print "no exception"; - } +If you want to use the throw or warn methods the replacement are the class +methods throw and warning from the Bio::EnsEMBL::Utils::Exception class: + + use Bio::EnsEMBL::Utils::Exception qw(throw warning); + + #can now call throw or warning even without bless reference + warning('This is a warning'); + throw('This is an exception'); -=head1 DESCRIPTION -This package provides a bare-bones root class for Ensembl objects to -inherit from. -Shamelessly stolen from BioPerl to avoid problems with moving to BioPerl 1 +This module was stolen from BioPerl to avoid problems with moving to BioPerl 1 from 0.7 =head1 CONTACT diff --git a/modules/Bio/EnsEMBL/SNP.pm b/modules/Bio/EnsEMBL/SNP.pm index 9cc4a04fe4..513c058977 100644 --- a/modules/Bio/EnsEMBL/SNP.pm +++ b/modules/Bio/EnsEMBL/SNP.pm @@ -113,16 +113,6 @@ sub end { return $self->{_gsf_end}; } -sub chr_name { - my ($self, $arg) = @_; - - if(defined $arg) { - $self->{_chr_name} = $arg; - } - - return $self->{_chr_name}; -} - sub source { my ($self, $arg) = @_; @@ -156,4 +146,25 @@ sub source_tag { } + +=head2 display_id + + Arg [1] : none + Example : print $snp->id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For snps this is the + returns the same thing as the id method. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + return $self->id(); +} + + + 1; diff --git a/modules/Bio/EnsEMBL/SeqFeature.pm b/modules/Bio/EnsEMBL/SeqFeature.pm index 6af78c3bd3..195d64c65c 100755 --- a/modules/Bio/EnsEMBL/SeqFeature.pm +++ b/modules/Bio/EnsEMBL/SeqFeature.pm @@ -13,42 +13,33 @@ Bio::EnsEMBL::SeqFeature - Ensembl specific sequence feature. -=head1 SYNOPSIS - - my $feat = new Bio::EnsEMBL::SeqFeature(-seqname => 'pog', - -start => 100, - -end => 220, - -strand => -1, - -frame => 1, - -source_tag => 'tblastn_vert', - -primary_tag => 'similarity', - -analysis => $analysis - ); - - # $analysis is a Bio::EnsEMBL::Analysis object - - # SeqFeatureI methods can be used - my $start = $feat->start; - my $end = $feat->end; +=head1 DESCRIPTION - # Bio::EnsEMBL::SeqFeature specific methods can be used - my $analysis = $feat->analysis; +Do not use this module if you can avoid it. It has been replaced by +Bio::EnsEMBL::Feature. This module has a long history of usage but has +become very bloated, and quite unweildy. It was decided to replace it +completely with a smaller, light-weight feature class rather than attempting +to refactor this class, and maintain strict backwards compatibility. - # Validate all the data in the object - $feat->validate || $feat->throw("Invalid data in $feat"); +Part of the complexity of this class was in its extensive inheritance. As an +example the following is a simplified inheritance heirarchy that was present +for Bio::EnsEMBL::DnaAlignFeature: -=head1 DESCRIPTION +Bio::EnsEMBL::DnaAlignFeature +Bio::EnsEMBL::BaseAlignFeature +Bio::EnsEMBL::FeaturePair +Bio::EnsEMBL::SeqFeature +Bio::EnsEMBL::SeqFeatureI +Bio::SeqFeatureI +Bio::RangeI +Bio::Root::RootI -This is an implementation of the ensembl Bio::EnsEMBL::SeqFeatureI interface. -Extra -methods are to store details of the analysis program/database/version used -to create this data and also a method to validate all data in the object is -present and of the right type. This is useful before writing into -a relational database for example. +The new Bio::EnsEMBL::Feature class is much shorter, and hopefully much easier +to understand and maintain. =head1 CONTACT -Describe contact details here +Post questions to the ensembl development list: ensembl-dev@ebi.ac.uk =head1 APPENDIX diff --git a/modules/Bio/EnsEMBL/SeqFeatureI.pm b/modules/Bio/EnsEMBL/SeqFeatureI.pm index 0b6e739b93..bdf7c0fb71 100755 --- a/modules/Bio/EnsEMBL/SeqFeatureI.pm +++ b/modules/Bio/EnsEMBL/SeqFeatureI.pm @@ -12,33 +12,16 @@ =head1 NAME -Bio::EnsEMBL::SeqFeatureI - Ensembl specific sequence feature interface. - -=head1 SYNOPSIS - - my $feat = get_feature_from_somewhere; - - # Bio::SeqFeatureI methods can be used - my $start = $feat->start; - my $end = $feat->end; - - # New Bio::EnsEMBL::SeqFeatureI specific methods are : - my $analysis = $feat->analysis; - - # Validate all the data in the object - $feat->validate || $feat->throw("Invalid data in $feat"); +Bio::EnsEMBL::SeqFeatureI =head1 DESCRIPTION -This is an extension of the bioperl Bio::SeqFeatureI interface. Extra -methods are to store details of the analysis program/database/version used -to create this data and also a method to validate all data in the object is -present and of the right type. This is useful before writing into -a relational database for example. +Do not use this class. It is deprecated and has been replaced by +Bio::EnsEMBL::Feature. =head1 CONTACT -Describe contact details here +Post questions to the ensembl development mailing list: ensembl-dev@ebi.ac.uk =head1 APPENDIX diff --git a/modules/Bio/EnsEMBL/SimpleFeature.pm b/modules/Bio/EnsEMBL/SimpleFeature.pm index c12d8cae30..29ce41214a 100644 --- a/modules/Bio/EnsEMBL/SimpleFeature.pm +++ b/modules/Bio/EnsEMBL/SimpleFeature.pm @@ -1,9 +1,6 @@ - # # Ensembl module for Bio::EnsEMBL::SimpleFeature # -# Cared for by Ewan Birney <birney@ebi.ac.uk> -# # Copyright Ewan Birney # # You may distribute this module under the same terms as perl itself @@ -12,97 +9,154 @@ =head1 NAME -Bio::EnsEMBL::SimpleFeature - DESCRIPTION of Object +Bio::EnsEMBL::SimpleFeature - A simple feature with a location and label =head1 SYNOPSIS -Give standard usage here +use Bio::EnsEMBL::SimpleFeature; + +$feature = Bio::EnsEMBL::SimpleFeature->new(-start => 100, + -end => 220, + -strand => -1, + -slice => $slice, + -analysis => $analysis, + -score => 58, + -display_label => 'EponineTSS', + -dbID => 1230, + -adaptor => $adaptor); =head1 DESCRIPTION -Describe the object here +This is a simple feature which extends the Feature class to add display_label +and score attributes. =head1 AUTHOR - Ewan Birney This modules is part of the Ensembl project http://www.ensembl.org -Email birney@ebi.ac.uk - -Describe contact details here +=head1 CONTACT -=head1 APPENDIX +Post comments/questions to the ensembl development list: ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +=head1 METHODS =cut - -# Let the code begin... - +use strict; package Bio::EnsEMBL::SimpleFeature; + use vars qw(@ISA); -use strict; -# Object preamble - inherits from Bio::EnsEMBL::Root +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +@ISA = qw(Bio::EnsEMBL::Feature); + + +=head2 new + + Arg [DISPLAY_LABEL]: The label assigned to this simple feature + Arg [...] : Named arguments passed to superclass + Example : $feature = Bio::EnsEMBL::SimpleFeature->new + (-start => 1, + -end => 100, + -strand => 1, + -slice => $slice, + -analysis => $analysis, + -adaptor => $adaptor, + -dbID => 10, + -display_label => 'EponineTSS', + -score => 100); + Description: Constructs a new Bio::EnsEMBL::Feature. Generally subclasses + of this method are instantiated, rather than this class itself. + Returntype : Bio::EnsEMBL::Feature + Exceptions : Thrown on invalid -SLICE, -ANALYSIS, -STRAND arguments + Caller : general, subclass constructors + +=cut -use Bio::EnsEMBL::SeqFeature; +sub new { + my $caller = shift; -@ISA = qw(Bio::EnsEMBL::SeqFeature); + #allow this to be called as class or object method + my $class = ref($caller) || $caller; + my $self = $class->SUPER::new(@_); -# new() is inherieted from SeqFeature + my ($display_label, $score) = rearrange(['DISPLAY_LABEL','SCORE'],@_); + + $self->{'display_label'} = $display_label; + $self->{'score'} = $score; + + return $self; +} + + +sub new_fast { + my $class = shift; + my $hashref = shift; + return bless $hashref, $class; +} =head2 display_label - Title : display_label - Usage : $obj->display_label($newval) - Function: - Example : - Returns : value of display_label - Args : newvalue (optional) + Arg [1] : (optional) string $value + Example : $label = $simple_feature->display_label(); + Description: Getter/Setter for the display label associated with this + feature. + Returntype : string + Exceptions : none + Caller : general =cut sub display_label{ - my ($self, $value) = @_; + my $self = shift; - if (defined $value) { - $self->{'display_label'} = $value; - } - return $self->{'display_label'}; + $self->{'display_label'} = shift if(@_); + + return $self->{'display_label'}; } -sub dbID{ - my ($self, $arg) = @_; +=head2 display_id + + Arg [1] : none + Example : print $rf->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For simple features this is the + display_label if it is available otherwise it is an empty + string. + Returntype : string + Exceptions : none + Caller : web drawing code - if(defined $arg) { - $self->{_database_id} = $arg; - } - return $self->{_database_id}; +=cut + +sub display_id { + my $self = shift; + return $self->{'display_label'} || ''; } -=head2 adaptor - Arg [1] : Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor $adaptor - Example : none - Description: get/set for this objects Adaptor - Returntype : Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor +=head2 score + + Arg [1] : (optional) string $value + Example : $score = $simple_feature->score(); + Description: Getter/Setter for the score associated with this + feature. + Returntype : string Exceptions : none - Caller : general, set from adaptor on store + Caller : general =cut -sub adaptor { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'adaptor'} = $value; - } - return $self->{'adaptor'}; - +sub score { + my $self = shift; + $self->{'score'} = shift if(@_); + return $self->{'score'}; } diff --git a/modules/Bio/EnsEMBL/Slice.pm b/modules/Bio/EnsEMBL/Slice.pm index bf1da683d2..42e5c6d293 100644 --- a/modules/Bio/EnsEMBL/Slice.pm +++ b/modules/Bio/EnsEMBL/Slice.pm @@ -1,7 +1,6 @@ # -# Ensembl module for Bio::EnsEMBL::Assembly::Slice +# Ensembl module for Bio::EnsEMBL::Slice # -# Cared for by Ewan Birney <ensembl-dev@ebi.ac.uk> # # Copyright Ewan Birney # @@ -15,18 +14,34 @@ Bio::EnsEMBL::Slice - Arbitary Slice of a genome =head1 SYNOPSIS - $slice_adaptor = $db->get_SliceAdaptor; + $sa = $db->get_SliceAdaptor; - $slice = $slice_adaptor->fetch_by_chr_start_end('X', 1_000_000, 2_000_000); + $slice = $sa->fetch_by_region('chromosome', 'X', 1_000_000, 2_000_000); + #get some attributes of the slice + my $seqname = $slice->seq_region_name(); + my $start = $slice->start(); + my $end = $slice->end(); + print "$seqname, $start-$end\n"; + + #get the sequence from the slice + my $seq = $slice->seq(); + print $seq; + + #get some features from the slice foreach $gene ( @{$slice->get_all_Genes} ) { # do something with a gene } - -=head1 DESCRIPTION + foreach my $feature ( @{$slice->get_all_DnaAlignFeatures}) { + # do something with dna-dna alignments + } +=head1 DESCRIPTION + +A Slice object represents a region of a genome. It can be used to retrieve +sequence or features from an area of interest. =head1 AUTHOR - Ewan Birney @@ -37,39 +52,58 @@ This modules is part of the Ensembl project http://www.ensembl.org Questions can be posted to the ensembl-dev mailing list: ensembl-dev@ebi.ac.uk +=head1 METHODS + =cut package Bio::EnsEMBL::Slice; use vars qw(@ISA); use strict; -use Bio::EnsEMBL::Root; -use Bio::PrimarySeqI; -use Bio::EnsEMBL::Tile; +use Bio::EnsEMBL::Root; #included for backwards compatibility +use Bio::EnsEMBL::Tile; #included for backwards compatibility +use Bio::EnsEMBL::Chromosome; #included for backwards compatibility +use Bio::EnsEMBL::RawContig; #included for backwards compatibility +use Bio::PrimarySeqI;# included only for backwards compatibility + +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning); +use Bio::EnsEMBL::RepeatMaskedSlice; + +#inheritance to Bio::EnsEMBL::Root will eventually be removed @ISA = qw(Bio::EnsEMBL::Root Bio::PrimarySeqI); =head2 new - Arg [...] : List of optional named arguments - string CHR_NAME, - int CHR_START, - int CHR_END, - int STRAND, - string ASSEMBLY_TYPE, - Bio::EnsEMBL::DBSQL::SliceAdaptor ADAPTOR - int DBID - boolean EMPTY - Example : $slice = new Bio::EnsEMBL::Slice(-start => 1, - -end => 10000, - -chr_name => 'X', - -adaptor => $slice_adaptor); - Description: Creates a new slice object. The empty flag is intended to - create an empty slice which is not on a particular chromosome. - In this way objects can be transformed to slice coordinates - from raw contig coordinates when their location in the assembly - is not known. + Arg [...] : List of named arguments + string COORD_SYSTEM + string SEQ_REGION_NAME, + int START, + int END, + string VERSION (optional, defaults to '') + int STRAND, (optional, defaults to 1) + Bio::EnsEMBL::DBSQL::SliceAdaptor ADAPTOR (optional) + Example : $slice = Bio::EnsEMBL::Slice->new(-coord_system => $cs, + -start => 1, + -end => 10000, + -strand => 1, + -seq_region_name => 'X', + -adaptor => $slice_adaptor); + Description: Creates a new slice object. A slice represents a region + of sequence in a particular coordinate system. Slices can be + used to retrieve sequence and features from an area of + interest in a genome. + + Coordinates start at 1 and are inclusive. Negative + coordinates or coordinates exceeding the length of the + seq_region are permitted. Start must be less than or equal. + to end regardless of the strand. + + Slice objects are immutable. Once instantiated their attributes + (with the exception of the adaptor) may not be altered. To + change the attributes a new slice must be created. Returntype : Bio::EnsEMBL::Slice Exceptions : none Caller : general, Bio::EnsEMBL::SliceAdaptor @@ -77,58 +111,57 @@ use Bio::EnsEMBL::Tile; =cut sub new { - my($class,@args) = @_; - - my $self = {}; - bless $self,$class; - - my ($chr,$start,$end,$strand,$type,$adaptor, $dbID, $empty) = - $self->_rearrange([qw(CHR_NAME - CHR_START - CHR_END - STRAND - ASSEMBLY_TYPE - ADAPTOR - DBID - EMPTY)], - @args); - - if( ! defined $empty ) { - if( !defined $chr || !defined $start || !defined $end || !defined $type ) { - #warn "Chr: $chr\tStart: $start\tEnd: $end\tType: $type"; - $self->throw("Do not have all the parameters for slice"); - } - $self->chr_name($chr); - $self->chr_start($start); - $self->chr_end($end); + my $caller = shift; - if(!defined $strand) { - $strand = 1; #default slice strand is 1 - } else { - unless($strand == 1 || $strand == -1) { - $self->throw("Slice strand must be either -1 or 1 not [$strand]."); - } - } - $self->strand($strand); - } else { - $self->strand( 1 ); - $self->chr_start( 1 ); - - # empty Slices are used to do mapping to chromosomal coords. - # After the mapping, the Slice contains chr_name and is reference - # point for the mapped object + #new can be called as a class or object method + my $class = ref($caller) || $caller; + + my ($seq, $coord_system, $seq_region_name, + $start, $end, $strand, $adaptor, $empty) = + rearrange([qw(SEQ COORD_SYSTEM SEQ_REGION_NAME + START END STRAND ADAPTOR EMPTY)], @_); + + #empty is only for backwards compatibility + if($empty) { + deprecate("Creation of empty slices is no longer needed" . + "and is deprecated"); + return bless({'empty' => 1, 'adaptor' => $adaptor}, $class); + } + + $seq_region_name || throw('SEQ_REGION_NAME argument is required'); + defined($start) || throw('START argument is required'); + defined($end) || throw('END argument is required'); + ($start <= $end) || throw('start must be less than or equal to end'); + + if($seq && length($seq) != ($end - $start + 1)){ + throw('SEQ must be the same length as the defined LENGTH not '. + length($seq).' compared to '.($end - $start + 1)); } + if(!$coord_system || !ref($coord_system) || + !$coord_system->isa('Bio::EnsEMBL::CoordSystem')) { + throw('COORD_SYSTEM argment must be a Bio::EnsEMBL::CoordSystem'); + } + + #strand defaults to 1 if not defined + $strand ||= 1; - $self->assembly_type($type); - $self->adaptor($adaptor); - $self->dbID( $dbID ); - # set stuff in self from @args + if($strand != 1 && $strand != -1) { + throw('STRAND argument must be -1 or 1'); + } - if( defined $adaptor && !defined $type ) { - $self->assembly_type - ( $adaptor->db()->get_MetaContainer()->get_default_assembly()); + if(defined($adaptor)) { + if(!ref($adaptor) || !$adaptor->isa('Bio::EnsEMBL::DBSQL::SliceAdaptor')) { + throw('ADAPTOR argument must be a Bio::EnsEMBL::DBSQL::SliceAdaptor'); + } } - return $self; + + return bless {'coord_system' => $coord_system, + 'seq' => $seq, + 'seq_region_name' => $seq_region_name, + 'start' => $start, + 'end' => $end, + 'strand' => $strand, + 'adaptor' => $adaptor}, $class; } @@ -146,163 +179,158 @@ sub new { =cut sub adaptor{ - my ($self,$value) = @_; - if( defined $value) { - $self->{'adaptor'} = $value; - } - return $self->{'adaptor'}; + my $self = shift; + + if(@_) { + my $ad = shift; + if(defined($ad)) { + if(!ref($ad) || !$ad->isa('Bio::EnsEMBL::DBSQL::SliceAdaptor')) { + throw('Argument must be a Bio::EnsEMBL::DBSQL::SliceAdaptor'); + } + } + $self->{'adaptor'} = $ad; + } + + return $self->{'adaptor'}; } -=head2 dbID +=head2 seq_region_name - Arg [1] : (optioanl) int $value - Example : none - Description: Getter/Setter for the unique database identifier for this - slice. This is not currently useful since slices are - abstractions and not actually stored in a database. This - function is present to mirror RawContigs dbID method and - because it could in theory be used one day. - Returntype : int + Arg [1] : none + Example : $seq_region = $slice->seq_region_name; + Description: Returns the name of the seq_region that this slice is on. For + example if this slice is in chromosomal coordinates the + seq_region_name might be 'X' or '10'. + + This function was formerly named chr_name, but since slices can + now be on coordinate systems other than chromosomal it has been + changed. + Returntype : string Exceptions : none - Caller : none + Caller : general =cut -sub dbID { - my ( $self, $value ) = @_; - if( defined $value ) { - $self->{'dbID'} = $value; - } - return $self->{'dbID'}; +sub seq_region_name { + my $self = shift; + return $self->{'seq_region_name'}; } -=head2 name +=head2 coord_system - Arg [1] : optional string $name - Example : $name = $slice->name(); - Description: Returns the name of this slice. The name is formatted as a - the following string: "$chr_name.$chr_start-$chr_end". - (e.g. 'X.10000-20000') - This essentially allows slices to be easily compared and - can also act as a hash value. This is similar to the name - method in RawContig so for exons which can have either type - of sequence attached it provides a more common interface. - You can as well set the slicename to something like "NT_110023" - Returntype : string + Arg [1] : none + Example : print $slice->coord_system->name(); + Description: Returns the coordinate system that this slice is on. + Returntype : Bio::EnsEMBL::CoordSystem Exceptions : none Caller : general =cut -sub name { - my ( $self, $arg ) = @_; - - if( defined $arg ) { - $self->{name} = $arg; - } elsif(!defined $self->{name}) { - my $chr_name = $self->chr_name || ''; - my $chr_start = $self->chr_start || ''; - my $chr_end = $self->chr_end || ''; - - my $string = "$chr_name.$chr_start-$chr_end"; - - if($self->strand == -1) { - $self->{name} = "reverse($string)"; - } else { - $self->{name} = $string; - } - } - - return $self->{name}; +sub coord_system { + my $self = shift; + return $self->{'coord_system'}; } -=head2 get_all_QtlFeatures - Args : none - Example : none - Description: returns overlapping QtlFeatures - Returntype : listref Bio::EnsEMBL::Map::QtlFeature +=head2 start + + Arg [1] : none + Example : $start = $slice->start(); + Description: Returns the start position of this slice relative to the + start of the sequence region that it was created on. + Coordinates are inclusive and start at 1. Negative coordinates + or coordinates exceeding the length of the sequence region are + permitted. Start is always less than or equal to end + regardless of the orientation of the slice. + Returntype : int Exceptions : none Caller : general =cut -sub get_all_QtlFeatures { +sub start { my $self = shift; + return $self->{'start'}; +} - my $qfAdaptor; - if( $self->adaptor()) { - $qfAdaptor = $self->adaptor()->db()->get_QtlFeatureAdaptor(); - } else { - return []; - } - return $qfAdaptor->fetch_all_by_Slice_constraint( $self ); + +=head2 end + + Arg [1] : none + Example : $end = $slice->end(); + Description: Returns the end position of this slice relative to the + start of the sequence region that it was created on. + Coordinates are inclusive and start at 1. Negative coordinates + or coordinates exceeding the length of the sequence region are + permitted. End is always greater than or equal to start + regardless of the orientation of the slice. + Returntype : int + Exceptions : none + Caller : general + +=cut + +sub end { + my $self = shift; + return $self->{'end'}; } -=head2 get_all_supercontig_Slices + +=head2 strand Arg [1] : none - Example : none - Description: Returns Slices that represent overlapping supercontigs. - Coordinates inside those slices are supercontig coordinates. - You can transfer features to this slices coordinate system with - the normal transform call. The returned slices hav their names - set to the supercontig names. - Returntype : listref Bio::EnsEMBL::Slice + Example : $strand = $slice->strand(); + Description: Returns the orientation of this slice on the seq_region it has + been created on + Returntype : int (either 1 or -1) Exceptions : none - Caller : none + Caller : general, invert =cut - -sub get_all_supercontig_Slices { +sub strand{ my $self = shift; - my $result = []; + return $self->{'strand'}; +} - if( $self->adaptor() ) { - my $superctg_names = $self->adaptor()->list_overlapping_supercontigs( $self ); - - for my $name ( @$superctg_names ) { - my $slice; - $slice = $self->adaptor()->fetch_by_supercontig_name( $name ); - $slice->name( $name ); - push( @$result, $slice ); - } - } else { - $self->warn( "Slice needs to be attached to a database to get supercontigs" ); - } - return $result; -} - +=head2 name -=head2 id + Arg [1] : none + Example : my $results = $cache{$slice->name()}; + Description: Returns the name of this slice. The name is formatted as a colon + delimited string with the following attributes: + coord_system:version:seq_region_name:start:end:strand - Arg [1] : none - Example : none - Description: Here to mirror same method in RawContig. Simply returns - the same thing as $slice->name() and generally name should be - used instead. + Slices with the same name are equivalent and thus the name can + act as a hash key. Returntype : string Exceptions : none - Caller : none + Caller : general =cut -sub id { - my $self = shift; +sub name { + my $self = shift; - return $self->name() || $self->dbID(); + return join(':', + $self->{'coord_system'}->name(), + $self->{'coord_system'}->version(), + $self->{'seq_region_name'}, + $self->{'start'}, + $self->{'end'}, + $self->{'strand'}); } @@ -321,7 +349,7 @@ sub id { sub length { my ($self) = @_; - return $self->chr_end() - $self->chr_start() + 1; + return $self->{'end'} - $self->{'start'} + 1; } @@ -330,7 +358,7 @@ sub length { Arg [1] : none Example : $inverted_slice = $slice->invert; - Description: Creates a copy of this slice on the opposite strand and + Description: Creates a copy of this slice on the opposite strand and returns it. Returntype : Bio::EnsEMBL::Slice Exceptions : none @@ -340,73 +368,85 @@ sub length { sub invert { my $self = shift; - + + #make a shallow copy of the slice via a hash copy, my %s = %$self; - my $slice = bless \%s, ref $self; - $slice->strand($self->strand * -1); - delete $slice->{name}; - - return $slice; + if(!$self->adaptor){ + warning("You can't invert a Slice which isn't attached to a database"); + return; + } + #flip the strand, + $s{'strand'} = $self->{'strand'} * -1; + #bless and return the copy + return bless \%s, ref $self; } + =head2 seq - Args : none - Function : Returns the entire sequence string for this Slice. This method - will return the reverse complement of the sequence of another - slice on the same region but on the opposite strand. - Note that the slice needs the adaptor to be set to obtain the - sequence. - Returntype: txt - Exceptions: none - Caller : general + Arg [1] : none + Example : print "SEQUENCE = ", $slice->seq(); + Description: Returns the sequence of the region represented by this + slice formatted as a string. + Returntype : string + Exceptions : none + Caller : general =cut sub seq { my $self = shift; - my $seqAdaptor = $self->adaptor->db->get_SequenceAdaptor(); - return $seqAdaptor->fetch_by_Slice_start_end_strand( $self, 1, -1, 1 ); + + if(!$self->{'seq'}){ + my $seqAdaptor = $self->adaptor->db->get_SequenceAdaptor; + return ${$seqAdaptor->fetch_by_Slice_start_end_strand( $self, 1,undef, 1 )}; + } + + return $self->{'seq'}; } =head2 subseq - Arg 1 : int $startBasePair - relative to start of slice, which is 1. - Arg 2 : int $endBasePair - relative to start of slice. - Arg 3 : (optional) int $strand - The strand of the slice to obtain sequence from. Default value is - 1. - Function : returns string of dna sequence - Returntype: txt - Exceptions: end should be at least as big as start - strand must be set - Caller : general + Arg [1] : int $startBasePair + relative to start of slice, which is 1. + Arg [2] : int $endBasePair + relative to start of slice. + Arg [3] : (optional) int $strand + The strand of the slice to obtain sequence from. Default + value is 1. + Description: returns string of dna sequence + Returntype : txt + Exceptions : end should be at least as big as start + strand must be set + Caller : general =cut sub subseq { my ( $self, $start, $end, $strand ) = @_; - + if ( $end < $start ) { - $self->throw("End coord is less then start coord"); + throw("End coord is less then start coord"); } $strand = 1 unless(defined $strand); if ( $strand != -1 && $strand != 1 ) { - $self->throw("Invalid strand [$strand] in call to Slice::subseq."); + throw("Invalid strand [$strand] in call to Slice::subseq."); } - - my $seqAdaptor = $self->adaptor->db->get_SequenceAdaptor(); - my $seq = $seqAdaptor->fetch_by_Slice_start_end_strand( $self, $start, - $end, $strand ); - - return $seq; + my $subseq; + if($self->adaptor){ + my $seqAdaptor = $self->adaptor->db->get_SequenceAdaptor(); + $subseq = ${$seqAdaptor->fetch_by_Slice_start_end_strand + ( $self, $start, + $end, $strand )}; + }else{ + $subseq = substr ($self->seq(), ($start-1), $end); + } + return $subseq; } @@ -423,8 +463,8 @@ sub subseq { 'g' => num, 'n' => num, '%gc' => num } - - All bases which are not in the set [A,a,C,c,T,t,G,g] are + + All bases which are not in the set [A,a,C,c,T,t,G,g] are included in the 'n' count. The 'n' count could therefore be inclusive of ambiguity codes such as 'y'. The %gc is the ratio of GC to AT content as in: @@ -450,18 +490,16 @@ sub get_base_count { while($start <= $len) { $end = $start + $RANGE - 1; - + $end = $len if($end > $len); - $seq = $self->subseq($start, $end); - $a += $seq =~ tr/Aa/Aa/; $c += $seq =~ tr/Cc/Cc/; $t += $seq =~ tr/Tt/Tt/; $g += $seq =~ tr/Gg/Gg/; $start = $end + 1; - } + } my $gc_content = 0; if($a || $g || $c || $t) { #avoid divide by 0 @@ -478,6 +516,305 @@ sub get_base_count { +=head2 project + + Arg [1] : string $name + The name of the coordinate system to project this slice onto + Arg [2] : string $version + The version of the coordinate system (such as 'NCBI34') to + project this slice onto + Example : + my $clone_projection = $slice->project('clone'); + + foreach my $segment (@$clone_projection) { + my ($start, $end, $clone) = @$segment; + print $slice->seq_region_name, ':', $start, '-', $end , ' -> ', + $clone->seq_region_name, ':', $clone->start, '-', $clone->end, + $clone->strand, "\n"; + } + Description: Returns the results of 'projecting' this slice onto another + coordinate system. Projecting to a coordinate system that + the slice is assembled from is analagous to retrieving a tiling + path. This method may also be used to 'project up' to a higher + level coordinate system, however. + + This method returns a listref of triplets [start,end,slice] + which represents the projection. The start and end defined the + region of this slice which is made up of the third value of + the triplet: a slice in the requested coordinate system. + Returntype : list reference of [$start,$end,$slice] triplets + Exceptions : none + Caller : general + +=cut + +sub project { + my $self = shift; + my $cs_name = shift; + my $cs_version = shift; + + throw('Coord_system name argument is required') if(!$cs_name); + + #obtain a mapper between this coordinate system and the requested one + if(!$self->adaptor){ + warning("You can't project a slice which isn't attached to a ". + "database on to another coordinate system"); + return; + } + my $slice_adaptor = $self->adaptor(); + + if(!$slice_adaptor) { + warning("Cannot project slice without an attached SliceAdaptor"); + return []; + } + + my $db = $slice_adaptor->db(); + my $csa = $db->get_CoordSystemAdaptor(); + my $cs = $csa->fetch_by_name($cs_name, $cs_version); + my $slice_cs = $self->coord_system(); + + #no mapping is needed if the requested coord system is the one we are in + #but we do need to check if some of the slice is outside of defined regions + if($slice_cs->equals($cs)) { + my $entire_slice = $slice_adaptor->fetch_by_region($cs->name(), + $self->{'seq_region_name'}, + undef, undef, undef, + $cs->version()); + + my $entire_len = $entire_slice->length(); + + #if the slice has negative coordinates or coordinates exceeding the + #exceeding length of the sequence region we want to shrink the slice to + #the defined region + + if($self->{'start'} > $entire_len || $self->{'end'} < 1) { + #none of this slice is in a defined region + return []; + } + + my $right_contract = 0; + my $left_contract = 0; + if($self->{'end'} > $entire_len) { + $right_contract = $entire_len - $self->{'end'}; + } + if($self->{'start'} < 1) { + $left_contract = $self->{'start'} - 1; + } + + my $new_slice; + if($left_contract || $right_contract) { + $new_slice = $self->expand($left_contract, $right_contract); + } else { + $new_slice = $self; + } + + return [[1-$left_contract, $self->length()+$right_contract, $new_slice]]; + } + + my @projection; + my $current_start = 1; + + #decompose this slice into its symlinked components. + #this allows us to handle haplotypes and PARs + my $normal_slice_proj = + $slice_adaptor->fetch_normalized_slice_projection($self); + foreach my $segment (@$normal_slice_proj) { + my $normal_slice = $segment->[2]; + + $slice_cs = $normal_slice->coord_system(); + + my $asma = $db->get_AssemblyMapperAdaptor(); + my $asm_mapper = $asma->fetch_by_CoordSystems($slice_cs, $cs); + + # perform the mapping between this slice and the requested system + my @coords = $asm_mapper->map($normal_slice->seq_region_name(), + $normal_slice->start(), + $normal_slice->end(), + $normal_slice->strand(), + $slice_cs); + + #construct a projection from the mapping results and return it + + foreach my $coord (@coords) { + my $coord_start = $coord->start(); + my $coord_end = $coord->end(); + my $length = $coord_end - $coord_start + 1; + + #skip gaps + if($coord->isa('Bio::EnsEMBL::Mapper::Coordinate')) { + #create slices for the mapped-to coord system + my $slice = $self->new + (-COORD_SYSTEM => $cs, + -START => $coord_start, + -END => $coord_end, + -STRAND => $coord->strand(), + -SEQ_REGION_NAME => $coord->id(), + -ADAPTOR => $self->adaptor()); + + my $current_end = $current_start + $length - 1; + + push @projection, [$current_start, $current_end, $slice]; + } + + $current_start += $length; + } + } + + return \@projection; +} + + + +=head2 expand + + Arg [1] : (optional) int $five_prime_expand + The number of basepairs to shift this slices five_prime + coordinate by. Positive values make the slice larger, + negative make the slice smaller. + coordinate left. + Default = 0. + Arg [2] : (optional) int $three_prime_expand + The number of basepairs to shift this slices three_prime + coordinate by. Positive values make the slice larger, + negative make the slice smaller. + Default = 0. + Example : my $expanded_slice = $slice->expand( 1000, 1000); + my $contracted_slice = $slice->expand(-1000,-1000); + my $shifted_right_slice = $slice->expand(-1000, 1000); + my $shifted_left_slice = $slice->expand( 1000,-1000); + Description: Returns a slice which is a resized copy of this slice. The + start and end are moved outwards from the center of the slice + if positive values are provided and moved inwards if negative + values are provided. This slice remains unchanged. A slice + may not be contracted below 1bp but may grow to be arbitrarily + large. + Returntype : Bio::EnsEMBL::Slice + Exceptions : warning if an attempt is made to contract the slice below 1bp + Caller : general + +=cut + +sub expand { + my $self = shift; + my $five_prime_shift = shift || 0; + my $three_prime_shift = shift || 0; + + if($self->{'seq'}){ + warning("You can't expand a slice which already has an attached ". + "sequence "); + return; + } + + my $new_start; + my $new_end; + + if($self->{'strand'} == 1) { + $new_start = $self->{'start'} - $five_prime_shift; + $new_end = $self->{'end'} + $three_prime_shift; + } else { + $new_end = $self->{'end'} + $five_prime_shift; + $new_start = $self->{'start'} - $three_prime_shift; + } + + if($new_start > $new_end) { + throw('Slice start cannot be greater than slice end'); + } + + #fastest way to copy a slice is to do a shallow hash copy + my %new_slice = %$self; + $new_slice{'start'} = $new_start; + $new_slice{'end'} = $new_end; + + return bless \%new_slice, ref($self); +} + + + +=head2 get_seq_region_id + + Arg [1] : none + Example : my $seq_region_id = $slice->get_seq_region_id(); + Description: Gets the internal identifier of the seq_region that this slice + is on. Note that this function will not work correctly if this + slice does not have an attached adaptor. Also note that it may + be better to go through the SliceAdaptor::get_seq_region_id + method if you are working with multiple databases since is + possible to work with slices from databases with different + internal seq_region identifiers. + Returntype : int + Exceptions : warning if slice is not associated with a SliceAdaptor + Caller : assembly loading scripts, general + +=cut + +sub get_seq_region_id { + my ($self) = @_; + + if($self->adaptor) { + return $self->adaptor->get_seq_region_id($self); + } else { + warning('Cannot retrieve seq_region_id without attached adaptor.'); + return 0; + } +} + + +=head2 get_all_attribute_types + + Arg [1] : none + Example : my @attribute_types = $slice->get_attribute_types(); + Description: Gets a list of the types of attributes associated with the + seq_region this slice is on. + Returntype : list of strings + Exceptions : warning if slice does not have attached adaptor + Caller : general + +=cut + +sub get_attribute_types { + my $self = shift; + + if(!$self->adaptor()) { + warning('Cannot get attributes without an adaptor.'); + return (); + } + my %attrib_hash = %{$self->adaptor->get_seq_region_attribs($self)}; + return keys %attrib_hash; +} + + +=head2 get_attribute + + Arg [1] : string $attrib_type + The code of the attribute type to retrieve values for. + Example : ($htg_phase) = $slice->get_attribute('htg_phase'); + @synonyms = $slice->get_attribute('synonyms'); + Description: Gets a list of values for a given attribute of this + slice''s seq_region. + Returntype : list of strings + Exceptions : warning is slice does not have attached adaptor + throw if argument is not provided + Caller : general + +=cut + +sub get_attribute { + my $self = shift; + my $attrib_code = shift; + + throw('Attrib code argument is required.') if(!$attrib_code); + + if(!$self->adaptor()) { + warning('Cannot get attributes without an adaptor.'); + return (); + } + + my %attribs = %{$self->adaptor->get_seq_region_attribs($self)}; + + return @{$attribs{$attrib_code} || []}; +} + + =head2 get_all_PredictionTranscripts Arg [1] : (optional) string $logic_name @@ -510,6 +847,9 @@ sub get_all_PredictionTranscripts { to obtain. Arg [2] : (optional) float $score The mimimum score of the features to retrieve + Arg [3] : (optional) string $dbtype + The name of an attached database to retrieve the features from + instead. e.g. 'est'. Example : @dna_dna_align_feats = @{$slice->get_all_DnaAlignFeatures}; Description: Retrieves the DnaDnaAlignFeatures which overlap this slice with logic name $logic_name and with score above $score. If @@ -523,17 +863,24 @@ sub get_all_PredictionTranscripts { =cut sub get_all_DnaAlignFeatures { - my ($self, $logic_name, $score, $dbtype) = @_; + my ($self, $logic_name, $score, $dbtype) = @_; - my $db = ($dbtype) ? $self->adaptor->db->get_db_adaptor($dbtype) : $self->adaptor->db; + my $db; - if(!$db) { - $self->warn("Don't have db $dbtype returning empty list\n"); - return []; - } + if($dbtype) { + $db = $self->adaptor->db->get_db_adaptor($dbtype); + if(!$db) { + warning("Don't have db $dbtype returning empty list\n"); + return []; + } + } else { + $db = $self->adaptor->db; + } - return $db->get_DnaAlignFeatureAdaptor()->fetch_all_by_Slice_and_score($self, $score, $logic_name); -} + my $dafa = $db->get_DnaAlignFeatureAdaptor(); + + return $dafa->fetch_all_by_Slice_and_score($self,$score, $logic_name); +} @@ -544,6 +891,9 @@ sub get_all_DnaAlignFeatures { to obtain. Arg [2] : (optional) float $score The mimimum score of the features to retrieve + Arg [3] : (optional) string $dbtype + The name of an attached datbase to retrieve features from + instead. Example : @dna_pep_align_feats = @{$slice->get_all_ProteinAlignFeatures}; Description: Retrieves the DnaPepAlignFeatures which overlap this slice with logic name $logic_name and with score above $score. If @@ -559,14 +909,20 @@ sub get_all_DnaAlignFeatures { sub get_all_ProteinAlignFeatures { my ($self, $logic_name, $score, $dbtype) = @_; - my $db = ($dbtype) ? $self->adaptor->db->get_db_adaptor($dbtype) : $self->adaptor->db; + my $db; - if(!$db) { - $self->warn("Don't have db $dbtype returning empty list\n"); - return []; + if($dbtype) { + $db = $self->adaptor->db->get_db_adaptor($dbtype); + if(!$db) { + warning("Don't have db $dbtype returning empty list\n"); + return []; + } + } else { + $db = $self->adaptor->db; } - return $db->get_ProteinAlignFeatureAdaptor()->fetch_all_by_Slice_and_score($self, $score, $logic_name); + my $pafa = $db->get_ProteinAlignFeatureAdaptor(); + return $pafa->fetch_all_by_Slice_and_score($self, $score, $logic_name); } @@ -592,10 +948,13 @@ sub get_all_ProteinAlignFeatures { =cut sub get_all_SimilarityFeatures { - my $self = shift; + my ($self, $logic_name, $score) = @_; + + my @out = (); + + push @out, @{$self->get_all_ProteinAlignFeatures($logic_name, $score) }; + push @out, @{$self->get_all_DnaAlignFeatures($logic_name, $score) }; - my @out = (@{$self->get_all_ProteinAlignFeatures( @_ ) }, - @{$self->get_all_DnaAlignFeatures( @_ ) }); return \@out; } @@ -655,6 +1014,7 @@ sub get_all_RepeatFeatures { } + =head2 get_all_SNPs Args : none @@ -710,12 +1070,7 @@ sub get_all_Genes{ - - - - - -=head2 get_all_Genes_by_type +=head2 get_all_Genes_by_type Arg [1] : string $type @@ -723,17 +1078,17 @@ sub get_all_Genes{ Arg [3] : (optional) boolean $empty_flag Example : @genes = @{$slice->get_all_Genes_by_type($type, 'ensembl')}; - Description: Retrieves genes that overlap this slice of type $type. - This is primarily used by the genebuilding code when several + Description: Retrieves genes that overlap this slice of type $type. + This is primarily used by the genebuilding code when several types of genes are used. - + The logic name is the analysis of the genes that are retrieved. If not provided all genes will be retrieved instead. - - The empty flag indicates light weight genes that only have a - start, end and strand should be used (only works if lite db is - available). If the lite database has - been attached to the core database this method will use the + + The empty flag indicates light weight genes that only have a + start, end and strand should be used (only works if lite db is + available). If the lite database has + been attached to the core database this method will use the lite database (and genes will not be as full featured). Returntype : listref of Bio::EnsEMBL::Genes Exceptions : none @@ -743,183 +1098,81 @@ sub get_all_Genes{ sub get_all_Genes_by_type{ my ($self, $type, $logic_name, $empty_flag) = @_; - + my @out = grep { $_->type eq $type } @{ $self->get_all_Genes($logic_name, $empty_flag)}; - - return \@out; -} - - - - -=head2 chr_name - - Arg [1] : (optional) string $value - Example : $chr_name = $slice->chr_name; - Description: Getter/Setter for the name of the chromosome that this slice - is on. This is generally set by the SliceAdaptor and should - probably not be set outside of that context. - Returntype : string - Exceptions : none - Caller : SliceAdaptor - -=cut - -sub chr_name{ - my ($self,$value) = @_; - if( defined $value) { - $self->{'chr_name'} = $value; - } - return $self->{'chr_name'}; - -} - - - -=head2 chr_start - - Arg [1] : int $value - Example : $chr_start = $slice->chr_start; - Description: Getter/Setter for the start base of this slice on the - chromosome. This is generally set by the SliceAdaptor and - probably shouldnt be set outside of that context. - chr_start is always less than or equal to chr_end - Returntype : int - Exceptions : none - Caller : SliceAdaptor, general - -=cut -sub chr_start{ - my ($self,$value) = @_; - if( defined $value) { - $self->{'chr_start'} = $value; - } - return $self->{'chr_start'}; -} - - - -=head2 chr_end - - Arg [1] : int $value - Example : $chr_end = $slice->chr_end; - Description: Getter/Setter for the end base of this slice on the - chromosome. This is generally set by the SliceAdaptor and - probably shouldnt be set outside of that context. - chr_end is always greater than or equal to chr_start - Returntype : int - Exceptions : none - Caller : SliceAdaptor, general - -=cut - -sub chr_end{ - my ($self,$value) = @_; - if( defined $value) { - $self->{'chr_end'} = $value; - } - return $self->{'chr_end'}; + return \@out; } +=head2 get_all_Transcripts -=head2 strand - - Arg [1] : int $value - Example : $strand = $slice->strand; - Description: Getter/Setter for the strand of the chromosome this slice is on. - This should not be set manually. A much better way to obtain - a slice on the opposite strand is to call the invert method. - Returntype : int (either 1 or -1) + Arg [1] : none + Example : @transcripts = @{$slice->get_all_Transcripts}; + Description: Gets all transcripts which overlap this slice. If you want to + specify a particular analysis or type, then you are better off + using get_all_Genes or get_all_Genes_by_type and iterating + through the transcripts of each gene. + Returntype : reference to a list of Bio::EnsEMBL::Transcripts Exceptions : none - Caller : invert, SliceAdaptor, general + Caller : general =cut -sub strand{ - my ($self,$value) = @_; - - if( defined $value) { - $self->{'strand'} = $value; - } - return $self->{'strand'}; - +sub get_all_Transcripts { + my $self = shift; + return $self->adaptor->db->get_TranscriptAdaptor->fetch_all_by_Slice($self); } +=head2 get_all_Exons -=head2 assembly_type - - Arg [1] : string $value - Example : $assembly_mapper_adaptor->fetch_by_type($slice->assembly_type); - Description: Gets/Sets the assembly type that this slice is constructed - from. This is generally set by the slice adaptor and probably - shouldnt be set outside of this context. - Returntype : string + Arg [1] : none + Example : @exons = @{$slice->get_all_Exons}; + Description: Gets all exons which overlap this slice. Note that these exons + will not be associated with any transcripts, so this may not + be terribly useful. + Returntype : reference to a list of Bio::EnsEMBL::Exons Exceptions : none Caller : general =cut -sub assembly_type { - my ($self,$value) = @_; - if( defined $value) { - $self->{'assembly_type'} = $value; - } - return $self->{'assembly_type'}; - +sub get_all_Exons { + my $self = shift; + return $self->adaptor->db->get_ExonAdaptor->fetch_all_by_Slice($self); } -=head2 assembly_name +=head2 get_all_QtlFeatures - Arg [1] : string $value - Example : $slice->assembly_name(); - Description: Gets/Sets the assembly name that this slice is constructed - from. This is generally set by the slice adaptor and probably - shouldnt be set outside of this context. - Returntype : string + Args : none + Example : none + Description: returns overlapping QtlFeatures + Returntype : listref Bio::EnsEMBL::Map::QtlFeature Exceptions : none Caller : general =cut -sub assembly_name { - my ($self,$value) = @_; - if( defined $value) { - $self->adaptor->db->assembly_name($value); - } - return $self->adaptor->db->assembly_name(); - -} - -=head2 assembly_version - - Arg [1] : string $value - Example : $slice->assembly_version(); - Description: Gets/Sets the assembly version that this slice is constructed - from. This is generally set by the slice adaptor and probably - shouldnt be set outside of this context. - Returntype : string - Exceptions : none - Caller : general - -=cut +sub get_all_QtlFeatures { + my $self = shift; -sub assembly_version { - my ($self,$value) = @_; - if( defined $value) { - $self->adaptor->db->assembly_version($value); - } - return $self->adaptor->db->assembly_version(); + my $qfAdaptor; + if( $self->adaptor()) { + $qfAdaptor = $self->adaptor()->db()->get_QtlFeatureAdaptor(); + } else { + return []; + } + return $qfAdaptor->fetch_all_by_Slice_constraint( $self ); } + =head2 get_all_KaryotypeBands Arg [1] : none @@ -933,171 +1186,94 @@ sub assembly_version { sub get_all_KaryotypeBands { my ($self) = @_; - + my $kadp = $self->adaptor->db->get_KaryotypeBandAdaptor(); return $kadp->fetch_all_by_Slice($self); } -=head2 get_Chromosome - - Arg [1] : none - Example : $chromosome = $slice->get_Chromosome; - Description: Retrieves the chromosome object which this slice is on - Returntype : Bio::EnsEMBL::Chromosome - Exceptions : none - Caller : general - -=cut - -sub get_Chromosome { - my $self = shift @_; - - my $ca = $self->adaptor->db->get_ChromosomeAdaptor(); - - return $ca->fetch_by_chr_name($self->chr_name()); -} - - =head2 get_repeatmasked_seq - Arg [1] : listref of strings $logic_names (optional, default is '') - Arg [2] : int $default_masking_type (optional, default is 0) - 0 hard mask, repeats are replaced by Ns - 1 soft mask, repeats are transformed in lower case - Arg [3] : hash reference $not_default_masking_cases (optional, default is {}) - The values are 0 or 1 with same definition as in Arg [2] - The keys of the hash should be of 2 forms - "repeat_class_" . $repeat_consensus->repeat_class, - e.g. "repeat_class_SINE/MIR" - "repeat_name_" . $repeat_consensus->name - e.g. "repeat_name_MIR" - depending on which based you want to apply the not default masking, - on the repeat_class or repeat_name. Both can be specified in the same hash - the same time, but in that case, repeat_name setting has priority over - repeat_class. For example, you may have hard maksing as default, and - you may want soft masking of all repeat_name SINE/MIR, - but repeat_name AluSp (which are also from repeat_name SINE/MIR) - Example : $slice->get_repeatmasked_seq - or $slice->get_repeatmasked_seq(['RepeatMask'],1) - Description: Returns Bio::PrimarySeq containing the masked (repeat replaced - by N) - or soft-masked (when Arg[2]=1, repeat in lower case while non - repeat in upper case) sequence corresponding to the Slice - object. + Arg [1] : listref of strings $logic_names (optional) + Arg [2] : int $soft_masking_enable (optional) + Example : $rm_slice = $slice->get_repeatmasked_seq() + $softrm_slice->get_repeatmasked_seq(['RepeatMask'],1) + Description: Returns Bio::EnsEMBL::Slice that can be used to create repeat + masked sequence instead of the regular sequence. + Sequence returned by this new slice will have repeat regions + hardmasked by default (sequence replaced by N) or + or soft-masked when arg[2] = 1 (sequence in lowercase) Will only work with database connection to get repeat features. - Returntype : Bio::PrimarySeq + Returntype : Bio::EnsEMBL::RepeatMaskedSlice Exceptions : none Caller : general =cut sub get_repeatmasked_seq { - my ($self,$logic_names,$default_masking_type, $not_default_masking_cases) = @_; - - unless($logic_names && @$logic_names) { - $logic_names = [ '' ]; - } - - unless (defined $default_masking_type) { - $default_masking_type = 0; - # 0 hard mask, repeats are replaced by Ns - # 1 soft mask, repeats are transformed in lower case - } - - unless (defined $not_default_masking_cases) { - $not_default_masking_cases = {}; - } - - my $repeats = []; - - foreach my $l (@$logic_names) { - push @{$repeats}, @{$self->get_all_RepeatFeatures($l)}; - } - - my $dna = $self->seq(); - my $masked_dna = $self->_mask_features($dna,$repeats,$default_masking_type,$not_default_masking_cases); - my $masked_seq = Bio::PrimarySeq->new('-seq' => $masked_dna, - '-display_id' => $self->id, - '-primary_id' => $self->id, - '-moltype' => 'dna' - ); - return $masked_seq; + my ($self,$logic_names,$soft_mask) = @_; + + #creat a slice that + return Bio::EnsEMBL::RepeatMaskedSlice->new + (-START => $self->{'start'}, + -END => $self->{'end'}, + -STRAND => $self->{'strand'}, + -ADAPTOR => $self->{'adaptor'}, + -SEQ => $self->{'seq'}, + -SEQ_REGION_NAME => $self->{'seq_region_name'}, + -COORD_SYSTEM => $self->{'coord_system'}, + -REPEAT_MASK => $logic_names, + -SOFT_MASK => $soft_mask); } =head2 _mask_features - Arg [1] : string $dna_string + Arg [1] : reference to a string $dnaref Arg [2] : array_ref $repeats reference to a list Bio::EnsEMBL::RepeatFeature give the list of coordinates to replace with N or with lower case - Arg [3] : int $default_masking_type (optional) - 0 hard mask, repeats are replaced by Ns (default) - 1 soft mask, repeats are transformed in lower case - Arg [4] : hash reference $not_default_masking_cases (optional) - The values are 0 or 1 with same definition as in Arg [3] - The keys of the hash should be of 2 forms - "repeat_class_" . $repeat_consensus->repeat_class, - e.g. "repeat_class_SINE/MIR" - "repeat_name_" . $repeat_consensus->name - e.g. "repeat_name_MIR" - depending on which based you want to apply the not default masking, - on the repeat_class or repeat_name. Both can be specified in the same hash - the same time, but in that case, repeat_name setting has priority over - repeat_class. For example, you may have hard maksing as default, and - you may want soft masking of all repeat_name SINE/MIR, - but repeat_name AluSp (which are also from repeat_name SINE/MIR) + Arg [3] : int $soft_masking_enable (optional) Example : none Description: replaces string positions described in the RepeatFeatures with Ns (default setting), or with the lower case equivalent - (soft masking) - Returntype : string + (soft masking). The reference to a dna string which is passed + is changed in place. + Returntype : none Exceptions : none - Caller : get_repeatmasked_seq + Caller : seq =cut sub _mask_features { - my ($self,$dnastr,$repeats,$default_masking_type,$not_default_masking_cases) = @_; - - # explicit CORE::length call, to avoid any confusion with the Slice + my ($self,$dnaref,$repeats,$soft_mask) = @_; + + # explicit CORE::length call, to avoid any confusion with the Slice # length method - my $dnalen = CORE::length($dnastr); - - unless (defined $default_masking_type) { - $default_masking_type = 0; - # 0 hard mask, repeats are replaced by Ns - # 1 soft mask, repeats are transformed in lower case - } - unless (defined $not_default_masking_cases) { - $not_default_masking_cases = {}; - } + my $dnalen = CORE::length($$dnaref); REP:foreach my $f (@{$repeats}) { my $start = $f->start; my $end = $f->end; my $length = ($end - $start) + 1; - + # check if we get repeat completely outside of expected slice range if ($end < 1 || $start > $dnalen) { - $self->warn("Repeat completely outside slice coordinates! " . - "That should not happen! repeat_start $start or repeat_end $end not" . - "within [1-$dnalen] slice range coordinates\n"); + warning("Unexpected: Repeat completely outside slice coordinates."); next REP; } - + # repeat partly outside slice range, so correct # the repeat start and length to the slice size if needed if ($start < 1) { $start = 1; $length = ($end - $start) + 1; } - + # repeat partly outside slice range, so correct # the repeat end and length to the slice size if needed if ($end > $dnalen) { @@ -1106,34 +1282,17 @@ sub _mask_features { } $start--; - + my $padstr; - my $repeat_consensus = $f->repeat_consensus; - my $masking_type = $default_masking_type; - - if (defined $not_default_masking_cases->{"repeat_class_" . $repeat_consensus->repeat_class}) { - $masking_type = $not_default_masking_cases->{"repeat_class_" . $repeat_consensus->repeat_class}; - } - if (defined $not_default_masking_cases->{"repeat_name_" . $repeat_consensus->name}) { - $masking_type = $not_default_masking_cases->{"repeat_name_" . $repeat_consensus->name}; - } - - if ($masking_type) { - print STDERR "LowerCase Masking: ",$repeat_consensus->repeat_class," ",$repeat_consensus->name,"\n"; - $padstr = lc substr ($dnastr,$start,$length); + if ($soft_mask) { + $padstr = lc substr ($$dnaref,$start,$length); } else { - print STDERR "Hard Masking: ",$repeat_consensus->repeat_class," ",$repeat_consensus->name,"\n"; $padstr = 'N' x $length; } - substr ($dnastr,$start,$length) = $padstr; - - } - unless (scalar @{$repeats}) { - print STDERR "No Repeat Features\n"; + substr ($$dnaref,$start,$length) = $padstr; } - return $dnastr; -} +} =head2 get_all_SearchFeatures @@ -1154,7 +1313,7 @@ sub get_all_SearchFeatures { local $_; unless($ticket) { - $self->throw("ticket argument is required"); + throw("ticket argument is required"); } my $sfa = $self->adaptor()->db()->get_db_adaptor('blast'); @@ -1162,7 +1321,7 @@ sub get_all_SearchFeatures { my $offset = $self->chr_start-1; my $features = $sfa ? $sfa->get_all_SearchFeatures($ticket, $self->chr_name, $self->chr_start, $self->chr_end) : []; - #warn join(', ', @$features ); + foreach( @$features ) { $_->start( $_->start-$offset ); $_->end( $_->end-$offset ); @@ -1171,122 +1330,41 @@ sub get_all_SearchFeatures { } -=head2 get_all_MapFrags - Arg [1] : string $mapset - Example : $slice->get_all_MapFrags('cloneset'); - Description: Retreives all mapfrags of mapset $mapset that overlap this slice - Returntype : listref of Bio::EnsEMBL::MapFrags +=head2 get_all_MiscFeatures + + Arg [1] : string $set (optional) + Example : $slice->get_all_MiscFeatures('cloneset'); + Description: Retreives all misc features which overlap this slice. If + a set code is provided only features which are members of + the requested set are returned. + Returntype : listref of Bio::EnsEMBL::MiscFeatures Exceptions : none Caller : general =cut -sub get_all_MapFrags { - my $self = shift; - my $mapset = shift; - - unless($mapset) { - $self->throw("mapset argument is required"); - } - - my $mfa = $self->adaptor()->db()->get_MapFragAdaptor(); - - return $mfa->fetch_all_by_mapset_chr_start_end($mapset, - $self->chr_name, - $self->chr_start, - $self->chr_end); -} - - - -sub has_MapSet { - my( $self, $mapset_name ) = @_; - - my $mfa = $self->adaptor()->db()->get_MapFragAdaptor(); - - return $mfa->has_mapset($mapset_name); -} - - +sub get_all_MiscFeatures { + my $self = shift; + my $misc_set = shift; -=head2 get_tiling_path + my $adaptor = $self->adaptor(); - Arg [1] : none - Example : @tiles = @{$slice->get_tiling_path()}; - Description: Retrieve a listref of Bio::EnsEMBL::Tile objects representing - the tiling path used to construct the contiguous slice sequence. - Returntype : list reference of Bio::EnsEMBL::Tile objects - Exceptions : none - Caller : general + if(!$adaptor) { + warning('Cannot retrieve features without attached adaptor.'); + return []; + } -=cut + my $mfa = $adaptor->db->get_MiscFeatureAdaptor(); -sub get_tiling_path { - my ($self) = @_; - - my $mapper = $self->adaptor()->db->get_AssemblyMapperAdaptor()-> - fetch_by_type($self->assembly_type()); - - # Get the ids of the raw_contigs in this region specified in chrmsml coords - - my @mapped = $mapper->map_coordinates_to_rawcontig - ( - $self->chr_name(), - $self->chr_start(), - $self->chr_end(), - $self->strand() - ); - - # Extract the IDS of the Coordinates, ommitting Gaps - my @raw_contig_ids = (); - foreach my $map_item (@mapped) { - if($map_item->isa("Bio::EnsEMBL::Mapper::Coordinate" )) { - push @raw_contig_ids, $map_item->id(); - } + if($misc_set) { + return $mfa->fetch_all_by_Slice_and_set_code($self,$misc_set); } - #Fetch filled raw contigs (non lazy-loaded) containing filled clone objects - my $rca = $self->adaptor->db->get_RawContigAdaptor(); - my $raw_contigs = $rca->fetch_filled_by_dbIDs(@raw_contig_ids); + return $mfa->fetch_all_by_Slice($self); +} - my @tiling_path = (); - my $current_start = 1; - my($length, $slice_start, $slice_end, - $contig, $contig_start, $contig_end, $contig_ori); - - foreach my $coord ( @mapped ) { - $contig_start = $coord->start(); - $contig_end = $coord->end(); - $length = $contig_end - $contig_start + 1; - - if ( $coord->isa("Bio::EnsEMBL::Mapper::Coordinate" ) ) { - # create a tile for each coordinate - $contig_ori = $coord->strand(); - $slice_start = $current_start; - $slice_end = $current_start + $length - 1; - $contig = $raw_contigs->{ $coord->id() }; - - push @tiling_path, Bio::EnsEMBL::Tile->new_fast($self, - $slice_start, - $slice_end, - $contig, - $contig_start, - $contig_end, - $contig_ori); - - - - $current_start += $length; - } else { - # this is a gap, just add the length and discard it - $current_start += $length; - } - } - return \@tiling_path; -} - =head2 get_all_MarkerFeatures @@ -1324,9 +1402,8 @@ sub get_all_MarkerFeatures { Arg [1] : string $qy_species The name of the species to retrieve similarity features from - Arg [2] : string $qy_assembly (can be undef) + Arg [2] : string $qy_assembly The name of the assembly to retrieve similarity features from - if undef assembly_default will be queried from compara db. Arg [3] : string $type The type of the alignment to retrieve similarity features from Example : $fs = $slc->get_all_compara_DnaAlignFeatures('Mus musculus', @@ -1347,18 +1424,14 @@ sub get_all_MarkerFeatures { sub get_all_compara_DnaAlignFeatures { my ($self, $qy_species, $qy_assembly, $alignment_type) = @_; - unless($qy_species && $alignment_type) { - $self->throw("Query species and alignmemt type arguments are required"); - } - - unless (defined $qy_assembly) { - warn "qy_assembly undef, will query the default one\n"; + unless($qy_species && $qy_assembly && $alignment_type) { + throw("Query species and assembly and alignmemt type arguments are required"); } my $compara_db = $self->adaptor->db->get_db_adaptor('compara'); unless($compara_db) { - $self->warn("Compara database must be attached to core database to " . + warning("Compara database must be attached to core database to " . "retrieve compara information"); return []; } @@ -1371,13 +1444,13 @@ sub get_all_compara_Syntenies { my ($self, $qy_species ) = @_; unless($qy_species) { - $self->throw("Query species and assembly arguments are required"); + throw("Query species and assembly arguments are required"); } my $compara_db = $self->adaptor->db->get_db_adaptor('compara'); unless($compara_db) { - $self->warn("Compara database must be attached to core database to " . + warning("Compara database must be attached to core database to " . "retrieve compara information"); return []; } @@ -1408,7 +1481,7 @@ sub get_all_Haplotypes { my $haplo_db = $self->adaptor->db->get_db_adaptor('haplotype'); unless($haplo_db) { - $self->warn("Haplotype database must be attached to core database to " . + warning("Haplotype database must be attached to core database to " . "retrieve haplotype information" ); return []; } @@ -1469,7 +1542,7 @@ sub get_all_ExternalFeatures { my $features = []; - my $xfa_hash = $self->adaptor->db->get_ExternalFeatureAdaptors(); + my $xfa_hash = $self->adaptor->db->get_ExternalFeatureAdaptors; my @xf_adaptors = (); if($track_name) { @@ -1489,217 +1562,343 @@ sub get_all_ExternalFeatures { } -=head2 get_all_ExternalLiteFeatures - Arg [1] : (optional) string $track_name - If specified only features from ExternalFeatureAdaptors with - the track name $track_name are retrieved. - If not set, all features from every ExternalFeatureAdaptor are - retrieved. - Example : @x_features = @{$slice->get_all_ExternalFeatures} - Description: Retrieves features on this slice from external feature adaptors - Returntype : listref of light Bio::SeqFeatureI implementing objects in slice - coordinates + + +# GENERIC FEATURES (See DBAdaptor.pm) + +=head2 get_generic_features + + Arg [1] : (optional) List of names of generic feature types to return. + If no feature names are given, all generic features are + returned. + Example : my %features = %{$slice->get_generic_features()}; + Description: Gets generic features via the generic feature adaptors that + have been added via DBAdaptor->add_GenericFeatureAdaptor (if + any) + Returntype : Hash of named features. Exceptions : none - Caller : general + Caller : none =cut -sub get_all_ExternalLiteFeatures { - my ($self, $track_name) = @_; +sub get_generic_features() { - my $features = []; - my $want_light = 1; - - my $xfa_hash = $self->adaptor->db->get_ExternalFeatureAdaptors(); - my @xf_adaptors = (); + my ($self, @names) = @_; - if($track_name) { - #use a specific adaptor - push @xf_adaptors, $xfa_hash->{$track_name}; - } else { - #use all of the adaptors - push @xf_adaptors, values %$xfa_hash; - } + my $db = $self->adaptor()->db(); + my %features = (); # this will hold the results - foreach my $xfa (@xf_adaptors) { - push @$features, @{$xfa->fetch_all_by_Slice($self, $want_light)}; - } + # get the adaptors for each feature + my %adaptors = %{$db->get_GenericFeatureAdaptors(@names)}; + + foreach my $adaptor_name (keys(%adaptors)) { + + my $adaptor_obj = $adaptors{$adaptor_name}; + # get the features and add them to the hash + my $features_ref = $adaptor_obj->fetch_all_by_Slice($self); + # add each feature to the hash to be returned + foreach my $feature (@$features_ref) { + $features{$adaptor_name} = $feature; + } + } + + return \%features; - return $features; } -=head2 Methods included only for BioPerl compliance -=cut +# sub DEPRECATED METHODS # ############################################################################### -=head2 display_id +=head1 DEPRECATED METHODS - Arg [1] : none - Example : none - Description: Only for BioPerl compliance. - Returntype : string - Exceptions : none - Caller : none +=cut + + + +=head2 get_all_supercontig_Slices + + Description: DEPRECATED use get_tiling_path("NTcontig") instead =cut -sub display_id { - my ($self, $value) = @_; +sub get_all_supercontig_Slices { + my $self = shift; - if(!$self->{'_display_id'}){ - $self->{'_display_id'} = undef; - } - if( defined $value ) { - $self->{'_display_id'} = $value; - } - my $id = $self->{'_display_id'}; - if(!$id){ - $id = $self->id; - } + deprecate("Use get_tiling_path('NTcontig') instead"); + + my $result = []; - return $id; + if( $self->adaptor() ) { + my $superctg_names = + $self->adaptor()->list_overlapping_supercontigs( $self ); + + for my $name ( @$superctg_names ) { + my $slice; + $slice = $self->adaptor()->fetch_by_supercontig_name( $name ); + $slice->name( $name ); + push( @$result, $slice ); + } + } else { + warning( "Slice needs to be attached to a database to get supercontigs" ); + } + + return $result; } + +=head2 get_all_Genes_by_source + + Description: DEPRECATED use get_all_Genes instead + +=cut + +sub get_all_Genes_by_source { + deprecate("Use get_all_Genes() instead"); + return get_all_Genes(@_); +} + + +=head2 id + + Description: DEPRECATED use name() instead + +=cut + +sub id { + deprecate("Use name() instead"); + name(@_); +} + + + +=head2 display_id + + Description: DEPRECATED use name() instead + +=cut + + +sub display_id { + deprecate("Use name() instead"); + name(@_); +} + + =head2 desc - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none + Description: DEPRECATED use name() instead =cut sub desc{ - my $self = shift; - return "Slice, no description"; + deprecate("Use name() instead"); } =head2 moltype - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none + Description: DEPRECATED do not use =cut sub moltype { - my $self = shift; + deprecate("Do not use this method"); return 'dna'; } =head2 alphabet - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none + Description: DEPRECATED do not use =cut + sub alphabet { - my $self = shift; + deprecate("Do not use this method"); return 'dna'; } =head2 accession_number - Arg [1] : none - Example : none - Description: Only for BioPerl compliance - Returntype : none - Exceptions : none - Caller : none + Description: DEPRECATED use name() instead =cut sub accession_number { - my $self = shift; - return $self->dbID(); + deprecate("Use name() instead"); + name(@_); } +=head2 get_Chromosome + Description: DEPRECATED use this instead: + $slice_adp->fetch_by_region('chromosome', + $slice->seq_region_name) -=head2 sub DEPRECATED methods =cut -############################################################################### +sub get_Chromosome { + my $self = shift @_; -# GENERIC FEATURES (See DBAdaptor.pm) + deprecate("Use SliceAdaptor::fetch_by_region('chromosome'," . + '$slice->seq_region_name) instead'); -=head2 get_generic_features + my $chr = $self->adaptor->fetch_by_region('toplevel', + $self->seq_region_name()); - Arg [1] : (optional) List of names of generic feature types to return. If no feature - names are given, all generic features are returned. - Example : my %features = $slice->get_generic_features() - Description: Gets generic features via the generic feature adaptors that have been added - via DBAdaptor->add_GenericFeatureAdaptor (if any) - Returntype : Hash of named features. + return bless($chr, 'Bio::EnsEMBL::Chromosome'); +} + + + +=head2 chr_name + + Description: DEPRECATED use seq_region_name() instead + +=cut + +sub chr_name{ + deprecate("Use seq_region_name() instead"); + seq_region_name(@_); +} + + + +=head2 chr_start + + Description: DEPRECATED use start() instead + +=cut + +sub chr_start{ + deprecate('Use start() instead'); + start(@_); +} + + + +=head2 chr_end + + Description: DEPRECATED use end() instead + Returntype : int Exceptions : none - Caller : none + Caller : SliceAdaptor, general =cut -sub get_generic_features() { +sub chr_end{ + deprecate('Use end() instead'); + end(@_); +} - my ($self, @names) = @_; - my $db = $self->adaptor()->db(); +=head2 assembly_type - my %features = (); # this will hold the results + Description: DEPRECATED use version instead - # get the adaptors for each feature - my $adaptors = $db->get_GenericFeatureAdaptors(@names); +=cut - foreach my $adaptor_name (keys(%$adaptors)) { - - my $adaptor_obj = $adaptors->{$adaptor_name}; - # get the features and add them to the hash - my $features_ref = $adaptor_obj->fetch_all_by_Slice($self); - # add each feature to the hash to be returned - foreach my $feature (@$features_ref) { - $features{$adaptor_name} = $feature; - } - } +sub assembly_type{ + my $self = shift; + deprecate('Use $slice->coord_system()->version() instead.'); + return $self->coord_system->version(); +} - return \%features; +=head2 get_tiling_path + + Description: DEPRECATED use project instead + +=cut + +sub get_tiling_path { + my $self = shift; + + deprecate('Use $slice->project("seqlevel") instead.'); + + my $csa = $self->adaptor()->db()->get_CoordSystemAdaptor(); + + #assume that they want the tiling path to the sequence coord system + #this might not work well if this isn't a chromosomal slice + my $projection = $self->project('seqlevel'); + + my @tiling_path; + + foreach my $segment (@$projection) { + + my ($slice_start, $slice_end, $contig) = @$segment; + my $contig_ori = $contig->strand(); + my $contig_start = $contig->start(); + my $contig_end = $contig->end(); + + #the old get_tiling_path always gave back entire contigs in the forward + #strand + $contig = $contig->adaptor->fetch_by_region('seqlevel', + $contig->seq_region_name()); + + #bless contigs into contigs + $contig = bless($contig, 'Bio::EnsEMBL::RawContig'); + + + push @tiling_path, Bio::EnsEMBL::Tile->new_fast($self, + $slice_start, + $slice_end, + $contig, + $contig_start, + $contig_end, + $contig_ori); + } + + return \@tiling_path; } +=head2 dbID -# sub DEPRECATED METHODS # -############################################################################### + Description: DEPRECATED use SliceAdaptor::get_seq_region_id instead +=cut -=head2 get_all_Genes_by_source +sub dbID { + my $self = shift; + deprecate('Use SliceAdaptor::get_seq_region_id instead.'); + if(!$self->adaptor) { + warning('Cannot retrieve seq_region_id without attached adaptor.'); + return 0; + } + return $self->adaptor->get_seq_region_id($self); +} - Arg [1] : none - Example : none - Description: DEPRECATED use get_all_Genes instead - Returntype : none - Exceptions : none - Caller : none + +=head2 get_all_MapFrags + + Description: DEPRECATED use get_all_MiscFeatures instead =cut -sub get_all_Genes_by_source { - my ($self, @args) = @_; +sub get_all_MapFrags { + my $self = shift; + deprecate('Use get_all_MiscFeatures instead'); + return $self->get_all_MiscFeatures(@_); +} + +=head2 has_MapSet - $self->warn("call to deprecated method get_all_Genes_by_source. " . - "Use get_all_Genes instead\n " . join(':', caller)); + Description: Not sure how this function is used, but it probably + is not necessary. - return $self->get_all_Genes; +=cut + +sub has_MapSet { + my( $self, $mapset_name ) = @_; + deprecate('Not sure what this function was meant to do.'); + my $mfs = $self->get_all_MiscFeatures($mapset_name); + return (@$mfs > 0); } + + 1; diff --git a/modules/Bio/EnsEMBL/StickyExon.pm b/modules/Bio/EnsEMBL/StickyExon.pm index 3385756833..73ed0fba8b 100755 --- a/modules/Bio/EnsEMBL/StickyExon.pm +++ b/modules/Bio/EnsEMBL/StickyExon.pm @@ -13,49 +13,28 @@ =head1 NAME -Bio::EnsEMBL::StickyExon - A Confirmed Exon which spans two or more contigs - internally - -=head1 SYNOPSIS - - $sticky = new Bio::EnsEMBL::Exon; - - # is a normal exon - $sticky->start(); - $sticky->end(); - - # has component_Exons - foreach $sub ( @{$sticky->get_all_component_Exons} ) { - # $sub is an exon that ends on a contig - } +Bio::EnsEMBL::StickyExon - This is a deprecated class that will be entirely +removed from the system. Do not use this class, use Bio::EnsEMBL::Exon instead =head1 DESCRIPTION -Sticky Exons represent Exons which internally span contigs. -They are made during the write back on slices, which writes the exons that -span joins into the database. +StickyExons are deprecated. They should not be necessary and should not be +used. This module will be entirely removed from EnsEMBL in the near future. =head1 CONTACT The EnsEMBL developer mailing list for questions : <ensembl-dev@ebi.ac.uk> -=head1 APPENDIX - -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ - =cut -# Let the code begin... - - package Bio::EnsEMBL::StickyExon; use Bio::Seq; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); -use vars qw(@ISA $AUTOLOAD); +use vars qw(@ISA); use strict; # Object preamble - inherits from Bio::SeqFeature::Generic @@ -65,7 +44,6 @@ use Bio::EnsEMBL::Exon; @ISA = qw(Bio::EnsEMBL::Exon); -# _initialize is where the heavy stuff will happen when new is called sub new { my($class,@args) = @_; @@ -78,6 +56,9 @@ sub new { # Array to store exon tags $self->{_component_exons} = []; + deprecate("StickyExon is a deprecated class. It should not be needed." . + "Use normal Exons instead."); + return $self; } @@ -400,11 +381,7 @@ sub peptide { #the peptide of this sticky is the region spanned by the component exons my $pep_str = ''; if($pep_start && $pep_end) { - #stop codon is trimmed off end so end may be past end of sequence - my $pep = $tr->translate(); - my $len = $pep->length(); - $pep_end = $len if($len < $pep_end); - $pep_str = $pep->subseq($pep_start, $pep_end); + $pep_str = $tr->translate->subseq($pep_start, $pep_end); } return Bio::Seq->new(-seq => $pep_str, diff --git a/modules/Bio/EnsEMBL/Storable.pm b/modules/Bio/EnsEMBL/Storable.pm new file mode 100644 index 0000000000..be1ae54cb6 --- /dev/null +++ b/modules/Bio/EnsEMBL/Storable.pm @@ -0,0 +1,171 @@ +# +# EnsEMBL module for Bio::EnsEMBL::Storable +# + +=head1 NAME + +Bio::EnsEMBL::Storable + +=head1 SYNOPSIS + + my $dbID = $storable_object->dbID(); + my $adaptor = $storable_object->adaptor(); + if($storable_object->is_stored($db_adaptor))) { + ... + } +=head1 DESCRIPTION + +This is a simple object which contains a few coordinate system attributes: +name, internal identifier, version + +=head1 AUTHOR - Graham McVicker + +=head1 CONTACT + +Post questions to the EnsEMBL development list ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + +This is a storable base class. All objects which are storable in the database +should inherit from this class. It provides two getter/setters: dbID() +adaptor(). And a is_stored() method that can be used to determine if an +object is already stored in a database. + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::Storable; + +use Bio::EnsEMBL::Root; +use vars qw(@ISA); + +# +# will eventually remove unneeded inheritance to Root +# +@ISA = qw(Bio::EnsEMBL::Root); + + +use Bio::EnsEMBL::Utils::Exception qw(throw); +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +sub new { + my $caller = shift; + my $class = ref($caller) || $caller; + + my ($adaptor, $dbID) = rearrange(['ADAPTOR', 'dbID'],@_); + + if($adaptor) { + if(!ref($adaptor) || !$adaptor->isa('Bio::EnsEMBL::DBSQL::BaseAdaptor')) { + throw('-ADAPTOR argument must be a Bio::EnsEMBL::DBSQL::BaseAdaptor'); + } + } + + return bless({'dbID' => $dbID, 'adaptor' => $adaptor}, $class); +} + + +=head2 dbID + + Arg [1] : int $dbID + Example : none + Description: getter/setter for the database internal id + Returntype : int + Exceptions : none + Caller : general, set from adaptor on store + +=cut + +sub dbID { + my $self = shift; + $self->{'dbID'} = shift if(@_); + return $self->{'dbID'}; +} + + + +=head2 adaptor + + Arg [1] : Bio::EnsEMBL::DBSQL::BaseAdaptor $adaptor + Example : none + Description: get/set for this objects Adaptor + Returntype : Bio::EnsEMBL::DBSQL::ChromsomeAdaptor + Exceptions : none + Caller : general, set from adaptor on store + +=cut + +sub adaptor { + my $self = shift; + + if(@_) { + my $ad = shift; + if($ad && (!ref($ad) || !$ad->isa('Bio::EnsEMBL::DBSQL::BaseAdaptor'))) { + throw('Adaptor argument must be a Bio::EnsEMBL::DBSQL::BaseAdaptor'); + } + $self->{'adaptor'} = $ad; + } + + return $self->{'adaptor'} +} + + +=head2 is_stored + + Arg [1] : Bio::EnsEMBL::DBSQL::DBConnection + Example : do_something if($object->is_stored($db)); + Description: Returns true if this object is stored in the provided database. + This works under the assumption that if the adaptor and dbID are + set and the database of the adaptor shares the port, dbname and + hostname with the provided database, this object is stored in + that database. + Returntype : 1 or 0 + Exceptions : throw if dbID is set but adaptor is not + throw if adaptor is set but dbID is not + throw if incorrect argument is passed + Caller : store methods + +=cut + +sub is_stored { + my $self = shift; + my $db = shift; + + if(!$db || !ref($db) || !$db->isa('Bio::EnsEMBL::DBSQL::DBConnection')) { + throw('db argument must be a Bio::EnsEMBL::DBSQL::DBConnection'); + } + + my $adaptor = $self->{'adaptor'}; + my $dbID = $self->{'dbID'}; + + if($dbID && !$adaptor) { + throw("Storable object has a dbID but not an adaptor.\n" . + 'Storable objects must have neither OR both.'); + } + + if($adaptor && !$dbID) { + throw("Storable object has an adaptor but not a dbID.\n". + "Storable objects must have neither OR both."); + } + + return 0 if (!$adaptor && !dbID); + + my $cur_db = $adaptor->db(); + + # + # Databases are the same if they share the same port, host and username + # + if($db->port == $cur_db->port && + $db->host eq $cur_db->host && + $db->dbname eq $cur_db->dbname) { + return 1; + } + + return 0; +} + + + +1; diff --git a/modules/Bio/EnsEMBL/Tile.pm b/modules/Bio/EnsEMBL/Tile.pm index 9bdd90b7d8..05af48de22 100644 --- a/modules/Bio/EnsEMBL/Tile.pm +++ b/modules/Bio/EnsEMBL/Tile.pm @@ -10,16 +10,10 @@ =head1 NAME -Bio::EnsEMBL::Tile - container objects for assembly style information +Bio::EnsEMBL::Tile - DEPRECATED - You should not have to use this class. + The Bio::EnsEMBL::Slice::project method should be able + to construct any tiling path that you need. -=head1 SYNOPSIS - - $tile_list = $slice->get_tiling_path() - - -=head1 DESCRIPTION - - Each tile contains information about an ungapped sequence mapping from one sequence containing object to another. =head1 AUTHOR - Arne Stabenau @@ -30,32 +24,29 @@ This modules is part of the Ensembl project http://www.ensembl.org Questions can be posted to the ensembl-dev mailing list: ensembl-dev@ebi.ac.uk -=head1 APPENDIX - -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ - =cut -# Let the code begin... - - package Bio::EnsEMBL::Tile; use vars qw(@ISA); use strict; -# Object preamble - inherits from Bio::EnsEMBL::Root use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Utils::Exception qw(deprecate); @ISA = qw(Bio::EnsEMBL::Root); + ### Only new_fast() is used by the EnsEMBL API ### Otter uses new() sub new { my $class = shift; + deprecate("Bio::EnsEMBL::Tile is a deprecated class.\nIf you want a " . + 'tiling path it is best to use Bio::EnsEMBL::Slice::project'); + my $self = bless {}, $class; if (@_) { $self->throw("new does not take any arguments"); @@ -85,6 +76,9 @@ sub new { =cut sub new_fast { + deprecate("Bio::EnsEMBL::Tile is a deprecated class.\nIf you want a " . + 'tiling path it is best to use Bio::EnsEMBL::Slice::project'); + # make it really fast return bless { 'assembled_Seq' => $_[1], diff --git a/modules/Bio/EnsEMBL/Transcript.pm b/modules/Bio/EnsEMBL/Transcript.pm index bccaf7b389..2b44576cb5 100755 --- a/modules/Bio/EnsEMBL/Transcript.pm +++ b/modules/Bio/EnsEMBL/Transcript.pm @@ -23,16 +23,15 @@ up a gene transcript. Creation: my $tran = new Bio::EnsEMBL::Transcript(); - my $tran = new Bio::EnsEMBL::Transcript(@exons); + my $tran = new Bio::EnsEMBL::Transcript(-EXONS => \@exons); Manipulation: # Returns an array of Exon objects - my @exons = @{$tran->get_all_Exons} + my @exons = @{$tran->get_all_Exons}; # Returns the peptide translation of the exons as a Bio::Seq - my $pep = $tran->translate() - # Sorts exons into order (forward for + strand, reverse for - strand) - $tran->sort() + my $pep = $tran->translate(); + =head1 CONTACT @@ -44,33 +43,54 @@ package Bio::EnsEMBL::Transcript; use vars qw(@ISA); use strict; - -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Feature; use Bio::EnsEMBL::Exon; use Bio::EnsEMBL::Translation; -use Bio::EnsEMBL::TranscriptI; use Bio::Tools::CodonTable; use Bio::EnsEMBL::Mapper; +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); +use Bio::EnsEMBL::Utils::Exception qw( deprecate warning throw ); + -@ISA = qw(Bio::EnsEMBL::Root Bio::EnsEMBL::TranscriptI); +@ISA = qw(Bio::EnsEMBL::Feature); sub new { - my($class,@args) = @_; + my($class) = shift; if( ref $class ) { $class = ref $class; } - my $self = {}; - bless $self,$class; + my $self = $class->SUPER::new(@_); - $self->{'_trans_exon_array'} = []; + my ( $exons, $stable_id, $version, $external_name, $external_db, + $external_status, $display_xref ); + + #catch for old style constructor calling: + if((@_ > 0) && ref($_[0])) { + $exons = [@_]; + deprecate("Transcript constructor should use named arguments.\n" . + 'Use Bio::EnsEMBL::Transcript->new(-EXONS => \@exons);' . + "\ninstead of Bio::EnsEMBL::Transcript->new(\@exons);"); + } + else { + ( $exons, $stable_id, $version, $external_name, $external_db, + $external_status, $display_xref ) = + rearrange( [ "EXONS", 'STABLE_ID', 'VERSION', 'EXTERNAL_NAME', + 'EXTERNAL_DB', 'EXTERNAL_STATUS', 'DISPLAY_XREF' ], @_ ); + } - # set stuff in self from @args - foreach my $a (@args) { - $self->add_Exon($a); + if( $exons ) { + $self->{'_trans_exon_array'} = $exons; + $self->recalculate_coordinates(); } + $self->stable_id( $stable_id ); + $self->version( $version ); + $self->external_name( $external_name ) if( defined $external_name ); + $self->external_db( $external_db ) if( defined $external_db ); + $self->external_status( $external_status ) if( defined $external_status ); + $self->display_xref( $display_xref ) if( defined $display_xref ); return $self; } @@ -159,7 +179,7 @@ sub add_DBEntry { my $dbe = shift; unless($dbe && ref($dbe) && $dbe->isa('Bio::EnsEMBL::DBEntry')) { - $self->throw('Expected DBEntry argument'); + throw('Expected DBEntry argument'); } $self->{'dbentries'} ||= []; @@ -168,31 +188,6 @@ sub add_DBEntry { -=head2 dbID - - Arg [1] : (optional) int $dbID - A new value for the internal identifier of this transcript - Example : $id = $transcript->dbID(); - Description: Getter/Setter for the internal identifier of this transcript - Returntype : int - Exceptions : none - Caller : general - -=cut - -sub dbID { - my $self = shift; - - if( @_ ) { - my $value = shift; - $self->{'dbID'} = $value; - } - return $self->{'dbID'}; - -} - - - =head2 external_db Title : external_db @@ -207,11 +202,11 @@ sub external_db { my ( $self, $ext_dbname ) = @_; if(defined $ext_dbname) { - return ( $self->{'_ext_dbname'} = $ext_dbname ); + return ( $self->{'external_db'} = $ext_dbname ); } - if( exists $self->{'_ext_dbname'} ) { - return $self->{'_ext_dbname'}; + if( exists $self->{'external_db'} ) { + return $self->{'external_db'}; } my $display_xref = $self->display_xref(); @@ -239,11 +234,11 @@ sub external_status { my ( $self, $ext_status ) = @_; if(defined $ext_status) { - return ( $self->{'_ext_status'} = $ext_status ); + return ( $self->{'external_status'} = $ext_status ); } - if( exists $self->{'_ext_status'} ) { - return $self->{'_ext_status'}; + if( exists $self->{'external_status'} ) { + return $self->{'external_status'}; } my $display_xref = $self->display_xref(); @@ -273,11 +268,11 @@ sub external_name { my ($self, $ext_name) = @_; if(defined $ext_name) { - return ( $self->{'_ext_name'} = $ext_name ); + return ( $self->{'external_name'} = $ext_name ); } - if( exists $self->{'_ext_name'} ) { - return $self->{'_ext_name'}; + if( exists $self->{'external_name'} ) { + return $self->{'external_name'}; } my $display_xref = $self->display_xref(); @@ -290,32 +285,28 @@ sub external_name { } +=head2 is_known + + Args : none + Example : none + Description: returns true if this transcript has a display_xref + Returntype : 0,1 + Exceptions : none + Caller : general + +=cut + sub is_known { my $self = shift; - for my $entry ( @{$self->get_all_DBLinks()} ) { - return 1 if uc($entry->status) eq "KNOWN" ; - } - return 0; + return ($self->{'display_xref'}) ? 1 : 0; } sub type { - my ($self, $type) = @_; - - if(defined $type) { - $self->{'_type'} = $type; - } + my $self = shift; - return $self->{'_type'}; -} - -sub adaptor { - my $self = shift; - - if( @_ ) { - $self->{'adaptor'} = shift; - } - return $self->{'adaptor'}; + $self->{'type'} = shift if( @_ ); + return $self->{'type'}; } @@ -323,7 +314,7 @@ sub adaptor { Arg [1] : Bio::EnsEMBL::DBEntry $display_xref Example : $transcript->display_xref(Bio::EnsEMBL::DBEntry->new(...)); - Description: get/set/lazy_loaded display_xref for this transcript + Description: getter setter for display_xref for this transcript Returntype : Bio::EnsEMBL::DBEntry Exceptions : none Caller : general @@ -331,42 +322,9 @@ sub adaptor { =cut sub display_xref { - - my $self = shift; - if( @_ ) { - $self->{'display_xref'} = shift; - } elsif( exists $self->{'display_xref'} ) { - return $self->{'display_xref'}; - } elsif ( defined $self->adaptor() ) { - $self->{'display_xref'} = $self->adaptor->get_display_xref( $self ); - } - - return $self->{'display_xref'}; -} - - - - -=head2 _translation_id - - Title : _translation_id - Usage : $obj->_translation_id($newval) - Function: - Returns : translation objects dbID - Args : newvalue (optional) - - -=cut - -sub _translation_id { - my $self = shift; - - if( @_ ) { - my $value = shift; - $self->{'_translation_id'} = $value; - } - return $self->{'_translation_id'}; - + my $self = shift; + $self->{'display_xref'} = shift if(@_); + return $self->{'display_xref'}; } @@ -386,73 +344,17 @@ sub translation { if( @_ ) { my $value = shift; if( ! ref $value || !$value->isa('Bio::EnsEMBL::Translation') ) { - $self->throw("This [$value] is not a translation"); + throw("This [$value] is not a translation"); } $self->{'translation'} = $value; - $self->{'_translation_id'} = $value->dbID(); - } else { - if( ! defined $self->{'translation'} && - defined $self->_translation_id() ) { - $self->{'translation'} = - $self->adaptor->db->get_TranslationAdaptor->fetch_by_dbID( - $self->_translation_id(), $self ); - } + } elsif( !exists $self->{'translation'} and defined $self->adaptor() ) { + $self->{'translation'} = + $self->adaptor()->db()->get_TranslationAdaptor()-> + fetch_by_Transcript( $self ); } return $self->{'translation'}; } -=head2 start - - Description: it returns the start coordinate of the lef-most exon, i.e. - the 5prime exon in the forward strand and the 3prime exon in the reverse strand - -=cut - - -sub start { - my $self = shift; - my $arg = shift; - - my $strand; - my $start; - if( defined $arg ) { - $self->{'_start'} = $arg; - } elsif(! defined $self->{'_start'} ) { - - $strand = $self->start_Exon->strand(); - if( $strand == 1 ) { - $start = $self->start_Exon->start(); - } else { - $start = $self->end_Exon->start(); - } - $self->{'_start'} = $start; - } - - return $self->{'_start'}; -} - - -sub end { - my $self = shift; - my $arg = shift; - - my $strand; - my $end -; - if( defined $arg ) { - $self->{'_end'} = $arg; - } elsif( ! defined $self->{'_end'} ) { - $strand = $self->start_Exon->strand(); - if( $strand == 1 ) { - $end = $self->end_Exon->end(); - } else { - $end = $self->start_Exon->end(); - } - $self->{'_end'} = $end; - } - - return $self->{'_end'}; -} =head2 spliced_seq @@ -482,10 +384,14 @@ sub spliced_seq { =head2 translateable_seq Args : none - Example : none - Description: returns a string with the translateable part of the - Sequence. It magically pads the exon sequences with - N if the phases of the Exons dont align + Example : print $transcript->translateable_seq(), "\n"; + Description: Returns a sequence string which is the the translateable part + of the transcripts sequence. This is formed by concatenating + the coding portion of the exons sequence together (UTRs are not + included in the sequence). Exon phase information is ignored + unless the MONKEY_EXONS environment variable is set with a true + value. If MONKEY_EXONS is true the sequence may be padded with + Ns in order to acheive correct exon phases. Returntype : txt Exceptions : none Caller : general @@ -515,9 +421,9 @@ sub translateable_seq { if( $phase != $lastphase && ( defined $ENV{'MONKEY_EXONS'})) { # endpadding for the last exon if( $lastphase == 1 ) { - $mrna .= 'NN'; + $mrna .= 'NN'; } elsif( $lastphase == 2 ) { - $mrna .= 'N'; + $mrna .= 'N'; } #startpadding for this exon $mrna .= 'N' x $phase; @@ -557,20 +463,17 @@ sub cdna_coding_start { my @exons = @{$self->get_all_Exons}; my $exon; - my $found = 0; while($exon = shift @exons) { if($exon == $self->translation->start_Exon) { - #add the utr portion of the start exon - $start += $self->translation->start; - $found = 1; - last; + #add the utr portion of the start exon + $start += $self->translation->start; + last; } else { - #add the entire length of this non-coding exon - $start += $exon->length; + #add the entire length of this non-coding exon + $start += $exon->length; } } - $self->throw("Start exon could not be found") if(!$found); $self->{'cdna_coding_start'} = $start; } @@ -626,11 +529,11 @@ sub cdna_coding_end { Example : $coding_region_start = $transcript->coding_region_start Description: Retrieves the start of the coding region of this transcript in genomic coordinates (i.e. in either slice or contig coords). - By convention, the coding_region_start is always lower than - the value returned by the coding_end method. - The value returned by this function is NOT the biological - coding start since on the reverse strand the biological coding - start would be the higher genomic value. + By convention, the coding_region_start is always lower than + the value returned by the coding_end method. + The value returned by this function is NOT the biological + coding start since on the reverse strand the biological coding + start would be the higher genomic value. Returntype : int Exceptions : none Caller : general @@ -720,15 +623,44 @@ sub add_Exon{ #yup - we are going to be picky here... unless(defined $exon && ref $exon && $exon->isa("Bio::EnsEMBL::Exon") ) { - $self->throw("[$exon] is not a Bio::EnsEMBL::Exon!"); + throw("[$exon] is not a Bio::EnsEMBL::Exon!"); } - #invalidate the start, end and strand - they may need to be recalculated - $self->{'_start'} = undef; - $self->{'_end'} = undef; - $self->{'_strand'} = undef; - - push(@{$self->{'_trans_exon_array'}},$exon); + + $self->{'_trans_exon_array'} ||= []; + + my $ea = $self->{'_trans_exon_array'}; + if( @$ea ) { + if( $exon->strand() == 1 ) { + if( $exon->start() > $ea->[$#$ea]->end() ) { + push(@{$self->{'_trans_exon_array'}},$exon); + } else { + # insert it at correct place + for( my $i=0; $i <= $#$ea; $i++ ) { + if( $exon->end() < $ea->[$i]->start() ) { + splice( @$ea, $i, 0, $exon ); + last; + } + } + } + } else { + if( $exon->end() < $ea->[$#$ea]->start() ) { + push(@{$self->{'_trans_exon_array'}},$exon); + } else { + # insert it at correct place + for( my $i=0; $i <= $#$ea; $i++ ) { + if( $exon->start() > $ea->[$i]->end() ) { + splice( @$ea, $i, 0, $exon ); + last; + } + } + } + } + } else { + push( @$ea, $exon ); + } + # recalculate start, end, slice, strand + $self->recalculate_coordinates(); } @@ -748,7 +680,10 @@ sub add_Exon{ sub get_all_Exons { my ($self) = @_; - + if( ! defined $self->{'_trans_exon_array'} && defined $self->adaptor() ) { + $self->{'_trans_exon_array'} = $self->adaptor()->db()-> + get_ExonAdaptor()->fetch_all_by_Transcript( $self ); + } return $self->{'_trans_exon_array'}; } @@ -841,24 +776,25 @@ sub get_all_peptide_variations { foreach my $allele (@alleles) { next if $allele eq '-'; #skip deletions next if CORE::length($allele) != 1; #skip insertions - -# if($strand == -1) { - #complement the allele if the snp is on the reverse strand -# $allele =~ -# tr/acgtrymkswhbvdnxACGTRYMKSWHBVDNX/tgcayrkmswdvbhnxTGCAYRKMSWDVBHNX/; -# } + + #get_all_cdna_SNPs always gives strand of 1 now + #if($strand == -1) { + # #complement the allele if the snp is on the reverse strand + # $allele =~ + # tr/acgtrymkswhbvdnxACGTRYMKSWHBVDNX/tgcayrkmswdvbhnxTGCAYRKMSWDVBHNX/; + #} #create a data structure of variant alleles sorted by both their #peptide position and their position within the peptides codon $variant_alleles ||= {}; if(exists $variant_alleles->{$peptide}) { - my $alleles_arr = $variant_alleles->{$peptide}->[1]; - push @{$alleles_arr->[$codon_pos]}, $allele; + my $alleles_arr = $variant_alleles->{$peptide}->[1]; + push @{$alleles_arr->[$codon_pos]}, $allele; } else { - #create a list of 3 lists (one list for each codon position) - my $alleles_arr = [[],[],[]]; - push @{$alleles_arr->[$codon_pos]}, $allele; - $variant_alleles->{$peptide} = [$codon, $alleles_arr]; + #create a list of 3 lists (one list for each codon position) + my $alleles_arr = [[],[],[]]; + push @{$alleles_arr->[$codon_pos]}, $allele; + $variant_alleles->{$peptide} = [$codon, $alleles_arr]; } } } @@ -878,13 +814,13 @@ sub get_all_peptide_variations { foreach my $a1 (@{$alleles->[0]}) { substr($codon, 0, 1) = $a1; foreach my $a2 (@{$alleles->[1]}) { - substr($codon, 1, 1) = $a2; - foreach my $a3 (@{$alleles->[2]}) { - substr($codon, 2, 1) = $a3; - my $aa = $codon_table->translate($codon); - #print "$codon translation is $aa\n"; - $alt_amino_acids{$aa} = 1; - } + substr($codon, 1, 1) = $a2; + foreach my $a3 (@{$alleles->[2]}) { + substr($codon, 2, 1) = $a3; + my $aa = $codon_table->translate($codon); + #print "$codon translation is $aa\n"; + $alt_amino_acids{$aa} = 1; + } } } @@ -895,6 +831,7 @@ sub get_all_peptide_variations { return \%out; } + =head2 get_all_SNPs Arg [1] : (optional) int $flanking @@ -921,26 +858,16 @@ sub get_all_peptide_variations { sub get_all_SNPs { my $self = shift; - my $flanking = shift || 0; + my $flanking = shift; my %snp_hash; my $sa = $self->adaptor->db->get_SliceAdaptor; #retrieve a slice in the region of the transcript - my $slice = $sa->fetch_by_transcript_id($self->dbID, $flanking); + my $slice = $sa->fetch_by_transcript_id($self->dbID, $flanking ); #copy this transcript, so we can work in coord system we are interested in - my $transcript = Bio::EnsEMBL::Transcript->new; - %$transcript = %$self; - delete $transcript->{'translation'}; - - #transform transcript to same coord system we will get snps in - my %exon_transforms; - foreach my $exon (@{$transcript->get_all_Exons}) { - my $new_exon = $exon->transform($slice); - $exon_transforms{$exon} = $new_exon; - } - $transcript->transform(\%exon_transforms); + my $transcript = $self->transfer( $slice ); #get all of the snps in the transcript region my $snps = $slice->get_all_SNPs; @@ -968,40 +895,40 @@ sub get_all_SNPs { else { #snp is inside transcript region check if it overlaps an exon foreach my $e (@{$transcript->get_all_Exons}) { - if($snp->end >= $e->start && $snp->start <= $e->end) { - #this snp is in an exon - - if(($trans_strand == 1 && - $snp->end < $transcript->coding_region_start) || - ($trans_strand == -1 && - $snp->start > $transcript->coding_region_end)) { - #this snp is in the 5' UTR - $key = 'five prime UTR'; - } - - elsif(($trans_strand == 1 && - $snp->start > $transcript->coding_region_end)|| - ($trans_strand == -1 && - $snp->end < $transcript->coding_region_start)) { - #this snp is in the 3' UTR - $key = 'three prime UTR'; - } - - else { - #snp is coding - $key = 'coding'; - } - last; - } + if($snp->end >= $e->start && $snp->start <= $e->end) { + #this snp is in an exon + + if(($trans_strand == 1 && + $snp->end < $transcript->coding_region_start) || + ($trans_strand == -1 && + $snp->start > $transcript->coding_region_end)) { + #this snp is in the 5' UTR + $key = 'five prime UTR'; + } + + elsif(($trans_strand == 1 && + $snp->start > $transcript->coding_region_end)|| + ($trans_strand == -1 && + $snp->end < $transcript->coding_region_start)) { + #this snp is in the 3' UTR + $key = 'three prime UTR'; + } + + else { + #snp is coding + $key = 'coding'; + } + last; + } } unless($key) { - #snp was not in an exon and is therefore intronic - $key = 'intronic'; + #snp was not in an exon and is therefore intronic + $key = 'intronic'; } } unless($key) { - #$self->warn('SNP could not be mapped. In/Dels not supported yet...'); + #warning('SNP could not be mapped. In/Dels not supported yet...'); next; } @@ -1041,63 +968,54 @@ sub get_all_cdna_SNPs { my $all_snps = $self->get_all_SNPs; my %snp_hash; - my @cdna_types = ('three prime UTR', - 'five prime UTR', - 'coding'); + my @cdna_types = ('three prime UTR', 'five prime UTR','coding'); my $sa = $self->adaptor->db->get_SliceAdaptor; my $slice = $sa->fetch_by_transcript_id($self->dbID); #copy this transcript, so we can work in coord system we are interested in - my $transcript = Bio::EnsEMBL::Transcript->new; - %$transcript = %$self; - delete $transcript->{'translation'}; - - #transform transcript to same coord system we will get snps in - my %exon_transforms; - my $new_exon ; - foreach my $exon (@{$transcript->get_all_Exons}) { - $new_exon = $exon->transform($slice); - $exon_transforms{$exon} = $new_exon; - } - $transcript->transform(\%exon_transforms); + my $transcript = $self->transfer($slice); foreach my $type (@cdna_types) { $snp_hash{$type} = []; foreach my $snp (@{$all_snps->{$type}}) { - my @coords = - $transcript->genomic2cdna($snp->start, - $snp->end, - $snp->strand, - $slice); + my @coords = $transcript->genomic2cdna($snp->start, $snp->end, + $snp->strand, $slice); #skip snps that don't map cleanly (possibly an indel...) if(scalar(@coords) != 1) { - #$self->warn("snp of type $type does not map cleanly\n"); - next; + #warning("snp of type $type does not map cleanly\n"); + next; } my ($coord) = @coords; unless($coord->isa('Bio::EnsEMBL::Mapper::Coordinate')) { - #$self->warn("snp of type $type maps to gap\n"); - next; + #warning("snp of type $type maps to gap\n"); + next; } - # change allele and ambicode if strand of coordinate system is different to snp strand - - if ($coord->strand() == -1){ - $snp->{'alleles'} =~ tr/acgthvmrdbkynwsACGTDBKYHVMRNWS\//tgcadbkyhvmrnwsTGCAHVMRDBKYNWS\//; - $snp->{'_ambiguity_code'} =~ tr/acgthvmrdbkynwsACGTDBKYHVMRNWS\//tgcadbkyhvmrnwsTGCAHVMRDBKYNWS\//; - } + my $alleles = $snp->{'alleles'}; + my $ambicode = $snp->{'_ambiguity_code'}; + + #we arbitrarily put the SNP on the +ve strand because it is easier to + #work with in the webcode. + if($coord->strand == -1) { + $alleles =~ + tr/acgthvmrdbkynwsACGTDBKYHVMRNWS\//tgcadbkyhvmrnwsTGCAHVMRDBKYNWS\//; + $ambicode =~ + tr/acgthvmrdbkynwsACGTDBKYHVMRNWS\//tgcadbkyhvmrnwsTGCAHVMRDBKYNWS\//; + } - #copy the snp and convert to cdna coords, we arbitrarily move snps to +ve strand + #copy the snp and convert to cdna coords... my $new_snp; %$new_snp = %$snp; bless $new_snp, ref $snp; $new_snp->start($coord->start); $new_snp->end($coord->end); $new_snp->strand(1); + $new_snp->{'alleles'} = $alleles; + $new_snp->{'_ambiguity_code'} = $ambicode; push @{$snp_hash{$type}}, $new_snp; } } @@ -1125,10 +1043,9 @@ sub flush_Exons{ $self->{'coding_region_end'} = undef; $self->{'cdna_coding_start'} = undef; $self->{'cdna_coding_end'} = undef; - $self->{'_start'} = undef; - $self->{'_end'} = undef; - $self->{'_strand'} = undef; - $self->{'_exon_coord_mapper'} = undef; + $self->{'start'} = undef; + $self->{'end'} = undef; + $self->{'strand'} = undef; $self->{'_trans_exon_array'} = []; } @@ -1196,7 +1113,7 @@ sub get_all_translateable_Exons { my ( $self ) = @_; my $translation = $self->translation - or $self->throw("No translation attached to transcript object"); + or throw("No translation attached to transcript object"); my $start_exon = $translation->start_Exon; my $end_exon = $translation->end_Exon; my $t_start = $translation->start; @@ -1217,7 +1134,7 @@ sub get_all_translateable_Exons { # Adjust to translation start if this is the start exon if ($ex == $start_exon ) { if ($t_start < 1 or $t_start > $length) { - $self->throw("Translation start '$t_start' is outside exon $ex length=$length"); + throw("Translation start '$t_start' is outside exon $ex length=$length"); } $adjust_start = $t_start - 1; } @@ -1225,7 +1142,7 @@ sub get_all_translateable_Exons { # Adjust to translation end if this is the end exon if ($ex == $end_exon) { if ($t_end < 1 or $t_end > $length) { - $self->throw("Translation end '$t_end' is outside exon $ex length=$length"); + throw("Translation end '$t_end' is outside exon $ex length=$length"); } $adjust_end = $t_end - $length; } @@ -1270,10 +1187,11 @@ sub translate { my $display_id; if( defined $self->translation->stable_id ) { $display_id = $self->translation->stable_id; - } elsif ( defined $self->temporary_id ) { - $display_id = $self->temporary_id; + } elsif ( defined $self->translation->dbID ) { + $display_id = $self->translation->dbID(); } else { - $display_id = $self->translation->dbID; + #use memory location as temp id + $display_id = scalar($self->translation()); } if( CORE::length( $mrna ) % 3 == 0 ) { @@ -1284,12 +1202,12 @@ sub translate { # won't have a terminal stop codon # if you want to have a terminal stop codon either comment this line out # or call translatable seq directly and produce a translation from it - + my $peptide = Bio::Seq->new( -seq => $mrna, -moltype => "dna", -alphabet => 'dna', -id => $display_id ); - + return $peptide->translate; } @@ -1322,43 +1240,6 @@ sub seq { - -=head2 sort - - Title : sort - Usage : $feat->sort() - Function: Sorts the exon features by start coordinate - Sorts forward for forward strand and reverse for reverse strand - Returns : none - Args : none - -=cut - -sub sort { - my $self = shift; - - # Fetch all the features - my @exons = @{$self->get_all_Exons()}; - - # Empty the feature table - $self->flush_Exons(); - - # Now sort the exons and put back in the feature table - my $strand = $exons[0]->strand; - - if ($strand == 1) { - @exons = sort { $a->start <=> $b->start } @exons; - } elsif ($strand == -1) { - @exons = sort { $b->start <=> $a->start } @exons; - } - - foreach my $e (@exons) { - $self->add_Exon($e); - } -} - - - =head1 pep2genomic Arg 1 : integer start - relative to peptide @@ -1375,7 +1256,7 @@ sub pep2genomic { my ($self,$start,$end) = @_; if( !defined $end ) { - $self->throw("Must call with start/end"); + throw("Must call with start/end"); } # move start end into translate cDNA coordinates now. @@ -1418,7 +1299,7 @@ sub genomic2pep { my ($self, $start, $end, $strand, $contig) = @_; unless(defined $start && defined $end && defined $strand) { - $self->throw("start, end and strand arguments are required"); + throw("start, end and strand arguments are required"); } my @coords = $self->genomic2cdna($start, $end, $strand, $contig); @@ -1521,7 +1402,7 @@ sub cdna2genomic { my ($self,$start,$end) = @_; if( !defined $end ) { - $self->throw("Must call with start/end"); + throw("Must call with start/end"); } my $mapper = $self->_get_cdna_coord_mapper(); @@ -1561,22 +1442,31 @@ sub cdna2genomic { =cut sub genomic2cdna { - my ($self, $start, $end, $strand, $contig) = @_; + my ($self, $start, $end, $strand, $slice) = @_; unless(defined $start && defined $end && defined $strand) { - $self->throw("start, end and strand arguments are required\n"); + throw("start, end and strand arguments are required\n"); } #"ids" in mapper are contigs of exons, so use the same contig that should #be attached to all of the exons... - $contig = $self->get_all_Exons->[0]->contig unless(defined $contig); - my $mapper = $self->_get_cdna_coord_mapper; + if( $slice ) { + throw( "Arbitrary coordinates not supported yet" ); + if( ! $self->adaptor() ) { + throw( "Cant do genomic2cdna without database connection" ); + } + my $asm_mapper_adaptor = $self->adaptor()->db()->get_AssemblyMapperAdaptor(); + # map from given slice coord system into $self->slice() ... + } + my $mapper = $self->_get_cdna_coord_mapper; + + #print "MAPPING $start - $end ($strand)\n"; #print $contig->name . "=" . $self->get_all_Exons->[0]->contig->name . "\n"; - - return $mapper->map_coordinates($contig, $start, $end, $strand, "genomic"); + $slice = $self->slice(); + return $mapper->map_coordinates($slice, $start, $end, $strand, "genomic"); } @@ -1630,7 +1520,7 @@ sub _get_cdna_coord_mapper { sub start_Exon{ my ($self,@args) = @_; - return ${$self->{'_trans_exon_array'}}[0]; + return $self->get_all_Exons()->[0]; } =head2 end_Exon @@ -1645,51 +1535,7 @@ sub start_Exon{ sub end_Exon{ my ($self,@args) = @_; - return ${$self->{'_trans_exon_array'}}[$#{$self->{'_trans_exon_array'}}]; -} - - -=head2 created - - Title : created - Usage : $obj->created($newval) - Function: - Returns : value of created - Args : newvalue (optional) - - -=cut - -sub created{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'created'} = $value; - } - return $obj->{'created'}; - -} - - -=head2 modified - - Title : modified - Usage : $obj->modified($newval) - Function: - Returns : value of modified - Args : newvalue (optional) - - -=cut - -sub modified{ - my $obj = shift; - if( @_ ) { - my $value = shift; - $obj->{'modified'} = $value; - } - return $obj->{'modified'}; - + return $self->get_all_Exons()->[-1]; } @@ -1728,22 +1574,11 @@ sub description{ =cut sub version{ + my $self = shift; - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_version'} = $value; - } - - if( exists $self->{'_version'} ) { - return $self->{'_version'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_version'}; + $self->{'version'} = shift if( @_ ); + return $self->{'version'}; } @@ -1759,179 +1594,365 @@ sub version{ =cut sub stable_id{ + my $self = shift; - my ($self,$value) = @_; - + $self->{'stable_id'} = shift if( @_ ); + + return $self->{'stable_id'}; +} + + + +=head2 swap_exons + + Arg [1] : Bio::EnsEMBL::Exon $old_Exon + An exon that should be replaced + Arg [2] : Bio::EnsEMBL::Exon $new_Exon + The replacement Exon + Example : none + Description: exchange an exon in the current Exon list with a given one. + Usually done before storing of Gene, so the Exons can + be shared between Transcripts. + Returntype : none + Exceptions : none + Caller : GeneAdaptor->store() - if( defined $value ) { - $self->{'_stable_id'} = $value; - return; +=cut + +sub swap_exons { + my ( $self, $old_exon, $new_exon ) = @_; + + my $arref = $self->{'_trans_exon_array'}; + for(my $i = 0; $i < @$arref; $i++) { + if($arref->[$i] == $old_exon) { + $arref->[$i] = $new_exon; + last; } + } - if( exists $self->{'_stable_id'} ) { - return $self->{'_stable_id'}; + if( defined $self->{'translation'} ) { + if( $self->translation()->start_Exon() == $old_exon ) { + $self->translation()->start_Exon( $new_exon ); + } + if( $self->translation()->end_Exon() == $old_exon ) { + $self->translation()->end_Exon( $new_exon ); } + } +} - $self->_get_stable_entry_info(); +=head2 transform - return $self->{'_stable_id'}; + Arg 1 : String $coordinate_system_name + Arg [2] : String $coordinate_system_version + Example : $transcript = $transcript->transform('contig'); + $transcript = $transcript->transform('chromosome', 'NCBI33'); + Description: Moves this Transcript to the given coordinate system. + If this Transcript has Exons attached, they move as well. + A new Transcript is returned. If the transcript cannot be + transformed to the destination coordinate system undef is + returned instead. + Returntype : Bio::EnsEMBL::Transcript + Exceptions : wrong parameters + Caller : general -} +=cut -sub _get_stable_entry_info { - my $self = shift; - if( !defined $self->adaptor ) { - return undef; - } +sub transform { + my $self = shift; + + # catch for old style transform calls + if( ref $_[0] eq 'HASH') { + deprecate("Calling transform with a hashref is deprecate.\n" . + 'Use $trans->transfer($slice) or ' . + '$trans->transform("coordsysname") instead.'); + my (undef, $new_ex) = each(%{$_[0]}); + return $self->transfer($new_ex->slice); + } + + my $new_transcript = $self->SUPER::transform( @_ ); + return undef unless $new_transcript; - $self->adaptor->get_stable_entry_info($self); + if( defined $self->{'translation'} ) { + my $new_translation; + %$new_translation = %{$self->{'translation'}};; + bless $new_translation, ref( $self->{'translation'} ); + $new_transcript->{'translation'} = $new_translation; + } + if( exists $self->{'_trans_exon_array'} ) { + my @new_exons; + for my $old_exon ( @{$self->{'_trans_exon_array'}} ) { + my $new_exon = $old_exon->transform( @_ ); + if( defined $new_transcript->{'translation'} ) { + if( $new_transcript->translation()->start_Exon() == $old_exon ) { + $new_transcript->translation()->start_Exon( $new_exon ); + } + if( $new_transcript->translation()->end_Exon() == $old_exon ) { + $new_transcript->translation()->end_Exon( $new_exon ); + } + } + push( @new_exons, $new_exon ); + } + $new_transcript->{'_trans_exon_array'} = \@new_exons; + } + + #flush internal values that depend on the exon coords that may have been + #cached + $new_transcript->{'_exon_coord_mapper'} = undef; + $new_transcript->{'coding_region_start'} = undef; + $new_transcript->{'coding_region_end'} = undef; + $new_transcript->{'cdna_coding_start'} = undef; + $new_transcript->{'cdna_coding_end'} = undef; + + return $new_transcript; } -=head2 temporary_id - Title : temporary_id - Usage : $obj->temporary_id($newval) - Function: Temporary ids are used for Genscan predictions - which should probably - be moved over to being stored inside the gene tables anyway. Bio::EnsEMBL::TranscriptFactory use this - Example : - Returns : value of temporary_id - Args : newvalue (optional) +=head2 transfer + Arg 1 : Bio::EnsEMBL::Slice $destination_slice + Example : $transcript = $transcript->transfer($slice); + Description: Moves this transcript to the given slice. + If this Transcripts has Exons attached, they move as well. + Returntype : Bio::EnsEMBL::Transcript + Exceptions : none + Caller : general =cut -sub temporary_id{ - my ($obj,$value) = @_; - if( defined $value) { - $obj->{'temporary_id'} = $value; + +sub transfer { + my $self = shift; + + my $new_transcript = $self->SUPER::transfer( @_ ); + return undef unless $new_transcript; + + if( defined $self->{'translation'} ) { + my $new_translation; + %$new_translation = %{$self->{'translation'}};; + bless $new_translation, ref( $self->{'translation'} ); + $new_transcript->{'translation'} = $new_translation; + } + + if( exists $self->{'_trans_exon_array'} ) { + my @new_exons; + for my $old_exon ( @{$self->{'_trans_exon_array'}} ) { + my $new_exon = $old_exon->transfer( @_ ); + if( defined $new_transcript->{'translation'} ) { + if( $new_transcript->translation()->start_Exon() == $old_exon ) { + $new_transcript->translation()->start_Exon( $new_exon ); + } + if( $new_transcript->translation()->end_Exon() == $old_exon ) { + $new_transcript->translation()->end_Exon( $new_exon ); + } + } + push( @new_exons, $new_exon ); } - return $obj->{'temporary_id'}; -} + $new_transcript->{'_trans_exon_array'} = \@new_exons; + } + #flush internal values that depend on the exon coords that may have been + #cached + $new_transcript->{'_exon_coord_mapper'} = undef; + $new_transcript->{'coding_region_start'} = undef; + $new_transcript->{'coding_region_end'} = undef; + $new_transcript->{'cdna_coding_start'} = undef; + $new_transcript->{'cdna_coding_end'} = undef; + return $new_transcript; +} -=head2 transform - Arg 1 : hashref $old_new_exon_map - a hash that maps old to new exons for a whole gene - Function : maps transcript in place to different coordinate system, - It does so by replacing its old exons with new ones. - Returntype: none - Exceptions: none - Caller : Gene->transform() +=head recalculate_coordinates -=cut + Args : none + Example : none + Description: called when exon coordinate change happened to recalculate the + coords of the transcript. This method should be called if one + of the exons has been changed. + Returntype : none + Exceptions : none + Caller : internal +=cut -sub transform { +sub recalculate_coordinates { my $self = shift; - my $href_exons = shift; - my @mapped_list_of_exons; - foreach my $exon (@{$self->get_all_Exons()}) { - # the old exon was successfully remapped then store the new exon - if ( exists $$href_exons{$exon} ) { - push @mapped_list_of_exons, $$href_exons{$exon}; + my $exons = $self->get_all_Exons(); + + return if(!$exons || !@$exons); + + my ( $slice, $start, $end, $strand ); + $slice = $exons->[0]->slice(); + $strand = $exons->[0]->strand(); + $start = $exons->[0]->start(); + $end = $exons->[0]->end(); + + my $transsplicing = 0; + + for my $e ( @$exons ) { + if( $e->start() < $start ) { + $start = $e->start(); } - # but for the case where the exon was unable to be mapped, as it - # was outside the bounds of the slice, include the original exon. - else { - push @mapped_list_of_exons, $exon; + + if( $e->end() > $end ) { + $end = $e->end(); + } + + if( $slice && $e->slice() && $e->slice()->name() ne $slice->name() ) { + throw( "Exons with different slices not allowed on one Transcript" ); + } + + if( $e->strand() != $strand ) { + $transsplicing = 1; } } + if( $transsplicing ) { + warning( "Transcript contained trans splicing event" ); + } - #flush the exons and all related internal caches - $self->flush_Exons(); + $self->start( $start ); + $self->end( $end ); + $self->strand( $strand ); + $self->slice( $slice ); + + #flush internal values that depend on the exon coords that may have been + #cached + $self->{'_exon_coord_mapper'} = undef; + $self->{'coding_region_start'} = undef; + $self->{'coding_region_end'} = undef; + $self->{'cdna_coding_start'} = undef; + $self->{'cdna_coding_end'} = undef; +} - # attach the new list of exons to the transcript - push @{$self->{'_trans_exon_array'}},@mapped_list_of_exons; - if( defined $self->{'translation'} ) { - $self->translation->transform( $href_exons ); - } -} -=head2 coding_start +=head2 display_id Arg [1] : none - Example : none - Description: DEPRECATED use coding_region_start instead - Returntype : none + Example : print $transcript->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For transcripts this is the + stable id if it is available otherwise it is an empty string. + Returntype : string Exceptions : none - Caller : none + Caller : web drawing code =cut -sub coding_start { - my ($self, @args) = @_; +sub display_id { + my $self = shift; + return $self->{'stable_id'} || ''; +} - $self->warn("coding_start has been renamed coding_region_start\n" . - join(':'. caller)); - return $self->coding_region_start(@args); -} +########################### +# DEPRECATED METHODS FOLLOW +########################### +# _translation_id +# Usage : DEPRECATED - not needed anymore -=head2 coding_end - Arg [1] : none - Example : none - Description: DEPRECATED use coding_region_end instead - Returntype : none - Exceptions : none - Caller : none + +=head2 sort + + Description: DEPRECATED. This method is no longer needed. Exons are sorted + automatically when added to the transcript. =cut -sub coding_end { - my ($self, @args) = @_; +sub sort { + my $self = shift; + + deprecate( "Exons are kept sorted, you dont have to call sort any more" ); + # Fetch all the features + my @exons = @{$self->get_all_Exons()}; + + # Empty the feature table + $self->flush_Exons(); + + # Now sort the exons and put back in the feature table + my $strand = $exons[0]->strand; - $self->warn("coding_end has been renamed coding_region_end\n" . - join(':',caller)); + if ($strand == 1) { + @exons = sort { $a->start <=> $b->start } @exons; + } elsif ($strand == -1) { + @exons = sort { $b->start <=> $a->start } @exons; + } - return $self->coding_region_end(@args); + foreach my $e (@exons) { + $self->add_Exon($e); + } } +sub _translation_id { + my $self = shift; + deprecate( "This method shouldnt be necessary any more" ); + if( @_ ) { + my $value = shift; + $self->{'_translation_id'} = $value; + } + return $self->{'_translation_id'}; -=head2 DEPRECATED add_DBLink +} - Arg [1] : DEPRECATED Bio::Annotation::DBLink $link - a link is a database entry somewhere else. - Usually this is a Bio::EnsEMBL::DBEntry. - Example : DEPRECATED - Description: This method has been deprecated in favor of the add_DBEntry - method. Objects are responible for holding only xrefs directly - associated with themselves now. - Returntype : none - Exceptions : none - Caller : general +=head2 created + + Description: DEPRECATED - this attribute is not part of transcript anymore =cut +sub created{ + my $obj = shift; + deprecate( "This attribute is no longer supported" ); + if( @_ ) { + my $value = shift; + $obj->{'created'} = $value; + } + return $obj->{'created'}; +} -sub add_DBLink{ - my ($self,$value) = @_; - $self->throw("add_DBLink is deprecated. You probably want add_DBEntry."); +=head2 modified -# unless(defined $value && ref $value && -# $value->isa('Bio::Annotation::DBLink') ) { -# $self->throw("This [$value] is not a DBLink"); -# } + Description: DEPRECATED - this attribute is not part of transcript anymore -# if( !defined $self->{'_db_link'} ) { -# $self->{'_db_link'} = []; -# } +=cut + +sub modified{ + my $obj = shift; + deprecate( "This attribute is no longer supported" ); + if( @_ ) { + my $value = shift; + $obj->{'modified'} = $value; + } + return $obj->{'modified'}; +} + +=head2 temporary_id + + Function: DEPRECATED: Use dbID or stable_id or something else instead + +=cut -# push(@{$self->{'_db_link'}},$value); +sub temporary_id{ + my ($obj,$value) = @_; + deprecate( "I cant see what a temporary_id is good for, please use dbID" . + "or stableID or\ntry without an id." ); + if( defined $value) { + $obj->{'temporary_id'} = $value; + } + return $obj->{'temporary_id'}; } + 1; diff --git a/modules/Bio/EnsEMBL/TranscriptFactory.pm b/modules/Bio/EnsEMBL/TranscriptFactory.pm index ed5af020f3..b260550ba9 100755 --- a/modules/Bio/EnsEMBL/TranscriptFactory.pm +++ b/modules/Bio/EnsEMBL/TranscriptFactory.pm @@ -68,9 +68,9 @@ sub fset2transcript { $exon->strand ($f->strand); $exon->phase ($f->phase); $exon->end_phase( ($exon->phase + $exon->length)%3 ); - $exon->score($f->score); + #$exon->score($f->score); $exon->p_value($f->p_value); - $exon->attach_seq($contig->primary_seq); + $exon->slice($contig->primary_seq); push(@exons,$exon); $count++; @@ -132,9 +132,9 @@ sub fset2transcript_guess_phases { $exon->start ($f->start); $exon->end ($f->end ); $exon->strand ($f->strand); - $exon->score($f->score); + #$exon->score($f->score); $exon->p_value($f->p_value); - $exon->attach_seq($contig); + $exon->slice($contig); $exon->phase($f->phase); push(@exons,$exon); $count++; @@ -233,10 +233,10 @@ sub fset2transcript_3frame { $exon->start ($f->start); $exon->end ($f->end ); $exon->strand ($f->strand); - $exon->attach_seq($contig); + $exon->slice($contig); $exon->phase ($endphase); $exon->end_phase( ($exon->phase + $exon->length)%3 ); - $exon->score ($f->score); + #$exon->score ($f->score); $exon->p_value ($f->p_value); $endphase = $exon->end_phase; @@ -299,9 +299,9 @@ sub fset2transcript_with_seq { $exon->strand ($f->strand); $exon->phase ($f->phase); $exon->end_phase( ($exon->phase + $exon->length)%3 ); - $exon->score ($f->score); + #$exon->score ($f->score); #print STDERR "contig is a = ".$seq."\n"; - $exon->attach_seq($seq); + $exon->slice($seq); push(@exons,$exon); $count++; diff --git a/modules/Bio/EnsEMBL/Translation.pm b/modules/Bio/EnsEMBL/Translation.pm index e8cd6ccfbe..7af1a8b688 100755 --- a/modules/Bio/EnsEMBL/Translation.pm +++ b/modules/Bio/EnsEMBL/Translation.pm @@ -1,5 +1,5 @@ # -# BioPerl module for Bio::EnsEMBL::Translation +# EnsEMBL module for Bio::EnsEMBL::Translation # # Cared for by Ewan Birney <birney@sanger.ac.uk> # @@ -11,23 +11,23 @@ =head1 NAME -Bio::EnsEMBL::Translation - DESCRIPTION of Object +Bio::EnsEMBL::Translation - A class representing the translation of a +transcript =head1 SYNOPSIS -Give standard usage here + =head1 DESCRIPTION -Describe the object here +A transcript''s translation defines the CDS and UTR regions of the transcript +through the use of start_Exon/end_Exon, and start/end attributes. =head1 CONTACT -Describe contact details here - -=head1 APPENDIX +Post questions to the EnsEMBL Developer list: ensembl-dev@ebi.ac.uk -The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ +=head1 METHODS =cut @@ -36,10 +36,12 @@ package Bio::EnsEMBL::Translation; use vars qw($AUTOLOAD @ISA); use strict; +use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning ); +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); -use Bio::EnsEMBL::Root; +use Bio::EnsEMBL::Storable; -@ISA = qw(Bio::EnsEMBL::Root); +@ISA = qw(Bio::EnsEMBL::Storable); sub new { @@ -47,7 +49,23 @@ sub new { my $class = ref($caller) || $caller; - return bless {},$class; + my ( $start_exon, $end_exon, $seq_start, $seq_end, + $stable_id, $version, $dbID, $adaptor ) = + rearrange( [ "START_EXON", "END_EXON", "SEQ_START", "SEQ_END", + "STABLE_ID", "VERSION", "DBID", "ADAPTOR" ], @_ ); + + my $self = bless { + 'start_exon' => $start_exon, + 'end_exon' => $end_exon, + 'adaptor' => $adaptor, + 'dbID' => $dbID, + 'start' => $seq_start, + 'end' => $seq_end, + 'stable_id' => $stable_id, + 'version' => $version + }, $class; + + return $self; } @@ -118,7 +136,7 @@ sub start_Exon { if( @_ ) { my $value = shift; if( !ref $value || !$value->isa('Bio::EnsEMBL::Exon') ) { - $self->throw("Got to have an Exon object, not a $value"); + throw("Got to have an Exon object, not a $value"); } $self->{'start_exon'} = $value; } @@ -146,7 +164,7 @@ sub end_Exon { if( @_ ) { my $value = shift; if( !ref $value || !$value->isa('Bio::EnsEMBL::Exon') ) { - $self->throw("Got to have an Exon object, not a $value"); + throw("Got to have an Exon object, not a $value"); } $self->{'end_exon'} = $value; } @@ -155,142 +173,40 @@ sub end_Exon { } -=head2 version - - Title : version - Usage : $obj->version() - Function: - Returns : value of version - Args : - -=cut - -sub version{ - - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_version'} = $value; - } - - if( exists $self->{'_version'} ) { - return $self->{'_version'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_version'}; - -} - - - -=head2 stable_id - - Title : stable_id - Usage : $obj->stable_id - Function: - Returns : value of stable_id - Args : - -=cut - -sub stable_id{ - - my ($self,$value) = @_; - - - if( defined $value ) { - $self->{'_stable_id'} = $value; - return; - } - - if( exists $self->{'_stable_id'} ) { - return $self->{'_stable_id'}; - } - - $self->_get_stable_entry_info(); - - return $self->{'_stable_id'}; - -} - - -sub _get_stable_entry_info { - my $self = shift; - - if( !defined $self->adaptor ) { - return undef; - } - - $self->adaptor->get_stable_entry_info($self); - -} - - -=head2 temporary_id - - Title : temporary_id - Usage : $obj->temporary_id($newval) - Function: - Returns : value of temporary_id - Args : newvalue (optional) - -=cut - -sub temporary_id { - my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'tempID'} = $value; - } - return $self->{'tempID'}; - -} - - - -=head2 dbID +=head2 version - Title : dbID - Usage : $obj->dbID($newval) - Function: - Returns : value of dbID - Args : newvalue (optional) + Arg [1] : string $version + Example : none + Description: get/set for attribute version + Returntype : string + Exceptions : none + Caller : general =cut -sub dbID { +sub version { my $self = shift; - if( @_ ) { - my $value = shift; - $self->{'dbID'} = $value; - } - return $self->{'dbID'}; - + $self->{'version'} = shift if( @_ ); + return $self->{'version'}; } +=head2 stable_id -=head2 adaptor - - Title : adaptor - Usage : $obj->adaptor($newval) - Function: - Returns : value of adaptor - Args : newvalue (optional) + Arg [1] : string $stable_id + Example : none + Description: get/set for attribute stable_id + Returntype : string + Exceptions : none + Caller : general =cut -sub adaptor { +sub stable_id { my $self = shift; - if( @_ ) { - $self->{'adaptor'} = shift; - } - return $self->{'adaptor'}; - + $self->{'stable_id'} = shift if( @_ ); + return $self->{'stable_id'}; } @@ -378,7 +294,7 @@ sub add_DBEntry { my $dbe = shift; unless($dbe && ref($dbe) && $dbe->isa('Bio::EnsEMBL::DBEntry')) { - $self->throw('Expected DBEntry argument'); + throw('Expected DBEntry argument'); } $self->{'dbentries'} ||= []; @@ -405,4 +321,140 @@ sub get_all_DBLinks { } + + +=head2 get_all_ProteinFeatures + + Arg [1] : (optional) string $logic_name + The analysis logic_name of the features to retrieve. If not + specified, all features are retrieved instead. + Example : $features = $self->get_all_ProteinFeatures('PFam'); + Description: Retrieves all ProteinFeatures associated with this + Translation. If a logic_name is specified, only features with + that logic_name are returned. If no logic_name is provided all + associated protein_features are returned. + Returntype : Bio::EnsEMBL::ProteinFeature + Exceptions : none + Caller : general + +=cut + +sub get_all_ProteinFeatures { + my $self = shift; + my $logic_name = shift; + + if(!$self->{'protein_features'}) { + my $adaptor = $self->adaptor(); + my $dbID = $self->dbID(); + if(!$adaptor || !$dbID) { + warning("Cannot retrieve ProteinFeatures from translation without " . + "an attached adaptor and a dbID. Returning empty list."); + return []; + } + + my %hash; + $self->{'protein_features'} = \%hash; + + my $pfa = $adaptor->db()->get_ProteinFeatureAdaptor(); + my $name; + foreach my $f (@{$pfa->fetch_all_by_translation_id($dbID)}) { + my $analysis = $f->analysis(); + if($analysis) { + $name = lc($f->analysis->logic_name()); + } else { + warning("ProteinFeature has no attached analysis\n"); + $name = ''; + } + $hash{$name} ||= []; + push @{$hash{$name}}, $f; + } + } + + #a specific type of protein feature was requested + if(defined($logic_name)) { + $logic_name = lc($logic_name); + return $self->{'protein_features'}->{$logic_name} || []; + } + + my @features; + + #all protein features were requested + foreach my $type (keys %{$self->{'protein_features'}}) { + push @features, @{$self->{'protein_features'}->{$type}}; + } + + return \@features; +} + + + +=head2 get_all_DomainFeatures + + Arg [1] : none + Example : @domain_feats = @{$translation->get_all_DomainFeatures}; + Description: A convenience method which retrieves all protein features + that are considered to be 'Domain' features. Features which + are 'domain' features are those with analysis logic names: + 'pfscan', 'scanprosite', 'superfamily', 'pfam', 'prints'. + Returntype : listref of Bio::EnsEMBL::ProteinFeatures + Exceptions : none + Caller : webcode (protview) + +=cut + +sub get_all_DomainFeatures{ + my ($self) = @_; + + my @features; + + my @types = ('pfscan', #profile (prosite or pfam motifs) + 'scanprosite', #prosite + 'superfamily', + 'pfam', + 'prints'); + + foreach my $type (@types) { + push @features, @{$self->get_all_ProteinFeatures($type)}; + } + + return \@features; +} + +=head2 display_id + + Arg [1] : none + Example : print $translation->display_id(); + Description: This method returns a string that is considered to be + the 'display' identifier. For translations this is the + stable id if it is available otherwise it is an empty string. + Returntype : string + Exceptions : none + Caller : web drawing code + +=cut + +sub display_id { + my $self = shift; + return $self->{'stable_id'} || ''; +} + + + + +=head2 temporary_id + + Description: DEPRECATED This method should not be needed. Use dbID, + stable_id or something else. + +=cut + +sub temporary_id { + my $self = shift; + deprecate( "I cant see what a temporary_id is good for, please use " . + "dbID or stableID or\n try without an id." ); + $self->{'temporary_id'} = shift if( @_ ); + return $self->{'temporary_id'}; +} + + 1; diff --git a/modules/Bio/EnsEMBL/Utils/Argument.pm b/modules/Bio/EnsEMBL/Utils/Argument.pm new file mode 100644 index 0000000000..ff3b5591f7 --- /dev/null +++ b/modules/Bio/EnsEMBL/Utils/Argument.pm @@ -0,0 +1,162 @@ +# EnsEMBL module for Bio::EnsEMBL::Utils::Exception +# +# + +=head1 NAME + +Bio::EnsEMBL::Utils::Argument - Utility functions for argument handling + +=head1 SYNOPSIS + + use Bio::EnsEMBL::Utils::Argument qw(rearrange) + + package Feature; + + sub new { + my $class = shift; + my ($start, $end, $strand) = rearrange(['START', 'END', 'STRAND'],@_); + return bless({'start'=>$start, 'end'=>$end, 'strand'=>$strand}, $class); + } + +=head1 DESCRIPTION + +This is derived from the Bio::Root module in BioPerl. The _rearrange +object method taken from BioPerl has been renamed rearrange and is now a +static class method. This method was originally written by Lincoln Stein, +and has since been refactored several times by various people (as described +below). + +It is recommended that this package be used instead of inheriting +unnecessarily from the Bio::EnsEMBL::Root or Bio::Root object. + +=head1 CONTACT + +Post questions to the EnsEMBL development list: ensembl-dev@ebi.ac.uk + +=head1 APPENDIX + +The rest of the documentation details exported static class methods. + +=cut + + +use strict; +use warnings; + +package Bio::EnsEMBL::Utils::Argument; + +use Exporter; + +use vars qw(@ISA @EXPORT_OK); + +@ISA = qw(Exporter); + +@EXPORT_OK = qw(&rearrange); + + + +=head2 rearrange + + Usage : rearrange( array_ref, list_of_arguments) + Purpose : Rearranges named parameters to requested order. + Example : use Bio::EnsEMBL::Utils::Argument qw(rearrange); + : rearrange([qw(SEQUENCE ID DESC)],@param); + : Where @param = (-sequence => $s, + : -id => $i, + : -desc => $d); + Returns : @params - an array of parameters in the requested order. + : The above example would return ($s, $i, $d) + Argument : $order : a reference to an array which describes the desired + : order of the named parameters. + : @param : an array of parameters, either as a list (in + : which case the function simply returns the list), + : or as an associative array with hyphenated tags + : (in which case the function sorts the values + : according to @{$order} and returns that new array.) + : The tags can be upper, lower, or mixed case + : but they must start with a hyphen (at least the + : first one should be hyphenated.) + Source : This function was taken from CGI.pm, written by Dr. Lincoln + : Stein, and adapted for use in Bio::Seq by Richard Resnick and + : then adapted for use in Bio::Root::Object.pm by Steve A. Chervitz. + : This has since been adapted as an exported static method in this + class Bio::EnsEMBL::Utils::Argument + Comments : (SAC) + : This method may not be appropriate for method calls that are + : within in an inner loop if efficiency is a concern. + : + : Parameters can be specified using any of these formats: + : @param = (-name=>'me', -color=>'blue'); + : @param = (-NAME=>'me', -COLOR=>'blue'); + : @param = (-Name=>'me', -Color=>'blue'); + : @param = ('me', 'blue'); + : A leading hyphenated argument is used by this function to + : indicate that named parameters are being used. + : Therefore, the ('me', 'blue') list will be returned as-is. + : + : Note that Perl will confuse unquoted, hyphenated tags as + : function calls if there is a function of the same name + : in the current namespace: + : -name => 'foo' is interpreted as -&name => 'foo' + : + : For ultimate safety, put single quotes around the tag: + : ('-name'=>'me', '-color' =>'blue'); + : This can be a bit cumbersome and I find not as readable + : as using all uppercase, which is also fairly safe: + : (-NAME=>'me', -COLOR =>'blue'); + : + : Personal note (SAC): I have found all uppercase tags to + : be more managable: it involves less single-quoting, + : the code is more readable, and there are no method naming + : conlicts. + : Regardless of the style, it greatly helps to line + : the parameters up vertically for long/complex lists. + +=cut + + +sub rearrange { + my($order,@param) = @_; + + return unless @param; + + # If we've got parameters, we need to check to see whether + # they are named or simply listed. If they are listed, we + # can just return them. + + return @param unless (defined($param[0]) && $param[0]=~/^-/); + + # Now we've got to do some work on the named parameters. + # The next few lines strip out the '-' characters which + # preceed the keys, and capitalizes them. + my $i; + for ($i=0;$i<@param;$i+=2) { + $param[$i]=~s/^\-//; + $param[$i]=~tr/a-z/A-Z/; + } + + # Now we'll convert the @params variable into an associative array. + local($^W) = 0; # prevent "odd number of elements" warning with -w. + my(%param) = @param; + + my(@return_array); + + # What we intend to do is loop through the @{$order} variable, + # and for each value, we use that as a key into our associative + # array, pushing the value at that key onto our return array. + my($key); + + foreach $key (@{$order}) { + $key = uc($key); + my($value) = $param{$key}; + delete $param{$key}; + push(@return_array,$value); + } + + return (@return_array); +} + + +1; + + diff --git a/modules/Bio/EnsEMBL/Utils/Converter.pm b/modules/Bio/EnsEMBL/Utils/Converter.pm index 6ac9fe96f0..e17464b039 100644 --- a/modules/Bio/EnsEMBL/Utils/Converter.pm +++ b/modules/Bio/EnsEMBL/Utils/Converter.pm @@ -161,7 +161,7 @@ sub convert{ return \@output; } -sub _convert_single{ +sub _converter_single{ my ($self, $input) = @_; $self->throw("Not implemented. Please check the instance subclass"); } diff --git a/modules/Bio/EnsEMBL/Utils/Exception.pm b/modules/Bio/EnsEMBL/Utils/Exception.pm new file mode 100644 index 0000000000..596e012dec --- /dev/null +++ b/modules/Bio/EnsEMBL/Utils/Exception.pm @@ -0,0 +1,424 @@ +# EnsEMBL module for Bio::EnsEMBL::Utils::Exception +# +# + +=head1 NAME + +Bio::EnsEMBL::Utils::Exception - Utility functions for error handling + +=head1 SYNOPSIS + + use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate verbose) + + eval { + throw("this is an exception with a stack trace"); + ); + + if($@) { + print "Caught exception:\n$@"; + } + + #silence warnings + verbose('OFF'); + + warning('this is a silent warning'); + + #show deprecated and warning messages but not info + verbose('DEPRECATE'); + + warning('this is a warning'); + + #show all messages + verbose('ALL'); + + info('this is an informational message'); + + sub my_sub { + deprecate('use other_sub() instead'); + } + + verbose('EXCEPTION'); + info('This is a high priority info message.', 1000); + + +=head1 DESCRIPTION + +This is derived from the Bio::Root module in BioPerl. Some formatting has +been changed and the deprecate function has been added. Most notably the +object methods are now static class methods that can be called without +inheriting from Bio::Root or Bio::EnsEMBL::Root. This is especially useful +for throwing exceptions with stack traces outside of a blessed context. + +The originaly implementations of these methods were by Steve Chervitz and +refactored by Ewan Birney. + +It is recommended that these functions be used instead of inheriting +unnecessarily from the Bio::EnsEMBL::Root or Bio::Root object. +The functions exported by this package provide a set of useful error handling +methods. + +=head1 CONTACT + +Post questions to the EnsEMBL development list: ensembl-dev@ebi.ac.uk + +=head1 METHODS + +The rest of the documentation details exported static class methods. + +=cut + +use strict; +use warnings; + +package Bio::EnsEMBL::Utils::Exception; + +use Exporter; + +use vars qw(@ISA @EXPORT_OK); + +@ISA = qw(Exporter); + +@EXPORT_OK = qw(&throw &warning &stack_trace_dump + &stack_trace &verbose &deprecate &info); + +my $VERBOSITY = 3000; +my $DEFAULT_INFO = 4000; +my $DEFAULT_DEPRECATE = 3000; +my $DEFAULT_WARNING = 2000; +my $DEFAULT_EXCEPTION = 1000; + + +=head2 throw + + Arg [1] : string $msg + Arg [2] : (optional) int $level + override the default level of exception throwing + Example : use Bio::EnsEMBL::Utils::Exception qw(throw); + throw('We have a problem'); + Description: Throws an exception which if not caught by an eval will + provide a stack trace to STDERR and die. If the verbosity level + is lower than the level of the throw, then no error message is + displayed but the program will still die (unless the exception + is caught). + Returntype : none + Exceptions : thrown every time + Caller : generally on error + +=cut + +sub throw { + my $string = shift; + + #for backwards compatibility with Bio::EnsEMBL::Root::throw + #allow to be called as an object method as well as class method + $string = shift if(ref($string)); #skip object if one provided + + my $level = shift; + + $level = $DEFAULT_EXCEPTION if(!defined($level)); + + if($VERBOSITY < $level) { + die("\n"); #still die, but silently + } + + my $std = stack_trace_dump(3); + + my $out = "\n-------------------- EXCEPTION --------------------\n" . + "MSG: $string\n" . + "$std" . + "---------------------------------------------------\n"; + die $out; +} + + + +=head2 warning + + Arg [1] : string warning(message); + Arg [2] : (optional) int level + Override the default level of this warning changning the level + of verbosity at which it is displayed. + Example : use Bio::EnsEMBL::Utils::Exception qw(warning) + warning('This is a warning'); + Description: If the verbosity level is higher or equal to the level of this + warning then a warning message is printed to STDERR. If the + verbosity lower then nothing is done. Under the default + levels of warning and verbosity warnings will be displayed. + Returntype : none + Exceptions : warning every time + Caller : general + +=cut + +sub warning { + my $string = shift; + my $level = shift; + + $level = $DEFAULT_WARNING if(!defined($level)); + + return if ($VERBOSITY < $level); + + my @caller = caller; + my $line = $caller[2] || ''; + + #use only 2 subdirs for brevity when reporting the filename + my $file; + my @path = split(/\//, $caller[1]); + $file = pop(@path); + my $i = 0; + while(@path && $i < 2) { + $i++; + $file = pop(@path) ."/$file"; + } + + my $out = "\n-------------------- WARNING ----------------------\n". + "MSG: $string\n". + "FILE: $file LINE: $line\n" . + "---------------------------------------------------\n"; + print STDERR $out; +} + + + +=head2 info + + Arg [1] : string $string + The message to be displayed + Arg [2] : (optional) int $level + Override the default level of this message so it is displayed at + a different level of verbosity than it normally would be. + Example : use Bio::EnsEMBL::Utils::Exception qw(verbose info) + Description: This prints an info message to STDERR if verbosity is higher + than the level of the message. By default info messages are not + displayed. + Returntype : none + Exceptions : none + Caller : general + +=cut + +sub info { + my $string = shift; + my $level = shift; + + $level = $DEFAULT_INFO if(!defined($level)); + + return if($VERBOSITY < $level); + + print STDERR "INFO: $string\n"; +} + + + +=head2 verbose + + Arg [1] : (optional) int + Example : use Bio::EnsEMBL::Utils::Exception qw(verbose warning); + #turn warnings and everything more important on (e.g. exception) + verbose('WARNING'); + warning("Warning displayed"); + info("This won't be displayed"); + deprecate("This won't be diplayed"); + + #turn exception messages on + verbose('EXCEPTION'); + warning("This won't do anything"); + throw("Die with a message"); + + #turn everying off + verbose('OFF'); #same as verbose(0); + warning("This won't do anything"); + throw("Die silently without a message"); + + #turn on all messages + verbose('ALL'); + info("All messages are now displayed"); + + if(verbose() > 3000) { + print "Verbosity is pretty high"; + } + + Description: Gets/Sets verbosity level which defines which messages are + to be displayed. An integer value may be passed or one of the + following strings: + 'OFF' (= 0) + 'EXCEPTION' (= 1000) + 'WARNING' (= 2000) + 'DEPRECATE' (= 3000) + 'INFO' (= 4000) + 'ALL' (= 1000000) + + Returntype : int + Exceptions : none + Caller : general + +=cut + + +sub verbose { + if(@_) { + my $verbosity = shift; + if($verbosity =~ /\d+/) { #check if verbosity is an integer + $VERBOSITY = $verbosity; + } else { + $verbosity = uc($verbosity); + if($verbosity eq 'OFF' || $verbosity eq 'NOTHING' || + $verbosity eq 'NONE') { + $VERBOSITY = 0; + } elsif($verbosity eq 'EXCEPTION' || $verbosity eq 'THROW') { + $VERBOSITY = $DEFAULT_EXCEPTION; + } elsif($verbosity eq 'WARNING' || $verbosity eq 'WARN') { + $VERBOSITY = $DEFAULT_WARNING; + } elsif($verbosity eq 'DEPRECATE' || $verbosity eq 'DEPRECATED') { + $VERBOSITY = $DEFAULT_DEPRECATE; + } elsif($verbosity eq 'INFO') { + $VERBOSITY = $DEFAULT_INFO; + } elsif($verbosity eq 'ON' || $verbosity eq 'ALL') { + $VERBOSITY = 1e6; + } else { + $VERBOSITY = $DEFAULT_WARNING; + warning("Unknown level of verbosity: $verbosity"); + } + } + } + + return $VERBOSITY; +} + + + +=head2 stack_trace_dump + + Arg [1] : (optional) int $levels + The number of levels to ignore from the top of the stack when + creating the dump. This is useful when this is called internally + from a warning or throw function when the immediate caller and + stack_trace_dump function calls are themselves uninteresting. + Example : use Bio::EnsEMBL::Utils::Exception qw(stack_trace_dump); + print STDERR stack_trace_dump(); + Description: Returns a stack trace formatted as a string + Returntype : string + Exceptions : none + Caller : general, throw, warning + +=cut + +sub stack_trace_dump{ + my @stack = stack_trace(); + + my $levels = 2; #default is 2 levels so stack_trace_dump call is not present + $levels = shift if(@_); + $levels = 1 if($levels < 1); + + while($levels) { + $levels--; + shift @stack; + } + + my $out; + my ($module,$function,$file,$position); + + + foreach my $stack ( @stack) { + ($module,$file,$position,$function) = @{$stack}; + $out .= "STACK $function $file:$position\n"; + } + + return $out; +} + + + +=head2 stack_trace + + Arg [1] : none + Example : use Bio::EnsEMBL::Utils::Exception qw(stack_trace) + Description: Gives an array to a reference of arrays with stack trace info + each coming from the caller(stack_number) call + Returntype : array of listrefs of strings + Exceptions : none + Caller : general, stack_trace_dump() + +=cut + +sub stack_trace { + my $i = 0; + my @out; + my $prev; + while ( my @call = caller($i++)) { + + # major annoyance that caller puts caller context as + # function name. Hence some monkeying around... + $prev->[3] = $call[3]; + push(@out,$prev); + $prev = \@call; + } + $prev->[3] = 'toplevel'; + push(@out,$prev); + return @out; +} + + +=head2 deprecate + + Arg [1] : string $mesg + A message describing why a method is deprecated + Example : use Bio::EnsEMBL::Utils::Exception qw(deprecate) + sub old_sub { + deprecate('Please use new_sub() instead'); + } + Description: Prints a warning to STDERR that the method which called + deprecate() is deprecated. Also prints the line number and + file from which the deprecated method was called. Deprecated + warnings only appear once for each location the method was + called from. No message is displayed if the level of verbosity + is lower than the level of the warning. + Returntype : none + Exceptions : warning every time + Caller : deprecated methods + +=cut + +my %DEPRECATED; + +sub deprecate { + my $mesg = shift; + + my $level = shift; + + $level = $DEFAULT_DEPRECATE if(!defined($level)); + + return if($VERBOSITY < $level); + + my @caller = caller(1); + my $subname = $caller[3] ; + my $line = $caller[2]; + + #use only 2 subdirs for brevity when reporting the filename + my $file; + my @path = $caller[1]; + $file = pop(@path); + my $i = 0; + while(@path && $i < 2) { + $i++; + $file .= pop(@path); + } + + #keep track of who called this method so that the warning is only displayed + #once per deprecated call + return if $DEPRECATED{"$line:$file"}; + + if($VERBOSITY > -1) { + print STDERR "\n------------------ DEPRECATED ---------------------\n" . + "Deprecated method call in file $file line $line.\n" . + "Method $subname is deprecated.\n" . + "$mesg\n" . + "---------------------------------------------------\n"; + } + + $DEPRECATED{"$line:$file"} = 1; +} + + + +1; diff --git a/modules/Bio/EnsEMBL/Utils/SeqDumper.pm b/modules/Bio/EnsEMBL/Utils/SeqDumper.pm index 1c096b3c47..40abb3399c 100644 --- a/modules/Bio/EnsEMBL/Utils/SeqDumper.pm +++ b/modules/Bio/EnsEMBL/Utils/SeqDumper.pm @@ -36,7 +36,7 @@ package Bio::EnsEMBL::Utils::SeqDumper; use IO::File; use vars qw(@ISA); -@ISA = qw(Bio::EnsEMBL::Root); +use Bio::EnsEMBL::Utils::Exception qw(throw warning); #keys must be uppercase my $DUMP_HANDLERS = @@ -112,12 +112,12 @@ sub new { sub enable_feature_type { my ($self, $type) = @_; - $type || $self->throw("type arg is required"); + $type || throw("type arg is required"); if(exists($self->{'feature_types'}->{$type})) { $self->{'feature_types'}->{$type} = 1; } else { - $self->warn("unknown feature type '$type'\n" . + warning("unknown feature type '$type'\n" . "valid types are: " . join(',', keys %{$self->{'feature_types'}})); } } @@ -141,10 +141,9 @@ sub enable_feature_type { sub attach_database { my ($self, $name, $db) = @_; - $name || $self->throw("name arg is required"); + $name || throw("name arg is required"); unless($db && ref($db) && $db->isa('Bio::EnsEMBL::DBSQL::DBConnection')) { - $self->throw("db arg must be a Bio::EnsEMBL::DBSQL::DBConnection not a " . - "[$db]"); + throw("db arg must be a Bio::EnsEMBL::DBSQL::DBConnection not a [$db]"); } $self->{'attached_dbs'}->{$name} = $db; @@ -167,7 +166,7 @@ sub attach_database { sub get_database { my ($self, $name) = @_; - $name || $self->throw("name arg is required"); + $name || throw("name arg is required"); return $self->{'attached_dbs'}->{$name}; } @@ -190,7 +189,7 @@ sub get_database { sub remove_database { my ($self, $name) = @_; - $name || $self->throw("name arg is required"); + $name || throw("name arg is required"); if(exists $self->{'attached_dbs'}->{$name}) { return delete $self->{'attached_dbs'}->{$name}; @@ -215,12 +214,12 @@ sub remove_database { sub disable_feature_type { my ($self, $type) = @_; - $type || $self->throw("type arg is required"); + $type || throw("type arg is required"); if(exists($self->{'feature_types'}->{$type})) { $self->{'feature_types'}->{$type} = 0; } else { - $self->warn("unknown feature type '$type'\n" . + warning("unknown feature type '$type'\n" . "valid types are: " . join(',', keys %{$self->{'feature_types'}})); } } @@ -242,12 +241,12 @@ sub disable_feature_type { sub is_enabled { my ($self, $type) = @_; - $type || $self->throw("type arg is required"); + $type || throw("type arg is required"); if(exists($self->{'feature_types'}->{$type})) { return $self->{'feature_types'}->{$type}; } else { - $self->warn("unknown feature type '$type'\n" . + warning("unknown feature type '$type'\n" . "valid types are: " . join(',', keys %{$self->{'feature_types'}})); } } @@ -275,24 +274,24 @@ sub is_enabled { sub dump { my ($self, $slice, $format, $outfile) = @_; - $format || $self->throw("format arg is required"); - $slice || $self->throw("slice arg is required"); + $format || throw("format arg is required"); + $slice || throw("slice arg is required"); my $dump_handler = $DUMP_HANDLERS->{uc($format)}; unless($dump_handler) { - $self->throw("No dump handler is defined for format $format\n"); + throw("No dump handler is defined for format $format\n"); } my $FH = IO::File->new;; if($outfile) { - $FH->open(">$outfile") or $self->throw("Could not open file $outfile"); + $FH->open(">$outfile") or throw("Could not open file $outfile"); } else { $FH = \*STDOUT; #mod_perl did not like the following #$FH->fdopen(fileno(STDOUT), "w") - # or $self->throw("Could not open currently selected output filehandle " . + # or throw("Could not open currently selected output filehandle " . # "for writing"); } @@ -321,9 +320,46 @@ sub dump_embl { my $slice = shift; my $FH = shift; - my $id = $slice->name; my $len = $slice->length; + my $version; + my $id; + + my $cs = $slice->coord_system(); + my $name_str = $cs->name() . ' ' . $slice->seq_region_name(); + $name_str .= ' ' . $cs->version if($cs->version); + + my $start = $slice->start; + my $end = $slice->end; + + #determine if this slice is the entire seq region + #if it is then we just use the name as the id + my $slice_adaptor = $slice->adaptor(); + my $full_slice = + $slice->adaptor->fetch_by_region($cs->name, + $slice->seq_region_name, + undef,undef,undef, + $cs->version); + + + if($full_slice->name eq $slice->name) { + $name_str .= ' full sequence'; + $id = $slice->seq_region_name(); + my @acc_ver = split(/\./, $id); + if(@acc_ver == 2) { + $id = $acc_ver[0]; + $version = $acc_ver[0] . $acc_ver[1]; + } elsif(@acc_ver == 1 && $cs->version()) { + $version = $id . $cs->version(); + } else { + $version = $id; + } + } else { + $name_str .= ' partial sequence'; + $id = $slice->name(); + $version = $id; + } + #line breaks are allowed near the end of the line on ' ', "\t", "\n", ',' $: = (" \t\n-,"); @@ -335,27 +371,29 @@ sub dump_embl { my $EMBL_HEADER = '@< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~ '; - + #ID and moltype my $VALUE = "$id ENSEMBL; DNA; PLN; $len BP."; $self->write($FH, $EMBL_HEADER, 'ID', $VALUE); print $FH "XX\n"; - + #Accession $self->write($FH, $EMBL_HEADER, 'AC', $id); print $FH "XX\n"; - + #Version - $self->write($FH, $EMBL_HEADER, 'SV', "$id.ENSEMBL_DB:". - $slice->adaptor->db->dbname); + $self->write($FH, $EMBL_HEADER, 'SV', $version); print $FH "XX\n"; #Date $self->write($FH, $EMBL_HEADER, 'DT', $self->_date_string); print $FH "XX\n"; + my $species = $slice->adaptor->db->get_MetaContainer->get_Species(); + #Description - $self->write($FH, $EMBL_HEADER, 'DE', "Reannotated sequence via EnsEMBL"); + $self->write($FH, $EMBL_HEADER, 'DE', $species->binomial . + " $name_str $start..$end reannotated via EnsEMBL"); print $FH "XX\n"; #key words @@ -363,7 +401,6 @@ sub dump_embl { print $FH "XX\n"; #Species - my $species = $slice->adaptor->db->get_MetaContainer->get_Species(); my $species_name = $species->binomial(); if(my $cn = $species->common_name()) { $species_name .= " ($cn)"; @@ -457,42 +494,67 @@ sub dump_genbank { ' ^<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~ '; - my $id = $slice->name; - my $length = $slice->length; + my $version; + my $id; - my ($name_str, $start, $end); - if($slice->isa('Bio::EnsEMBL::Slice')) { - $name_str = "chromosome " . $slice->chr_name; - $start = $slice->chr_start; - $end = $slice->chr_end; + my $cs = $slice->coord_system(); + + my $name_str = $cs->name() . ' ' . $slice->seq_region_name(); + + $name_str .= ' ' . $cs->version if($cs->version); + + #determine if this slice is the entire seq region + #if it is then we just use the name as the id + my $slice_adaptor = $slice->adaptor(); + my $full_slice = + $slice->adaptor->fetch_by_region($cs->name, + $slice->seq_region_name, + undef,undef,undef, + $cs->version); + + + if($full_slice->name eq $slice->name) { + $name_str .= ' full sequence'; + $id = $slice->seq_region_name(); + my @acc_ver = split(/\./, $id); + if(@acc_ver == 2) { + $id = $acc_ver[0]; + $version = $acc_ver[0] . $acc_ver[1]; + } elsif(@acc_ver == 1 && $cs->version()) { + $version = $id . $cs->version(); + } else { + $version = $id; + } } else { - $name_str = $slice->name; - $start = 1; - $end = $slice->length(); + $name_str .= ' partial sequence'; + $id = $slice->name(); + $version = $id; } + my $length = $slice->length; + my $start = $slice->start(); + my $end = $slice->end(); + my $date = $self->_date_string; my $species = $slice->adaptor->db->get_MetaContainer->get_Species; #LOCUS my $tag = 'LOCUS'; - my $value = "ENS:$id $length bp DNA HTG $date"; + my $value = "$id $length bp DNA HTG $date"; $self->write($FH, $GENBANK_HEADER, $tag, $value); - #DEFINITION $tag = "DEFINITION"; - $value = $species->binomial . ' ' . $slice->adaptor->db->assembly_type . - " assembly reannotated via EnsEMBL DNA, $name_str $start..$end"; + $value = $species->binomial . + " $name_str $start..$end reannotated via EnsEMBL"; $self->write($FH, $GENBANK_HEADER, $tag, $value); #ACCESSION $self->write($FH, $GENBANK_HEADER, 'ACCESSION', $id); #VERSION - $self->write($FH, $GENBANK_HEADER, 'VERSION', "$id.ENSEMBL_DB:". - $slice->adaptor->db->dbname); + $self->write($FH, $GENBANK_HEADER, 'VERSION', $version); # KEYWORDS $self->write($FH, $GENBANK_HEADER, 'KEYWORDS', '.'); @@ -512,15 +574,13 @@ sub dump_genbank { foreach my $comment (@COMMENTS) { $self->write($FH, $GENBANK_HEADER, 'COMMENT', $comment); } - - + #################### # DUMP FEATURE TABLE #################### print $FH "FEATURES Location/Qualifiers\n"; $self->_dump_feature_table($slice, $FH, $GENBANK_FT); - #################### # DUMP SEQUENCE #################### @@ -594,33 +654,32 @@ sub _dump_feature_table { if($self->is_enabled('gene')) { push @gene_slices, $slice; } - + # Retrieve slices of other database where we need to pull genes from - + my $gene_dbs = {'vegagene' => 'vega', - 'estgene' => 'estgene'}; - + 'estgene' => 'estgene'}; + foreach my $gene_type (keys %$gene_dbs) { if($self->is_enabled($gene_type)) { - my $db = $self->get_database($gene_dbs->{$gene_type}); - if($db) { - warn "adding gene slice for db $gene_dbs->{$gene_type}"; - push @gene_slices, $db->get_SliceAdaptor->fetch_by_chr_start_end - ($slice->chr_name, $slice->chr_start, $slice->chr_end); - } else { - $self->warn("A [". $gene_dbs->{$gene_type} ."] database must be " . - "attached to this SeqDumper\n(via a call to " . - "attach_database) to retrieve genes of type [$gene_type]"); - } + my $db = $self->get_database($gene_dbs->{$gene_type}); + if($db) { + push @gene_slices, $db->get_SliceAdaptor->fetch_by_chr_start_end + ($slice->chr_name, $slice->chr_start, $slice->chr_end); + } else { + warning("A [". $gene_dbs->{$gene_type} ."] database must be " . + "attached to this SeqDumper\n(via a call to " . + "attach_database) to retrieve genes of type [$gene_type]"); + } } } } - + foreach my $gene_slice (@gene_slices) { foreach my $gene (@{$gene_slice->get_all_Genes}) { foreach my $transcript (@{$gene->get_all_Transcripts}) { my $translation = $transcript->translation; - + # normal transcripts get dumped differently than pseudogenes if($translation) { #normal transcript @@ -638,7 +697,7 @@ sub _dump_feature_table { $self->write(@ff,'', '/protein_id="'.$translation->stable_id().'"'); $self->write(@ff,'' ,'/note="transcript_id='.$transcript->stable_id().'"'); - + foreach my $dbl (@{$transcript->get_all_DBLinks}) { $value = '/db_xref="'.$dbl->dbname().':'.$dbl->display_id().'"'; $self->write(@ff, '', $value); @@ -661,13 +720,12 @@ sub _dump_feature_table { } } } - + # exons foreach my $gene (@{$gene_slice->get_all_Genes}) { foreach my $exon (@{$gene->get_all_Exons}) { - $self->write(@ff,'exon', $self->features2location([$exon])); - $self->write(@ff,'' , '/note="exon_id='.$exon->stable_id().'"'); - + $self->write(@ff,'exon', $self->features2location([$exon])); + $self->write(@ff,'' , '/note="exon_id='.$exon->stable_id().'"'); } } } @@ -682,8 +740,9 @@ sub _dump_feature_table { push @genscan_exons, @$exons; $self->write(@ff, 'mRNA', $self->features2location($exons)); $self->write(@ff, '', '/product="'.$transcript->translate()->seq().'"'); + $self->write(@ff, '', '/note="identifier='.$transcript->stable_id.'"'); $self->write(@ff, '', '/note="Derived by automated computational' . - ' analysis using gene prediction method:' . + ' analysis using gene prediction method:' . $transcript->analysis->logic_name . '"'); } } @@ -704,9 +763,9 @@ sub _dump_feature_table { $self->write(@ff, '' , '/replace="'.$snp->alleles.'"'); #$self->write(@ff, '' , '/evidence="'.$snp->status.'"'); foreach my $link ($snp->each_DBLink) { - my $id = $link->primary_id; - my $db = $link->database; - $self->write(@ff, '', "/db_xref=\"$db:$id\""); + my $id = $link->primary_id; + my $db = $link->database; + $self->write(@ff, '', "/db_xref=\"$db:$id\""); } } @@ -715,7 +774,7 @@ sub _dump_feature_table { # # similarity features - # + # if($self->is_enabled('similarity')) { foreach my $sim (@{$slice->get_all_SimilarityFeatures}) { $self->write(@ff, 'misc_feature', $self->features2location([$sim])); @@ -742,16 +801,18 @@ sub _dump_feature_table { if($self->is_enabled('marker') && $slice->can('get_all_MarkerFeatures')) { foreach my $mf (@{$slice->get_all_MarkerFeatures}) { $self->write(@ff, 'STS', $self->features2location([$mf])); - $self->write(@ff, '' , '/standard_name="' . - $mf->marker->display_MarkerSynonym->name . '"'); + if($mf->marker->display_MarkerSynonym) { + $self->write(@ff, '' , '/standard_name="' . + $mf->marker->display_MarkerSynonym->name . '"'); + } #grep out synonyms without a source my @synonyms = @{$mf->marker->get_all_MarkerSynonyms}; @synonyms = grep {$_->source } @synonyms; foreach my $synonym (@synonyms) { - $self->write(@ff, '', '/db_xref="'.$synonym->source. - ':'.$synonym->name.'"'); + $self->write(@ff, '', '/db_xref="'.$synonym->source. + ':'.$synonym->name.'"'); } $self->write(@ff, '', '/note="map_weight='.$mf->map_weight.'"'); } @@ -760,13 +821,14 @@ sub _dump_feature_table { # # contigs # - if($self->is_enabled('contig') && $slice->can('get_tiling_path')) { - foreach my $tile (@{$slice->get_tiling_path}) { - $self->write(@ff, 'misc_feature', - $tile->assembled_start .'..'. $tile->assembled_end); - $self->write(@ff, '', '/note="contig '.$tile->component_Seq->name . - ' ' . $tile->component_start . '..' . $tile->component_end. - '(' . $tile->component_ori . ')"'); + if($self->is_enabled('contig')) { + foreach my $segment (@{$slice->project('seqlevel')}) { + my ($start, $end, $slice) = @$segment; + $self->write(@ff, 'misc_feature', + $start .'..'. $end); + $self->write(@ff, '', '/note="contig '.$slice->seq_region_name . + ' ' . $slice->start . '..' . $slice->end . + '(' . $slice->strand . ')"'); } } @@ -793,9 +855,13 @@ sub dump_fasta { my $slice = shift; my $FH = shift; - - my $species = - $slice->adaptor->db->get_MetaContainer->get_Species->binomial(); + my $species; + my $spec = $slice->adaptor->db->get_MetaContainer->get_Species(); + if($spec) { + $species = $spec->binomial(); + } else { + $species = ''; + } my $name = $slice->name; my $start = 1; @@ -835,75 +901,43 @@ sub dump_fasta { sub features2location { my $self = shift; my $features = shift; - + my @join = (); foreach my $f (@$features) { - my $ctg = $f->contig; + my $slice = $f->slice; + my $start = $f->start(); + my $end = $f->end(); + my $strand = $f->strand(); - if($ctg->isa('Bio::EnsEMBL::Slice')) { - if($f->start >= 1 && $f->end <= $ctg->length) { - #this feature in on a slice and doesn't lie outside the boundary + if($start >= 1 && $end <= $slice->length) { + #this feature in on a slice and doesn't lie outside the boundary - if($f->strand() == 1) { - push @join, $f->start()."..".$f->end(); - } else { - push @join, "complement(".$f->start()."..".$f->end().")"; - } + if($strand == 1) { + push @join, "$start..$end"; } else { - my @fs = (); - #this feature is outside the boundary of the dump, - #convert to clone coords - if($ctg->isa('Bio::EnsEMBL::Slice')) { - #copy the feature, and transform to contig coords - my $new_f; - %$new_f = %$f; - bless $new_f, ref $f; - push @fs, $new_f->transform; - } - - if($fs[0]->isa('Bio::EnsEMBL::StickyExon')) { - @fs = @{$fs[0]->get_all_component_Exons}; - } - - #use the accession:x-y format - foreach my $feat (@fs) { - my $contig = $feat->contig; - my $clone = $contig->clone; - my $acc; - if($clone->embl_id) { - $acc = $clone->embl_id .'.'. $clone->embl_version; - } else { - $acc = $clone->id; - } - my $start = $feat->start + $contig->embl_offset - 1; - my $end = $feat->end + $contig->embl_offset - 1; - my $strand = $feat->strand; - if($strand == 1) { - push @join, "$acc:$start..$end"; - } else { - push @join, "complement($acc:$start..$end)"; - } - } + push @join, "complement($start..$end)"; } } else { - #handle features in contig coordinates - - my $start = $f->start; - my $end = $f->end; - - if($start < 1 || $end > $ctg->length) { - $self->throw("Feature off end of contig boundary"); - } - - if($f->strand == -1) { - push @join, "complement($start..$end)"; - } else { - push @join, "($start..$end)"; + my @fs = (); + #this feature is outside the boundary of the dump, + #XXX TBD This should probably be CLONE coords but 2 step mapping is not + # yet implemented and 'seqlevel' is guaranteed to be 1step + my $projection = $f->project('seqlevel'); + foreach my $segment (@$projection) { + my $slice = $segment->[2]; + my $slc_start = $slice->start(); + my $slc_end = $slice->end(); + my $seq_reg = $slice->seq_region_name(); + if($slice->strand == 1) { + push @join, "$seq_reg:$slc_start..$slc_end"; + } else { + push @join, "complement($seq_reg:$slc_start..$slc_end)"; + } } } } - + my $out = join ',', @join; if(scalar @join > 1) { diff --git a/modules/t/MultiTestDB.conf b/modules/t/MultiTestDB.conf index df7cb3341f..8b38b0b0c1 100644 --- a/modules/t/MultiTestDB.conf +++ b/modules/t/MultiTestDB.conf @@ -1,13 +1,15 @@ { - 'port' => 3307, + 'port' => 3306, 'driver' => 'mysql', 'user' => 'ensadmin', 'pass' => 'ensembl', - 'host' => 'ecs3d', + 'host' => 'ecs1c', 'zip' => 'test_genome.zip', #add a line with the dbname and module - 'databases' => { 'core' => 'Bio::EnsEMBL::DBSQL::DBAdaptor'} - + 'databases' => { 'core' => 'Bio::EnsEMBL::DBSQL::DBAdaptor'}, +#uncomment to use preloaded databases (useful when doing lots of testing) +# 'preloaded' => { 'core' => 'arne_new_test' } + } diff --git a/modules/t/MultiTestDB.pm b/modules/t/MultiTestDB.pm index e8ddd6c484..695dfec00f 100644 --- a/modules/t/MultiTestDB.pm +++ b/modules/t/MultiTestDB.pm @@ -1,4 +1,4 @@ - + =pod @@ -15,11 +15,9 @@ package MultiTestDB; -use vars qw(@ISA %ENV); - -use Bio::EnsEMBL::Root; +use vars qw(%ENV); -@ISA = ('Bio::EnsEMBL::Root'); +use Bio::EnsEMBL::Utils::Exception qw(throw warning); use strict; @@ -150,7 +148,7 @@ sub create_adaptors { }; if ($@) { - $self->warn("WARNING: Could not instantiate $dbtype DBAdaptor:\n$@"); + warning("WARNING: Could not instantiate $dbtype DBAdaptor:\n$@"); } else { $self->{'db_adaptors'}->{$dbtype} = $adaptor; } @@ -158,6 +156,9 @@ sub create_adaptors { } + + + sub load_databases { my ($self) = shift; @@ -176,105 +177,129 @@ sub load_databases { #create a config hash which will be frozen to a file $self->{'conf'} = {}; - #unzip database files - $self->unzip_test_dbs($self->curr_dir . $zip); + #only unzip if there are non-preloaded datbases + UNZIP: foreach my $dbtype (keys %{$db_conf->{'databases'}}) { + if( !$db_conf->{'preloaded'}->{$dbtype} ) { + #unzip database files + $self->unzip_test_dbs($self->curr_dir . $zip); + last UNZIP; + } + } #connect to the database my $locator = "DBI:".$driver.":host=".$host.";port=".$port; my $db = DBI->connect($locator, $user, $pass, {RaiseError => 1}); unless($db) { - $self->warn("Can't connect to database $locator"); + warning("Can't connect to database $locator"); return; } #create a database for each database specified foreach my $dbtype (keys %{$db_conf->{'databases'}}) { - #create a unique random dbname - my $dbname = $self->_create_db_name($dbtype); + #don't create a database if there is a preloaded one specified + if( $db_conf->{'preloaded'}->{$dbtype} ) { + #copy the general config into a dbtype specific config + $self->{'conf'}->{$dbtype} = {}; + %{$self->{'conf'}->{$dbtype}} = %$db_conf; + $self->{'conf'}->{$dbtype}->{'module'} = $db_conf->{'databases'}->{$dbtype}; - print STDERR "\nCreating db $dbname"; + # it's not necessary to store the databases and zip bits of info + delete $self->{'conf'}->{$dbtype}->{'databases'}; + delete $self->{'conf'}->{$dbtype}->{'zip'}; - unless($db->do("CREATE DATABASE $dbname")) { - $self->warn("Could not create database [$dbname]"); - return; - } - #copy the general config into a dbtype specific config - $self->{'conf'}->{$dbtype} = {}; - %{$self->{'conf'}->{$dbtype}} = %$db_conf; - $self->{'conf'}->{$dbtype}->{'module'} = $db_conf->{'databases'}->{$dbtype}; + #store the temporary database name in the dbtype specific config + $self->{'conf'}->{$dbtype}->{'dbname'} = $db_conf->{'preloaded'}->{$dbtype}; + $self->{'conf'}->{$dbtype}->{'preloaded'} = 1; + } else { - # it's not necessary to store the databases and zip bits of info - delete $self->{'conf'}->{$dbtype}->{'databases'}; - delete $self->{'conf'}->{$dbtype}->{'zip'}; + #create a unique random dbname + my $dbname = $self->_create_db_name($dbtype); + + print STDERR "\nCreating db $dbname"; + + unless($db->do("CREATE DATABASE $dbname")) { + warning("Could not create database [$dbname]"); + return; + } + #copy the general config into a dbtype specific config + $self->{'conf'}->{$dbtype} = {}; + %{$self->{'conf'}->{$dbtype}} = %$db_conf; + $self->{'conf'}->{$dbtype}->{'module'} = $db_conf->{'databases'}->{$dbtype}; - #store the temporary database name in the dbtype specific config - $self->{'conf'}->{$dbtype}->{'dbname'} = $dbname; + # it's not necessary to store the databases and zip bits of info + delete $self->{'conf'}->{$dbtype}->{'databases'}; + delete $self->{'conf'}->{$dbtype}->{'preloaded'}; + delete $self->{'conf'}->{$dbtype}->{'zip'}; - $db->do("use $dbname"); - - #load the database with data - my $dir = $self->curr_dir . "$DUMP_DIR/".$self->species."/$dbtype"; - local *DIR; - unless(opendir(DIR, $dir)) { - $self->warn("could not open dump directory '$dir'"); - return; - } + #store the temporary database name in the dbtype specific config + $self->{'conf'}->{$dbtype}->{'dbname'} = $dbname; - my @files = readdir DIR; + $db->do("use $dbname"); + + #load the database with data + my $dir = $self->curr_dir . "$DUMP_DIR/".$self->species."/$dbtype"; + local *DIR; - local *FILE; + unless(opendir(DIR, $dir)) { + warning("could not open dump directory '$dir'"); + return; + } - #read in table creat statements from *.sql files and process them with DBI + my @files = readdir DIR; - foreach my $sql_file (grep /\.sql$/, @files) { + local *FILE; - $sql_file = "$dir/$sql_file"; + #read in table creat statements from *.sql files and process them with DBI - unless(-f $sql_file && -r $sql_file) { - $self->warn("could not read SQL file '$sql_file'\n"); - next; - } + foreach my $sql_file (grep /\.sql$/, @files) { + + $sql_file = "$dir/$sql_file"; + + unless(-f $sql_file && -r $sql_file) { + warning("could not read SQL file '$sql_file'\n"); + next; + } - open(FILE, $sql_file); + open(FILE, $sql_file); + + my $sql_com =''; + + while (<FILE>) { + next if ( /^#/ ); # ignore comments + next unless ( /\S/ ); # ignore lines of white spaces - my $sql_com =''; + $sql_com .= $_; + } + $sql_com =~ s/;$//; # chop off the last ; - while (<FILE>) { - next if ( /^#/ ); # ignore comments - next unless ( /\S/ ); # ignore lines of white spaces + $db->do($sql_com); - $sql_com .= $_; - } - $sql_com =~ s/;$//; # chop off the last ; + close FILE; - $db->do($sql_com); + #import data from the txt files of the same name + $sql_file =~ /.*\/(.*)\.sql/; + my $tablename = $1; - close FILE; + (my $txt_file = $sql_file) =~ s/\.sql$/\.txt/; - #import data from the txt files of the same name - $sql_file =~ /.*\/(.*)\.sql/; - my $tablename = $1; + unless(-f $txt_file && -r $txt_file) { + warning("could not read data file '$txt_file'\n"); + next; + } - (my $txt_file = $sql_file) =~ s/\.sql$/\.txt/; + $db->do( "load data local infile '$txt_file' into table $tablename" ); - unless(-f $txt_file && -r $txt_file) { - $self->warn("could not read data file '$txt_file'\n"); - next; } - - $db->do( "load data local infile '$txt_file' into table $tablename" ); - } - } print STDERR "\n"; - closedir DIR; - - $db->disconnect; + closedir DIR; + $db->disconnect; + } } @@ -282,16 +307,16 @@ sub unzip_test_dbs { my ($self, $zipfile) = @_; if (-e $self->curr_dir . $DUMP_DIR) { - $self->warn("Test genome dbs already unpacked\n"); + warning("Test genome dbs already unpacked\n"); return; } unless($zipfile) { - $self->throw("zipfile argument is required\n"); + throw("zipfile argument is required\n"); } unless(-f $zipfile) { - $self->warn("zipfile could not be found\n"); + warning("zipfile could not be found\n"); return; } @@ -311,7 +336,7 @@ sub get_DBAdaptor { } unless($self->{'db_adaptors'}->{$type}) { - $self->warn("dbadaptor of type $type is not available\n"); + warning("dbadaptor of type $type is not available\n"); return undef; } @@ -342,7 +367,7 @@ sub get_DBAdaptor { sub hide { my ($self, $dbtype, @tables) = @_; - + unless($dbtype && @tables) { die("dbtype and table args must be defined\n"); } @@ -354,44 +379,27 @@ sub hide { } foreach my $table (@tables) { + if($self->{'conf'}->{$dbtype}->{'hidden'}->{$table}) { - $self->warn("table '$table' is already hidden and cannot be hidden again\n"); + warning("table '$table' is already hidden and cannot be hidden again\n"); next; } my $hidden_name = "_hidden_$table"; - #do some table renaming sql - my $sth = $adaptor->prepare("alter table $table rename $hidden_name"); - - $sth->execute; - - #reload the old table from its schema file - my $schema_file = $self->curr_dir . "$DUMP_DIR/" . $self->species . "/$dbtype/$table.sql"; - - local *SCHEMA_FILE; - - unless(-f $schema_file && -e $schema_file && - open (SCHEMA_FILE,$schema_file) ) { - #rename the table back - $sth = $adaptor->prepare("alter table $hidden_name rename $table"); - $sth->execute; - $self->warn("could not read schema file '$schema_file' for $dbtype $table" . - ". table could not be hidden"); - next; - } - - #read all the lines from the schema definition - my @lines = <SCHEMA_FILE>; - my $sql = join ' ', @lines; + #copy contents of table into a temp table - $sql =~ s/;\s*$//; + my $sth = + $adaptor->prepare("CREATE TABLE $hidden_name " . + "SELECT * FROM $table"); - close SCHEMA_FILE; + $sth->execute(); + $sth->finish(); - #presumably create the **empty** table - $sth = $adaptor->prepare($sql); - $sth->execute; + #delete the contents of the original table + $sth = $adaptor->prepare("DELETE FROM $table"); + $sth->execute(); + $sth->finish(); #update the hidden table config $self->{'conf'}->{$dbtype}->{'hidden'}->{$table} = $hidden_name; @@ -419,8 +427,8 @@ sub hide { sub restore { my ($self, $dbtype, @tables) = @_; - - unless($dbtype) { + + if(!$dbtype) { #restore all of the tables in every dbtype foreach my $dbtype (keys %{$self->{'conf'}}) { @@ -428,7 +436,7 @@ sub restore { } #lose the hidden table details -# delete $self->{'conf'}->{'hidden'}; + delete $self->{'conf'}->{'hidden'}; return; } @@ -437,8 +445,8 @@ sub restore { unless($adaptor) { die "Adaptor for $dbtype is not available"; } - - unless(@tables) { + + if(!@tables) { #restore all of the tables for this db @tables = keys %{$self->{'conf'}->{$dbtype}->{'hidden'}}; } @@ -446,18 +454,25 @@ sub restore { foreach my $table (@tables) { my $hidden_name = $self->{'conf'}->{$dbtype}->{'hidden'}->{$table}; - #drop existing table - my $sth = $adaptor->prepare("drop table $table"); - $sth->execute; - - #rename hidden table - $sth = $adaptor->prepare("alter table $hidden_name rename $table"); - $sth->execute; + #delete current contents of table + my $sth = $adaptor->prepare("delete from $table"); + $sth->execute(); + $sth->finish(); + + #copy contents of tmp table back into main table + $sth = $adaptor->prepare("insert into $table " . + "select * from $hidden_name"); + $sth->execute(); + $sth->finish(); + + #drop temp table + $sth = $adaptor->prepare("drop table $hidden_name"); + $sth->execute(); + $sth->finish(); #delete value from hidden table config delete $self->{'conf'}->{$dbtype}->{'hidden'}->{$table}; } - } =head2 save @@ -502,11 +517,12 @@ sub save { $hidden_name = "_hidden_$table"; #copy the data from the hidden table into the new table - my $sth = $adaptor->prepare("insert into $table select * from $hidden_name"); + my $sth = $adaptor->prepare("insert into $table " . + "select * from $hidden_name"); $sth->execute; } else { - $self->warn("hidden table '$hidden_name' does not exist so saving is not possible\n"); + warning("hidden table '$hidden_name' does not exist so saving is not possible\n"); } } } @@ -514,7 +530,7 @@ sub save { sub compare { my ($self, $dbtype, $table) = @_; - $self->warn("save method not yet implemented\n"); + warning("save method not yet implemented\n"); } @@ -585,6 +601,9 @@ sub cleanup { my $driver = $db_conf->{'driver'}; my $dbname = $db_conf->{'dbname'}; + if( $db_conf->{'preloaded'} ) { + next; + } #connect to the database my $locator = "DBI:".$driver.":host=".$host.";port=".$port; @@ -646,6 +665,9 @@ sub DESTROY { } else { #we are runnning a stand-alone test, cleanup created databases print STDERR "\nCleaning up....\n"; + #restore database state since we may not actually delete it in the + #cleanup - it may be defined as a preloaded db + $self->restore; $self->cleanup; } } diff --git a/modules/t/argument.t b/modules/t/argument.t new file mode 100644 index 0000000000..0be78206a5 --- /dev/null +++ b/modules/t/argument.t @@ -0,0 +1,25 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 3; +} + +use TestUtils qw( debug ); + +use Bio::EnsEMBL::Utils::Argument qw(rearrange); + +our $verbose= 0; + +my @args = ('-TWO' => 2, + '-ONE' => 1, + '-THREE' => 3); + +my ($one, $two, $three) = rearrange(['ONE','TWO','THREE'],@args); + +ok($one == 1); +ok($two == 2); +ok($three == 3); diff --git a/modules/t/assemblyException.t b/modules/t/assemblyException.t new file mode 100644 index 0000000000..8a0ae822fc --- /dev/null +++ b/modules/t/assemblyException.t @@ -0,0 +1,136 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test; + plan tests => 7; +} + + +use MultiTestDB; + +use Bio::EnsEMBL::DnaDnaAlignFeature; +use TestUtils qw(test_getter_setter debug); + +our $verbose = 0; + +my $multi = MultiTestDB->new(); +ok(1); + +my $db = $multi->get_DBAdaptor('core'); +my $sfa = $db->get_SimpleFeatureAdaptor(); +my $slice_adaptor = $db->get_SliceAdaptor(); + +##chromosome Y is a fake 'PAR' linked to chromosome 20 +my $slice = $slice_adaptor->fetch_by_region('chromosome', 'Y',8e6,13e6); +my $feats = $sfa->fetch_all_by_Slice($slice); +debug("Got " . scalar(@$feats)); +ok( @$feats ==58 ); + +print_features($feats); + + +#HAP_1 is a fake haplotype on chromosome 20 +$slice = $slice_adaptor->fetch_by_region('chromosome', '20_HAP1', + 30_399_998,30_600_002); +my $org_slice = $slice_adaptor->fetch_by_region('chromosome', '20', + 30_430_000,30_500_000 ); + + +$feats = $sfa->fetch_all_by_Slice($slice); + +debug("Got " . scalar(@$feats)); +ok( @$feats == 9 ); + +print_features($feats); + +$multi->hide( "core", "simple_feature" ); +$multi->save( "core", "meta_coord" ); + +for my $f ( @$feats ) { + $f->dbID( undef ); + $f->adaptor( undef ); + $sfa->store( $f ); + + $f->dbID( undef ); + $f->adaptor( undef ); + $f->slice( $org_slice ); + $sfa->store( $f ); + +} + + +$slice = $slice_adaptor->fetch_by_region('chromosome', '20_HAP1', + 30_400_000,30_600_000); +$feats = $sfa->fetch_all_by_Slice( $slice ); + +debug( "After storing retrieval" ); +print_features($feats); +ok(@$feats == 14); + + + +# +# sequence getting tests +# + +my $hap_slice = $slice_adaptor->fetch_by_region('chromosome', '20_HAP1', + 30_400_000,30_700_000 ); + +$org_slice = $slice_adaptor->fetch_by_region('chromosome', '20', + 30_400_000,30_800_000 ); + +my ( $fhs, $bhs, $fos, $bos ); + +debug( "Front hap seq: ".($fhs = $hap_slice->subseq( 99_991, 100_000 ))); +debug( "Back hap seq: ".($bhs = $hap_slice->subseq( 200_001, 200_010 ))); +debug( "Front org seq: ".( $fos = $org_slice->subseq( 99_991, 100_000 ))); +debug( "Back org seq: ".( $bos = $org_slice->subseq( 300_001, 300_010 ))); + +ok( $fhs eq $fos ); +ok( $bhs eq $bos ); + + +$slice = $slice_adaptor->fetch_by_region('chromosome', '20_HAP1', + 30_499_998,30_500_002); + +debug($slice->seq); +ok( $slice->seq() eq "GTNNN" ); + +$multi->restore(); + + +#try projecting a hap slice to the contig coordinate system +debug("Org slice projection"); +my $projection = $org_slice->project('contig'); +print_projection($projection); + +debug("Hap slice projection"); +$projection = $hap_slice->project('contig'); +print_projection($projection); + + +sub print_features { + return if(!$verbose); + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my $seqname = $f->slice->seq_region_name(); + my $analysis = $f->analysis->logic_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '.$f->score() ." ($analysis) "); + } else { + debug('UNDEF'); + } + } +} + + + +sub print_projection { + my $proj = shift; + foreach my $seg (@$proj) { + my ($start, $end, $seq_reg) = ($seg->[0],$seg->[1],$seg->[2]->seq_region_name()); + debug("[$start-$end] $seq_reg"); + } +} diff --git a/modules/t/assemblyExceptionFeature.t b/modules/t/assemblyExceptionFeature.t new file mode 100644 index 0000000000..0428bff67f --- /dev/null +++ b/modules/t/assemblyExceptionFeature.t @@ -0,0 +1,63 @@ +use strict; + +use lib 't'; +use TestUtils qw(test_getter_setter debug); + +BEGIN { $| = 1; + use Test; + plan tests => 8; +} + +use MultiTestDB; +use Bio::EnsEMBL::AssemblyExceptionFeature; + + +our $verbose = 0; + +my $multi = MultiTestDB->new; + +# get a core DBAdaptor +# +my $dba = $multi->get_DBAdaptor("core"); +my $aefa = $dba->get_AssemblyExceptionFeatureAdaptor(); +ok($aefa); + +# +# 1 create a new AssemblyExceptionFeature +# +my $aef = new Bio::EnsEMBL::AssemblyExceptionFeature; +ok($aef); + +# +# test the basic getter and setters +# + +# start +ok(test_getter_setter($aef,'start',10)); + +# end +ok(test_getter_setter($aef,'end',14)); + +# type +ok(test_getter_setter($aef,'type', 'HAP')); + +# check adaptor attaching +$aef->adaptor($aefa); +ok($aef->adaptor->isa('Bio::EnsEMBL::DBSQL::AssemblyExceptionFeatureAdaptor')); + +# fetch all +my $chr_slice = $dba->get_SliceAdaptor->fetch_by_region('chromosome', + '20_HAP1'); +my @features = @{$aefa->fetch_all_by_Slice($chr_slice)}; + +ok(@features); +foreach my $f (@features) { + debug( "Feature: " . $f->slice->seq_region_name . " " . + $f->start . " " . $f->end . " " . $f->type); + my $as = $f->alternate_slice(); + debug(" Alternate slice: " . $as->seq_region_name . " " . + $as->start . " " . $as->end); +} + +my ($f) = @features; +ok($f->display_id eq $f->alternate_slice->seq_region_name); diff --git a/modules/t/assemblyMapper.t b/modules/t/assemblyMapper.t new file mode 100644 index 0000000000..244f4d47ec --- /dev/null +++ b/modules/t/assemblyMapper.t @@ -0,0 +1,113 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 9; +} + +use MultiTestDB; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + +my $multi = MultiTestDB->new(); +my $db = $multi->get_DBAdaptor( 'core' ); + +# +# 1 Test AssemblyMapperAdaptor constructor +# +my $asma = $db->get_AssemblyMapperAdaptor(); + + +ok($asma && $asma->isa('Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor')); + + +# +# 2 Test fetch_by_CoordSystems +# + +my $csa = $db->get_CoordSystemAdaptor(); +my $ctg_cs = $csa->fetch_by_name('contig'); +my $chr_cs = $csa->fetch_by_name('chromosome'); +my $cln_cs = $csa->fetch_by_name('clone'); + +my $asm_mapper = $asma->fetch_by_CoordSystems($ctg_cs, $chr_cs); + +ok($asm_mapper && $asm_mapper->isa('Bio::EnsEMBL::AssemblyMapper')); + + +# +# test db has chr 20 (50KB -> 62MB) +# + +# +# 3 Test map +# + +my @coords = $asm_mapper->map('20', 500_001, 60_000_000, 1, $chr_cs); +ok(@coords); +print_coords(@coords); + + +@coords = $asm_mapper->map('AL359765.6.1.13780', 1, 13780, 1, $ctg_cs); +ok(@coords); +print_coords(@coords); + +my $cln_mapper = $asma->fetch_by_CoordSystems($cln_cs, $ctg_cs); +@coords = $cln_mapper->map('AL359765.6', 1, 20_000, 1, $cln_cs); +ok(@coords); +print_coords(@coords); + + +# +# Test list_seq_regions +# + +my @seq_regions = + $asm_mapper->list_seq_regions('20', 500_001, 60_000_000, $chr_cs); +ok(@seq_regions); +my $str = join("\n", "----------", @seq_regions); +debug("$str\n"); + +@seq_regions = + $asm_mapper->list_seq_regions('AL359765.6.1.13780', 1, 13780, $ctg_cs); +ok(@seq_regions); +$str = join("\n", "----------", @seq_regions); +debug("$str\n"); + + +# +# Test list_seq_ids +# + + +my @seq_ids = + $asm_mapper->list_ids('20', 500_001, 60_000_000, $chr_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + +@seq_ids = + $asm_mapper->list_ids('AL359765.6.1.13780', 1, 13780, $ctg_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + + + +sub print_coords { + my @coord_list = @_; + + return if(!$verbose); + + foreach my $coord (@coord_list) { + if($coord->isa('Bio::EnsEMBL::Mapper::Gap')) { + debug("GAP"); + next; + } + debug($coord->id()."\t". $coord->start()."-".$coord->end(). + " (".$coord->strand.")"); + } +} + diff --git a/modules/t/canonicalDBAdaptor.t b/modules/t/canonicalDBAdaptor.t index f67e67bd3f..02414adac4 100644 --- a/modules/t/canonicalDBAdaptor.t +++ b/modules/t/canonicalDBAdaptor.t @@ -5,7 +5,7 @@ use lib 't'; BEGIN { $| = 1; use Test; - plan tests => 41; + plan tests => 38; } @@ -35,12 +35,12 @@ $test_adaptor = $db->get_QtlAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::Map::DBSQL::QtlAdaptor")); $test_adaptor = $db->get_ProteinFeatureAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor")); -$test_adaptor = $db->get_ProteinAdaptor(); -ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::ProteinAdaptor")); +#$test_adaptor = $db->get_ProteinAdaptor(); +#ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::ProteinAdaptor")); $test_adaptor = $db->get_MapFragAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::MapFragAdaptor")); -$test_adaptor = $db->get_CloneAdaptor(); -ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::CloneAdaptor")); +#$test_adaptor = $db->get_CloneAdaptor(); +#ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::CloneAdaptor")); $test_adaptor = $db->get_PredictionTranscriptAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::PredictionTranscriptAdaptor")); $test_adaptor = $db->get_SequenceAdaptor(); @@ -53,8 +53,8 @@ $test_adaptor = $db->get_TranscriptAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::TranscriptAdaptor")); $test_adaptor = $db->get_TranslationAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::TranslationAdaptor")); -$test_adaptor = $db->get_RawContigAdaptor(); -ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::RawContigAdaptor")); +#$test_adaptor = $db->get_RawContigAdaptor(); +#ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::RawContigAdaptor")); $test_adaptor = $db->get_SliceAdaptor(); ok($test_adaptor->isa("Bio::EnsEMBL::DBSQL::SliceAdaptor")); $test_adaptor = $db->get_AnalysisAdaptor(); @@ -132,7 +132,7 @@ eval { my %generic_adpators = $db->get_GenericFeatureAdaptors("Mickey") }; ok($@); # Slice tests - should these go in slice.t? -my $slice = $db->get_SliceAdaptor()->fetch_by_chr_start_end('X', 1, 10000); +my $slice = $db->get_SliceAdaptor()->fetch_by_region('chromosome','X',1,10000); ok($slice); my %features = %{$slice->get_generic_features()}; diff --git a/modules/t/chainedAssemblyMapper.t b/modules/t/chainedAssemblyMapper.t new file mode 100644 index 0000000000..46c421fe13 --- /dev/null +++ b/modules/t/chainedAssemblyMapper.t @@ -0,0 +1,146 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 14; +} + +use MultiTestDB; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + +my $multi = MultiTestDB->new(); +my $db = $multi->get_DBAdaptor( 'core' ); + +# +# 1 Test AssemblyMapperAdaptor constructor +# +my $asma = $db->get_AssemblyMapperAdaptor(); + + +ok($asma && $asma->isa('Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor')); + + +# +# 2 Test fetch_by_CoordSystems +# + +my $csa = $db->get_CoordSystemAdaptor(); +my $chr_cs = $csa->fetch_by_name('chromosome'); +my $cln_cs = $csa->fetch_by_name('clone'); +my $sctg_cs = $csa->fetch_by_name('supercontig'); + +my $asm_mapper = $asma->fetch_by_CoordSystems($cln_cs, $chr_cs); + +ok($asm_mapper && $asm_mapper->isa('Bio::EnsEMBL::ChainedAssemblyMapper')); + +my $chr_sctg_mapper = $asma->fetch_by_CoordSystems($chr_cs, $sctg_cs); +ok($chr_sctg_mapper && + $chr_sctg_mapper->isa('Bio::EnsEMBL::ChainedAssemblyMapper')); + + + + +# +# test db has chr 20 (50KB -> 62MB) +# + +# +# 3 Test map +# + +my @coords = $asm_mapper->map('20', 500_001, 60_000_000, 1, $chr_cs); +ok(@coords); +debug("MAP 20->clone\n"); +print_coords(@coords); + +debug("MAP 'AL359765.6'->chromosome\n"); +@coords = $asm_mapper->map('AL359765.6', 1, 13780, 1, $cln_cs); +ok(@coords); +print_coords(@coords); + +debug("MAP 20->supercontig\n"); +@coords = $chr_sctg_mapper->map('20', 500_001, 60_000_000, 1, $chr_cs); +ok(@coords); +print_coords(@coords); + + +# +# Test list_seq_regions +# + +my @seq_regions = + $asm_mapper->list_seq_regions('20', 500_001, 60_000_000, $chr_cs); +ok(@seq_regions); +my $str = join("\n", "----------", @seq_regions); +debug("$str\n"); + +@seq_regions = + $asm_mapper->list_seq_regions('AL359765.6', 1, 13780, $cln_cs); +ok(@seq_regions); +$str = join("\n", "----------", @seq_regions); +debug("$str\n"); + +@seq_regions = + $chr_sctg_mapper->list_seq_regions('NT_028392',600_000, 1_000_000, $sctg_cs); +ok(@seq_regions); +$str = join("\n", "----------", @seq_regions); +debug("$str\n"); + + +@seq_regions = + $chr_sctg_mapper->list_seq_regions('20', 30_000_000, 31_000_000, $chr_cs); +ok(@seq_regions); +$str = join("\n", "----------", @seq_regions); +debug("$str\n"); + + +# +# Test list_seq_ids +# + + +my @seq_ids = + $asm_mapper->list_ids('20', 500_001, 60_000_000, $chr_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + +@seq_ids = + $asm_mapper->list_ids('AL359765.6', 1, 13780, $cln_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + +@seq_ids = + $asm_mapper->list_ids('AL359765.6', 1, 13780, $cln_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + +@seq_ids = + $chr_sctg_mapper->list_ids('20', 30_000_000, 31_000_000, $chr_cs); +ok(@seq_ids); +$str = join("\n", "----------", @seq_ids); +debug("$str\n"); + + + + +sub print_coords { + my @coord_list = @_; + + return if(!$verbose); + + foreach my $coord (@coord_list) { + if($coord->isa('Bio::EnsEMBL::Mapper::Gap')) { + debug("GAP"); + next; + } + debug($coord->id()."\t". $coord->start()."-".$coord->end(). + " (".$coord->strand.")"); + } +} + diff --git a/modules/t/chromosome.t b/modules/t/chromosome.t index 1962120fd1..f8f2687914 100644 --- a/modules/t/chromosome.t +++ b/modules/t/chromosome.t @@ -5,15 +5,27 @@ use lib 't'; BEGIN { $| = 1; use Test; - plan tests => 8; + plan tests => 5; } use MultiTestDB; use TestUtils qw(debug test_getter_setter); + +use Bio::EnsEMBL::Utils::Exception qw(verbose); use Bio::EnsEMBL::Chromosome; +###################################################################### +# +# Chromosome is a deprecated class but needed for backwards +# compatibility. These tests ensure that it actually works, +# but verbosity is turned off to avoid all of the deprecated warnings +# +####################################################################### + +verbose(-1); + # #1 TEST - Chromosome Compiles # @@ -30,7 +42,7 @@ my $db = $multi_db->get_DBAdaptor('core'); my $ca = $db->get_ChromosomeAdaptor; # -#2-8 Chromosome constructor +# Chromosome constructor # my $chromosome = Bio::EnsEMBL::Chromosome->new (-chr_name => $CHR, @@ -39,15 +51,9 @@ my $chromosome = Bio::EnsEMBL::Chromosome->new -length => $LENGTH); ok($chromosome->isa('Bio::EnsEMBL::Chromosome')); -ok($chromosome->length == $LENGTH); -ok($chromosome->dbID == $DBID); ok($chromosome->adaptor == $ca); - -# -# 9-14 getter /setters -# -ok(test_getter_setter($chromosome, 'chr_name', 'Y')); -ok(test_getter_setter($chromosome, 'dbID', 321)); -ok(test_getter_setter($chromosome, 'length', 123_000_000)); +ok($chromosome->length()); +ok($chromosome->name()); +verbose(0); \ No newline at end of file diff --git a/modules/t/clone.t b/modules/t/clone.t index 0a90ff9995..a3b175ddfc 100644 --- a/modules/t/clone.t +++ b/modules/t/clone.t @@ -2,13 +2,25 @@ use lib 't'; use Test; use strict; -BEGIN { $| = 1; plan tests => 24;} +BEGIN { $| = 1; plan tests => 6;} use MultiTestDB; use Bio::Seq; use Bio::EnsEMBL::RawContig; use Bio::EnsEMBL::Clone; +use Bio::EnsEMBL::Utils::Exception qw(verbose); + +###################################################################### +# +# Clone is a deprecated class but needed for backwards +# compatibility. These tests ensure that it actually works, +# but verbosity is turned off to avoid all of the deprecated warnings +# +####################################################################### + +verbose(-1); + ok(1); # Database will be dropped when this @@ -18,80 +30,82 @@ my $multi = MultiTestDB->new; ok($multi); # -# get a core DBAdaptor -# +## get a core DBAdaptor +## my $dba = $multi->get_DBAdaptor("core"); -ok($dba); -my $clone = Bio::EnsEMBL::Clone->new(); -ok($clone); - +#ok($dba); -# -# load the clone with some data -# -$clone->id('dummy_clone'); -$clone->dbID(24); -$clone->embl_id('dummy_clone'); -$clone->embl_version(1); -$clone->embl_id(42); -$clone->version(1); -$clone->htg_phase(3); -$clone->created('2002-11-08 12:00:00'); -$clone->modified('2002-11-08 13:00:00'); +#my $clone = Bio::EnsEMBL::Clone->new(); +#ok($clone); + + +## +## load the clone with some data +## + +#$clone->id('dummy_clone'); +#$clone->dbID(24); +#$clone->embl_id('dummy_clone'); +#$clone->embl_version(1); +#$clone->embl_id(42); +#$clone->version(1); +#$clone->htg_phase(3); +#$clone->created('2002-11-08 12:00:00'); +#$clone->modified('2002-11-08 13:00:00'); -ok($clone); +#ok($clone); -# -# create a dummy seq -# -my $seq = Bio::Seq->new(-seq => 'ATGCAGCTAGCATCGATGACATCG', - -id => 'dummy_contig', - -accession => 'dummy_contig'); -ok($seq); +## +## create a dummy seq +## +#my $seq = Bio::Seq->new(-seq => 'ATGCAGCTAGCATCGATGACATCG', +# -id => 'dummy_contig', +# -accession => 'dummy_contig'); +#ok($seq); -my $contig1 = Bio::EnsEMBL::RawContig->new(); +#my $contig1 = Bio::EnsEMBL::RawContig->new(); -my $name = 'dummy_contig'; -$contig1->id($name); -$contig1->embl_offset(0); -$contig1->seq($seq); -ok($contig1); +#my $name = 'dummy_contig'; +#$contig1->id($name); +#$contig1->embl_offset(0); +#$contig1->seq($seq); +#ok($contig1); -# -# add the contig to the clone -# -$clone->add_Contig($contig1); -ok($clone); +## +## add the contig to the clone +## +#$clone->add_Contig($contig1); +#ok($clone); -# -# create and add a 2nd contig -# -my $contig2 = Bio::EnsEMBL::RawContig->new(); -my $name2 = 'dummy_contig2'; -$contig2->id($name2); -$contig2->embl_offset(0); -$contig2->seq($seq); +## +## create and add a 2nd contig +## +#my $contig2 = Bio::EnsEMBL::RawContig->new(); +#my $name2 = 'dummy_contig2'; +#$contig2->id($name2); +#$contig2->embl_offset(0); +#$contig2->seq($seq); -$clone->add_Contig($contig2); -ok($clone); +#$clone->add_Contig($contig2); +#ok($clone); -# -# now retrieve the contigs -# -my $contigs = $clone->get_all_Contigs; -ok(scalar(@$contigs) == 2); +## +## now retrieve the contigs +## +#my $contigs = $clone->get_all_Contigs; +#ok(scalar(@$contigs) == 2); -# -# now let's get a real clone from the test db +## +## now let's get a real clone from the test db # my $clone_adaptor = $dba->get_CloneAdaptor; ok($clone_adaptor); @@ -104,117 +118,113 @@ ok($real_clone); # # get all the contigs on this clone # -$contigs = $real_clone->get_all_Contigs; +my $contigs = $real_clone->get_all_Contigs; ok(scalar(@$contigs) == 1); # # and get all the genes # -my $genes = $real_clone->get_all_Genes; -ok(scalar(@$genes) == 5); +#my $genes = $real_clone->get_all_Genes; +#ok(scalar(@$genes) == 5); + + +## +## to test the delete method we need to save the tables that we delete from +## + +#$multi->save("core","contig","clone","dna","repeat_feature","simple_feature", +# "prediction_transcript","protein_align_feature","dna_align_feature"); + +## +## do the deletion +## +#$clone_adaptor->remove($real_clone); + +## +## check the clones +## +#my $sth = $dba->prepare("select * from clone"); +#$sth->execute; +##print STDERR "Num clones " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 11); + +## +## check the contigs +##$sth = $dba->prepare("select * from contig"); +#$sth->execute; +##print STDERR "Num contigs " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 11); + +## +## check the simple features +## +#$sth = $dba->prepare("select * from simple_feature"); +#$sth->execute; +##print STDERR "Num simple_features " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 116); + +## +## check the repeat features +## +#$sth = $dba->prepare("select * from repeat_feature"); +#$sth->execute; +##print STDERR "Num repeat_features " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 1937); + +## +## check the protein_align_features +## +#$sth = $dba->prepare("select * from protein_align_feature"); +#$sth->execute; +##print STDERR "Num protein_align_features " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 4727); + +## +## check the protein_align_features +## +#$sth = $dba->prepare("select * from dna_align_feature"); +#$sth->execute; +##print STDERR "Num dna_align_features " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 15525); + +## +## check the prediction_transcripts +## +#$sth = $dba->prepare("select * from prediction_transcript"); +#$sth->execute; +##print STDERR "Num dna_align_features " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 161); + + +## +## check the dna +## +#$sth = $dba->prepare("select * from dna"); +#$sth->execute; +##print STDERR "Num dna records " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 11); + + +## restore the tables for the next test +#$multi->restore("core","contig","clone","dna","repeat_feature","simple_feature", +# "prediction_transcript","protein_align_feature","dna_align_feature"); + + +## +## just a quick check to see whether the restore has worked +## +#$sth = $dba->prepare("select * from contig"); +#$sth->execute; +#ok(scalar($sth->rows) == 12); -# -# to test the delete method we need to save the tables that we delete from -# - -$multi->save("core","contig","clone","dna","repeat_feature","simple_feature", - "prediction_transcript","protein_align_feature","dna_align_feature"); - -# -# do the deletion -# -$clone_adaptor->remove($real_clone); - -# -# check the clones -# -my $sth = $dba->prepare("select * from clone"); -$sth->execute; -#print STDERR "Num clones " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 11); -$sth->finish(); - - -# -# check the contigs -$sth = $dba->prepare("select * from contig"); -$sth->execute; -#print STDERR "Num contigs " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 11); -$sth->finish(); - -# -# check the simple features -# -$sth = $dba->prepare("select * from simple_feature"); -$sth->execute; -#print STDERR "Num simple_features " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 116); -$sth->finish(); - -# -# check the repeat features -# -$sth = $dba->prepare("select * from repeat_feature"); -$sth->execute; -#print STDERR "Num repeat_features " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 1937); -$sth->finish(); - -# -# check the protein_align_features -# -$sth = $dba->prepare("select * from protein_align_feature"); -$sth->execute; -#print STDERR "Num protein_align_features " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 4727); -$sth->finish(); - -# -# check the protein_align_features -# -$sth = $dba->prepare("select * from dna_align_feature"); -$sth->execute; -#print STDERR "Num dna_align_features " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 15525); -$sth->finish(); - -# -# check the prediction_transcripts -# -$sth = $dba->prepare("select * from prediction_transcript"); -$sth->execute; -#print STDERR "Num dna_align_features " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 161); - - -# -# check the dna -# -$sth = $dba->prepare("select * from dna"); -$sth->execute; -#print STDERR "Num dna records " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 11); -$sth->finish(); - -# restore the tables for the next test -$multi->restore("core","contig","clone","dna","repeat_feature","simple_feature", - "prediction_transcript","protein_align_feature","dna_align_feature"); - - -# -# just a quick check to see whether the restore has worked -# -$sth = $dba->prepare("select * from contig"); -$sth->execute; -ok(scalar($sth->rows) == 12); -$sth->finish(); - # # This is a snpview method # my $raw_contig = undef; $raw_contig = $real_clone->get_RawContig_by_position(42); ok($raw_contig); + + +verbose(0); \ No newline at end of file diff --git a/modules/t/compressedSequenceAdaptor.t b/modules/t/compressedSequenceAdaptor.t new file mode 100644 index 0000000000..0cc46276d7 --- /dev/null +++ b/modules/t/compressedSequenceAdaptor.t @@ -0,0 +1,73 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 3; +} + +use TestUtils qw( debug ); + +use MultiTestDB; +use Bio::EnsEMBL::Slice; + +our $verbose= 0; + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + +# +# Test fetch_by_Slice_start_end_strand +# +my $slice_adaptor = $db->get_SliceAdaptor; +my $seq_adaptor = $db->get_CompressedSequenceAdaptor(); + + +my $seq = 'ACTGAAANTTANNNATYTTTAAATTACCC'; +my $len = length($seq); + +my $contig_cs = $db->get_CoordSystemAdaptor->fetch_by_name('contig'); + +$multi_db->save('core', 'dnac', 'seq_region'); + +#we need to create a fake seq region because the length of the seq region +#needs to match the length of the sequence we are inserting. Otherwise +#we can get weird padding at the end due to the last byte being not +#fully packed but still labelled as non-gap +my $sth = + $db->prepare('INSERT INTO seq_region (name, length, coord_system_id) ' . + 'VALUES (?,?,?)'); +$sth->execute('testfrag', $len,$contig_cs->dbID); + + +my $slice = $slice_adaptor->fetch_by_region('contig', 'testfrag'); + +my $seq_region_id = $slice_adaptor->get_seq_region_id($slice); + + +debug("Storing sequence: $seq"); +$seq_adaptor->store($seq_region_id,$seq); + +ok(1); + +my $new_seq = ${$seq_adaptor->fetch_by_Slice_start_end_strand($slice, 1, + $len, 1)}; + +ok($seq eq $new_seq); + + +debug("Retrieved sequence: $seq"); + +my $flanking = 5; +$new_seq = ${$seq_adaptor->fetch_by_Slice_start_end_strand($slice, + 1-$flanking, + $len+$flanking, 1)}; + + +ok(('N' x $flanking) . $seq . ('N' x $flanking) eq $new_seq); + +debug("Retrieved sequence (with $flanking flanking): $new_seq"); + +$multi_db->restore('core', 'dnac', 'seq_region'); diff --git a/modules/t/coordSystem.t b/modules/t/coordSystem.t new file mode 100644 index 0000000000..a5c3eece97 --- /dev/null +++ b/modules/t/coordSystem.t @@ -0,0 +1,87 @@ +use strict; +use warnings; + +use lib 't'; +use Bio::EnsEMBL::CoordSystem; + +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; + +BEGIN { $| = 1; + use Test; + plan tests => 8; +} + + +my $name = 'chromosome'; +my $version = 'NCBI33'; +my $dbID = 1; +my $top_level = 1; +my $sequence_level = 0; +my $default = 1; + +# +# Test constructor +# +my $coord_system = Bio::EnsEMBL::CoordSystem->new + (-NAME => $name, + -VERSION => $version, + -DBID => $dbID, + -TOP_LEVEL => $top_level, + -SEQUENCE_LEVEL => $sequence_level, + -DEFAULT => 1); + + +ok($coord_system && $coord_system->isa('Bio::EnsEMBL::CoordSystem')); + + +# +# Test name() +# +ok($coord_system->name() eq $name); + +# +# Test version() +# +ok($coord_system->version() eq $version); + +# +# Test is_top_level() +# +ok($coord_system->is_top_level()); + +# +# Test is_sequence_level() +# +ok(!$coord_system->is_sequence_level()); + +# +# Test is_default() +# +ok($coord_system->is_default()); + + +# +# Test equals() +# + +my $coord_system2 = Bio::EnsEMBL::CoordSystem->new + (-NAME => $name, + -VERSION => $version, + -DBID => 123, + -TOP_LEVEL => $top_level); + +ok($coord_system->equals($coord_system2)); + +$coord_system2 = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI34', + -DBID => 123, + -TOP_LEVEL => $top_level); + +ok(!$coord_system->equals($coord_system2)); + + + + diff --git a/modules/t/coordSystemAdaptor.t b/modules/t/coordSystemAdaptor.t new file mode 100644 index 0000000000..f4722f7713 --- /dev/null +++ b/modules/t/coordSystemAdaptor.t @@ -0,0 +1,155 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 25; +} + +use MultiTestDB; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + +my $multi = MultiTestDB->new(); +my $db = $multi->get_DBAdaptor( 'core' ); + + +# +# Test constructor +# + +my $csa = $db->get_CoordSystemAdaptor(); + +ok($csa && $csa->isa('Bio::EnsEMBL::DBSQL::CoordSystemAdaptor')); + + +# +# Test fetch_by_name() +# + +my $cs = $csa->fetch_by_name('chromosome'); + +ok($cs->name eq 'chromosome'); +ok($cs->dbID()); +ok($cs->version eq 'NCBI33'); +ok($cs->is_top_level()); +ok(!$cs->is_sequence_level()); +ok($cs->is_default()); + + +# +# Test fetch_all_by_name +# +my @cs_list = @{$csa->fetch_all_by_name('chromosome')}; + +ok(@cs_list == 1); + +ok($cs_list[0]->equals($cs)); + + +# +# Test fetch_by_dbID() +# +$cs = $csa->fetch_by_dbID(3); + +ok($cs->name() eq 'clone'); +ok($cs->version() eq ''); + + + +# +# 11 Test fetch_top_level +# +$cs = $csa->fetch_top_level(); + +ok($cs->name eq 'chromosome'); + +# +# 12 Test fetch_all_top_level +# +($cs) = @{$csa->fetch_all_top_level()}; + +ok($cs->name eq 'chromosome'); + + +# +# 13-14 Test fetch_sequence_level +# +$cs = $csa->fetch_sequence_level(); + +ok($cs->name eq 'contig'); +ok($cs->is_sequence_level()); + + +# +# 15-16 Test get_mapping_path +# + +my $ctg_cs = $csa->fetch_by_name('contig'); +my $chr_cs = $csa->fetch_by_name('chromosome'); +my $cln_cs = $csa->fetch_by_name('clone'); + +my $path = $csa->get_mapping_path($ctg_cs, $chr_cs); + +ok(@$path == 2 && + $path->[0]->name() eq 'chromosome' && + $path->[1]->name() eq 'contig'); + +$path = $csa->get_mapping_path($chr_cs, $cln_cs); + + +ok(@$path == 3 && + (($path->[0]->name eq 'chromosome' && #there are 2 equally valid paths + $path->[1]->name eq 'contig' && + $path->[2]->name eq 'clone') + || + ($path->[0]->name eq 'clone' && + $path->[1]->name eq 'contig' && + $path->[2]->name eq 'chromosome')) + ); + +# +# Test store +# + +$multi->save('core', 'coord_system'); + +$cs = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI35', + -DEFAULT => 0, + -SEQUENCE_LEVEL => 0, + -TOP_LEVEL => 1); + +$csa->store($cs); + +ok($cs->adaptor == $csa); +ok($cs->dbID()); + +#now make sure we can retrieve this +$cs = $csa->fetch_by_name('chromosome', 'NCBI35'); +ok($cs->name eq 'chromosome'); +ok($cs->version eq 'NCBI35'); +ok(!$cs->is_default); +ok(!$cs->is_sequence_level); +ok($cs->is_top_level); + +my $sth = $db->prepare('SELECT attrib FROM coord_system ' . + 'WHERE name = ? and version = ?'); +$sth->execute('chromosome', 'NCBI35'); + +my ($attrib) = $sth->fetchrow_array(); +ok($attrib eq 'top_level'); +$sth->finish(); + +$multi->restore('core', 'coord_system'); + + + + + + + + + diff --git a/modules/t/dbConnection.t b/modules/t/dbConnection.t index 9001c08c14..453684b6fc 100644 --- a/modules/t/dbConnection.t +++ b/modules/t/dbConnection.t @@ -91,8 +91,6 @@ ok(test_getter_setter($dbc, 'db_handle', $db->db_handle)); my $sth = $dbc->prepare('SELECT * from gene limit 1'); $sth->execute; ok($sth->rows); -$sth->finish(); - # # 12 add_db_adaptor diff --git a/modules/t/dbEntries.t b/modules/t/dbEntries.t index b5be1473e2..60eb5617d7 100644 --- a/modules/t/dbEntries.t +++ b/modules/t/dbEntries.t @@ -4,14 +4,13 @@ use warnings; BEGIN { $| = 1; use Test; - plan tests => 14; + plan tests => 12; } use MultiTestDB; use TestUtils qw ( debug test_getter_setter ); use Bio::EnsEMBL::DBEntry; -use Bio::EnsEMBL::ProteinFeature; # switch on the debug prints @@ -102,33 +101,19 @@ my $goref = Bio::EnsEMBL::GoXref->new ); $goref->add_linkage_type( "IC" ); -my $analysis = Bio::EnsEMBL::Analysis->new - ( -logic_name => 'protmap', - -program => 'pmatch', - -database => 'pmatch' ); - - my $ident_xref = Bio::EnsEMBL::IdentityXref->new ( -primary_id => "1", -dbname => "SPTREMBL", -release => "1", - -display_id => "Ens related Ident", - -cigar_line => "10MDI2M3D2M3I5M", - -translation_start => 1, - -translation_end => 23, - -hit_start => 1, - -hit_end => 23, - -score => 20.0, - -evalue => 123, - -analysis => $analysis + -display_id => "Ens related Ident" ); $ident_xref->query_identity( 100 ); $ident_xref->target_identity( 95 ); -$multi->hide( "core", "object_xref", "xref", "identity_xref", "go_xref", "analysis" ); +$multi->hide( "core", "object_xref", "xref", "identity_xref", "go_xref" ); my $gene = $ga->fetch_by_dbID( $all_gene_ids->[0] ); @@ -137,8 +122,6 @@ my $tl = $tr->translation(); - - $dbEntryAdaptor->store( $xref, $gene, "Gene" ); $dbEntryAdaptor->store( $xref, $tr, "Transcript" ); $dbEntryAdaptor->store( $goref, $tl, "Translation" ); @@ -200,44 +183,11 @@ debug( "Number of identity_xrefs = $ident_count" ); ok( $ident_count == 2 ); -my $protein_feature = Bio::EnsEMBL::ProteinFeature->new - ( - -start => 1, - -end => 23, - -seqname => 'SP0001' - ); - -my $mapper = $ident_xref->get_mapper(); - -debug( "Mapper ".ref( $mapper ) ); - -my $copy_features = $ident_xref->transform_feature( $protein_feature ); - -for my $feat ( @$copy_features ) { - debug(join("\n", map({$_ ."->" . $feat->{$_} } keys %$feat) )); - debug( "------------"); -} - -# 4 M-sections in the xref make 4 mapped sections - -# -# 10 mapping features via alignment -# -ok( scalar( @$copy_features ) == 4 ); - -# 10M is the first matching section - -# -# 11 mapping first section to 1-10 -# -ok( $copy_features->[0]->start() == 1 && - $copy_features->[0]->end() == 10 ); - $multi->restore(); # -# 12-14 Test that external synonyms and go evidence tags are retrieved +# 10-12 Test that external synonyms and go evidence tags are retrieved # my $ta = $db->get_TranscriptAdaptor(); my $translation = $ta->fetch_by_dbID(21737)->translation; diff --git a/modules/t/densityFeature.t b/modules/t/densityFeature.t new file mode 100644 index 0000000000..680001c88f --- /dev/null +++ b/modules/t/densityFeature.t @@ -0,0 +1,54 @@ + +use lib 't'; + +use strict; +use warnings; + +use Bio::EnsEMBL::DensityFeature; +use Bio::EnsEMBL::Analysis; + +use TestUtils qw(debug test_getter_setter); + + +our $verbose = 0; #set to 1 to turn on debug printouts + + + +BEGIN { $| = 1; + use Test; + plan tests => 6; +} + +use TestUtils qw( debug ); + +my $analysis = Bio::EnsEMBL::Analysis->new(-DBID => 1, + -LOGIC_NAME => 'test'); + + +my $start = 10; +my $end = 102; +my $density_value = 123; + +my $df = Bio::EnsEMBL::DensityFeature->new + (-start => $start, + -end => $end, + -analysis => $analysis, + -density_value => $density_value); + +ok($df->start == $start && $df->analysis == $analysis && $df->end == $end); +ok($df->strand == 0); + +ok($df->density_value == $density_value); + +$df = Bio::EnsEMBL::DensityFeature->new_fast + ({'start' => $start, + 'end' => $end, + 'analysis' => $analysis, + 'density_value' => $density_value}); + +ok($df->start == $start && $df->analysis == $analysis && $df->end == $end); +ok($df->strand == 0); +ok($df->density_value == $density_value); + + + diff --git a/modules/t/densityFeatureAdaptor.t b/modules/t/densityFeatureAdaptor.t new file mode 100644 index 0000000000..52dac028b4 --- /dev/null +++ b/modules/t/densityFeatureAdaptor.t @@ -0,0 +1,105 @@ + +use strict; +use warnings; + +use Bio::EnsEMBL::Utils::Exception qw(verbose); +use TestUtils qw( debug ); +use MultiTestDB; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 11; +} + + + +our $verbose = 0; +verbose('WARNING'); + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + + +my $dfa = $db->get_DensityFeatureAdaptor(); + +ok(ref($dfa) && $dfa->isa('Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor')); + +my $slice_adaptor = $db->get_SliceAdaptor(); +my $slice = $slice_adaptor->fetch_by_region('chromosome', '20', 1, 600); + +my $dfs = $dfa->fetch_all_by_Slice($slice, 'SNPDensity'); +ok(@$dfs); +print_features($dfs); +$dfs = $dfa->fetch_all_by_Slice($slice, 'RepeatCoverage'); +ok(@$dfs); +print_features($dfs); + + +$dfs = $dfa->fetch_all_by_Slice($slice, 'SNPDensity', 10, 1); +ok(@$dfs); +print_features($dfs); +$dfs = $dfa->fetch_all_by_Slice($slice, 'RepeatCoverage', 10, 1); +ok(@$dfs); +print_features($dfs); + +$dfs = $dfa->fetch_all_by_Slice($slice, 'SNPDensity', 50, 1); +ok(@$dfs); +print_features($dfs); +$dfs = $dfa->fetch_all_by_Slice($slice, 'RepeatCoverage', 50, 1); +ok(@$dfs); +print_features($dfs); + +$dfs = $dfa->fetch_all_by_Slice($slice, 'SNPDensity', 2, 1); +ok(@$dfs); +print_features($dfs); +$dfs = $dfa->fetch_all_by_Slice($slice, 'RepeatCoverage', 2, 1); +ok(@$dfs); +print_features($dfs); + + + +$slice_adaptor->fetch_by_region('chromosome', '20', 50, 600); + +$dfs = $dfa->fetch_all_by_Slice($slice, 'SNPDensity', 50, 1); +ok(@$dfs); +print_features($dfs); +$dfs = $dfa->fetch_all_by_Slice($slice, 'RepeatCoverage', 50, 1); +ok(@$dfs); +print_features($dfs); + + + +# +# helper to draw an ascii representation of the density features +# +sub print_features { + my $features = shift; + + return if(!@$features); + + my $sum = 0; + my $length = 0; + my $type = $features->[0]->density_value_type(); + + debug("\n"); + foreach my $f (@$features) { + my $draw_width = 1; + my $density_value = $f->density_value(); + my $draw_height = int(0.75 * $density_value); + $sum += $density_value; + $length += $f->length(); + for(my $i = 0; $i < $draw_width; $i++) { + debug(('*'x$draw_height) . "($density_value)"); + } + } + my $avg = undef; + $avg = $sum/$length if($length < 0); + debug("Type=$type, Sum=$sum, Length=$length, Avg/Base=$sum"); +} + + + + + diff --git a/modules/t/dnaAlignFeatureAdaptor.t b/modules/t/dnaAlignFeatureAdaptor.t index f4100e0a52..293e054c24 100644 --- a/modules/t/dnaAlignFeatureAdaptor.t +++ b/modules/t/dnaAlignFeatureAdaptor.t @@ -1,12 +1,15 @@ use lib 't'; +use strict; BEGIN { $| = 1; use Test; - plan tests => 2; + plan tests => 23; } use MultiTestDB; + +use Bio::EnsEMBL::DnaDnaAlignFeature; use TestUtils qw(test_getter_setter debug); our $verbose = 0; @@ -22,3 +25,138 @@ debug("DnaAlignFeatureAdaptor->list_dbIDs"); my $ids = $dafa->list_dbIDs(); ok (@{$ids}); + +# +# Test retrieval via Slice +# + +my $feats; + +my $chr_slice = $db->get_SliceAdaptor->fetch_by_region('chromosome','20', + 30_500_000, 30_700_000); + +$feats = $dafa->fetch_all_by_Slice($chr_slice); +debug('---fetching by chromosomal slice---'); +debug("Got " . scalar(@$feats) . " features back"); +ok(@$feats == 6188); +print_features($feats); + + +my $ctg_slice; +$ctg_slice = $db->get_SliceAdaptor->fetch_by_region('contig', + 'AL031658.11.1.162976', + 1, + 50_000); +$feats = $dafa->fetch_all_by_Slice($ctg_slice); +debug('--- contig AL031658.11.1.162976 (1-50000) features ---'); +debug("Got " . scalar(@$feats)); +ok(@$feats == 709); +print_features($feats); + + +# +# Test fetch_by_dbID +# +my $feat = $dafa->fetch_by_dbID(22171863); +debug('--- fetching by dbID ---'); +ok($feat); +print_features([$feat]); + + +$feat = $feat->transform('supercontig'); +debug('--- transform to supercontig coords ---'); +ok($feat); +print_features([$feat]); + + +# +# Test fetch_by_Slice_and_pid +# +$feats = $dafa->fetch_all_by_Slice_and_pid($chr_slice, '90'); +debug('--- fetching by chr Slice and pid (90) ---'); +debug("Got " . scalar(@$feats)); +ok(@$feats == 452); +#print_features($feats); + +# +# Test store +# + +$multi->save('core', 'dna_align_feature'); + +my $analysis = $feat->analysis; +my $slice = + $db->get_SliceAdaptor->fetch_by_region('contig','AL031658.11.1.162976'); +my $start = 100; +my $end = 200; +my $strand = 1; +my $hstart = 10; +my $hend = 110; +my $hstrand = -1; +my $hseqname = 'test'; +my $score = 80; +my $percent_id = 90; +my $evalue = 23.2; +my $cigar_string = '100M'; + +$feat = Bio::EnsEMBL::DnaDnaAlignFeature->new + (-START => $start, + -END => $end, + -STRAND => $strand, + -SLICE => $slice, + -HSTART => $hstart, + -HEND => $hend, + -HSTRAND => $hstrand, + -HSEQNAME => $hseqname, + -CIGAR_STRING => '100M', + -PERCENT_ID => $percent_id, + -SCORE => $score, + -P_VALUE => $evalue, + -ANALYSIS => $analysis); + +ok(!$feat->is_stored($db)); + +$dafa->store($feat); + +ok($feat->is_stored($db)); + +my $dbID = $feat->dbID(); + +$feat = $dafa->fetch_by_dbID($dbID, 'contig'); + +ok($feat->dbID == $dbID); +ok($feat->start == $start); +ok($feat->end == $end); +ok($feat->strand == $strand); +ok($feat->slice->name eq $slice->name); +ok($feat->hstart == $hstart); +ok($feat->hend == $hend); +ok($feat->hstrand == $hstrand); +ok($feat->hseqname eq $hseqname); +ok($feat->cigar_string eq $cigar_string); +ok($feat->percent_id == $percent_id); +ok($feat->score == $score); +ok($feat->p_value == $evalue); +ok($feat->analysis->logic_name eq $analysis->logic_name); + +$multi->restore('core', 'dna_align_feature'); + + + + +sub print_features { + return if(!$verbose); + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my $seqname = $f->slice->seq_region_name(); + my $analysis = $f->analysis->logic_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '. $f->cigar_string . ' ' . + $f->hstart .'-'.$f->hend.' ('.$f->hstrand.')'.$f->score() . + " ($analysis) " . $f->percent_id); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/dnaDnaAlignFeature.t b/modules/t/dnaDnaAlignFeature.t index cec4c3be04..64ea7709d8 100644 --- a/modules/t/dnaDnaAlignFeature.t +++ b/modules/t/dnaDnaAlignFeature.t @@ -3,13 +3,14 @@ use lib 't'; BEGIN { $| = 1; use Test; - plan tests => 63; + plan tests => 14; } +use strict; + use MultiTestDB; use Bio::EnsEMBL::DnaDnaAlignFeature; -use Bio::EnsEMBL::SeqFeature; -use Bio::EnsEMBL::RawContig; +use Bio::EnsEMBL::FeaturePair; my($CHR, $START, $END) = ('20', 30_363_615, 30_475_000); @@ -25,63 +26,52 @@ my $db = $multi_db->get_DBAdaptor('core'); -my $slice = $db->get_SliceAdaptor->fetch_by_chr_start_end($CHR,$START,$END); +my $chr_slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + $CHR,$START,$END); + +my $ctg_slice = $db->get_SliceAdaptor->fetch_by_region('contig', + 'AL359765.6.1.13780'); -my $contig = new Bio::EnsEMBL::RawContig; -$contig->seq('ACTGACTG'); -$contig->name('bogus contig'); my @feats; -my $fp = new Bio::EnsEMBL::FeaturePair; -$fp->start(5); -$fp->end (7); -$fp->strand(1); -$fp->score(10); -$fp->contig($contig); -$fp->hstart(105); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); - -push(@feats,$fp); - - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start(10); -$fp->end (14); -$fp->strand(1); -$fp->score(10); -$fp->contig($contig); -$fp->seqname(1); - -$fp->hstart (108); -$fp->hend (112); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); +push @feats, Bio::EnsEMBL::FeaturePair->new + (-START => 5, + -END => 7, + -STRAND => 1, + -SCORE => 10, + -SLICE => $ctg_slice, + -HSTART => 105, + -HEND => 107, + -HSTRAND => 1, + -HSEQNAME => 'dummy-hid'); -# -# -# 2 Test DnaDnaAlignFeature::new(-features) -# -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf && $dnaf->validate); +push @feats, Bio::EnsEMBL::FeaturePair->new + (-start => 10, + -end => 14, + -strand => 1, + -score => 10, + -slice => $ctg_slice, + -hstart => 108, + -hend => 112, + -hstrand => 1, + -hseqname => 'dummy-hid'); # -# 3 Test DnaDnaAlignFeature::seqname # -ok($dnaf->seqname eq 'bogus contig'); +# Test DnaDnaAlignFeature::new(-features) +# +my $dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +ok(ref($dnaf) && $dnaf->isa('Bio::EnsEMBL::DnaDnaAlignFeature')); # -# 4 Test DnaDnaAlignFeature::hseqname +# Test DnaDnaAlignFeature::hseqname # ok($dnaf->hseqname eq 'dummy-hid'); - # # 5 Test DnaDnaAlignFeature::cigar_string # -ok($dnaf->cigar_string =~ '3M2I5M'); +ok($dnaf->cigar_string eq '3M2I5M'); # # 6-8 Test DnaDnaAlignFeature::reverse_complement @@ -89,9 +79,9 @@ ok($dnaf->cigar_string =~ '3M2I5M'); my $strand = $dnaf->strand; my $hstrand = $dnaf->hstrand; $dnaf->reverse_complement; -ok($dnaf->cigar_string =~ '5M2I3M'); +ok($dnaf->cigar_string eq '5M2I3M'); ok(($strand*-1) == $dnaf->strand); -ok(($hstrand*-1) == $dnaf->hstrand); +ok(($hstrand*-1) == $dnaf->hstrand); @@ -114,7 +104,7 @@ ok( scalar($dnaf->ungapped_features) == 2); # # 12 Test retrieval from database # -my $features = $slice->get_all_DnaAlignFeatures; +my $features = $chr_slice->get_all_DnaAlignFeatures; ok(scalar @$features); @@ -122,469 +112,469 @@ ok(scalar @$features); # 13 Test transformation to raw contig # my $f = $features->[0]; -my @fs = $f->transform; +my @fs = $f->transform('contig'); ok( scalar @fs ); # # 14 Test transformation back to slice # ($f) = @fs; -$f = $f->transform($slice); +$f = $f->transfer($chr_slice); ok($f); # # 15 Test transformation onto negative strand slice # -$f = $f->transform($slice->invert); +$f = $f->transfer($chr_slice->invert); ok($f); -# -# 16-21 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, +ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 2); -$fp->end ($CTG_BOUNDARY); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(105); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 7); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (112); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (115); -$fp->hend (119); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - -# -# 22-27 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, -ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 2); -$fp->end ($CTG_BOUNDARY); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (110); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 7); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (96); -$fp->hend (100); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -my @dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - -# -# 28-33 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, +ve hitstrand) -# -@feats = (); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 10); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (100); -$fp->hend (102); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 1); -$fp->end ($CTG_BOUNDARY + 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart (110); -$fp->hend (114); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - - -# -# 34-39 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, -ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (110); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 9); -$fp->end ($CTG_BOUNDARY - 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(96); -$fp->hend(100); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - -# -# -# Do the same tests again on the negative strand slice -# -# -$CTG_BOUNDARY = $slice->length - $CTG_BOUNDARY + 1; -$slice = $slice->invert; - -# -# 40-45 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, +ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 2); -$fp->end ($CTG_BOUNDARY); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(105); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 7); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (112); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (115); -$fp->hend (119); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - -# -# 46-51 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, -ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 2); -$fp->end ($CTG_BOUNDARY); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (110); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 7); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (96); -$fp->hend (100); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - -# -# 52-57 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, +ve hitstrand) -# -@feats = (); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 10); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (100); -$fp->hend (102); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 1); -$fp->end ($CTG_BOUNDARY + 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart (110); -$fp->hend (114); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - - -# -# 58-63 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, -ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 3); -$fp->end ($CTG_BOUNDARY + 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (108); -$fp->hend (110); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(103); -$fp->hend (107); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 9); -$fp->end ($CTG_BOUNDARY - 5); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart(96); -$fp->hend(100); -$fp->hstrand (-1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M2I5M2D5M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); +## +## 16-21 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, +ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 2); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(105); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 7); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (112); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (115); +#$fp->hend (119); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + +## +## 22-27 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, -ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 2); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (110); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 7); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (96); +#$fp->hend (100); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#my @dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + +## +## 28-33 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, +ve hitstrand) +## +#@feats = (); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 10); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (100); +#$fp->hend (102); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 1); +#$fp->end ($CTG_BOUNDARY + 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart (110); +#$fp->hend (114); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + + +## +## 34-39 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, -ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (110); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 9); +#$fp->end ($CTG_BOUNDARY - 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(96); +#$fp->hend(100); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + +## +## +## Do the same tests again on the negative strand slice +## +## +#$CTG_BOUNDARY = $slice->length - $CTG_BOUNDARY + 1; +#$slice = $slice->invert; + +## +## 40-45 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, +ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 2); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(105); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 7); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (112); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (115); +#$fp->hend (119); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + +## +## 46-51 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, -ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 2); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (110); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 7); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (96); +#$fp->hend (100); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + +## +## 52-57 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, +ve hitstrand) +## +#@feats = (); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 10); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (100); +#$fp->hend (102); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 1); +#$fp->end ($CTG_BOUNDARY + 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart (110); +#$fp->hend (114); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + + +## +## 58-63 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, -ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 3); +#$fp->end ($CTG_BOUNDARY + 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (108); +#$fp->hend (110); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(103); +#$fp->hend (107); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 9); +#$fp->end ($CTG_BOUNDARY - 5); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart(96); +#$fp->hend(100); +#$fp->hstrand (-1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaDnaAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M2I5M2D5M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); diff --git a/modules/t/dnaPepAlignFeature.t b/modules/t/dnaPepAlignFeature.t index b1d1ceb73b..7ff1a35370 100644 --- a/modules/t/dnaPepAlignFeature.t +++ b/modules/t/dnaPepAlignFeature.t @@ -1,15 +1,15 @@ use lib 't'; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 39; + plan tests => 14; } +use strict; + use MultiTestDB; use Bio::EnsEMBL::DnaPepAlignFeature; -use Bio::EnsEMBL::SeqFeature; -use Bio::EnsEMBL::RawContig; use TestUtils qw ( debug test_getter_setter ); @@ -30,63 +30,57 @@ my $db = $multi_db->get_DBAdaptor('core'); -my $slice = $db->get_SliceAdaptor->fetch_by_chr_start_end($CHR,$START,$END); +my $chr_slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + $CHR,$START,$END); -my $contig = new Bio::EnsEMBL::RawContig; -$contig->seq('ACTGACTG'); -$contig->name('bogus contig'); +my $ctg_slice = $db->get_SliceAdaptor->fetch_by_region('contig', + 'AL359765.6.1.13780'); my @feats; -my $fp = new Bio::EnsEMBL::FeaturePair; -$fp->start(5); -$fp->end (7); -$fp->strand(1); -$fp->score(10); -$fp->contig($contig); -$fp->hstart(105); -$fp->hend (105); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); - -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start(11); -$fp->end (16); -$fp->strand(1); -$fp->score(10); -$fp->contig($contig); -$fp->hstart (106); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); -# -# -# 2 Test DnaPepAlignFeature::new(-features) -# -$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); -ok($dnaf && $dnaf->validate); +push @feats, Bio::EnsEMBL::FeaturePair->new + (-start => 5, + -end => 7, + -score => 10, + -strand => 1, + -slice => $ctg_slice, + -hstart => 105, + -hend => 105, + -hstrand => 1, + -hseqname => 'dummy-hid'); + +push @feats, Bio::EnsEMBL::FeaturePair->new + (-start => 11, + -end => 16, + -score => 10, + -strand => 1, + -slice => $ctg_slice, + -hstart => 106, + -hend => 107, + -hstrand => 1, + -hseqname => 'dummy-hid'); + +# # -# 3 Test DnaPepAlignFeature::seqname +# Test DnaPepAlignFeature::new(-features) # -ok($dnaf->seqname eq 'bogus contig'); +my $dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); +ok(ref($dnaf) && $dnaf->isa('Bio::EnsEMBL::DnaPepAlignFeature')); # -# 4 Test DnaPepAlignFeature::hseqname +# Test DnaPepAlignFeature::hseqname # ok($dnaf->hseqname eq 'dummy-hid'); # -# 5 Test DnaPepAlignFeature::cigar_string +# Test DnaPepAlignFeature::cigar_string # ok($dnaf->cigar_string =~ '3M3I6M'); # -# 6-8 Test DnaPepAlignFeature::reverse_complement +# Test DnaPepAlignFeature::reverse_complement # my $strand = $dnaf->strand; my $hstrand = $dnaf->hstrand; @@ -98,17 +92,17 @@ ok(($hstrand*-1) == $dnaf->hstrand); # -# 9 Test DnaPepAlignFeature::start +# Test DnaPepAlignFeature::start # ok($dnaf->start == 5); # -# 10 Test DnaPepAlignFeature::end +# Test DnaPepAlignFeature::end # ok($dnaf->end == 16); # -# 11 Test DnaPepAlignFeature::ungapped_features +# Test DnaPepAlignFeature::ungapped_features # ok( scalar($dnaf->ungapped_features) == 2); @@ -116,273 +110,273 @@ ok( scalar($dnaf->ungapped_features) == 2); # # 12 Test retrieval from database # -my $features = $slice->get_all_ProteinAlignFeatures; +my $features = $chr_slice->get_all_ProteinAlignFeatures; ok(scalar @$features); # -# 13 Test transformation to raw contig +# Test transformation to raw contig # my $f = $features->[0]; -my @fs = $f->transform; +my @fs = $f->transform('contig'); ok( scalar @fs ); # -# 14 Test transformation back to slice +# Test transformation back to slice # ($f) = @fs; -$f = $f->transform($slice); +$f = $f->transfer($chr_slice); ok($f); # -# 15 Test transformation onto negative strand slice +# Test transformation onto negative strand slice # -$f = $f->transform($slice->invert); +$f = $f->transfer($chr_slice->invert); ok($f); -# -# 16-21 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, +ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 5); -$fp->end ($CTG_BOUNDARY ); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(104); -$fp->hend (105); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 4); -$fp->end ($CTG_BOUNDARY + 9); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (106); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 10); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (110); -$fp->hend (110); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '6M3I6M6D3M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - - - -# -# 22-27 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, +ve hitstrand) -# -@feats = (); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 10); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (100); -$fp->hend (100); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 1); -$fp->end ($CTG_BOUNDARY + 4); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(101); -$fp->hend (102); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY - 2); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart (105); -$fp->hend (105); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M3I6M6D3M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); - -debug( "Feature 0 dump" ); -while( my ($k, $v) = each %{$dnafs[0]} ) { - debug( " ->".$k." = ".$v ); -} - -ok($dnafs[0]->validate || 1); - -debug( "Feature 1 dump" ); -while( my ($k, $v) = each %{$dnafs[1]} ) { - debug( " ->".$k." = ".$v ); -} -ok($dnafs[1]->validate || 1); - - - - -# -# -# Do the same tests again on the negative strand slice -# -# -$CTG_BOUNDARY = $slice->length - $CTG_BOUNDARY + 1; -$slice = $slice->invert; - - - -# -# 28-33 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (+ve strand, +ve hitstrand) -# -@feats = (); -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 2); -$fp->end ($CTG_BOUNDARY); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(105); -$fp->hend (105); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 4); -$fp->end ($CTG_BOUNDARY + 9); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (106); -$fp->hend (107); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 10); -$fp->end ($CTG_BOUNDARY + 12); -$fp->strand(1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (110); -$fp->hend (110); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M3I6M6D3M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); - - - -# -# 34-39 create a dnaalign feature on a slice across a contig boundary -# and convert to raw contig coordinates -# (-ve strand, +ve hitstrand) -# -@feats = (); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY + 8); -$fp->end ($CTG_BOUNDARY + 10); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart (100); -$fp->hend (100); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 1); -$fp->end ($CTG_BOUNDARY + 4); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->hstart(101); -$fp->hend (102); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - -$fp = new Bio::EnsEMBL::FeaturePair; -$fp->start($CTG_BOUNDARY - 4); -$fp->end ($CTG_BOUNDARY - 2); -$fp->strand(-1); -$fp->score(10); -$fp->contig($slice); -$fp->seqname(1); -$fp->hstart (105); -$fp->hend (105); -$fp->hstrand (1); -$fp->hseqname('dummy-hid'); -push(@feats,$fp); - - -$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); -ok($dnaf); -ok($dnaf->cigar_string eq '3M3I6M6D3M'); -ok($dnaf->validate || 1); #validate doesn't return true but throws on fail - -@dnafs = $dnaf->transform; -ok(scalar(@dnafs) == 2); -ok($dnafs[0]->validate || 1); -ok($dnafs[1]->validate || 1); +## +## 16-21 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, +ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 5); +#$fp->end ($CTG_BOUNDARY ); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(104); +#$fp->hend (105); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 4); +#$fp->end ($CTG_BOUNDARY + 9); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (106); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 10); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (110); +#$fp->hend (110); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '6M3I6M6D3M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + + + +## +## 22-27 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, +ve hitstrand) +## +#@feats = (); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 10); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (100); +#$fp->hend (100); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 1); +#$fp->end ($CTG_BOUNDARY + 4); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(101); +#$fp->hend (102); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY - 2); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart (105); +#$fp->hend (105); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M3I6M6D3M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); + +#debug( "Feature 0 dump" ); +#while( my ($k, $v) = each %{$dnafs[0]} ) { +# debug( " ->".$k." = ".$v ); +#} + +#ok($dnafs[0]->validate || 1); + +#debug( "Feature 1 dump" ); +#while( my ($k, $v) = each %{$dnafs[1]} ) { +# debug( " ->".$k." = ".$v ); +#} +#ok($dnafs[1]->validate || 1); + + + + +## +## +## Do the same tests again on the negative strand slice +## +## +#$CTG_BOUNDARY = $slice->length - $CTG_BOUNDARY + 1; +#$slice = $slice->invert; + + + +## +## 28-33 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (+ve strand, +ve hitstrand) +## +#@feats = (); +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 2); +#$fp->end ($CTG_BOUNDARY); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(105); +#$fp->hend (105); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 4); +#$fp->end ($CTG_BOUNDARY + 9); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (106); +#$fp->hend (107); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 10); +#$fp->end ($CTG_BOUNDARY + 12); +#$fp->strand(1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (110); +#$fp->hend (110); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M3I6M6D3M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); + + + +## +## 34-39 create a dnaalign feature on a slice across a contig boundary +## and convert to raw contig coordinates +## (-ve strand, +ve hitstrand) +## +#@feats = (); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY + 8); +#$fp->end ($CTG_BOUNDARY + 10); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart (100); +#$fp->hend (100); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 1); +#$fp->end ($CTG_BOUNDARY + 4); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->hstart(101); +#$fp->hend (102); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + +#$fp = new Bio::EnsEMBL::FeaturePair; +#$fp->start($CTG_BOUNDARY - 4); +#$fp->end ($CTG_BOUNDARY - 2); +#$fp->strand(-1); +#$fp->score(10); +#$fp->contig($slice); +#$fp->seqname(1); +#$fp->hstart (105); +#$fp->hend (105); +#$fp->hstrand (1); +#$fp->hseqname('dummy-hid'); +#push(@feats,$fp); + + +#$dnaf = Bio::EnsEMBL::DnaPepAlignFeature->new( -features => \@feats ); +#ok($dnaf); +#ok($dnaf->cigar_string eq '3M3I6M6D3M'); +#ok($dnaf->validate || 1); #validate doesn't return true but throws on fail + +#@dnafs = $dnaf->transform; +#ok(scalar(@dnafs) == 2); +#ok($dnafs[0]->validate || 1); +#ok($dnafs[1]->validate || 1); diff --git a/modules/t/exception.t b/modules/t/exception.t new file mode 100644 index 0000000000..373b558fd2 --- /dev/null +++ b/modules/t/exception.t @@ -0,0 +1,86 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 9; +} + +use TestUtils qw( debug ); + +use Bio::EnsEMBL::Utils::Exception qw(warning verbose throw info + deprecate stack_trace_dump stack_trace); + +our $verbose= 0; + + +if(!$verbose) { + verbose('NONE'); +} + +# +#1 - test throw +# + +eval { + throw('test exception'); +}; + +ok($@); + +debug($@); + +# +#2-4 - Test verbosity, warnings +# + +$verbose && verbose('EXCEPTION'); + +ok(verbose() == 1000 || (!$verbose && verbose() == 0)); + +warning('This warn should not appear'); + +ok(1); + +warning('This warn should appear', 1000); + +ok(1); + +info("This info should not appear"); + +ok(1); + +$verbose && verbose('ALL'); + +info("This info should appear"); + +ok(1); + +# +# 5-6 Test stack trace +# + +my $std = stack_trace_dump(); +ok($std =~ /[A-Z]/); + +debug(stack_trace_dump); + +ok(stack_trace()); + + +# +# 7 Test deprecate +# + +test_deprecate(); + +ok(7); + +sub test_deprecate { + deprecate('This deprecate warning should appear'); +} + +verbose('DEPRECATE'); + diff --git a/modules/t/exon.t b/modules/t/exon.t index ad5717c71a..b358c2119e 100644 --- a/modules/t/exon.t +++ b/modules/t/exon.t @@ -1,9 +1,9 @@ use lib 't'; use strict; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test ; - plan tests => 20; + plan tests => 22; } my $loaded = 0; @@ -27,18 +27,20 @@ ok($db); # Exon specific tests my $exonad = $db->get_ExonAdaptor(); -my $rca = $db->get_RawContigAdaptor(); +my $slice_adaptor = $db->get_SliceAdaptor(); -my $contig = $rca->fetch_by_dbID( 469270 ); +my $slice = $slice_adaptor->fetch_by_region('chromosome', '20', + 30_811_000, + 32_000_000); ok($exonad); my $exon = Bio::EnsEMBL::Exon->new(); -$exon->start(31_200); +$exon->start(1000); ok(&test_getter_setter($exon, 'start', 200)); -$exon->end(31_400); +$exon->end(1400); ok(&test_getter_setter($exon, 'end', 400)); $exon->strand(1); @@ -47,26 +49,28 @@ ok(&test_getter_setter($exon, 'strand', -1)); $exon->phase(0); ok(&test_getter_setter($exon, 'phase', -1)); -$exon->contig( $contig ); -ok(&test_getter_setter($exon, 'contig', $contig)); +$exon->slice( $slice ); +ok(&test_getter_setter($exon, 'slice', $slice)); # should try to store (!) $exon->end_phase( -1 ); ok(&test_getter_setter($exon, 'end_phase', 1)); - # # find supporting evidence for the exon # my @evidence = (); my @fs = (); -push @fs, @{$db->get_DnaAlignFeatureAdaptor->fetch_all_by_RawContig($contig)}; -push @fs, @{$db->get_ProteinAlignFeatureAdaptor->fetch_all_by_RawContig($contig)}; +push @fs, @{$db->get_DnaAlignFeatureAdaptor->fetch_all_by_Slice($slice)}; +push @fs, @{$db->get_ProteinAlignFeatureAdaptor->fetch_all_by_Slice($slice)}; while(my $f = shift @fs) { #debug("feature at: " . $f->start . "-" . $f->end); next if $f->start > $exon->end || $f->end < $exon->start; push(@evidence, $f); + # cheat it into storing it again + $f->dbID( undef ); + $f->adaptor( undef ); } my $count = scalar(@evidence); @@ -78,7 +82,7 @@ $multi->hide( "core", "exon", "supporting_feature", $exonad->store($exon); -ok($exon->dbID() == 1 && $exon->adaptor == $exonad); +ok($exon->dbID() && $exon->adaptor == $exonad); # now test fetch_by_dbID @@ -87,43 +91,62 @@ my $newexon = $exonad->fetch_by_dbID($exon->dbID); ok($newexon); -# -# Test transform to empty Slice -# -my $slice = new Bio::EnsEMBL::Slice(-empty => 1, - -adaptor => $db->get_SliceAdaptor); -$exon = $newexon->transform($slice); debug("exon chr start = " . $exon->start); debug("exon chr end = " . $exon->end); -debug("exon chr strand = " . $exon->strand); -ok($exon->start == 30_961_059 && $exon->end == 30_961_259 && $exon->strand==1); +debug("exon chr strand = " . $exon->strand); + +debug("newexon start = " . $newexon->start()); +debug("newexon end = " . $newexon->end()); +debug("newexon strand = " . $newexon->strand()); + +ok($newexon->start == 30811999 && + $newexon->end == 30812399 && + $newexon->strand==1); # # Test transform to another slice # -$slice = $db->get_SliceAdaptor->fetch_by_chr_start_end($slice->chr_name, - $exon->start - 10, - $exon->end + 10); -$exon = $exon->transform($slice); -debug("exon chr start = " . $exon->start); -debug("exon chr end = " . $exon->end); -debug("exon chr strand = " . $exon->strand); -ok($exon->start == 11 && $exon->end == 211 && $exon->strand==1); +$slice = $exon->slice(); +$slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + $slice->seq_region_name, + $slice->start + $exon->start - 11, + $slice->start + $exon->end + 9); +$exon = $exon->transfer($slice); +debug("exon start = " . $exon->start); +debug("exon end = " . $exon->end); +debug("exon strand = " . $exon->strand); +ok($exon->start == 11 && $exon->end == 411 && $exon->strand==1); # -# Test Transform back to Raw Contig +# Test Transform to contig coord system # -$exon = $exon->transform; -ok($exon->start == 31_200); -ok($exon->end == 31_400); +$exon = $exon->transform('contig'); + +debug("exon start = " . $exon->start); +debug("exon end = " . $exon->end); +debug("exon strand = " . $exon->strand); +debug("exon seq_region = " . $exon->slice->seq_region_name); + +ok($exon->start == 913); +ok($exon->end == 1313); ok($exon->strand == 1); -ok($exon->contig->name eq $exon->contig->name); +ok($exon->slice->seq_region_name eq 'AL034550.31.1.118873'); + #regression test, supporting evidence was lost post transform before... -ok(scalar(@{$exon->get_all_supporting_features} == $count)); +my $se_count = scalar(@{$exon->get_all_supporting_features}); + +debug("Got $se_count supporting feature after transform"); +ok($se_count == $count); + +#make sure that supporting evidencewas stored correctly +$se_count = scalar(@{$newexon->get_all_supporting_features}); +debug("Got $se_count from newly stored exon"); +ok($se_count == $count); + # list_ functions debug ("Exon->list_dbIDs"); @@ -134,5 +157,13 @@ debug ("Exon->list_stable_ids"); my $stable_ids = $exonad->list_stable_ids(); ok (@{$stable_ids}); +#hashkey +my $hashkey = $exon->hashkey(); +debug($hashkey); + +ok($hashkey eq $exon->slice->name . '-' . $exon->start . '-' . + $exon->end . '-' . $exon->strand . '-' . $exon->phase . + '-' . $exon->end_phase); + $multi->restore(); diff --git a/modules/t/externalFeatureAdaptor.t b/modules/t/externalFeatureAdaptor.t new file mode 100644 index 0000000000..8df98199c5 --- /dev/null +++ b/modules/t/externalFeatureAdaptor.t @@ -0,0 +1,146 @@ +use strict; + +our $verbose = 0; + +my $multi = MultiTestDB->new; + +package ExternalFF1; + use Bio::EnsEMBL::External::ExternalFeatureAdaptor; + use MultiTestDB; + use Bio::EnsEMBL::Feature; + + use vars qw(@ISA); + @ISA = qw(Bio::EnsEMBL::External::ExternalFeatureAdaptor); + + sub coordinate_systems { + return ('CONTIG'); + } + + sub ensembl_db { + my $self = shift; + return $multi->get_DBAdaptor("core"); + } + + sub fetch_all_by_contig_name { + my $self = shift; + my $name = shift; + my $start = shift; + my $end = shift; + + my @out; + + push @out, Bio::EnsEMBL::Feature->new(-START => 10_000, + -END => 11_000, + -STRAND => 1); + + return \@out; + } + + + + +package ExternalFF2; + use Bio::EnsEMBL::External::ExternalFeatureAdaptor; + use MultiTestDB; + use Bio::EnsEMBL::Feature; + + use vars qw(@ISA); + @ISA = qw(Bio::EnsEMBL::External::ExternalFeatureAdaptor); + + sub coordinate_systems { + return ('CLONE'); + } + + sub ensembl_db { + my $self = shift; + return $multi->get_DBAdaptor("core"); + } + + sub fetch_all_by_clone_accession { + my $self = shift; + my $name = shift; + my $version = shift; + my $start = shift; + my $end = shift; + + my @out; + + push @out, Bio::EnsEMBL::Feature->new(-START => 10_000, + -END => 11_000, + -STRAND => 1); + + return \@out; + } + + + + +package Test; + +use lib 't'; +use TestUtils qw(test_getter_setter debug); + +BEGIN { $| = 1; + use Test; + plan tests => 5; +} + + +my $xff = ExternalFF1->new(); + +my $db = $multi->get_DBAdaptor('core'); + +my $slice_adaptor= $db->get_SliceAdaptor(); +my $slice = $slice_adaptor->fetch_by_region('chromosome', '20', 30e6,35e6); + +my $feats = $xff->fetch_all_by_Slice($slice); + +foreach my $f (@$feats) { + my ($start, $end, $strand) = ($f->start, $f->end, $f->strand); + debug("F: $start-$end ($strand)\n"); +} + +ok(@$feats == 12); + +my $cln_slice = $slice_adaptor->fetch_by_region('clone', 'AL359765.6'); + +$feats = $xff->fetch_all_by_Slice($cln_slice); + +foreach my $f (@$feats) { + my ($start, $end, $strand) = ($f->start, $f->end, $f->strand); + debug("F: $start-$end ($strand)\n"); +} + +ok(@$feats == 1); + +$xff = ExternalFF2->new(); + +$feats = $xff->fetch_all_by_Slice($slice); + + +foreach my $f (@$feats) { + my ($start, $end, $strand) = ($f->start, $f->end, $f->strand); + debug("F: $start-$end ($strand)\n"); +} + +ok(@$feats == 12); + +$feats = $xff->fetch_all_by_Slice($cln_slice); + +foreach my $f (@$feats) { + my ($start, $end, $strand) = ($f->start, $f->end, $f->strand); + debug("F: $start-$end ($strand)\n"); +} + +ok(@$feats == 1); + +$feats = $xff->fetch_all_by_supercontig_name('NT_028392'); + +foreach my $f (@$feats) { + my ($start, $end, $strand) = ($f->start, $f->end, $f->strand); + debug("F: $start-$end ($strand)\n"); +} + +ok(@$feats == 12); + +$multi=undef; diff --git a/modules/t/feature.t b/modules/t/feature.t new file mode 100644 index 0000000000..852b823a98 --- /dev/null +++ b/modules/t/feature.t @@ -0,0 +1,364 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 75; +} + +use TestUtils qw( debug test_getter_setter ); + +use Bio::EnsEMBL::Feature; +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::Analysis; +use Bio::EnsEMBL::CoordSystem; +use MultiTestDB; + +our $verbose= 0; #turn on or off debug statements + + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + +my $coord_system = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI34', + -DBID => 123, + -TOP_LEVEL => 1); + +my $analysis = Bio::EnsEMBL::Analysis->new(-LOGIC_NAME => 'test'); + +my $slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => 'X', + -START => 1_000_000, + -END => 2_000_000); + +# +# Test new and getters +# +my $start = 10; +my $end = 100; +my $strand = -1; +my $feature = Bio::EnsEMBL::Feature->new(-START => 10, + -END => 100, + -STRAND => -1, + -ANALYSIS => $analysis, + -SLICE => $slice); + + +ok($feature && $feature->isa('Bio::EnsEMBL::Feature')); + +ok($feature->start == $start); +ok($feature->end == $end); +ok($feature->strand == $strand); +ok($feature->analysis == $analysis); +ok($feature->slice == $slice); + +# +# Test setters +# +$analysis = Bio::EnsEMBL::Analysis->new(-LOGIC_NAME => 'new analysis'); +$slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => 'Y', + -START => 1_000_000, + -END => 2_000_000); +ok(&test_getter_setter($feature, 'start', 1000)); +ok(&test_getter_setter($feature, 'end', 2000)); +ok(&test_getter_setter($feature, 'strand', 1)); +ok(&test_getter_setter($feature, 'analysis', $analysis)); +ok(&test_getter_setter($feature, 'slice', $slice)); + + +# +# Test length +# + +ok($feature->length == ($end-$start+1)); + + +# +# Test move +# + +$feature->move(300, 500, 1); + +ok($feature->start == 300); +ok($feature->end == 500); +ok($feature->strand == 1); + + +################# +# Test transform +################# + +$slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', + 30_249_935, + 31_000_000); + +$feature->slice($slice); + +# +# Test Transform chromosome -> contig +# + +$feature = $feature->transform('contig'); + +debug("\nchromosome -> contig"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 400); +ok($feature->end() == 600); +ok($feature->strand() == 1); +ok($feature->slice->seq_region_name() eq 'AL359765.6.1.13780'); +ok($feature->slice->coord_system->name() eq 'contig'); + + +# +# Test Transform contig -> supercontig +# + +$feature = $feature->transform('supercontig'); + +debug("\ncontig -> supercontig"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 658269); +ok($feature->end() == 658469); +ok($feature->strand() == 1); +ok($feature->slice->seq_region_name() eq 'NT_028392'); +ok($feature->slice->coord_system->name() eq 'supercontig'); + + +# +# Test Transform supercontig -> contig +# + +$feature = $feature->transform('contig'); +debug("\nsupercontig -> contig"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 400); +ok($feature->end() == 600); +ok($feature->strand() == 1); +ok($feature->slice->seq_region_name() eq 'AL359765.6.1.13780'); +ok($feature->slice->coord_system->name() eq 'contig'); + + +# +# Test Transform contig -> clone +# + +$feature = $feature->transform('clone'); +debug("\ncontig -> clone"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 400); +ok($feature->end() == 600); +ok($feature->strand() == 1); +ok($feature->slice->seq_region_name() eq 'AL359765.6'); +ok($feature->slice->coord_system->name() eq 'clone'); + + +# +# Test transform to into gap +# +$slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', + 1_000_000, + 2_000_000); +$feature->slice($slice); + +ok(!defined($feature->transform('contig'))); + + + +############### +# Test transfer +############### +$slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', + 30_249_935, + 31_000_000); + +$feature->slice($slice); + + +# +# Transfer to expanded inverted chr slice +# + +#get larger slice on other strand +$slice = $slice->invert()->expand(100,100); + +$feature = $feature->transfer($slice); +debug("\ntransfer to inverted chromosomal slice"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 749567); +ok($feature->end() == 749767); +ok($feature->strand() == -1); + + +# +# Transfer to contig slice +# + +$slice = $db->get_SliceAdaptor->fetch_by_region('contig', + 'AL359765.6.1.13780', + '30', '3000'); + +$feature = $feature->transfer($slice); +debug("\ntransfer to contig slice"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + + +ok($feature->start() == 471); +ok($feature->end() == 671); +ok($feature->strand() == 1); + + +# +# Transfer to supercontig slice +# +$slice = $db->get_SliceAdaptor->fetch_by_region('supercontig', + 'NT_028392'); +debug( "----------------------------" ); + +$feature = $feature->transfer($slice); +debug("\ntransfer to supercontig slice"); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +ok($feature->start() == 658369); +ok($feature->end() == 658569); +ok($feature->strand() == 1); + + +# +# Project over a contig boundary +# + +$feature->move(671600,671800); + +debug( "Before projection to contig" ); +debug("start = " . $feature->start()); +debug("end = " . $feature->end()); +debug("strand = " . $feature->strand()); +debug("seq_region = " . $feature->slice->seq_region_name()); + +my @projection = @{$feature->project('contig')}; + +debug( "After project to contig" ); +foreach my $segment (@projection) { + ($start, $end, $slice) = @$segment; + debug("[$start-$end] -> " . $slice->seq_region_name + . ' ' . $slice->start . '-' . $slice->end . '('.$slice->strand().')'); +} +debug( "-----------------------" ); + +ok(@projection == 2); + +my ($seg1, $seg2) = @projection; + +ok($seg1 && $seg1->[0] == 1); +ok($seg1 && $seg1->[1] == 50); +ok($seg1 && $seg1->[2]->start == 13731); +ok($seg1 && $seg1->[2]->end == 13780); +ok($seg1 && $seg1->[2]->seq_region_name eq 'AL359765.6.1.13780'); + +ok($seg2 && $seg2->[0] == 51); +ok($seg2 && $seg2->[1] == 201); +ok($seg2 && $seg2->[2]->start == 101); +ok($seg2 && $seg2->[2]->end == 251); +ok($seg2 && $seg2->[2]->seq_region_name eq 'AL031658.11.1.162976'); + +debug('forward strand slice feature projection'); +foreach my $segment (@projection) { + ($start, $end, $slice) = @$segment; + debug("[$start-$end] -> " . $slice->seq_region_name + . ' ' . $slice->start . '-' . $slice->end . '('.$slice->strand().')'); +} + +# +# Try a projection using an inverted slice +# + +$slice = $feature->slice()->invert(); +$feature->slice($slice); +$feature->move(4_391_950, 4_392_150); + +@projection = @{$feature->project('contig')}; + +ok(@projection == 2); + +($seg1, $seg2) = @projection; + +ok($seg1 && $seg1->[0] == 1 ); +ok($seg1 && $seg1->[1] == 8 ); +ok($seg1 && $seg1->[2]->start == 101); +ok($seg1 && $seg1->[2]->end == 108); +ok($seg1 && $seg1->[2]->seq_region_name eq 'AL031658.11.1.162976'); + +ok($seg2 && $seg2->[0] == 9); +ok($seg2 && $seg2->[1] == 201); +ok($seg2 && $seg2->[2]->start == 13588); +ok($seg2 && $seg2->[2]->end == 13780); +ok($seg2 && $seg2->[2]->seq_region_name eq 'AL359765.6.1.13780'); + +debug('negative strand slice feature projection'); +foreach my $segment (@projection) { + ($start, $end, $slice) = @$segment; + debug("[$start-$end] -> " . $slice->seq_region_name + . ' ' . $slice->start . '-' . $slice->end . '('.$slice->strand().')'); +} + +# +# Try project to same coord system +# + + +@projection = @{$feature->project('supercontig')}; + +ok(@projection == 1); + +($seg1) = @projection; +$slice = $feature->slice(); +ok($seg1 && $seg1->[0] == 1 ); +ok($seg1 && $seg1->[1] == $feature->length() ); +ok($seg1 && $seg1->[2]->start == $slice->end - $feature->end() + 1); +ok($seg1 && $seg1->[2]->end == $slice->end - $feature->start() + 1); +ok($seg1 && $seg1->[2]->strand == $slice->strand * $feature->strand()); +ok($seg1 && $seg1->[2]->seq_region_name eq 'NT_028392'); + + +debug('projection to same coord system'); +foreach my $segment (@projection) { + ($start, $end, $slice) = @$segment; + debug("[$start-$end] -> " . $slice->seq_region_name + . ' ' . $slice->start . '-' . $slice->end . '('.$slice->strand().')'); +} + +ok($feature->display_id eq ''); \ No newline at end of file diff --git a/modules/t/featurePair.t b/modules/t/featurePair.t new file mode 100644 index 0000000000..b692331013 --- /dev/null +++ b/modules/t/featurePair.t @@ -0,0 +1,97 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 23; +} + +use TestUtils qw( debug test_getter_setter ); + +use Bio::EnsEMBL::FeaturePair; +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::Analysis; +use Bio::EnsEMBL::CoordSystem; +use MultiTestDB; + +our $verbose= 0; #turn on or off debug statements + +my $coord_system = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI34', + -DBID => 123, + -TOP_LEVEL => 1); + +my $analysis = Bio::EnsEMBL::Analysis->new(-LOGIC_NAME => 'test'); + +my $slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => 'X', + -START => 1_000_000, + -END => 2_000_000); + +# +# Test new and getters +# +my $start = 10; +my $end = 100; +my $strand = -1; +my $hstart = 1; +my $hend = 90; +my $hstrand = 1; +my $hseqname = 'RF1231'; +my $percent_id = 90.8; +my $p_value = '1.52'; +my $score = 50; +my $species = 'Homo_sapiens'; +my $hspecies = 'Mus_musculus'; + +my $fp = Bio::EnsEMBL::FeaturePair->new(-START => $start, + -END => $end, + -STRAND => $strand, + -ANALYSIS => $analysis, + -SLICE => $slice, + -HSTART => $hstart, + -HSTRAND => $hstrand, + -HEND => $hend, + -HSEQNAME => $hseqname, + -PERCENT_ID => $percent_id, + -P_VALUE => $p_value, + -SCORE => $score, + -SPECIES => $species, + -HSPECIES => $hspecies); + + +ok($fp && $fp->isa('Bio::EnsEMBL::FeaturePair')); + +ok($fp->start == $start); +ok($fp->end == $end); +ok($fp->strand == $strand); +ok($fp->analysis == $analysis); +ok($fp->slice == $slice); + +ok($fp->hstart == $hstart); +ok($fp->hend == $hend); +ok($fp->hseqname eq $hseqname); +ok($fp->percent_id == $percent_id); +ok($fp->p_value == $p_value); +ok($fp->score == $score); +ok($fp->species eq $species); +ok($fp->hspecies eq $hspecies); + + +# +# Test setters +# +ok(test_getter_setter($fp, 'hstart', 1002)); +ok(test_getter_setter($fp, 'hend', 2002)); +ok(test_getter_setter($fp, 'hseqname', 'test')); +ok(test_getter_setter($fp, 'percent_id', 123.2)); +ok(test_getter_setter($fp, 'p_value', 23.0)); +ok(test_getter_setter($fp, 'score', 123)); +ok(test_getter_setter($fp, 'species', 'Rattus_norvegicus')); +ok(test_getter_setter($fp, 'hspecies', 'Danio_rerio')); + + +ok($fp->display_id eq $fp->hseqname()); diff --git a/modules/t/gene.t b/modules/t/gene.t index ac46bbefd2..65386b798f 100644 --- a/modules/t/gene.t +++ b/modules/t/gene.t @@ -2,18 +2,21 @@ use lib 't'; use strict; use warnings; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 39; + plan tests => 49; } use MultiTestDB; use TestUtils qw ( debug test_getter_setter ); - +use Bio::EnsEMBL::Exon; +use Bio::EnsEMBL::FeaturePair; +use Bio::EnsEMBL::Transcript; +use Bio::EnsEMBL::Translation; use Bio::EnsEMBL::Gene; +use Bio::EnsEMBL::DnaDnaAlignFeature; # switch on the debug prints - our $verbose = 0; debug( "Startup test" ); @@ -42,12 +45,7 @@ $gene = $ga->fetch_by_stable_id( "ENSG00000171456" ); debug( "Gene->fetch_by_stable_id()" ); ok( $gene ); -my $e_slice = Bio::EnsEMBL::Slice->new - ( -empty => 1, - -adaptor => $db->get_SliceAdaptor() - ); -$gene->transform( $e_slice ); debug( "Gene dbID: ". $gene->dbID()); ok( $gene->dbID() == 18267 ); @@ -84,7 +82,7 @@ ok( scalar @$links == 6 ); my $sa = $db->get_SliceAdaptor(); -my $slice = $sa->fetch_by_chr_start_end( "20", 30_249_935, 31_254_640 ); +my $slice = $sa->fetch_by_region( "chromosome", "20", 30_249_935, 31_254_640 ); debug( "Slice from SliceAdaptor" ); ok($slice); @@ -114,7 +112,7 @@ $ex1->start( 13586 ); $ex1->end( 13735 ); $ex1->phase(0); $ex1->end_phase( 0 ); -$ex1->contig( $slice ); +$ex1->slice( $slice ); $ex1->strand(1); $ex1->analysis($analysis); @@ -125,7 +123,7 @@ $fp->start(13586); $fp->end (13705); $fp->strand(1); $fp->score(10); -$fp->contig($slice); +$fp->slice($slice); $fp->hstart(100); $fp->hend (219); $fp->hstrand (1); @@ -139,8 +137,7 @@ $fp->start(13707); $fp->end (13735); $fp->strand(1); $fp->score(10); -$fp->contig($slice); -$fp->seqname(1); +$fp->slice($slice); $fp->hstart (220); $fp->hend (248); @@ -163,7 +160,7 @@ $ex2->start(201372); $ex2->end(201571); $ex2->phase(0); $ex2->end_phase( -1 ); -$ex2->contig( $slice ); +$ex2->slice( $slice ); $ex2->strand(1); $ex2->analysis($analysis); @@ -174,7 +171,7 @@ $fp->start(201372); $fp->end (201471); $fp->strand(1); $fp->score(10); -$fp->contig($slice); +$fp->slice( $slice ); $fp->hstart(100); $fp->hend (199); $fp->hstrand (1); @@ -188,8 +185,8 @@ $fp->start(201472); $fp->end (201571); $fp->strand(1); $fp->score(10); -$fp->contig($slice); -$fp->seqname(1); +$fp->slice( $slice ); + $fp->hstart (201); $fp->hend (300); @@ -210,7 +207,7 @@ $ex3->start(210600); $ex3->end(210800); $ex3->phase(-1); $ex3->end_phase( -1 ); -$ex3->contig( $slice ); +$ex3->slice( $slice ); $ex3->strand(1); $ex3->analysis($analysis); @@ -249,9 +246,9 @@ my $translates = 1; foreach my $tr( @{$gene->get_all_Transcripts()} ) { if( $tr->translate()->seq() =~ /\*./ ) { $translates = 0; - debug( "Translate failed.".$tr->translate()->seq() ); + debug( "Translate failed." ); } - + debug( "Translation: ".$tr->translate()->seq() ); foreach my $exon ( @{$tr->get_all_Exons()} ) { debug( " Exon start: ". $exon->start()); debug( " Exon end: ". $exon->end() ); @@ -265,14 +262,17 @@ ok( $translates ); ok( scalar(@{$gene->get_all_Exons()} ) == 3); -$gene->transform(); -$multi->hide( "core", "gene", "transcript", "exon", "exon_transcript", "gene_description", "translation", "gene_stable_id", "transcript_stable_id", "exon_stable_id", "translation_stable_id", "supporting_feature", "dna_align_feature" ); +$gene = $gene->transform( "chromosome" ); -my $gene_ad = $db->get_GeneAdaptor(); -my $desc = 'test description'; +my $desc = 'test description for a gene'; +my $stable_id = 'ENSG00000171456'; $gene->description($desc); -debug( "Storing the gene" ); +$gene->stable_id($stable_id); + +$multi->hide( "core", "meta_coord", "gene", "transcript", "exon", "exon_transcript", "gene_description", "translation", "gene_stable_id", "transcript_stable_id", "exon_stable_id", "translation_stable_id", "supporting_feature", "dna_align_feature" ); +my $gene_ad = $db->get_GeneAdaptor(); +debug( "Storing the gene" ); $gene_ad->store($gene); ok(1); @@ -280,11 +280,16 @@ ok(1); my $genes = $slice->get_all_Genes(); - ok(scalar( @$genes) == 1 ); my $gene_out = $genes->[0]; +#make sure the stable_id was stored +ok($gene_out->stable_id eq $stable_id); + +#make sure the description was stored +ok($gene_out->description eq $desc); + ok(scalar(@{$gene_out->get_all_Exons()}) == 3); @@ -303,7 +308,6 @@ ok( $exons->[0]->start == 13586 ); ok( $exons->[1]->strand == 1 ); ok( $exons->[1]->phase == 0 ); -ok($gene_out->description eq $desc); my $pep; @@ -317,7 +321,7 @@ foreach my $trans( @{$gene_out->get_all_Transcripts()} ){ $translate = 1; } else { $translate = 0; - } + } } ok($translate == 1); @@ -328,13 +332,12 @@ my $e = $t->get_all_Exons()->[0]; my $se = $e->get_all_supporting_features(); debug( "Got ".scalar( @$se )." supporting features." ); -ok( scalar( @$se ) == 2 ); +ok( scalar( @$se ) == 1 ); -my $se_start = $se->[0]->start() < $se->[1]->start() ? - $se->[0]->start() : $se->[1]->start(); +my $se_start = $se->[0]->start(); -my $se_end = $se->[0]->end() > $se->[1]->end() ? - $se->[0]->end() : $se->[1]->end(); + +my $se_end = $se->[0]->end(); debug( "Supporting start $se_start, end $se_end" ); @@ -357,7 +360,8 @@ debug( "checking external references" ); $multi->restore(); -$slice = $db->get_SliceAdaptor()->fetch_by_chr_start_end("20", 30_252_000, 31_252_001 ); +$slice = $db->get_SliceAdaptor()->fetch_by_region + ( "toplevel", "20", 30_252_000, 31_252_001 ); my $known = 0; my $unknown = 0; @@ -385,6 +389,9 @@ ok( $known==17 ); #} +#save contents of gene table +$multi->save('core', 'gene'); + # tests for update method # go get a fresh gene again $gene = $ga->fetch_by_stable_id( "ENSG00000171456" ); @@ -403,6 +410,87 @@ $gene->display_xref( $dbEntryAdaptor->fetch_by_dbID( 614 )); $gene->type('dummy'); $ga->update($gene); -$newgene = $ga->fetch_by_stable_id( "ENSG00000171456" ); +$newgene = $ga->fetch_by_stable_id( "ENSG00000171456" ); ok ( $newgene->display_xref->dbID() == 614 ); ok ( $newgene->type eq 'dummy' ); + +$multi->restore('core', 'gene'); + + +# +# test GeneAdaptor::fetch_all_by_domain +# +my @genes = @{$ga->fetch_all_by_domain('IPR000010')}; + +debug("Fetch by domain 'IPR000010'"); + +ok(@genes == 2); +debug("Got " . scalar(@genes) . " genes"); +ok(($genes[0]->stable_id() eq 'ENSG00000131044') || + ($genes[1]->stable_id() eq 'ENSG00000131044')); +ok(($genes[0]->stable_id() eq 'ENSG00000174873') || + ($genes[1]->stable_id() eq 'ENSG00000174873')); + + +# +# test GeneAdaptor::fetch_all_by_external_name +# + +#Q15691 +($gene) = @{$ga->fetch_all_by_external_name('MAE1_HUMAN')}; +debug($gene->stable_id); +ok($gene->stable_id() eq 'ENSG00000101367'); + +# +# test GeneAdaptor::get_Interpro_by_geneid +# +debug("Test get_Interpro_by_geneid"); +my @interpro = @{$ga->get_Interpro_by_geneid('ENSG00000174873')}; +ok(@interpro == 1); +debug($interpro[0]); + + +ok($gene->display_id eq $gene->stable_id); + +# +# test Gene: get_all_alt_alleles +# + +$gene = $ga->fetch_by_dbID( 18256 ); +my $alt_genes = $gene->get_all_alt_alleles(); + +ok( scalar( @$alt_genes ) == 3 ); + +# expect the following alleles +my %gene_ids = ( 18257 => 1, 18258 => 1, 18259 => 1); +my $ok = 1; +for my $gene ( @$alt_genes ) { + $ok = $ok && $gene_ids{$gene->dbID()}; +} +ok( $ok ); + +# +# test storing a new allele group +# + +$multi->hide( 'core', 'alt_allele' ); + +my @alt_genes; +push( @alt_genes, $ga->fetch_by_dbID(18270) ); +push( @alt_genes, $ga->fetch_by_dbID(18271) ); +push( @alt_genes, $ga->fetch_by_dbID(18272) ); +$ga->store_alt_alleles( \@alt_genes ); + +$gene = $ga->fetch_by_dbID( 18270 ); +$alt_genes = $gene->get_all_alt_alleles(); +%gene_ids = ( 18271=>1, 18272=>1 ); + +$ok = 1; +for my $gene ( @$alt_genes ) { + $ok = $ok && $gene_ids{$gene->dbID()}; +} +ok( $ok ); + + +$multi->restore('core'); + diff --git a/modules/t/geneview.t b/modules/t/geneview.t index 2b2f914dcb..e55dc9d0ab 100644 --- a/modules/t/geneview.t +++ b/modules/t/geneview.t @@ -29,7 +29,7 @@ my $gene = $db->get_GeneAdaptor->fetch_by_transcript_stable_id( "ENST00000217347 my $geneid = $gene->stable_id; ok( $geneid ); -$gene = $db->get_GeneAdaptor->fetch_by_Peptide_id( "ENSP00000278995" ); +$gene = $db->get_GeneAdaptor->fetch_by_translation_stable_id( "ENSP00000278995" ); $geneid = $gene->stable_id; $gene = $db->get_GeneAdaptor()->fetch_by_stable_id( "ENSG00000101321" ); diff --git a/modules/t/karyotypeBand.t b/modules/t/karyotypeBand.t index 697e426d30..8c786c1b85 100644 --- a/modules/t/karyotypeBand.t +++ b/modules/t/karyotypeBand.t @@ -3,34 +3,56 @@ use warnings; use lib 't'; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 7; + plan tests => 10; } use TestUtils qw(debug test_getter_setter); use Bio::EnsEMBL::KaryotypeBand; - +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::CoordSystem; # -#1 TEST - KaryotypeBand compiles +# Test constructor # -ok(1); -# -# 2 test constructor -# -my $kb = Bio::EnsEMBL::KaryotypeBand->new; -ok($kb->isa('Bio::EnsEMBL::KaryotypeBand')); +my $coord_system = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI34', + -DBID => 123, + -TOP_LEVEL => 1); + + +my $slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => 'X', + -START => 1, + -END => 2e6); + +my $start = 1; +my $end = 1e6; +my $name = 'q.11'; +my $stain = 'gpos50'; +my $kb = Bio::EnsEMBL::KaryotypeBand->new(-START => $start, + -END => $end, + -STAIN => $stain, + -NAME => $name, + -SLICE => $slice); + +ok($kb->start() == $start); +ok($kb->end() == $end); +ok($kb->stain() eq $stain); +ok($kb->name() eq $name); +ok($kb->slice == $slice); +ok($kb->display_id eq $name); # -# 3-7 test getter/setters +# test getter/setters # ok(test_getter_setter($kb, 'name', 'p.31')); -ok(test_getter_setter($kb, 'chr_name', 'X')); ok(test_getter_setter($kb, 'start', 12_200_000)); ok(test_getter_setter($kb, 'end', 13_000_000)); -ok(test_getter_setter($kb, 'stain', 'gpos50')); +ok(test_getter_setter($kb, 'stain', 'gpos60')); diff --git a/modules/t/karyotypeBandAdaptor.t b/modules/t/karyotypeBandAdaptor.t new file mode 100644 index 0000000000..8f6abda114 --- /dev/null +++ b/modules/t/karyotypeBandAdaptor.t @@ -0,0 +1,87 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 18; +} + + +use MultiTestDB; +use TestUtils qw(debug test_getter_setter); +use Bio::EnsEMBL::KaryotypeBand; + +our $verbose= 0; + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + + +my $kba = $db->get_KaryotypeBandAdaptor(); + +ok(ref($kba) && $kba->isa('Bio::EnsEMBL::DBSQL::KaryotypeBandAdaptor')); + + +my $slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', + 30_000_000, + 32_000_000); + + + + +my $bands = $kba->fetch_all_by_Slice($slice); + +print_features($bands); + +ok(@$bands == 1); + +my ($band) = @$bands; + +ok($band->name() eq 'q11.21'); +ok($band->start() == 200001); +ok($band->end() == 2600001); +ok($band->strand() == 0); + + + +($band) = @{$kba->fetch_all_by_chr_name('20')}; + +print_features([$band]); + +ok($band->name() eq 'q11.21'); +ok($band->slice->seq_region_name eq '20'); +ok($band->start() == 30_200_000); +ok($band->end() == 32_600_000); + + +($band) = @{$kba->fetch_all_by_chr_band('20', 'q11')}; + +print_features([$band]); + +ok($band->name() eq 'q11.21'); +ok($band->slice->seq_region_name eq '20'); +ok($band->start() == 30_200_000); +ok($band->end() == 32_600_000); + +$band = $kba->fetch_by_dbID(1); +print_features([$band]); +ok($band->name() eq 'q11.21'); +ok($band->slice->seq_region_name eq '20'); +ok($band->start() == 30_200_000); +ok($band->end() == 32_600_000); + +sub print_features { + my $features = shift; + + foreach my $f (@$features) { + if(defined($f)) { + debug('['.$f->dbID.']'.$f->start.'-'.$f->end.'('.$f->strand.')'. + ' '.$f->name(). ' '.$f->stain()); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/mapLocation.t b/modules/t/mapLocation.t index 910ecd154e..275c780416 100644 --- a/modules/t/mapLocation.t +++ b/modules/t/mapLocation.t @@ -7,7 +7,6 @@ BEGIN { $| = 1; } use Bio::EnsEMBL::Map::MapLocation; -use Bio::EnsEMBL::Chromosome; use MultiTestDB; use TestUtils qw(debug test_getter_setter); @@ -25,12 +24,12 @@ my $db = $multi->get_DBAdaptor( 'core' ); #test constructor my $mapname = 'genethon'; my $name = 'DS1234'; -my $chr = $db->get_ChromosomeAdaptor->fetch_by_chr_name('X'); +my $chr_name = 'X'; my $pos = '12.5'; my $lod = 0.23; my $mloc = - Bio::EnsEMBL::Map::MapLocation->new($name, $mapname, $chr, $pos, $lod); + Bio::EnsEMBL::Map::MapLocation->new($name, $mapname, $chr_name, $pos, $lod); ok($mloc && ref $mloc && $mloc->isa('Bio::EnsEMBL::Map::MapLocation')); @@ -49,9 +48,9 @@ ok(&test_getter_setter($mloc, 'map_name', 'marshfield')); # 4-5 # ####### -#test chromosome -ok($chr == $mloc->chromosome); -ok(&test_getter_setter($mloc, 'chromosome', undef)); +#test chromosome_name +ok($chr_name eq $mloc->chromosome_name); +ok(&test_getter_setter($mloc, 'chromosome_name', undef)); ####### # 6-7 # @@ -59,7 +58,7 @@ ok(&test_getter_setter($mloc, 'chromosome', undef)); #test name ok($name eq $mloc->name); -ok(&test_getter_setter($mloc, 'name', 'Z123213')); +ok(&test_getter_setter($mloc, 'name', 'Z123213')); ####### diff --git a/modules/t/mapper.t b/modules/t/mapper.t index 45ef489b3c..63ee548c90 100644 --- a/modules/t/mapper.t +++ b/modules/t/mapper.t @@ -25,7 +25,7 @@ ## We start with some black magic to print on failure. BEGIN { $| = 1; use Test; - plan tests => 5; # 5 tests total + plan tests => 10; # 5 tests total use vars qw($loaded); } END { print "not ok 1\n" unless $loaded; } @@ -64,6 +64,93 @@ test_transform ($mapper, +# +# check if the mapper can do merging +# + +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper->add_map_coordinates( "1", 1, 10, 1, "1", 101, 110 ); +$mapper->add_map_coordinates( "1", 21, 30, 1, "1", 121, 130 ); +$mapper->add_map_coordinates( "1", 11, 20, 1, "1", 111, 120 ); + +test_transform( $mapper, + [ "1", 5, 25, 1, "asm1" ], + [ "1", 105, 125, 1 ] ); + + + +# +# Slightly differnt merge case +# +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper->add_map_coordinates( "1", 1, 10, 1, "1", 101, 110 ); +$mapper->add_map_coordinates( "1", 21, 30, 1, "1", 121, 130 ); +$mapper->add_map_coordinates( "1", 12, 20, 1, "1", 112, 120 ); + +test_transform( $mapper, + [ "1", 5, 25, 1, "asm1" ], + [ "1", 105, 110, 1 ], + [ "1", 11, 11, 0 ], + [ "1", 112, 125, 1 ] ); + + + +# +# dont merge on wrong orientation +# + +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper->add_map_coordinates( "1", 1, 10, 1, "1", 101, 110 ); +$mapper->add_map_coordinates( "1", 21, 30, 1, "1", 121, 130 ); +$mapper->add_map_coordinates( "1", 11, 20, -1, "1", 111, 120 ); + +test_transform( $mapper, + [ "1", 5, 25, 1, "asm1" ], + [ "1", 105, 110, 1 ], + [ "1", 111, 120, -1 ], + [ "1", 121, 125, 1 ] ); + +# +# can reverse strands merge? +# + +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper->add_map_coordinates( "1", 1, 10, -1, "1", 121, 130 ); +$mapper->add_map_coordinates( "1", 21, 30, -1, "1", 101, 110 ); +$mapper->add_map_coordinates( "1", 11, 20, -1, "1", 111, 120 ); + +test_transform( $mapper, + [ "1", 5, 25, 1, "asm1" ], + [ "1", 106, 126, -1 ] ); + + +# +# normal merge, not three +# + +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper = Bio::EnsEMBL::Mapper->new( "asm1", "asm2" ); + +$mapper->add_map_coordinates( "1", 1, 10, 1, "1", 101, 110 ); +$mapper->add_map_coordinates( "1", 11, 20, 1, "1", 111, 120 ); +$mapper->add_map_coordinates( "1", 22, 30, 1, "1", 132, 140 ); +$mapper->add_map_coordinates( "1", 51, 70, 1, "1", 161, 180 ); +$mapper->add_map_coordinates( "1", 31, 35, 1, "1", 141, 145 ); + +test_transform( $mapper, + [ "1", 5, 45, 1, "asm1" ], + [ "1", 105, 120, 1 ], + [ "1", 21, 21, 0 ], + [ "1", 132, 145, 1 ], + [ "1", 36, 45, 0 ] + ); + + # the following subroutine tests that a given source co-ordinate range # transforms into a given set of destination co-ordinates # @@ -74,6 +161,7 @@ test_transform ($mapper, # for @dest array, $strand=0 indicates gap. # for @dest array, $id=$srcid for gaps. + sub test_transform { my ($mapper, $src, @dest) = @_; if (@$src != 5) { warn "Bad source coords: (@$src)\n"; printnotok(); return } diff --git a/modules/t/marker.t b/modules/t/marker.t index 0525b3c099..56a7df40f2 100644 --- a/modules/t/marker.t +++ b/modules/t/marker.t @@ -33,7 +33,7 @@ my $priority = 80; #test the constructor my $marker = Bio::EnsEMBL::Map::Marker->new - ($dbID, $marker_adaptor, $left_primer, $right_primer, $min_primer_dist, + ($dbID, $marker_adaptor, $left_primer, $right_primer, $min_primer_dist, $max_primer_dist, $priority); ok($marker && ref $marker && $marker->isa('Bio::EnsEMBL::Map::Marker')); @@ -154,7 +154,7 @@ ok(scalar @{$marker->get_all_MapLocations} == 2 ); ###### #test get_MapLocation -ok($marker->get_MapLocation('genethon') && +ok($marker->get_MapLocation('genethon') && $marker->get_MapLocation('marshfield')); ######### diff --git a/modules/t/markerFeature.t b/modules/t/markerFeature.t index cb49be4193..a3c69cffba 100644 --- a/modules/t/markerFeature.t +++ b/modules/t/markerFeature.t @@ -3,12 +3,11 @@ use strict; BEGIN { $| = 1; use Test ; - plan tests => 11 + plan tests => 12 } use MultiTestDB; use Bio::EnsEMBL::Map::MarkerFeature; -use Bio::EnsEMBL::RawContig; use Bio::EnsEMBL::Analysis; use TestUtils qw(debug test_getter_setter); @@ -27,7 +26,9 @@ my $adaptor = $db->get_MarkerFeatureAdaptor; my $dbID = 111; my $start = 100; my $end = 10; -my $contig = Bio::EnsEMBL::RawContig->new; +my $slice = + $db->get_SliceAdaptor->fetch_by_region('contig','AL359765.6.1.13780'); + my $analysis = Bio::EnsEMBL::Analysis->new; my $marker_id = 1; my $mapweight = 1; @@ -39,7 +40,7 @@ my $mapweight = 1; #test construction my $mf = Bio::EnsEMBL::Map::MarkerFeature->new - ($dbID, $adaptor, $start, $end, $contig, $analysis, $marker_id, + ($dbID, $adaptor, $start, $end, $slice, $analysis, $marker_id, $mapweight); ok($mf && ref $mf && $mf->isa('Bio::EnsEMBL::Map::MarkerFeature')); @@ -76,7 +77,7 @@ ok($marker->dbID == $marker_id); #test contig, start, end, strand (inherited) -ok($contig == $mf->contig); +ok($slice == $mf->slice); ok($start == $mf->start); ok($end == $mf->end); ok($mf->strand == 0); @@ -86,3 +87,6 @@ ok($mf->strand == 0); ####### ok($mapweight == $mf->map_weight); + + +ok($mf->display_id eq $mf->marker->display_MarkerSynonym()); \ No newline at end of file diff --git a/modules/t/markerFeatureAdaptor.t b/modules/t/markerFeatureAdaptor.t index fcc3138132..73a7334f20 100644 --- a/modules/t/markerFeatureAdaptor.t +++ b/modules/t/markerFeatureAdaptor.t @@ -34,7 +34,7 @@ my $mf = $mfa->fetch_by_dbID(1); ok($mf && ref $mf && $mf->isa('Bio::EnsEMBL::Map::MarkerFeature')); -ok($mf->contig->dbID == 339816 && +ok($mf->slice->seq_region_name eq 'AL353092.6.1.25010' && $mf->analysis->dbID == 10 && $mf->start == 5769 && $mf->end == 5959 && @@ -49,9 +49,10 @@ ok($mf->contig->dbID == 339816 && # test fetch all by slice -my $slice = $db->get_SliceAdaptor->fetch_by_chr_start_end('20', - '30249935', - '31254640'); +my $slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', + '30249935', + '31254640'); my $feats = $mfa->fetch_all_by_Slice($slice); @@ -92,12 +93,12 @@ ok(scalar(@$feats) == 1 && $feats->[0]->start==12671 && $multi->hide('core', 'marker_feature'); $marker = $db->get_MarkerAdaptor->fetch_by_dbID(80); -my $contig = $db->get_RawContigAdaptor->fetch_by_dbID(317101); +$slice = $db->get_SliceAdaptor->fetch_by_seq_region_id(317101); my $analysis = $db->get_AnalysisAdaptor->fetch_by_dbID(10); my $marker_feature = Bio::EnsEMBL::Map::MarkerFeature->new; -$marker_feature->contig($contig); +$marker_feature->slice($slice); $marker_feature->start(123); $marker_feature->end(200); $marker_feature->marker($marker); @@ -105,7 +106,7 @@ $marker_feature->analysis($analysis); $mfa->store($marker_feature); -ok($marker_feature->dbID && +ok($marker_feature->dbID && $marker_feature->adaptor == $mfa); diff --git a/modules/t/metaContainer.t b/modules/t/metaContainer.t index 52379ff5e7..71b7326279 100644 --- a/modules/t/metaContainer.t +++ b/modules/t/metaContainer.t @@ -3,9 +3,9 @@ use warnings; use lib 't'; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 9; + plan tests => 8; } use TestUtils qw( debug ); @@ -28,7 +28,7 @@ ok($mc); # -# 2 - list_value_by_key +# list_value_by_key # my ($asm_default) = @{$mc->list_value_by_key('assembly.default')}; @@ -36,7 +36,7 @@ ok($asm_default eq 'NCBI_30'); # -# 3-4 store key value +# store key value # $mc->store_key_value('testkey', 'testvalue1'); @@ -46,9 +46,14 @@ my $listref = $mc->list_value_by_key('testkey'); ok($listref->[0] eq 'testvalue1'); ok($listref->[1] eq 'testvalue2'); +$mc->delete_key('testkey'); + +$listref = $mc->list_value_by_key('testkey'); +ok(@$listref == 0); + # -# 5-6 - get_Species +# get_Species # my $species = $mc->get_Species(); @@ -62,18 +67,5 @@ ok($bin eq 'Homo sapiens'); my $taxid = $mc->get_taxonomy_id(); ok($taxid == 9606); - -# -# 8 - get_default_assembly -# -$asm_default = $mc->get_default_assembly(); -ok($asm_default eq 'NCBI_30'); - -# -# 9 - get_max_assembly_contig -# -my $maxac = $mc->get_max_assembly_contig(); -ok($maxac == 1_000_000); - $mdb->restore('core', 'meta'); diff --git a/modules/t/miscFeature.t b/modules/t/miscFeature.t new file mode 100644 index 0000000000..5d29c0a4d9 --- /dev/null +++ b/modules/t/miscFeature.t @@ -0,0 +1,87 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 11 +} + +use MultiTestDB; +use Bio::EnsEMBL::MiscFeature; +use Bio::EnsEMBL::MiscSet; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + + +#test constructor +my $mf = Bio::EnsEMBL::MiscFeature->new(-START => 10, + -END => 100); + +ok($mf->start() == 10 && $mf->end() == 100); + + + +# +# Test add_set, get_set, get_set_codes +# +my $ms1 = Bio::EnsEMBL::MiscSet->new(3, undef, + '1mbcloneset', + '1mb Clone Set', + 'This is a 1MB cloneset', + 1e7); + +my $ms2 = Bio::EnsEMBL::MiscSet->new(4, undef, + 'tilepath', + 'Tiling Path', + 'NCBI33 Tiling Path', + 1e6); + + + +$mf->add_set($ms1); +$mf->add_set($ms2); + + +ok($mf->get_set($ms1->code) == $ms1); +ok($mf->get_set($ms2->code) == $ms2); + +my @codes = $mf->get_set_codes; + +ok(@codes == 2); + +@codes = grep {($_ eq $ms1->code()) || ($_ eq $ms2->code())} @codes; + +ok(@codes == 2); + +# +# Test add_attribute, get_attribute_types, get_attribute +# + +my $name1 = 'test name'; +my $name2 = 'AL4231124.1'; + +$mf->add_attribute('name', $name1); + +ok($mf->display_id eq $name1); + +$mf->add_attribute('name', $name2); +$mf->add_attribute('version', '4'); + +my @types = $mf->get_attribute_types(); +ok(@types == 2); + +@types = grep {$_ eq 'name' || $_ eq 'version'} @types; + +ok(@types == 2); + +my @attribs = $mf->get_attribute('name'); + +ok(@attribs == 2); + +@attribs = grep {$_ eq $name1 || $_ eq $name2} @attribs; + +ok(@attribs == 2); + +@attribs = $mf->get_attribute('version'); +ok(@attribs == 1 && $attribs[0] eq '4'); diff --git a/modules/t/miscFeatureAdaptor.t b/modules/t/miscFeatureAdaptor.t new file mode 100644 index 0000000000..9868abaa0a --- /dev/null +++ b/modules/t/miscFeatureAdaptor.t @@ -0,0 +1,106 @@ +use strict; + +use lib 't'; +use TestUtils qw(test_getter_setter debug); + +BEGIN { $| = 1; + use Test; + plan tests => 11; +} + +use MultiTestDB; + +our $verbose = 0; + +my $multi = MultiTestDB->new; + +# get a core DBAdaptor +my $dba = $multi->get_DBAdaptor("core"); + + +# +# Test get_MiscFeatureAdaptor works +# +my $mfa = $dba->get_MiscFeatureAdaptor(); + +ok($mfa && ref($mfa) && $mfa->isa('Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor')); + + +# +# Test fetching by slice +# + + +my $chr_slice = $dba->get_SliceAdaptor->fetch_by_region('chromosome', '20'); +my $features = $mfa->fetch_all_by_Slice($chr_slice); +debug('--- chr 20 misc_features ---'); +debug("Got " . scalar(@$features)); +ok(@$features == 7); +print_features($features); + + +$features = $mfa->fetch_all_by_Slice_and_set_code($chr_slice,'ntctgs'); +debug('--- chr 20 ntcontigs set---'); +debug("Got " . scalar(@$features)); +ok(@$features == 3); +print_features($features); + +$features = $mfa->fetch_all_by_Slice_and_set_code($chr_slice,'cloneset'); +debug('--- chr 20 cloneset set---'); +debug("Got " . scalar(@$features)); +ok(@$features == 0); +print_features($features); + +my $feature = $mfa->fetch_by_dbID(1); +debug('--- fetch_by_dbID ---'); +ok($feature->dbID() == 1); +ok($feature->start() == 61140848); +ok($feature->end() == 62842997); +ok($feature->strand() == 1); +print_features([$feature]); + + +# +# Test fetching by attribute +# + +debug("--- fetch by attribute (superctg) ---"); +$features = $mfa->fetch_all_by_attribute_type_value('superctg'); + +ok(@$features == 7); +print_features($features); + +debug("--- fetch by attribute (superctg, NT_035608) ---"); +$features = $mfa->fetch_all_by_attribute_type_value('superctg','NT_035608'); + +ok(@$features == 1); +print_features($features); + +debug("--- fetch by attribute (embl_acc) ---"); +$features = $mfa->fetch_all_by_attribute_type_value('embl_acc'); +ok(@$features == 1); +print_features($features); + + + +sub print_features { + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my @attrib_types = $f->get_attribute_types; + my @attrib_vals = map {"$_ => " . join(',',$f->get_attribute($_))} @attrib_types; + + my @set_codes = $f->get_set_codes; + my @set_names = map {"$_ => " . $f->get_set($_)->name()} @set_codes; + + my $attrib_string = join(":", @attrib_vals); + my $set_string = join(":", @set_names); + + my $seqname = $f->slice->seq_region_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '." ($attrib_string) ($set_string)"); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/miscSet.t b/modules/t/miscSet.t new file mode 100644 index 0000000000..0ad0d0b107 --- /dev/null +++ b/modules/t/miscSet.t @@ -0,0 +1,45 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 10 +} + +use Bio::EnsEMBL::MiscSet; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + + + +my $misc_set_id = 3; +my $code = '1mbcloneset'; +my $name = '1mb Clone Set'; +my $desc = 'This is a 1MB cloneset'; +my $max_len = 1e7; + + +# +# Test constructor +# +my $ms = Bio::EnsEMBL::MiscSet->new($misc_set_id, + undef, + $code, + $name, + $desc, + $max_len); + +ok($ms->dbID == $misc_set_id); +ok($ms->code eq $code); +ok($ms->description eq $desc); +ok($ms->longest_feature eq $max_len); +ok($ms->name eq $name); + +ok(test_getter_setter($ms, 'dbID', 12)); +ok(test_getter_setter($ms, 'code', 'testcode')); +ok(test_getter_setter($ms, 'description', 'new description')); +ok(test_getter_setter($ms, 'longest_feature', 1e8)); +ok(test_getter_setter($ms, 'name', $name)); + + diff --git a/modules/t/miscSetAdaptor.t b/modules/t/miscSetAdaptor.t new file mode 100644 index 0000000000..1511990d20 --- /dev/null +++ b/modules/t/miscSetAdaptor.t @@ -0,0 +1,57 @@ +use lib 't'; +use strict; + +BEGIN { $| = 1; + use Test ; + plan tests => 12 +} + +use MultiTestDB; +use Bio::EnsEMBL::MiscSet; +use TestUtils qw(debug test_getter_setter); + +our $verbose = 0; #set to 1 to turn on debug printouts + + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + + +# +# Test constructor +# + +my $msa = $db->get_MiscSetAdaptor(); + + +ok($msa && ref($msa) && $msa->isa('Bio::EnsEMBL::DBSQL::MiscSetAdaptor')); + + +# +# Test fetch_all +# + +ok(@{$msa->fetch_all()} == 4); + +# +# Test fetch_by_dbID +# + +my $ms = $msa->fetch_by_dbID(1); + +ok($ms->dbID(1)); +ok($ms->code() eq 'ntctgs'); +ok($ms->name() eq 'NT contigs'); +ok($ms->description eq ''); +ok($ms->longest_feature == 7e7); + +# +# Test fetch_by_code +# + +$ms = $msa->fetch_by_code('cloneset'); +ok($ms->dbID() == 4); +ok($ms->code() eq 'cloneset'); +ok($ms->name() eq '1Mb cloneset'); +ok($ms->description eq ''); +ok($ms->longest_feature == 6e6); diff --git a/modules/t/predictionTranscript.t b/modules/t/predictionTranscript.t index 9bf3f9a3bf..a779edc352 100644 --- a/modules/t/predictionTranscript.t +++ b/modules/t/predictionTranscript.t @@ -5,13 +5,12 @@ use lib 't'; BEGIN { $| = 1; use Test; - plan tests => 34; + plan tests => 39; } use MultiTestDB; use TestUtils qw(debug test_getter_setter); use Bio::EnsEMBL::PredictionTranscript; -use Bio::EnsEMBL::Exon; our $verbose = 0; @@ -26,208 +25,283 @@ my $db = $multi->get_DBAdaptor( "core" ); my $sa = $db->get_SliceAdaptor(); -my $slice = $sa->fetch_by_chr_start_end("20", 30_252_000, 31_252_001 ); +my $slice = $sa->fetch_by_region("chromosome", "20", 30_252_000, 31_252_001 ); my $p_transs = $slice->get_all_PredictionTranscripts(); # # 2 Verify prediciton transcripts can be obtained # +debug( "Retrieved ".scalar( @$p_transs )." PredictionTranscripts." ); ok( scalar( @$p_transs ) ); -if($verbose) { - foreach my $pt (@$p_transs) { - print $pt->stable_id , "\n"; - } +foreach my $pt (@$p_transs) { + debug( "Stable_id: ".$pt->stable_id()." Start: ".$pt->start." End: ".$pt->end() , "\n" ); } -my ($pt) = @$p_transs; +my $pt = $p_transs->[0]; my $exons = $pt->get_all_Exons; # # 3 test get all exons # +debug( "First PT had ".scalar( @$exons ). " exons." ); ok(scalar @$exons); # # 4 test new # -my $new_pt = new Bio::EnsEMBL::PredictionTranscript(@$exons); +my $new_pt = new Bio::EnsEMBL::PredictionTranscript( -exons => $exons); ok(scalar @{$new_pt->get_all_Exons}); # # 5 test stable_id # -ok($pt->stable_id =~ /(\w+\.\d+\.\d+\.\d+)\.(\d+)\.(\d+)/); -#my ($ctg, $ctg_start, $ctg_end) = ($1, $2, $3); +debug( "stable_id: ".$pt->stable_id() ); +ok($pt->stable_id =~ /.*/ ); # -# 6 test coding start -# -ok(&TestUtils::test_getter_setter($pt, 'coding_region_start', 6)); - -# -# 7 test coding end -# -ok(&TestUtils::test_getter_setter($pt, 'coding_region_end', 7)); - - -# -# 8 test start +# 6 test start # ok(&TestUtils::test_getter_setter($pt, 'start', 8)); # -# 9 test end +# 7 test end # ok(&TestUtils::test_getter_setter($pt, 'end', 9)); # -# 10 test analysis +# 8 test analysis # my $analysis = $db->get_AnalysisAdaptor->fetch_by_logic_name('Vertrna'); ok(&TestUtils::test_getter_setter($pt, 'analysis', $analysis)); # -# 11 test dbID +# 9 test dbID # ok(&TestUtils::test_getter_setter($pt, 'dbID', 11)); # -# 12 test adaptor +# 10 test adaptor # my $pta = $db->get_PredictionTranscriptAdaptor; ok(&TestUtils::test_getter_setter($pt, 'adaptor', $pta)); # -# 13-17 test add Exon +# 11-14 test add Exon # +$pt = new Bio::EnsEMBL::PredictionTranscript(); + my $exon = new Bio::EnsEMBL::Exon; -$exon->start($pt->start - 20); -$exon->end($pt->end + 20); +$exon->start(40); +$exon->end(50); +$exon->slice( $slice ); +$exon->strand( 1 ); +$pt->add_Exon($exon); -my @old_exons = @{$pt->get_all_Exons}; -my $count = scalar(@old_exons); +$exon = new Bio::EnsEMBL::Exon; +$exon->start(20); +$exon->end(30); +$exon->slice( $slice ); +$exon->strand( 1 ); +$pt->add_Exon($exon); +$exon = new Bio::EnsEMBL::Exon; +$exon->start( 1 ); +$exon->end(10); +$exon->slice( $slice ); +$exon->strand( 1 ); $pt->add_Exon($exon); + + #check that transcript start + end updated -ok($pt->start == $exon->start); -ok($pt->end == $exon->end); -$exons = $pt->get_all_Exons( 1 ); -#check that there is one more exon -ok($count + 1 == scalar(@$exons)); -#check that the last exon is the exon added -ok($exons->[$#$exons] eq $exon); +ok( $pt->end() == 50 ); +ok( $pt->start() == 1 ); + +my $all_exons = $pt->get_all_Exons(); +ok( $all_exons->[0]->start() == 1 ); +ok( $all_exons->[2]->end() == 50 ); + +# +# 15-18 -1 strand checks for add_Exon +# + +$pt = new Bio::EnsEMBL::PredictionTranscript(); + +$exon = new Bio::EnsEMBL::Exon; +$exon->start(40); +$exon->end(50); +$exon->slice( $slice ); +$exon->strand( -1 ); +$pt->add_Exon($exon); + +$exon = new Bio::EnsEMBL::Exon; +$exon->start( 1 ); +$exon->end(10); +$exon->slice( $slice ); +$exon->strand( -1 ); +$pt->add_Exon($exon); + +$exon = new Bio::EnsEMBL::Exon; +$exon->start(20); +$exon->end(30); +$exon->slice( $slice ); +$exon->strand( -1 ); +$pt->add_Exon($exon); + +ok( $pt->end() == 50 ); +ok( $pt->start() == 1 ); + +$all_exons = $pt->get_all_Exons(); +ok( $all_exons->[0]->start() == 40 ); +ok( $all_exons->[2]->end() == 10 ); + + + -$pt->add_Exon($exon, 3); -#check that third exon is exon added -ok($exons->[2] eq $exon); # -# 18-22 test flush exons +# 19-23 test flush exons # +debug( "Flush exons effect test" ); $pt->flush_Exons; ok(scalar @{$pt->get_all_Exons} == 0); +debug( "pt->start ".($pt->start()||"undef") ); ok(!defined $pt->start); +debug( "pt->end ".($pt->end()||"undef") ); ok(!defined $pt->end); -ok(!defined $pt->coding_start); -ok(!defined $pt->coding_end); - -#restore old exons -my $pos = 0; -while(@old_exons) { - $pos++; - my $e = shift @old_exons; - $pt->add_Exon($e, $pos); -} +debug( "pt->coding_start ".($pt->coding_region_start()||"undef") ); +ok(!defined $pt->coding_region_start); +debug( "pt->coding_end ".($pt->coding_region_end()||"undef") ); +ok(!defined $pt->coding_region_end); -# -# 23 test get_all_translateable_Exons -# -ok(scalar @{$pt->get_all_translateable_Exons} == scalar @{$pt->get_all_Exons}); # -# 24 test sort executes +# 24 test get_all_translateable_Exons # -ok($pt->sort || 1); +$pt = $p_transs->[0]; -# -# 25 test get_exon_count -# -ok($pt->get_exon_count == scalar @{$pt->get_all_Exons}); +ok(scalar @{$pt->get_all_translateable_Exons} == scalar @{$pt->get_all_Exons}); -# -# 26 test set_exon_count -# -$count = $pt->get_exon_count; -$pt->set_exon_count(26); -ok(scalar @{$pt->get_all_Exons( 1 )} == 26); # test internal exon array expansion -$pt->set_exon_count($count); # -# 27 test length +# 25 test length # my $len = 0; foreach my $ex (@{$pt->get_all_Exons}) { - if( defined $ex ) { $len += $ex->length }; + $len += $ex->length(); } ok($len == $pt->length); # -# 28 test translate +# 26 test translate # -ok(length $pt->translate->seq); +my $translated = $pt->translate->seq(); +debug( "Translated sequence: $translated" ); +ok( $translated ); # -# 29 test get cdna +# 27 test spliced_seq() # -my $cstart = 1; -my $cend = $pt->length; -ok(length $pt->get_cdna($cstart, $cend)); +my $spliced_seq = $pt->spliced_seq(); +debug( "Spliced seq: ".$spliced_seq ); +ok( $spliced_seq ); # -# 30 test pep2genomic +# 28 test pep2genomic # my $pend = $pt->length / 3; my $pstart = 2; my $defined_exons_count = 0; foreach my $e (@{$pt->get_all_Exons}) { - if(defined $e) { $defined_exons_count++; - } } # should return genomic coords for each exon since covers entire peptide ok($defined_exons_count == $pt->pep2genomic($pstart, $pend)); # -# 31 test cdna2genomic +# 29 test cdna2genomic # -ok($defined_exons_count == $pt->cdna2genomic($cstart, $cend)); + +ok($defined_exons_count == $pt->cdna2genomic( 1, $pt->length())); # -# 32 test type +# 30 test type # ok(&TestUtils::test_getter_setter($pt, 'type', 'test')); # -# 33 test fetch_by_stable_id +# 31 test fetch_by_stable_id # -my $stable_id = 'AL031658.11.1.162976.122801.143660'; +my $stable_id = 'GENSCAN00000011401'; $pt = $pta->fetch_by_stable_id($stable_id); ok($pt->stable_id eq $stable_id); -# 34 list_dbIDs +# 32 list_dbIDs my $ids = $pta->list_dbIDs(); ok (@{$ids}); +ok($pt->display_id eq $pt->stable_id); + + +# +# test PredictionTranscriptAdaptor::store +# + +my $analysis_adaptor = $db->get_AnalysisAdaptor(); + +$analysis = $analysis_adaptor->fetch_by_logic_name('Genscan'); + +$multi->hide('core', 'prediction_transcript', 'prediction_exon'); + +my @exons; +push @exons, Bio::EnsEMBL::PredictionExon->new + (-START => 100, + -END => 200, + -STRAND => 1, + -P_VALUE => 0.98, + -SCORE => 50, + -SLICE => $slice, + -PHASE => 0); + +push @exons, Bio::EnsEMBL::PredictionExon->new + (-START => 300, + -END => 400, + -STRAND => 1, + -P_VALUE => 0.99, + -SCORE => 75, + -SLICE => $slice, + -PHASE => $exons[0]->length % 3); + +$pt = Bio::EnsEMBL::PredictionTranscript->new + (-EXONS => \@exons, + -SLICE => $slice, + -ANALYSIS => $analysis); + +$pta->store($pt); + +$pt = $pta->fetch_by_dbID($pt->dbID); + +ok($pt && $pt->dbID); + +@exons = @{$pt->get_all_Exons}; +ok(@exons == 2); + +ok($exons[0]->start == $slice->start + 100 - 1); +ok($exons[1]->start == $slice->start + 300 - 1); + +ok($exons[0]->score == 50); +ok($exons[1]->score == 75); + +$multi->restore(); diff --git a/modules/t/proteinAlignFeatureAdaptor.t b/modules/t/proteinAlignFeatureAdaptor.t index aad36fbea4..558c256e92 100644 --- a/modules/t/proteinAlignFeatureAdaptor.t +++ b/modules/t/proteinAlignFeatureAdaptor.t @@ -2,13 +2,15 @@ use lib 't'; BEGIN { $| = 1; use Test; - plan tests => 2; + plan tests => 22; } use MultiTestDB; use TestUtils qw(test_getter_setter debug); +use Bio::EnsEMBL::DnaPepAlignFeature; + our $verbose = 0; my $multi = MultiTestDB->new(); @@ -22,3 +24,139 @@ debug("ProteinAlignFeatureAdaptor->list_dbIDs"); my $ids = $pafa->list_dbIDs(); ok (@{$ids}); + + + +# +# Test retrieval via Slice +# + +my $feats; + +my $chr_slice = $db->get_SliceAdaptor->fetch_by_region('chromosome','20', + 30_500_000, 30_700_000); + +$feats = $pafa->fetch_all_by_Slice($chr_slice); +debug('---fetching by chromosomal slice---'); +debug("Got " . scalar(@$feats) . " features back"); +ok(@$feats == 2429); +print_features($feats); + + +my $ctg_slice; +$ctg_slice = $db->get_SliceAdaptor->fetch_by_region('contig', + 'AL031658.11.1.162976', + 1, + 50_000); +$feats = $pafa->fetch_all_by_Slice($ctg_slice); +debug('--- contig AL031658.11.1.162976 (1-50000) features ---'); +debug("Got " . scalar(@$feats)); +ok(@$feats == 357); + print_features($feats); + + +# +# Test fetch_by_dbID +# +my $feat = $pafa->fetch_by_dbID(5339568); +debug('--- fetching by dbID ---'); +ok($feat); +print_features([$feat]); + + +$feat = $feat->transform('supercontig'); +debug('--- transforming to supercontig coords ---'); +ok($feat); +print_features([$feat]); + + +# +# Test fetch_by_Slice_and_pid +# +$feats = $pafa->fetch_all_by_Slice_and_pid($chr_slice, '90'); +debug('--- fetching by chr Slice and pid (90) ---'); +debug("Got " . scalar(@$feats)); +ok(@$feats == 64); +print_features($feats); + +# +# Test store +# + +$multi->save('core', 'protein_align_feature'); + +my $analysis = $feat->analysis; +my $slice = + $db->get_SliceAdaptor->fetch_by_region('contig','AL031658.11.1.162976'); +my $start = 100; +my $end = 200; +my $strand = 1; +my $hstart = 10; +my $hend = 110; +my $hstrand = -1; +my $hseqname = 'test'; +my $score = 80; +my $percent_id = 90; +my $evalue = 23.2; +my $cigar_string = '100M'; + +$feat = Bio::EnsEMBL::DnaPepAlignFeature->new + (-START => $start, + -END => $end, + -STRAND => $strand, + -SLICE => $slice, + -HSTART => $hstart, + -HEND => $hend, + -HSTRAND => 1, + -HSEQNAME => $hseqname, + -CIGAR_STRING => '100M', + -PERCENT_ID => $percent_id, + -SCORE => $score, + -P_VALUE => $evalue, + -ANALYSIS => $analysis); + +ok(!$feat->is_stored($db)); + +$pafa->store($feat); + +ok($feat->is_stored($db)); + +my $dbID = $feat->dbID(); + +$feat = $pafa->fetch_by_dbID($dbID); + +ok($feat->dbID == $dbID); +ok($feat->start == $start); +ok($feat->end == $end); +ok($feat->strand == $strand); +ok($feat->slice->name eq $slice->name); +ok($feat->hstart == $hstart); +ok($feat->hend == $hend); +ok($feat->hseqname eq $hseqname); +ok($feat->cigar_string eq $cigar_string); +ok($feat->percent_id == $percent_id); +ok($feat->score == $score); +ok($feat->p_value == $evalue); +ok($feat->analysis->logic_name eq $analysis->logic_name); + +$multi->restore('core', 'protein_align_feature'); + + + + +sub print_features { + return if(!$verbose); + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my $seqname = $f->slice->seq_region_name(); + my $analysis = $f->analysis->logic_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '. $f->cigar_string . ' ' . + $f->hstart .'-'.$f->hend.' ('.$f->hstrand.')'.$f->score() . + " ($analysis) " . $f->percent_id); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/proteinFeature.t b/modules/t/proteinFeature.t new file mode 100644 index 0000000000..dd333ddcb9 --- /dev/null +++ b/modules/t/proteinFeature.t @@ -0,0 +1,86 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 17; +} + +use TestUtils qw( debug test_getter_setter ); + +use Bio::EnsEMBL::ProteinFeature; +use Bio::EnsEMBL::Analysis; + +our $verbose = 0; #turn on or off debug statements + + +# +# Test new and getters +# +my $start = 10; +my $end = 100; +my $hstart = 1; +my $hend = 90; +my $hstrand = 1; +my $hseqname = 'RF1231'; +my $percent_id = 90.8; +my $p_value = '1.52'; +my $score = 50; +my $species = 'Homo_sapiens'; +my $hspecies = 'Mus_musculus'; + +my $idesc = 'interpro description'; +my $interpro_ac = 'interpro accession'; + +my $analysis = Bio::EnsEMBL::Analysis->new(-LOGIC_NAME => 'test'); + + +my $f = Bio::EnsEMBL::ProteinFeature->new + (-START => $start, + -END => $end, + -ANALYSIS => $analysis, + -HSTART => $hstart, + -HEND => $hend, + -HSEQNAME => $hseqname, + -PERCENT_ID => $percent_id, + -P_VALUE => $p_value, + -SCORE => $score, + -SPECIES => $species, + -HSPECIES => $hspecies, + -IDESC => $idesc, + -INTERPRO_AC => $interpro_ac); + + + +ok($f && $f->isa('Bio::EnsEMBL::ProteinFeature')); + +ok($f->start == $start); +ok($f->end == $end); +ok($f->analysis == $analysis); + +ok($f->hstart == $hstart); +ok($f->hend == $hend); +ok($f->hseqname eq $hseqname); +ok($f->percent_id == $percent_id); +ok($f->p_value == $p_value); +ok($f->score == $score); +ok($f->species eq $species); +ok($f->hspecies eq $hspecies); + +ok($f->idesc eq $idesc); +ok($f->interpro_ac eq $interpro_ac); + +# check that the strand is 0 +ok($f->strand == 0); + +# +# Test setters +# +ok(test_getter_setter($f, 'idesc', 'interpro desc1')); +ok(test_getter_setter($f, 'interpro_ac', 'interpro ac1')); + + + + diff --git a/modules/t/proteinFeatureAdaptor.t b/modules/t/proteinFeatureAdaptor.t new file mode 100644 index 0000000000..795170d48c --- /dev/null +++ b/modules/t/proteinFeatureAdaptor.t @@ -0,0 +1,43 @@ +use strict; + +use lib 't'; +use TestUtils qw(test_getter_setter debug); + +BEGIN { $| = 1; + use Test; + plan tests => 2; +} + +use MultiTestDB; + +our $verbose = 0; + +my $multi = MultiTestDB->new; + +# get a core DBAdaptor +my $dba = $multi->get_DBAdaptor("core"); + + +# +# Test get_ProteinFeatureAdaptor works +# +my $pfa = $dba->get_ProteinFeatureAdaptor(); + +ok($pfa && ref($pfa) && $pfa->isa('Bio::EnsEMBL::DBSQL::ProteinFeatureAdaptor')); + + +my $pfs = $pfa->fetch_all_by_translation_id(21724); + +print_features($pfs); + +ok(@$pfs == 15); + +sub print_features { + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + debug($f->start.'-'.$f->end. ' -> '.$f->hseqname. ':'. + $f->hstart. '-'.$f->hend); + } + } +} diff --git a/modules/t/qtl.t b/modules/t/qtl.t index b6765e4514..ac9b1b555a 100644 --- a/modules/t/qtl.t +++ b/modules/t/qtl.t @@ -4,7 +4,7 @@ use warnings; BEGIN { $| = 1; use Test ; - plan tests => 7; + plan tests => 6; } use MultiTestDB; @@ -25,7 +25,7 @@ my $sa = $db->get_SliceAdaptor(); -my $slice = $sa->fetch_by_chr_name( "20" ); +my $slice = $sa->fetch_by_region( 'chromosome', "20" ); my $qtl_features = $slice->get_all_QtlFeatures(); @@ -56,8 +56,4 @@ my $synonyms = $qtl->get_synonyms; ok($synonyms->{'rat genome database'} eq 'rqtl2'); -my @result = $qf->transform(); - -debug( join("\n", @result )); -ok( scalar( @result ) == 9 ); diff --git a/modules/t/rangeRegistry.t b/modules/t/rangeRegistry.t new file mode 100644 index 0000000000..657560cbb7 --- /dev/null +++ b/modules/t/rangeRegistry.t @@ -0,0 +1,115 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 21; +} + +use TestUtils qw( debug ); + +use Bio::EnsEMBL::Mapper::RangeRegistry; + +our $verbose= 0; + +my $rr = Bio::EnsEMBL::Mapper::RangeRegistry->new(); + +my $id = 'ID1'; + +#expect [100,400] back +my $range = $rr->check_and_register($id, 200,300, 100,400); +ok(@$range==1 && $range->[0]->[0] == 100 && $range->[0]->[1] == 400); +print_ranges($range); + +#expect undef back +$range = $rr->check_and_register($id, 150,190, 100,200); +ok(!defined($range)); +print_ranges($range); + +#expect [401,500] back +$range = $rr->check_and_register($id, 200, 500); +ok(@$range==1 && $range->[0]->[0] == 401 && $range->[0]->[1] == 500); +print_ranges($range); + +#expect undef back +$range = $rr->check_and_register($id, 300, 500); +ok(!defined($range)); +print_ranges($range); + +#expect 700-900 back +$range = $rr->check_and_register($id, 700, 900); +ok(@$range==1 && $range->[0]->[0] == 700 && $range->[0]->[1] == 900); +print_ranges($range); + +# expect 1000-1200 back +$range = $rr->check_and_register($id, 1050, 1150, 1000, 1200); +ok(@$range==1 && $range->[0]->[0] == 1000 && $range->[0]->[1] == 1200); +print_ranges($range); + +#expect 50-99, 501-699, 901-950 back +$range = $rr->check_and_register($id, 50, 200, 50, 950); +ok(@$range==3 && $range->[0]->[0] == 50 && $range->[0]->[1] == 99); +ok(@$range==3 && $range->[1]->[0] == 501 && $range->[1]->[1] == 699); +ok(@$range==3 && $range->[2]->[0] == 901 && $range->[2]->[1] == 950); +print_ranges($range); + +#make sure that the interal list has been merged into 2 ranges +#we have to do this to make sure that it is efficient +my $internal_list = $rr->{'registry'}->{$id}; +ok(@$internal_list == 2); + +#check that creating adjacent regions merges the list correctly +$range = $rr->check_and_register($id, 40,45,30,49); +ok(@$internal_list == 2); +ok(@$range==1 && $range->[0]->[0] == 30 && $range->[0]->[1] == 49); +print_ranges($range); + +$range = $rr->check_and_register($id, 951, 999); +ok(@$internal_list == 1); +ok($range && $range->[0]->[0] == 951 && $range->[0]->[1] == 999); +print_ranges($range); + + +# Check that a single range can be added to the beginning +$range = $rr->check_and_register($id, 1, 10, 1,20); +ok(@$internal_list == 2); +ok(@$range==1 && $range->[0]->[0] == 1 && $range->[0]->[1] == 20); +print_ranges($range); + +#check range that spans entire existing ranges +$range = $rr->check_and_register($id, 1, 1200); +ok(@$internal_list == 1); +ok(@$range==1 && $range->[0]->[0] == 21 && $range->[0]->[1] == 29); +print_ranges($range); + +#check adding identical range to existing internal range +$range = $rr->check_and_register($id, 1, 1200); +ok(!defined($range)); +print_ranges($range); + + +#check requesting small area of size 1 +$range = $rr->check_and_register($id,10,10, 1, 1e6); +ok(!defined($range)); +print_ranges($range); + +#check that adding a range to a different id works +$range = $rr->check_and_register("ID2", 100,500, 1, 600); +ok($range && @$range==1 && $range->[0]->[0] == 1 && $range->[0]->[1] == 600); +print_ranges($range); + + + +sub print_ranges { + my $rangelist = shift; + if(!defined($rangelist)) { + debug("UNDEF"); + return; + } + + foreach my $range (@$rangelist) { + debug('['.$range->[0].'-'.$range->[1].']'); + } +} diff --git a/modules/t/rawContig.t b/modules/t/rawContig.t index 85fc774f9f..65f37c9d28 100755 --- a/modules/t/rawContig.t +++ b/modules/t/rawContig.t @@ -8,6 +8,17 @@ BEGIN { $| = 1; use MultiTestDB; use TestUtils qw(debug); +use Bio::EnsEMBL::Utils::Exception qw(verbose); + +###################################################################### +# +# Clone is a deprecated class but needed for backwards +# compatibility. These tests ensure that it actually works, +# but verbosity is turned off to avoid all of the deprecated warnings +# +####################################################################### + +verbose(-1); our $verbose = 0; #set to 1 for debug printing @@ -61,7 +72,7 @@ my $repseq = $contig->get_repeatmasked_seq( ); debug( "Repeatmasked: ".substr( $repseq->seq(), 0, 50 ) ); debug( " isa ".ref( $repseq )); -ok( $repseq->isa( "Bio::PrimarySeq" )); +ok( $repseq->isa( "Bio::EnsEMBL::RepeatMaskedSlice" )); my $sFeatures = $contig->get_all_SimilarityFeatures( "swall" ); @@ -103,3 +114,7 @@ ok( $a == 6395 && $n == 0 && $gc_content == 48.28 && $a + $t + $c + $g + $n == $contig->length()); + + + +verbose(0); diff --git a/modules/t/rawContigAdaptor.t b/modules/t/rawContigAdaptor.t index 93abebdc7a..ab84ac0369 100644 --- a/modules/t/rawContigAdaptor.t +++ b/modules/t/rawContigAdaptor.t @@ -5,7 +5,7 @@ use warnings; BEGIN { $| = 1; use Test; - plan tests => 41; + plan tests => 26; } use MultiTestDB; @@ -14,6 +14,19 @@ use Bio::EnsEMBL::RawContig; use TestUtils qw(test_getter_setter); use Bio::Seq; +use Bio::EnsEMBL::Utils::Exception qw(verbose); + +###################################################################### +# +# RawContigAdaptor is a deprecated class but needed for backwards +# compatibility. These tests ensure that it actually works, +# but verbosity is turned off to avoid all of the deprecated warnings +# +####################################################################### + +verbose(-1); + + # #1 slice adaptor compiles # @@ -69,7 +82,7 @@ my $contig3 = $contigs_from_clone->[0]; ok ($contig3->dbID == 368744); ok ($contig3->name eq "AL359765.6.1.13780"); ok ($contig3->length == 13780); -ok ($contig3->clone->dbID == 26799); +ok ($contig3->clone->name eq "AL359765.6"); # @@ -83,7 +96,7 @@ ok($unpop_contig->name eq 'AL133343.23.1.63609'); ok($unpop_contig->length == 63609); ok($unpop_contig->dbID == 469270); ok($unpop_contig->embl_offset == 1); -ok($unpop_contig->clone->dbID == 34957); +ok($unpop_contig->clone->name eq "AL133343.23"); # @@ -114,109 +127,113 @@ ok($first_contig->name eq 'AL359765.6.1.13780'); ok($first_contig->length == 13780); ok($first_contig->dbID == 368744); ok($first_contig->embl_offset == 1); -ok($first_contig->clone->dbID == 26799); +ok($first_contig->clone->name eq "AL359765.6"); -# -# 26-32 check out the store -# +## +## 26-32 check out the store +## -# save the original state of the contig table -$multi->save("core","contig","dna"); +## save the original state of the contig table +#$multi->save("core","contig","dna"); -my $dname = 'dummy_contig'; -my $dummy_contig = Bio::EnsEMBL::RawContig->new; -$dummy_contig->name($dname); -$dummy_contig->embl_offset(7); -$dummy_contig->length(24); +#my $dname = 'dummy_contig'; +#my $dummy_contig = Bio::EnsEMBL::RawContig->new; +#$dummy_contig->name($dname); +#$dummy_contig->embl_offset(7); +#$dummy_contig->length(24); -my $seq = Bio::Seq->new(-seq => 'ATGCAGCTAGCATCGATGACATCG', - -id => 'dummy_contig', - -accession => 'dummy_contig'); -ok($seq); +#my $seq = Bio::Seq->new(-seq => 'ATGCAGCTAGCATCGATGACATCG', +# -id => 'dummy_contig', +# -accession => 'dummy_contig'); +#ok($seq); -$dummy_contig->seq($seq); +#$dummy_contig->seq($seq); -$raw_adaptor->store($dummy_contig, $clone); -ok($raw_adaptor); +#$raw_adaptor->store($dummy_contig, $clone); +#ok($raw_adaptor); -# -# manual check to see whether the contig has gone in -# -my $sth = $db->prepare("select * from contig"); -$sth->execute; -#print STDERR "Num contigs " . scalar($sth->rows) . "\n"; -ok(scalar($sth->rows) == 13); +## +## manual check to see whether the contig has gone in +## +#my $sth = $db->prepare("select * from contig"); +#$sth->execute; +##print STDERR "Num contigs " . scalar($sth->rows) . "\n"; +#ok(scalar($sth->rows) == 13); -# -# and just to check, retrieve the stored items -# +## +## and just to check, retrieve the stored items +## -my $stored_contig = $raw_adaptor->fetch_by_name($dname); -ok($stored_contig->name eq $dname); -ok($stored_contig->embl_offset == 7); -ok($stored_contig->length == 24); -ok($stored_contig->clone->isa('Bio::EnsEMBL::Clone')); +#my $stored_contig = $raw_adaptor->fetch_by_name($dname); +#ok($stored_contig->name eq $dname); +#ok($stored_contig->embl_offset == 7); +#ok($stored_contig->length == 24); +#ok($stored_contig->clone->isa('Bio::EnsEMBL::Clone')); -# restore the contig table -$multi->restore("core","contig","dna"); +## restore the contig table +#$multi->restore("core","contig","dna"); -# -# 33-40 remove -# +## +## 33-40 remove +## -# save the original state of the contig table -$multi->save("core","contig","dna","repeat_feature","simple_feature", - "dna_align_feature","protein_align_feature","prediction_transcript"); +## save the original state of the contig table +#$multi->save("core","contig","dna","repeat_feature","simple_feature", +# "dna_align_feature","protein_align_feature","prediction_transcript"); -# remove the contig AL031658.11.1.162976 from the db -$raw_adaptor->remove($contig); -ok($raw_adaptor); +## remove the contig AL031658.11.1.162976 from the db +#$raw_adaptor->remove($contig); +#ok($raw_adaptor); -# manual check to see whether the contig and associated -#features have gone in -# +## manual check to see whether the contig and associated +##features have gone in +## + +#$sth = $db->prepare("select * from contig"); +#$sth->execute; +#ok(scalar($sth->rows) == 11); + +#$sth = $db->prepare("select * from dna"); +#$sth->execute; +#ok(scalar($sth->rows) == 11); + +## contig should have 419 records +#$sth = $db->prepare("select * from repeat_feature"); +#$sth->execute; +#ok(scalar($sth->rows) == 1937); -$sth = $db->prepare("select * from contig"); -$sth->execute; -ok(scalar($sth->rows) == 11); +## contig should have 20 records +#$sth = $db->prepare("select * from simple_feature"); +#$sth->execute; +#ok(scalar($sth->rows) == 116); -$sth = $db->prepare("select * from dna"); -$sth->execute; -ok(scalar($sth->rows) == 11); +## contig should have 11641 records +#$sth = $db->prepare("select * from dna_align_feature"); +#$sth->execute; +#ok(scalar($sth->rows) == 15525); -# contig should have 419 records -$sth = $db->prepare("select * from repeat_feature"); -$sth->execute; -ok(scalar($sth->rows) == 1937); +## contig should have 2507 records +#$sth = $db->prepare("select * from protein_align_feature"); +#$sth->execute; +#ok(scalar($sth->rows) == 4727); -# contig should have 20 records -$sth = $db->prepare("select * from simple_feature"); -$sth->execute; -ok(scalar($sth->rows) == 116); +## contig should have 30 records +#$sth = $db->prepare("select * from prediction_transcript"); +#$sth->execute; +#ok(scalar($sth->rows) == 161); -# contig should have 11641 records -$sth = $db->prepare("select * from dna_align_feature"); -$sth->execute; -ok(scalar($sth->rows) == 15525); +## restore the original state of the contig table +#$multi->restore("core","contig","dna","repeat_feature","simple_feature", +# "dna_align_feature","protein_align_feature","prediction_transcript"); -# contig should have 2507 records -$sth = $db->prepare("select * from protein_align_feature"); -$sth->execute; -ok(scalar($sth->rows) == 4727); -# contig should have 30 records -$sth = $db->prepare("select * from prediction_transcript"); -$sth->execute; -ok(scalar($sth->rows) == 161); -# restore the original state of the contig table -$multi->restore("core","contig","dna","repeat_feature","simple_feature", - "dna_align_feature","protein_align_feature","prediction_transcript"); +verbose(0); \ No newline at end of file diff --git a/modules/t/repeatConsensus.t b/modules/t/repeatConsensus.t index 5480904a32..9b843aca7f 100644 --- a/modules/t/repeatConsensus.t +++ b/modules/t/repeatConsensus.t @@ -1,45 +1,45 @@ +use strict; use lib 't'; use TestUtils qw(test_getter_setter); -BEGIN { $| = 1; +use Bio::EnsEMBL::RepeatConsensus; + + +BEGIN { $| = 1; use Test; - plan tests => 13; + plan tests => 12; } -my $loaded = 0; -END {print "not ok 1\n" unless $loaded;} - my $verbose = 0; -use MultiTestDB; - -my $multi = MultiTestDB->new(); - -$loaded = 1; - -ok(1); - -my $db = $multi->get_DBAdaptor( 'core' ); - -$repeat_c_ad = $db->get_RepeatConsensusAdaptor(); - -ok ($repeat_c_ad); - -my $repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new(); - -ok ($repeat_consensus); - -ok (test_getter_setter($repeat_consensus,'length',10)); -ok (test_getter_setter($repeat_consensus,'repeat_class','dummy')); -ok (test_getter_setter($repeat_consensus,'name','dummy')); -ok (test_getter_setter($repeat_consensus,'repeat_consensus','ATGCATGCAT')); -ok (test_getter_setter($repeat_consensus,'dbID',42)); - -ok ($repeat_consensus->desc eq 'class=dummy'); -ok ($repeat_consensus->moltype eq 'dna'); -ok ($repeat_consensus->alphabet eq 'dna'); -ok ($repeat_consensus->seq eq 'ATGCATGCAT'); - -$repeat_c_ad->store($repeat_consensus); - -ok(1); +my $consensus = 'actg'; +my $name = 'actg(n)'; +my $length = 4; +my $class = 'Simple_repeat'; +my $dbID = 123; + +# +# Test constructor +# +my $repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => $consensus, + -NAME => $name, + -LENGTH => $length, + -REPEAT_CLASS => $class, + -DBID => 123); + +ok ($repeat_consensus && ref($repeat_consensus) && + $repeat_consensus->isa('Bio::EnsEMBL::RepeatConsensus')); + +ok($repeat_consensus->length() == $length); +ok($repeat_consensus->repeat_consensus() eq $consensus); +ok($repeat_consensus->seq() eq $consensus); +ok($repeat_consensus->name() eq $name); +ok($repeat_consensus->dbID() == $dbID); +ok($repeat_consensus->repeat_class() eq $class); + +ok(test_getter_setter($repeat_consensus,'length',10)); +ok(test_getter_setter($repeat_consensus,'repeat_class','dummy')); +ok(test_getter_setter($repeat_consensus,'name','dummy')); +ok(test_getter_setter($repeat_consensus,'repeat_consensus','ATGCATGCAT')); +ok(test_getter_setter($repeat_consensus,'dbID',42)); diff --git a/modules/t/repeatConsensusAdaptor.t b/modules/t/repeatConsensusAdaptor.t new file mode 100644 index 0000000000..5ebbc5760b --- /dev/null +++ b/modules/t/repeatConsensusAdaptor.t @@ -0,0 +1,87 @@ +use strict; +use lib 't'; +use TestUtils qw(test_getter_setter); + +use MultiTestDB; + + +BEGIN { $| = 1; + use Test; + plan tests => 22; +} + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + +my $verbose = 0; + +# Test Creation + +my $rca = $db->get_RepeatConsensusAdaptor(); + +ok(ref($rca) && $rca->isa('Bio::EnsEMBL::DBSQL::RepeatConsensusAdaptor')); + +# +# Test fetch_by_dbID +# + +my $rc = $rca->fetch_by_dbID(9); +ok($rc->name() eq 'MIR3'); +ok($rc->dbID == 9); +ok($rc->repeat_consensus eq ''); +ok($rc->length() == 0); +ok($rc->repeat_class eq 'Type I Transposons/SINE'); + +# +# Test fetch_by_name +# +$rc = $rca->fetch_by_name('MIR'); +ok($rc->name() eq 'MIR'); +ok($rc->dbID() == 1); +ok($rc->repeat_consensus eq ''); +ok($rc->length() == 0); +ok($rc->repeat_class eq 'Type I Transposons/SINE'); + +# +# Test fetch_by_name_class +# + +$rc = $rca->fetch_by_name_class('MER65A', 'LTRs'); +ok($rc->name() eq 'MER65A'); +ok($rc->dbID() == 283); +ok($rc->repeat_class eq 'LTRs'); +ok($rc->repeat_consensus eq ''); +ok($rc->length() == 0); + +# +# Test fetch_all_by_class_seq +# +ok(@{$rca->fetch_all_by_class_seq('LTRs', '')} == 38); + +# +# Test store +# + +$multi_db->save('core', 'repeat_consensus'); + +$rc = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => 'ACTG', + -NAME => 'ACTG(n)', + -LENGTH => 4, + -REPEAT_CLASS => 'Simple_repeat'); + + +$rca->store($rc); + +ok($rc->dbID && $rc->adaptor()); + +$rc = $rca->fetch_by_dbID($rc->dbID); + +ok($rc->repeat_consensus eq 'ACTG'); +ok($rc->repeat_class eq 'Simple_repeat'); +ok($rc->length() == 4); +ok($rc->name eq 'ACTG(n)'); + + +$multi_db->restore('core', 'repeat_consensus'); + diff --git a/modules/t/repeatFeature.t b/modules/t/repeatFeature.t index 8b5ddcb3dd..fdb31736da 100644 --- a/modules/t/repeatFeature.t +++ b/modules/t/repeatFeature.t @@ -1,93 +1,98 @@ +use strict; + +use Bio::EnsEMBL::RepeatFeature; +use Bio::EnsEMBL::Slice; +use Bio::EnsEMBL::Analysis; +use Bio::EnsEMBL::RepeatConsensus; +use Bio::EnsEMBL::CoordSystem; +use Bio::EnsEMBL::RepeatFeature; + use lib 't'; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 12; + plan tests => 16; } -use MultiTestDB; use TestUtils qw(test_getter_setter debug); our $verbose = 0; -my $multi = MultiTestDB->new(); - -ok(1); - -my $db = $multi->get_DBAdaptor( 'core' ); - -$cadp = $db->get_RawContigAdaptor(); - -$contig = $cadp->fetch_by_dbID(319456); - -my $analysis = $db->get_AnalysisAdaptor->fetch_by_logic_name("RepeatMask"); - -debug( "ANALYSIS ".$analysis ); - -ok($analysis); -ok($contig); - -$repeat_f_ad = $db->get_RepeatFeatureAdaptor(); -$repeat_c_ad = $db->get_RepeatConsensusAdaptor(); - - -debug( "Analysis dbID ".$analysis->dbID ); - -my $repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new(); - -$repeat_consensus->length(10); -$repeat_consensus->repeat_class('dummy'); -$repeat_consensus->name('dummy'); -$repeat_consensus->repeat_consensus('ATGCATGCAT'); - -ok($repeat_consensus); - -$repeat_c_ad->store($repeat_consensus); - -ok(1); - -my $repeat_feature = Bio::EnsEMBL::RepeatFeature->new(); +my $coord_system = Bio::EnsEMBL::CoordSystem->new + (-NAME => 'chromosome', + -VERSION => 'NCBI34', + -DBID => 123, + -TOP_LEVEL => 1); -$repeat_feature->start(26); -$repeat_feature->end(65); -$repeat_feature->strand(1); -$repeat_feature->hstart(6); -$repeat_feature->hend(45); -$repeat_feature->score(100); -$repeat_feature->analysis($analysis); -$repeat_feature->repeat_consensus($repeat_consensus); -$repeat_feature->contig( $contig ); +my $analysis = Bio::EnsEMBL::Analysis->new(-LOGIC_NAME => 'test'); -ok($repeat_feature); -$multi->hide( "core", "repeat_feature" ); +my $slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $coord_system, + -SEQ_REGION_NAME => 'X', + -START => 1_000_000, + -END => 2_000_000); -$repeat_f_ad->store( $repeat_feature ); +my $repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => 'ACTG', + -NAME => 'ACTG(n)', + -LENGTH => 4, + -REPEAT_CLASS => 'Simple_repeat'); -ok(1); +# +# Test new and getters +# -my $repeats = $repeat_f_ad->fetch_all_by_RawContig($contig); +my $start = 10; +my $end = 100; +my $strand = -1; +my $hstart = 1; +my $hend = 90; +my $dbID = 123; +my $score = 12.5; -my $repeat = $repeats->[0]; +my $rf = Bio::EnsEMBL::RepeatFeature->new + (-START => $start, + -END => $end, + -STRAND => $strand, + -ANALYSIS => $analysis, + -SLICE => $slice, + -HSTART => $hstart, + -HEND => $hend, + -SCORE => $score, + -REPEAT_CONSENSUS => $repeat_consensus); -ok($repeat); -ok($repeat->start == 26); -ok($repeat->hend == 45); +ok($rf && $rf->isa('Bio::EnsEMBL::RepeatFeature')); -my $dbID = $repeat->dbID; +ok($rf->start == $start); +ok($rf->end == $end); +ok($rf->strand == $strand); +ok($rf->analysis == $analysis); +ok($rf->slice == $slice); +ok($rf->hstart == $hstart); +ok($rf->hend == $hend); +ok($rf->score == $score); +ok($rf->repeat_consensus == $repeat_consensus); -my $r = $repeat_f_ad->fetch_by_dbID($dbID); -ok($r->dbID == $dbID && $r->start == 26 && $r->hend == 45); +# +# Test Getter/Setters +# +$repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => 'ACTG', + -NAME => 'ACTG(n)', + -LENGTH => 4, + -REPEAT_CLASS => 'Simple_repeat'); -# list_dbIDs -my $ids = $repeat_f_ad->list_dbIDs(); -ok (@{$ids}); -$multi->restore('core', 'repeat_feature'); +ok(test_getter_setter($rf, 'hstart', 120)); +ok(test_getter_setter($rf, 'hend', 200)); +ok(test_getter_setter($rf, 'repeat_consensus', $repeat_consensus)); +ok(test_getter_setter($rf, 'score', '45.5')); +ok($rf->display_id eq 'ACTG(n)'); +ok($rf->hstrand == 1); diff --git a/modules/t/repeatFeatureAdaptor.t b/modules/t/repeatFeatureAdaptor.t new file mode 100644 index 0000000000..d8700430e7 --- /dev/null +++ b/modules/t/repeatFeatureAdaptor.t @@ -0,0 +1,126 @@ +use strict; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 9; +} + + +use MultiTestDB; +use TestUtils qw(test_getter_setter debug); + +our $verbose = 0; + + +my $multi = MultiTestDB->new(); + +my $db = $multi->get_DBAdaptor( 'core' ); + +my $slice_adaptor = $db->get_SliceAdaptor(); +my $analysis = $db->get_AnalysisAdaptor->fetch_by_logic_name('RepeatMask'); +my $slice = $slice_adaptor->fetch_by_seq_region_id(319456); + +my $repeat_f_ad = $db->get_RepeatFeatureAdaptor(); +my $repeat_c_ad = $db->get_RepeatConsensusAdaptor(); + + +# +# Test storing and simple retrieval +# + +my $repeat_consensus = Bio::EnsEMBL::RepeatConsensus->new(); + +$repeat_consensus->length(10); +$repeat_consensus->repeat_class('dummy'); +$repeat_consensus->name('dummy'); +$repeat_consensus->repeat_consensus('ATGCATGCAT'); + +ok($repeat_consensus); + +$repeat_c_ad->store($repeat_consensus); + +ok(1); + +my $repeat_feature = Bio::EnsEMBL::RepeatFeature->new(); + +$repeat_feature->start(26); +$repeat_feature->end(65); +$repeat_feature->strand(1); +$repeat_feature->hstart(6); +$repeat_feature->hend(45); +$repeat_feature->score(100); +$repeat_feature->analysis($analysis); +$repeat_feature->repeat_consensus($repeat_consensus); +$repeat_feature->slice( $slice ); + +ok($repeat_feature); +$multi->hide( "core", "repeat_feature" ); + +$repeat_f_ad->store( $repeat_feature ); + + +ok(1); + +my $repeats = $repeat_f_ad->fetch_all_by_Slice($slice); + +my $repeat = $repeats->[0]; + +ok($repeat); + +ok($repeat->start == 26); +ok($repeat->hend == 45); + +my $dbID = $repeat->dbID; + +my $r = $repeat_f_ad->fetch_by_dbID($dbID); + +ok($r->dbID == $dbID && $r->start == 26 && $r->hend == 45); + + +# +# Test list_dbIDs +# +my $ids = $repeat_f_ad->list_dbIDs(); +ok (@{$ids}); + +$multi->restore('core', 'repeat_feature'); + + + +# +# Test retrieval via Slice +# +$slice = $db->get_SliceAdaptor->fetch_by_region('chromosome', + '20', 30_000_000, + 40_000_000); + +my $feats = $repeat_f_ad->fetch_all_by_Slice($slice); +debug('fetching by chromosomal slice---'); +debug("Got " . scalar(@$feats) . " features back"); +print_features($feats); + + +$r = $repeat_f_ad->fetch_by_dbID(518841); +$r = $r->transform('supercontig'); +debug('---fetching by dbID and transform to supercontig coords---'); +print_features([$r]); + + + +sub print_features { + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my $seqname = $f->slice->seq_region_name(); + my $analysis = $f->analysis->logic_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '. $f->repeat_consensus->name() . ' ' . + $f->hstart .'-'.$f->hend.' '.$f->score() . + " ($analysis)"); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/seqDumper.t b/modules/t/seqDumper.t new file mode 100644 index 0000000000..1023f63013 --- /dev/null +++ b/modules/t/seqDumper.t @@ -0,0 +1,67 @@ +use lib 't'; +use strict; +use warnings; + +use Bio::EnsEMBL::Utils::SeqDumper; +use TestUtils qw ( debug test_getter_setter ); +use MultiTestDB; + +BEGIN { $| = 1; + use Test; + plan tests => 7; +} + + +our $verbose = 0; + +my $multi = MultiTestDB->new(); + +my $db = $multi->get_DBAdaptor( "core" ); + + +my $seq_dumper = Bio::EnsEMBL::Utils::SeqDumper->new(); + +ok(ref($seq_dumper) && $seq_dumper->isa('Bio::EnsEMBL::Utils::SeqDumper')); + +my $file; + +if($verbose) { + $file = undef; +} else { + $file = '/dev/null'; +} + + +#do not dump snps they are not in core db +$seq_dumper->disable_feature_type('variation'); + +my $slice_adaptor = $db->get_SliceAdaptor(); + + +my $slice = + $slice_adaptor->fetch_by_region('contig', 'AL031658.11.1.162976'); + +$seq_dumper->dump($slice, 'EMBL', $file); +ok(1); + +$seq_dumper->dump($slice, 'GENBANK', $file); +ok(1); + +$seq_dumper->dump($slice, 'FASTA', $file); +ok(1); + + + + +$slice = + $slice_adaptor->fetch_by_region('chromosome', '20', 30_500_000, 30_600_000); + +$seq_dumper->dump($slice, 'EMBL', $file); +ok(1); + +$seq_dumper->dump($slice, 'GENBANK', $file); +ok(1); + +$seq_dumper->dump($slice, 'FASTA', $file); +ok(1); + diff --git a/modules/t/sequenceAdaptor.t b/modules/t/sequenceAdaptor.t new file mode 100644 index 0000000000..4c776e3c7a --- /dev/null +++ b/modules/t/sequenceAdaptor.t @@ -0,0 +1,70 @@ +use strict; +use warnings; + +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 8; +} + +use TestUtils qw( debug ); + +use MultiTestDB; +use Bio::EnsEMBL::Slice; + +our $verbose= 0; + + +my $multi_db = MultiTestDB->new; +my $db = $multi_db->get_DBAdaptor('core'); + +my $CHR = '20'; +my $START = 30_220_000; +my $END = 31_200_000; +my $STRAND = 1; + +# +# Test fetch_by_Slice_start_end_strand +# + +my $slice_adaptor = $db->get_SliceAdaptor; +my $seq_adaptor = $db->get_SequenceAdaptor(); + + +my $slice = $slice_adaptor->fetch_by_region('chromosome', $CHR, $START, $END); +compare_compliments($slice, $seq_adaptor); + +$slice = $slice_adaptor->fetch_by_region('clone','AL031658.11'); +compare_compliments($slice, $seq_adaptor); + +$slice = $slice_adaptor->fetch_by_region('supercontig','NT_028392'); +compare_compliments($slice, $seq_adaptor); + +$slice = $slice_adaptor->fetch_by_region('contig', 'AL031658.11.1.162976'); +compare_compliments($slice, $seq_adaptor); + + +sub compare_compliments { + my $slice = shift; + my $seq_adaptor = shift; + + my $seq = ${$seq_adaptor->fetch_by_Slice_start_end_strand($slice,1,undef,1)}; + + debug('FORWARD STRAND SLICE SEQ for ' . $slice->name()); + debug($seq); + + my $invert_seq = + ${$seq_adaptor->fetch_by_Slice_start_end_strand($slice->invert,1,undef,1)}; + + debug('REVERSE STRAND SLICE SEQ for ' . $slice->name()); + debug($invert_seq); + + ok(length($seq) == $slice->length); #sequence is correct length + + $seq = reverse $seq; #reverse complement seq + $seq =~ tr/ACTG/TGAC/; + + ok($seq eq $invert_seq); #revcom same as seq on inverted slice +} + diff --git a/modules/t/simpleFeature.t b/modules/t/simpleFeature.t index ed10ca4566..918c783a99 100644 --- a/modules/t/simpleFeature.t +++ b/modules/t/simpleFeature.t @@ -1,17 +1,19 @@ +use strict; + use lib 't'; -use TestUtils qw(test_getter_setter); +use TestUtils qw(test_getter_setter debug); BEGIN { $| = 1; use Test; - plan tests => 10; + plan tests => 34; } use MultiTestDB; use Bio::EnsEMBL::SimpleFeature; -use Bio::EnsEMBL::RawContig; -use Bio::Seq; +our $verbose = 0; + my $multi = MultiTestDB->new; # get a core DBAdaptor @@ -22,7 +24,7 @@ my $sfa = $dba->get_SimpleFeatureAdaptor; # # 1 create a new Simplefeature # -$sf = new Bio::EnsEMBL::SimpleFeature; +my $sf = new Bio::EnsEMBL::SimpleFeature; ok($sf); @@ -49,27 +51,6 @@ ok(test_getter_setter($sf,'display_label','dummy_label')); ok(test_getter_setter($sf,'dbID',42)); -# -# 8 attach a contig -# -# create a dummy seq and contig -# -my $seq = Bio::Seq->new(-seq => 'ATGCAGCTAGCATCGATGACATCG', - -id => 'dummy_contig', - -accession => 'dummy_contig'); - -my $contig = Bio::EnsEMBL::RawContig->new(); - -my $name = 'dummy_contig'; -$contig->id($name); -$contig->embl_offset(0); -$contig->seq($seq); - -# now attach the contig - -$sf->contig($contig); -ok($sf); - # # 9 check adaptor attaching @@ -77,6 +58,102 @@ ok($sf); $sf->adaptor($sfa); ok($sf->adaptor->isa('Bio::EnsEMBL::DBSQL::SimpleFeatureAdaptor')); -# list_dbIDs + +my $chr_slice = $dba->get_SliceAdaptor->fetch_by_region('chromosome', '20'); +my $features = $sfa->fetch_all_by_Slice($chr_slice); +debug('--- chr 20 simple features ---'); +debug("Got " . scalar(@$features)); +ok(@$features == 136); +print_features($features); + + +my $cln_slice = $dba->get_SliceAdaptor->fetch_by_region('clone','AL031658.11'); +$features = $sfa->fetch_all_by_Slice($cln_slice); +debug('-- cln AL031658.11 simple features ---'); +debug("Got " . scalar(@$features)); +ok(@$features == 20); +print_features($features); + +my $sprctg_slice = $dba->get_SliceAdaptor->fetch_by_region('supercontig', + 'NT_028392'); +$features = $sfa->fetch_all_by_Slice($sprctg_slice); +debug('-- sprctg NT_028392 simple features ---'); +debug("Got " . scalar(@$features)); +ok(@$features == 136); +print_features($features); + +my $ctg_slice = $dba->get_SliceAdaptor->fetch_by_region('contig', + 'AL031658.11.1.162976'); +$features = $sfa->fetch_all_by_Slice($ctg_slice); +debug('--- contig AL031658.11.1.162976 simple features ---'); +debug("Got " . scalar(@$features)); +ok(@$features == 20); +print_features($features); + + + +#retrieve a feature via dbID + +debug('---- fetch_by_dbID (default coords) ----'); +my $feat = $sfa->fetch_by_dbID(14564); +ok($feat->dbID == 14564); +ok($feat->slice->seq_region_name() eq 'AL031658.11.1.162976'); +ok($feat->start == 64109); +ok($feat->end == 64112); +ok($feat->strand == 1); + +print_features([$feat]); + +#transform to chromosome coords +debug('---- tranform to chromosomal ----'); +$feat = $feat->transform('chromosome'); +ok($feat->dbID == 14564); +ok($feat->slice->seq_region_name() eq '20'); +ok($feat->start == 30327623); +ok($feat->end == 30327626); +ok($feat->strand == 1); +print_features([$feat]); + +# transform to supercontig +debug('---- tranform to supercontig ----'); +$feat = $feat->transform('contig')->transform('supercontig'); +ok($feat->dbID == 14564); +ok($feat->slice->seq_region_name() eq 'NT_028392'); +ok($feat->start == 735658); +ok($feat->end == 735661); +ok($feat->strand == 1); +print_features([$feat]); + +debug('---- transform to clone ----'); +$feat = $feat->transform('contig')->transform('clone'); +ok($feat->dbID == 14564); +ok($feat->slice->seq_region_name() eq 'AL031658.11'); +ok($feat->start == 64109); +ok($feat->end == 64112); +ok($feat->strand == 1); +print_features([$feat]); + + +# List_dbidx my $ids = $sfa->list_dbIDs(); ok (@{$ids}); + + +ok($feat->display_id eq $feat->display_label); + + + +sub print_features { + my $features = shift; + foreach my $f (@$features) { + if(defined($f)) { + my $seqname = $f->slice->seq_region_name(); + my $analysis = $f->analysis->logic_name(); + debug($seqname . ' ' . $f->start().'-'.$f->end().'('.$f->strand(). + ') ['. $f->dbID.'] '. $f->display_label.' '.$f->score() . + " ($analysis)"); + } else { + debug('UNDEF'); + } + } +} diff --git a/modules/t/slice.t b/modules/t/slice.t index 9624dcc6a8..0a8c4e0095 100644 --- a/modules/t/slice.t +++ b/modules/t/slice.t @@ -3,9 +3,9 @@ use warnings; use lib 't'; -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 49; + plan tests => 43; } use TestUtils qw( debug ); @@ -16,95 +16,104 @@ use Bio::EnsEMBL::Slice; our $verbose= 0; # -#1 TEST - Slice Compiles +# TEST - Slice Compiles # -ok(1); +ok(1); my $CHR = '20'; my $START = 30_270_000; my $END = 31_200_000; my $STRAND = 1; -my $ASSEMBLY_TYPE = 'NCBI_30'; -my $DBID = 123; my $multi_db = MultiTestDB->new; my $db = $multi_db->get_DBAdaptor('core'); - # -#2-5 TEST - Slice creation from adaptor +# TEST - Slice creation from adaptor # my $slice_adaptor = $db->get_SliceAdaptor; -my $slice = $slice_adaptor->fetch_by_chr_start_end($CHR, $START, $END); -ok($slice->chr_name eq $CHR); -ok($slice->chr_start == $START); -ok($slice->chr_end == $END); -ok($slice->adaptor); - +my $csa = $db->get_CoordSystemAdaptor(); -# -#6 TEST - Slice::new (empty) -# -$slice = new Bio::EnsEMBL::Slice(-empty => 1); -ok($slice); +my $slice = $slice_adaptor->fetch_by_region('chromosome', $CHR, $START, $END); +ok($slice->seq_region_name eq $CHR); +ok($slice->start == $START); +ok($slice->end == $END); +ok($slice->adaptor == $slice_adaptor); # -#7-12 TEST - Slice::new +#TEST - Slice::new # -$slice = new Bio::EnsEMBL::Slice(-chr_name => $CHR, - -chr_start => $START, - -chr_end => $END, - -strand => $STRAND, - -assembly_type => $ASSEMBLY_TYPE, - -dbid => $DBID); +my $coord_system = $csa->fetch_by_name('toplevel'); +$slice = new Bio::EnsEMBL::Slice + (-seq_region_name => $CHR, + -start => $START, + -end => $END, + -strand => $STRAND, + -coord_system => $coord_system); -ok($slice->chr_name eq $CHR); -ok($slice->chr_start == $START); -ok($slice->chr_end == $END); +ok($slice->seq_region_name eq $CHR); +ok($slice->start == $START); +ok($slice->end == $END); ok($slice->strand == $STRAND); -ok($slice->assembly_type eq $ASSEMBLY_TYPE); -ok($slice->dbID == $DBID); # -#13 Test - Slice::adaptor +#Test - Slice::adaptor # $slice->adaptor($slice_adaptor); ok($slice->adaptor == $slice_adaptor); -# -#14 Test - Slice::dbID -# -$slice->dbID(10); -ok($slice->dbID==10); # -#15-17 Test Slice::name +#1 Test Slice::name # #verify that chr_name start and end are contained in the name my $name = $slice->name; -ok($name =~/$CHR/); -ok($name =~/$START/); -ok($name =~/$END/); +ok($name eq "chromosome:NCBI33:$CHR:$START:$END:$STRAND"); + +# +# Test Slice::length +# +ok($slice->length == ($END-$START + 1)); # -#18 Test Slice::id +# Test get_attributes # -ok($slice->id eq $slice->name); +my $clone = $slice_adaptor->fetch_by_region('clone','AL121583.25'); + +my @types = $clone->get_attribute_types(); + +ok(@types == 1 && $types[0] eq 'htg_phase'); + +my @attrib = $clone->get_attribute('htg_phase'); + +ok(@attrib == 1 && $attrib[0] == 4); # -#19 Test Slice::length +# Test expand # -ok($slice->length == ($END-$START + 1)); +my $len = $clone->length(); + +$clone = $clone->expand(100,100); +ok(($clone->start == -99) && ($clone->end() == $len+100)); + +$clone = $clone->expand(-100,-100); +ok(($clone->start == 1) && ($clone->end() == $len)); + +$clone = $clone->expand(0,1000); +ok(($clone->start == 1) && ($clone->end() == $len + 1000)); + +$clone = $clone->expand(-1000, 0); +ok(($clone->start == 1001) && ($clone->end() == $len + 1000)); # -#20-22 Test Slice::invert +# Test Slice::invert # my $inverted_slice = $slice->invert; ok($slice != $inverted_slice); #slice is not same object as inverted slice @@ -115,7 +124,7 @@ ok($slice->strand == $STRAND); # -# 23-24 Test Slice::seq +# Test Slice::seq # my $seq = uc $slice->seq; my $invert_seq = uc $slice->invert->seq; @@ -128,7 +137,7 @@ $seq =~ tr/ACTG/TGAC/; ok($seq eq $invert_seq); #revcom same as seq on inverted slice # -# 25-26 Test Slice::subseq +# Test Slice::subseq # my $SPAN = 10; my $sub_seq = uc $slice->subseq(-$SPAN,$SPAN); @@ -142,113 +151,66 @@ $sub_seq =~ tr/ACTG/TGAC/; ok($sub_seq eq $invert_sub_seq); # -# 27 Test Slice::get_all_PredictionTranscripts +# Test Slice::get_all_PredictionTranscripts # my $pts = $slice->get_all_PredictionTranscripts; -ok(scalar @$pts); +ok(@$pts == 24); +# +# Test Slice::get_seq_region_id +# +ok($slice->get_seq_region_id()); # -# 28 Test Slice::get_all_DnaAlignFeatures +# Test Slice::get_all_DnaAlignFeatures # my $count = 0; my $dafs = $slice->get_all_DnaAlignFeatures; -ok(scalar @$dafs); +ok(@$dafs == 27081); $count += scalar @$dafs; # -# 29 Test Slice::get_all_ProteinAlignFeatures +# Test Slice::get_all_ProteinAlignFeatures # my $pafs = $slice->get_all_ProteinAlignFeatures; -ok(scalar @$pafs); +ok(@$pafs == 7205); $count += scalar @$pafs; # -# 30 Test Slice::get_all_SimilarityFeatures +# Test Slice::get_all_SimilarityFeatures # ok($count == scalar @{$slice->get_all_SimilarityFeatures}); # -# 31 Test Slice::get_all_SimpleFeatures +# Test Slice::get_all_SimpleFeatures # ok(scalar @{$slice->get_all_SimpleFeatures}); # -# 32 Test Slice::get_all_RepeatFeatures +# Test Slice::get_all_RepeatFeatures # ok(scalar @{$slice->get_all_RepeatFeatures}); # -# 33 Test Slice::get_all_Genes +# Test Slice::get_all_Genes # ok(scalar @{$slice->get_all_Genes}); # -# 34 Test Slice::get_all_Genes_by_type +# Test Slice::get_all_Genes_by_type # ok(scalar @{$slice->get_all_Genes_by_type('ensembl')}); -# -# 35 Test Slice::chr_name -# -my $old_val = $slice->chr_name; -my $new_val = 'Y'; -$slice->chr_name($new_val); -ok($slice->chr_name eq $new_val); -$slice->chr_name($old_val); - -# -# 36 Test Slice::chr_start -# -$old_val = $slice->chr_start; -$new_val = 123; -$slice->chr_start($new_val); -ok($slice->chr_start == $new_val); -$slice->chr_start($old_val); - -# -# 37 Test Slice::chr_end -# -$old_val = $slice->chr_end; -$new_val = 1234567; -$slice->chr_end($new_val); -ok($slice->chr_end == $new_val); -$slice->chr_end($old_val); -# -# 38 Test Slice::strand -# -$old_val = $slice->strand; -$new_val = $old_val * -1; -$slice->strand($new_val); -ok($slice->strand == $new_val); -$slice->strand($old_val); # -# 39 Test Slice::assembly_type -# -$old_val = $slice->assembly_type; -$new_val = 'TEST'; -$slice->assembly_type($new_val); -ok($slice->assembly_type eq $new_val); -$slice->assembly_type($old_val); - - -# -# 40 Test Slice::get_all_KaryotypeBands +# Test Slice::get_all_KaryotypeBands # ok(scalar @{$slice->get_all_KaryotypeBands}); # -# 41-42 Test Slice::get_Chromosome -# -my $chromo; -ok($chromo = $slice->get_Chromosome); -ok($chromo->chr_name eq $slice->chr_name); - -# -# 43-44 Test Slice::get_RepeatMaskedSeq +# Test Slice::get_RepeatMaskedSeq # $seq = $slice->seq; ok(length($slice->get_repeatmasked_seq->seq) == length($seq)); @@ -258,36 +220,35 @@ my $softmasked_seq = $slice->get_repeatmasked_seq(['RepeatMask'], 1)->seq; ok($softmasked_seq ne $seq); ok(uc($softmasked_seq) eq $seq); -$softmasked_seq = $seq = undef; +$softmasked_seq = $seq = undef; # -# 45 Test Slice::get_all_MapFrags +# Test Slice::get_all_MiscFeatures # -# ok(scalar @{$slice->get_all_MapFrags('cloneset')}); +ok(scalar @{$slice->get_all_MiscFeatures()}); # -# 46 Test Slice::get_tiling_path +# Test Slice::project # - -ok(scalar @{$slice->get_tiling_path}); +ok(scalar @{$slice->project('seqlevel')}); -my $super_slices = $slice->get_all_supercontig_Slices(); +#my $super_slices = $slice->get_all_supercontig_Slices(); -# -# 47-48 get_all_supercontig_Slices() -# -debug( "Supercontig starts at ".$super_slices->[0]->chr_start() ); +## +## get_all_supercontig_Slices() +## +#debug( "Supercontig starts at ".$super_slices->[0]->chr_start() ); -ok( $super_slices->[0]->chr_start() == 29591966 ); +#ok( $super_slices->[0]->chr_start() == 29591966 ); -debug( "Supercontig name ".$super_slices->[0]->name() ); +#debug( "Supercontig name ".$super_slices->[0]->name() ); -ok( $super_slices->[0]->name() eq "NT_028392" ); +#ok( $super_slices->[0]->name() eq "NT_028392" ); # -# 49 get_base_count +# get_base_count # my $hash = $slice->get_base_count; my $a = $hash->{'a'}; @@ -306,3 +267,37 @@ ok($a == 234371 && $gc_content == 48.59 && $a+$c+$t+$g+$n == $slice->length); +my $test_seq = 'ATGCATGCATGCATGCATGCATGC'; +my $test_slice = new Bio::EnsEMBL::Slice + (-seq_region_name => 'misc', + -start => 1, + -end => 24, + -strand => 1, + -coord_system => $coord_system, + -seq => $test_seq, + ); + + + + + + +ok($test_slice->length == 24); + +$hash = $test_slice->get_base_count; +$a = $hash->{'a'}; +$c = $hash->{'c'}; +$t = $hash->{'t'}; +$g = $hash->{'g'}; +$n = $hash->{'n'}; +$gc_content = $hash->{'%gc'}; + + + +ok($a == 6 + && $c == 6 + && $t == 6 + && $g == 6 + && $n == 0 + && $gc_content == 50 + && $a+$c+$t+$g+$n == $test_slice->length); diff --git a/modules/t/sliceAdaptor.t b/modules/t/sliceAdaptor.t index 4dc7b60fcc..da4c33ffec 100644 --- a/modules/t/sliceAdaptor.t +++ b/modules/t/sliceAdaptor.t @@ -5,11 +5,12 @@ use warnings; BEGIN { $| = 1; use Test; - plan tests => 27; + plan tests => 50; } use MultiTestDB; use Bio::EnsEMBL::DBSQL::SliceAdaptor; +use Bio::EnsEMBL::Slice; use TestUtils qw(test_getter_setter debug); our $verbose = 0; @@ -17,7 +18,7 @@ our $verbose = 0; my ($CHR, $START, $END, $FLANKING) = ("20", 30_252_000, 31_252_001, 1000); # -#1 slice adaptor compiles +# slice adaptor compiles # ok(1); @@ -26,64 +27,58 @@ my $db = $multi->get_DBAdaptor('core'); # -# 2-3 SliceAdaptor::new +# SliceAdaptor::new # my $slice_adaptor = Bio::EnsEMBL::DBSQL::SliceAdaptor->new($db->_obj); ok($slice_adaptor->isa('Bio::EnsEMBL::DBSQL::SliceAdaptor')); ok($slice_adaptor->db); # -# 4-6 fetch_by_chr_start_end +# fetch_by_region # -my $slice = $slice_adaptor->fetch_by_chr_start_end($CHR, $START, $END); -ok($slice->chr_name eq $CHR); -ok($slice->chr_start == $START); -ok($slice->chr_end == $END); +my $slice = $slice_adaptor->fetch_by_region('toplevel',$CHR, $START, $END); +ok($slice->seq_region_name eq $CHR); +ok($slice->start == $START); +ok($slice->end == $END); # -# 7-11 fetch_by_contig_name +# fetch_by_contig_name # -my $tiling_path = $slice->get_tiling_path; +my $projection = $slice->project('seqlevel'); #it is important to get a contig not cut off by slice start or end -unless(@$tiling_path > 2) { +unless(@$projection > 2) { warn("There aren't enough tiles in this path for this test to work"); } -my $tile = $tiling_path->[1]; -my $contig = $tile->component_Seq; -my $ctg_start = $tile->component_start; -my $ctg_end = $tile->component_end; -$slice = $slice_adaptor->fetch_by_contig_name($contig->name); +my ($chr_start,$chr_end,$contig) = @{$projection->[1]}; -ok($slice->length == ($ctg_end - $ctg_start + 1)); -ok($slice->seq() eq $contig->subseq($ctg_start, $ctg_end)); -ok($slice->chr_name eq $CHR); +ok($contig->length == ($chr_end - $chr_start + 1)); -#verify flanking specifier works -my $new_slice = $slice_adaptor->fetch_by_contig_name($contig->name, $FLANKING); -ok($new_slice->chr_start == $slice->chr_start - $FLANKING); -ok($new_slice->chr_end == $slice->chr_end + $FLANKING); +my $seq1 = $slice->subseq($chr_start, $chr_end); +my $seq2 = $contig->seq(); + +ok($seq1 eq $seq2); # # 12-13 fetch_by_fpc_name # -my $fpc_name = 'NT_011387'; -$slice = $slice_adaptor->fetch_by_supercontig_name($fpc_name); -ok($new_slice->chr_start); -ok($new_slice->chr_end); +#my $fpc_name = 'NT_011387'; +#$slice = $slice_adaptor->fetch_by_supercontig_name($fpc_name); +#ok($new_slice->chr_start); +#ok($new_slice->chr_end); # # 14 - 15 fetch_by_clone_accession # -my $clone_acc = 'AL031658'; -$slice = $slice_adaptor->fetch_by_clone_accession($clone_acc); -$new_slice = $slice_adaptor->fetch_by_clone_accession($clone_acc, $FLANKING); -ok($new_slice->chr_start == $slice->chr_start - $FLANKING); -ok($new_slice->chr_end == $slice->chr_end + $FLANKING); +#my $clone_acc = 'AL031658'; +#$slice = $slice_adaptor->fetch_by_clone_accession($clone_acc); +#$new_slice = $slice_adaptor->fetch_by_clone_accession($clone_acc, $FLANKING); +#ok($new_slice->chr_start == $slice->chr_start - $FLANKING); +#ok($new_slice->chr_end == $slice->chr_end + $FLANKING); # @@ -91,11 +86,11 @@ ok($new_slice->chr_end == $slice->chr_end + $FLANKING); # my $t_stable_id = 'ENST00000217315'; $slice = $slice_adaptor->fetch_by_transcript_stable_id($t_stable_id); -$new_slice = $slice_adaptor->fetch_by_transcript_stable_id($t_stable_id, - $FLANKING); +my $new_slice = $slice_adaptor->fetch_by_transcript_stable_id($t_stable_id, + $FLANKING); -ok($new_slice->chr_start == $slice->chr_start - $FLANKING); -ok($new_slice->chr_end == $slice->chr_end + $FLANKING); +ok($new_slice->start == $slice->start - $FLANKING); +ok($new_slice->end == $slice->end + $FLANKING); # @@ -105,8 +100,8 @@ my $transcript = $db->get_TranscriptAdaptor->fetch_by_stable_id($t_stable_id); my $tid = $transcript->dbID; $slice = $slice_adaptor->fetch_by_transcript_id($tid); $new_slice = $slice_adaptor->fetch_by_transcript_id($tid, $FLANKING); -ok($new_slice->chr_start == $slice->chr_start - $FLANKING); -ok($new_slice->chr_end == $slice->chr_end + $FLANKING); +ok($new_slice->start == $slice->start - $FLANKING); +ok($new_slice->end == $slice->end + $FLANKING); # @@ -115,8 +110,8 @@ ok($new_slice->chr_end == $slice->chr_end + $FLANKING); my $g_stable_id = 'ENSG00000125964'; $slice = $slice_adaptor->fetch_by_gene_stable_id($g_stable_id); $new_slice = $slice_adaptor->fetch_by_gene_stable_id($g_stable_id, $FLANKING); -ok($new_slice->chr_start == $slice->chr_start - $FLANKING); -ok($new_slice->chr_end == $slice->chr_end + $FLANKING); +ok($new_slice->start == $slice->start - $FLANKING); +ok($new_slice->end == $slice->end + $FLANKING); #verify we can retrieve the gene from this slice my $gene_found = 0; @@ -139,22 +134,231 @@ foreach my $g (@{$new_slice->get_all_Genes}) { ok($gene_found); + +# +# fetch_by_region (entire region) +# +$slice = $slice_adaptor->fetch_by_region('chromosome',$CHR); +ok($slice->seq_region_name eq $CHR); +ok($slice->start == 1); + + +# +# fetch_by_misc_feature_attribute +# +my $flanking= 1000; +$slice = $slice_adaptor->fetch_by_misc_feature_attribute('superctg', + 'NT_030871', + $flanking); + +ok($slice->seq_region_name eq '20'); +ok($slice->start == 59707812 - $flanking); +ok($slice->end == 60855021 + $flanking); + + +# +# normalized projected slice +# + +# +# a slice with a PAR region +# 24,25 +# +$slice = $slice_adaptor->fetch_by_region( "chromosome", "Y", 9_000_000, 11_000_000, 1 ); + +my $results = $slice_adaptor->fetch_normalized_slice_projection( $slice ); + +debug( "Pseudo autosomal region results" ); +for my $projection ( @$results ) { + debug( "Start: ".$projection->[0] ); + debug( "End: ".$projection->[1] ); + debug( "Slice ".$projection->[2] ); + debug( "-----------" ); +} + +ok( @$results == 3 ); +ok( $results->[1]->[2]->seq_region_name() eq "20" ); + # -# 24-26 fetch_by_chr_name +# a slice with a haplotype +# 26,27 # -$slice = $slice_adaptor->fetch_by_chr_name($CHR); -ok($slice->chr_name eq $CHR); -ok($slice->chr_start == 1); -my $chromo = $db->get_ChromosomeAdaptor->fetch_by_chr_name($CHR); -ok($chromo->length eq $slice->chr_end); +$slice = $slice_adaptor->fetch_by_region( "chromosome", "20_HAP1", 30_000_000, 31_000_000, 1 ); +$results = $slice_adaptor->fetch_normalized_slice_projection( $slice ); + +debug( "Haplotype projection results" ); +for my $projection ( @$results ) { + debug( "Start: ".$projection->[0] ); + debug( "End: ".$projection->[1] ); + debug( "Slice ".$projection->[2] ); + debug( "-----------" ); +} + +ok( @$results == 3 ); +ok( $results->[0]->[2]->seq_region_name() eq "20" ); +ok( $results->[1]->[2]->seq_region_name() eq "20_HAP1" ); +ok( $results->[2]->[2]->seq_region_name() eq "20" ); -$slice = $slice_adaptor->fetch_by_chr_start_end("20", 29_252_000, 31_252_001 ); -my $name_list = $slice_adaptor->list_overlapping_supercontigs( $slice ); -for my $name ( @$name_list ) { - debug( "Overlapping supercontig ".$name ); +#try a projection from chromosome 20 to supercontigs +$slice = $slice_adaptor->fetch_by_region('chromosome', "20", 29_252_000, + 31_252_001 ); + +debug("Projection from chromosome 20 to supercontig"); +my @projection = @{$slice->project('supercontig')}; +ok(@projection == 1); +ok($projection[0]->[2]->seq_region_name eq 'NT_028392'); +foreach my $seg (@projection) { + my ($start, $end, $slice) = @$seg; + debug("$start-$end " . $slice->seq_region_name); } -ok( grep { $_ eq "NT_028392" } @$name_list); +#try a projection from clone to supercontig +$slice = $slice_adaptor->fetch_by_region('clone', 'AL121583.25'); + +debug("Projection from clone AL121583.25 to supercontig"); + +@projection = @{$slice->project('supercontig')}; +ok(@projection == 1); +ok($projection[0]->[2]->seq_region_name eq 'NT_028392'); +foreach my $seg (@projection) { + my ($start, $end, $slice) = @$seg; + debug("$start-$end -> " . $slice->start . '-'. $slice->end . ' ' . $slice->seq_region_name); +} + +# +# test storing a couple of different slices +# +my $csa = $db->get_CoordSystemAdaptor(); +my $cs = $csa->fetch_by_name('contig'); + +$multi->save('core', 'seq_region', 'dna', 'dnac'); + +my $len = 50; +my $name = 'testregion'; + +# +# Store a slice with sequence +# + +$slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $cs, + -SEQ_REGION_NAME => $name, + -START => 1, + -END => $len, + -STRAND => 1); + + +my $seq = 'A' x $len; + + + +$slice_adaptor->store($slice, \$seq); +$slice = $slice_adaptor->fetch_by_region('contig', $name); + +ok($slice->length == $len); +ok($slice->seq eq $seq); +ok($slice->seq_region_name eq $name); + +# +# Store a slice without sequence +# + +$cs = $csa->fetch_by_name('chromosome'); + +$len = 50e6; +$name = 'testregion2'; +$slice = Bio::EnsEMBL::Slice->new(-COORD_SYSTEM => $cs, + -SEQ_REGION_NAME => $name, + -START => 1, + -END => $len, + -STRAND => 1); + +$slice_adaptor->store($slice); + +$slice = $slice_adaptor->fetch_by_region('chromosome', $name); +ok($slice->length eq $len); +ok($slice->seq_region_name eq $name); + +$multi->restore('core', 'seq_region', 'dna', 'dnac'); + + +# +# There was a bug such that features were not being retrieved +# from slices that had a start < 1. This is a test for that case. +# +$slice = $slice_adaptor->fetch_by_region('chromosome', '20', 1,35_000_000); +debug("slice start = " . $slice->start); +debug("slice end = " . $slice->end); + +my $sfs1 = $slice->get_all_SimpleFeatures(); +print_features($sfs1); + +$slice = $slice_adaptor->fetch_by_region('chromosome', '20', -10, 35_000_000); + +debug("slice start = " . $slice->start); +debug("slice end = " . $slice->end); + +my $sfs2 = $slice->get_all_SimpleFeatures(); +print_features($sfs2); + +ok(@$sfs1 == @$sfs2); + + +# +# test fetch_by_name +# +$slice = $slice_adaptor->fetch_by_name($slice->name()); + +ok($slice->coord_system->name eq 'chromosome'); +ok($slice->seq_region_name eq '20'); +ok($slice->start == -10); +ok($slice->strand == 1); +ok($slice->end == 35e6); + +$slice = $slice_adaptor->fetch_by_name('clone::AL121583.25:1:10000:-1'); + +ok($slice->coord_system->name eq 'clone'); +ok($slice->seq_region_name eq 'AL121583.25'); +ok($slice->start == 1); +ok($slice->end == 10000); +ok($slice->strand == -1); + + +# +# test fetch_all +# +my $slices = $slice_adaptor->fetch_all('chromosome'); +ok(@$slices == 62); + +$slices = $slice_adaptor->fetch_all('chromosome', undef,1e6, 1e4); + +print_slices($slices); +ok(@$slices == 3185); + + +$slices = $slice_adaptor->fetch_all('contig', undef, 50000); + +ok(@$slices == 26); + +print_slices($slices); + + +sub print_slices { + my $slices = shift; + foreach my $slice (@$slices) { + debug($slice->name()); + } + debug( "Got ". scalar(@$slices)); +} + +sub print_features { + my $fs = shift; + foreach my $f (@$fs) { + my $start = $f->start(); + my $end = $f->end(); + my $strand = $f->strand(); + debug(" $start-$end($strand)"); + } +} diff --git a/modules/t/test_genome.zip b/modules/t/test_genome.zip index b41ff6a8ef91b61663e878241dcab507c8dda0ef..e41f7098604573e28a0df4297bb829144d5ea43a 100644 GIT binary patch delta 931761 zcmaHxb9AOpo9APjouuOqp4hf++qV70HafO#cI>2M+v(W$_HXCB`|ix_?0wGlU)5c8 zKHm$azIC3@87@QxX>bTQkbgenP`m_0a{P-q8UEA21%6cz2oN5s0kHqvK!N%H(_qLh zJRy&RGT?9Tv;Xo3jK2fGfc$Mh&#Px>qXP;8vImxA2n$F8fT95Z>A-V3^M8iSR#cSl zXF&0D>)AsiXdx4Vk`lVM9FHCjfZGo!Ek5g*ZEG&NQ26Q^@dqWL*Q=3z^L_GN*3oA8 z%;^e?S387*%C0eQuEOGxv<+2|kcuQD05ujtkPJ5yraZ}*M=mky<1>~`t@@!>`7zyV z##{nik^!ZgEN<&Kxo3F02*xp5tc{RRVwe$AT~LV>B*#p{ZHyoqYW=e|EOcgw`>Y6( z03?K}Gw-d>Yair+q>G+^&?yW4({2Ee(IZWp7(kIQHJN}^tupD?DMX4JG?0w^wM!PH zczrxQ0Aqt(s7v9oRVVk$aZLg~-5D1?uz(e)=pvcy9HomFG=IusS<%5ey(x5K_hST# zn|vRVTe&KE0uzAe;{c}bv_4Pq(;FZdii5!>Q@dSTu2izvZV;tsm13@0Wm-)67B%Lu zlzH_b+9jJi^63If-v^de7*{oh=#j=!puh9|vgUA0lm8z<|3i+!zjB;fKte|*L4bf* zBmJWX(9Y1t)7jFQ&c(w;RRtCV-2bmO|JXn7zzY}vYgRvVTI0a@q|FJ0)~GWj0=+6? zwuG}WLz6OI`#gyjUjbVfZ%{)c_Ix8)WlCEjcA?-luKLZ%wM~&7g&-Di^@a~zxCyiM zK{evP_dX7glA7S1<&Q6Ll4KF>jsyP=%*zO;3ZAt`7Z+AV(CQ=j0kh`M@GayMM7Dee z7WFvSR&20(>K7L&6wUXzWjT0vUy#bBosUix7SjmBb_+x#hPu?>b<6NU(ij&oM-tff z=WCm8V-aj~c6p74<fdyn4<9{i*&=oim||DeD*=<`B4L;rrqSp_6V7K1g9BI%z!+%5 zX=F!2-~4e(L6pg#Jbo_VK0F(?vW9Y5qB{fUxc5lbRv53bLNk5B(xA}2VCiA2u8tfn z#>5p7ax9@igG;uHDmJCD7&bkuJWM<YLHRLJc$}gUI@(D!g6wyICO3$lG)p;=HQd$3 zHgIGD4f$sjRlZl6ZyqrPwySQezz^)7OXBu!bSw5I*Orc9a7&L*W7nJ%lBmu1l1f8N zR0zA2q;P?)A>ihP>Vxy5D`5kO3LW3Y;h%<Ue3`efk<jMq?Jc1>21!|dwi`G&G)}v_ zH)GS5a?_D^R;%gJ#XM#6plu9nB}Np)apk>ampv~2a?2mQ3wA&rUCF!W0BU==D(fmh z?wJ*qZ5{A5|9-!;U=h-{GZHsN74_G+2~@OJ2sQ#Sg$OK(dD|s|34(8`AN!82i7lOi zH!kA%8g;^<cLm2!6RxFfYymeS+{0AHnzAq~YCXeks4<H<I0<Zu4$9xQ;AY3Gz?C5U zj;RgKZ9Tgu^M~DWcgLH21=y6xQlZ}4hRQL<?0_rFjl?RaRE8zm!3i55XSt(Pn-xVZ zf-ihIv~N%WT&{Hp64SwkgH&1^F>Notd86G2n2hP|*~DZZPq!Bt=y3s@Rm1rX1F4LT z{h-l@5mn;_y-!)IdFAdj@i7<JK~Cd#VjGvkeAh&~>d1_{Ni<&qfe6wO#Ci$MCv$ke z-s}6*&U)k})NwtHin}ls)1O$?)9DhOlT7C{`G~7$j*`y2lmFlt7A!vDjY$m!&#Ee8 zz{dSR2_!%b=C>~4B~OvPO|&UrNr_W<&{Jws;S)nYmrc`9W(Bro(~@XA%4P6(S?Q5# zL_XpTOyX&$r24LA0UPUen6LSL@F~XuKD{o*T3u6*-~Gi7+sD<T=dGj(DO%n4KXSZc zydzg|W!CB8)`t_N2IjmH?8_Fhw12sppNYtVlZe=9eME^_kq7Mvi=pN-*TG((*4`Sp zwZ8^*(O_G{m!ZisNpfOj^P#qH^wwL;Q$$J@c2(r4Qst~g0^3AhdSvMQE;{g$aouSW zvm9g2@ghrX_1uHCool3ow-ry>N1$~{bFTbl$T@ujtq-DC{8`P%3cW^VVQ?*1zPX<S zS3I6WoJ)Z{)uO$cu&u@xSU<yPyB_{dDPzbwFd9-ZL;Q-6&CG*7jnA9CFv`tKofM^5 z>lY_p&>PN;Q+cJ=g~%|;sX1YVdJxpR(vEzV$9@;8;G^P&b2o34FI;^G4-P>rw{M(} zW1Z9K83%f?b8hsR$m+A-qyIaz6<Bi6zc<3MK>aN=VgD2w#-tr+7@$I=BmY14uiBO! zFD*a7fD%0YtR9^#j8<Nat0#1bVS$2{50gQ_AsX9=5j6~GQBDTN;gxp<i!Y}5UO%sA zFM4>`98CkpOSJZ_Fm##XJlkqxvi*Z2q}no^e#6^Y1WMTyJriY9zmCUvltwb!dzf$* za-JYswgIh8s^zA{N-uQ~;2W}BGfg@*P@@-P>SD+{7jawWee4iahbkWMNA2_zIi%x< z*ewG$k-?yz%AACA+e?ZYM@?bNZBSx_S;j|;3()2d==6$k-s|I5l|xraWT9(RRnCmH zxz&F+Z??XRCQ^MJc9<e%w2>jFYgofltNuEi0y2ycBrX#s!gwjQ1-(T;^IFy+Q=06u zzCryPT>M{ffeO0^U4OyFLH-5D31s*S>>v9VG*gwalpzKfZu1I8?)&W(gU-Pz{#ANK z0T@74fE;pwU{Dw?6+lAoTS_7C2Y@p41RU7eCzAFJ8l<%oLQDdIp$%`-;E^Z8dh0e& z_6NWIPB=V`MAt76Y{IdvK6He&TKbhqEh7Zg2`oa|I%gyopiyCcwU;lSb*$~wh|om_ zy+%_UW^x>sJCy@U`F9OCXkD+q0zSCHrYMnat6%Iie^y^WOQj86jW5r34v4Jjm7$sV zD>KA)=9(MD4G;VL!83bS{E|(44cC^!^;XVj{?LURE^e|;X>mRz0;PSWa&W6HpKOkz z7tC>~>_z2Gff4M>lV^M4>(sUMbU_Mm4DO9j4wpgSQUT*22tGPu$ok$Z8M$lf5TWh* zr24TX4c?Gvh_fl=B-)l<NzS5W4a^!vsw9w#K`v{{u%yO|mEc9ZIq(86unwSM3?ZY! zfs);!*^s{mA!jHWxQ691pzD&)VXPjo%!in@L$YcpttI%vnh1MG@Kqh#Dz{3xU;<#a zE#wo6^@(p~WViW;X%8Ay1QSI*jf!S#UwktgQ8c52Y=;jT%I)DXNT?~}%Rb&W;keLM z<KIOv7Z1iy{;&G~Pn0xjnsL4VU7Rt4fq-x%p^DQ1O+AcF9b7E!?dY5xZT|Nf;J<}U zti1Gq0LswxW$Cw3Lv#svMU3*&vVcHLtIViU(?%TDm3K#Tr6l_+rF@o%E{<~ovu*D; zZvvjD^;FCQ+tuC+o(|NUYXePmdJsfW&Nk15DrVU>|G9Jcy9hN^;B)n;k3o3|``Z!6 z4Aun!ZJV^HuCC4`{bqZP>8RHCj3TaeVwCkI2W!+VD|jD|qzstfHp|rK2yExKbE1O- z<Pq}_bI*P$y$j&oAVlv<SlgQwk>4XDKPch)^98DCb7$*ti#CoT-=IJ%Tka2;^nNSU z?8op_m<NzLg5jT#ay!^Y%|8G<Asb?60{DqSjR$9AH*0;BnBFTji2}KA!2ffwz+kxJ z^Z(`N@Ynt;zkjWv{%Zs=Gd8j`u<Ww1_=6A)VD!T{AndV#N@;y_#>M+4JQ$5glULE^ zuQXf|DuAk-mRwE-<KV>sMReasHc6Bissr-x3H&3Vb>d1P(%)#E|7(mOm>{W3>Ifu2 zLl+k(OCx<3PY2WgS;ja)`F;VEkm<`>4@qQObYjpTMvn?5()v6B@0|sk)<T;i?FMeq zmnXXK7|42A6W`7Lc&D?2nuRTr2ye1-Z`?yKlc0bSXpb1jI|bqLktdpx;m6FDb*WvM z0HuWqi<R-LieS9H5P%k<Zt_^&S$2~{s=#CCh05?^4$d*tW-^YJ?7b;8J#BctNue<t zSJhiX@qF{44<^}L3{R)jVh(K*G>$82-2qmoUyGrIiqTUXA7*94@0=r@qfDc*>q>a0 z<-`N2dNpeqb*XB$MKMr%ERuwYB)?HZWwskg%}wqG5XFH(temC~u^-C@uLnJCsfR8< zX_h^tmc#w{Q3;=hd^#wVC`H7h>cj1au>Z|9;V;*HrF8<tzf3DYQ)ko>DE|}De+kR< zH!c2S|4NOragufe3<#pj3jmM60y!?aBqHGeB+$ez;@?d)y#+dodPSwRHtd4zd%*YP zXH|b4j_aX;3TX^Y3ZbPOh)k4OmjGC~yWld&^DQ~(+PCt8eV%<+r+_0dw*?@YP*X<s z#78aAUuYY=-qGeuPYsy}P#ZjnLh9Hb!N8*ag}PLU=%~w<-BLJ=z!B*01$L{dZe?un zR_`}LBVnR57*tCc=mmx26-lni5d$W>b3oJainIWKz+)<oP`N%N!`7UqmwzJd$Pe+0 zR8AH1sh3#%<2$k{#tgLMeydy=T_yZ?``~nydVi@*z&h&#t)5%z47v7WHCEt&XWWP; z=lWiIjA5NE|BnrHX!*u+KhS>z{l`)B-xU*3{sJBPYfOJL4H?kb-rmVX-`UgI#nkry z<E65HYcxXW^ntp@X?}H+Y%+bmBb7o#gk4<??>R<sd8umCn8ZfGhj+sq_<6YL+x4@r z>3YziW20RD=^FUPbOHAtMr6IFV$QrKMM%0F$Ot8kEMe+5Ek9u1E?iGrink5qUC9?h zt3^<WICzas_2SUO`S{^QlL(qk+YfBhAcHZNM6RH^c_<5m?u9j#4FX!jGj2xj@k9=J zqBz2N2tRpZgKOyPjzBF%6j9=;Ehi03OSl5kNoz91mNJVy8mT6jE(Rxh83$*aoE48# zPAriUx;_#}z7r*I`?`_g+-J;7k!2J@+gOeFa|OxoWI?|)XqQB98|gV7#>xmwu2zk3 z%(XpaTTrsPP#dlTeE+Wm^pBrr9P6xW|4lwAf9?N)^?!0z*BDtO0R{}H<!Q~1e7WB7 zVb~urJcJodzV{<9wCBMO6DC%BypgFt2v{CB^H@zeqX!^Mv8tRMS9QY2q{?um4h2kL zSM6A0?y*?vll<uy=Il$*rUH9CS{A?k?=yw}*kS&oyX_>n;?Cd6X{PQ#A^=i}Adw+b zdm)e^fq!?G|GlzI%KgWJ3?Md69I>E=2ot=foF_;$2WIJY3~)Lx)-Zs6SKhg(9|wIH zw|HWDbu&k!=~<R%HJQ0;%fi5>F@&{)J~AiTg^MVIeCj-kHJdT29i(2JnlV2bgtweZ zyy3?TS~7VuL0txx_hn_t%I#;xdEaK?XEb#JNjdC;uKUn(py7enN|qkDIBuINrrP<m zwWn~iBEul!gxSTqK5GD2Qy(=MXNdiUsrbQy4gkArluL%u!;DdL`PuB1CJ`x2MiJcF zeCn5R-0a97J54t24Rvi3aYxSIN9WN04v7TBzifoogUJ=SAwW7bll+uffd4h0Y;;Mx z{TNFm<E+t=JsRUuT@>cy*+IPiT%H3Z?kKPV;n_3wb($gA<>xRcq3X}|ju=At`rQ6H z`g*qiy69P$a(l8{{CxPW53H&#e>oEe`dWOxhSk(guh#ZV`1!g$d_DlUKbHCZe9b-{ z*7fy)kIUE#%f>#uW-qfneAf>tz>j$!-Vyzt8w{SM<<e<=d9NIkX-uDwrK9bhoWnEf zu%n#XFb@6RWmkgpvpe%?+V_W%p6=VTr&{q3FCM<ysZ!q$AVEpnJ(oJ8zW%zt`{x5? zGtJ1ghx6y{Ll)3?*GZE3s9<^-$UCUn>r4y;^1d#U0eQ`HGglhz%n^IKuX%Qt%u+&Y zIpdxl>U%!lmyaIW1^91WTaS!-==Q8vr=32Z8TAsL`XjRzIg!Wg9P0-nAC~!>2(Rui zC;v><=^sJ8o*{L+`TIV<did(@E(d)+B<nvp5;SJ6yu23O1j-LyduMxp?>`(Ae$oV1 z_VBSUd*qy07f)UBt+pEzywMzPH1lP0*!^A>_VK;Un#Qy5dedw)R6TnC#MD3hnS(;Q z(?ifYUE+3gKtTk<wfDl)yA0;T8*AuCnCJ8J6y40%?%BFn{ymFBqxRL>c1o-@svj-K znvNinIxUIih+ZFPL;po>-c9g$_UG^3n2UPpe3=H`46TkJ7&hYO!Nj|TS6UZ>w%iA7 zAv*UC#g)M6<?N+QTAn9Mn!EhzA<IOdKCfgZ%~7^D8v$?L|A9~18!Z%5!^m_babARL z$VBq_kbL+Xue;l)K6QY$+NXul$JxMV_X40|_+>%4PY%szQxdOBKiAFaMCSrnCq(#_ zoAS|-tqfQxy`}C}J3r466i(s91`2I;y>@7gZ|Ag?wmCjP^{xsF8PY_X!+X~KftohX zLDV%0*?Yj`2z|&}Jf|_pKCiu7&x(A1h_iiRtIb9B+qBA6;cfM;81n3BIemF4WvKnN zoE<5Tk^Ox2OU-;YL%Vw6_|Gg*Lu%<|VWx3c*uUY#nwrb-r<()T2@QUV#dyC=bESH? z@^sX=A6x5Py)ysQR07QT@)qP16>XPa6-<`%rpvOj&E^I=qAwLJtb4=Z+1m3R?4WKT zvHmKScL9l{L(9PdjlMm7$$mPdcZ0e8*=9j`yw?$6T&C;k$}Pu8VXzOV#V9|fK@uO* zYM$yiESpPoEjXo=mCP;wM;H}lYkj$7sytc0Ckx7Te55=p*(DOB*a-0LWQu}BPA^yK z7IX9<Qa0jLZkhLEL<FD~?%O(zloIikAfY$-^2CLB?~2L-ap@pw?={fgf-~NQAK8)X zHG4pX%}GIL(Qr<)oL&W_B=yl?Ry(|m^qeDK^t_~Fj>!;`$(S!n9LlxkypeaJ_-TP! z)^T5-tOx(rE~q^PIHG7cMiL>?-dYfjdPAu#-B;)tKVl#X9Z}UtfWY{3H_@c+);$hm z!ByrJh17UIQwuDt^DACM{Z4U6)5szeb)gwsrj!zG6$oi__(vUBVP}H0Xa5Brr&BAw z4ZN9!g^3)HY$b+4fynMMP0FaSuFD!XAGO)mms95IV;A8GsHf5}y#xfBsI5oLZjT2x zbk><ZGTbidtv?y2$Xc&w=|EdLxm}Pczl|^Cuwa{>CJ=9%T0L1dJ(Q!!FR+IEMEJm{ z_<&jTgH?qG?Ft4K^QSYnY&z%fL(Zg4K^i1rWc5fb)HA8RB4>Ie5>+ZcUQm9?9b+RN z0t#CgMRjB{=dxr}jxZ89FH<KQa&$M+7==O_II{n=D`u2sHZGhC)%TygB>lN4t`wU0 z(}-&R$~EabR6XK<JCXd7JF05O9hm}R<ya4z=T&Dos4oNW>W;{5i!2ALTu*6`OfIM@ z;CeJTMOOPVsY0i6nkHjP#JfmXmp>%5yJ^4S2r@R>n@Qd-Sg<}+uS>nec5#6U<Ba4X zQmLMJEr8Q8H*_Sr_$~?p#^wMdoNYQr-IGr6Xc-m&aLoEd*0OJ4*gzOq<;yC&E{qY( zV@;MHD{8<W-nK4**bYm7JhmORk3BN%@k_ntWVQDXTt-O&3QZJi&p?SfLA;_qXZ*n? z@@FD2{8<BqWL{Bd{pi4^z;2V9Z{98BX_p*qc3jo${jo+(p1o&n;hl=Y^iR%@n1;!* z)%knIDW}>U^o($AhT8bOfr-S~8u({!F)fh8^Jc)O4*E=b@~4fyJ63k0SSe1G{!EI~ z6%K9)RckxsVVh`dby~7n&#dRWTlrWkjR(OKg&}jiQ5vQI{qY39^@M7HVgi2q<~+5_ zd_rw$srso&r`cAwtg~#Q9H+$s(8@VoZpeX0Pl8~u%EaaGhT3nlQ*1NFB!06~r?cIP z)k458_2j!)ST9@MVwQ^RX-vHfpO%A6|F4p4S~Z>Eih>Um!EO2z8YW9L^11dIaNEiK zJ^k^Qk0jH|UpC9h$&uAy@JcdO6fk%{&_GGq@o6WP(V->D484=h_4DsAFM=>H$FC^; zV9^szwKH*kU)2m?Cd(L~M6i-l%YVwVEdK$bM#Hsqqmm>&;0tOho%$1X{Hf=g@2xq3 zm5s*Ej}39cCs{fBIUDq&se&nT1@+O~)>2JB_d;z7)h_%|O_r8bZo;j`&*c%y!-C@a z(4y72`bk9Hd-tdZJ!O}C9ZWRyy+f8~qi%dO(m9MQ-KE@8IflE60oO1o<(qe0%}NQ7 z73l|B+U4sls_1issh<m<5xWa}Rhsa2(|{u=A{UWW;BK=~)E^e=>Dzk2pseHe+{J@+ zh=LsIa=0xh%b1jJf^G-4d!f_#BEQCkCD->#&=pH_D08Nj0?SCs`G5uXh%o98HXbmZ zJ`hiXG3Am+1&df(cuJ*AAic0kZip|yg~uA}#uPLf_Nm903?GE99$bb6tEY>m<bY|y zj9BUGku>tLlAM0Kq<uq2v7|HeAn<FTt5|ZnygyJ%ENk|CFZ%H?`jm@wa%(@j&W1l5 zwS;zRG_dIbuX7uEtMR0?e8y>Bkc1?yY$D2~C%l;JWdvEAjM>v-C%XEoYYq>Ho~0-$ zEt%lu9<lHAl%C)D^I7E#v1dlU!}qv|#=glCHWD$^)e7T*SL+#8kZs+VSF)VMLjR}B zRX^}<P?e6y*M%8njVK3E9AvaOZX9p?tz^q0P*u-Pkjriuz;R=-v<WYzu!mLnAT`ZZ zY<B*Ev6C89sG`kB+qr4@!%+!nWhn?~JL$rf0G|W%?vY0ka)Ie%`Egdw6tlh(71NGK zwawc5JE>J&5XmtJiI&u?vf$RL7Iv<z)j3b4F=pWd=Rypfq^%~Z(AN(O3-LTiNAAU^ ze>a-EH!|Q0Kw|>wchkU$Gc%vDcZ;Hu{er;Kh0cyDS#wf0Dko2WhTjfEF^29ZH)-ZK zMI7=BT%M^rNNdi1RSl#a(6Y<ua3&aDP(IZD_F=_q_9LN9NN5H{iO^grLn60S{U=GG z489{lR~Ln!f6<5l2Fci}SdL-310yDnVmJq<`!`52VKFcwVUw@NtCXq*4(ojGWTK=6 znoxg}XxX`?mn`^|a7+kbcM;F!nh?Z|>~gx_=O!wdq6>b0UmM?WtU{0OPBf;ez)x0G zmI7}TC_^$lJ)n0MHfr3$bz)ipLjMw1UsjT|1&qf0LHLDxEf;PkFME4FHYhA7>1-9G zHQJq6@e0F^LRZ&NK_VQ_jGiQhmJut}03$SqUi>%qX2(rZZLL)x=&q0I=*}NYtvxwv zeMui?v%q=_U1l@R)Mj~8hLg9DjbEafa>|!7_Pjj#-;<n`MArmI2hePFc0Fq__guiv z568~1NT`nsj?b~QW!DUcSof2D-dKsfZXJ9ev{6Pts1Zm0#;IfWs?A}o_4dk>z>qb- zJEy#91iug{F&*^*j&oTY#9Asz^hw0$ZW`-kNhhgU@a6Dci;QUo!OUSU%A;MyoMINi z1zB_wT9wx@Mrv_sKDY;BxF-bawf@qjEpTp3(?&l45Ek55$GoBzC+N7USIv|JccPip zs3c%Vcn3hc|56l@NcVm;=6P;>v3V={#tZD~C}K(he1z%%;{bJggPM27(k4^$FFNhl zM@LxiwEPaMl*yuck;uw2<%lXi00mroXd@LQzO1-r1coTfE_p~KzsAH>o(+&B;9R7N z5+0g3^}@;`#G)&OMP)-u%f$m9Gr?+@BaG3{Zsu717UfH=g&xzdMvzp@@w2=ug~?|6 z<PgJC!>(K)^iS+h7u!qFtM7oe8Q+3#Kwc&}nQ8V(Q>bJ>BRn16!SV5kJOs?X7O&;o zPLIWi=c4~th~s7fxZSJmX2exB=(fy>IqJ%^=ca4%bCA6#kw;th+J(IRD;4-##+oXP zQfnb<MT&1NY^qw5RitgHorNV$`KVZO5>`1SYnB4=)O+EFjUF7u&7b>SDwM{fVtFlS zJz8)6n~ZIC!m}k+N$mXkn8;L4rs^;()&7*o!XwQdmD!2VSB_iXJrdQD_S=Dt3`1<q zt?6$RZC*xXtMoPFTFPvK@|MKDq+v``u%RXumuku4X5<f!i^dX(jhYt|QL@$X-6Kmn zCn=i1C8hL>gQ;&zo@aZe{VuaQQqr^E$jX>+5?z*=VHp-#TFq6-8`%a!Aq^VQG7QG` ziP^ZaK@^o|ZLpVBH%>V$+V;J6odJAphsiF%dn;PsF%<<hS?jZ_Q<=ZB9Xehb;p-IR ztTh0jYlhu6hD2sXA(Mu|AXx8LI;Jq;PKQf@z4Xa(BK0g1BsdX}5LlFkYH8jfn+&0k z2{Gm49gwHxBku>~1%P9gFG*K^Y9aXG=+<=BhP^aG-K6m%+A#Oy9!{`4yLpZhaU<Tm zZv{{Axx-Cqk<(23<iMp(n-ghBay5r%+!}|16?jv)DBe{0$w!vpUjR^?-=6)gIA%G( zTY}e!OgvVVZLmm`AQ;N+8ZkMM+ruU*^28h)2a)rFsSk=MND8F;_R)vHWn8In-dyz? znd732m|P3*@<|ZrYQuTstbx4#nZxcXCYvigo*2Cp<>;8iY9Xg0e?Y@<=<YYs4f!aY zQ+663BOb0WvL;D#@;q>Pa;WV1i8>Ep!3JDzq6wa%RAl!ts}`F=h!evUk@2*p-Rvl} zCtWC4Dj|tD`#XqX`7k~w?>8XNkONv3kTbZAh9qW8PDjq-SpP!Y2<}%kfn7o2LNwpP z^Fvdm6h5{ZZz;;r9Tf-Fbq8Ed!{v{~cFN@u9;gs2Glp^4H{ID`8MsSk$u30T(c4#g z-Ga3JP5?DsH~AnuvyTegocOVb;@XG;OS=6!eqfdB*XV2WT^-lKQnCOL!&FC3dlD9A zJO!6NAzTY#EOK+^XOL4>Rk{P#y?k?O!rl)=XC%YD;*Cg^?=@qaCGYyreYJ?S*|CSq zwdt}&pU2Ei)Ce5J+?*+c^s*{I3@Lmi)5RWsPrKmZ5B8?)ZyNBLnQ#T4KXoG;vQ^e) zo6N0VTuh-`VTe3W(4>Xv`hzm8i3Lyu&1NC({#XqsPk_bG5S#+K$`%>LPvsDn+DH|W zeEkhjrcSfUY~y^}&-z8cgxjXCQrG56$TA`|Qrf)J^ThUxw0_Y>3ub@=#fv=NAmF$* zR>oq#Ua!6$`9CkdURu9yb8mEDrhi&cx-Jn+uH9m0&N6nf*AbU`LkJshCE}~UYiNHy z=#NfpJkEcf)>re-q{P(KP@MXjmG`Wx$)$H!p5z%cM-`N<Eb%8+c9lFV;TJi+(Cihr zT3%e0xbm+o8f#sNEN3(VPXkh5<6e4_BDLkAONw>_=ust3C@*?+qwyDHGRSdD^(f4- z2xz0<g622Qqby8#=hW3dMSAru7y1Z9%*H2+-M?K#HHf!^fH*;b#hB`MlcKOkC}afB z#hqvZbfe;5eh>jLwgJcQjLE0O$TAL%5vhSrV@n$kem0=QLpfPM9Qd~1I|_!`BGDy0 zMIO$*5gvF6bfZ*ELdawM%SEG%oFa;|5+^cc`Py&lO`7A?&R5hpnQ1m`O3AJ{<0<mq zef7jwk;8}jGx4zOzVT>9x;%IwcC&R@tP?y*Fu5`|=*>T0boP#U^`AcpjeDc~l7M*X zv35%fhwxBSVIIlA?`Fp%dp6<L=B(6*L)7bXa_8A`WoqQ%@Lr}mp+X95!_lE2klp9Z z6dc6QF^HG$G;I_s_`^fh&0uE{5x?2lyxM3;*#UnzD+`$SH1#BJKA`7VKX+1_Aa%TG zK~o>nTfSC6A5*ETVs|UA)Sn9>Cu~*XNy3`8wfsAF*RPF$`iMk<kI+prIEF~?S`~!W zY<mW1KNp`{92V}q)qT}Vl()aSsduyV10Y=*1{#}<m@6xyyf(+QYzt<y>1BB11)oWv z=M9==Pk=Y(J$`=g>u2_NVcWICTVKVwU-{Bq!2Z*pe&wCfb34fs&pD|p>i{-L*tznF zr6v+I-VjG%BXd_%bnfI-P?`!}xLc=Lp%i<}{u-><&VF0#&@wuBO{g1}$b;MHRs$<t z+frjRpeI|IhlO$O{!ITGQ)(J%d&u{mJV)*;fn1Y$`KRKY$E^lI+*nExazE<hedya9 z^ptI`E}rTSCDS~zBSVr<9@c*6JvY)pcnaiWBghM2g>&D+3pCQKS<EjM9+^%&jsarm zajw-6-9X7~X+8WBlv-NhHosLt3*B@3CK_I|PR|^OT?fG<tNa7`rsPOl&XD3jJtxA$ zdW`Nrr#d6)oY4wisH1@MyJQ|z+KX9$U0J!DC6AoR!5z!Soe{aH(b4MbTH)Sf`EW#S zvZNW1h_)ttOltv=9uwC2*rdtDsJ6l!-d*Kf=y`SBNpK<)vx&1KgW?VMuo~Z`sXx_o z?uR)^V)kP(6XCP%01<n}i1(s7pq5m7<NEM09bt;<^JS5d_UjB#DObGK-0FEiM0Gs= zvzRSe^A|fI&t|+_YpA^*SKTg%d}&nEyG0LhJ1q3X<!ZNh1fRN)=^N!Nafz81RBZ5{ zf&uw><wkgTQ<l`IZLqo1GK2^&w{pZ+Wn5KUp1^4|p~vG9S%r|Q&fu*p;T>g}R%2c- zW{k(;CFf?95~OXPbM1?+B}J-p-}jp01Abr*Xf20Q&Hc)W@?>{qdE7--?)umfLBI{L zN{3v`g_~!5D+#ikA91Hw{%}-q?eR?<rf-{`C*(OZ{A2JN{S^)>cP>ebpQZ=K`MRs! z7rFl1@*y8KjN<s{hj8a*sT>Q>W0+Sn6WCsp&HLHbK72^aiGq^htw^4YrpDt3NJ4O_ zt5Xt#ghM}hx{)&ba-tvm*$$I3;<rPfbiz;2_2p<s49r!9go<Bdze~vX7T5~OB%*D8 z6%|wuSeH1KVoh!KIK{4Yah^K9?s^e9j*ohafn<tBp}NCCMUJ5tOyO!o18`~xa9R>v zmLKOhG2EW6XJiAcnJpfEikjnb+ebOoG&^zZ&|KL@&3eeXG48<fY8_!W*?K7gvn=$e z_wz#<-te?zT}T2hQHa|Ph()Jz(*-eEDd7bpbgf^_u&O)w)E$1^X+cXRvx*?{7G5M! z|7bE#NIRbIXj%<>(^J`!IlCFoE+2-T>v(wMp6l=-Gc~<@Khjl0fy^~MwE25VChqt$ zgy;UzTlj{NR+<B?u4pi2^4Qn`#H73dkK0nTJd1wmT)yQTrorouELE-hBhbe&+@)`O zKGB+D&c-KMfOxQAc|uvWnEEsB(YjIl=9#FlWfQFk1JQUx^Qf9tFT^!_^jI9-S$A{R zXxhZ-N{O4MZ#O`#UVoT^_Sog-+Spzl$DMwkMn_TF)8V#>3V9q(bHcm<SXb6yI>ILK z(<T8z4)U>nR1bITNTV&MBk$%dft+xRX*;p_we<M~(=|J$jrW-y6|jD+QD9F5+y1D8 zPcF^FTOatdQwsF%L+8-E;Q;JUyFZ1j6@TNyqhZIJcYE6qri5FX@q1(}-nm0dcfDcx zvNm7@N^H9~K7N^tNlj7|NK%#W5zs(d;JlfP%JqDRaMysY&OCDtik4YH!<&cb{vJ^} zoG5~~TpZT4E9tY&FPMGyLT~Bt^@6SA<M#eBBtAe>JA!~=b%TJp@>2XQHjSd6LoT^r z;7mlLbASHfsF}#$-`^$Yx=ImG%y<f5B6Y>`Bv{`s@Pm;5ceW@H*z@BAoaqveN$5uz zL@;_^QpM1|1*1*<P$XqTC`ytnr$F~`(GZtLl#wK_(1C;s=~+IjY9=+EUDB1o%I}Iv zLwM^nEmKiV^i#IbB%PCYyxcIxou-A=uA3kcrqZ4tAO=R=Gub%FMU^9hpcE<!6od{= z(bd&B#j(b0i;8Y%KuGg6xYDjFvF~QNW3C4!?9~D72~6{-OOS=l4G5JRzpaV_9^Yzv z+UH)0-j@|dzIVYhPtO<@7*uWR(|cPCBCDSwkX+^zSNUWJH{87EBCjiv2EZ5OIG~TR zkhL%;ZAJ@1)u|F|rAEC+@$+{cSor!8hFhSowPO{~<92*q0uP5$#2$Y;xqfKSX<o6< zKFtqaA*)BUY=n0oPsz_7B}bXv#*Cf6U8JHJ@ORk)M_}JLq0`yr@@x}0wxNDWUMWU& zmfnfb4u}?2@kyC@8Fig8UTLiKg}?>bbdH`jv}Q~%V60cod%x#7B_tVESKlPHXE!{b zlg?(d^1>NF0_AxCA-jqfmZ=s?Nr$WPvY;E2RRW$jMQ!zMRP-gE4><MbxAbgeq&(9Y z?`ZY)0RH4<ukM}n&SgRyxN+&<>OBteS1Tt)jwEh9C-nGJzf0=i>_Jy<=XH?4a)gZ> zs*E?5FQJ3%H_;()gmx?CmrnZiB+^mgU)N~z;dVBVf!uKxw{_PVW!w_N+87|M2p2F= zxG}x~4#vsJUgcG1)(R5E;Z2f3gBSM?EGM7S!k8ar4`jAcE0yoO<R@M=>V**&HBW=- z8`~6XOuEdSv_nfv5L0ditCnjeqxQe`YUlH{U%p3Hop>W2?b3O28AexfWEY<(R}U0L zY``n?0?TxR(C8o)B<rEF8l{g`r2BZjuVVXFt;)b@%@Rhv`NhljC9jw6(Z=>V3Qxs4 z5M2cpEGuM<No>~4z#T0dY*7n~JLCw1YvUgX?Bs}jpnVUnV{^t?UNjWB2&zvktc5Xy z>@3$i2^6Qk(U8KGJB&4^IZ}Q_H8tTlh~_P$1-_CNUU+Bkqn*NfK(w+t1L#%*1PbNe z8+Qtrby>SCoEqTq{D`-tWUy!PU4>IgH0j_<^0VA=62VouN=W!ur5sX7kF|dJhZ%fB ztd=dGq-l02I}Vq@caiZvsqm-CQ(m4$<}2e{<tTTCY*RjrdCr0HIjt*Xm6!$uRYRne z0af@NtRjE9RZFzk<K)~q4b>C01>xZky89m#&y8SbB&7^3G%8k&wLD;+Y--X}Nvyte zHFU|?MG1+DE}N+RGI#OpSP|~8``NIJ?t!sCVPM?k<R>FDB{AEG>YJ$!$3IL&ULS3j zuCphiE87OkuHu1PB+aJ8@iuORd}^}e2@Lu8*`fkw=Fp$6Ra=J(7%6b4PEi;`ie{x{ zIgk+Q&*&I57C+Gm)zP(f+ut65^@5h<EH1Kt$v`P-T#8msH)6;o8fFVjD(Dtc8X@3` zZ`CPhw5@2GNeRqii(hl-y6bEVDJao#b_qfa_YLj@$<>Wo@rvXqC1o?SX8rkX4k)Xw z;ay&$tsbD2f00#L?y)ifU8iN~F7EDO=h}Wv0aG2vL+Hn2o@`TgEEpIfD{i=O5Ql`p zKrWeNJphBXPE|bbi^KQiNhEADhjEsYk9LUl>7s<BsY~2TDR?4AhHU{wfe-_Q?DTlY z1^@Sk)jL-@;wpV|eHb++f&LY<0XVZnl=XvxTwM!aA$xY^V;X?>1X*u~@nn&4JmrWA zc}KNRaG=0OtJZvp$d#+?zJ%YhL1+)<xO+_~`+yu(;BgWrsItX*KoL|%lsl3mb1vyQ zBuL8dV>6ViGoBPF<Gz{7-!6=C_{7tg6_@`U7A5OncXovtmA#=#p(5wV1&o@!PmeW6 zaBVs?%REX?TYD8Yt-*@Iw&4x#NJiv0%{CIQKqva$7tXs$WiVda6NU?p(+;iLaS?E* zG28#mY~{V}!hw5PIMDz=%vEga_0et}4VvlQw_>ZlQQpuXIq60qw^eG<rxBy1tZxiw zCr%%AyVG}!bft?TCyd_y3pis=D<MaF+8d7Qs%{lwn3_a=<h9UTNPCM4P%w6%#&sF2 zo{^f6?M1J^R6<)dP#mcz+Hj_JF12VU9;3aZfrEd$GdjOP`}_146Xqh`5Xah>1hi%i zM?^e&l`X-)5VL)Hoo=+^wtZ5fC&2+rU9^eYDI;R5nJ@<j`=NRQ7TBRLn<2}9)UtXi z;gB3NN$D&sFN~Iwc6bvyd6yzg$!*`$M*c<4S9|71ISBEb;#;73Z<$}eA}C^X9^Rj& z<@gF|55_IV`#U0w%9=pE!p89+Lsug5rxL4zK+;H}&TB=s>*u;&@0L3xkM;3XwoLmm z7@`$yPDE?95@{}^6);KFD*sjio|CgHaHT!xYpWwr^>!%+i08%ck6g!xTX|~`cvaxv zMgBOC!L0hr8L|s&AJol*oWP6Tp{{aJ&n^_Xx6(_+^3Z>2G|6|^qXR}Dw@nq_dYFXG z1vM}qj=p4s@_?&&0Q<dJG#bdSx$vEa5mlutXP3i~)%jNk3^4xIJ<L6G{NP+k=djov z3F?}lE!$&oE96jtiwz+^dwS72Te|pckGFADvoGDaQPfSUTPmwF@<?ib3i#)_EE-hl zu*=Ci$?Qb3Am-};N>p_v9WE3csL4wLwbxFiKJmCWpC#0sO?^3?i|yO2*pAx17K}#B z)(Puuj9BSy0gQZTq?y|HM2U1JURH(+<ca0=eh$7Kht7POembW*yDi6i>+mORq_%GA za4;GzQp@eQ!CRY}t6mHP6L#+AE@Cx5daThy!QBx+grIMNhROYrx@3*H0->zUHF66{ zZ?M}qQKiJ;TKTjv?@Fy(eFXlU$lg>)gV|Hp|HzP3A1HlZtVg|LER!^XAHR%zUGn8x z+&|{tmhMM8cXp&&{fxACJ3?HktXe%)#|Y6ae!sCNMngFv8Dg)^;~pi?>sca5u5U2c z#z&9LTw9*0?ekcx+f{>cT!fs#621$U;U^JA+#QiL(J?Gy#!0Q}M8M_Bww#cRZ%O~< zA;O4A415-t>f}Uj#xg6DU8Uv?G6Ixz6w&SA!;(DG4+&F^p&-tXF4%qLaM^ZEh(=<+ z6qCVG`SyGlFb9tg<I?BNF|9-4C0oPof=Y5_0}Q}*ueYnJVTELMuhEfpwoQ;HXw4|6 zL$;8|_9yKhtQ4s^IS{A3C`mx$rnz2E$nx$i0(;!L(;^kfnJ#sdlo#6Tq$`BBF`Hg5 zy|k!M_xSI%R>zpDDJH|yFRLM|nC(L3@Q0#CO_|Rl7JZ!~pj1(RyIrbb^-N_p@g@qG zQO;|EYqhH9McXYd*!lET9_$+}hfh@-W>F_*^vxSnE7_{+*<()k+Or^oMrE*)E<nIX z0{L`S(my_UhH>!|aVwG<M>cN9CedQhs1-Dv0<k27wum%Y5uA!yf-Ss8DpII&-^~bF z2H2c^j!`!79Z0O#`9J*aOO&)8|6EmYiH!+Ul%G1yyQ}IWgY!Uxjt6Xl`<5wwa3Zih z^!o_Ouz6qz9Rz}($-#Tef%B#2_xZ8s0wWs}UWvAHy$DW|CIgI1r!;gw2)8U9O&-op zVzh$2C1P(Gcj|l#i5e>lXB7UN^@X`w6~QMU446`HM*kVc3~rnXDhwV;yFrpjI|DhP zKb#R@8z*Tj%aoG2s{Rc*4*5esN<F#_b}S2)w_$3}OR??6bM}WzLcjGpbBMeD3h<=% zs`pbN?>kBz>?dh^)zfZd$S+@!8FnYwjklf9o%$K+pc&t6Y@^BZll3Q~^$#9{T@<w_ zgqrr@hY$wt`%)*slXvij!6gDc7rm{gR6_9BN<mdlEhz@Y2)qnj7=c!2JOrCpVyqyW zic2co97$>}PZUaOg{ZAdw*kidD{z`n>t$+jXZwS60aC9Re@-y=Ii3Mw&#_cI5hF2W zR7xXiRhqXt$<I#TLNuqqPiN@2k7j(W>+dJagm7l?*-UFDJ~N_foGS;_8G?t7A**GE z5%pmLw+yK;m$_R@DLSH-FQ#Cpo3b*@P>tV`nRn0NWsXNz+ROp_zVyPCLBLDaAY9ZU zk^z*jLve|O-xLH_X=ud$tmlb(IZH%Fxa>E61$G<)wZZsh3vzUp8|QNq4@B1=5+c5j zE4^i2cpWQbfn=He-KSFkP3<Qaw!)g@R26XqxcX@dd{Hg}!)Cq?O4qoj#8eNEKBjCh z<$B26mi=}IL%pyZDm%@2Vqh}M){lUWA4@(3VkWitkGN}keLKY7_zyt$ho9=8>J){A zu}a?Ae$;06Kvc7l+@<W5#P;&8C*<7AYpzwP6TeotK~bjGd8*ib_<nEq$Xv0<BgRf@ zPn+s1&Q#icSEMU_3-nLD2@;2#<GE5<kmTH0S6-Uz0GAJq#_-VizfY}Qx_gAmi-`#I zY|a1F_3t)H2ud8dgT%+nd@vi1tIDkr({S;cQvLEh{VA0L<`AVWzH1;g`GIHv7FP@X z#}LF6bN%4<0tr_q0u)M(dm3NLrc$I>WyngLpc`I60F@nM{6LYiA|QJtG!T{JX!}4B zFVn&%)p-$i<H#)y00N}c@2vPvt0I;uumAcP8(-Uf&zK23zpC{uXZBa*fj;2tylbRi zypUG2d7BexKWc}Q&n~9t>@TzT9kWa67OCyy#4mo*)^A`H*ov2435VGHND!4)YIxFR zzi}a+?!8Q2j}Epdx{;SNn+jqq6x>Jnd9?BVFh%b!alg?XmIMsVlgb=|s!bbKvx<dm z&RP@}N;6koIe}~c)C<GK>|#h^+5U;0V7vd06&%rjilRi)MB1Ol${RXlD6~E!7HRBX zoSV@pp#wFoH*1qvfvA$f)B*aVIFF}-&ln>Z<yDZ$0F`}I1z9jQ-9#ylHi!icw-qBm zE+=-Oqu6b5RSl>@gN0t3YEO=IL6OE<<lUMl%n*Ol-DSKCi92qj%A+K=vw=^+3b0v; zUu4y@EVOU}ajOXt8<Bfk)M2sme{*~nL9e~eWqQ>Tvs&j7Hyn3l<+aQf$S)>GJALLT zKxT38sy>`zTo+>qBA-&<%%9NMRV`#*ijt<JChAmcG6XV2CEC#5w6ViW^%F3OVrXYM z+gnlK6SMw2zCdD`VamOhz$!{vl;$jXsI}|GNA*C9eZLr{&@#)Jp<x<(Y$dG?z2#f_ z;6c(F`?T=~<S<D-Zmg~3c4<`TWOy00Xhw{RMCN8n{;vJFLl#u!rAVTq^u&AjDsS<t zPaN6Neg|$hTqx$z2l3OtsL`)t5L4E^hiFWOYKV5BYHrH`y0&1dwdao6Yu`&Y`Dj1i z-<JZLHmV9n?+yZGOH4Tug!eyx6i-7~DEU_{&Ja@kiV8B(u(h3eRrwxK#uz43bXIvI zc042(a=G0Al{7acRjMqWfX|lZ8R<Jzx2h+h90(-ZmUvJBm;b4#s(_IE;Tt^8n=7F5 z%IQ15{h22kqfQ=Et?h)~Wu{-75B?kFcBAuoS|pUnDMC3xBS{$Pwk`3vC=9}?C<j!> z17*!#)OOHYU^zt~T6Zpz9g5jn?XbI-ZEZEUP6UJ*`P&%8&z^le`zZ%oP6h=?d(^?& z;8EbZ)s-0Zns;1q@+Cl-_|LV1eA_7O#9duWHO&-(Di_zX%q$u-+n4L$@C53aD$Z5f zH<r<G`~0+|nUtL5qUee}nc=zl+VUW+@6#2ZrD4;ySW+e!MrN~k5Tf(Rs>Qw{1}3X| zUDF?xGJ-Rp!ek5Fvn8yL8z1d2)n|Dsa7w_CF_{Ww`A+Es1dNQf^7Z>{{?|y-bk-21 z5u1gw)^y?myU0eQ=Pe(jF2Z{$)r|#?TdBl#@Q6N>;JxivT|<uaLn}e@&-wz^w^)kY ziaNCXx|*1#1$j~3LT<19u1Bxh9n#-Z+a9%Ep0(<d%65I^{P}s8)^l{_B!OQezO%rH z5}^++#nz5mS=O!AH!6z-#<$~c!b@wF#nYL$>`8F2?Vhn^>A^xel5BC_aOTL3mW!$; zHC7-_EQb5Q81tACA4^l<`=)ntVJ+4EP5@z<N*Zjz$})84HyPp0+d3TNSRHZn+Od-w zuL8YMMwG;4!SSATKos$zMuxHLJt`1gQ(s+uV#6)uBPki8u-5!azM-jPt;ZFY8KV$F zx;+MrMn`xT2exxgVwgJ%G`Fq;n$;0jMnQdz04-?3IGQURJJ=xQ!{(}})5&g&M77C9 zo<^_Pi!nC|@-$WUQvbC!h5PvR!MllHhc7@7_1F<+^y>Nd=Gm_y9X~mqbFaVm51eU- zI?WHz#CAIut~IDQG+q~BCXC@NjLx`BRob6oRjDGTYTY8M#358B-5hiQKvP!cdz+3C zW^!n-?Ibm<j<F^(3RN*Kymlc7jSn?5^`Ta2b!=A`+y3R2InzK-R@{m%w9`nEc@X7S zkyA`U^xgzYN#j9A4rIxGad}{*wSG<XXAv~a@6I*hUsZMGH$UWhnu3FWkXh#bUg}Oi za-GJJ69e13qp4^){~W<9J-<8axz#7LMRB2Ab>V=BH6ldLT(WlVoRjB05m0X!hn||G zbv%Zpl3dS_sEnzuYtLgz1d|NSP-M%4#kZ8%M!~v=)pw>k)7#Zi643yzu(O*|EzF%p z(IYj>h}^WQe-W&d^L@fNuUh)H*pGPqxonSzRp<`#F(b!|f9ycf;Fwjm++6n9rMKL{ z&b#;(V1Le`o;y(MI%}6l)|i#0GM??>KyG;4=MQDff)mdS{`xI6MJeLX4%M`aminq8 ziSY@(<eUaQ=a<U$OmH%=E|1#b^wDO{Bbs!Mu0oV)oh*(!Ks7a54YFzzK%^<B82X;D zXUL1udG8iz;<?jMKZ&1uy_eI7m9VQZ>rfzpjG41#Th-AKxWa2iGD*CoXJ;{#Y{-<2 zAQ5>fAMcUVJ%6WggO8mE4wk%gf2O+5;4HLvpkXvJV37%fvg8ls>P$JT_2Gsm7+=(t z?VNA7mc!R{+b-}Z4M(pGR*r=#1c=K_{lMml4_L{vI5cO8x&7{lf~U(V!mTBkr@WsG zK2NUMjDH@yYMY<i=Q|?bWX2`;!b=HgoCBLMmRP<ZxZjyu)EQ+|9Lo#}W}oF)7qaF; zzBJULX6)9qq~`*@b{r|@E5$_>IvnaiUY_X43ZxZ+JO9pi9j&;G29=e*pd7MR4ObjT zAM0?EY%eec;S^$6Z6dF|%#aWaoF2IcyD2^B4B`%9)0rQegc0x!w5a%15q&gT<)$NU z&eLR-or}hZw~o2uLYLKy`J#zK>k(k#s2btouv(NJQbi1u-orTFpRd=CM!E!-kpZnU zvzhgeZ@0?oSbSWHEr92bcisw4FEy)KGU$I0Bi6p5V}6vpb=_W~j!}U)HL;<OZk;sH zctOZTzSw#3pKOl3$P#*;P`UorDR)}))yyD=l&#`&Pv3%A<~P`P>ZF6k?Qv&GvalW= z{=+n-j4>KmY}<W=6Gta(iYi##38i#o2o6q82Khdy>oBs(t~-(roz8vt##xFj?J=FC zUf?jz*%dCPTi`gmNHMEm+Fdd>E9O$w0iDg#M@0f=TiK&479UC}vK<e+%9RMByVXV2 zl@#eEbJ3>>T2pF2kNL(SXld2fU5Z`yK6FxHr6>gK^)$1oxzeKNZL`nK_Nl2#>^SmS zKtxLImRSWrbX(GrYWnm*v*g*Q#I!c7&`CA?n)`}SyoPRORlP?zXeSkZAVD*)tK<$w z7I>&Z7Y-UyA-Vcaja3Mvw>XoIz<pJ)ta2zIr(J07Ybdb_HDxM>tu;YzEyJBhA3m(a zVS5H#PNb60r!YoMdLwgffL|U{{WE;U+wuIlF?42VZRBh6qR846Yrm>TMNu5Om38Q2 z;<79|)Nrrf_5{fMK2k7Ye;6<==Me()HJ*3jzlfBMFOKFhx9Cj_q21p|AUUr2U@OXo zpw^|rm{#=lhbE<8?6Z@Z^8uYJ|8o^)J4pdp8mA8Bn_MYja$n<>vg8al@bP#MGGT>J zy)GMgs-dvkJnnXt59upP=0AmgW4T0OtGjB*!7r#w<&|=(i3_xw2~x_YY6#uX0uyj( z{oW+Qh?(}_EfZSi!YMByS|q<fiuE0neb@@Tpu_&Wa&jPZoetgir=+;)jpmv!d5S*} zy4B$3k>hF(R81spjWfn4d6ufW>$QGBaSg!CU^9{4RnD0pf}YW@Z0^NSk!j65Jl3Cf z|DDvxoMJzMYx13vzh3iY<Q|DnQYG3yt6t?2A6)v^{L-4IoFss2N$h_CH9*S0D~oBs zt4T71;2qVrc^tyDu6qH^u}kBzHI|CJBNtEBY=1=d*+nj$*<nWEmq1&vjKJMY!pJ~* z^C?&=9>ny9`7_x@PDg78{S^7!4r(G1#I((;JUnXEqU_s~*yLlzf<tyPVFfY}c4viK z4^$IWWqm8cp;Yg{t+p>R4;WqRb!o+0DqARGXh~<WpE?}>)($>O?PHY`In*NuyniNU z%zxPKi|(%IxUf)nb5lLmp_n^Vlpsu2V=_*FJtM*GIMXWO>qhp?hV^Piam~DhF0PU) zF|yI|bWiy_)Ivk=BKPQD_4z(yEWdOTgkpqSdjPi?+p4~J2iYJDYZRe<_C&xtZ{6IP z;=;s;?Mh@JWXcw7_RnZZaCw?*@-KBtpnrgZ+}zsp=(2<aC|YG%X&$t0M_gSr#Sfj~ zZKREE3ZC+GR*^jQ{60SABr9N-B7+sal&FYPUFaEkK3KP3KOgsA&$%EXWMpQeZ`bd) z><yl_scaJfkL{sdE1E=R;{Q^hF%74JU$?k9T~cXV7LZlt_>LNM_j($PFH_pvcYojK zf@C1hg&XhUdoZf{tR&_Hf;2WSR4K8vjBk+7D=iO4Mcc1To;oWbW54zHUfQ|!GKdrW zEt1X3!*k<h)-0xEDT?>z@T4KF6~J*`Yx>ZkE_&%yD~^xm7lsN!DyRLv!Yke(I}f%` zrVc9z3UyW&&Tp;9Ek${z-)~9=$$z;~_T=_lyLmC*JbsCz59fh8x1F|ZlV0-%ONs-p z0FzdBP1fz~&z&1@lAsvbg_M>zQymVq6AH$`@w983vO0`l($-(U*D;56DeBloG_tEY zn2ak7t?RzW08_0hkyp};_1inw<qNQD`dkP0wV_39tVcXIMump8?xrFPV}EHdZO%bD zVCk9ILz4T7{EVMz%1X8@nteRX-11siY}akUH`!J_5<y%0j08?$x!^dC(VB1JzYU-} zwxnNYae}K`c_H#|#f&kWC2@ME<D>dz$-?guw)dMM#_*nxk(6}kSd0$R$Y@io(K5XV za*c%-x17%yTd4AKo};E%IDgn&rYgC$)QyZkke4bZOr~*!t?0_h4^v$vsIJ+x4{e5h zI`s#^r9EbYNyD?FX*QZPUDWA@B4&n2dK%nfuuR(v4c1scRBw3<P8meYvl&%|d2&?d zm;W}cvodJvoayUK6vs<GGZw4Av0EwDtl(h@Arui}QoL+xId_<{DSvoQPd+Dx!B?yt zXF1qdIjZiIAS?S`<zSAw7KYX3>@abCV!_$(_BCF<rm-iT#zvqzG;X{fo(>IvvukKL z##g6VjTM)q=E##1s)|<`J(MtG48s;M#?*U@Tuplx!rPc6C6(4X9Gaxvv%QR@sN?Ko z337VT$CwGT5DYpo(0?V4sjf+CF`TB#x(-mdkaHwZN*=Xdh5Gn9iHYS_jhx5kBawDj zox&X=dQHQ95?Inyp%LuF4Lqa;N^v#q>`G_ID-b9$&*oRr*CLj$>k*!UZBK$FYRv7_ z0OQET*z`e&*NXgCIqLX`Y0^M^Rlf#NrLFHXzZL03$6MYqQhyjJLzol3F)-ZWKV85H zOi41La=b4A4b4#!eZ@FCiD+<i=+uy}EUD?r;!+_v6Tp|Km2y6SC?|h3O%X1T=1kO( z=FVX1uGYEPtBG0D)&d)U=n0%-rSKRvmj~C~Fe!f?iHoV^H}pXx?=cC&C>$9T05l4A zlTDrdnoXgmo`1t!?TFGV7il0RVKg_Fz)0D5wrMioHuog8=h8`Ehf7kCbWOdoxDQRt z4MY8{uvmCg%Z|eGWtl)T=p{8}r@O>M_=2Q*InD|SdnW~l9f+ezMDO2?pq8dXpz{$5 z_x?Cm>qTb>Mb7+os`lCxiqW@AKuo_bp~1XbDAdYDjej*U7O093%sc%aKbe^sKizQo z{J~0L(<0-E&^5o#$5f@aRF93mV0^PuUgs@idH(o+J;q1%oDDp8#IjdW$?BZ$XfZn^ zGR^$<*9mk4oM0H(44i5_3p$vk@TxUcm7yty1ADAYrRrj(dZWU7QjVd1E9stFrgt-d z)8N;W2!Fnd?D$<D)>lb*KFP#D+=pB_fh|n!qn9pHT+to{p=~%B9ob(^@H@zkQ-D8p zruFtPTUy=u-T1nPekLyt4=YCzN67|eE~uF;6L&j%ON^$dgc`C=f$jajozEBz1O(M2 z2uh1}rU*74(CH|d&J9!WP-)&pY&2}jl|r_*lz-~F<Z&XBDb8%?JP2LrO0&kgTy<tE zMVcrW+O_qWCoC~iwH*Pr!!#A{W9pj6QxB8-B&sgf1Xo#Z&YN_JX-?zI44GQH>62JR z@$e&mG*Fwc!gG2MDc}rDWueRQ?;wul5+)^5_k?ckj$3J4#0vjh?NJmL5&}MxX;k=( zrGK(3R(Vvlekw`!U@^2HR(&qCR_u!-sC7O$u;O-%iU3i<pBHaUmTqLS1&OwCv~<{} zJU6XvcXq=BjX|`A;_0(?QZ(9Ro7?YAVPSMs>IF<-*L7$Kk6?td9BIpC5+iuDly?Q! zXk5Bt=x=3q%`fTG-<x|{VbjBV>-aI(r++hpr^C_>Y!{&i8-CC>nL#azIbt9r91^lI ztqd}+ItV30lAVaA+k?`LY#a(|7m$=a_sQbU+{PE9+m}Le0to;@AWqEEm`sxCwXI`+ zJLzcfgJW{t?3C`s8I8xk_;SOG^bvrx1jKgXpf?cYQVvF_S%F}ca~-X|94l0Ir++HP zV=506>q&$Mai=hDJ~0MtVh2$;G^l!yIvfoc0npML%pFT02i(As)A8=X6D_HKxo!1? z@2cADy#r(i@06YhW9|%LJF7=l7qCA(1lJ!jw6{Jz!2Sv*Uonyy0wRNG&U^#QGSAhK zLImabY(JhqGYs_H;;rg-D7NPLu7A<4*Sh+$GVn0)b5iFl80t~HLISTnZ^Y7$ix=UA zwns5@x0VmJhGo@Y*zxU}Suw5RY~F%OJUwX(R>uqmkSr191CdTAmV=nXr#)l^xNWD= zvM&0rU*4#7x#Y$a-3#$)T1-}qKZzI)ZFDxK)0HC9l7>Vvf?iD$s8k5gaDN5;NcdCa zayv?XZoyfpCF<zCPW$5%`w?Ucjg562#~%(%Or~4?lh?=>;cSHnkItby#_|{}Kn3@p z`^Yt&ZHwTuHeOh60V=J~Rh0~EGiz6NJd?YPr=O?XTGp^rvRAbIW+K{~BX@q4fGozC zlNnAUyf<usTR?>C{x>|5vwr{~fPG&pc1+Ub{8t6FjjvKe4xtvG1==XX=fA5lnW7-d zk9<C<mHvgJnjlU#)TxRtgV(JAcZx7vR38Gt0nykAPC0XVeaTp37;;he3H%TBJrmGC z-+n0Ik)t%uAl+wo<5EJl{O8S+t?woxA*95T@|4iJ&=J|(n@K=Z^M4Vwua3QX5gsfO zmfm_TGB%3sp*l2jmhmu)5g${IgPJ5@EI<d|%mJ1;bufnsO{+9dQ;bW+<e8|l-QgA1 zvzqK2`z4y-YG5-Ash7epBXIiVYG=E|WZRdZZM^*jXdMU_EvSdR10SMC;;@*DL@a#u z<Vq!hiAc)MW|Jr^M1Rdj<d=}rb#{D9uy@o#KtaWg+&jP-B;i*o!V3~SzIE<?EiUW9 z8BaTT1q_(zitM<-E!k3A2?m3GCC!|M*<T@-4KJ~D0h8qh;8)i*MOmc;!x0?YUN_(( zxOAVt61>m#Y&Ld18r_!;wBY}O{nrKcb3xZQ#>!D7V=FcWsDCL5AH>U%={Ml@u7U`N z{Fei2lCZ9bbp`)~uUAN{5c8kmVrQPb-e>RqI9>6z@DCBqOsNeaXZ_C$3MPI@&YT+L z2@&~X8oApK?xhGi=W;fMzIL_izToc<@0X^rSoz{Qv;F;tQ!S?gs@AN~wcH$#dP#{& zD`k6HvOrZ_xql<a)z;X-_Cu1N9PxQ|)pp~(?CNALU9X}&s1Uh~R-r_(no>mp@I``k zPk6LUf`=D&*;!hmN#oIj>I<)C>Dvo#15g7-B6n2JJsWjp3~IP5D@22IWllXjGYTv^ zLe#@a;Dx<z$hI+h&jj{Ky0R#3h5{5F&*&;eVfkI2q<<1;!Ze+GwW##@QRU&Q9Cs4? zBbxRplXM}yly0^&6E~W)K05dmP$Ru#=m)$4Fz_O1P<^Muogqj-sSKtfj##!(6fWaN zYec1L)>g2&R?lFOA?q~B+jk@Ceo#onyk}|JbavOh6~N$G{*cH8x-G96MY*qyJ(=`+ z;+VtignyC*J-!O#O%=W6bkaRNlCbhc{a*V?w6W+4w*3xIR57&CD{Av~ZAdvcwxU_% z+uk-$9X&-MbTih`vtHItn{H-eo;KxDPT_1fz(FtVTj{P+t$P$|ll!T%n_KcMkO>Ey zwZ#w$1_Tf1`R#IM+^W+%BEUN$zwS@eWOV=7GJlWfo*b93_wG%D4a2yS`!b9TL%=tL zciI9&O)j}~B(*UT3}P%XdzV;j6pWF6pH?C=^AhSc#vq_tAn?94_cV1d>XA#!;OxE` zI>p|ZM^SltUpaR6go4v|9$43CQzmY#PmD6-Rq_^IT{al}>`kWodm?@2=Fc<M9HU3j zRDaeb($}a;P3+rnX{(6=ntzH3I?&NxrOad4Htdg;cgq+VOUqQ&x0E@*iCURdt4_JF zDW-muASs9_aO>3sY;<!=K@ebF*fidZ4*axD+2WNJ)}CC#s%YEN<Xock0DfLOsGwZ( zAPl*@+D&D#Hcp0nUZYLpQsR@8T3iIrHGgz=n+F8Xhn)W==pI?Ao{I&za(*wL`=KiL zRzsXB2LH#%dO9pn+C1N1ytz&-uB>$Ce=nmtZ^OI4kFBW<-^bPtFCP(~@@A&opEr44 zi^m~|(&E=jfspX6Pq4!$J&DKh(^;Cy7*<O*xIP;~h!t@U3?YPoV<V>CC``KnNq-rA zgC??nPB<D#dAmYtPbVr{Enw1IaX1mv6>CThq_KMpXIFl?3Bv`jH+-;D(Zbsvn7iVK zk`+Y<oH|ff0_toLntFCsr_~11y{eQGN7(pv>72@ym@_TXmPRLw{@~%sdarW@s-J%c zbZH&cMrGxIkWyn^8z5+8zHSJe-GA0}uJ!f+A;|jVu<r&{a}g<Cb;}l5wJpsxb@M4; znB208^hQ3ye&}55q$_C3GoLe}ybbtnhp>q<adzF`#4NMCmgqv%)t(8E0G&R6c{rqk z2El*gDGS`^j|*Af<CS;kcf7KmggF(E(+yiu9q;+de9SlA+QgpH4!fdF-hcBIYgzPc zveW&D4*7d|@`ou;V7*h8w+#9EBy@9kzPf(VSFQ58_po|rG}GDEM_-XCY|;c^z(2)) z@0%z`MfWBiBI6Ax1HC41qTX7n?}YP?JBzUI>%Egxl%>Iz#O2?uzBy#63rB6uL)jYM z3{>XPvQ*JdMhONab)?{Jb$>yD#p)Dl0ET=^Y|ui8EnzVdaFs3)$TXjow^H=>CMeG| z6}OJNz;oIfG|ajZlq?HZsYTp~Cvx~JszU=ZfvVW(XWTODoQZs_Tx!JW_QljBEcYWM zzdbal$@rQV_+ln-0pB<9)jz@4&P$?XnD>)7YQy>xM<uO{@qFTkK!5pp5&NcZ!Jg7L zg~sb>U%xNnP2VPI^NUVmHmXi2S${5LlE^0=ybKQ#tCMstft{~!qZ8ulK+>7`Z}{!% zq%2i^{1^^j5hJab(H)#5MTqj-32*CmIrMNJ&g0AYwq+V^H<u{)RRYYt$e4zcF*9KV zTu>Sdi!H_zH_m%1N`DO(v#D0KGJQ<YNw%3B`2ESi=M|DIuxr=ai2Np+jmQ(f--F?A z&v~}POww}*=2u9zilAO08St4mftyEDf7i^KkLhokIq0fT%k{i%YJdBw70aTHhhb<} zqU04&2GE8ur6!gMw{o<=h1-_xj8VZ7&`s8kmjYWUG>DFHqJPn@A;X$2bA7t8_|y%_ z-d9*Uv+UHUv|qcFT53}vP#fFn6)~A?DZS+)f*H@1;7FMRSaLHe<9>IQiQMx(!a3ZM zy|epjZTx}nJPl7<d1qxGzZ5Tm3Jr6{h`!l-d?Chl<7CGtaiND?KKFpesdx&jhoddX zMH{lxG@6lKQ-6gi905LC>^6YL2U$!Hn!;rL`fn<SH#;Jx+(QI=(P=r{_&7P_&P+}e z$OD&+;Cna)5q77V^|e59j4l!Pj8uz-mL`&2OiwAOll+K?8~5P|d4(Qz$M-Sk#U)&J z2KuLb-Zh+@b-{WOdbvc$Wqv~Dxb3(>A?YELGK^F7pnn~jF_)3ZKzGQJ05on$hk!F2 zGj*b}&4QQFB%WHG#W&6sgPwFyj|KtnooKAVM~83n-yR=stTARX)A<9OC4hxLdqN7& zQge?aK5bz;NNhV@X!I4WbUF`u(QtLP6B;#Q((wdNL$Hv{L-;!ZTFq9xG=AQu=Aen| zJ_{S!w12jcg!r}U=W;UiTp$5RaIRa{Ih-m$9q2p&@;e%SKI^4bsg2g-B`<teY^*gq z<RBO9)j2}Y$g;t_3o(OSCn%k##d9zdW0-n&WnhE!V1`;nVznKdFFTv99~}t6$Q(~u zrx!Z@5+L_YU&aSWDO3UzIVR1Oj4nNG`5kA*Gk=mN^}+sgf7YZ9vfLS|O3bJrM>o05 zDUV$_LsIsk2}iwwNZ)nBBVBi17ZwCt8u&qm7N^mj^vz7;#0_#7Ty3MaZ=dTHbB^0T zm3IbBpRu;UVm+LJwh@!VCc5ots@2l_lKg@fk!93};R}1Bj#UuT;pzFdaVt>dYuE1D zK7UGDigF5QdS1K%F28JaZ?e%MP~I(HlGas<i*T2MJO<y(++@UY>k~ovv{8jgJrrXE zI6S|>n7TA_({?e}2f=)^Z9F+``J`^5Fx_Qec42P?YB3CzyDFC#;}KLq%Ot1Td?K(g zn#f-;xf#8IzeJY3umkL-e1d(AGZipkq<^%wwtVS);s|salYAWePFwFf(TH{{59835 zqc2-uhQ>?H)MydQNaI4hD_)`!Xdnk1sKb%U7DSyD)?jQ*S|_-T-^=zTq(dxkI_Drk zwp;VW!$(*8%A+#$EeaItvkjH#U_0aA+&R&FTH@Z0PzKbPtd1cmFr-kHjT_3h(|@vj z5Z4<=g#e(+Rz9j#oTxUzh^0;T3mL5-fS43V%ynmBF2P;|V(;io)6V}Vn*b)?Ai>?_ zopd&3$Yi?o;mG371-XeC$^;%Gl6ODVzSCP52Rt+L+{;qoM(Hb~J5WZPIlj?jK;-CI z+ac$(wiM8b^o>x4;cq_K@{>Uo<$uPSN6Nu|L>uX+nMwqu>k|Z6&P(E)vw3QZlat1F zJAH3#P}>Jn2%#_-iqi*#;qhznEGKt<hf=St4g#Q9{6GM%(f89>e?kCEUZSLeBI+9j z(A#`W&eW>!$yqM6zEglf=0XI&6QNEb;{W&V^^YG4m0MAxc_|C~W8v=g)_<RK<XO0V z)4bjnqDlm~Zg2COlU|_rsmY_1HhKKkq;g3cL{iRzuDi9;bvioLksd%Iw&xLhQ}b@< z2#QYeL3?69NrbT_YIT9~`p%ToJP7Jk%`RUdl$aK1AxG1OsZw!ZC^%D4{g%`i)tLMU z54qZHlLCyhE{d7GJ<$g_#eac`!k}q{7!HhTo)yPKqggT*aDh8cYf@Bi&j6EbWJKB7 z96;+AbX%!#<+0IDev6lis<byi;SyD*!wA9S3^R>Pe&#Q5^O1Vtca=~bxLGEu6JiAC zsl$$FUq8_E6J(Fvk)y3~#RF%gXW8%9fA7D|$KTpjNUVPR`rF6;{C_Vu+IhkbrgA9U z&8hI(Y}iHg)G8;92nKAPf|v}VT8D74vzdmj&dH-K8X6jj8CwaqR9Q7i1xrTkjhYs` z#&%D(qJV-5%$*ml!A7VF+X7o^M_#DFbh<l3;;8M@WDpXp2x-j<M%Z&pwdQ=x0wdY; z=ZFHwN@}0AdJ62L*?)^YP&G6cyDiO~yvKHUa|65n*!3>>?)q_Bq+eZ6?f*;HgAo35 zT7+<4uVn9Ok-0t3@@UWV7C(Ak-IiB>JS_5~<z)!MbU~FG{4H(%#NhV>_bA6)(Trnz z923=4K{nEB;mT;EFw_AomBS<zSiX6H%W>#Q!ipL-va*t`xqps^OMvps#RH7rP9`(b zY>Ozl1mA5HGsg;iblOhd<YrUIp-tr+i-)t)8H|(Gh??OsbH|H6B4i@;#$oD&4$V#R zW)5-BpOhiGDG`}e(H2E&=DXpbD(HeacnqOS%QI<)K2r<9dp&d!m%$QinJaX=D3BCA z^$J%kByA3S2!AE=HH>q}Qv+?GJs9B90(jN4pNH)-tEQ#NNg+o{>0Hd}wFk#_&l_3o zE#~>Gy%mf{UC~ND8)uMtHKB7XZmFm?Hme=$_XW7?ffJS!;^wDMu+oXES1$xv*hol~ znOH<2RI-1rgS*<4`lPU>ig_G>Dcf8_<n4+6uG;hnP=Cdgm%G@sJ8l)ObTz{%QN=DG zCCFeNUasJ(+#mI9*^0oHMQzV0&^)U$Kfp#<fLE|KqIMdkZGlFu=(^d&N2ybl>s@<? z!5rs}$25`fiNra3PRVudcG8l7F3s#j9?8g;0?kY{U*ow4b8WLoos$jRx@XLE$UG1! zx#L95qkjq<%<=_a1NZfy$Z8{3?$VKeY$hE`x0kRUOF*TpIGOSk#1+7O?LL9BvctV? z2r-ZaD4Uh69L`7t*EL04VNtwp=-^&ES~u*iQ!9zTxhx{Ai@lVdkrq~%&aAR6CpK#l z&W27s-RNpkI|G95^dXA;1myuPnnBx+XLx-*IDd<#b|ZQ~B?WgqcMH)c%TMn|YQQH! zY1ujISM(<iu`9#j5k8!~>`2S`hwnpDf6z#y(SEqV>7DgbNb5*q?}+4s3tWk$NK$8k zXt<_`q)4P+u>fE7I#AnT%~vB${dzdyg$20!$wh`@o9*9z{8+^$niK;KVUSx&H4Q4d z7JpLdq*sjXS>yx{hzC;^pWQiiICH1aD+l0HmBe$ue<BTN#JGZ`WH@WY*_O6w>3+*u zAuV7x`Jf=v4wVT`*P^~zN~VKeuk)K%)qnSZv*@Qmw%?HKPsbhcmrVC`PaIC|cLN+r zLp%TLk0Xy+Fo||qAf#(`<M!!OlmBwb27e_~w`lfM*H}1LmyibTnz`FKvh3p^I@Tj6 z>j|Fm%m>;`1A)ZdfDLwRNAj`0{(x^tfTX*MqMSySbh#qXrT2I)G=9c$#2FtssaJWH zsu+)ow5nWyD2K<ZzPz^6r_F)9MXlIEHnlJNvmV{4%G{|~p}}*g$UOiiNUF9R>3<=^ zdJzYym}QD4{=}y;44Q@A8Ew{%DKpg^k2AIL{kWPt*+R+qUPEy%9zGiHxkI&ZqHLv~ z?tQkf%h^*&cRB@gUzgkw12Y*+QxHOMWR4?|^S(zA(R&L*l$vwRXE+yeb(k3qH?E_` zF+Q8#Z>utsV+!=(pW~cx7u}KR!GAl2bgU^nQ=Fn(u-<N3PL$YCB4=aYwxeA1T2!*N zS-llGoH8K9<RQ;GtcL3%_V$5VStm5D0of@bXS-B~IexCi=pevRV>k;F!Je<6AI~$Q z=8Ndj4X^CT*^`PMIH~jY39y_?N(o@}1FL_s7?DBTXu3EAhII^wC`K^d`hVaIJ-Fuc z`R!%XPQ)$b#`>q_u;~>e>B+5ARm$W^P;`yq=$3oCNC#a#kJ7p5xXOfNg;G~^5x<Ul zTuclQk>Rt;Y{zMs6GqZPk?1g=lMd<$WUI)tqaJ#FlvxLnLG1Xpn0CzwSvsm+ENr4a z?wikWa7*AKl$9k`>({KJu77Tg(O`LVU)=YF3UsQcIKeE^jJUNjhm9^3(0T}9+?xQC zw!D(ev<k;B=kv3T8<2V1QkU&ESd1_sHz_X|KdTvgF?kTIOt7}C8K$-GQ?4WR*CKWb zvD#5M(|XW53$n4GH`EDAdI1oyfPK)+NLn(uSPxY^mcf8XIWp5H0DmXILcpw?TX}zl zn_pMI&Zq+o;LNKV%LEd_O1D+{lA}~)G=qqebAZ;vEShZw{|Xk&YOrr|5aUIB1ZB(Y zQHka-fi`b)kDhcqxK`KDQ<Qxve@AdmYEftSlqfnkJngg=Q6h10T0yAExaK)YMYfF0 zP2QGF&kG_H&7!V1zJHp)7od&ZD4j=}EjR4VpaRr5yh&bVkOo4U2c_oRq7bMbFzvF` zW)i0rp`2z060aOLfw!X76q5?LiN~?dB_knkhjxH1c)W;kvLuA&N!0R8T0Q44qu&Z2 zO%$vrJ(9f}2d&QyBZ|2n=SG2Rb+ek%dK{p+6hk`>VcH3rzkkC;j*-%&k_^P<%E}73 ziX)y&7S_Y!rC`v%o;7D4Gfer)z^8#Y`QsX%nagU9%Nmz5yd_3M@dSVhB9u&Ka!v<% zP@^h}`Ye<Ji$?4LLzqBU$hWCOT^lxm!+k4uICeg#&mNsXb)HPY%KjLmrm8&B!lzix zn?mAFvMRbh<9~#JO9OE3u^azmQ}qV|o=a6_DeZK{e7ft6v?ID=EKPKT#i$LVXrx-b z(OQ881Qni2h3XU|__^=QVlxH_cfxj*EHtwe?@j&zBU&Y5t9_n(w+^oO$Ju%N9mq}? z+7r($8(uS+psd36*5wYa&PLMS(}R?-ovAZmo8{_2+<)O{X_Q^0z*I&zer!EIsHTb8 zLM7qc)OHgpCOWa#O2;o!6ni)wsmn+%bewyPaH5za2lRv#b9-rNC(zIpr?<X?9B~uR zltxMUu^EA7ET^{wY2l$kBW<h^a&!B)6Gi%_plqAzT)=ux(wPT#_I&$pLvgR{y`x|o zWX)65i+?^?x6Por3gGb=W?M>rPKAF_q<98}0SzP)&>GzNW}~M%ty;S^M-wkN7i1&c zJg97Oh4fvZYFL@-5qBk8Z4(}Naji<YZ^FI>wPshv<IeE*b-28>o#41Cr*)7Tx3{;0 z6rRbi!Pi#p9p1IQQs$?&st%JuS!z=0e)|j&a({x3Uj>~B@92N*Y~X&<Tv33>J~f&m zPf&IYBQ;wVy*d$P<OEXXD|My-76~_7#3#mnvx$8vRx(D{GIDEHdzETxZ#9PA;4b7T z{TPpX*k=@XO4GfYjP|NXL&0kWanL>bQF`HiB!Q~)HXXipIE^i$-w42Xx~`4DwD#O_ z6n`T#2PtJ^X#aA)tjl-YrheSnj{~4I1p7&3Cp^YJPQH*QC4dwQn^u(u;v521Xkl1S znoN4X<*DzEiv2pnJx{lZM%s{TM_}=A?38rT79x~Lb$o)puZ%}qP%+H=t7>`TBiK@S zDg!?b+G|8T=x{V0&|a%{$DUzVfmrkwu75RXg4pgh|3n=R#Ar+N1~iGLQI&|~%AB13 zg+i{xmaeJ{wylldJV?X2AqHK|9H=(G%!8(#2d&P#1JriD9Tq+JawSmsC_K?K87HqY z52}|nLGpD@T-d{$EVr6hu<?B$B%-@xj&OkQ10faOejf-WpyRyVa?4hJOlAau#edA{ zWgkRtNtY}px+(<B>QCYoQb;0SYcs-Ad{Vz{02u;L1ZEr?YNOMjl`u*x9e)Dj<bjYk ziiMdnZh(Gn*jdxd?w4SrJ&|M+WHUJtQl)mXCzR0N3*Sp(Qn%LAZ-fiYeI#&c)^rJv z;;dsa%5Ca4V#DFAD8k;Z#<)=#_<x`}(!6W@+apa0t+ES?J5g_x_zE0FlWj#Q$O+bt z9uDXF9Gttl>9V75)cjtr`Ha<Cov=#6;94Y(?g-<zI&2;l73s3e+6UO*7BdE08^T)| zsu&U^d0owW8?Gg7lRHi_TB%OsjMkHX%P2BEXtynu<(j<eV8Vy#R<^!V^?$arimA|c z%b3#J9apwREZ606R^ZZdkEO<%`Z2LwYLWXQhuU;yCJ7W_Bvkd2*Bklwz?5@UE^|!7 z#P+XKlhLAQ){-e?1rU&26=5O!5pfXXw75G(tvjGGae^RDhgtQvadN)gB8cjiZ-zUS z1DTol_R^|obzPF!R=T0`k$=K?_RJZ?m5-AX3jfrRh>Em=w4>b!Q@jUvG9Nw3BEd+8 zWR}{#I})`@r(7SGA%*Gh9ZCD+W!#Pw!Sw1#uEwn^73KfEBhBqdK|}ZFJb!+#piTG$ z3?U|a8<j6Y>gGOx|ABNUR|O4!1xP~%vatNiW)(J-gj8#rn;IOU$A3k2bW4@3Lmu9$ zp}tlV1Y_k7=9hY>sB<2$`VJ0kfTU{p$LgLSao`MD$<;}Kx~@QyM~x#wE=><&Nmr!i zxf(eKmZuxDRdYl_U^LWrvYHwDCeCETQaqJZSE_;OP#qE4V?j8J8qHZolvSbnLNcd- z-jqgmC$|&JV`O`k6Mye-O~Xgx0miDw-BMa2q1qY{p*sN_*0T-l#ctk&^4M2&hA_h2 zH?*wTs^atLt6l4GxKfyrs}q>A6=@<%kc<Rsj$20Bvbgb+EU}os@8G}DwxkA!7H}Xj z;_R-^zX@uAZ>i))wUk@!j!%;uOpG9Z4P3@bUeAkVKDX;>4S$XoS)sbD0~1dLh^RY0 zC?pCSSCwJlDZbd%cnvq=M4heFT7abmVmMZOIOd%!8Vi*CwR6BDJwPVu<P8C~^k5L} z<{K$a{2ztsv_p;8^72Zl%Boh}b6+Xiz?61;Lq*!oex3^%F?lnPmP%d@kLS)Ql4T0w z=Tl)>9MAZawSSN49(rs8C$AQgB~m!aT|zmrt2YTnYQ(0aG(TuTzNgk`3avEb<+}~0 zWnkbDv3WNi4?K(YE_$*Q`#*~_wyURVDvX<BzZKXkSMOl5<xOV1v+h*o5w=Hz8opzZ zh(ukVl#<M&Z$jHDwLWpN`h*`}Pa0AeQ8F`m{j?8}SAW2DxE|hDik=#!gA-3;Pl8i~ zQ+f1^oDc+9qo^QB05Y^>;Hq5;E4AS|=ULyRzUzMc>MHf)jMjA&Y8$Hm6_(_?CJtc0 zD{C^L+dQkWaW)N_JshVH<?tyL@XNbioNuG#tdU3?)Y*mMU3`r9d>VZP<f!APO*V7% z=(#av34h5nBWNg<u#@;mtbJ}->_YT?#h$+PTr8JO!ueX@*O8v{{)t}k1`x?%$8Q>? zn!Q2|{+P91$EBx*d1t;mh|SPtfT?B#r#R#C(<L893RZ8wm)?k+noT0zd?U#<Tt{h* z;#%R_!;64bI7o$T;1gMwjs@5_<zd@{d4w<D;(w+XR|<wo`%#_m<%UHlpRLo`D)VO& zX+lpk%^-Y)0J@d9Emiw^hDPz_(N7e#q*YOUZip^{7Hf0ro~{~uBU}nF@G>p?X<Am( zQZlr<)8}hiVs-cRy>-F<w~qwJc=7$|TKw@cFV;xouz|SUzq^;wjhbuM-BDAbM@FD< z2Y;R~_tJi2Ca%W=)*YVaZr_#LIHlEk=QtLA_q8l^X(k|-;ZE8p0JoTYXMB+J0U#%y zZG`v(HX&DHrLWsVf<&CuGs%f-ei=@*0m3zunEsmjR-$#jzhRZa0v)uM+PXA-^S37M z&pVmdJV3Rv^UM((VibnjYgFwjO=OJ0{(qY?GB=cshrM4aPQBsTnVgd^JxNYyCcuJr zlJA0ysf)WAk^1QPCV)49H5ke97M_z7zoJ9=ae3f4xX^ndqMfo}U?Cl`h;lJ7#tRs5 zD=i)s7U`>#om$Zh^5jrr{p@9T@M$rIn5g))xU?^44=wB6O}VCZCZOo%&I80$3V)Nt zZT4$Q2Twj+c1T=~xUq#b+}4U7l|A~du$i*CRQ#8zkfO<#r>^-GBfQ}&({NfD7?3l5 z6Ksb=>wH9FG7*iLcJ@YlR>IMTv{v16#-9w@oF@gsbq>@i#N7Y1l@?xHW`a?Yq6IuM zEFk1}LhHDB%3gCl2Ao52H+d6<Hh<g7X`Q}Hj6#_p6o*z6H39Y=6kEzG)Sb<fD`JKj z#wc<z2<xHM5#WgNDUY3=q5zDaz5814{#NO4bNk!M&>tA~v%RH!WKP81W`z2>1p6A7 z=VAD>Ze#fS21J3uKigZ1`O{bGUXP%o<tV<s>Oz0HxR)C^hhqg&ZDv~Y@qbG;AV2H< zx0%ns*HsnYf7VUx_s8E)we{_<xw}m3(yvxCdo~d-DO*YmTP2p*)-w{s=^WIX{M*${ zC!0o?29Tag2K?HR<RarJXYYC5$#rlK8kO948d6Di+P3CV$kcCAS}9jtQ0lU6uG0gY z?a(#Iz5tpy+zhT2z_YQ^V}E_5w4TK3Ac@s*ZZxVv!Q0HCP{kPcY@<X9a92iIxdbD^ zpd96F+}*YZC-W6@|BHS%Y<M=Mr7Mn9Lh+Enho*=+fu@#CRE-c)LRxXj+SE|~ja5q< zaw^s?t>(G38xW=i2?zV8KB~4Dm6>{dr>)i`NBp{ey>A{(lD)Um2Y(1Zmt*s9JtpDd zU19f$=-IjGueq}ge$JP~cRIO<>=|t8dW30%L(1C6RQKBtARu5yLA9Y=_`!_{5rXPR zdX+}GrJZ}G%|N(!k&W`~z(_i&v{c2eyTd4)y=M|&T;Mzwq;1x#&XNaRIh+%zlDJXY zAs3eM-6fxS6(4k}M1L|Xl#sg!;m}z2Ul>JPOm0GS#Ol~;z5m`^o_xAf20TT<lWpfu zO+#gu1CvE7XjKhoXEtBPp#Y304V-~!h>X(TQFa}kT#uqY>$y2Z6%qTWpt)!w)6syX z`*TZ`!P*Wy89YW3-D0R_t}J%U2`zn}JEry?(cueSh&;2`$$z6JWDVlUeqY_0!6;vA zDxcOEg9zV=Zpu*uYjoGmjIQkDdDNcN{iUW$d9PfqI}3{%l)whSJj09$7&*mSm*Od+ zPQ4YYL`}q4S2&?-cw^^AzB%VSpY2HdJOA=L=C-`Z>LnISl~1SUp8T4mY*W8l<4zHk zf|VMgab8XepML_<!BG$XQG&PE_B!@MiLqT6UKnl~Ji1hRS+NG_O)7Lqu<Bp8k-vET z9p+n_PRDjilJe_mZKOx=K@r@uo_$RB))2P468MpH#X6Db5^=%+N&8A+M-S^jcQTRO zy!+@1$tb{-1`dW=e0&jF-}dDQz<N@=<dMEA;z+T=N`EY=g)1QjHp8&G+~c1A7@9pn z9#qnb(r}TH8rUlx34l&1ht50rTC^sE4Gh_K3c13=UgZ3;T(h}#s2v`)sAUtT6@IS# zS6^lrmJQRjx+*t4?|Ff^dJjK!j7jTBq6cbqQjbIWZb{}6H^lT~JUA7w;c9GXeO$}v zlb&v^lYhIvJ1xoIe*5pAKjZy*Hg=qAIoqLrGeXT4k+ycY*@SqPr_S!!ZdA`;*+?X! z7O$?Z@+=I7w#7`gTb{n|(_gLTz+r)jwn&)_-7K~P@2gm-PRBcs?%=QQ;feErGzp~n zDjhmkJz*8m+&38i?(j;guXY3#G}<AJvY7K*Fn?a3Y?snwuBQmGX)3{AzhT|mA9L@1 z=Z$OD<uI$&E?d#d96#*$ZI1a?_HXvvH({PLED|VOhp(i-1**6#Q4DI3ZDqNo4|b)h z)iWP-C7Q3|=WL~bxBpSVHreUjJaWCE*<_%VIbhI6QkOxWvKX1t8HPIe4Ys=y`8j-Z z?teMo58=B$j(Hq2-Tm9EVj~jj!m22B4bU06T#aoRN$`%&ST&eAHWn&z|L{2yV4vSi zTNS7aSpwWLG`8;V48pH2xkGmTPM=ZNT;D_nZ^i+p_ab6JyvZB=Ule@K!aF+|_Cs{m zIW2nbSzlP5lDPk+8TWN!SL(ZuaXD`{Hh<TRJ(4pnqUGo}(zHPNzGw3XGuE#j^K5ZT z!ZTKX$C{-;JI009<HlYWT0h*_^bPt5ID91PGj8nnX!BvauRZd7O6wdqjNj+hSVfhE zmYkIUNwg`F+8G3!iq544DMeJT2{ZRZ2NNp8=SZH4<S0vgt}trU*JUWUOHE53uYYHD zDxTPQqf2}@5xL$+Iuzxk_-68xRq6yMQ_5I^Fau*G-fq2VdcUp{z3Lr{Q0SbUM6L`= zA550b(Jw`xb&BJLnoV5~+PUL~5K{iQS}Tk%l9<bNY^4sK{Uk#|-F3<tay)Y<7*Y#f zxU38OI*M*D38V3h=Wv+1)Ow_qXMfi24q8nCk<h$$Ts<A_@X{))XJdK09sL;vkmb{7 z=i;Ce;_bvXlpyR;?`=Q3(-w=P-JS>0Qfd;N*&`M~Yb)N(*`pJ2X)Ya$j!2<JD&jk> zb!0LcLUQNYtcqH<&c{@CXwX2K`{IR)$R3}!?%W@{K&?5CQjFAHDSw?@2!B;qQ)cdZ zMGm}J`r?V(fA_Iin7~l5==t5Zj;;IPuk?ah?}Z3h9ifAyz~Zcpwi2yK4#!#n=y-<U z@k+G<*ZL{$(|W#QqJ;t^&W>6zqo-`)%!H+~8e|+D=s2*NlsFHrwZSBZoMyLO5-phX z)ymuqiz^p&p)S0!loEmU{eLeucB+h$iOvin8FXPOIfOaUgrir0ONuc!%+}$>=1(LE zJSkq6DtI0pC=+zi_A9{<S?g)BwTbr=yPPxVN=#RT2SbHz&xjPmae%o_skKhy+@S7A z%X;U?Q5!RRX=^<Qs^YP!=vj&kCs<JM!rZ%JC#Xis0onT9?h?$?WPgQ?c>S*DTwv}q z1H$P2GufCs<1j!c!u_#On|wqi(sX^I3Rw#mwJe&KAHSb<M7$KKztRR|UIjGH1k+>* zowj<CBIktmCUV<el?V2-D)qE(8nC?C;g{9Pq&JaV>7<LNE$LXggwBSo6U#(cZtSz` zga1T1Mys~%@0~9O+JD?P+n2)t6u=cQ9N{_jlO439bo+H4S5w_;iq+U>RoZg1;hB=) zR0qVBQz@HDv}9*;LbLV|p&Vkezjt-fc;)cz+`x$K6K)ftR}~t}CRp;%4Vf>d)Om!7 ztCr7ackb2HoyN|cF(e{vwe)hUW7Lf|Htz2zghrZP9*0hVvVU_c|4~c`Q?8Y~wc1{v zZn6TYi=I@{sQw86xOolbUVCQ-{}5XMz!PaHqb!d>Id<;bW^BH7c|3s@)bOBw*qkb1 zqeYZ;Xb(HnOYMtXc*aR5BO;psnIueCe1BUbuiy`wS?avMACc~ailYj`iF*+1dduq( zk+W6tIeTR!@P7+f((Arv4ffU8iuZu3YxgUdcPGGwf3t6^(QVmRMn<A^-MPYgYK-Mh zr&s3y_0B%6<1C-bgw*5*;3b;j?G?f5M#}my6{0I5K(l==^_JQO6Xu2^{EIUf=Q8&R z;ZDpVbS}ywwTZ@xE^c6+57gQY>ahm0D&EPg_tM)sl7EAtrOsJjg+O^QEf^n&DC~KD z9o+#-5>1b}M}fr6*Mzj?;F1HK_5bG=3R-%Me%Uj1taUk*JgET*1FYJ>37eIHSj`Dm z#|W`16)Yd(TF8*y2$%Jrq3d-Wt(BJ-fK=>?yWTnZVEZav^tmEFr`__5*RA*Cu!7~H zWvsBXcz;)(b&fe+Z+ZE3AzLeJ!WCvFmvS{Li%rWx>)2AV4CgY|iN|OX!p%7_+}8EG z23LZt6G3vM8Pw{Vg|VCdkulVX!FU^b{OoN5#PC*ZQY?DS9h59=djH6#D?I_(_!^WT zex?%5o#6z`=#W@8Dsz%bTdU5Q*Jn~9RCTh@zkk7L%eQ!fCuggL(xt-t38mAli|4;8 zDQA(d)3gS1PKcf+^srN&keoXkNLT4l!PxPMpK5L0Rj}j0)tyD$-7TG*4q*<G6W{|C z7WdFl+Lc%BPFMxbgf=Iir5Xb~Wvgr^&kC2+c+tl3VSyA<w#lO6Fhx1hf`qAVxTOu6 zpnuDB$oQ_<Y)ZhOjj4QN_6&z7dN23)t{Kp6N)+jBXT>SC*Fuh??!wwuh-jS<x(Np& z+gfPSQMwo9ReD4z$_&KQBXI!|Wh(M(oK+XXJ9;SFd}VNv%eMe$ZJ|AUB;GQD2v2+d zVAcHj!*6!wpspj*TW`vusHWF*8xBLNgMX;o0wSm1hYRl$etN^+XBaY?%nU>Pp3u)Q zq&9WR5&l_-H$vYJGCdhj(Qw0neNoPvO!p5kU5LTtXvr{UbP9ccp0)h(vppS?i;uv^ z?}U1n^9})CDT8BhX~;A}ZPdaJTc?w%Gfuith^OSV#(2`sgPB<RI7I<dKGP`)wSRld zc?G7{Qm0-Sq&=<(X_!c-0#_ywgQCR_jph_~gTz|Lkh_}xi+HF|xllRUI7xO2@J8u~ zObwZ5F>d)9a}Lmov1eiD)~KJqeEiBipZ0QJqVNvDxkDUMa*bm9%q#vB`ZV)D4{`Qe zhM*ZLfclql;T_<N>n?EHKaC5|MSo4IX6Ge(xriU*o1L2_^kVw%Uj2TWcbehm6J(pq z=^#WNegt$XD^~{-!yEccW$uT@dz14R|CVKrT)K3-y%~@U-)i=hKikKp%N4wO|D_ZV z=x<Gg?jSyUB)*#=6+o>$bgG5E{qO|r71HVrvMWXU@&hiWG@f8?Pez=rKz~cEMXK{U z2yKC+#wn5FqVK};H_cs&<BH<eDFyPHxlo20qxI679$iF4(UJ-9fUb`0D^3{d9lP$5 z?~Tb89AV_=wrnHR0yB5Aa#3)`Rw{{0ClDTy?A(;;wMH5O0Xfk6dMwT})QLhuhoD;R zpPD@;fA_xdhZ@tmBMvK`On>Jd<)V&4<j4a+gq?eCfwpY5sKB|2>Zr8Wvkz=LH9_c; z7I9f+$=aO7k2I_d6<`}Qq(x&Dj%smVZPcI_@Ec<+qo~`c!FDY#s^Y2K+<j)uZ~<ar zH~NY*CMSm>M!Ip!Mlu7{H#%kLdxu0|cW+&eNu4-*#QsY*69t?L?SDIRn214}l7ZKr zv)x2X(ATXc@k8Z#k5(8-8YC0OpPx?7r6P~h=9usND{N-7kBa0QxGtJ5#h5f;E8vWC zniC)6>yY-Th)1ZDUZpSkGL;x)w9vU^(uF&sUe*mDKCD@Q#KJo<aCc;NK00c0nyRrw zA}(c+Qg3tTj?Hdz`+xP}PB`-3wJ9m_E}_ckmAbcd#q-`tz^N}2e=jwmCAp&B=AA{T z;2nqt616Y)=JT^U@%1l$<>x*DeIx|FbV5h@vFoej@9cjvxa{{Y=LP8A>g7)Nel0s; z&3@kf2$w(Jz`0y6u6SX)3w<t=&jYC-R_|*${e&D-J1?FWe}Aw<Txw?)-Fe-l*T{Vf zk6jC^-Q;^j-Tiv~pSP)YhU**d<{MY#f!gn?WX#XpF~bHcuJ2AT=qIOhrx!Em;4MJ< zV)>}59P`CXF|=*nLG)kQ#5q)Ti2@#-%cfU4K_M!rZ@g9n)tGl%c($rNdU$pRRD?P{ znNE$E>ATJK^M7-Ew*sEj4xf@@Md3J{DcPHo-p_6hU3dIn1&9c=3+AJx@|tVmtU@`Z zuu0;?DtBu%d*Z7T^CZOC4~8E(Ef}KI9lCC%%_s5Hk7~YwZgr_l20HznGKmR@?vs&F znDTV`y0q)%twK@=NbS1GNser0moN1==~km%n9VI$(tig>l8#i4B!jF`Vi^EkvD2aZ zbp;X_oD0sN<(6`LCpm4yI$NgI<SIAzIyGxogR>Ju?4ST?Wkce!ncxvMai$wIwv#o< zRI!k#E=Idfks?7n=uHchEv4RNP7}`Z*y?z?3Ocg?<J{9_OyFp1Ay`I?uX73;W9VRG z9e3E(+<%S9SIm_%j#G8M>FZ}dR7xE!5cyCqELX9Qh@VyttpVL>7b=>F$lAVx)_(Fl z9XK29Q=)jCHq(KkRL;NWkofo)Vq-;Cl+#TDkmcttEgO@lrEDy(A;FZ6Gr)QJF%4WR zAJ3)A!0}pyXC+W(!wHwO(u|t*bCsBP3W7k+K7ZkRv^pL8x0hsV+Uzb~)yiMiLuya% zt+Eg?D!6Z_WQcJsBo3oxE7w*;8CbFw@CGRvZaM!`NIvE>jC49yVH{hy5!pNfsCk9! zoi^^xOqd0qi0Rq7sYpKO5Q(0TBqG4d)Mt9hgOj`?pF5@7Qe7!GuE@vH4}HeEu0%-E z(tmZ%Ns~Z*7^J1vhG&iTJYP}^Gtt+9E(P3zr5CG^eW#R)cU|men2_<7EFc_C(l{dK z+8k*yKc(8Z>sd7`>?j{)G-bYAj5B;szSw9-l(l-DVhpvd6Z7eF-T}(@)Da`T0v1kL zUq<DJ@N?_LY~_T}3G?%yw2jSOzNVX=Cx2lFZTk};N$=1aU>tNJqiq{p*TdJvBz z*(DOic&2qPIyUN%01T|yQI0Qmj2R3c(f_^DTFNkWj|PWcudiJYcM$mrO*=Sv?4u7^ z6!4t|d$;h7(q#7b4_({_jg`{+gf$Jo5tvvE%TIOP+Na2dimu-^T`oHBft`T>n19PC z(h1*Qz0J)}Mwx^TUpWHJBq^7X9#br#^UmYz>n3!COIv?n48$t|RFg9}{8P6)8LZ_6 zq`gAGQI!`hM20@;bb=yhi9)~h2wc)bu(|k^YI?4T_S^ScTtGDpOKyb{o(u7mmYZ2Y zHOKZTZ1f_1&moQT(8;W$<t!E>f`87!&D~d0<&l>QGAz40JS3+ekRBEjMr)LVxemQ( z2!O=1cln+AP4NZVB6lqF2Fscuub#(vgO1Ck!qd;1_e3dr98}h!!Vdis!(tCsHe^gJ z0o?aE2je(ah^y5zo$hmWMagN?gIu%|*p_k8A9I(b4`xU>w-BaMR@$}tzJHB?moSVJ z@<B2XFWuSZypVcO`j7A^nCAwQ;YP`)_@Wa`C$qfndq@|^EogemrE;u0(7miO$P$iH zkbT{Il?#>K(P7%Y)j<Sa7dxdvlr_6HJ7}iDyvQf_K)%pstRoGwytQx4cp_6)uV6*D zz%!*+SSS~ewlz0mPD*-~N`KXWEm@Cyz+xLv*OKQnHolnXr7>B#LhL9*!St3{9*7AA zHKOB!D?^9Az@Cbp`BdF{I1_>vPjFL(l<d%-3JXOY0ExTbQK)Vp8mW~XnV&)`iGL9I zIN%nlRXMw48|yX95IL&fDZW*Hvz)8g&pPv#$Gzz%B!&{7T1IJu?SHVL8zhZn(C2M5 z{4x0!Ll2UqfJ{!N3q+J}R8s1})qONw!^jcE#7m!(O)J?){Ay`vEN*va06QAcPA8ol z)rl>|E(q;HgtQV?bPqs}p;?s}qL(a#+c<^iLxy#y9D<#2L&eLykSKK9JDBv`Mj$S& zK<r?MttJOS+-ZhGA%70Fb|<V;SRZ4*9Fa&ls0?Ez#ym&!SZ^f+^jlTv9meQck=?dD zoJG`;ZOE<y-b%flXO}5SSBX)amhmVJOk%XyhkWVN3g?2BqMmV8bUPMSOVdt^&<_-L zwXnf39v0`68{*?6sy?Z&zah@@vNIy2FPJH$(`IU2*{t9OWq(BOs%RelqJ|R@islfT zdHjr$ctp)aR7YRgGiIJ|7jT$#7P^DkMlB+t6J*D&AWG@QXC<|aIrZWvLy=3{6c7Nn z9iQ4nJ0*TdES|H%IM?Y`jpH2tc*|%9&!upZB}(WkZm#F8M<#r%AD5D@b0gvHNc$c; z$yE;t$!Al8Ie(<%M3sDy%F@DGZ!oqAGeOgTb|~f73~9A)$-nlN!vuzHqAf~N<c^gJ znF_LjDG-^^C^#FRV*TEbNP1Qdvskz)-|Nu<;2{}%yJK0s*Lkh-UYtj?D}dM}D>gw? zKr+spUT_=ot0&>a1Z|@_2}2D;YCfNWJMqv-%L-a$Wq$>y?$(N)6#k1!Sq}pg46C&2 zXaG?_uD?LZ*d}ENnG7{S17TWrUhOJP2?O%>A%s&vZQ_q$2$A0jj7%@62!9IFxti6C zx2g*TQqRoDOE@3$euNg%!syP4qigG~r6li99sLxiXf7M41RiPKorkEKdIYty%ZOG$ z(VCxoCNzQ~uvdRBg9e89#MriHs$97I7PQ`-X_c}Qs?Ecd{2^5(!l5^Y=2|*gkFG$` zKFRAF1|DTWGx@>Jt~wp>XM%5|*Tc3aU@E73jG}~r=Y2pZekX<im`DWNLQ4Y`p1Vm4 zPbRVBdnZHQm>SD4HDYyqa>EgD??so_B;qSJ1!t|5c!PgOsjePN59R?Wc#9E9{(E5y z!|DhEo6Ce++Tan#2fQ&uh=UgmTE|iW9(Rfmb}qxsoN~e0MeYW-Y&V2MJz7b{w_sU{ zBBZ8+hsQ$I8$JE_5s$nr@<aAO`=ZU1{-g~^t3LCKxuS<a?TiF);5v*J-9EKHz<Q{m zIcaJH&)k1FMQfgz2boj^=A`nSQb~>Ey3__)*^NufFhoPA?*-^cCTgy=RTvxO=xo%U zs$OXrtv=}?eLXf&zG`JY$WA?H_wLN;j%mu(kOe^n_aZMYO=YAn33yJVy#IuT7!sK! zTl0CYu#TvMN2u@c<Y_NoYj)3Fg6+~JEQM!KQDJ}U>&@T#V|CH0)2_HwJNxV0C1gic z()&7hshww~r*4Jqzdd=`SJt)FO{(!)I`O(4eJ3=bHBOajmDGU}L7urjh7TY~9!Z!< zf<QAXi(KYYp!55RYH22Jd!qV`sM{ThRUd<Ai4tQGE<7@#DF$uJ<CcPzk#p!f8p#;X ztJZ&>R5GUuLx;FXN5g^piUji8MQq&a>U!=%jI|p3<TQ+MqTIFagnzFf;;J-vf```P z>a3S5mxXrv<h_<f<aa1pqZIKoT<dvkZEra8iYq7B>)KDA3bXvwK<&u|41|RhkkEs9 zjcpY|D25v3^JLZ*|KRXr(vS*ug|D_ksR4g77;prc=;1@84p{-#C3Zdw^iWV8Zc)-e zZeyJ(`i9V~Zthr`otdRH=O7=+XW*{_y`Qlusxc=Rl%IPC=uXNsKkTSBnk$-s!0i_l zZH3qC<XBAvg~|*CfaaG&V5A6#V(aGi3SAX;Pk$JcY86+Tv?tsWN3Nzj3m7vlEy#bR zsgBWu=kPbWIq|dF%y5{|?Y9H5X3f~y)juxdT|uv21p`gf+X;U+RC2h5N>K9A7U6Vg zUdI@lHk!`x6RH*cBY*kUv--9!piUYWM+L~^SL2emHd8+e80tLImA!l3YU!hKZSqRQ zf-bUCbSGfbxWr_+R_Scv!J8JpA=H1J3d@GCfKlIiFJ*skUh~<!)_>Z#n5>`ElGbvr z5bBv_a0ONA9A>wOQ9lyt&a@;G;^1pQO>dmAEDFcY#xJt*7JMhrrO92nr3WU^-s`QE zJ}5Yu$Qp*O?M1h3I#Yq&48@3^*WZ-?q=199uvDa=RBX!=8v<)9W+@Y+6+3?u31&MR zI6&CT32x36P_i66@lSNG-A|0w&e8ssrQtnM0{du9$J|qwQ+?93%PRhvrk!y2GVZY& zWc9@3Jv1$TCOBd8UIv$@r7;R0W<O|JN0j0|(t19Btm7W!e$_n&-x;%&2&pVyh@gm} zeRNSOOofPUDg~-gH#lYcw<~{cOB<?HJ*fE&@V`h?%lfBGrf$-k2=_E!ib}s`xoEE3 zOdOtwem7J?*BL_dx>cR52LtLJfzSeHZL98<C~$~HwS5PI)ab4eKa@v_%*G_5sLdX< z@FI{cF{jHx3R-<f7AhVq0);}fzC5G%8VBh&4H=nbgW52Vw$(UaXw`oe%qrh`Nt(IR zn(b)(v(X4A+}Z}GFvm!?i+9h(NHtKfEFm&&qd}Y?2wXR&)vBTc9VcpJHX3A}UvveI zd#W>9aHetX40;a+RhxknW;PH_U(%=vxeAIR&od_QDp#a&8>&XK4tG=GWuD_$wTrYY zYzC&4zVz(}B@W4zn96?z>$*jGQG-ggz6H~rvabzpdo~9q0)W;KR_<Wa;tZU|A`NL- z@r1ph@_|wq_nFL<-9@gOx=Gl*(O`#T=_DE9tOJRZS~{ak2vD53g7QOa)fc<3rjJ;j zmw+Ghw?)@-;lj-=`y5t7=6#$Qdf1WZwbz;*PKI*5x4Wy1$gF?mI`|H=jChRzl7#Q| z$zAGQL$#cXA&gNU7_M~$A^K7Uaa9+1`h;}l^vjI2b~5wmZ_}iYHeBEOUx#|yhUeXe zhX}D$oHhAu!+UvOCMwTdOOJHA-nULX>BO62mI;Z0JL9*JYleFwy4KnKGS{kiC%z`| z#}7j&Y5GI9?6-gQayXTfC*M`evW_K-`=e_4b`eo8ZF&SO5cRDuc-AbD-hBlOT|SbS zk`w`tSC(67KYqN~MKYrU?!PTtzy7}?!6)o!jh}<mkErX{D&`_47^q*%cs<e&@fTv- ze<S|b%!t4BCDXr;Qa{CC7W#@mXXYQH)T(dqUOgYV@k4+7W$7ecuRqrXp8Z-&D!f|3 z^A%+KAul_=`X{VzW16TrYgxg;NcNDb%FK?YW2lPLx@l=Wc0WtmvR8*7ajds`KPbsW zlym|B#qD&iJz#nttkkHb`{;^tw_7{Fad@iMF~F3qw0Ax9(#5R!!WE~c<BTNuR!gP0 zc0lZktk!=h!ev90_EI<t{%8Z%R>6zIMDS7+Xx1Vj>%niT==I3NFV3l6QM-AhdKb#y zlIKUsPM6`mb$)kFp&re}CVS?mgZm|WYCbB@-h%xH>lD*pPr(KUIHCBnaUws~dMdy~ z64s5<HRMZIN;ne})O)BgJLXqX)+^zafmZnvMCN}&JU{dGQauto8{K2UZQEm;<N`jr zHw7kE>LzoJnCdT%!U0O1o~syCQBO>k%Hb+kN|OV}lHqTh-bTc&gQqGHsSOG~wjx*h zPYJa(xMy9OQD@G!`GA3%Mwv<t>^XV<*nmV)0XJB_Hc_Y^HNn|1tc}mYmdFYt$i`7Y z>Vbcrl>%4Fq$2n0a_4nmpHs>g6y;}clyM1jiHAMAk_D$krQ=9Gtqv6tpdll_hy1jh z-Hp{y$LVqwP&#|bp@nL7isR@b+6!psOoM1Z{OZ5@(VSQ*B!W*(_Ui&)mItvF*QMKd zD+=nsRD=*&y_vdXa+>^@fO{%854Gd%XjgyqCaLW@H6@sJ>YBIijIqnyvM?h=NpwCn zqHL`F3fJ+h>lM*$Mc$vH@Kuq2oD2IyMSg&zknxWd`9sb;ENdi*p9Oj6j*}I9-(Z#% zxqs-HO2cmP>W75>b~G$CS@QUYpLvb-PGZ@RB9E>Cc`cpA24H&y^^K#anbkjGz#o4r z_iAOQEZvpcM@K&^*P{xL5agB7KU<j#SC0_f?+f=<f*q2YAN>lo3>#3$PS$Rnl46TB z)*(wy5ATH_?Yt_pnvUmpmdT6mBOQnt{{1{`rMtx2DGg_mi>-H$r1Gd5Lqc*`O(HFb zz+zyR)UFKv?&MHjaB@!VwAz`;;RSy<*R2H;YdqPl$BCEqo1O=3odimE1*~laI3y%0 zQFU>Z_2cZyOxOt~#Vt{2&*}%#L~&cs>SLSz<ce7s?tt%IkEpO6_7yHXQAbp>9_7Zf zY3Nk+0H0Y7+1RnoUh;iKk?%1Nm2ve(C;?drs47*C*THvA;7q}Wu$|2>-cWy@rsc3e zSyHCPI#8jdbh`XTAFh+T$|$t&s-lbRm{RibE*aB30v3SS?d$jqpWJvG2pdP!bw?t5 zCvAD*<b6Uax9<visV&lkq86+;iOsb&wM8+?_eMo}HxFIokxYB<JC{yMw)58(LAJ$l zLR*s{B|=4Lu~PNu>j@s%G>d<HY5Iqc5G@Hs*5BjQx-LzKHtGs5^m9sRGnVJ?*U~<i zz4@#mrL{jlXK>aI<Cql8?~m2FyFWeFeZD_@4qN-rk7Ymo7eDvs&p&)!{c^qidA)!8 z(Eqs)`^T^OS3mz_*Xr+f?TLVV&i4rT@tFP3*Gi%M5nVqX`(KH!KYf4R{>;Mf_f-E` z>+}D=waK6V>3Iun{)hWWW%w7W$G@5b+}VF<ZGNuxpYrRL;XggD>oR|MetYuAL(cz= z?f(16`&X9z$5#J(yZqDA8Pt;FaPxjv-%mrI`)K!M@#{(J|Ju#|hx6orf8qY_vG)Jm zCOn_#F7*HIF8pD2Av1sXbH~ry@BRIGW`5RPiu3*z8}4^U{embPq6qHmAK}gM@5}Ty zdMRI9I&B~J$g6Wjdkxg4<_)^lFLEC$&`&$*EW`r}iv8E0^J(Zqp*o`Y{2f13s>Q+q zjy_%G8uxmi{4DBwNiKJLmA0;onJ<?E#ZG)+cfEbx$b?v7IBb7NcGp#!jxQjaoy8YR z=lOhhK~{?Y@)@diJYTVCk^SqrmJ%c#L$SW%!<p~33-{dA3F6MB&4kv2_n^vr^__Hc zcK6OQMn63nTsAXi=g;wy$2v~VPK3nizbiq`ff#X@kc~z648?JD=Vt33%xDjToeN^# zv(A7x5qL*#{#Ac>w0hY)ZGx=v@Y29jN$M`j^>n^SqpR|Q!MgDIMdhEv4U>*kIof*; zU~obm2FBE2lBKwO<E+njZ1vz+n`C`Yz?BrTv5c^0&6NxTC%vutgFr~4;Qe3MF-iOi z!ZnH?ce$QH*pyyj)%j!C_{D<^Bqnu{`H+)K8T7b{XK{beEd<1^SMLOGI}{h(-dR|x zS-^g@!2~aKnDpKeE)3D3$?GSFFpM^cjwE37x#QD0Nut(?!#EkGQNEMb4qIl)@4RTU z$_4Y#m|i43j2AkEcqsqYfc~hO;E2GI&Ee|4KZ=Q0i=$I(%H?P=rioG$gIzB9SjG4( zqy13D*IR#p7EIE^rfa|20Q8ZR6+xX9v378%BWWLKeP6q}W8H(&JyljzVc3EuI_S!{ zOA9+UsXI8!nW4wMo$@#bD^6Y7^bP`!^F<tDa{$1laC`<7<WsoZF0Yuued>(YU*F7_ z*e8}59A{wdhTk(rPcra5UCzDw9+A(hW5&Z!PaA)+w5>-hyvUWNa~1Qtic?Id`{R%# z<MgLT!-seSO-lXk4h|rU52}%s*!V2N(h+BeQL<#uS%Aq@0~qFbtUBGsVjSAYZziL| zLidy*lVwqYdM86qQqDYx?G%G`MvO?>q?lAU<F<akI_VI#p8d!Fl4|2nZZ>CR2s}r| z=h=Vni@MZ|(7^AnrpgW()R8%!Wc1h>)Qc4ayETr(m9Q{EAj^qtBpzT{at2|ud{Hn~ z1T2kqq`)bH9KJBZpr?7+6&RoKpKZn?GP9oi=p043`r~QC{@oUPqBDVA7L8SppE|_9 zm_hf@Xin&pro7atLj0XxZeH0)7k~t!3zmQRIlD($Th3?r{B}ha-a)D_3qZ20sCHFw z^3*jzi86j%op8?^GmGp_=gK(%Q%O;PI2`J$@D}l@aF3oc8q3B+KeFs*3Wxqedd4f6 z#%wg9hBzB`y7Ni}Ps^bpI+N;kRPdS=n2@R3)~g%fY$*S__Z1@3xo4Wy(=F(2l>L9P z{I~BFJWq9Zh3NhI5-zfZ)t&cRPAZo-PRKv~G`_|@fjIA^c3E}MN%H2@XpS>9Cx#8R zdE|r5)Q<Xfy^qosp|cz(^k))MiIt5)jRidUu<07=h)!GDd<M$E<#5)A5;Rp#W;?}D zA`-M^*XxK#w_a1TG18qLNS!Iql~jL98VSMaBHBvwN7i2+;9?UzU~J1<=O^c1*2$+k zfb4Ys=E0iBMtRi?wamBSUheYXy(}bDhEB%DWgx59DbGF3&*BuOab0WYq@5#a=RsZO zy)VJEO@5mc-}Y>p9)t6Y`Y{pnK794k@|jo1f^_RPuLbyZ)c-N*=d9M}fdhZ5>z@xU zMw(Eb?yFX8*sa!AQG6ft+sw)%V$Y=CdHT0sUcd6E*J|cSx95&TO=pD4d}lo;M2fCw zf8sRv+H0Ip<t2CoH5E#sKPpwvoKgCa$oy=h8xe`&Uppqwp;F_d56;hdDT2zjJW<%0 zb%Rq*-1n27%=23001iRt1_6I`>aRxVNKP8(-O`V*>2F_iypC7*Naq|%qAP9qm<x3( z>PDSY*6FKso4DGQ;iR#3ghr*%&`y=^)I=mM$1xUdchXtAzkyT%W9n-g%#!kvq7Pdu zJ3rmPW6xEa<5-LJyH%C3GLcIUR8x)}rXJ-JPetV>s+LeVYr2)!xUYZO?xg-!rpxKb zod|Jcn<kv|3`d7Qu9tG_x%WaoYG*2vPm0megk}FnnVd~f`B~OtdpqETT!<v}>CzMa z^xwXI^}o1|$uWzmv=MnE_q44ewxko*6XiUnp+T5D@Vhb8eKkx}@IB--syZ_lHf@lK z51@l;E43`y*lPZGhVy^iEQ8A{07M{Zj=b_?3+O(w7qn;dwONC?(5*ZO5b-}6MOkBX zze3p4IWb^(SOxcXqW$z!Wd8ZXa5`^uD>Q1Hot@@%XOb|NO&*sugJQ?k|LteAuMt1h zw1S>*r9!1Va)azM6({hD3KX=3j9<5`IrpRAA$c$@N>LVyZxVkJLKIbAs`kC{0+f^V z#&K#cSff<rOIDl%+|t3frdVX_EmP~EOpofJMg==%aggn=D#+6=7P#`Dlr+l>mie!k z3e5p)BsWMEV~kK~k5v*r^C|&+Eq4@6?>3%p7b82NRedABtWs9e>R{jd?{ynO45O!3 zxTezAj6SxX{ndY@-;*#VtP_txOF#gqASXv?QLQmwUzxR5(Qdtrms3I_Dp0zn;Ctc$ zVtd?tkI{B*#Q4Y!MjJ;4R63J~mubW~4XTioJ#yARk&1wwbUw5Wd60DsrLJ!hOcki6 zx^!<V^o1jXD<v@NuQ<fT<uKSNWe9^3WGPWW?1@YY)%<@h4l_YQ*me|ls7F!GXg7_j zqA+vzE?lJZu%)Zxd>0=o`b+VxjZRD<7{_yHe1j$4H^z0ZAkwo?4Q1?3Uuvz-2HmG> z;*Z;*f`WsqLLhFZC--xveQ&}~?#Dtv?^iO7FM1k$<=))b`}&4XCfoDvg#<P|CddDL z=eP2K;|qVy=eB_OZaVjy8#Vtld4-n=p%@}5DFwr~CgO>guky^`R1DSfCM-O^m<Jfr z*RG~0c=_YyG{+P8<eqque%w0}qEqG-9wjD-rH=0#|3-=KyV5H#F%>%fn6##Jr*2<y z!n)Yk6Nw=fiS@qk@3+3k9ZOml#oU=+kgjqIU?+e5tc|E9*&jx8MI(A?A6oHY__ex7 zM@T^yk0RCAa$oDkV-VHZr3yG0?{AX;_xe3iTO0W&1<Pql$ScCF{hnFgiR)Jxg~dPQ zHdpaw9hc(i;_t4sFRgbWNY<P)#%(gEY0VNrK>^wJn`3S6zg{@v8X9^G3ks*bVL){c zHJg9H3*~U-9I)$Db-#P7(q9V1_2v3${P`1qJx*=|a|meZw5`l=8<W_}%0KfkEnmm) za<oBS^Ze0xjJ_O$=UM#(SQ+;ScMlSfTy?*G<ErL{C>Fo7892fF*v^;mlUzZBiAXt@ ztVCirlht1Ojq1QFW4m0443+Z^*)4kVUt@m_yjv4J4{dO~>r=kiu$Y@-#+*yzpYLOy zv=?enZ6@zPaIS-OJpG0;eWn@yL3A`0^;L^dGk9U8qY7$YNEM3vR9T9atmJG8?=o~= z-g^3$k9lGcKj-$9uiZojoSt=qDoQEmhv*O*mpea*vl(%a&(&~V`SJbu`nBt<rWt>> z>(1%U`Cp1a(JpHlg~oQ}Hyc#LP3+?H1})<xY*84uHFlWjVmw=&WlMmUL^%7V2_le@ z<s~Kz>n=}!bY}2Inj7ZC<pea^srw=OcMk}H%J<ysfCQ|T;aIrGCoJFrrJdR9wxLN~ zxAv#k?nUrOTtbJL-;?@W)TCCwh!TH~@D&((+I;QkYfj=%nml#T`S)O|Y3(T1zRZc^ zHSXYw_@WXgug57(lMLT#{4y(t>d?`hwgCB`CUCNfv5g83Yf;|+CJ1#VTtEOlD2cBl zHO3)3YV{uN%IKAK-_FZx@-P8(T2<faJ5^}YaUEtgm|LAn#R^Kl#4TN{;_ZKgqz<)M zBNf*66EwFdr|KO^XCHh9uUX-~%7s;IGs0$R4N<f_8XTK_DUG6*!o;+R{!B5YY}$HO zQ>ID14tJdW>Hpo(K=rW~_*#RFARPI-RKVb=Sm4PCv^NR3ABp>&TZ&d}z;e_TOf1LN z{fd&5ln;g&*}1`hguASHFo}O2OM!FK`^tix@y8}qALyVXl_6z^aXxZ;K51}1U<lj& zrgT-gj*&1FBWV<-syq+mJmT))h{aZXUmjwitKAoq37xjHLg(q~Ud+z@v)G7a#k8CL zBe3kfFwkjns0aV2%EZQ~)ZAKUTPc&&jQktS=3YwMUp;qome5%uM*4r`laE+wsp5p0 zs6z9KmjYTnAOo9;p2&xp+D6s1v!~6F?1-8Tb<Vgzx)3BaT0jRU7JrQ$>(|1N>%WjF z&pE8N=mYMtCoKFtBU_=@AUmid*xrYQk3w5j^i;9yAE+ao6?{?-T7P8Hx|pU<UUhfJ zOWFMR3->o@4Aoa@kN1DK7ag}LC@0E;Bb$mfxjeWeKF4<Ho*3QUaXDC*@|6<%6u}NR zPUrN@Zg*6ZLe^g5v)o;wJ=k{cj*^9$tlZS3xZ4RC><nIP0bzZ;H|<QVQ&vS=A;-38 zoUWN2mS4G1tW+RC+d{?V<HQo^)e(&y-+W6=O2F!RGpnN&$76p`wUk*y0nZx{Y%;m& z(ogeDm!9<LQ;~?nD*xhH6WYaYg5*42O3f?1VRFw)uVPBdW!sC=&0gh3-GU+#IC9!a zYPqXyBucR(5X-T|VP<<hu%VLgg7y(Bl?KUDv5HG`+`NyTX`LZ?+-b?V?c|#SWrq@W z=WL#bt}Co@%1VE6&(4fpXZ@R3phgD<`FRvaHQhR*TCiXe_@1i43%L+!gNVkEqwR}V zhciiN|4uDeNVZ}p{iY^VZm#=ATJ_#gbnGAzl4I7jkx{PrL5WIqAnmCu0v)p*Oo_T? zxySK9(sB%4HWDnpIiP9QoF;Ij#;Odk>rsJ}$$Kt|3PgX<d8aS&8GE4y(4=lw`u?e6 zV-gdi=Qj4ddnO4v%+g_JPGUE&RzPqCRac5}OcIEr+(5R|L)DI@2%L^=-sFxo0LPcp zXQpK~)fXgCjs|dhI;|nx_qxmO-YKD@J<*VKJyqaJ1-E6~v5&2&ka1^sYhiYG49Gj) zW!);@wEcf^TV=IzihKCI!Y2|!a8B*oS88QR18#2gv8$_{N~Bcc217j|dDd2SMEks5 z5g*u>-gq}6g^EaR!%Q#$NuQrvD&`UWe8MKn2-Gr*uM3#*g!O%Z_QZ`fAT4Z5uc|yn z<gO8~B+N<Pbbs%lLI9j7YIfLbG@8w+b7CSV9+-bsz^v)kXC{3Xp*;TZJZhYaUB92i z8Be8593ehwa#(5i9`CvOqAi9C7zwx_h)z6vAPRCSlp|8T!Kk3y+3`U^vCeikwb)*} z5u=^Q#|W(AZA&Qb8LiVCVj?^9u;k+=w4b8{8@FaqU&UoWXde?Uq1vQv0(&Oo%NL92 zwD^A*y_8btcNIE@>X@K`OK8g0=&>KIE4p=@2wKqDpKy~F_K|?fsm?S~b<P!uR${0< zslg|CLL!HM)nC$)6Oq@JSBT((_9S`ZqkFW0WpY!}7Yf@`X~<>HOjIb@d#;J+q;jEw z{FI6j?@A_ZhwhwJncQW)9+g9IVG@<)PH2D9Hzs{7<s<>p$+_{7`dXT3u^jGTkG8Jp zc(jO)xl#(ASS4Hua~Q9${5i#;E+3`pbw2Hi)QN$OQ|=2HJOr(SJw1%>z@Z9FR)Bt# zsg+dIpg`Wvf0deUF|T~vdT`L~x1@z@Qrw5%9mREM3r*c=x!vK>M9Y`7KsQd;%AJ1$ zt*s~Cw3YT`VyZQf6UQ37qFPFC%>~iGJj0PgLq5K*aj;a&X9;Kzx!o6`^h1JeEb@c# z;lmv~PrnaDWt_jS1EsBx>*`=254Lrb`JKdB;Mish_$_lepfPGKMsFK^JrV3zwbjj; zadT*zk7d&;w?=FniL@`;SP$RX-wA(5t2s$m@gJCaLp)i_b+^nU`WZT#vd0kw<nHn& zR8!ggjzpEF`GG1=uWzzy<0d>Pm*a8)75v2m3K|KjlrcvYh=|+kh7FRd4QD=o{rZQf z6QqlqL0>=0zLb19X){#pedOzMC;^M=S?!6PIKEpet=RJ2lq{dt)6_OIWGa7uw)9ft zDN0nhoM+tNz*4tQI@CjOEIl|yK+!6KJ(&aR-8NWh9Frq^*yxfMo^)HqwdX}Q(4=mw za-sQ<A1L0c$|>}!+BjOmi(5|K^)-a%#v%;0ZDK1PtW-hm0gaSXI<j{61g5l?ZK@nY z3Brk~NHeTtX!oXIZ@9W**c5+=$=Hw$K{IS=4W72kUp|$RoQ^;_T3=767K|;VtCWR{ zep^Y*h^<a!dhbXb_PIX3AdvF5`f+3$p0BiymxR&0etCXauR4Z2b)iMdl^VV3?M=s^ z!Nww)=teWJ{)|`JmtXiyfgkmFvWij`e74EyE}wkk?a(fbu{dQIL%M$)PjbR+d@06r zC7mnfN?IX<jR-MBeR=##%cXbba2b13efKmN6MJg`JT2Iu#*D>`PP)z{u?(*(eSGNw z<th$iSVZJt?`E&o&#eutRq84X6cdPuG-T_vuTi#?kQ>akS<Vys0@=*P2uLMr$xSL< zs;wvwzdk)(jrLqz#f^WdP8fj3rYav<iMfi1ym1PltWIE%Z)3xsxX4qJ)`FA(i};%~ zVjGt;&kQ7NgoOOrG}JS>#eqmG$$ktRDfx0^+xz&$M+GEd(-m-#rTfD#!gI!^yKx#g zo0Aw0e4+p=g7qHd>6~ksJjQgs3a7{1tSvV52*lgDQ6Phb^u~X_l779sZGF#Xo7>iv z;$SnOza@N6>`YylM#`y($}VD<?8Wr)cX}{cPV9o@n1l?B8uKaL@;r|CmVuqTkJR&Z zTPK$-;*WVmvF^(quY&h1^k~JdJVtm2zqIX3o6xrw(TPvgpv^ULqr{$Dk)Gv~sf>kS z40}@eu3raGsStmB?Wmq?eH9V~<T8lZge4qUe0(_NoBUkIEF=95X5b0^cH0#xi|06i zP9ujy`1;CmPYSi=>MD`*b~qIuenb3lJK6S{|DmRFiV(|GK2KR+r@~8eby;l8(hMwi zlDJj)W4eZsj|*o5y48QS!V2liX))t8!NHrQg8FYQpSyp*%1e9GN$^D9>S|l5p$j&a zJz_9<O__6?$Q(5TBx*!vft$*ZOP)!V%+~PM-ErxFFwY^Jj)(6*Wm{HDSf#<Jx6F*7 zLvGu%H+{kFq6*N$w0bj0zdYVja5N)At%xu`LMOYQYyF{g+yl0W7Q{ChQjG*9u#y2r z5+gf>hVp;b+qcr$dobxT!RU+F5N%0)e+veimWSd8v2ouBq8w3-<NXe?o@>wzg7-zd zmr9awnp#S0IXV*WND^~@=rX=ElO$S0qqp;*bYB%}flv|RvGYx-0uG#_p5aS*Io!d4 zQL27Q$2vtGDXKM)uWTUZi)hR<nZJD@#DSK-cJqIJ2qBj`=z|F9On>MRhU-T3I&>gP zRJ)Z}e0f`2+HR<ZVevxp_`;43Ng`OQ_8z9>B>^>$UBal^+!nvnw`ptnPjPT`Qs&bM zMiD~-y6@ZuQ4@pds-@!-?VNry+mzi5u19e={#mUH-#KmPRuAL9V&AS^Mr5REQ|(9U zz1e>RSp^ZYl#C=9XpeN-Ft*H<HteBvlNE1c6HWv-G1V#`^aEwx;r1CQ?Y$9?5A0ke zLwYDD8;GnvO;*!kMs*K5kz+|v))3hoJBUi4Novu{>4_@<aiRuLr*nSBtEq^_a#lGR zcGMj$*o7$^32Yr&`uBc}(nFL}_QUIm$Vz`Q=PUySGCga$`=V-hWAwn%mkUv-E~)a^ zmdFzIi`Tz+TPyJfAR!ceEk-J?0@kKsb+?$=kR}reK@fkn^D|XY0H1v-*|qFwFL6U% zUY1lLNi06U*}ob|VY6hZ>%8P7;9qx0!;0Q2dk93Ouh}b@zm<l34hKR1>44MKoqc~@ zY+}Do>CsYjE@QI;fi0UzQF1lUBH=;wasBqZz1?rjYU!yjl%cb%TqXea{YZM8OdraN zy0GM(oufgWAd=olB29~UMo1;A;fY(&TV>%UXFGN%SvWyO<GB#3#W6uIvv!3w5#$`f zFCuVDnWE98VO93`v_wJx#jqAzu8V(kcFJj+fYtk$r;!an2I`Js4L_Efl>UZpN!XQQ zpzqpSe8N4E4brW7`B=pz`C|2_v9G9+6Nj60=?u##dVq_$mPp_+*CKW0&;9+Mu8S6E zc7>&BFX)FKA1#q4hwLYZW~`?QD2KCp3d(UDENt2HRJKQJ?bgjvM^wHkM&y63dN+GY z>&L)I;gv;PEyMe2&t)+93&~LKW|{&L9d1|OYdc}%gHUuRWmgoNmA$j59L{;1KiBI9 zjLSd#nCmuF*@Q+{JnO8Z{_{6K>qEPDKv=XpFI)Pq-9IR$vN^82JpJEl@rd_*iT8-R zE8fR<K>9$Gt$Kc`_m9iC!1;gELIhDZuK=K4mwto&%B9Zb$gA*YcaA^5^Qcv$;9Sci za`Q<2@|0lR19GLU4Gif>Q_CkQP00YP;9d@ODXn8GeOk2M+){0vMte6oeHkdcrX<pO z6usp@p+#j}=Iu>VG|ayaESE6p)N>7m<*HRRQ+M(dJUS9XN#r=#0SAB79racI;;gTn z_hYx|RC3v}T4&g>8N&1x|CeAVQJvhjp2;`hYlVV9(;T%`csa4MckmI35D|IlQ|4ZA ztr~+6pGvEhcIr&MM?LrQBG}5Oh;a0CBy8sK3Z9HkN4duzt?xO@K!!0Ig<9F}M+OMS z;QBV#={ch4()GAmy?cMjzySF`PuezWgO?xJ#;d}_*K9-Dv)2kn%PJe5Hr~onJX%?# zSA0kfm`GDP1y+1~6y<hz$ahsRJ6T(4_A&N%8<%Zok2W=7Zk)_hhJ32$DKEWHncNzB zL>l?4RYk_$ihUN9XyBM3{0z9G84kNJ&hlG628covk6L7SkzRj_9+%XX*ba?C1;r2z zRc=|^oZ3-F>M}<cG%<Cl`EF~Wyt<>|BepTV!V}81-IHh|J5bRm$JX;y#;OzTr@KR< zlmlr;jYz*&^QB_y8CgxrER2-iCjw0|otB2w?azgULr<Mc;g##g<0giX2WulYzx>`l z;i-J4WoH1_FEM|6?hNw~FfO&|ji%!F%`6PIdMAgGLd{eF{Y-zZi468!Su6g7Vq41n z^E<&B73{@5R4{JYe*EnF=XZ~CQp&A2ovqW-O;(179{gIr!_CrhHzv@Le5#tv>D~=u zTBO4gwv#k#B2yyUuq}IBCQU<G-;hT$jw|ldPzS9$!!~~)zLRgI@99Wr$49qUbnHO; zA8e>RR&{BsGcA}C`va*H2poZn3gRlr?$L88>GV!gz%)<qM-R8Fc!wuX*xd$`Sd06j zlw03XC$ewug?=cEV6us<#w?3V#sRX<^hpmTmt+QBM-V<mCMWBV02N*sUTpVUwO%^G z7!G*ECu4s`gLe}*yFG}tvj)*fmB(+FeE4#OUT!})SYUf9&vafObpOAZ8{^CIk5^QC zO*j?74YDEb2(0Dg8wm^S4sp3gT>F6hA5U^+t4gWexw2SodIS#lkvZV?%CMxLg9f5I zr!%A&F8eB?$`PA2{Tt2A0$H`CmTj59OVTbi{m6d<8L1c87jRKnuVJXS<0^mpVLdP{ z0adXX!SFR5B$M|@`9R^(RS$t+cRB+?Eg$h#3U5KU>PF`msMb=|Q}A(~g2SroZear+ z{~~Kt!QZ=+3-j(yb%UG|?F6A;LCzX-lfI=sJu8U$Hm4ix8?psGu^LI~5Yrnr_0Bc4 zZohvT734PJJB?~RDzUFd1+KoSD9pO#yz5?DrD@rrD&k*}*|#9J15hWubDcE+0j8mh zs(Ks<XKwcW7S@xd67js@1bZhhvC9S!139ZVf}a_mKtzrDxVM&erQYkNAGtUg*!?n) zvu@vk+}v5gr4GQ6`249m)x75Z?v#bV*@=H$06_bLF<f(BFU9~Qx#pfrr+3bXHY?TO z@mN#LbmJq48PkB^CdF09id>u@>1k({Hk`ku?*;a*<Aa=$wY+91bX!h`nd-dc_VbJm zP7;kJ+19%pG}AtoQ?tu`Vl!RknFx;?wxu};9^7clO}Hzw7q_{dZb9z0Ck?z$r*?m< z`cjaWhpKF{<|N_j|6xqPLBJV6V)yn#k1dnW_rv527UBKhw;x6zbFkFu`N){Lbui}% zJ~3EUp%bXoyw@PRUV-`>46}6>#j!(UO_Ge7%C7wbhVd90z2pnUwM^g3GUi*pe5CIu z4BOxi7v8<^w6_jILCYiJTFY#%)8T)`-ewAVJL=;Q0459u-$+Ve?7*=E!bw?42-KJK zFh!cqZ+lj_a>XYyX~_D)eavhUlgAxPJOc_191k(3zaovTwr-c5M9uLC+rBj`MFz;( zk+^d!p6CE1ek}PtZbau};G=f%T~6@y)x4b;H<gEPxI2wDXTmcC&v+xcge`v=OYq+J zb}1GmjR#Z2RBT~+Fp~=YUC%!NOve+0_t=u858<{^>XWB`vS`H+Mq5{)8avT<fBRB7 zRFLzp6OXOyQakn|{y|pzOt-F78{Y;5AGJB1wym9Hun{yiQJ&>UC1c(SM&fkgrj|(9 zJikIT#W=3YY3xmirpiG8Eo^^f<xOAO%`NbZID}Ul%`4XAFM|$;vnZh*D$=+fWm-=` zwX7;r=N>B3EDvp+OQmgcO)EP$J5G0AhIVFLUshHwwW+cgxHvBOn8#d8Gm@Ea+27WK zT}Fvb@uUd6koJkvy(2UMYCq-1jI*Z&^8D63ysY@!SM!jq%xCjhXDEMZ3kgu2*f)J6 zh-yn%VdwMqnkS`@a#wEMDGF1b*3xD~aY|jTGeWDM#u42&KXu>VPf?6H%@8{xRv|4W zXPP$c|76Wxe?Rvnd`M#+FM~Rs$COb#uYyMQHnI|6UMCxL4Mzl!5%XeV4Ad&V$deq@ zF1}|2#(#biyO$@bAH;tSqoxJ<X8Y~2nE^hB)f|QX{>J{ABRgpr!2E{p<_CyS^~W5| zi{gDn+@!I@7EoIsibqp|fA|do{RisvAT+#89m?7XV(^TR?kKVn$UD3yWF2fEJw$`O z^X!n62XDKgfY>skuHx1?g{M>{fKr(2S>G3Jd`YYD(SI<)caeXoPI`s8+wS!~+g|<N z>pyIE_PXvjlkla`-}l<C@rF(xd)=?S?iaBo@0_&dbG=IHCv(dBG{Jy~juMxFI1|N+ zoxfqPR7<yeQQ}qX@T<tn$X|Rv>#?yQuns0IObi$=u5#SW+E?d9hzD_{T~Lc6Vos=7 z!&ak{nstlZ=)`}FXO&)EcasT_6EugN8ZoP`Gu|%OM9f4hA)OhE2%yIu&H|`#*@~(- z<I07hh2y^^N26}<x|o&ncj489F0u-ll=M1I0s@x<YBW}2APrqtR_Zp~s}aMWc)Moy z`bx^y(Li5pQ5h95O;U=q6Qwilx|3*xe^_}CoA#h>wiSPDUbA^qOl=pa3=>n-E@dtJ zWGqFK?DfnPYGoBI_+KjMX`rL^rtm)_H=eMZrUcRXSDY8`(Py=`PL2kEN0RGt;pw=P z<+R%?NO)QFQN42;(d0caw{zXas_<r)LJbbdbs83yz;}K;xZ?F|egDAUeHi`!@vGln zhNmdq2%>+SCCyW(U4?ImyUcsked<*nAB$DVEh&WaUOt^1<fv>K>SX0B9yS4MFBw$- z5Hegc_RSI5LzRsGqe3qn^AR^Tq_tJVoohuq>3){7<GS38(0r7<pGLIRE&ZfL#vUbi z=(I1R&4p|yJ<Gs0p}(&s7~aGCNa-<8^5%)1plpAG+BYco3s=uHvANvG$?UQWo(TfW z;+v3H-#23|ry|c+vlQ)=PnXN5rw4mIc|+u^<?v(O4H(T?C*SqFT+H?WKv>+Pz*yq- zp~q#|H}=kI@tPeTtW$2h5a<v$?!a=WNvy3y)r#j;Ng$_!5T9Rsb9EJI&t2=gR?Pcg z=#zi9@)bD@Zy($q2aWeQS5FG!;O>LWy+~y8$Fn^D=Y?G=$p?nzN?nh>%a9MhpQ8I& z!}g?(e8Xk#$kG93J;091P^>ZSvToI96Ru9Xo~QGoAwrSbYnWU#!5_!JGv~VS_UQxj zbdFS7AK{Y56?|L!Xij(R#TUa_Xh32G{E~kvO_hm!Mu&84CpWZdtjFW%x<eIX=%VY| zH+G}uK_K(il+;?ZXdC(AJh$cd=E$5F=pm>h<ybtW-0wNZ+=!Ft$IkZ|E~t3rB9(kO zE;a)C*d)YhX+@fQONryJy-p;p?5ncqQY6Bo*tCdI0^#hJ>hvMPfT)h?ZHqjX&%b|9 zXzpSfHcLq}P%-AuJBmz5CR=bU4}}52#PgtCT<%j0-I>0wOr&{YgUjOT<rTIAYT`oi zFlLM!9fEQx6%spl0uetFsobGmxeyK+P=KGfc9gDyTXL^6|6w@cP(pQkT7OB0FL!0# zCxmOltr54v%6wipZ3OEwpR5*?ZMc63A&u4|sW|wt0V&|5HUCz*Y4RBr&`3?kRqD;^ z0fL}DHIE8r7&37wL9wlOaH$X%$B(<N$vLgTnTznuU`_0GoBX(!c;R;ALZSccer@iG z(u$};aC|V2PxBk^J3qaz7W~x}??r69@9QEeDz`R~L<=r_UI&_eo=t)rIr4v{ss@YI z^9yT1aU~>zyd#*X?_22r%;^j|12wBttI69`h{?3$lxMazM<UkI042GVj7u4pax1+m z=-jy@b%A<kA`#F0Ys{RM-6&&x>DfS?_TCk%+*OiPkU!4yB3WUoJhJzB*4}ec^oNB! z#i`MKP9p-mf$&OR=V=e1Gwy$t;}_**eUpE`uo?OW-Ea~ZxzvQ`Bs{}~{|3Zaqc4ct z1SoL(7dGQHJxOx^eYFFZ&GffJ3WInYS;5KP4=5wJ>eR+dQLR@Pd9J!19faVR3al|@ zU09+&zWRJV62J@8D_#zKyD$X3EHhPktpUJuC_SXbD5;@7ujLsPgD8JV1P6?wh=M4j z0DBH}`ZY^`UW06JO?wbIHQ8+T#YaPPvAb5QETTUE9JJfvYeX6uRysrS@jA>0KFMH5 z3QR<CFz4i>X*SQMayJSP`E;u}L@Z!qNw_2NwjEh@w6B#j5(+h%7sNFcqCnBr7wjQN z*(Z)?E(-8rAPi;!To`}h7PbacUDX(UWI$7Dxl)JwoIrAI%zGH6W5^b!n^Sw|N08!{ z>IEq}>~dnuuM;w)xOBX^sy_T<X%Bpz#qMPerBtKhmUfiRSvj7!3G``$-u?>}k35}G zy|$e_bLe>r#G_3R2zqIah(H8YN?$7*`%FrIMa*FK=^&EZ>tlZ>>Y*<6KquI;D9B0# zOj4@V@|XnYMEnwnW9LM%JS3pN7a7j5)AQ`=01{nUMXA!eoIlxaRZJ5{Q0kh^-0t<O z)xh88J;uA#L*q`1;d!ihz=Q3_Qnv1l3e?V_a;e*S==tUFN2R>0%s!@g`x@k}=cS0# zO<MxkOa^&-cYuFE-hQ0_Xy=I;<MsPW?ieqpaJbu=BvHBkMID-`Yj=<lGRt17ZbW0Z z4LAPu5&PUCzrw6CpmS|ebRuO4==ut+jus|X1!$S%qF6=6&=HA$sr{VxUeZ|MhLxjf z>zD$~$jtlf79Szzvx6w~_Hej7zz^=NI5sYI!j-GU4%&b16xnncx8LeL$~<kp2yL(8 zvgGkb?lYJE&*%ToPa?{OqZ^1Kj$!&3VH^AV?fjGPvzU1cA=rB(Zr`!rPwaQ_>U_rj z4g2{S_O%}Qp^m7bH`T$=zfSEY;YaAdlkj!)Y3|XdbHB92hyjaoU4DAvs~!Wj39A5z zR?jRR*lB;@3qYuXTr?VUx_U==2|}9FefZMcyB2)=X6!wMfYur-GyhBU=c$CaW9*AE zQPQ?1%u7a34qJsYwWmqKURa0G?{8;#yU(BHAj@>Va)>W!cF#qo4>L?;=rp6Mlh&E% z6TW-(7>=K#h!emx*HCfv1J7W+P>HeRgoOlF+mwGU_`3mC@qRPF&-m9Y|J4Bl7=E)D zchuka9Q4fRW$5z0JDu|A0WXkkFLPrwR*O+_M8BBgai(-QAF|U_y2}-&15vqob!rvU z(UUUO4^re3CNo;C+FTub;?cVuww^ui8(IR}ik3axx&ntrBoLssPFhNBPFyKN4dD&R z3oC!||3Cb^pY`#}^O!WY_s@UfQ|<@upZ(=gE`R!r`)Qw_^z8y)e>CNMs2b-P!9jgP zfR;5>5h6;slnKPgk#SpNCbrKBKI-BM{*z(tiQizEPxUjN!XY3it14_1{5Rc`pxxI+ zSpBac{iXUp!lz!stM8w*aUCjIZD}csmv(<ff*bK28JSTVO-6k>j%gG%Eu>-4b!U<0 zag?&CqVImGM+|n#;7yE5n^4t|b))AJ4D+ynCY*%{GXYYJ#L}fYddnF(pUIkd!1i=g zZ}&({FQh$6#A0kbLpc-ik`&YJ=%qcSi+^LFu->0#gmS}&JHpHJir%|c^BLAoe0YES zl@7Jn`2yit0YmKxjmr|NAGd@09Z;WmjwZTMxnV8!^b-?Eor;|X7hyBrgb8=91qD}8 z|6vj#As(_>hy&_ZXmDeiZVRffi#+u!9^j$ZTrb~-kyS56Y#kBr^=)wsFAao@olI;T z!=MBohe2yc-eANnXWr5YNyJuq2xot4Vh5yP8M#-*O0%dP=7(b&p(Iv*qn@+mQ7epF zYUdvM`_Xwhne(mlA^@htPHy5>Sknh%%=s^-dPc)f2EI9lHdluv6~8m^mjJN3Jq(;# za-4ISA$x`RZvx=-*ZLhd5_J{FH;MJRnrXf**`t}x8hEW@*%iy$lSeGOuO)w@a+O8n zT++^`AbIJzs>`nU_~K|8<CbVm^fSc5Y+$fLPYrRz26faz+>=wQVm8HU%x75(0F%VN z;*i5rSO(G2CZ0&|ksGW^pU51t_=+1W^lC9qLX$3OMVd|~3I=tOt5wgCH$)QB{XEh- zwHxdt3uboFg(dPfJ3$(I94CKTn|<4?cwI6+e4<G_9kAoWo<H2dFkqwa1lcNpW8eIb z39dM{1m~zC{C)KYNWxCRdMpTS7=w@v9>$y%@@NsuEV)@#l?1iC!`vlPg(xQCjk+-~ zLmg_K9EO0P2v+4LUn(L%^rphtOw2kOBywk7OCk+LF~miQV`)*V+nRsJw~d*uh)R=| z_$Y}O{EkBe=GLc0O)zO22&dz%N<U6aj2d^HVYkC~Nhbnw+U|>^h__Djh$#&GC2o1- zyZ$_z9%3B?K^)i>3@Weokz-fuNAA?;XPFzP8sEk~ZK+*9f&x}sJc_%%O-EDbet5%J z^4wu(cyPNys(zl!jyHdT!h0$>pOvmac>Fpm<x}ViF3Zj@U7>=^l~QHnK`O0vlv*$n zmvxG`vV?J{#0IOIjD_d??&Jkb8C6c^pX%*agyf-+>gjD#|A<E<ad~#4$Ryo-S#j2b zB+Yv{k%Jj8;DhT%vKMAHn4Vlo-`i)?`?3t5O#GFa!><z|KOBGiEY-0<WS(E6HZQ%Z zDA^Q>p!m}v02!u-VLY##_TSNdVSCcTOe7`-|Af_f^7B<%>dxtP%78T#3CXDr?&qk_ z10D`}yfX-U-t&ce3L+`S@{tVO%xSE~;hJ1sdAWn8$O-PKn<`2%dHGBO)X5*8yL8x5 zT8CUaC`>srZ3chDQFG^Ij~ij(*Qtqk*MV!wot5*%9jgg$N$u~nP}kI)NXuY+M|Va8 zC|Ab%(iUeV1eP!nRC)_O=kg@_rVm8!RcvLVz!r-@u{wFP<rdS%urL+GKqjqne6^-m zFi^lR+?g2Dp;h%u{MfnE>o%7#(mn(><T{W*?45GdaqEAK+Kq@CMGz5hJK9l;-RtRT zU%|zfaE@Y40;eBnX&fwI3r^1$4h@%F?9RXtN!po+Ju#Q_c^dq=r&1ztZ`{}g3YbCV zbB<~GUmGWnj|>B8ccsUT+9kM!0Kb(`&5+!SMPKyhINuQB&;uab8++N0iSukR<vm3P z6YNekpmBe%tRSx>kPdD>seQ>O9|F1dv6J#AN%(_EIjlUT27}g5qO@{{V8m5mzNqn> zX;2S!COLKo3Pwmy+i6(cEa~J1_PK%8vcw;uEjC)sVE__WT0&_b5#e3#>-Z7Sw`qBp zWH+M}uQk<8?O&c4Fj<3!!HTa1)_ABx)lL6|-c5fIWXx~qz3P|4XaAtBgk$fMJ>NCn zFSeTvUB^%_frWg{3x@9hmEm$x-Y`|7`IA#Gkk#t>`z<%LASii;QtTeh|B^W?utK0K zcBXF<o1^CeCV2XgjGMJ*`oHnB#GzHBGZxHaPp9P<qrpmx=MxXQF}pV1m9;+U;<<g= zdYXR_7rz_|BdY-at~>a|Lt~qR33*{`;{@(ed=KE)JjE9LGFIv&cITBd=i<u-VXZxK z@biC#5_BLIk$V{=3YV`kD8!T}O*}nLU&%`ea5;hzDsYZcK_)h5I_|M3t9^&BnNR8* zIx*pOX>wlE#Kzgo6o|?-cgi5>c&Ac?`XYahlaAYYr4QqTECr2s#2WKzf~A7nOQA_K z9?Tj~6O!>Em}!BI6<k_IAg|1<YkzPN21|CjEuhjYBqnrsMoE$xu%G8ywT*BxchsEZ zON_(QM^C)ql^V)q={d3LQ3PiXkt!ACHyP}jo~8E2_SweCTF$yo1`_>HE*r?`TabT3 zLX$(NpvP)LXvEw(k?~TlZU+fE7e2Kq#{xX!(40^W;+*I~!@47Wy7vNpD%U92S<YP6 z%CuPyByKAl&SN@)Ui>_JNwrY6R~F&yspB$?k0b)w4{RGc-DVb1a<cS=Q(aJ=$Uc{s z&O>jUI5>BjEn6~;#&iu2oErH6Sjm6vBLqu#zMUc3WD_R7XFQcq&QfuYk|YgaDL&Xx znn&8s*f(^x@jg&3+d=H0v5#?4ptJy}z}}2wSl=9t@lj*u=wcjSFtsm-9M`dgNS8IJ zQxHI~o7M^Q!0_G-gcoRzI<YtLJ8-rIuh*}7t|{r?7X=tona5E`MTx*w=Y4;?_{h?1 zBM-;bE|UM;^rZCVzjcmYeBGj^tWgqqCNkT80AKCE2NhRAcN>ql4{kKQ4Z4(ymYB4@ zr>}fiO}7OyKD*$>eP^zxmF;5!v{Uue;%3}2Ep2C&a`jqKZg~Tl<++{QA~jD^>RcqF zQ#rb|nj+2b`FtuV0Slwzw(WnXutoMVKsP59R#P~sCqyiYa-qf9Zb_hGHPxI1MqUvr zvCNoJxfy=vn15_di5uAaGd+o}D}fjlU$r8AXE?F(A^epizO3Kv8w2W;zj;=S!DDWO zL<|e%906C@P5>A%l#Xre#<pbImG!PmYw2H>BD;?+v=w5WB3gBmK6QT?%DSf}4~Nv9 zdQn}^SmQVL8I!yKb}o?`O`BGIjcZxaz}7D-V$0Z&XH<oAJGx`b(M5PgnF*04@9(h# zG@2f*e@)JPk`l1EAIX^>+<iG6#r#P`Zz`{+R8H(4&)}`()=yplRY0o0%l0T6SS=I@ zO>jMchejKD!?$vft8m^X&^k?j?lbaeff?BCJ+?5O1OZsbRNJR1re@8FNX$_>@I81| z*3nRFsn%5Lzl~=jEls*o6C(tH_5+>jXRZ_uI|=U9L2VA+1gMC#@Y{|un3P?!N|QxZ zXcvb!jO^<}msb_aJQP!~L}y#A=2k)Ugri_41H{TW#0V6LRw|7a)XiLf&w$<vC$v)| z_9@)0)A@kYF<mw3_C~*)<g%RWr%IVqX}Xkfre~EiHAF<SPxUJ3MYy3>U6xo|V>Gfu zhms*WR&-Rr9vV>tr2DOHhYm|W1jX21h(7#7_Cl-1E;wl;3Pvt%^4@_ZjiI9VsM+A2 zjxuRcsGb3rL`@OU`He4s5k^OUIqO-Yis6Z|Xh_fF^}O#&$!k~Q?4mo?GI{A-T{Q%w zk<@sB?YgT(`(m_pGS~H##LPRTrm{ps*_kJSMk$J&7<SA!Duub06Iiu(utEna1#Fb{ ztmu-Pv@irVk^$CB9YKa`C_@a3b)<u^@fEX9g|E9T3u)z&1H$xwE8*C$#~h?J3$02v zl1Dk+>%07&HN|nJ{$jhB4LW>2TB>5-J?F+SZT7+^vI}ARC|!e2OIj*b?0DF(C67!c z_D(&d`v{w3Q9Y-_8@<*jtHHaPCtN85k<$m<8p_;#CEZS9T7<KvoRw~kP)t-H=n-&S zS^+?^^5_Lmr?wV<rY<Y2?Wo+z|CK+ie{KH?avEdsLk9%Mv|5s(dc9=8baFX5y{&v3 zU9e(gkkrMvk1Pm{-Lzp(b}(!{oPhvCTo02l1Zj?DcG}Ih<}uY-x%A-^>JbLXgJNPS zwDD#~v<AqrHA91^<b&%fVNqewbrYT}v6u&q8j=-$G!=Y*iRsfcOn`*&D8{=2ocz<M zS7%c<rY<z{R}(68n~r{r<zEvDhs>C?6)gt^`}_N6Gun%GNd*;qQ_j^c>%&(5nuAFj zmQtO=fGI&oBUgLs61^v^qIi@xX*y3OYFb-_<m!}=3r=$Q&drdVhfBHTt)$(jsM~^e zKiLZ!+(y)Y@hIntbrJ|m2^5XF@A}ia4_5pJRz<22rWlKrLUqpmz+;2zbh$`S+UKdf zeiM?+O;$bchuZGb@j;$<L}48Xk_IIexr_uKD!(<2#+pHG*|7@iw81?_b_Gb~q-iQy zMH0U>TIB{X%N`e0Un~s{H-<Su{!+)?4a}}an>VX}Fo4%$etn2-Ic=8W&SR=AFthgr ziTO?iZBbLVQCUji6Qz|TsYqnc$63_WEZwePdwz?(RsG^x8DOwdXvFybA_j@VQB_C- zR}prnV)NYV`lT+VO^pNrl0qgnlY`Z~hNg9Au3mSm$?g|;ERbqi!WH#PEyLk_{%}k9 z8uP1v1sT@$jj!BHSA9F67=63AUy`akd5I43xsKkE(y6@l^m68GjA!F%CZ>r>TM7N{ zTj8QFp!9YiE0HZvH$#j8vMW$=Mb$#N2+<9bsm)0#;5v}$L<N=KEGLFfP3&*~A#p$c z`}q+!t&NwtU5v$Qn}a1El93S;zn~~Jqtd*8dt$EwoVd5WnMKvicxL;m3x;GCFPr+# zOP_>`XfC>+MW#GY>{*EdQmrVDrg%oGFESBnWX22luN~R-%u}Ej5@D~8)|W`sY&yfK z=#Boroa*W#!?$kSlziq6x5Q3P#_=b{zd%U}#9){Q<B-#q#LZGG3M~2de*AjnWj?5X zivIZz{z~0nZNa`?w{W$l&U;d-Lt;-=AG_$IHS5iUGvyStmp<RV0?f5StyttP;J*J~ zscSd@SK&=j_xl@_`f)`qr>YP2Sr3-l__gQ&?0=~u3GjO&_tj4~{a{C2d}2C7pcYy= zYmIFypNll#o2aj(WpZBj=DqZ4m20(s(IstxJVlX`Q=Z}@*U@$-hICj6{m%oW`_zwD zhH#ao><j&xSB7YN{N7~xgR+K~1EF!XzWs;m>RY=h+Zyi8mpffeIGQ|_u7(?ASNIxh zT!r_WTf3WH-dfTKV)sl)@4-LxRphO6r_G5D?+HU$VgIGVQN&Ubk;moX%*sT6p$w0; zr_OcJOkzaPRT)2OE~NUt{qjBH&;7a3V8@WmNCJdJh=GOj)R-2OxAA=S=jMRm-qNg? zsN4M6v~}bZz0e^a71=C7G5U1jA>b8qqD0%ohO;4_X~G`q94_WbVF^!^wlgP=l@dmU zLuePD^wV10P-~?S#G(=z?>pmv?xK|Yjo`9=F17=aj)3dndO8FB3z>8c7y9VP(Byk< zrH+olnbs*$C~GGYa~W!!rbibogDJKNr0bVcfmkQm>ZpPCP7|ys94Bd=DaQdlxT4dw z^UNbs6mz2sn{kL+R}J;8MYr*$7N_oUY!s4Lm+T1<Q?lEs%Jo#f{K;v5TVFFKsIp2w z)oc?&o@HujLV0TS5Qk?4)<$;;FrIJX`G;Z(lJY!3SB{qA{yQ1a-S^z@<Zy&OVd9XJ zc5Im)O+LtdJ#R~Sy{tmb&GqgBW8tOP)(y<DAy{xAjm*Iqsy;nnb0UT6D%};IfFI7Y z$DvN1ZQ|x5KKTo^^-h$3lJ9opb~?Lp6BsE;BgabiT4f5EBrI_`8vl(*&rmr1Vd}>C zy<ateDhM#QA3wrn1Ml#7F8rI`_4xi8FM5}%(0b0j`em=8YD)xfF5~3n>KFFaLu~z_ zr~>bJVEV?o3ernGsPHc9bm86Er}+-=o~OT4J+z3setb}wl6Yl*1_R9Ro0{mTASXA3 z6T%GV>;3J&Qg*CXyj2OB#+N<5Lyof=X#R@$ri$o76fPSK0qUe8BT*q;wv*Y^n>qyd zgvc`a37oBb!{lXdJvUE<7r_`df%briR(CDKiA8((*ayXhYa63!$uQh=x4mSfZmRu6 z5mRwEK_qS0#X!%0<w56uff`e)mLk(6s1tC=Rv_2Q($>ze()xKXFe&jGgWS8SWt}tZ z9W?~kc1EmyYeWSDaU4f{GG;>4M%6777J+<gJLKMonM=7(7`IZqv{5ec#qh!zbAx@T z(1idm;izb5E<w|ci4#)^%sPl2hc1<>0|R{SzRe)ylDrCk{@Uq;`RyjqlIxwB-ifNt zDZEx<!hJQk_Hvv19jlG`ubOavfq2keP)FO;jExuJcIm^{<FP?;HuK_;$+;T=n^8@M zLj!`U#;I2s&1rEbs}`lI2n_i@w+Q|@d#VA1)8UTt(t{?TZ_l#YZAt}2#G?81zVg_K zOC~pScUHxJN1U~;N5E3}<Pv75K2b@{l?er&JeIN^Lqtj>)GENOG@iH$P3yBZDB4h? z5@V(t({|&5?4`6sDnHB-lTE}LweA7tTCx(nQH1&6U2L~0fNnnf5iTI#XdiiUXimvs zX6)k(jck1#!NlW^wwlEz5)Y(aOGkjn?WyaSM|szOmBRjj1M2?c!(_wy1mpB%d3y(4 zN{bf8ZaROEn^)3+2|mG_e4$kbSJ5NkpmMkUHm-AGWfjYSCBh6peuaBFKK;xbNa3R3 z&;b~j?lZr!oZ~esd%!M;@-;Frej`mQI$fEi(lr)+t5$GMbiPh_vbiQIOvSnLh)C>v zAJi6qWE(w;3lyGttJko}j|(NlUvq>gysA?~p@=t64eIfzTE+4xsmAh6C~vaga%{g4 z{r88~CBjkIoyhg#yTpN&8F)P|kZxahz!6hPJ>I=sPMj)@QHMMaX7`kMn4yZxpv)ZL zo0LHM#%&KFIa=bg<aIH0xq=<TQ8(y$>i5-us!A8%zhNAuBB}JqJmlP~PMnZ;1odbg z?y~YosxVHfz|$*1x-tGV4Pz|)xGhZq){6t*@I#Zww4Y2ZtXN)@dCynPrbw1dIdCqg zpUz&iXih{&<?)OJ|8HIc6<tG2RT$x$qKlCt#0Ur0s&uhudB4B&2<>DYS8lHHqN0C) z{O`Hrt;@C%w~gX%UJj(DACDtg9qbJ48|xb{=~TE)9y4O?S?!BtD{P&+GCL~`fb(*6 z2{h^^B`Sj;ji{xk)8B~owLX=nlg-E|H7mm0!+xv6Y^g;iDmEy&xs{rd<=S*^+^m?C z4r|>?<anH+tfH0#8Esq@URb$cy*f32b)BP?-o_cVW@u%SwYirD;R{SrdpVAXL}akA zuhW}3L7;b{SJd4){0XvWDTo?`op99Bi`{lahGB`XY#?*;xR=SK#JfVJ1}d9!B!9{j z?qSz=Ji~qT&q2&R`#ayT0mF^%k1qa+4fORt&jbe>5L&49ivP8;=G1^jR?Inn8Iy1W zc&W9-cE6`LmGa^4cje#MXjgod&^EI8|Lm!sl7<8_l+MB<+Bo2D#ij{f?<HR7#zXJ* z+jx*KuzoRB1us;TlLac>2d2Og2<37t{feKokrZ<_tWtkGOzD)~0fBW_Mb5vNp<OY_ zXwS+6LPE81lyS-^HDWI!v<#+yh__Ne$0R*t&@*o|>fsm8W28>+-GtjqXeGzA1}DsY zJ*|xQN}i9)kWx@Cp#{8C1HB}kKi}Exs!!qF%zY0lhMUGpOHA+2_nKut(P;#xCE&y{ zms%-1V?A#Xl`^8q@>WgVDs5u%@bta7#??dOEZ_}VxfTO4Ey;9NKC5<r+4ZBP&85O` zU?xKdwEIR_3>G|BX#~xE*}?gol#>heBO2y$D^Q!wK#`NzDoNHOYtd~>1OKE{uB97E zO1?jpT=68^+DOqB%jyd?{iXD2l+HK+v5Gx4nAy%gj=B)D#&l;IiFD3r(e6La99&C7 z50AgO9}k<I$fq&k5zF&`DVaWT8GXmF@iME;Y9*8H#Mf9zODr;kQG52JG8u&#KI*8Q zupl)_x7CvvZB$m3fEMdONJa&Mr{YT)<w0Pq+8M&+HK;DnkE-*|_BF31KED>7%`yO6 z6^Aze>d&HsMs|)*CNnK~U&diTe=a(rpBz@=qAqA0*GKH5g1s|;@K@c5X?nEKj~|MN z#}|81WJxE=j~wBi&t}qHu=N@1wAzZ~*SZwKDR|IrmKxwV`Vz^mjF<sxs4b7gI4~Ha z&Ym@)kWE*h9(Z=aVN-<*n7)%-qPfqd(lBaC%A^!Amp~3U_RQg~Q(s)?aRRk>bm714 zMD<|we6cF=Zef&vumkxjBR=m_i5MFln`&QXme@J#C&rx67&2zVz%GTV*x72wMVSga zZein4n8YOhv8{2V6gc{51FVVYjlC{?1WvPb?bM&7Bdx$1lP>vSXQzJa|1JQ>co8W< zr|GqrG4F={(7`VN##eAGhYke!WNvU2NB$UWu5ad$gD-f0G8N!;e82vR@*KO#v|<0D ztfQ3PZ+LH`CVDKl6=khi`=+eBeo@wS8zK7SHIU2c$UB(xDm(LhlTS?77t;ylFy+FJ zzM*aeeq6?m0<t3ptq7wup&KZ8D^r+q8|U@2w8urfX7;N0t4xCK;0I$qfxAm7#t8A% z=Yw-;i(?>vWWb%SiU~cxAaT3cb*{PdNXuh?x2)`rrYg13RpIvSAEFsrk8oPO{hNgT z-bKiWdsg8#vu}qBIE)l|>cOT9Ve(@ov}5Nxm;0fgX=U|yD8`1W%uv-jVKUg^4WFHC zGeY9Z6X!qrmzsKIhDw3XIS&ENuCV^TgsHBjzwY{fBnRD~($y(=eY<<yoSIAwDcMbh z(>4+<!hsZJ$U+%<oGs(;5R%l&qtJ+1*SN32ah%&|ZiGpH97m{l$?Hos9i3I{iWZ$a zXQLS^WDRv1z8V+S%37!l)%=!pj4E9`q2Mrxc`!7)>XljKC_|T${Lr6{(3uGeWFLa6 zS18GUzR<T%5N2mQK5}_X^S%C%0Ov3CMk9?~oVinJ6FQUty}piC#@d65NdtNSQMP3* zXpM>#*)DP;i%Ib-M8#R?0StK93`o4Z_fK~`rfi9ME%^hCZc0r&o+A@xPByMlSRu4j zG!85rwdIe;PM~GA_fnS8_9$#rW<!5aCsE&jI&6O2+D2`ODbz`20azOf6%u#{Cq=GC z*yQ7yx_vC6C@Ri~Rz0G#zNa|jFK~Ghl+FlwavmwdSaAU<;vs1R81rFODzGG@ecFg~ z_4V}B!4VZ2n%XW3CMqamP>5)0^YBb1@00XwW+`5}e4y^A67n}HvK8flSQE7zxtgbc zELo~|(%C8p3?hh6QnX3$bz@_B3@@E8+IyC4o<^8~uZ`U~!KOe_*Zr6tT<Ce7HUhdP ze6nt{tlKR2-7KScM>U19J|^?kEcewc&HkD<Zo1;miBHSNuhJ5LtZo27_t&5P>%af| z|NB4x?Z5w*|BUBCg-k^ISSF!@mD6>93DFMIpdTU52)HJ&r5c4QY1iMTc*i-EcreB| zi|crDSi%OO#AI5Qa#px*%TzrmsBuYbIPJwksT@qCA3>|(svxR!W!<4YWgS<J+e4{F zSE70uc4#|0+~NA*wE|v;XEW(Ht$9mW4>HggH_%1cJGdlXr-U#+rx3U)OT^xP5sT+5 zM(B_>8C-2|?Nmpc-TAu7SHzx=mH*<~l1f?~N3*dVba}A7DA+>m>sIoY0tU`m<pAz+ zWAygKLvOzEd&B|4v#<R0b6Ap(&oSU*(d1d@DUdto02bNes{`zM*saO;t<NOrd<6Sb zh8nmilgUvap>+wu<xS^Ub}}S?%blSuxL}EZ)M-9?5y}YB$X9MG3-f-6uNwhP6a5N< zl^q`~07J6mI*Ocp2Lyi|`CA2FgGijNmk*QYhj?JlB~1sHjmOh)IwSCXE|&5p#ayLq z3kr1(?+@E4rn4A|LZA~7?{{b33mq}BdGUIdwcNIeTFVn?6(>EFE6>G$7zv=$v)_|v zB_?cXeiJj84v*tHiGIo&tD?K*9JS_TVcyr)%o(mJpN)C(jTa~Hr{I_-t<^LzmtL1& zPYx63T$~2Ycc~<3shgzU-m!@@074}8&v%%Fo5>FOJu7||s-?l>UA0-s)DK8eA&dCF z;my4KCX$Yhkx`CpVHwDOz_NV@ObkUPwT#>Dcm&@vGj9gjzWJwbrFrjI!g0#J-vosY zmD0==+_w&ORUU5pv>^LCg=O(c#O~w@yYet@x^FC+-EP9PeK$=6->FIEmnM$JnCBC+ zNUM`j@4J5P5W(-eX-;Nb_}UJk>3~l4v2@t1%qp8^FKV)Hv#x@Fxas2%i{kTKPK6J( z&tp}jET59=pm{R0^fH2dtmW-~EJC@*VVC^P_g=N}0+{WG>1s;YQ7;29Q3jG-9gt#d z^;zr#uHPXTMSBA8WP9hY<L4lAPyJ?jPz&m(y_|`zLES#`-;<$~nbX)M+UG$ciVRHF zeaos`Hbe_VN@AsdVz$rj?9aJa^L6#q$|K;>mBQvq*V?@g$W<Tl>2CFH{3P@Hdt0n( z>e26kU7P;s<Ys9_P_2-pACsHU@2nmN;<)$(3_MhH)CBPhcX=5yH%i&h$&HF^N6vP~ z#ee@@kJz(JZt4#|oVO~*5u0^|t_D23L_F^duz+o+Li9a<5J(8y^Kn#m2unMMp-$y! zM?B)K=b&KQaI+6b(*hNSTbhs)E*H75ZF+P0_kYHiNPKB0W#Z}Ctr0S6wArFU*xiOG zP|7qP_TF>n0SeTsROukdAWLeLR#o3GhAMq`LZLH*Mfr#Kt)l!+t;nM&_(~X-jHu#= zC;t?^+Trbg4AfUqPGa_EGOMHN$X^f&4q+nJu=eIPj{go|<>S2kuk`YbSjyEe05E7W zXCs9i`^yyeZ^oaKBuZyOe((K`-=A6Zof?-8t|s3+6b|qo{Xvt(bB*-<+f96@@0O0Z zfyp4b?jYGtv9kC1wH*CC33=iBFUMCTz`rf!<b8~Pv~()h{qymacIFkjD1Wye^~VX8 z*DnyXcBC?u7ZGe`ROb6>_-rVWF#s3Hp(hXDI4h7dNprz8si4BVG~tFabt4_oje;Rk zR4I!$`!&TA-qju_!D%8Jmf@Mm9rZpH|0HXLg`PZUxyWShg)zafLi&m#r71|JV#qHE z?9fYpbIf&<+AGmZE!0ujtCB38?>MeHCHj_Cm&VW|XzShP`>yXO`w0G#GFPXhGR%Gz zVGb-Y&1glR5UOmD6urrMGW3$dI*fwSXTWMfY0IQtj2v+);gkm6?^F}(<#?|*17vtq ziZM!7=;;0OB&Qp!`cU5{T;0?(U}PS@TtLHry!F1$g`DyEz?FM0O2jxX=Ps1q=?EEK zDXFP%8G9}MeWmLwI^WP$r@uQ-EB0L1+J8j{)IKUFU)|=UBM@Y-+-_t_^cOY}X>fI7 zVK~Z7AeAu$8KM~&#E_PwnVXPMK?--z$6YJC%c)eBNO69EFPBONiSF(;(miMHwn8O; zc5~Z0AB?bD6D7-Yo;c>ADv#Z(WWOeW=rOYSaxC-J(V1yXW?LDU)I{lxXE+cA+fHn` zuNcYwW2=fNwMqP`RoSpgzm-;{a^7#P>eZ}1y48k|{no91Z~SwML;n3w-Ku`?R`ab} zMaI5<5d2xY-8+9gA)kHg8()1v^x^`4dG`)(`godk0;<nh5o(ktA-$VCzXgc@$s|Uq z6M2cD$dQ_Kxbidrx}CLSm?-Zk2Z0J;M+A9-$%uh3L&Jl^w_jMLoG~>cMT>_@)p?5Y zn>AF-gutl6SMZ-vf+ff)!+B6AHB>2NTio_OB)TRCgYK<&Mji6!_M30Ksy^#~yeh4G zpDd0iDOg<GtyYVmZkc5WS>fRw(lE*wcpomb^2-i+Qf8?eCqUKyM6fzvB)okJk$6+< zLIV7zExB1~=E<nqkkm^gs>9GX2WJRQ{Y~@}oi|i@zn70c3*EjzA$8(?#ACl5)OMH$ zV5o<MSTsJJH&>A|o*|+rA+@7_UbVw(s+D<a0Bxi=Z|08Kzv&yiZ|D8<qzQS)MLxgG z9fs;~i(A}uEf6Ns&FSq!5~$a}j1J5pgB1yM>`fQijVsNRk6mxuu|zJKO*w8D)SdL_ zFDtZd$BF=`3U%UNs1!57C^a@x*{%?Yp?2H5De~x_dn6!{4;xf2WYpz<<*oYp3gNRy z)3SK}e6lZ=mhZ5T*%IMT+EfC!Uekljxsa|aCqxy4&mx33gVyeQ5T*RITb})8d;?Oh zC45-IK@3!s!l+w|BoO$!Wm6fa89UoA;Inomox<3OEnt7l(emg(=onh!_INe<ze>l7 z;|ZU1?1vk@HQEV7)eF*p0YN-t^7MDO?$h2mf3hED^nqimwKqwr+4b>bB#^EdQq!^l zhiW3A9>L{NAR5#^{I~fNdZrj-H;V0Cdf4O5E%}8sUd75862jrq$`O^}+(gf!s1=xB z#gyoUaqC<hfzt1r%(mS1wUriY!Y1o<)gk&|lO64)%{6NdH<bf_*2?X??BY2Mi_^_f z=+PkKl$321udHO!G*6t<SiZI{ibw+4Z;RCC))@sEWwzJW`ckP*kXHt&<ybsR%5tPQ zqv-1D_FL9EU-3v-w{!Dh4miy-Beq#_dnz!B%(A;{Q8J1u9(b<XaiI6{vtK{cEbcG8 z;T!pbrVU|y|KHbtpWPDwe?8ZIwAX+4X<pCx{`ow6fBb(RA1KnFkJ`8A-3PxKy@*bu zZJz_t#P#j=<M9qErA5E5!hFVn3{FL<?mXpOIZ{q9Y*(GLHk7)0u;MA^lfE%eA={i~ zn@KY)i;pj!th(31_H(p)krI3r%)%V<I_~+DI0%)m-Wnl)l;)Et@|2W^Le-GLj@r3Z zMAq|RfB=Ol6p^|aL{SDUGU+U)s=ztLWJEDB-(tG7N=0&AKn1HfYMXAhC3|NIue_jf z*~wUOS27g8GG<_t=c)j5^CWwBqRFa_9E^F7uy*c@O~^6R6AXKY3LA^>&lltef3(E@ zGc;}h!|RoQO=~YKt5Opoc5(S?D*}z+u6G3g@*047BACnb_j#w;ZkCg!rBEA~QDp@Y zVUpg`MUv^`qwNSU3i)1~b>6VX4jI;;i@Wz^N9o)^4cRizshsU@sHD84{VjVGoMZl? zx*YGC03->22pzlz>ZwVVr^*S<bxKw-j3Iu0`8;}m;4Fjy@<tieV?Bv8))HCL#i(OC z#?FRBvw-c>(x=-xnHumiG#SEw{yBe5A}hl;$bgd8osdcVT;n1<$&hQ`wY#i}e-rvl zd436f2j$NT%b(ES-->r7^rdhq-hT*vNn3f+=$Fv9q(7nGs{73g*Vk(NJ;cesTe)}c zMT{?hU4I}=)ugiGmP9(8hcD-U8_(*=#k0cE93TK46XJ==)xs*oUKE#d3p`^OYo;y7 z<Ka0fetct3^j&k(qOR38f3Q_^7ypz_)zIeX0Y0m5#Zr2fr-dqRbkZOwqEVX>tvL=8 z=kJwZV9VJOiPW2j_nu>+M|5xz@yWCjmWcI#+I26mxc5#`P8LnZ))P*I*kfZSa7kX* z?}fYO#XefMQNjvPD|?fF-SL%alq0y&&RrooQfF7?+>FmFM*QtZ9;^S<w)zfw$M@lO zp!I57cP_P8cs*_F=I*a;>&e|sp8X+r_h;_zD|e3oyt#WDl#jaiGJeb658V~2kac^1 zMl#kc{ZU<~pl!IA4##zuK3t&IkFTF8Lg~9ycKI6B8em$j2ZFw_KbgJCr-%&YLFJfz zLVGJH5i?7)+%X>3JzLUN2r9@%X<I7mM*2mksnn-4J)=m3Jbmj~<B@?*yqFt1iSV|k zSviQ(y~-z!gBhLc#6QR?H`C<Pj}@nXT``BJ9F5f@)WpNJg|GnS&t#;~&NbK=J}kMP z{5{6KJ!42AXhRKomt$o?Vfi8(BFU#TaCmWvUJF@jH036`T}4pSY&nrsq0{ydy2j|z zEK{!JOqeuFt)D!%Nk_ZhIlQKW!zs@F@F1>}+PzvHS%rg&QOb4DU!}7-v`hkjX;Qe5 z>%?5C<n<{nX%Q>pLn~ych)5*kTWqkEuG2Z?gYeR~rbL#5mc+GL{$1QqGKxaP_|Xwb zKUUTX{);pH(Dik7J%Y^2gkX#~6Xv{~GwHp?wSaAJCyyt^g8aCI`c2xX-a7%TLUFEt z#dG<&7Tb+pJ%RYznBZvTLqm~&&K3<bVIXaqR)Z5fRnZz|5@#NbU?5NwG*Kei5{O}D zDV&{zgh<I8Po<fZ`_Uh#x4^uziKf1sju|f1=-Pw0q9YJ-Sb;&K9^figYKH5e&#`eW zMxVJ2T!pJkK!i|W`YKwQ0{2cw;|X42{reAnjeBev{}Jw`mOqdBL(4yZ;r>m_2Z#U3 z##Xu@H`X67Wq$-g{ZSCq+q_b%$hAtN-M`WBv8kK|CqnD49VMaIX#(O3?)4NcEjmxg zX(U>n0($*I04){ifiFsCneesKgw<a7O|MM!fj}1U;<-GjB$4w1a^*viZw&$EHVBnG z%Vj!keW}0$0+TN+QVU>zbkBY{1y0%tL?vt6aXZ9^3yY7lVYkZMGN2A2!T3qzBr7<l zV$*6hKs4!fI+JNmM+l{(;UF#Q8t_N#7{9mSy;f^Q6BiT<((B$D8Nd?c8||D+9_@+e z6#NVy&@@EYn^h{!L?PLJZjN4sHEHQa^v^QAuvDr3T3&HJnaKrzf2LuuvZUWd8a2`I z>(G2c8fxnmD02m(-BJuGHbEvy(sLrCO<EQtenPQl1Ec?rM;<czLRv?6a&p6A)oIg| zL2{+7FhnFbnoy&7N6`_qNZC?P7t2`GR1Dj5x<rldZSgg^xVho2Qoo0#&iafV%e7?9 zy_=bAM_DM%Cs+1=JdFLNC`^2$#m71k^nlfT(xGX(GJv(&s^!+Jh$@ha7|)xkVTRvx z2ZK|;!u49Y&i$JViDeb!gQ8gHh^X=8psFjSbhPM&esknB_28U7>dvaw83zs$rF6{Y zNlv<r3R9l$;e#UcH8@W#W+|w}%G8NpsC_(sTMk?syZjY@;I{GA+tINnRS4mR6Ew9u zjb^;Wv32ZAN6>Xp?=0?G%%6KHrto1$kOSpe9>=U~ZEa;JaQ#a=E~~(L^Rwgv^c@~| zQ=!Y+V}Hf-^sNESOAIRN$sRDdYYanmhIi|M(3VX{@LgC_1V5OiiRalQ?;llAf9IK3 zz<)}95X*0WD1SeB=4B#(l>9Fk(MtZ%@~eUVKj!`|Nv@>nvIC#V(XhJMLg_~peb5Q$ z{KwKvTWi}n?h!zKe^m*E$OI6G@QWQYz3hv+J4;z#DJ<z+NE(OtspWqNnh*7Wc-32* z0S?t~aOmQGSfuLcsWtYyj*1rlmxg4++3PhesxhDg^4y1)oN@zKfA3lE?vh>T+Yb1D z@I91C)Ahl9C3HI^ctbEbHajWu5fr4@`e-fwMI^G2wQB<lN;-xp9LO-6Nd@7Cc#(ik zb6@GzYG2ZEH&Mme(^Eq8X!~7ZoNTGEdPR17L6n6<V4pr&7tyIV2;5a%m_=mYWUN;i z>6;a&7UaPtTD#i(e=WP^?2#%qGQPg*I)o5<Z76coIJq@JUV5OlR~Y`ah#hSFq!JlI z9ft{$J_G=fjD-?qRz_{f)hp#8xG%-3BXg$*6vX<hl~<yx{#`)=fF?n?CV(wYx^=_O z^+)r!+Bk2vLHHGdwaQP}ZcD@)Q#QQ(v?S$sQjunx{b&*4A~oJMEfrC*7^w_v^-b(* zH5%4f_vjKE3JzQoF~V!K>iOlD6LbSVe?O<J#WE5|GxckdvmJdHwU`bNt!LNENuKQc z>xY%=q2k2_y+8HbpS$0)$ODPfYrp<j@%S^Mky8y3DUZ7oM$ajpl%g#nMbcs`>izTM zxD&>)w2-t8w4<6KkLiqA+B>Cm;_J1<iK5V9bY1rwZu?EZ+MM!_XbUmSDbF89e-evh z+||iyDpiM}biV^o@>SVhEP;Be)Hr0Pc3<z;BGfAih4jz*0yh3xXQJ>Nzjg^b7X0&y z!oWjci*QwibI9-gtMr~iprO^M__uUAAvzst#$$0gat0vXi~N-KhlLdQgf-JTslatL z{|YXkoUASo^g}G~Cqz?xJ^D`Ue*iKsvA3hN|LeL;hUixv4;s)BhRzQ(J<AAhbzF-@ zi+NgyfJ~v7%EXlcipvAmq975803zPf!Ka%X3{o!~3E!?Gwx9;&Dn_rRFKCBY2)H&n zRR^_AN~zPPNH8{s5-^iOwHYH<_0&Ay=TSHFDjlMK2&fwgc3tJ7f+C8Ee^7x0!lS+h zT2FoIG^NRiO^7}d&)6e!dm=gZ02*sW(&&uaZIWIIsB<kV>=s&%lDa_k7Gb;M_ESM8 z=**edwVXux1r;uYlhg}ZHM7`Xy1Akz)E0&o6;<&j`8tn;rurvbdc0F3sN<%oaERh2 zH8&5EmJ*8IPhN2{o3iYPe|5T;KiNp6UTy#ddY(_NnV<)%bR$}nVfVFGd%el4=$<UU z1WBYU3=(VD=IGp}wj|WNB|8*s&xKCJwy5h9zRNkss6qemN%v_{_Rg%PIkpSvN<kBE z2JtB3P$~|YZ$Tn;wM8ZtO<Ux6T5~G`Sle1RDy!}|1iZs~U}J6tf3S!Om*<SI*s_t; z_gw`mLb3(T$X<Jk=xVacJ;-`vkT7GvTFuX6NZ>SFKrt{(;1r9Bpg6M4t5G5;B&Y0k zFqGQ8Z?2MtPpi#K)9p&KUUiwgMk!dvVgXb#?3w#sWlbwi+K7;{CZeNIw?6+o9HFi- zdH)9%=X;J6JwN^aO(*|;-&_{P@A>iDBIW#$B1ozIdd16YJ&;`K;zd_nDGrA)QEpZ- zaFrT@DXt6*d*z|S)eRs=JT85b!iA(++)db$Y~Dywav9#7v<#P-cLOp3yO+#&15Q%z z2!kj`KEPk{F-K&>s+2^)hOH52WhY&kam1TwH=q5l>CieiV1fwNO$VE|rXB(#*be*P z3X~JT6%tF+p?Y&=WjdZm+%&Kf2lHLuC4wXHg_mr211W#r=PR1U$>}j)Acj$l6gD>i zU@z71z5<$#Emllcp!1)bdpL$A@Xtr1anU@^_oGgX3m=jXOjc-bKE4V^keF!k96(9` zm56v$8mJ%t3T$hYJ{nc|b!4*YkXeIOZg6S7eUd8l7EBP6Lt*!!u&W#~k-#m)m%?gT ziWn;F<2QeT7+f~;8QbPdjrjRXt|7KLMa^a@jZ<%oyvoJgrqQap<V<#yLwFc8h(noS zHV97p3ys?STc#&ZxhmzzD1J11YdVQ8#yCZ6tpe0KDxGow)%-*Bib{f(bdPF3HKmu@ z@TdxVRRw#CLdAJ-wV|tFDPetS2P&PvC|JJ)#-~Ywb$ehz#Zr!@{t_D3TAI>~w$$ES z<NuPqAp}VQrlW$k`9bZ4lsuOe7~YYZEuyyr(h^8sCRsPF#A2!TT*66k{7ew#sW!gY zm)v;+7=P<?rjor@8w<JM?UYkq^0f9m+5y{89w()=4T?qW;b%s~g%6PB_3cw{y)o1P z6pLP5(dR%MAa`@TC4OqO_7>$X>}{Q~ji-5ZHJbG1y)l3mV}AuyF^yH6-T;(S3H<2I z4a?C{5Dm0tT^M-6;Gh2`v}{duuc3Ud0#9HcsDDW+FHAw#5oigMvC2rnCIJZ8NkAnc zb?LB)h{4ATM3ALY;PVo+@E8-SB+9-71}`vL&l)|fH~g$0#hvR2@s~xCph#!8y?flG z@LX9-bZCr7=X|@0%XevS9vErL=A3;Z!{m>1)sd+PiyJY`H{spRXqgA3thih+QR9XR zUVn%96|`<ddn$g5tUN2qM@81KBoe5qbX3+Dh|%f#wG47zT%p!hE^X9&I2%PbS}oyu zgF8*spbLdYU<pdOFaiv^7d(_GFk&Vcq%!ej%x4!{1wkd=s?YXwxTkaZP`A>Q^E(qY zP2??p723%D{lU2g-vW=?trgW?g6Op`8-E?AZaAkTOx|8M+K~$hxlKKFva~m)Je*iG zQxyu5K2x!9RF5mDKY}>4256b;@;W?QdZ(4FyL^WgT*u8ImZKUJo&ZLP;y^?wV!?yM zb1JeQ^8gfOITY=PA_s%y?Qb{2S2UE%^Go82#(%2ZZpakdvE-sSGbp0w(ZzM6P=8R6 zGT6p(h#(H#+<2?Bh<e$3u*6Q>D9Hp7L^ynnfV*FNiHbB*XfHMPDOUOtp5^g1g3iSZ zuNzc76D#dp20A;BJwZ^h&XjdCy{ooP`;c4B*Lnkq_E`@uF~KyS>#3wSsyEoS9_NNl zBzfGyfEFfOQz8EEKmYgt{@?zu|9|iQ=fD4N|4%%ZBj*<0ovSI*llsPcSxHy(ZLNbv z6>2-B9c5o)+B0zi60m3?WD=joz(zIs`u(TxfBXjRpQ0A+@iDll43XN;v!|7hA!qon z2IfS%)lpi$2>o0GPd`ja=9b56zMh&^=ok~74g4Kh%M=p4UQDuXmCy!-et$B9wzzHQ zI+fw5H|N3zQI&;k1p}lngz4-xREe5Trjz$jq2C}>yj}bkDgAcw@xS&j4Ct~T(f-ID z#*6xJQ2+2Yu9Y|f;fu(%EM-B(4B!6BgNAgd;d5_SSmv+migc*wt`#6gs^XEDe>MWW zw~k1&k@q&?G1f=&CYO*da(@tD=)neW)4BB-v|Cz%?`+KMZ37!ygtMzFw%}7HR*<h2 zKdqI!DT-_xPgM7DiX6YWBkL*nTudN|c<?RMp>@Lcf*ZxEy%a7liITpFbT1|3@JZFz z|Drj=<z$Do5YO)D+;E${dd%NLe}kw;R>*n(eWU<RCCA!;(O*LUvVVWnkKwIzzO;so z({RI{_a?;6P#1AaKBK<>#{DI~b>GAAn!23rM!nifsfz!5sqbny3D2T#Z(Q3*E9;qO zeFC$g0hR4LN9Kc$vbJ_iQmQVyc67jUdlplr{6uTy-{TnqJ4(HyG>L_a0pH!XSSuUw zP36%8e`v+BN=~Wdh<|4TN)5AMm_eMB<Tcc^C+t%7VA>V8@Fe?^Jj``*ae(I^|4^-) zddkr^5<4kIpb|+xUp^(+Ai=Bt@N()8AhyrQ?tM8mwIV?5`^8gzk!J&)O|8JM3H&;L z&jo{eRu3SW{aS;WP!@<rs<bcz26F%>=wwUOLcT0Nfa0vTg@5V23frR`N>|@YBv5vT z9g`(fV>5U01hR1d<ltc1u)K<<p>#eWRA$6pE$-|0Md6U+beSJ#e`?=vXCMDSF16Oj zU(bHNLHN}j0>by>rE{-eHxSgpe!L}y1+snwLO+3UsHqg_Pl2#E5b|=m$;*D-P$g$v zy^<#}xIuF@X@BVpPoJ!7&rDwIWS_k{8(C~m3co@mJ3EPvrPPvEVGM+L1}M)ws~D6u ztH$EKUI@%c0+J`-{OZ~J(dzcCXSbM*;(Jlv{*LlqI(I2)e$Hxsv^wpBhzu9v-By>j z{q#DUk-aWLcim>Ux7h`hKJ@1W@FH~6r=b`xg!lOiJb$BtQl-d7<WaClCb!8)wP4)b zrEM&ap$4M-G{&e(U_WDQ9<8Q1*=%PI{LbE>U$o2xa@&<cCsw7^vD;2EY^q`QyPUj0 z90n&N8F=Uw#ejgaBsfO~L)=WBw#%^1oeUp+B!h@mI(YhQ>ls-Kge@f!D9c9K_Wnp@ zKx*Ta7JsDbM&qV7Q)7lQt6n1s)4_(Tv^tC5MVU=O?}$F4gtBx;2kG)XyzmiacC8&s zr6Xe*bAwe{`<k&MH>e{~7hzwrxP<IzAy8FhXPc8*=e#ydld%k1T}A%tm<@odOJ@&K z9%D}x?yC1?-7R5}m~9?ibCjaU@v+&?T&J?%&3^>0E5I@UiD_G#z5;s~?XgXUxv@TJ z>{g;nC>B{`vDY_9w<%2~H6_Aqr5Q(h(k6T)=aE%WV!*$eCYYpbimGf`5CM(!BY2sc zkWQ*Xl1dwBJQ|zqzSTD1WAz-sR(Vh;KP7RP;>oj3^niA0HZ61tDe@&0zyJf5v$)Vw z9)I@6nw^`Wn+Q6RHS-JR*y%su%{S)Q`5kZWFL+a>^T8aFr~1YjpMWzsLuK>98T;T2 z7c2X}efNbk>UY3-+2AKK|2KhjuhEEW#AQF*^iqeSN8*(AMrA3TwqKxGW@G}*&JU;q zicPc6*HKKfaVtRE$;P$w;DE2m`e?JKTz|RT`aD0pp}NBD^Y05`6K`?_xb)ag69W%y z(fkp%=y*kN`+BeNK(y8DIopQgNF$4ywszi#WY`bf*g{dE=ylZzD52DE;xt7mu*CZ5 z0!+^sG!-4|waklK9u4i%bUP#SWKQtb)KecyMg6kV)Hj}aY*q)nM&cx8aUVRz9Dm#< zmZ-f}zFP-rcJ?xQoi)8IP>2tin;Y4NP-+vBqANr#Bvt)R?@!_4g+Hx6PqR38E^)3! zgX`3p>GE3HB*sq4zgSc0xY9K@lRbNzR|PwnePxvR!YiOrf!a^z&L{-c?cf-!LrcY> zl{Jgz=@)0$RXEKc6s&^}4!cB1^MCeS8^>~@0@-<jBwNTF&lO$riWIgiAT^RZU!w2? z1|pGHG>(#`v_@v};ti1K_U6Z=LEkt5??dwi56uHc#w|s2u$yiX`KQ!t5SlV}GZCWn z=qmiy`Z2>#k0(wo6JR*20+8|1hkBm~z63XE*;n*T!oa*ab<+m%$(9k#*ni}wi<1ZU zd9!aw!5?Ih=~$Sgtt|N|UQ8TOG)eBlzt|W802wa=P8E-+EV_z;n-`80&c6SQwGh6X zyt<DuaMBHSL-!p?k7+v$+=2FAcdrh)=tr})pctATnr&>6he7Uq5ZS&&cD{-1<?G=j ze<ZTc=QgU@!WF(X+h-ZhC4at&>|3?1w`yDd`&ZQ#(E3tsGkvJ2n6@yR*&j(=GbJb` zbCWM~pG?`st``;Lkdlx|Ds8}c+sa^%*MhHhLKU>K&eRx6R{R$g+k|Ww7pyb{xtw>b z%@2azQ)!ip;81KdJd3q%j!^Svpk3%V$`-ot6+!6KJNw1<t>qVWjeqU!lt$QN2mK@o zCkKBTi0E;HsgMiLjWtVbrKmLU%S*f@pCxAqXS%u1#_dKi&TDEmmP?s50nH&bF=%*> zA>n(koI}ZN#SJXCi$n%u8J%oV!Y~RR`7nrEPIux<a5Q0MD?SV#rxntA+h`mIT-F2H z8#2-K8SbMn?p{b2$A1==IY8eg1VxxD;qj^v4Ty`W=tdDk_WgfF3DYPWmVOlq$7dzU z_}sSzA#31f$boCFmB+DF;#y0P@59+=)TP2|GgGuz&l7|w?5%STx28lvo1g-ygv}gu z+eoZ>!fECg#E)E)cLSlRkmh^KzOIZexpFOg3DzJSVp!+{JbyY=JK%Hj01^p(xT|Y6 zu2AhIxbQ=i06IB(-l&~n*A==*I~zm#%Fig~4Fxb-J66&JA&~CoYO50fJ={&yYfgvF zE@c5=f|AO{V2d<>P-1mPoo0J9o~)C*$}LdmQb!nfJSD60jR>}t%iJr$mY8tlJ&%r& zUNLm8R&MAUw}1T{tYSE@#JEBWfjg=+N)JLTZdE+bg)5-+5kt|3i2$|9Gfn|qu-4wX zQSE|><H}r2DNe+#+?@4;CkD3=GU9Zf=lx0(|2g3^7XQmo-Chz6A8KVcH7+TrJ<!0% z2m!Xz*t1z+NGQZY;gC+Fw`6nQG@l?J)VjD>6~JI=<$v)>;M9q`Yaq+w?E#@Nu>5*J zn1T?ILu`j@jb$0VwcKMZPO+I~9nE8;Zvm(T_>(QN4uW5CW!1eawR=L|!R_IiD4O=i z6%DDvx0#k6j{rhQMP5^A4<UIL1?U(B4+8MVKV?w2U{;Q-)Jwv&_QE>+9bYRa7dWkM zqnC||L4P1wwy*#5w@(-Llawm385=)1M<E5`u;{7|`m(I+|4hJWXM#o{a3ZA4e8Tts zobid>apI$AV*pXrA~IO<>-nVSUk#uD+r7B?$|$d4hYh2Jf{CYzpt9oW^raR9G$^tX zH?RQr=?nw#+5qdnQk()+UsEupCo0J`eF&FQP?O!?Eq@C~@a>w?p@}^{syTiKM`k62 zklI50GM6HfEKNqxFCTUw3B_}jpQMvMnssTfy7=+?hDbl3`BRT7`!dYQiokSu$w5rB zQDxT>^Q&RrzZm9rkhgAp4f7xBbubbj=NFg!L%m+0k16Kc4EDdM*ZQ1wwO532L+F5` zgyyJCgnzlc5GtT8Uv#PWa}g@Ep_m-oTq|xWi4}t%L4Zz6i=$#i=~c@kfgb5+VoX%z zB78r2TEXFkdGviip(NE;DwIfPq}^h~mfm&%q*aG<2JbQ!F7Smw<R#2PAAwAuLx`U+ z09Eex&7e}Kln_Q86csh3{Nk`yg@NYTx%ZNU(to4kJzPgdOEIXlzGm*_;&RlFz7j62 z8(HBxCDGpqy1hb<Jht5=L=$e!z}^OJDzCNKWto{Yow7X4>w>A%V=uon*M1__3SL9O z7xGnbqwK(osVmTs8y=go>dtLy6TuD#CI;pcEo;QnDbk)MsFUxf+pgj()TFQK7==kq zVSl1&t~MV)NU>V&fdLJ<)^`n*o7<RLbUqs`>s13w<z^|mZzIZL^I}9HRW^o++iu3n zk}Aq}rC8tJ2nn|Y)^+a)h<HoC)M*w2UuqT8j$4qcvU0Y5Svv;wQKtKrX(^j)?q|)9 zDf98`qpO77?60eh*Ovx!yGnIJcg1eMc7K)n#p|2IOJ8E&cZt8WmHk^=sXw)q&t-I6 z`1)!qx4Ef{>}$I^C#zTi>E(<&)h#D?J1o2)mtPYYyLmMj%>xkQ<wu$-AwhY3r+~*O z;Hf7LXHM%`0=zulmNtj&m0hB}?t33@0dcy$QYWULltk>N20~TLwbp_X<FC^!ihtlF zIL*4ZqLo5W;CT~&DX?GLLQR|+f4<gbDfPuN*(0!_I65+dKC?8`a7~EfB{E2Xk`#)2 ztHO~pYM7|l5f!(b1A42(r^@bXKtqa0_olQt;&EDnyOo@Y5MomRz#RoE8aU(LSfg)S z!qAFR7S(KV%g$*$ZO0j%bJ@2p-+!`iVG~6}kc^PXm8vw(9qzF;YT#+!AbYbPiD|7G zU6t#@tP#~Pl7rJ?-MhxatusW#bEqk(VuI326QcqL%e$`enlT`&bkbGyFE#)-&C7(? zbQTkDE;bC8s3_oyo44%9_$il&B#8A?=?avGA)u@QM{TuPWQW-qCT2#mtbZ?zB;&=f z8>yh|Dp5PlY#(9o;>yc<d9(5~qv9w`6_!S4_L@ppV*;gUFwjzMoe!<p;IEY$uB=K? ze1g}dm=vk2X)Ja)7X?yVRLl1H5UDo7I~hvQnFYsE6SqX20d-0=WZ+)QQGU9emJiTv zg$a={;wv0ofumw}SPbf#2!Dk-P!(xMBpuMvH+<EDG;gH^x5OuoBEM02321Lc(cVyy zod{|b6+#JdLNT~Zl33boxd-tEFe_!L6si-1DxD{fhI1mF?#;Hd?{PRv8OPL{*b&u{ zJj|A-`i?Ec2kO|Iefh;G2&o2Ky+x=p>6!U5!s{w@L}kNADJP*~0Dp`rGY;;_U_EYi z9SVD;-<KVb&Zmf?F9{%X=$=?qsTPVL*o=dqC){s-tw<n=)VZ8M_k*IWA6NyiW*=y7 z&eyH8(10<d<3d__2(Sphr4E^^?ZEeX2w#WEVWq?=Y&NULjfv#iQGDS|8?dg6t}!#Q zmw4QrcpmPpMxJwtVt=i+C6cZwuu|zS$x7OFDW_gpV0n^om3-oWoo|gh0`QV!Rt^^) zX;QX>6w%LH%L#!kD!kG%P-`_!SY4E>u~t=Nijr$75#zObl8x3FvGX<S5REk!l?!Rz z`q7<@&7*HaL6yVJGcCAg@8vv*x-93;id4wzW@}e1B44!oLVqzm+Z2c?n&~8-X|S41 zF4Pk-`YhuFTr4Fn(86{x*-XB7=N@9AV6i=6RL|#ZN5srgn;jNYp2&v17pg~2uysm1 zj@I25JXdA`s3bWM8YTZCw81lywu2Ey`7G&M<#|jrW}}0))s*EyjdAj?a+w>MIHCwN zcCtM@+B!`me1Acs3q~`H>|d{JtH>e{5lcT9Yb9BA5!(jQsJIpl*zrRmW`b=^zeKXb zB_K!C3dqK(@BF;v$`oo!X#*C*RV2s?CnRZ$et4e(%Y|vwTY)E+m&c>upmK?6Fr|MJ zw2|CoO$a(aj1&Sfz0v83=#;k?f(8{uz{I_AA?`2BpMU!i1<iY^NI+iih*-Z@@nEcu zu;1bdK$AAgCU9cMlwuWDI*C*$H+x?|Gq05z+VlE;<gB}io`K>;>T4$-JJq3$e-S)H zU@4D^gu@%ysk~uqo_Jz;6jWfG2u(E1KnXu(`#N=mjDAXBMGjSsO2e$V_B||hNb(M5 z*k}%Ab$=IS_PSn*wF0NCNH5!$W0caoGS;K`q_HKQB4qT<SGGeuLZP2|%5ZfG2}#YC zub{bH1*um1I7Rzx+{_ipJ68qNR5@56bP1nS4*Jq-l@kMdRHn~%P*;51-n?zwI_#x7 zSKh`mg-~<{sw-5LWmc^lGB%1;1hHF^$GyOP-G4lr#aM|<R<_wgbBYYb&Qg1~Km++< z7n}af(yhSfBaMqvy>~z_(E~V9G`mb>qZTVGo|T9)`spn%5Tr&h4$@(iSz&^-K4i-X z!Tl1#z~IW3^O7xX#<@PZzugO=XcEN!yd?bdVM9sX;ZYs}>;8imModYyAGvO>Vkipw z#eWTpe7IK&F(qSAN!P9R&xV2Z21Q>-XgbCLg~at&+v3D@8>f^0cJ>=(C!)Rt$}YOM zetf9iwj(KYp%6`|IJR{~2UU<!+op=Z)8uwWZ|mx}9+)4P{I~yL2wksR#+#L-Mu!Mz zt;&F7f$44lkArmgOxik0G@`1lESS~~S$}a`&HzC`zQ1{6X6VT243`^FA<b&zZA%m@ zwN8NO2Vtf+(v;AmBO1_~oaYI!6s1kz7c2Kuj!48ci`aZC&I&{u?Gv;}`wR)3us<NC zRS%xMP=A1Vp4CNJ#3#^@Z66_vDbiA!yEtA#)H=87n`|!cKzNZUlF42%dmK(1SjIkH zEJ}Z<YNi@5T}J{O0Imw$M%W5o5QPO*G+>p%9jp1vaj}bfNqkw3a|TEN`}X-M{T%8J zgPr9g6fhd^WP%hJI2-u{49)E*!!+7`0YYE{;!mwy&Td<`b;j=nb|=iE*{?<SHxw$q zYjGdv`GNl`7@}U7wBVG$#nuaZhTrM#^-MbR(8nbOEF*sp*Y}==cQlJCRY@Jd+6y#4 zaI^z{;4l}fiJ~4*O02&i=`Vl$5B#3bfAe46KmW&nzmu@(K^Pi7>rG4vnj{n2#}Mlf z*Lxp&la}{0z?PE<>cfB8?-knCYZ|Q|CoFRVV2bV^kr!FydgVgMwM*W}dxWJo^6iLw zdyT5znqMMs{uX!-05@fC;F(3yK>%D|0DNFX7JhX$C9G?y)+GTuiUAryw#G_ptWSZ) z);J^@y{J4-6xDe*#-=wLKvw|q<zZ7FFAqBxHEE0)!wA})&oO^j1qIP8#zz6f_{r60 znp|<xH7A4!@pN!;%zcGeU!~^fuK|(IL-JlRhQ3sjhP`@I%0i<c*sClSZnKfupBSUM z0neOGVK91nZ&i6!H+{tuY*Ttlo2UNMOvcHJL&Pj@uTWR?H^%B!WGlrDv&n~jvKdVT zt-q8i0S3IDu`qvICdCI(UHXnxKIk~aV{euT{a*iF?331Cs(}oA=%%dl)i7J`4A#7K z!xavECBrGP$~pTp8K{t99v?d4{(=*&gQYzE#)$yMlDUS`U)f7%VwBo{yjs$E%VL!C zEm!LG*mWyva1^7@Tv(;_ta5i>xe#VuNLcO_^=lt6TLypgd#@f%)xwcRK$=)M;!&eh z-NJEqDm!$yERZ^tgBAU#95&9c$}xV*5u&KO7(;-)63kSj-OswAcag&JmUz3Kz54on zc4(}E(cvbe8j)JnCJ_Oqw9Zeqbl@<u=g5~N=)nlpnuxFeM8p!O`;{<p6%b$;ZMx{P zk!h9UaUej9&wHoC)_E|y8hBhj!gW#0N`R5<gN;&6EdKM+jiRS&4So={cTjyL;6@oy z_*u_IsrYF~WfASCOWv`d-~afN2<>ctiymWrA-}AGCmWyobgJ8A%wxoC+D9cQpU2;} zP7L|F>g0<NcSYbRjkgSeKaB<*yc5=n(i5>p?Y?+P$raOai6xWHrlZ=^agkC~2(~kH z$K9l2rN{FyrgjN&-k!i%>#a-LzM{<N^yRT`gKU>T;o20C2)^}9ts$e1kJCGU*In;b znT4b_m<D?@ToCmU$lr>_{Zf|kDs3fI(Ln@SUR6ccW8drE7*4(<5Vt|<osKeEjO88P zMr%YnjPR`dr}`}MAaXLPOqeKfSMcF2w;i!S>_%>ElGg!`ay!DStR-6^`~8$2IH*6@ zc&j_5fq;R+xkh3~AS4N2#Q*Dm*9RACGxDXu-|86P`RBJ${Z;|KxR`?fHy7)d84^tK zI~R)?@>ecqwRE6seZ5ilU*ACU{l->VMouaw!&$$`Syspj+K)QBXhPnpk430jPuqQF z_v}G^5O!<*A=E09H$g~vq0^{y=D3<c0HOH0@qtF-l2IL^tD_g3lx{hHbMEyWCsnVp z^}5j!pt>KuvtBI9O5xsUwt%>96Ki`#DDq_Rhzj@Ut{%A2k+%P|v4jiAaqntDyfN)2 ztwsvxayrYYZ>gxh7`q_sXFt!D-h|4g!8J-!ca4?<8@sZ@t(S22!Xh<sbgam9v6|5C z7WbxlSEM?w3}Ss6nOe|)+<VjTd4t)u`}bT`bDddoj8C{Kp$0)+Yen7?=@_ssOk~?k z>5b><8bH=c<8XS_*{L)J;7La`Moag3C1^ETL^Z+ab7glpA+FP-c>pR`F&4d!lrEg1 zN|a$+qYEPs2XLPRsEeoIdS&j?)O{#{7X^DAWfL}GDKa`Bg@{9c(L7xT5OlHEu^c(? znvVMXsFk<KmP=N(IH$28>pbLKkhJC4D{`uu8Mr|Nb30T<o*22@6k}T@X8{c%p(W{B zo~Y62*YF1)1Qtt0BP)b>RcVkihZsS6f_>Yx7xj3iGRp~k?2K)aUn1H;^AL<~790@3 zgKOVic0Br5VvBiyW#Y`m{UY773ohLH?U-yhcn8d^AWXaG0!##LGXhQKBu@KQ8y)mo z_Cdb(9>Nj`-e7I+-Q0h6X1wu%L|~JFz~dnta@1f*v}}D-az{+P5XrJcA=hcou`_Is zl9T1iqI9=7G(n+Z9?&ItqM-;nDspS@(^1Y5ZaSw%2!&^V7@y7cpNOV#3v93YPPwC{ zT3p)R4p9ydg%zBfI6Jh$IMWD$OU6$JHf<x>M@5guV1dGbrthx~7%I+Q#7HuSC^A8G zo(~|1uLFh=AXlW`NyhonOa9P0BKii@jrqj&m~7$u_3(Y=o4(OR|NJ3!^^-2hH^732 zDnitOx|tn+ntjxp?>WLsQOW;NFZ0J!@6YaMNzRBSXEx`;3xOMX;l>hDvIO}&pdK8h z9!~7$DbU0{U*#>uxV6!UdwEWxexH53<z`>9NqrFRPZ_`8GXCG*uAFWY-EuxYmva^4 zMjHGn#<_EkjK5JYbC_4d|C1I6rTdcNcrolRzkRKLme`kFItLzo_CCVT-*X@N_eUWk zMy{`owy9GagIEwjEhVObBrEso+m|+!ogynHho%bSDPevBhJD$(APzjOwVVcodeCjr zp*jedQH_co^!QE!egT=Cx>CphHx=qR78&{vg`3EG#Ktb2I=IiN9opbDO$pklCU2(# z5d#i?i%i`vB86%}gEH7`;5jwx)>STG9*Q6aB^@{AM8sVHNyMp5DQ>&sCC;Pr077f$ z3|&XvHg*DWost<YW*>)Y)RKa<2RBVNN{XDI01$%_z#qN+cA~7F>o8R*r<^$VU+V|y zq~6b7mW@On(0!8Fxo?OW4<%5nq^=SMnj0T~Y+B)hsedb76^$@)03NF-8en_3&pJZw zLHjsu80c_7suw(#U+F}piz!!6+Vn~IbqnaAG(~1{CTe_|9%;B6c?}_RST|lm-Iio_ zAra|rwFKa#*{DX-YlSpC7B?NW8df)oqwRa#Wl1PwE5K7Na{!>TB<rgdA~ORckTj`( z)B=>@WM>wCn=k!vNFrFJflkk;h;Fu63pDM8&f_I*)J#(T(!EluU?Dhy9H>NRHCHMC z<WkkEtU6y?(Z3^NOxPEYaAghcArHk6#FkJvU|8_q+6E=#YBj+FP0WFrJ7Y6pp(16V z)>v>l3G*NgT03LVVv$VjTx~O?reI%xLJ(+V*{>f%Y}-+{j)M}F^8rlBQ-meHPxbk? zPcBJ|{5L4jUr?Zh0>3-@FDRfC@j!uC&n3T3vFt=I*V0t#%0LmF=?mDsc7J~P!wgb) zYqg*fR8Qy3h=RJ%cT}9Z9*bJf-)%eb_biBy`Hm!kG62?5{PW>G9_#;vx{r*1eS8)q zVj#Lk#bVv?mfA{^;SQ~yKtl^5fGmq`u%2Wv=enS6XcJLTz#0hUQMI-c64BjcIAL=< zXTNy~fVS=?=`WCwHPNuh7H+-s8VTK$!t${ZM4qD_?M>CtD>nB2up9f8Eax#E4|^4V zI*?B(NM5h%0@<;Z#n6yWMOfi~LN;?SUJuzrQHvNf?(8pFQ{VPyg^0WW^!^)wo)0#J zlxdrM{oZ<H^1PMtDKz^kG}X~~%A(|Ee_6FPpL_Q#=FK_2W+k9W^=3ZNFz3Rr7w7oc zG6Y5f`=O32w*KC%`E9dSb@AtBy+$Nj+*+?nyg!0#pOuN2G(y&mqY{IE6<(ECIou5b z$^IZ^V=cDJvqiKb2a;|rp3hoL)yhJE|Hj*AR9UK2Vt?4N&Kq-(`;IEPbALscCt6<} ztiOh}ovZh~XXgnl&zO?9!QuZQnZ4y|bBFBOXr2Aq!2lk0J6O+a*XpB#Wtzth_G@@u zo=*#_Af|q&pg75IL9)1i&)(T6N?<+H3?iCzrrfms8HI?b*%!lM*%!GtrK%n&dnXO= z#9nl`iu?`zT(wAwbD5Z_k-MSB5S?fj8XC`^6NV^*Qnpg~I+4-=Z<7Ke4TU&X=ym1d z7Ztpn8WEO<Mo6|))sSn-I=#MK%?q?^Q`n%-c|T$^>|&C|07)5tzxa2=qBZJ>NX?!w zoeL16EGRvt6C?R4{NA%qLqtB_ICT!FhV^^nFuzuWxgMS=Y%FX7TKao#F`iKRfW@)0 zOcV<EwIKiOe64d#b;^zx9cr`aqinFAH3qiw*hZUO9BZ5cP;{aQaLJcR0Qwz1kCNwJ zd1hLKB}m}{6%j^%j2L#_`Mv{Q3l43WUahb1;2AE9pqvSkM1>oL$qg;^K288&Bt+#F z<BO2KaLlV#^$W+`UfiPSeNW>lG=<AOC9}VK@n@?cWIj91{$4Xb@k=Qyjpjhge>#m4 zZ9SdlXU)uKnO*$ys+bn^^Q+%<E6$rf&Pr!FJ=+hkltT`GBY|jSr_>-gAW|g{zrmsC z#oY;?XWt-$cTqlL_Le%7LXq`FE+&b0EBb_sYmLvKe}VYvkI{#aueIsAHLBPVQO!wf z<Y?@XlJdfay8T~v4&>3_@Nb`Wu3^rcLr^bpC#|K_;m|HqYhwl!>QO7<S6%HQUpWu6 zfaSFL)v%p^5RHjj2Q^3mX>AGg0w{-S2iKwQU}wBfypJ|pj|+?Jz`71kQY;ATuo+M| zH@KelL%J{=91A^-l=6oJh97{k;^KAPAJE3QvWgiph32jqEi4Mt3=#$hp$(`10Bk4# zyj*QXpopw~ZsCcZ7KpbR?wEAjG3z%bU54&3A8?C*PeX6}GhqiFt4-dnIa(dL>-_t4 zYC*(wu-sYe=*~XPng8iD5=9Y4I$1VC1i*G4T+&PtNtyLgYwMACU7Z~{Dn4>#Ilu2y zj%mf|avI4*WxEJ(JC0XuB;gIuR>q`bRVM@3)=2(Q%}?KuYw93q8obI5b0+Eo9Grwr zkuo}eTnpt!!oDcGRJgTWmq;yxKF|0O4~r%`24~#Zu4hveGTaMIU6z~I%ca^!GseA* z4!1c>%14Ppk?1z}-*n?2-wCG9yfEj-DU1VD9kr2G90wWL(mv`q-RnFooNTX2v3lMN zpU`>feJGo}$nD^$Yh9z;pwXP@XSeW%Qz3MJPwI9#<!eOpb6xG=1QCfCg1Iy?xi<cI z(<JihY9Dm8jjpFOD82M-i_95?hQ6K37H0r83zWNlZeeo`(#vDq8{y}orI-#bq-GDs zQAb3GG0p16H9%h{OuhXXrjiXab(&oci&WgM+{K{``>Y)FRCUC`^eT@Sxp?yc_c3{Y zl(g#>IG!IiG6_AZkW(QaNeN-lYCxUI4Z1scHfqBu1%zhEsQB1?+h<vjlANSA5I?k` z?j=*e0Y4lCFk102_<=Vl)e8=HdCxD@RvM*yX8wv_56$nmQk5VpE?}KVZo(L6%1+XU zkb8z0DE~YR$J601>{(Qyn^!miYa=p$UpOjBOq($jk-k4RiHh(5yEp8KBm;h07tem2 zx)@P@akEriq7IYamoB!)=RVQPacOC<r!8m&MNG=_!5Sl^8XF_{hBd%VZ(m<^URzEC zBzN9}z7f|Cb)ZcRjV26=!nC2^w6KLT=N3G_B<v*BJ}3piiCusMOZ&}%4kIOh8!dtw zb8cBBIJu&|I|8_*vpZcDYX}mW(kDh=msu21ek953kD^Wo6gKP8K{v;`Q}RUYDQl^? ztK=fc40zPQ^MC{8D%-cTIz1k0O)Y)gSMdyzzD>$-)`d`$XjF@JM23?nTgO>R36n!4 z1J+0%$Pa{)KI9h_cs&xV@_o;L(ID5hNjqG9hLfXZtXzFdZ1&)u3iz34qG6w{w0TBh zAs1jpN-03Q(Xe0!K@e#Dw$#oATHwa;jcYE~Yr&W>orx;TM#%ism9IJjB?O!HZcX%r z4bV}$2#L@WYSoav_&wxR12kft{|@ZKW{L?r+*vAUQo5-{E>9ZVGEh~2_L|Xy*vW*L z8NG%zHAbmBcpHdSAwU(Dg5x$yE?rOXV=m>CPbZHvCU!_NWGl3%EJ0@-6De6BDigeJ zfmvN4g>dImg$^WDj664=ix*hpEj7H~d8tW708{~uP-WNx!?h;FRMc0$^l(<4p6hM> zO54(EL+~&x2%xnJh+#Q@p=Uf$d&sLuk{{P^3e)5Epny#N^}HnYDomRyN<F@9qAFP9 zV)>Vq!9OqGS7lN{lZw|>nO0P{b}|6}%g^XIJ%<!NxqW4&W#ibnkGV44#P<JdSv>mN zK5jR$zmNV#tE*JFPpd}`{EKCAtsYb8V|Qo<>M7%a|Jks(;#=2$mtpaGB`g3oyHx7M z^RZQrANCU8TH&C+e)a1wR_FhIi#B;qag02YU=@)1`cS3@IuQvFN!3_sO6lfRpK+|9 zN!f63KO!)cTzlC%eo6gC{uh~<^m1M5Fi#d_!|Be$(q~fVF09&)nZ<+jh$S>t09RqL z_4;}*ex^t@C2ZDz&yv)&m!2}Hgv?;g9Un2{B%{DuE&97+a;qXH@AfJOxbmrZ7*7-b zdNz{F)q+>`QZL5NtAq&h0T6b;Bae1uWdgW`UN)-n#H{Wek(N~G5?w_4I51^$B^VxL zqnO8P_v9Edaw9*TKRX_X7Yt1#O;*8D%#F@*QsRP9G(w7hrHXD<KF%x~4W<HxI1WJ% zfuR8rDzalDNnz}UujL&b0Q0pvN<{0i5J+iTv`AQh<DD*2>BB@q_$l}jvUb&6frJp6 zeexI8G&1nYACfO<*hVu2Yk4WY`yl<M4VX{@p3Nnh*R3Wh3Sl{bS}~Gm=}1`9fLtQU z00dEZW{q%vXLUC==IV~{P&mV|Vf1a(=2guZKiNp0L9~zi42oo{gJSLBt4E{SKRJ)p zH09}eP`3DNbu`flg98<dk_fl^ll)W>fP^Z!5@IJ5rfE?9LOO#iG(no31}fpu)!0j4 zTE0T@&~TYJeG$LR*=T8iJyBalyPW6u)p0ja_sO(>fx=(3x9QYO3YJvwcC;(Zn6xNK zr~xpUF{D)Q4_aCQc0N!s0#DqhL=}W=>%C40$OLFX8|=v|4p>3&Mu0)fpejb*zDg&D zYq!4mjY=?CkAo0rSjCg*(gOkI7aEXk%B~rWD-TUvB%(NU8^zUgCK6giKu5hV&AfO& zqFh~nEE||Xr{Gf1f@u1a$}!&1=4=a0hmF&&I8F~q78I7siYs<5i;o0Q(ob=F3M>LK zcaBIGd6jxov2b>S`8SzXR=}unwnXqV7iCsgm_qPsb5zmPF7iaLh$1V}h%zkzXj2h` ziV{pcwlf1L_Nneea`uWRTR2ZM3Y%NaoMt-=Nf-6y>^>Ax;9q_MliUB6f8m!UvOY@r z<Z@HWsbhEOTWSZWUL4Q8rReMvHVXQ+qFnlL{Z`U1`>5|v8XXIIAwHB4_}|}LSuv8F zCw~<NzY6+g7?w+b(sd&49$xXu8cah^HjM&qrS!EG1`2Y<E;fBzCDfMZBg=Tx8I-Uu z2$@t&Ribi^Kx&{6Mk<@Ff52!paPU6Q6PpAsi!R)I^O3mb5qC6>MR3@wZ3(D5lsA31 zK=yj&gAUK2L0GiLyqt~f48TCPq$l?7{lt>HxZ~1N-}MsGjMNmkytJNH=c~FDJwTI- zY<IIl$T^!3o+lV>EAz{507eT5fc0~+US~@!+1s)hO*X9&fZw4qe~oZ-??epR$urM$ zX^4<RfhTCB)F?f>=a(w<?*9Jsj{;#o;*dDyn9*ijRe(;aM}Q>I;5Q}fp<L~3)F?}@ z`ul`)kp=&z*IY&GQMOK)f&Qe(6Ctbb*j7a}yNZpJ?h&%`^EBWu#isTpZV4;rrEA#_ z_U_d$zwYKy=_+d6f5ftadJ24K5J^;5RH}}&M~Oi=9bRS^-R9IF0Z&sn*2ah6GFQPw zGG$*%yC-WS?#yTl5BAyhSz?v!cEr*Ne-2b!K;BsqalKJLp?wNqqlOX9g%&cCt_qNj zV;4kPDZ{JP2SEVdkS5oRWFDrK?9{zP8g2<q<z^<ThO!I2e^*Cg6ZBjlVh>SEQ%J!g zT;;rOxQv{w;0f#6&gO=USt)kJE1FI9xCy*R2xW*RV~rflIO-%sjinGPz$2l@m*&YW zJ8_m&da<B18O);+u2ki(VEdq5aahz^*~C+s<f1f8(if8r09M*sB~D)Tr>haJiqv*S zn>M+D)H4xLf5N6=4CPtubJ(<u3Li-wMSd?|UbN{yl=+PdgB-FGdC?HNdovIYdeXUW z`BPK5^gKInx~o(aD0o2%HAr0v5w&lr+q5;s8*ny>qTa$O3okU&+Ed@x-=EC7Q-d#I zdMf~In9~AQ$g2ZT_JbN*`6T?icu9iFmc~R0)aeFLe=1etjV!eP@$cNPw1i(Mcrz36 zDQJk&&q4JI{YKEJv0=Th<AI%Z1&w{7-<k;ZH0OHu8f}O#&N692z>OE|Ed<EyBk21D zdt(rP=@>@&JjkdS3;Nhsc*TRIS1I1?oRAR*3<|AM8{+D916^0#)Km64u~ij0z8-5~ zyfgjse}8^piWO6ggq#h!wWiwsj-*u9>lBz7uQlCK^s3dgJk?_;$bKKpz#?PBy{)Dx zHSU0djlYTRMq~fLF6&?kFuq?4`5i}%D2hmOL`9Qe&BDD?B$4*ymsVRUdsWECJ)#g@ z1)fr*zVh{L%Z>C@nQ28#=QvNIuXvYg6DpPHf4*YzT0h~rbcV3w>rpQv(;6`_wY`jA z0T6a~A;ylunN@jpX-m6To4*xrGWy}3MS4DsE6fc&;UdDWXj@63Wvn-mwoz9uH9zq; z7VgT{A!&sOs~L-4LNBhd1{va_+oH0{=Z1NkjEOq&R44n|B6@<bV>MLjLFv+vJOTkq ze{{}6fvsGXT}llkQ0BJE>i~#)S)NbH#F?5$&TQmQ8Z&4vk-F(<w~2MS|J>@b5Cssd ze9~|l=Tla-6WqO=Xke#UL=3`2Ze7YLXsDnl+GxXJYo8Gx%_S7$r7hc^&+6N&Pc7V( z%Lj_3FR*Y&vmb8!@hh=L2uDs3`QJ)@f1dV+8>3>LXQ}Phqh+=+o3O1+&KRm?0*{v8 z*~lU{I;M{w5Gi2wa!i^VT*Q_N-T6K=;!#T}CW@;g`Hmg!>hHWqX$r0e=3r+5_8!pf zg^xV-ATBEhBIas;M}%S<y#YO5ad%tYW>)#pwp-F2B^JT6=u4Ae3EhYr2Cz*-e@Tb} zkTT(uf?_rvyOk{%-eB`PkZMsuIUd1L+pox}mZI3URpE*0TbB{G4D<W{+@YW;Bjwb@ zF=wGvJeQOS`CzepHs)za#7gfVn;}tkr{?b$Of*L*f0Dx8{QMTXxseV{Q*pdV-a(K? z)XwmN9B~8**+`a$y9SZC9XG7nf5D82=XKl{)2LNcQ6olZV6Gp22XsHM;~|NZ|AYWf zA8r7qc$@}$UxyPjW5%t=+B8aw8W3nwj$M?|iG&}m;06PIn3@|-S}1|qRodnW?G704 z5;@sQTazGu4CtC;6*_yNc>&u7c(vTAD~{L-t}bkUKKR^eqntVZn$CVXe>2=4H}X^2 zeXz5IxzT;Jvuz_|j-!-o`1>9DfA9|NM8|LUsQ=_C)MfvpHO+m7@(%Ssv4{6S?xQ_V zkJR{|?MdGS@BHf>_LnRCuipOGd$5POhC*ul*pWZn?qlcn-fs3^Zny81KDV2=#b1y2 zaT58E(_d2K$BB8ny0=4TCA!?@^Wm&|HvdDW+qW6`c)08d?dZ?TqjTiNAN704eXZ?@ z%=(v#2LT^{epnLq+Y-!7?zt735R?x#cqa^f-~JgfYM)nO%xblQS9zWuW%JWoXo|6; z`s(Gr<QiIfuE~u!u(DmqMo8D1`6--RUcS_F;(l7ENT`ejH16zbUP+oqYbk$@f6o2a z$9I4IM}7YJ>i4|lqQGhaTxV@S%ta|Yw*#~-29ET9S6y@?>a7&ZA=w4*3)W^F{!p&o zs)qupI7PKBjlB>nrw!k{wG`OV4ky$%5SWmPFdcMLK+-yD{Ds&GK`-QZiIO_$rRTJD zk$&Kz6he-;xoq{QO=pi(un$J`3wS<UTBdU;{MH>V6ANE(tK(r6U~R%e(9V`*kcR@S zdXO7`-cV{g@m?ZGobq>NtmM2h=62*v1q}ZSPy77ueFDY7rV?}T0=044Au3m>(s`<R zq{g}qcYR5X-wyY@M<p4zNCE2DxYuY8%Xy^6mm(S-V!rPqIkv0sXDyqx%!k;hPDVA@ zx5o~`o!M)@Rzv}87+p1xZRnxLgj8|rW0ACfqmWe^!z!(gd(2)lLVj^>lWGyj?(hr+ zEtVU%EM57@)SP+(2|Snoq?(v52f>RtPb~n)Y)o59$T*hLw?iC)Kbf&uiJ6o}OFe2o zo_U%KdtS12bkR{zj7L7EVDAMnDG9ZC)_NuYsxrRtitB5*tT<dZz$HzFNQ~)?i2E9U z9=Y;)$jd8^e#SHrRq0ay$?(YIStJ2c!RAXv@0`nPc%-R=(+U02(np<o0{d{Q^7M42 zm8_`2WQ_W6%sY?oQ6S!bsI&EK2JTd=l%z|g&1sRehlJe72kFQ*S<m(Sq#v^Wpe%rq z8@nC0=4f!r--##tyqX@5Rv89Es$<lDqCIkJpOtR!=E8nAQh+v9XtbmcBV*&5=m;%X z?3uzS8wJw~s*nlHz3{@=h=RHHZL(&rsLPon(^L-C3R)21w$>`dA@q)t0rJr@by6_W z&4|W4rYH3xDz5cyqJE=Swg0buagyF;y~Twlut^}`WLtn!Sf|5R$rnm8pjZcgv+j{) zloQx@K$`|-XA+^&=7b*I5djc$=T)`8beH>!97Sww)#&(&PbGn+E7jaeQtyl<T;G+W zpUN?>N#g6a>nU!kn;}7Gl8i*M2P-Oee3y=i0aqy<pB3(h0XM2+w{)<=pc!$IuLp-d z>9QQ{2w1X=;@uH5L>NzO5}!(cV6Dg3|IvSE-x{S91)CmVZ`pVPO+#Khiz;Q*7v~Ja zi6A8>S;rU@)bua*&aa#r;iy!1=uN7O(+cy7_)5Sp%}afqKwbqgL+gg7kA(S3^{9z8 zdmJA1Q&P%C*ov7{mvKU)9WOf(<epRFyPqVW>lzoR+N-#&yOO?JF~6vPluuTN{ff_< z{KTO(?5nk0cpyUHB7zEgn1N>Ka7`vgl3`v@U-fN(plD3zE=02EJmi!J;>J%rjYVd| zCdQgwmzTVL5l6h2ww0lQqu-@Lkg>mkjB%^ae*G0>T-ECZGCIAmc;AOVV~p|fIfjic z@fV1p9{U*e^VErYEu#8=C&bXxxH~si^t~pOB03xHT2B3F)#20kZjhV}^SgvcujUUa zX5>~HEjmp(Bv1m`e)4(kWcXw&LPTJUr%-DfEXpz_c<VLP-O5!h3C02Y4?C1f!>N>d z1uF%8SK__n^K@r+hA<+GORRM#+@jrEW{M&r`Du5-u7^@|&ekb^1ykx&YE^2qXgeGU zQjukmPk=<g2?&c71U|<}1u%|;IGHt`mxy&^%}K&HCd4eSQK;uu!K(B66J|Ui%+R-l znN6r}u~sSw!?1WI2<(RCNXEeut;x`BkTiwfR!`(9xRC909WIesQ8jH$svUa^so)(p zB&8!Z0SxI*c|`PoPg=*NgEC^)q<H1N1G-9^YbI{eiMNV}c%D8gP-#^UYT-;jtA+x1 z76bT7VRVNSGfqI!=7{WafTymPbJlteM=l2+2WN^8)bZ4bm8C+^FBqCza=mYkDjuW- zs^#hW^@^==IWy9#AVP)@U{lGK);+@Lt-W0e+b`E1(tYQDDw^WD3bh~#tIXUBel>Z@ z@H{P1NTIC_mOu4babsdv-UE^SgLcWnK#RUp6;@-KIbWO|t#Eh=_JXsB%C@o&%E%!P zgm*wY;)h_S1AmA`g%*luDz9~8MOi#_WECwVZF6FmS?`u5Ia0bFkY7@>3GWIDCE+`G zdB;@kxYhN4>>%}5L!J(?S?AyXdufN^lbN5WtFw)2PgzQfCZB>y?JtFG;+z}osD4oM zIM$~vFOxrH!z}>dryC%Xu5<-T#33qx$kGURb*}XM<PJ`-Z2#uq>ph4hzNxtK+u9uU z{F<?~chHz|E)F_}5v`jA)kM02BExTB7X@Nr8`E`vD)B?J{BTSFhLaLLN))FgS19x2 zj;vc?iFGRF4*BmjFP0a=qftDn(5b5%ZU-o|0^R_~z?zIi<KnS>Xe!ps%ZNL|5OO0N z1nC68l%+XrB!w1k6h-M0k4ZBit23ZW8NHOc?&<6VI^U^_k6#qkurHZ3+k7yN!sH7e z@7{NR5c?BAemLw;6|SyWgv9xQkkt;qsB|E5J;E~Z{x=nlesv|YPcmI!WSX;{$bo%# z>T3TMRa=z0EGP3SDaq2N>X}rY$cS8_+NwsksjVDrqb>Vo<#urDJE7tdH-(c0LOaJo zO+je8={ylZs+DIho^<FE0B{NlCP)Z_+}NCdpGX?Cj#UBnax4)N;8Z5bt{Aaz9zjym z58UF2Sc;c-F!Lhg`!H#w)}3fp&mS`QY_4j!6_EN{5AFn{#fr)F+Nj9^Ttz;V-CJUn zLx=NNVd#mlj&R|owi#XOikgWQPk+jM5C@NZ2P_f{#X3G+OFdo#x++NY@QKU)TJEfW zmC<Plkd#Tc)1PR4z7<lD<I1d7ec};BysMXam>iPH0;KAWki~cq{DBA{ct{GP{F?(w zuq3y_*EmD<YxFGS*r=mcdPwTD!i)KglzOgQI~R^<!3&%8oK;PnQ$mtep7Cj;;OJut zURKZdid^>A4|{}FCaUrcJRUlzDh>{RWr@X&oQ|}74rEk1F5)yD*KTd049kteQKkY~ z^;(jn07WGsvEtG64Wg}wTr1+tW0e-KCF_#M&dr#PZdZ|`wAz~XC3KQwYIcujUzb0L zLF#_zKC`|yoTKyo3E4i62Kzz{us+)KTX{grry_kSED;gS+d94$>OcOs`Ue(&Pye2c zj*$34MJtm4BQACnGIp>L-KsX1G}&C8!H1rlvQAUe#=yU{lvKu?AwwedNS(n)Qz5oT z2iQQ^(>wR69$>}^nSs3_qMZ6jCIQdjuA^o#6<LmRZ7VV{8{p_{@5nPK)lrYh47H9R z^t0TH-8shdY`PzHiQA<w|7;0=NnDDe{y7_TM*Uyird1@U%6Cs24`mgdo_&X6%%if@ zq+~|lAq^<&x<n<R(r_Enj%PyXSM72ZCsPN>hwYyONx`-4X1Fdw4Eis;M)xTYvUMNf zI$)wUog*q{U^C$yaqEHConAyGBg(<N672COrE7?2ww~RU_oyXxNkFfE14}O|li18o zjkG<m-)<}Gg<z;hQ<eBeNBCGx6D5ar*C=#uuX&?#HB5LJCl8@ySwrh=qzOaGl4W__ zh<s|LVzHCl0j$)P;KsUoD;lZAVsqzYjz^;2jh-0-Rdz?V5Mg%1z$RP^{k((R%I+0L z3mkD3A~_W-mXoNjb%l0+okRhBe}pOWV}f<ljFe1lrK@$P5bO0*3}N_ZGgI+GSSlos z2lj8>5yLFKb0a*7ABDxRNSmc4kic<!h>;d;R><dBC*Q6O%Q6<7XSU8#vR1cu-NQ}f z2uvnp<LRNJK}8PFt&GtEXOm~afrCN=D_W8s#wE$?`{#uA9eC4!5NS3^{YTu>E~j^L zM=E**niDdW2k}0wqhLe{Cs*OeM-!dpimo<2A+@`q;;xo+^65fZ^MoDoI<<I3xNE+5 zl+OzSF*59pk>SqyWjU>`FgDNI_Ak9yczjj-<?7G`<&4|hxHz)Uf^QJU@hb-@MzDY| zwMp>@)@%fWknU4O<f%-lkCt~G7J{%TM`=_RC$Ub~9b%DCl=bh)5_fi#XZP*g^M)T? zX=aZ^S{?fh)#+i9pZ45KebC8g%i2u%R3AQn)tA*10mpy8*jZGIQ(26V-)3Ww*IB0> zt3GE?{-E!LBF(41r(a+13_G_?fAS!cTK%Q(DZ%~80yok3THp~N;L&#(4XF^QXnqhE zfr9|tk|Q%k(Hld-y<Y1tL<nsv>dcBOq&J>%X)flD>amlWF6>$h|5+Io*Kpd%2}5+E zP^Qz3ol<{D#Pgb9U?BS(+&E>;7QrkVf*F@jI66C=;8wRlZV{SOb+0LCIzCyMCJCdO zuE4Y+M9?VGjmgB42wu!7B0f1u5YZ;us)56yR)9ib0TCRMuPNVF5k;KayUt}w9Y-O{ z8K=v7z|~Yol+hlsaf2Dqqc%K8@2f2#V%6RkUweN@qA?C2Lv@jcK^{<e)rb3oA&p8W zTwO+C?ULoBPa$euju<5uj?mVVN$E(qco_MP+?+hN)2ajyeMg^_khE9?ttpskJm_6h zM@oa{YG|l11+h(Om*Xn#Kpbp?s?Jvw>PP#sqx-gaC=FwczHaN$%&G#*(;g!}0_Z!V zzdnELM2nDhsAjB_U#le%lH2zP#8{LramwSiJ8H0H<SU~{Xy;)e)z77tX~C-JK5rb; zeZ~k>x<!;vL8*}<MF1OXG_`QawM{(%@SbJ&<$iO6VK<wz)(!njSGwzss&kNBt`fGL zOd!ytNlLzQ$v{5^(9%ED0^LK$Sj5VC)h8A>ZN2Dtn83CUf9z8CBP}4m73E;~IG3&# z0l5KNmuMFOihlzI^#l$+H07~Z)<Rj&|3)Txj{49b8ul*wx0b+Op@vQ%aY?TRlX+av zx6|3n&W(x^z)%|*TA>=`R*^T0>BDB3=?9W9MGwg+XnikjP_N=5G%<Q_y=tXKA3*tl zy16+Dixl_mi2VV-T&oG7jwu|A2#e@0qKv|#F4G;SX@6qtaejMW?wY)@2I8J-?5OLs zVqFQ4Ix;IE-g<DCeNfr58>mU@fTNX=SrbB9$Ef3Xs28<*RS5S0)M+}S)ulRdXo`vk zd##fHVJOrX{_|xhxId4f;6`_e!pz{hxV>aZ&)*c#m<_T1gQeLXxaSC7US`AHgt}1r zpC!`wWtZ?60U3XvF@`?&Q<337#O(-=>QPC}ba^(fe5d531Q?Yj!bPW~O0gtmS2mfH z5U_&kR#l{8@IKNw0#aRjVl)I>5Pkk{YqD)fHQchkomwf9PE5H2+LCiYlJbdQ<ez(U z6@b)Mg9n3Xl>q;gYw3+e)&)goRzj*~;ZK!`sN_buUGsl}M^+%Q5Cok4@Pi9Cir`D( zL&yK;djhfMCHLub`_bePNN9ss`d^E6@K%s%(1noJNkB?wzU8z4%Pz~%flsECeL?Y8 zIk7Ds79t3>P$oBqHCK+I>sAH8y~tdiLR=F$LDv+o6+m;;bp?d#V486fL5;E)vwWVh zE)5<CSzmwU`}uz*X97JS(ccM2g>VFC8eyE!qgo4E_U;pTHHtXe6qm^NrWEF%2Dz$% zKo~MRSNx^S6AcFT+SdVj6*!yTbVIkzP{6e=2yL#FVZFwUwpW69;I@KEa1YOcnsXCJ zSh)_-iY+_Vju)V4lqZrQu0&hGXsn<>xTWl@7%~_-lA}o-D$7yPN9~g~1!tf3`W5#x z2A<!So*Ds3f8#?t<v~~zePaz9kCBpfb734UQSOo_+BxLprE}h6@QSjWsWQ(hDGcrC z_+`YxSr}TEkIwm>s0leO-~OsDs22>5G1Q8hQ_A-3cR;tOu*9mM&*`!XfQWvoeCJl? zU{u-_IS2~QEl8u0zemfDPH102YvH28xmqod+`4W{f2|>I;hcF!d316*LdAw5IlM;E zcu?BN>RF%&Jldov!;s=ZN7^;0W%{*pjC`yZs}DNdFL0QxGO1#!orgTW$b=0!8ep(L zvnD^`pZIUanHSPOi=ehvhE47&BBe_HqMKd(M?-kyzfK}ii-KTB!Nq!D&;A%Y`S|s@ zd$j=ze>I60(A>CpC<rYyACV0B3Y>bq&7(kQnBvvw*#cRJuh#~U(Wm6LWT=7ts0&OP z-x~g+TtOohr$`DDcTIg-#w}fZ<m+59vE9#my<*d$X~?lokbt2|aa+Mv5@^TXcJ2l; zUP7izw1*6A=D?Z{9C7|jx&Qos9>@S5M&O}lf32G5<-YRNlF)EkuB$zt!gYr52Y2QI zMUspRwFQ1qZ8|QUF@G+P7=r+eoZ`Cjs@P~*XU}-qY2WutGN>ziO)*w+JP|TNrSe=R z@Zx-TD!#4K5o;}4qF3k(JZ{66`KG7FZY0WAven9}n<=vizBgL*a8wf-O=7RSh-Rq* zf2wR!v5-&icz!XRQx&;aJ{@O8g1AU?o&F-1e^|%V9m{R%?mB^s*7}OV9Bk|qqDx=I z7EYvMg{G)M)zyeaTlPpd6Ro6B4l0!eMMl;Txn`ry$}IJCVvFFF^30k%rJ!$D?C7-n z;7MP&9-xB#G(@Vju2chSjD#@q;8j_je}3fI=Cp;HOA}P`#kXT58xn#<s>Ax73oj`F zQGylbHcGI%Tg}9d=A`V6KG@B4!94x4Ha$Pv9w9$?#_QNg@3hoXis_BfGF`Ho7F*;F zc&~}}RTo9sLjYSi&J_K#4^$Slk+iGPoqSa7750{xlSjQm)`ac6Z64XDoSWw%e-}z_ zy(Gl>$E}iUj7(h+(r0>vQAyt8528ApO^ZJszs)XaO$BwInodVaHxg<*=;w$N9?H?O zF5~PF{<b-6N|}#6q3E<5VJsMC9zs(#Dc=^5kn0!}o+!~vp_#ZOt@qyVJg>f}Wcgt5 zMA@}^)qRB=q|3G2rX#o2Q;^3<e-kaJ3}sS`1`1!c)EQp#M-t@(Z|Nl{9FdxA?Nb*G zn44*!-6(z_4fCYhvm{*1joDlDG$>rQ;uV~_y(onPMYI-&RNx%3EJw5OW(g3|X9&fU zMMQo7QhKwADC|e-+r6wP=o9i1SE4svWf6kAuFbR-yt8rTCm1ZaWWzHLf6nL>X5q@^ z`a6-!&I2jiSh%gEvXtHQg<KbvT|~Pe9@=#GlYD!-m7np3EPSGy#rRb7FM~t$S!f46 zi}!UcU<+3^cQkJtIjR5J;Lre8XEQdWQl&s5otGb?q}XxKB20RpC0izK-$bTM<wUjB z;*C&65!5mZ17(!s1mmI%e^-<VI)hXnNs4IhanY7K3(o>$udoptis#}9sa?=nmjgn* z74!DDpd51-`mNd)IOY!fohua>j7p+IEqEYAQU7To6`C6fLqmI`qH9m&a8>zVRCA*8 z&xa9lvv6VqKGgTyh){{JhPE8LFUhRUNY&#vfayr~Prf-q_Q+yXe;Uaj`s|S@sO(A! zkKf=)s}ZB0$ukvrT9vG?Q{u7aA7vEO=N5KHUJ<e?L8ua@m(U?k@N<48Zn2vQJ_VVg zdZ1N@z!2Cp3UsH-BN4xv44uS%45EqJr@`V-PPJZuC5pg|(i=A4qU%;_Rtd5&iYZi1 zF29N-F_&WZb{NV;e^Rv#O?0LTtQ}cEDlr#MzeDFu$KriCWs5q&BG*&Y&r?)ZOQnv- zd(LA8WB?ew+|E_awGuolKsp_BZ2kEW4BXDRx_tv9mw%5KFff)Ec}?;%ch7#sVKz6E z>=>$3J||?S!fUVbTR90%1FSeVvB**q4TFqZhR5C#t7;u>e}Lc>7}Nv=V_-0kplHxe z;998GN=}|;P)ce6%1db&hk2xorCH%b{JP@0RUkk|s*jST#cut(8V9W$m`lpQ;R>rL z{JfoVWz2AtsP7i=sAAQ&4%0AHqRl8?%AaTw0VOrIl*>yHCVOLW)U;AyK+fda)}gS< zH0ULdB4Wr?e?=>-&MmR}te;l;(i8AS<#)R5gcrfdq-*!3z9phiYU_kx)M|FTlBqdl zk(5K)vbiKM=M(H`<?b{2H-}~@DI9@;s!<{M#;3KMpG_EERdkq#*{x?7%G45gQFqyq zN|)2(+aZpQrA)L;S0xEkPKqx<z37YIT|0dnN9rLbf1An&=7wcPFw2jKqCiK1F8~)R znBKCs!FV^TFb*ghU$M6d92guf!L4EGs?)in^bcxRxcDXQlc>fVT+OdjwyxBrpn@2K zrekZ@35dchOG=w(en&CmO6A1eMyja$J$sKt7_K6CJpZbFmQix(N*BE|6b+4J9%{dT ziJB>Me=ltR1KNwKe6MxzQ;8O!b)V2a5m5Q@Q_oC2vLcpjDW{f;473;9*TwcDv=?(# zpnVty&l-{ky%5<atqJKY;v)O|?!W!su4g9;6N7TaLzPNviJ;|0>GihSj>^X4)kJ@c z@_4{YU;p9+0?=Nk%jZ`nYzO}heHzB50d;hxe?sw>h%!}8NS5+G7iH40w6fz8Lw1`D zkSxpXcJR_U#V`2n#LK7Eb26c=NNC;wl;7Yt_zpFV<;Lu(UuJza+RDz$>*+g=w6YO` zx~}hVmqDke(2Bq}6&x94e)oFZPUPi|y%9C$>z8Pn3I)}(%<W(IAe-Q$e+@@v3tZA> zf0IK$_Su3|a?WGi{_H^DaJd6vANSKI9GzJ6_q7AoV<Bl%rayk)q}i+UoRV-d>e5|6 zd=j&S7VUURQ`-57aWT}0_JEPB+EiK<sAPa4S6X8<!WOQCxZfg~zqPG9bDJ}AE9Lb- zmDR;@3@XZ|vyka|;OA6`4NrQ8xjIRne`tO2+k33P589P<<egyA3qOJ@w5>AWu=H}# zb1F&n#H@yZU4*B;A`VTm+_cKsN!R<@-vDfio#ppuL&~1N8&fbubh(etBv!VcCSY)m zI>g1A*1w5PJry|ew5DN0AY-W_cBH?lPW?-3QWE=UO<(WV`cj?Vz3CU#sekO>f20=R z;<2Z4;ULJ>zfSuy2KSaPA!U>kIxL5shIO(8;OJMXBi!V4j__NxRZxD=v(z`58Gn|a z?CmodL}Q_sg$B8Bj*3tmDeIsM=0R`fu1t#hT;eBPuLC97&Udj|O?xL`%;gYMNP|sz zZ4y>-OV_?;=c?`p?$YVgWyjmFm((Nyk$<11-l~QXC!;&PkXyBMCWnHeJIb13@>MZ> z$Idut6%=M=NX>Eci@Jk0N}f_@ZZo{SK|$U+Fafr6E7GO8;nrrxExMK1@(!!Snk}Pw zb>~Q1u?xREE!6f!ey99GzHgTvHuXv&)Q`>hK~BKbcr}nqTn}0(blZ;owUM92wSP*1 z1Z<bOchCqB;p$0};8jy8H8!x>gHZ@M6gYRSA9<nsihZr3S+TzNqVxM_cr{_xwv~?Q z?jwi2zkXZrXlmLb!bqoK*anxmwz%$K#3$WsL#uc+>c3+S$s!L3e{2HRa9i+DrGOKX z302mo>?&2FuarH7k~Jzg9d)T>OMlxbRuv&l)zG5S3`(>r5|59%M${3_s<5MEBGq_= zvkgvnWw%-c#`}Lc<EX?VJk3E{a`z%4tYTqfM+lOAmwGeNjTE+-IVo2X_i}8}@``IY zlnCoV;FBCol8GotcqxCtriyeKcgQq~ZhKw0lKiAxjqP_|(VmkQ3VPo%j(=CZax93Q z6H7cvbFBC)bacOt`qd2El^WUv$4y{WzxMT<0dK6|QISr~Rs>XYg!*k7CC_T7Y6z-I zTpEZaSz%A?S{mrhQlHLck6h<W5EM_z!W_0^g{?N&Q_fF^UbUuj{C_T&NK$YL5+M;; zpw<=K{pQ&&sD}vtCxnkg5r5w}%w?h*RgO#ovv(-{j}ZPP>}<qvg&jLp7XAHqy4aT< z_ABkUg4hq*vGcL!j$D&9U%~7r?btN>C}Pi=U%$Tj$G-T-Z_?QR5dYXu{!tJAsD7dV z<HhPR9r#YJo#iM|O=xFbzh@%Uin8rD`_RXI;MYW!EME&^a&RZT^M8g7bk);pH`cTB zNT+cCw<r7<>{M11Zyu^;HL^NwTGH+d#}vSXBxVJp{Y8w(CM9CX2Ios`gI(9gNw5N& za^Ux^u__JciKY2ub9_LA`RpP3v^$x0Z;u>da|f5Mbx_mLm*AYoQ<aBYG^&51eUux; z6p8{jg5?`R7@98bxqna^(qpezrn_$@eTzWdI!nE_h+&HK9UiIFa{z<*s)IK;fsPwF zL8-eB+P@MIs)(&O5)_bEU!bKv*e)XvW|L%};<XA*vI<Y|-G$@|HuD%D3G&h)m|<Y8 zb4=XU(hS3#VD99Au2myKZIs8oWCRQbBQsx!K9qpcP&(U%^M5?Z0H>ur!cL>21@+X; z%GS-XS~OU<0=<Oi?A<)u#I{t1W&Ft{Ikcri1*{sj_7tPGW9k2>BA58zskk;wajFt~ z<pvWGZ`=$oFEO1ZVB*5#ESa2j&)_Z7Jp%NvGTl|h%`2x?4D!Aj@JqH>LcZP__#*(D zJWjim;ON!de}7v+$PP)g4$Slq30wtkek@RQ=#(o*eQJUNCr!erL>kBbXUna&a!or( z>e)SjjX<0+go$1{q9};3RjM(b<(1NaeOUwNg7IXo?LC}r2=MZvLD2`SAO_6<fEN*6 zFO-sYO6P^89s(3EmB^+QmM3$ZK*LUhr_*qjgw<LH?0*h^s_e;{AUgrW2+f}V>U*}Y zBog0v2UZvV?}2C=2=*cesz#F%xnlSWcRFxKH{tQ#-YRQZ6+Xbt3ycv@6<N!tH%tWi zK_qmmy1xSVbX3tY7Gio%dT10jf{VSxhxNjTJ@<wEANwWn+RqK!*M_|f)1=f-Oj|F< z^aaSuPk#~n9Tc{?jEy}ZnIHT10)>{hvz7H{SU5jc;js}z1q*fSs9MlIftdub%#g^H zgoj6Xfg8NC<nTf??%Mb}`bWo8kF5(CvObd}<;xjb4mvm=w=;W0Y7rI^%FCv$(wh`O z<ooJS<}s~lE6K`6kEzLV5zkWQ$gQd=$^~^oLw|6^cR9|sXaa!ac(PFzjrD`MWz<p2 z70KF(D|Q+RoL~f9X%>n@RUvpgG5fGgl{*+8rC<la!Tk4+Ro>~SRtzqOO00)rf3`ea z3^EEkSL?CcwuslBE*{W;tFg&cV0=5=u@%I1Au!iF(wb3=aP1Cw+I*-mLO^AIBZ~%* zY=7yxirl`s1ovh4>Ta_Qc_i_`CgV-~GAYT32!wfMw}~w-1bkZnR#bx9LHdm+k$OZ{ z^HLdYnP<OSYZ={wZUfx}UQ72zR)k)5E^hXMb5&L`)&NhG9l%AF6Z_jl)=~IQ1LkZE zNmQ!38fL8GdIDr0c7(%mYGbg)rE3>-$A69q!Z#T0?HN^Tz>7BZsy$!vFB258v31yp zi`xi<yZf^3Y638x>F~Z3gr%RmtR@f7WBa<#<w_kQ@5+4LK9!5OE(ckt)3i`;Xd~P_ zt*%7W!m?^?1i;}+F5FX?@A9E#aHhw~i7Cn>1Ki6XE<KG_rF#zVCtgzz3J*{9aeth2 zU;;R##Xb@Ke3Vhjkyl#5HU(y?ydN4sYclGoV%Mvkan6Ag#0l{r3s2H7#a>Jh#ZTp& z&Fkd1aP5)L!idH&R)`8id4R@4`|ID3+0G=!12o#o@KcG}mk`CL1k^JGgi)&eWXC2s zKxq3L(s-6}jSO%3n*h}x0+em<bbr?P$9LnBC=*+@_wyHksOs6wXH)wN?M{W@Wv=Wu zMN(=>#Q&y9k|`fov(c8KC48%UkCP^bTLJsUz8Awe%<_TZzIXPumV)oh-kq&yXAP17 zIY7q0^wPSUc!JTok2}xeQ8M5w2fn0M^TH1c*jPby8SGix&lG`lOudu~C9xd9!!mzD zK~5T?YhgB(<&55!?4te~2MQI@f<=rZv#qf6FaPd~UX>-q82dn_e7&lyqmmU28o|Sr zw1IHv`IRxmnrUHSE;4bO)rcX>4!xpFRhSw-0@~drgy}LBuMGOLqj=QncOc<b9qBw1 zqM9<_>|30+3wJ+5NtPg4#yV!!Z^(bcW8ic__%^RU*IES*76%*!K!=?@JJ+Dh*3cuc z+e)ENKu+vk4keNz@u?0?%cwhhc}QQIoXg;Ew(l(Cv4R3}70Y}jJppStYZarhDV1>M zkgUF_j*AJnZBZ0M1`|@@Vu>?WR2#LW(Bm@2h6>bf^ofiJC=ruIi#zGYj|YEPQ7>9p zHQ|C!bXIb+%P}Nn@(Eac_Y9HESa2hjRZL_lAL@k_{Hks2YiF#9bwoWMg%Tsxv_qdZ zwhZ30uOrMznn%Ygr-3gE(jicDI;|W*)|2!++ZO^S`l$&DVn{BnG1CtQZ9eLX?6WLT zaEpVB2*2&FPcC#tnmH@F>92q9v9dCZ{Zt$gw;ber#In6_vJ%e1sq$PTVw1hm^V;?w zsXCRQq6Vx83jsW<*hlxQ-^NZQW`G(P{*<46@~t|~RUPe<ftFvt0LHMEsH2zhToNsg zAK=eUu-kQg6f&wqFXgALCZ^BryJ&MwYky(25*@9Zn~%~p)aJc=F+_jE1YAJvl_erz zBkYm0`6d^QL=j=L?pTS^B!=C*lo#l&J8t}<QmD@p&I-#F4P1&n?KC)r*1$(vWwNO5 zkP!%NoJHSK9X%nFN9eRxr7y7zz=@I<(<wFjQbj?M<!yX=UA`fRL~rm%N$Oe{s0#LR zcs02ZQJa%g7m~eDuRDLkOlV6T7U3wt$|deL!a7Q~rYDgX+F7=Kug6*qVu5=))Cfa8 z3#!ij#~O4|#)f#d$*<I;mco`}=-l&dJ;^Jk+bxy*#8X~<^9}~5pxusUtnCA(lyf%S zixliMWmD56*!Zvzy3m#TfQ0~hW8u=y<QUQLz&9Wwj&It{R(^jD<Lu<Jl})&Zpc1w} zX_;D56gDOfr(6#3u%8l+<~yn3y}aHa$Fw0ybjqAe)I=hXpC>%ackZ`^MOoW6&DM3R z84he!+IFu?qAG5>j{K?MDGAT(7MAm}V&r5=;+nwjx=e-EU;|1B^hL`h<VD9+gz~%# z0tBco6}zM-e6@ew8n0O@oBgCu(pWAg1K4)nl!BH{qy{%m2o3j%x;yF1bvw&B;|-Xi z!gv)DsP;-uhO8`o(yu%5v3o<oNRlhuer-n#-s8gGuMrX0&wY)^ZP#=AbtpyG^Kyb$ zzy8gq{OH$Dq<{76v0s0>gkk<4E}{Lp>o32U9@Dt9(lCGYyc;2>n4+juz*SJ$d9i9C zlPVrvass|qp%+pvxa4lO&InH@nT5A;DaxV{rOh8HFVWn|*YJn%1}UF*Xdqx(?(lrw zmkG3rw!$U~w(>FpgJa$zsZz&YG!N%0;Q(}s%pvY3A7t4F#$1=?rt3yPW(9GUQQ)$0 zQRPH!vk-q0nz0*j&!qevMYM!vb6Ym*kgxJd8!`)o`>PUM{ytmd{6%d_$2f4&aX+v~ zB^Q_W1VJ^1l1%HI<+!F2B9^vYDIi@fPQ?M-WxEt1g3&h{a&A&~@iC3-QBu{J0qLd4 zip@-;Qf44cI(lPt8NjbatDY`r3{adNQq=H8_d0*}f-AE}0p$xh#>;HY!b+6Hq#Bv$ zi4S#FAs!^sy@{f=xN{7dbOjZc68x!9!TWmjuOWZ~GI+wgNJ7d245zvm8;732Q>W;b znCj78=$1my!;8v;ln*!9eVwKkDA;#`kf_?E`XqO8B^!a0a#nRUggeWC;VBI{OPmbB zQ#pTAgLEQP4C5UkBm%7i0VMS2jx-ISL-&=pubk_?R%CA(DUy|%;<?80I1pOsDI0Mi zD&VP}5Zqd641*K6161LlUE-_nfT&v|!pPf@&<HEA;v`I~%cCZif*Mywe#gkJ2i%sE zgIpQR5)i*nTtoXxFG`NqrWFpLsxg~Z9p8VfH7!gG8wE|Kt);ZFC>f4Pib$0#t@xIu zbLGtSm~{|}Rr?vYf_t<j<vh<kotKoZUw%3zgakTmsb?E#vAI+cHZrEVi4$lxJvD=? zeD(u;dhh$N=A&>Qp<?6!0X`3+=>7sek5D1H<*FW?;_|7kya?cpdxC2=N+F8%T-<*{ zc@X{o)G79@Q|z}+5g+#NxM%<T-~9Ydb?uUXj>Uy4NLZ<)Zki<)!kYi>mHJbvWBLwR zRT10h#R|DG=~{yzKkdC`h}%d!t-gxg2w8((bVanzZgB;4Q~Ht4p5oMqzhpOOe}TgB zQ3v5}-rmZ`uMt8p&?KPZX+O=iBmaLQEKc8-x>3d<F%#plKYbv7{`S`9@qy|JrPFU8 zXyTgaDTe@s(Cy;@S!X^Rpi^Gf*SK)bkH!-`_QP9y-dD|OqPu@^Rd6V%rUM-)#xf|H zkq~)Rsv}@SdvKYl&l6sw@&%)f(IPCL+o#ZVH@ZmGHE^N`p1>gFcRn=jO09psN1}Sv zF_Hzh>lE7D=Z@F>p$j+f3#4FLB9Ljzqopd9gtJCZjYwONzN7h&b&+R5rWjz3Zmcs& zSD+nW=dCCOhKV{$<EuRPWqS9iCmO<w>AjR$yp`Qx7ppP1(spR0tWxm;%q88fkMyE0 zpAD`6TQUK(e|9TxCQ-5jD|>%OA}6!?vt;6n_X^NV*lzgTs<YnjsTfcwBnYFenrxXk zMnh|-tkD@Fp8!=hvjryq>Hf?$tt?_iJD61zEjgVLpVrLJ_14EGC%jL0xiLT1F1-=^ zytKF<k&fyItNPRwB6GC-k1d~EUJGn)yg%`ON)59>RwS^TZ_Y^xWvqWhO>Ts{lgd$` z`-o{EaMEv{lhFbKo~iK-msrUF>4%q~N;NWui2z*J$Qn$$xtD^@i0y}-e~T*(Qj!0h zwHAQl)a1xCnUb4bQ7EP_BnevV`$pqj{b_a18lxY9QiJg#UQ$2X`aZ8x8LX_Xh%iBJ z>|GTS^vQ|7%^vF5+6aH>)jI)m99BP)_K6kP%VbX9joj&bzyTB;I%67yyF<sFlQH~S zx!Jfg`{wnyhSx-@qJAC@01q8KJ<WuD#T+vDCcIPutq62Pr2{>;v^i%)pmy*V8(%yf zuH_<%M@m}76E%vKIM<z@xNo$E(4@C0X-w>?>`dRLe~OWyUYdW0Hq?>hH&IILPF+dZ zbdb!JStVIkP_W<LGv*mvop)~8;@J$<Sd~0Y;Kl}zLicAbjOlt(Oe%S?C+!A;j<BpQ zt*=216o|*UjrMM`x^keO1;iHH@PI;-O^^doteHTri|x}sHd1$89*{6aGzld)VL0Yp ztDl^%2*`0q8i;>IDqC$O?$2Jb!J#IKe0GHiOarLSJ?1!n4Sx)`0#G_vnaaKs#>hQ( z-w{I&c<i1Q!i@cOF8s;^M)eW-?t`$b@{{gDn{RbDw*P8-Xh!BTuD>UoerjvuSjNka z45$W!Oynh8lYr6lga*M^3GK5qP#eLCVie68Xtn`*w0?hEir5-LAf2vTp~0GU&lSWc zI2TBgi^hR+Ze1=Djmxc8nFW0CI3vytT4Y@t&1)e<vTqND`Wr3B2%ZFS;yEHy09<mk z%TcvMf6_qg=Sn<2*;|r7mmyZRj)(}=f$Q|NvL0^L-PTeak=wOqtmA2_FpQn~?K`y? zw*#iIDZYR395LI$@g2qSBFK;}L>B6qJ0hai*{FaCp#n5%?Q<Ij5m^&Zpj7k{M}n-^ z#w5_G7;YS1j0DmWHRe#JCtSf|R=QS~M){UsqzMtN0)(_CC9m`rdD24US1|*D$?9m* z$ML>;ny;OjRXH4KZYvE@v2j6?XGY#!bk7&=Q~-Zax~y9Vi&Fm}AB1-_pb!=c-QmHl zW=%;T@@1Z~>%BCnf<{czu9WOZ!o`+Lun0Gi3{|v((nE~^q=HUzW+hP>=y@zAHz~(L z(P3*w7H*+oVYPREjM%M=5C8(q$FZpZRs@GUJ4EOlqodE{>Bh^Z>~^OWF7=x&V(t1m zWto3st0}mr8c&*se_j~g2HNzk4To2+2HR13y)ceUZ{ut*WGYw5K}J5^eQHw-0<c+^ z?r2NDNddycyfYa>-}mCGx}{O$F$TdCHk?Kxpl*aIaBEM7h$gmrV{s8RnTkW=>{|!L zjX(cW5OqGC(~DRVtr~J$k+Cc4f%X&ymV$p`E1`X(Lw3-o`aqcY#!~96mpivYf?`X1 zToJSMF)xeWTXZpMHX%VB6Qc}3(%C5%ju(WmCvd#73ujo5^)C!^z~_<#%GRao59<qL zB6h_`9sZbs<I@C0(--aAX4hqee3)(1_N}z+N+6F_n65WBNZ{8a6sXW9E3K98Y65@K zo#4*!0z18Wt*Vnup`taaVMun?UD;=YXl^9{LkznMOEdl)fOz=;cK||X@S4l}HL_TQ zk&ztQ{c{8&c=h>MxNbj3{*mOqoq*167<S}HpgzyqkM1w$o{ozY-G4RcK7Z|Vc6d`4 zm?UXx^STGtwdy74;2N4r;Ey0EQoesUqBe;Lo<<79Jvx^Z0EwiJm`M<T`Qc#9RUyYj zX}$8}qd_`gK@pDb1CpMNqhI>;tu}3KX*8C_NR!f!xNonUduI=fYSdNTy4ns2SfTGk zqaJ!bqjaT^2qr1#AQ&7#ML}!xnr{EXbk}H%)`6l5Zf9u#vM7Vve<cP)q+x&U6@**L zi^LP!GO5KMO6E=_#NTk$_9mYg_Px(Vogl+Y-Lz`v7Zi~#Tje9g34$Pj7>EJJ?fX&1 z_*wPads{72le}&}rb8j*(9-V+$L4CSMx6F4az@>+Y#K2>t6f4Voy(8!i-D?cypn<& zD<%|Sq&Y%_4X*=%Khmqa*4}>-atDT6#WwV5Wt7lab%YZj5sJ!*j7qoQb(1_;MZ*S% z%BA9`3;coyZIHt5&Q~UO_DFrq={U<mJ?%aZcNg0g`Zl(Gz;oS2rVZJVh`Lpg1v0Ma zfKoYL{H8=Kk`@<bgh3eR&dapKZWN|2X6RUyLpUkSP6)@Q--Vjtph16AkQb?xdOB5k zZwKxHuDH725abH?gUq3TK)v#YPim>j%99fwKmcljV+VUzyHJLqD!5nSN(D8t5mYkl zZ1KHiN03^n-iCli?eHYhs~1!SEhJSEqzJ_9uECJ{$h`~DC9&YK+OtJ34?d^dGj{=t zJ>U1mz#A{Q%u2*RVC;W6=M7gqu>iiPjo1JjE8%A<rmnzhuU1UR4Nj4uX6qsd?NeKA zWNz?<OrTts5a63>yL#kp**wbj{f?4Y&Gm-U`;5{PlQE0fs;+1#YS@r9^TBVI!%1_6 z9TlJUm~wshI#Hr%yRB+KC~!rSeWl<q5Cr+}o10ivS1IypJ92-v|ETh63;v*l`EtVl zd5%xlUTbfanOaNK(tySrSF079M652UqC9>q<zwUb<~%KauOXf{DUaIyG-Ja$#9LeB z>LH2>&lXO$aMFS|syia+AxmKEXZ@8i%ZPrtfLG+S7f@20?z)ka{M+PZshphfa|5@o zNJ{AD-TgyjT~mM4b?#v*qZ_&tD4SN<G5H|EBAY_o2*Z@`LqNk$Lk>^XyB<M8IrUUw zu56P)l3ZNctR!h|f15jYimL)^6u@zW{o|OQ6SlCmsWQoXd@}?Js&W5(rySqVY_CH6 zH8S#93dTBpljCDd#Kk2oX1~WoZtPv!7`*_VyB%Bf?{9xW9)5E02`c2XQ$hv#-$zQ+ zB~7ogqENmHVabM>*Nn|;!}iC96&-MPKC&T7drTeYF0y&`v3V;lJh2c{Wa_<rA&NVn z^}MX->Pz?F%1HjXf1sc3n9`BHK6dcBidh$wD)94#X67~`nXTLoCL{q~EeEx#Q$!u^ zBWRSd(@%d?kjFaCvqt|biv}AP5-B`HeVz2DpwXtR3=ot;YTkp{`2#r%jKNW~-+pRs z;Dx>F@4w6cgzNnyJ?Bs9Ilran{z%UgZFBqBZ5{~)j9DW&2;w_eE5`55RVuc@_BGOF zvUW7Y+K-NUF6Sd%CH)=YFz#G-wQd13Fdj~ZukU}1#nakOb9{g<gbnnB1-W*O`#^5& zhHs)Rln4--_eOJJ`WrUgd9DPO`FV@6DE8KxSQ-3tFWy+CKJTfWaJVESP!4>dbBQ_5 zZgd=BKxia=0Yw?5rE5$HOy_p&tM?8J9bC3(PUxm;LOb_G3n0+J>md?1zEp>e0I*Mb z)uw;v@ZAX6oOMb{Y872@VTIfuIsH7JdIm6cP>9uucID<R)U>R49zqa7H+x&UQnul% zHW7?9`Pcp8PI0wT6M}#i3oTs&Noh3rH<!CadMZ`enm^zSOL5Zh>!3gMYkL38Q{@bs zju3XGT#N8NRa`$feC^}c10RwaKe5Be)2M&WM9S5aH^t}g#mVWr3k<0V8BV4Z{-rp% zp}T6*0Mb_{{6ldH;s2^kpGabYB$zi1>Ok%@JGpe_+`ii<1}|SO!D*^$Zou3~Z99=v zq+?p8I<Zo4oLyNq;|8AaUX<QOvM@lp)FrP67n$Sq=}pb*OGqG%8w2pl&ztjjso;NL zS!H<rMst2%D)^+|MFnSW=5|w@hd-*|r@&n5=j#CLS;m42uL?dLH5jWVG5J_AhOTEk zxb*!~8vkJ>aL)DPmrhZ4CLaF!=f3{L{<z;Lgrn*EN*Y>INZ0RBy)T0K%CXVfKVOP) z*u)-9Ozznm6a8$^^C>}kb1_9atJQzaui|5NlUi=vWnLrRAhpm_gxPJ;Xp%2<<Tn(Q z55K-wUR-&_&5EV?&H83@zB?VdXEu}Fj-TtwVc7`D#J^&a+-!3*PBS-i;egENu^euH zKj#|l^?pv@6z6p<gyhfL?dux$y*6YotipaS)r00aan(Pc^RCT7BX6g{IC6j0k9{K# zrd|uHkKL&2lb;U%zJLz7<n3{?$nVE9Kc3t5$Kt*=<bAtbY$h=^PMse(KfSl-4kt){ zy~E}X`*8<X+^=n#AKOWOd@lEn&KX<xx;~!1ems5O9`wue|FYoyy25vyKMSsZU+^o+ z-;Z{lY5%fcKc0U77p(U`*x-LZtoKx{zn$-|Pyau;-u-{idjFRN@c*0k_kUu&|MmF& zU$k9cJx5WwG2qoXj^}K(8cdOb<Y-ViAaW4bOh%0Osve@mupnTE!9DzmjGd}sP;wpv zGjdU7l0+HncGvkF4Cs$P`oTm&lItAq`Xa#9_G|IV2#qdITiXZpPyc^_9t80%CLeSH z8%P~ZVEgJf@D^F0>sPcz+}+BjyEUj#c^3(v{Q@Y1JFM6!jems23krCl;)Vcx%!UlJ zA@xGVT@C@;QLBTu;^+UI57_|pie~ph#`OakcR43<kumt9>*C^2p970!L0_=A^9~t* zc){owM!uS4xJzV}ifw-ug?nH^r+-WQbzFzlN%tNmf0aKFGDx;UBV<>BtK&Zs(3kmV zE2Rx*Z&=iXygpRfRt_F7wG=27P>`Rjk=7ks71N`#S&xi+Vg-@S;8Y07o`hH`MLGbq znw^CHCQ3&kg}KSTg2mNXN47lIWo7acOH{IXrHWH^5LY8Uq3M4pTSVbu$?5_Q?G$H} zA}~HG11haf#LBbU%SzceOP=P>dB#TAIo96674c6?Rhy&I9p0;CUUffSQaglJ^FBPR zu1YF!Iivu^#?hUrxK0xuCL<32z@DKD)>CdNZs%q(@v`RC1<pjnqcm+|)>^i#btc*4 z1Ht8;5NPF_auI)St19AJ;cq7HW~KvozZ93ybPaul3suG_N(TVYDk^3cC5gcelg?Hb ziHkIqSaZ6qV}1!~E8?t$?}}wi;1uoHZHh6@aB+I2_43GgCqmD~1r+&sxcjcukRvHF ze$Z_j+pyX6m5uD`xY#;tF-W>6u_F|nE!@Ww9<`?o6ghvwgX_{pdPHqtgCet%@ae~_ z{qc|II$34Wzf}bJMTafqTQOU)?P;ANnUpAsXk1>7@^s9S$}{FdOLDdaL;l>ZJME<$ znIz%5bG7JoWXaib`8?>X_X;J>9<ca6a#-J@jxMF!)3L7U@)Lu+_cmv;;vkH<mUuf( zyx;#^#Q1-9kM2m&6=>L+?JIVx5l|qI?LmeedBx6Jm6<4Z9AMh<-vu0PS7-^bs>9xe z@0A$yQE19C1>Q(kjF@@S=elM-IPkKtkW!*~3ffw>07%*8^h(-r6w!MB`IKVSpZ!%{ zjuoTE`lWZ(>!iP}>05y7dvJmaBI~bBorw3>TVj9C0D?N0U2Z-k<^Y?C7P=qfB;Q)p zdnxFdTvsU6*||F$Z;jfDKuK1dJ5-rGr~bufeF28CTzd(Rt)0!@uD8S%w;-Fn@6Gle zdxumuSD0@1_8I%xYjo_s)!{e0!F6tQ!Q|hMpco$XkA~>J)`^6cpm^4KcI$JY&MQbc zehGhyui)rskRi3EKb&~2w9k(+3@-P%{?m_Aza|L1{Jpf=j5O?*Tgzd7<`oMfTEU+c zBsl+Jw7!?rm5dM`Libq3?K;32C_$$(cHqfjIUq_y+cPSwSsX5!hE6pD3?&A~7Cztu zIs=A0K@*r%sZsEIrAnvod1gilMnl4e-AaF@_M1`ZFa2AQHZ_Id1c&!J^xC({ba+hJ z{Yr{+B4S`V=K>E<hv8Ds=oH}wrRytd3h%SCQpQh!0;>;0gW^?epR<c137QNQ3&v6r zE_9=qbI_tlkHlMn{m|06KJ|f)TS0%KyiiZZ{NO@hqkN~Sa;U%~zGmNS1*`fZnWlf@ zh;duq8NsDQod^Re7QE)|oDnb&m~S|q(#BxmL7Q#Fa|0N?)o1{>2tkC@YME>1cG?kP zPLU&AY2TwTZs@0ct|AVV2(H{tF+^E{ZjVx#gQT!R+I$PIK&Ot{Rc?>ses(=*4tzO^ z8Y97oTPEqDuC_#f02iB~9j-Q7z}SB&4E>=$f<UZT1Kg3gf@6)-^7&BW*cW*wW<J5P zw)h*2bn0<#@YHH{8lqu9ZRcv}816p>#6KoRS*M5IqqfWp`)2|Tj7X4q-{e4TB|&LU zTjk6;-%Pp8<mJSD`;Az{gXw(^>x99A1^dzgxk!gQj#)7`#zr5JB)wgXjVOO!Xmc8I z$sIv-An`7DWR0jMyBr4cQyuIiTsC#KS9T0Joz2*AhbvY(7VHUz7IBLb$c%<5a6*om z5V+lS`ox42wKVqTr)9kn=Ju&NR;B~t3SsVTSGRWc{L!wSPf^ZHS_k{SM7iQ=j*Rva z<@T|w`8gN-66F9&Ytg!*9OZwBttBcIn1ra`zX<yR|8eM7sT=vSs2?CPSE<23RC!(J z{0Oj2Ai0hS)s0q7Z?uYu)|N;?dn*UF*o2*oYAwqdjeVu`%@hG8xg?dB*45;(Ek#Hk zIUztx^`>IUTKC;pKP6r%>Jvtf#>*Wlf<R5qFs(X=R0*a14y8&cc|?E2=d+A@l;*L- zqpQF4UDxzPbSf3%Hk}!$Mlt?=D?mB{7b8FTRCb>jN}ERp6E;CbI}-LOYT!IDqRNTr zDUhsk74nn{%c_(`FbgF!8ltxF%J^?}zMBRu0|2AGO{hq88_*yqA-mNcP{O@#9I6GM z|3%n_6c2RPg26MFw5ETVP)}%hf<Kz}hB*lrXaf<1f_*#JRbhNGAL-Fx+oW(PKeVlW zI?=&*RSty~^&|<gfJTaNLV2L7`8bwa5u=F3>nGqE6i=s;6ScG}(}wHrDj2<;~g zr$i|EwuKlb5;~*g$@7FoZ42=M60IV&4_LQ)bo?vBflzcg@+yCw1=SSrGnWrMiIX-q z6{RgILt4jP)JXd;DpWf<xYA&&u#Eczk&jptt+Q05OMSHaqDFZME|0sk9*~I8K?Fjy zl*pXVlnK%utzQ=;oNzbS&*MhGr%&(88#Hme7QY0CZ$Kq%ho=F9!ZEt7=U2uq^YUD~ zZ~9Gt=LZ`(ti^u<yjP}XUfwuUY(npe;1^wvCksfrrcdZDFAzt;-pf?BCG|uEYgL1H zK%9EJciK7nG*DKZTVkN&+m=cc+6+2D=-X}?Hz&(l@e~0{b?SJJX-|Z?nGvgi&LWJ@ z6)F;M(4yCXIHh_NP<0FxEAvPY%i=EM_fiz_qZ7y)%g2A7)FBREU2$=FdLN?Eew)$- zQK9z7w8jX@IbBR0{`-c8^@fIdv|BQ-S^9#9`x73{tEZ!%{&kvh1gUb2hV9tXE1vBG zdaB;<?(5If`2!Ep`ODh)YUyuyXiJ9)+0y%M>3{57NS5B!a|;?R^{BGir4P4g%Dz{T zEzNv4a43IlP(t7u4XMJ75uF2uANVDtn9J)sc+}ej&Xpy@>1%kP-Ry~r(TAZC_=5x? zYtER2x4iBABng*kTBL(1J4C4a`0uSPp2JZ3OcGgfg07;6Ph@c=DLUOFi$}ftO&0&F z0!rJ9U_%W}QT>p_$DN3JU#V_RUF?U}SXcaXfHQwjbJy~3;^(P%Y8x`stVZwZtZ5^t zL?JoHewxdPV0KzYE0kC@RR229HJaAfNFIg1Rf7v`B{(90D>i9;L~D42B$7z6^*nWj z4v0J`#MBg!UKB@~P*kTVC0%JCgshrRatyvIimJ-G*pAW-RNpJL<tzzGr&EdYcXl0d zr6YepZCC(S@n|2c8ro_PZqoDWL8qrS#GoQY36d%o1$125LsBCTW?J&E<rQ*Q3+_zM zgI96dLva;;BO%dHh>+fRU;%>%)R1+Zi<K>=ynTMA-PQQN+Q~x^;b#B)fB$d)zyIU^ z{J;LU|0kZSwT~|yy;0Ve=ItpJ5EloG>sf!rZfyEbT3q|$qfhV3I^yY2$hW@NVT~^J z$^E5aeR5D6*5>G6?MlP=irX^fvLpSOu+QzPzYzBM+@jC6xq7D=%-S54V0_i_^>Qa$ z-mQfs@;oe}HC-#BNJoioH9|dkr5GEkwO*<f2loCPib?;SV1NRzXfm`CXkX0-eo}uH zN-76QH}lq{*gm^ZGwGxYa;|9fYu4u%mW_~iK&~m3eJcVBa7GAf(qi|yD)P1PC&HxA zxdDm_?D8~s19&i5jP8gU5yYH|Jo+SIoM)$FeBg%*9ZGK2rT)=M&a3owLv=fHG@$=> z9+9E}QWv3^esihZJ-xb&)R2Aatv7!x0_(%$FcW0)qRO$h0Oi%EsEE)^06SZMl_twd zI#FMELEc@49BdVpbv!yc{XEHnO1c+tqam*=0LV}&=z-Q8Zxa;liCq(8le~8lBV+;L zp~h#8nh^AN_7JYN={7nus}KQOn(!i(Cu-SMvb8u?D8A8SR!9Wz4TT!18ux#?#iHcu zsvv!nYAYtqN={mUuEB9Zzu*p1ppwc1#hl~P)Qs>kTCr>*iH_x6;i)hD9gq_>XR=x1 z*+&7q4uDFElEnd)db>opKr8(x*iZr|E}F<^j%k2qVE)z7Ga#7r5P%v*Cfe9uNzlVx zE0I!A_`%A2`WpXP&I!2&FRg!@l!Ia_kSDDBw)4;9mq6wZf0cLZAmMo{%T5xUlZ6cp z%xT0#F_N+$@y;3x6eJ8o@*yUA6o9Mm$0U*G^E91wuFk!-Q*;KSDnE>dokJ@n6-V62 zTUu&3V$j1rZm6jtsNTHiH?{s&gxPx_KC|RJicmQa&qwpX(T@CZN>_ijH<zZpMJuNh zu@j<k>Chm2*{=~vG&$vEHfU9;6C!Q?b3bJma+*@SdKD0<)U`Grj58cwS|Is15va)V zPA63YGWVfsr*NJp%`y)PBjET>Bkbor?Fp#oumGh?>3s9gt2p%r+;6gkwkig*rJNB6 z9@~fI(KZw-^u_qgck+KtZ^K<C=!<|ks5)9_M+&6;h?4eozq4!LS%(XVhD5M)6GS25 zXLXGPNdyff`^W*2lQN;ylhG!zQO*uwXWDBQXQ?%KFM;-1H8-8?AF|;g3O#qD?2e{I z+b(_mCl``#e|5|gvt~@YluCZKWYp{Q!C)`mmc7*l<XNuXRY`wdMIAPtG<~j->(hE% zU$Wy63f*!HV6I`Fh`*wg*~pO!JkF{*d(gtUz{Z2KkzR92o&a}8T)@Y#bO<5vs2O$T zXvJtm!2;CL4iLlpO4g)c^z0K23hHuHZnmz6CJS513ze1(BVk?t2BPfBh0BfYcqB8* zQ8CIuaAnbP9B6+t$VLlC)bR`Pp-oi_VPsyd+kftd1_W9L4ar+<9Lk#++;PtfDNO^H zI(ovU61Y+FkO{!?6%UD(sW4QGzlj`FA$|4>>(9;|4yef|(%T4W2h1o~5>ZjaE}e@# zc*;pIWUewIH{#Er@kXQvRwN0_Dphyuf#&IVR|K?TueN_mfbxMWHkn%vG=th*42aiW zpmm%jtI^@PqIf|**t9gU4JKKz^L?EMulT68l$stY>QG+J>?*nwUC&q1v4y(TrRi{w z{~|=_CEJ!MBMrGS9}yM=ctV1;)eAAzQG-Q;*~Nb`D`;qTgHi-^m@FG11yO&2pFTQH zq}{NT0!n{l-2g5H>TnHPHa0CK7@(C<)(_Y~E$hpjnAt}oXr*PoD)EfCS=-^g*<rI| zeL|*DD`P%0xJDr3<`+IlN$;{hSaI%TMSwINCoo^#)5-_}FSWsmzq_{!>!p}1>f1rd z#0E)gr{l@>*ejB{e6h+7j(FSDU{Q@#Y*4nJmwbOrn3yvTl=G;N;`pmUI@~%P(gtyJ zej(sV0*Ci$%~h9Mw@<XO&R~_M&2>3KzBOge;WJ6FLOt-2N(;KeYq*Ho!IPKu=iD5T zB6931hOaR<ulOgWDF`&;Eg_>GsZddAX6K45R4r-}Uj>`<qkcYHcI8d8*?J3NDXCD# z6*7NuKr0!Cv`L{`?Q7lDUi);#*3PLra#s7;?H<S)Pby+6y!$-MTtkQ>qQA+7Yt*8v zV^>{=L~V~{b<{#k2ijg`6e_avL=M%iKzX3Ml_wOVBH(6p1(iZq>Xgb&E3^y`PQj@s zRrV98+D(_UYZI=i4}+|xiW*74i&tOPcGrKm@w3ZRXUZU$)W?w;5h%ezlbBF@D%T%b zBSIE9bnOB{e6WGq7TlQ_qWaif;>TQtyu>dyZBD;dhP79+o{Xv7X1Xf3CBAdF4{YO@ zys3h74sa$?<GJazkB#_BedjUQeR{8JYj`scszaYkUnvfnbzMPo<vUJw*m@>D4i|qB z{tpVHngm+6;CC-)?7j8KYI&Q90i|HDj!%JMuLw#)h@MoZgd%&-djiZ|izuw_s%-|7 zO0O{y0}<3)vQwSTiq)42-PN;aWp6aSAp=8*9;FA)BL~T)0S`(4e|ol7>vB27Tt2 zJ9}792%|R0Bx<fSt)VFf<MQhHmHdAK*i)O(-LLy?)y0?)ubUK;b|CdIoFl~A9BDj3 zOdUiXcHD}#&&_3HVYNs=Y0i5`Towid0mEqOG|e0<FX6ccfMQF9z44F&f_hetnt-0( z&S0-j`N5H6Sy6kMY+7X(F84{u?Yi6ZV3xs(P@a|01c6g39PDXH4wMFntsH-Et8MKt z;30j}=?J}-c{Ue<5S2#s8y|4(Waab`v5xvLAFNCaSQ0^tVr05xc*lS?H^UyYbDv4( z3D?f+VGdMSZBq|1IvRjbGcK%x?&Oo0D1kNxS0)!6=7W%ucmhk<pNxFP_#v56l#B{` zsFRr%QY<Phu<s@b)4Y}p`XYa;soPG=yZDnzs}96%Vx?Dt8(6+7*5UA1y?~e3n@wj_ zTp>t>rYv{k{;vd=YDN5(6s4UBN{G9S#^{w}rBHJj(F*F~v`C_=l~yXbU!E+c8RE;0 zBbezb!I}fN2U#wX(o)|+w71c=`%0<E4nz$s)7Sex2TlBf{_EDiy__Qk9Mn!q2x4r% zYt?;bAd?yLeK@&2+vY8HZ7(#XD)kcrNywLwx&twP>m-Q7101&`5GVk`t{m)DG+;8~ z;ZU&R4SwpSk||!CMo=DL8h_n<--mTC_N;Lj8A`{9%CVCxAxDW?i3{zoWURUNs|{|P zI2CZp-Ywmw9HD1vHRofJ?!$5<#0eDD>gKs^Qp_G6FBzEvzMn^9MfM!MCo4+v^ANk) zwBYl9fE;*uE$w(WG@O_Q9F{h!^93oI+&ox)g52`#eVynP%%AXk)mWAO3IAPZ5H<vN zZdGkBKTL~q){e;46PTmL6A87FSTk9;NRI)#x?)sSIC0r*1$Pi%9O7{pp!53SBx=p| zE+8c1ykk8=Prq7@So8Gs2vqf&Ec7mgqeVM^gPy531r49Or%>(%l&4rJUvPaLG(H#7 zP+Ip!Zl|PH-6Vuo_SKkqJ~GH~N+S*$?+YzQ%-!Khq~mqHS(4H;ijv+V%|%W?ecaoq zM9+~@r4eTXj&ftm7)LqAJ|v>M1-I-D%=Xsw)y^rsW7M{XoV;ufFu=&WOpa&J^v%?N z(NwXG(&Qq0V>5)`R@{_S%Zlc!Xq`-%jWI+}9(=Gut#Rfv5<$*A9bcuVs7zk*+Af@H zKtvlfzlkf7<ncB46qSMV7d?e<H1lOvkrCyt<UOUv&^Uw~|11pu;#vxeLb>X|Q{UFh z>tH<|nCDu{e_zcdVRvIOZi|f?sjPf|N%t7L@C;KoSKJqNic8+NbPfa!mEwz&SkB!5 zkC5yPmt$%3j9j!4rg6$M>F2Gc<ppwV%ZSEa<#?RzR|2vScf{lD8^ZGRrPQ3js<u!~ zdy;@>VZ3TYsg1r}X3d44lo=G3i3Ofz*g^Y#&5}~{OUmq4YexuTlzBXLY7|0$td~8R z^$_cnOz|NH`OZe)51W>q(|wlk4ER*%i6E#3P72c=o5msCLoBpOUcIS1qw#i{0bYVe z0eVQ-0~BGlAWcf%faq1E4(jGndC0J{RafXz`lZ}uTJVI0&CG8_i5LN0nXe}v0Jz!J zQ+p;#gB^g)-BM5A5^k1i;Rf}83dzbrOvaYr;0Q7PIPDaqUZD*;zV1W13+m@V$*BOT zD^G0Tqh0pc<D1cFz)||{{mVvIRMgJAIjS<;*CX^R3H}C<h$%8)S@%^euR4MzD;8G2 zLsOL&*hPeHk|<MgN{2>D5P9h}7QE}sEAiHjy>51<>z(wh;&Jv=_GTh~q@K1>{aykK zsymmBMa6h7RgmHk&)|SZDg_KCbIVol-xhqDtUMq@N8seLg5U^C(jawX?x8g5#B(f_ zQs4<0h=r9A$t@%4VmI{8i^QZ+Y(pH#wpHHq>iBM*v!-=3$ZNEb0d0ZdCW<%F`xINo zQDBS^>QqZx2?9hjYAi{Aw;_}jv?2d6;DiFLgO9{eu|Or!%046KXU@{xiY`>q_d7zN zQdo)w5*xxQ{<65y+>?5pt`<`4E8^m-QfXUPH2=*ebrOGv%4*mHb5xERJPtxZkuIfR zYMtUp?|sYqi!ZUVFZ={BA4npE-3(nm+^bwq3T~VcYE556CQJ{1hNf$uL}_)v^sJVt zSVX~;8^F{Xd>qSK(O!X5za3=OJf??8!Q+|EN&q7_f)c$IA<`_kH6qBfB^1Jl%9y3c zK8h>BgcaMRMb%L_i_3ImZYTfOt(xIlm!*VTysKt^S50q4pQcxz+o{VdP0ppLuwGm& z6}KDH?=L2e(s})V4YFVuDE=$V!J{PKpg-}!pHYQOPm~ORb44A#;%bn^US*defI%Gb zyo|HH?OxQ0EqTrtlUTo#c#i<)15ODf(08-gF|A6>O~7y}zQ-~>h6}%VZC~wx<RgpF zgpebF6n;<m-xW?O{<*r<CDHTx$O5T=G2oE|caN1TYli86?UP8OS#ni}7eDR5<5gli zPXJs8TL(Em9Dm*~&ATLi!Q$skzTSi^ufy|UnQz&!ZJ&Gd+yuM8JdE^nm%w6e&lHcN z!HcF4MkCoT1jE(8x42+fZg72UaKu=9aMw%x>S!j<2CMC6gNY1%gdaOB<S#|h_YRAe z-#fgo9X7mwT&PD`=AQq0_WNI6_jvx9{k|VB+0Uje?tSeeT-p9a&wjBXqoD}RG`MAb zfuz_sd!a#QnXOb=l5M=|DicCxd*^s`pv3^#@ew^iz<>h`K#oa2K_8Rv()^KdTy*R9 z<FDND3z~c*->N9t==As!oXdw|mg{ILr<K0op7VHrWOzDHD}{~SSP((IVB_mmc`y8J zblTO_JO8DV&_%Dn1*Ez#BTju{5-_O?oK+C~cNNW<MEt7s_w<S%5IkM)f#9`QhEND_ ziS+}3r*67W{mbvVGN)2+MV0_RFdSBqcOU#vpZEcRtAF4Jl|+)Gv>GFNJ5&|Y`*1Nu z5Rh<xFzPrsG~*yoCTJ@#wLAVyYRnz;L12>123<;wm7>RpE@j5(YRGz)z}2=DLYzQU zOBW>MxnD{QUy0m(Vz_+fuUleaL84N2NTKnM$5bg3IjK$9pz`0&h5HfB2%ST`K-1TP z>g0uRAzVT&S}!D-Hks^+x53v4LnjsMuK87e7NH_t;Tc^|U-5?JD}kO8XK&dQ0u&@@ zBM<`-%8b!jpHkeA(dcv#56zouBv400h4c5Wd#vKzP}PJ$kq5JRrwl2*4AjYD(-+34 zLT%JpD>BMi-N7@0+p?*W5Ty#;P%#}q%(7~nCfJ-tMM#>u!wq9Af}xT1HpX4`NQ*yz z--@cm^G}@gL4de(*{FFU)lt-5Kh2F2&>#fdbhhmBrxGh?2VL6;87<8!OLLnIZGdiL zMeTAVVC6lt84Od`hxb-^#OX_FF_qSt`m~$|=WP=}^HPFKtIuSx*+dapG4Q68v_g(` zX4U;@3JqI=F^5$`6^SAr0}*yFoo%Ck%&;wyDo7idQQpnAZv+lI$fh!x_hm`keEG;* zSF0%_$&Rgjru9%37<Bx)?x15YGgr)#2oG}>t-!(79&kY3ZQ$XU;OEroX3y9P+r9`Q z?1d8W0QQgR1u0!0wVX_-7$u+}mAPGkXDTWePN$J6mhz8X7E$tPIb3M<RPgW@v@=2! zRVm}9$HZ)wO;Z`fhOOL1N@OvY%)<jJf84qAFyj5-QmCI#5<RIXqKMo9Z_1bbI!+2% z9~2ILQt|%hyRn(LaKxD<uoVDRv!Y)3FXCOWRXfjq;UTKh){W<Ac^WdMECwFA?u1=9 zqgZrAWsDAMMk8|6Z<FF}^DQh78jhGp%bF@l*&lr#;Gr@b%4A=SQq}Y9iNcMAe;NeC z0=I?R#IfHO`tFsEZO{w+7C<X6+plan?5U3dSVdi-m?P)3k8}}%f@Fz;U*4fDrE}n{ z2F+IrT|mfA)1%+igdvW}w?4jPNKO?^N(`n5bz9S}v!A+p6<I|3Ro9@}esoef9n2Jw zk?<%rB}iqdn9;;~Q|}-5=F^E3e|sXAcAg%7$UO69n*}mzFOOnlwIHf50w($Z;FV@E zmc}Y68WbA=U4=MA09>kFVWVH8hKJN{xuJF&%?CLK8soq0wKOoy&qEgw1W*kM3=#uD zL<BCEfCku+DNrfkj>dG=(?!ZmmW&8He3}D~P8kz`j^tZtC}IOFNHchHf7|3knCpVa ztJl==n9JMZk4PEM`m~i_=&>AT5wOQItN1}F2XsX;nd@^YDp3*oH?Hm;tX?4_`X3zH z`g1@GSijTWFGQJKU=XChYn>Po8!SiEmw<WJCs=*whuk13)157)EWlG*1l*7CKzSg9 zQXo02?TEk|{#I}Z;DP+rf3!=3v>i0Q=421X2oBB$on7*V!rGQHs8MKArEQFfSU!xk zi`%Yt?}N#FF5VfCXUZkqY)FY@b!C9LYjw3T;tTw6Nq1ZrcZAYvDa@e4sYm6(TD1p8 zvZ*HS?dTsSPg`~_N$%T$<Q`2MieAB}4^&2!OfG9dO)3R?fnrC;f2r*#jU(`og`$2b zwkHFv+LsZxZV^(0r4v+Q@^*M=UgQh{HOkw%=%@ng)F~LtSLdlkzYk}m<eBxhjVLys ze^iLAQn#JTmRwTN64H*1d9uM15s+t}guRlwm9+c1OD5PeZnaWf#YYw5(o9(kXW(66 z-QFzoXeKtmX1pc6f4f3aIkszYCkrF!$TlFywjkSAN284vJQg?+L<Jz0Ko!kO8d%=p z?3qgTL<Sr=z=|I_SfD0|{lqEFp|x3@o=_5jQBFGBcs~BPwAwOQ2H%Lk2>fYD#T8jL z0NIF!%XO&bEmG*94=d=)aIs*>iuikSTO7Mw8p(j##O8+8e-J1YsyX&=nPhY(3Q7m4 zPMGwi=am14qfwjX5tXt&lYs-0mA#<h7}{35y32{wl4m=qYKPx(?{<{jD$;>X_R!w; zzEC0Gc01dkSr{26I-F;WtWPjm%Tqp9>F-J()Vrwgcf$e))J3V)!cKOyZ?PQj%r!`O z_!!b`eeR%mf2m(_r#<nU0Hc@!&RS!O`J9gQ&V~HvTVV|-0pz!>%$tKqDl7TtX2Nk~ zrFpG`E!6zEVT2(%iB*)7aAKCe<3y<M)8Pe$Q~&e5(c5GHhrkvR`7Rw~eYV{1qn4H< zI`Q$8a@G<WFpvT^z7f<}v+wWX!s@>1$n%~e{P;Y1e<zs(z_csR74q&SqK%Cm;n(UZ zop<ZFkGpwilo{{98*>DHZ~}9G6KFh0-v8q~*L`D?vmqR%DUqA`q-;nKyJe(Vao!JQ zvb^o=L<HWPh7K6(I49@l>pt}#lD;{-Ht9QiYz@&@^(AZqv;q;JA&jBlSN)+%*l_F= zErvESe<6NpK-^IOn0S^VCY<HMqH12yc6P2FJMnTjMjg};f_bdp6O}P?uIy>k&^Aq* zb*=+)?d%eXX%jNl&R<ZGanORbNt19lPd7^#XMa!kj1m&fJC2@@a*}ol0<%=cFCQOh zjpMbd-Yb6{IVk=x`zpYt#MeYF(5Z;sN=Ci>e?wu1W`PW1#Fit?ySCl!)95f2lBvE7 z!nW;Iy2vlT#v@-wo8)pkcLL-#0vOLAaO?zrRlu2vi+V*6ZeF(kSc)LWc<#EvfdUg( zaYfYY3`3Nci(}Q$xK#JIq@NnsVX+Q>RGKw>Rw7Y$Cefv6zB8jVPyk2ZNJfy?9d`mh ze+7C-1IONxh5`g@1<vdE7;ROGS9()TA74c)sEQ#O4d?9HstTbD@DwXygMOL8<kf~J zvg<*0dGo2YKurlnTE=JIJD?-IYF(QO69D^f1f!Dg-Q3)k$HgOW#7&+VaHvTX4vJKR z9I2-gj0|Scm{EX>-%0GF1x-p8B_lwbe;$x|r9}V%iBb|$**22S-UB)qRQ5dv2EUD% zEA=7>S6vX<m6EpU5GP|(j)iV!^I^U!Un+AWqOA<j63>?_LYF6%{Nn8z=gcp7xqz{R zssZ?@AJ)3NJjpefLc?Rc4WyapKr>Th6V>2%S)_cx5tN1nrh+<Eqslv>aKKAqf0d$z za8DPID^EwC+<;q-up<|q^o%4xXKtM#?n@9PLlv>rYj9UQwA-HrD=I|sA}%vK=<tNF z?&;dr?mKkp`5jhe7g!*Iv8Q4mx%Hph&ngu5K9Gh})TNy;%kigXn6LTJVNPli*=)mH z%2t`lQqi%>zz`Is;1v<c9!;0jfA97uQSbZe)2kWVxUp+?m%2#Yp;cbAi)>T?O(gbL z8oe7AM0FGzB2&S>$4-pml9bHd!lSK%k&PdzX|5>YUHV$q+3LEA<f+w4cqMKF7q<fy z*N73LZ7SWWM1t3da}k^KNXrjUIVRx=Q@I{c<L0MqLDG5Bv8ym*fqe)sf4I%-mML{> zL9WGtI}dM|w-&@%)z=9>Z+Dg8!6-pJA?^KssYa_tseDIyrn=9SqI@iB_wG&2Gyn}c z$HCGTZR!rE8WZugT8pZp>XvXBDB;=fI3|Z-Cq$<_g%&3r*fCJGGYL7@%HTWpP^A|c zCCDBnX;oquPLwnKg3TdCf3)f|kh92nG);h)9aP?aLUK&v8Xct47(HkNsKz#jG&*pa zUlR&qonY;4CmZLIXrLD++~f~Kk{=;@{P9C8063?c+~L^FL(s79;O39H*rE=g3qDhu zs@?+R6{Q4>xrCrHOw6aR1GP6iYwpbE=Wd~U8q?IB4Yuo~=~%kNU%UP*u!>$MrK)(9 zPj*sPEYq0)Xaw^~GhT<%Cle>01FFiC(v3(ST%e;QaMbCj4x$TKEq9NDoiIjDu2Kvm z$$D<Ku3=nZT{{;YZ_29{p53~Ym2^cW1c*ux_cB&Cmqg72H-CG?(~;`ApzsOKT@`!7 zNb5%I%G^$5N<%_Mj$j)xod@Hh_xbCldCSe+?NRaqaNaCmdC`;Q>51Zf>ukrMxi_e1 zG&?IQc`!|y0rW~MdS&?dLZL$y*?U8l3JdwQj6`3k42jLhD$Mb^%P5s!VpdK{YjShw zA^r~kx4$VckAJDHN#0+(re8D9u0`betc|&9yUMj>|4UQtAJwt$$yy*@)p6as2?3n| zKfU#LeH5YcxUVCukNS9F;71opRTwqZu?2eQe`qDyuHbUx2^j%2HZC-0Y}NfG)`(}r z4ISl=-DKyxn}`TEV)VoHSCT{u{PG%r`sgRCy<U0EMSu3o4J)h52qDsI-5NyWu?U4A z#$niN2id47Ks>3)a6>UTOn0f(YVYe9u1ZC@LWr7>S-9wLpI1hNTro)DYSNmZ57t^6 zw-oRek#G6xwHff@D==nPPLzDDy28Dpt%=_<;x%4Vir;(F>X%K^OV3Dz48@n&^M40Y zytc0Q8Gp%+!1uXzo~jJ~rK3$23t)5WK4i2}M*FdKY6eiBsAFaLpQx_A#a9bnC^#6X zA&9r`b=iMR86bTH!ykoF<Vk3uNBH#f+;bksLavDtzZuXOB{zl_G88WtYkNb+gq*+F ztJH~k5U(Z!SL_{Jib_)xe0qn7j74ARqLF?2&VPY+@2LE0ooNHr?^djvAwpDVRI_WP zoCpX4sjMtRN00KRj`7(CL?pk1<lUzqJRteiLYZz%3*AXsyKP`x25{pCOs?-1npsy9 zY1Ep+iOwUfSp*X;L=7JGEF{ntJ!QfnR^BSqrW!MvEL^6ZIe5`D8alm!tmuq7xtcW% z*nflAmN*h*N(QYO*@m?$4*{lz`WQGVkQ<rrZiXbw9|ePL8XQ<q^q<V?$o)0m+@#cu zb`WhNc<rsa%sQ}PJX^0+kb>AglM_N3@)eaJJUB9rkujBZ%scEqh~YS@Uuoz4g#9=A z!D#<(=>d;ig3XnV-ajGGj-d=kc!z%9o_~HJ&>sk5;NyI@^u&JJVa6W5DI&c&@NwtH zezwdguvl^&qLaSwLDbnzMf4H88;8ohtw_-77SZ_bhPMi(MDd{X)8`=NtA&HQKI*s+ z3Xdy+s&#%E<qCwgqKyIcchT=*9mwFrn^&B!IZ>uVWBxf<u2_1vmoh4z?DbWO5r0jB za#9XdjZqFQFVR8pBcfIBs$W8QBC?*Q?S)f>m114I`QPS13-<4<EX@HW4}#G*_*ZR| z5V7I}X-{3|vA()t5={1kQ6yvH4AixmAa_{XEg7_{6a9#paY@vJS_P3ZThBJfPB;(A z(_FE^OB?9B)>>Q=dWROwszW~NYJZ_c>?rb^AgXq#veX~-r`0Q>?XM8Un7D0EQ)5{` zM+QT%yy)XxN^GnP{lq1SrwmRnZ?i||<gkc=a{W88S}2hgyGXUIGEEM&V{hP>R<Bo1 zSgrk4TeP5!eCjpCcmPL0xW6ZFVx0&tEu2;kzQm8vVWMhk0uR>T-jew!=ZeHTcf@~Y zR7onbD?9LNAligAv7abef*f&4>Rsva$dhs$(qYlqYD@(O!q$aD6!7J|NVmvJR+Lup zKoOzZ_065RngiEBIJ6MXNC*H$3nGF=x7Y*3?1_povo6)O!@HYQ;*%R#91~%A^v{9y z3p8GvT)b$&i~fEISveapS9Urag!X?!X(E8(EtJ{Y5eYWYT+VQT&l{|*tpI5{TJu5N zD46(JIx#o+;g=_Spb8?9h6a@PX3IBI->?!k?pAnlSPJH>voX=QjO7s$f(pQ)?zYay zh<Wl3mAp8H3s(6$Tfn>2Q8QNcrA;w=MBu$Nea(?O2~>j5x-OO$pR&&w-B^DKb&b#t zne+&(W(R%|@vXo_4owE5*w}MA<>Pe-5#mXs>9dxO(_3l)i*HvJ71e1hvKuiRTB*8G z69<<>$#-rmQFh2s##DGkJtw_?WZ{!Ty|WdF7i|mEwCb03fJ{HJXdeQMcJ*in6QpY= ziicG9;3(b%G+D}6*Ww3<3BZ30uXbm2ADy2V^mmYdIwEo|m5gQ__H|JO&&(#%Xzr^8 zZiaX-Vt)*OFPM8F5Z5b7$k;LEqjD%qg(DPwBq$V~U7`muPFlP2IqgH_uy#qdb2asB z-kV}f5Qy}oD3q?*Kola9wrXP2S*a-K0Q0)Ig3)pHbeHr_rKeI}uv>p!bf`C2n`tmQ z`N_v?drL1KJF8?G5xVOdJ&w<n^8>J%Qtdfa`k?enk||nqmCX;$cCEZqzJh38e-v=) zStg9-L+}Pe{=(Mno>w&Z!C1UF@qnU1ZmDato~+7+?gwFZ`s^A&npd5c<)EJk?8Q6z z`WBfuQ!KeI&KJ7d?-YM^R)v7%Eee4SS0p!}kmv!Px93H^P`Xssy}AUA1LQ_sd$<D# zfiQomurF~fU&l8%ol9y`5ik&w{721|b-9L;mjj(H#7x7Wf(w`E=j4x_OibkdQermc zfTSNaK!^y@ABC1f0>xIul1VZmZ{oZ}a#ew<d1O<*qKuNclc;~Nn6!AR>y|^?LPtfh zf|Jw3lmc@@C3Z}8;8HX_S=;mP=Vqa!p=WIqmKYTzyv1P|q}(fpoZF;a2hVCH-;Syr z4G57=JgzF0^>S4Cv;cA8@j$8yB^%Qt=)9s(w;jD71=-mGpP1e-x0tdA@a5IL&qWN; zCH&WjiQ`Bj*(86u!gy(nz>f+#{`o74P`!jua^n`)e!q2At7=fD6oBX$p&%b+?578& zI&-y8RQ4?Adqm)6>WoT&G)M(VhD9J#bA-abXrI67KfZ-moR>(F`Co)I4y0pZ^~Gs? z75h`Nu$qnMeMTtD!SvK`&S*9QYw3-3ShD(^tp**E=OBMbsOv3>62D-0tZV`X8jYM` zDU!s=oq4_mwmI>m^}ULnYurQMqC=@Kz5f+V5}*|&v!uElYO7powr*W~)uU8W>d`*4 z2i(~Al&uO5eVxEqUzZH(yE3Uw1^G3gcyrFJhC44G(NYF5Oqy{@QQeKZ+sEN8CcyqN z^1>P~o@jsA`p1e6egZ(<OyvD#rP0duze9E^&QHj05!&DVM*3Z7E7n=4Ri(GE*Jp#r ze)zc#0QHA=W=nG&TJ87e`)xZuK%?`ZIpI|G=-gkXV|Fa2MmexZRc=)kVwpp(=qrTR zSnIvcfP@izt*k=1Ioj?hMv~`!NnJQ{tAn8xaMpjR?bb-8?usCKj{8JJ_x0C`B^Cpe zf;_hMT*1)kDsf;>od`1&v6_hXHMtfZqNG#^3v@RfjZ#6TO*)Tv%D3W(5-@BUaJ_SZ z1K&T`{NfXf6CxS9h!j1pomv!Zhy8IpHt5<C6j4oeoIg@<YZ5ebWr~UHx6C5c1wh+k z;s->bdr0e`k9r>+XqxwTQGyiiQ8+~krrQ;fr4)E9`<XzIXChD`+KejEwV#v9KSl=* zigkbIBbB3)%qx{cZq7=u3(iWHu-5|`e+#`bl|tD&l|d1!NI?6HDrW>)8rO^(B`X<7 zhc>8Y+eKSSl%X}c`&<C}0PS<tN{VoM(H{}H_Xb%Mk=_c};yOgPB*|VhP;uF7EIh<> zMpj7o2W@T4iME)ArD9e845ja$P>G{{_k?GhB7syNJ;7odon}i?bibgn7b4pYf2Oa# zP+xuFGJ)^D5QX)tFM#*EpS}=CV-<hU{y)cU-c|~j8%^e2cOLo$ks{u0aKI?3C`k^u zk)l{ha?i3$p?M<Bm9huCOi7BM+<jF=5H#JXc5jFRV@f{-(dvjCQ_7kyE2E2;vnQ&g zI`%pBbi?jZ=|#L!AZ4+*f!<BXf2Le;;F)1pB?8`jGG9T62>c0vMLp`gTz+5T!Cn>h zNO;?+Cl9o>$3f9o0C(K8H40R;P>VyKS`Sr36Jo-$O42J5BD}0!B-mS7x-<viUs6LO zP5%Gt?#9Gey^RQ>pas8I@ntNb%ZQo2&{0sWUd2Wd^r#vVA`9zC<0+^Lf5Sjz-D_bE z@MRR<+UWxvk9w@Tj%~stPYO=kkXrK7xj7e@(CD0$vX6zQEad^TWHvsMvsN;7;KkGv zvy}`~_3w-2?hQ_$i~&#PD(2wiS&h^B=`Mml_FxRbm147{@IIkKR>wnG`E5mPH^okv zCTT5MLqBehw>$OMz7}XTQu)}FR$AHXi)1VAx=!n;4mX3yAOl%N(wxv)Yl7iR747Kw znNO-@Nv-ItqXn%qUrn)PL2Yn~r&Vr{T0@&9tsxS~<|oXZ=y)`rs~~Z4KsT0`8QKFK z1@=N4k_(qR+5;gWTO#u_`-d~>YC$n}8f~Z+&{QfO<Z~oF6)z?F4PAFWUzdH_0~vq8 z_X~B-3w2h8FFy$6d=N;Drhf+tl`2ubH^a+&dIJTZPH@1RJ^~aDg3rG3kT%6Mq!F{0 z{oW=!*2aC_a(7dIVrgv(qvE4dAqq;R?^uw+Rl06<t&D_REwvtzLs6zB(a{vG!raoK zs)`<uL~8;I_zUntwI&V^{-u_Um5_hOZ3My;(MdZImR=lEB2snK2R2-ttCbj^eV<U` zaTdi<1;NQ=wr4!GjZHPo;(+{RBKL~~tEIZt=vUNM5g_yL^ED)QGa|AC$tcvT+m`<W z{~2&nh#R0KAt40b$EQ=k<BxLjD=U<u45TJ4y<&_DgijVZ_MHWGWx!}6!(j`Ltx8+Z z<wIqu<LZ~6+XEYauWtAk>3F|i4d8G9lD!N2lX5(NQ;yrfdz9lf=G6+Im^6?-D#s_N z+_J34t)jb~6pqVBv-xGK<j`!DG$vSCd9VdW?XjK*HA6aO82|?ftJL<7z0$t47{RVR z$m?3>MAx#r7JFpMQ7!rx+tRAzu@$YxhBc|Yoj*HYXIf;JIoty+f7X2!150T~N@l`F zWaXBitw-AuE)o>c<+#={NJ(ozlk&qP(*0vT{)K3ka(0&JWm9+>5{7=K<Ul!Do#GXA z^Q?hL@gT3>ua8vu_Fe<i!3M|rERBz?NoAxV886GA2t={*E3WmY7KrD8uvYQ<w=M6~ z!gW%HI+lln4T#Zbf6>LaKs0GZXcso@-~X#rZy&6DPnM0iBR>ZA2tLt^r=Gr@g@*>; ztW!pP(j+QYiRn7yPu&-RqC1q@El3?89kGf2X!lC5L^-g@SoMcioC+n@Z<h)vZnwD| z*;p694wtB@?zL1_e7-gvRl$-=5(<fA6Wlo|n6>YkjF+w~e+f-eo<J_BtAWg&m>N~- z;0><z!=2mQ8;E^Mhoz}+p0KX47Cq3cb)yJOm}zq4`dlDOHlsH(BkEk3Y)~bI;B>xl z^#w<;RwMOZ54Fn+r`g5PaEI^yJ;X2QuSO&%msStEdNoPqn{<KK`&(qJ%SGKmwe&|~ zRBTZy`V(pBe-~*;SCCA-ji<i6A@(=U&M(H(bvwW*5zhBv4gr&Mt*6c>gv~vbhdI1S zMC6ElQHXi|oEP8ifS$l(<qDA6MtKi4-ROe%T$3!;PhwsdbYq=Bf=dzM>h@#4&BTyu zjRC!mwWHm4Xxr4mj#}MH9dgcAFR-JTJ`eU0LdWhwe-7wGwC9!l-YY}kuyUjoHzwZ8 zMEu=L1h}{gXNd^Z55jU0(F!|y{3urO?6Eh|XiC2~Ox_YoY5?Xi&MZk)DQY{uJ)4OW zkj-Z9_zra%ik3(Psm4{Na@ZQz;nx$qHVKZA(BxklRhLndkbOPv^VlzeDL~RrhAORS z7ex(Pe;ghrA^_P@ba+EXvWjCt{8XJP6*@J>da6yw145{#!=v{xQy0g<SJg!6aIhd? z^904nhK5q&e1I=4;~Gbex^AUi*_1q;at_8><FZtPqmIR`%tz^T>P^SuaT1^%@;W7o zm*r|^(-pJ{g!Uy-Pnjdh%6Q2WOdfY5wRVu+e=XW<C_o;Y*iz;i1@iii<M-Dnrq0|N z-C8|)wFFjxG(gp4OmUyBL-`R9N+GQUd`Ng$SI%!Cyj!Sm)u1nmiBwX7l%z$6J5ySH zAQbVE)Daz)UCj*1?ZDpSji@1Z^qx)0MzRt&EuuTj5rm^6wfZxgm%|jZgy_mb*wJpW ze<NIv;31;tVIq~R+z14txCDg|SsY-g(hFBwrJV&@V_g{`prRAd^y%x{ouiHL>PdUq znc9)v$CpQ?L`YRMx|G0iI!z1@M>nm)Kjl2ObR0HKE73#=+xI@GeDe0wMws3RcbgCn zBa_))>Q`P$<=Y--fuOU&pyE^)!(nYMe`YrzMZj9_YKId;Ky5Aog2I!Hn#~#ED>b}K zH0dh!42I^Z<+3G-LbDIT2$jbQ62jIzA`^e8Qh-tm=nsvC&&ydm0#smo#Z;vLwKDYl zBJ$7@p*5rDLAJZ0S2fV$i5L174k*-L3I=8JDhF=`BVy0KX0{;0jZW`1t6y|fe|^+< z62m7y3z$cAiVyJ;okqN#_Y$J`%Ew!lRUWrn^h`;`@%VJ+!CR9}t+~$pOKCU1?dW!_ z*~gdvgVO$j%-Qpc06!sf!24zup))G#9d%eeqKo$nPM7IQQ+osE{+8PNQ)+)he78)^ zO8xs|%hoNsiv>by{wVT1oAwMde~eu`Ov4J$_3Nh14|`%J04{ST(2QUA3`kTq+>ngd z9K+6E_bm1VDX<>xpLYz0z2&*V?5j|<6#x-j4GnLA^A#PGiaYeR#lI)7PQg$XQCC2y z0_p-u+xOK{zVz-LapeT<xyS&Y$vfHMLg9W@u(G;?Po&XW*n&F|kgwsWf72}RJW}jh z08Vv1X@4-$KF?8UwlcG}JJ;ySKsIBTSnP^hNG!;U4^8<}$150|ayTL)$BBUEQqk53 z6*vf<)dgLdSYnMTi?-a}BURPtj!diOjwsbBY3Ctj@*As2-H0~|uNb<tFM|;|#fC3x z*_3gf%%cW@nHL9GRy6IWfAes?S0)XwZ%7sp$_OiivkhszFz<*KXw00bj{u?OciAX# zt44V^Q53W+K_y2g;+<u#b&ffKz{Lmqb>w<c<U||ohicK4HH!C{CCpWFG4CPmD5n#c zrXYgkipWc}OjMIqeV3L;@<zed6X)JErU_4fWU90EAiudXm!g!ff23T?nP3H5O&>|q zOZ><wOkY?hxZ&neY&ve?d9W)b!X8=@&v=$1JsU(v*r?@fe(Pw7e@K{>>?ph(tkHQx z@^xi30RiR%SSG>(*-yb<14Fn691gA9sIfd2DXs=AP#T-FExI}c;2S8|>b`pn?XrG~ zYErB%KYpP5HoKsde~^){-*wFlk{k{+UrWApSH1CMVN9LQ^U#n;x^fN&LYF9`9xM5i zt`Z{^E>hz}*5m1n`fVFy_Ee>ABrtVWAis=wVqa>pV(eTTU)Q%4P=h+B6xHV?vj&Jr z?#k?MPrjcMm!aiW<?bBNVIS=f;aoqJ$7ST}R2~cl*VlIxB?28rnZ~M&mLVmuyweAw zkDVG31rP;m<RF@L5gDdjvg(OsfQy&>;{z-h`#|G4hmBgIUS<o}m$D2r7pGDEB(LYT zmq6qL7+#*pX32WQfEAP-Leh-!IC7S7IpdH7*+^5goFZ!T&M7voidPD15cgok@F;ar zT0y{QKc@32a|W|ks+iuTn7kssDB$t7Bx*Yoj@DXrK=?@dk#_BYt7D3KF1UTIm$u{s zB3VbzQ!Qfh+^rW?nOkSS6YJuc(>tH)S<2C!tx?O?q>V&sd>5P16*jNhFdK5l1+Ik{ z9a83ZdPS25lO)_V@zg+YNSKqb`12^Y5xqOrrw^nb_mdbsPLNlZG35gre=SV!BytIr zy0VXW%ViY1{17nkVEM<hGs^b%t6-(RIAzS?xp|f3ZgJNt_du7{vt;=}@|{ma+9a68 zAeyis>dN?YeP<+;%P;I!twEr^8;f%yOQ;Pdp~>%yrmisF0Z8q1)En)BOlyK*&Aim6 zoK58EF`kr;5^<f^Cn2wOe`$KXq$}A$=%Hniq$1X-Lv}*eCd=2CP|`dK&&kN58kg0B zH<eMGJzF`I)3IvQGeGR1cS{cGEs=h${<;IIu{j*aRjQKn#9FF-8n;i&FnnVrgxLof zv-L>%RJ`-&wo>wtNYcGdp`;L);A$o*g42;DHod=dXZsirp->P?e{0o@EPemo;!N;< z%X5?iI==U<+uRU1Dg$E>=-Ptk6i<S+LasnD?!*P%t8^q>RQwcVDBtVq-Fl7+7m_bt z;M)rphT~_`TXH=q>}*ZQNe6u};sIWR6G|a@(;lhusJ&%77|<-E1F}!ukra-Bg4fi2 zJt3Ye_8VMH8)(xpe<0@*DWjBMeVDn^CiyDRXo971H06RrIrL#29=Se)R*ACkrlbiu zP2F;pDW;>=8ytt2EQe7JnzYKvvTH*^$t`;`^27><`&trfHgerW5S0-?SjMYL@I<jY z=hfFet`ga`ILhu~OmC185HM^Bb``gt2~Om_jTerDeoOK`e^tqfYk;npF!e~P)g5uN zZ^d4D+1fY9;0!Cd*w<6eLs8nS8d{r^1{&_P9n#avmegFW9``hCx9kUcXCZHDoW?4o zUlAinVd5yLt_YzbyTSb+5N%edo(bE^1LV+c!3=Y$M$wfjV*s}!QcciSU?M9=^}<!@ z1X(`F**A?|f3d|}t${d(+j|aSn&mWi=VB)LWC}etjmFui#ypDE>mFw-989CgS@fy* zkpNnClg{6acwFyQXIsx|D*$k9sdW#u9u*_7O9?bLrlE#(i((v0gYhbwDW*j@Dn1;L z(^1|f>=%q!R>~Nsqicj>;3`M<)7qaKQb5z8Yyfstf1LZ~<n`k!h)8Wi#c4<*m8JsU z2&U|!P$0C`F6nrbsTEAl15df5)ZiRL87gY99++4R4&N90cV7{P(gn{qK@BgXVl~Gp z@DYu*5n>jc4Lntbo`#@DNYS9Vo=1_h&yfL-f`MkV!98O4j-ZrgQfxW_4q0cihTNx0 z>6>eee-LldM`L9p*}>JL6u|Olq98D!H<$C*v?D{kx2cwRYOdTN=`Yn>haW2SmiGN9 zxpfua3JI3o=vh&o7U>o$Le=Up{6~hadZK9_6nQ~HU<1`R8UXztlx+5o=8pPMu%8Nq zD8vdR6LfUI?%j{<VF#(fS6rtbQlQ|+-Qgbxf2HqgtW(*qINKsGD@`QLiIiwrj{2l{ z!0uSP`^s4(0}`*wzoL|m3>KVCU0@I*qgp*tv}Uf%Bt{&im@6lT^BUB*@;Ifk_q<XW zPC`sBgUJZBQ;_U+18KyRFieZu3r#v<$ar2!W!XpDX={eq*ZD4~z8YpZsz~qL#kveo ze;-~dTv2gYL)d+T<Ws&jibI(GFWR_{urIaB-dN+6$vwv}#X(F*zbF->pB{Sc^S{MB ztEp!-8{J{PbcetgTJ8v;U1z<G;Rtns@>e{FE}@w|$|EmbLS^p&WeV@@jp&dF+F?$H zfZtK$v5{Vjz%sbkM4HG{K<4My2p7wff8XHkwd@h29Sm7?SAPQ0p_8P*-GCVt<@i7q zj&g1d;EU|8*?p4urc1I(Y>CcsHDj2mb*`<#6NWkAdsG$yYh4F?gDlk_DKe?KSKl2Y z+3)vN7bS~(iTdTN*<q;&{c~avXJV$F(G--YjT{sWDCKG{1*ckH1^#j|Q$`FJe@!Rx zYIEb7JD-qk$)dZp@(XhAs9_KUYx@m33}yuf%In(!&_i!gd?#%f(p*>U2X4&EAM0nn zDJ%zvK-797x9h#$*1mwbp6#gMKC(?>>**??LO|D=6zp&W$=UFB+KEpnTbN5R^7+*Y zu^e4pbK`2VDh$DFB&#g96miJye@ZG(G~ITHaLv54?1-qmR*iE2bOr&J*P2dx6o!7} zUS%VNnGhQbnFi@8J-@t3&25$<z0%>XUkCr!8nd_TioMTI&@10+@5eY!SnKTpSqA)+ z8&(RhO8&$(>Gwp=sV$<b5!+gL!8NZ!7>bw5D<*$_((j*iE`%po0mfA&f5hkQnJAa+ zCFA-rOj1M|fYh3DL3S6t<cv4vEj5eh=pf1GXJ_}c4&yCSMBB%(7)9Zz-~{~6@<4AF z9W8aliq~o^OlrD5X$u;TAt8mHc<6Y}d*$TROiys(3#xK;8&Zo!v;u6&w!UCDa#)E0 z=v`fDk7G7h+!Zs+v}6_Qmp|+SDSrp(DA&Ybe5spuE7WKgPb?L49v)5$$&fOmL`W}^ zLJ47t*+h-Gba?JHUP&&Pl^E+B=Dsek0>d{!5{e{Gdxlyim6voYz#(smrq)_rHVlRW zR%qNtoZ$?TQg5x$w!rN_{GN&iVFBHJVqq%7OA{65R$8e~*X88VX5cLW27fXh;}JNr zR^sY+QB(BL^AQ5hed)kCE8ae3?jl<~bKKQ&O+1TIEvvYYW3!5<#CEkGF0v}(caNf1 z+TDV{L~12T9&ss>#ELhIX)mTB$`pr?>}9Z(si6(Njua-@5V&4a&2s1|TyYrgQtpa? z6jR!A0jn;`B6bl`5S)S9DSw1lPyu@!(ah1M6`N9Z$D$?3qHkILs&0{roM4Dz9h-L# z`1<jAYxmM$tOYgUk8NC;$pSxC%m#~fUxwm~4QfJGJ{tOniz4)ll;`_(e7|?}iU@S0 zOabRIs8=I@wYOIrpRe5_RJ5PMsJmnrh<H5TMyGD+aaW3uO7f=Zo_{XFYC9&=ZaAlE zk844OSuub!2^*V&JgZW19wleRAC;XM-EUQfC^3a|vJo4U%*vNbJ-Xg_(Gl2!%v0)8 zMrN;Cd5}_QpVrwao~1PkmJN7o$@f9~?Np7##a?VWufz<h_&J%qzl3r>q5Q}J29BZB zBAXv_Kwc+j3jaP;AAeb5K4$wr*0FaT6$!&ne*9d=yi+PT=E@Sc>HFG+&voqQY`@^< zYd7vV#!o#WA7Z#a^@w=%<8rS61)+WE5egEodHTSJK;rM6`^tP`^kc<;5>Nuyu7J|- z^sh*dS@4hazXD2?y1*l!yfA!Zupj@?y}^$ZUbSKW<U77py*;&AK$Gp}(m_rNjs?+P zxoCN+hX@vxZuBB%TIW9U*_1*0E0uuE(yb_VbSMREDy|io0Cll~({3PmxRo=PA@2hq zf7+i}LY6(T{}3<82+JJz-OdI_s-+UA;GqXj-=!wN$W|Dck!o}hoB%_5Fj9R*2o9wv zON#wh`xK;{oQO83ka1r7CM?%?oXBJX4Pd}parRFY=k}pjDnCu!mYE||&)!$%D-_CN zIrUNb#{9)CLC(1quJ$stc{fM>&vTZSfAg1(sU=}7oadw8LTzkENaKJlZ!tD*>Oi;x zJw;3gi9VI(Z1J;WN>q8`eW@2O#R#pd!vRS?WkPrCWY9i47FFcd=9Ig#bA6m%#~o8b zdg@;EpQrBqCSd^A6I?I-g6;3W*FE>@{^Ecb@_ha~gzpc3&ZE*EG~1joZ7s$^f5mUB z$hQNs4_lf5R;lpD7Y4bnl4Wni4`6CM933nWH{%-QpOV5D7ep-^Cv~Zf@r43dj}vR{ zuJ9BXxGEe8Ed7Z7=3OY=Y7HvP7nhcdr(Y()K{Ds*M|~N{@i-c7YZ%#?l=*=LD%+~e zr_mI-<=s%7H_c)+PotThvUWwoe~JKsT9j`D60(`MVGm->sL8Y5h@OmWfTB~gd8oQW zzQ|aBxlOOYT`ELJB=ow8y!sO4@4a#SBC0{8s`m<#ma)1;5g~tTe_S_o<L<_-6%t04 zu^pQM9RW@>X4IfNr9STuWUAC#$^f5~=9Zp`Zk$$I4|BP^Dk$sXms2t4e;aUBC_pfx zvu8YL)$R3EDns}0eJ0eb{!pndq}(91x6&%%e^sh^SE{$ts)~5kL^_2y$rERwOrx^X z8lYPK@%>9crkEs#O@0`UvSx*$*GHgKME<BVAj740xzBHP#t<nX>%^<8%gE;r_gsfg zS=he2EeqWnXd^rLkY|{Ie>sceBXF-=00x;yp1H5_bwnjCx!lH%Rzv=EeZ)E+K``+` z{zk@vwSIl;@mIUOkmP!^DxWV%(w~%K=&ccVez2fvIMz=RqzUy433{0K)FUa>tGCuq zPVo==pFn^|BMkieSh0dkT`X6>Z(O=v*yEeS*4?&^S@E@PKRN6Oe^ouiz4Y;U7uJ4( zlB>d8th|3AV^^}cQzE~TvFuwa_W_Xg%dgjNQHj?Vsl2e$>m?GSFcz_BZ)LqAv{d*l z8NJSTK1_G52K27b+ew`*SlfwcI{`z>bNh}^lu#IJ^=OWqmOUA!q|bp3$>7$<DK|GR zhf$f|P*FH!-(Cgee_(gGS4sS|POp0ugdrO4xN=m9ex8ua4W>!2fO8f4&&Ezr!ew38 z92TuVe-gs`63p9TbM_vp9FY`|@hZ&`5q^1tQBYAzGnkTh&FsA?FYiL@N?<@^!BZ4{ z*q7NqFG=2{FIRB!*j5HGZ_yv`J=&LpCMU8<(f993&96ykf2v6Gydm#PlFt^S!G1~d zSLE1S8Wo^#;W_!#xvux&?fl_)Sd+ahGWVxvK%B`+=G{8`>wKQ|_m#L^zdh}>i&=lA zu%zkSUA)FdxsC774zqP`R@vFc%{#!Rb<&W#|FcgIL-NhmRTSAfJR#f}gxgn6t5qQU zpED5*{{$*sf1la#3sC7{SEvI|HcW3m+j6ysv|%(9UO=T^Hd101a=7ygP<e0o&;5q+ zMVSMfYg4m3{pa1D@7><)cBfNWF<-lOaMS5-n|G5t(-9B=c@snpaXH3|aA2=2|2UC{ z0Ia%#r?^@sGB#@5M9LD920BFQs~daKN&3#0oIXYMe{YqrqZ{sCvLHrP2&an<sv4Vs zdE4(^5<@-yo@HR>Md^Gm2%cHxKFwK;TpfhQ(Ps7=Qxl*Oj=YX{fL4%nIg-MrJwE5o zQx1BgP`*g60gBe}T~yCp{w)Xn5umgp%f>5()GlrY#USHVskdIuAEAChw!?nUBdJRL zTwuNHe-(W>sQP8an&`1&Kd^q?y6=;oIiP`X)J6J#E?4gaN*=$m`5StPQ0(-7@m=;e z3vuIj>`%WV0OdaU2WI_)@A9zOcjp%ie)tER=Py`)l`CB5#rk(+R7HQA12SbV){k`k z+b=8l+(vFuC@q6b>IoFSz4f|{yuLVOUNN``f1D-KCQgV$VyQ(?9lRP2tLzBG(RTxJ zRt9hJl%o4;Tuf*O^^m%8HG6hPmG}a>3m7Dm9Hk<ko`91Ko9^wK!y!y9g-S%7#{dv$ zL{3;L7+oz5sS+*alKMwWu<<yyvQbi16VCs2aUT50LRCK8(KTu1pVGq9shOqt129VX zf6f<hRla)xBiI&G10TQ+iQ^L(2`@{?n3VVgMz5&+6E6CQO1I+a)cqBeABE-y=03_s zKHT+V$JDcUjmq4>I9eKjS6P_4uqP@Vd!ZX|MbaNJ{$h5m44$;7(!z%lo70=|4|>Dd zo*6@q?zCw7F~Qf|AgH@<i9GQ<;#Bo`f4q_<AL-DzA!om?J@||Tps7oYtCGW<>o4ln zCEe$&goMAxnPSj|5Ep=dHncY+{5awH+0ddaISKLs37-Jl1lWE7K}+W^Krnsmzx1KK zXBpmr`lwRKAwTNhv#(vBToUyB%~b+U>`71WXR8pR-Kza&d|B<@cl<pC280c_e}5(A z{3$8lI^VpLvLCWiKT5-2yMGGOiQ(5a?Z-A@;QS=*sd0L_@&CB`?-I8^_A{YZKe^w2 zgS}t(69!G_)hF2du5sZaJHKw{=@;+L`yGUL_U^CSd6!XfdhQo^z8kdb>krg(@G=VJ zn$AjRuD%x-RPKbf55IR=y?0t=e=JiKm6q)!;#(gm)#LMb*U#@+qgy=M0ZKH@dR_vC zB6Nvm)ss4z82P~U^AbxqbLd!J40U|o)4r4mHsM_mvkGF~c>u_Jg>Ru~FY0?8^Hmx? zqiyan@1$$cL3o@-f&uF`B|T7l+jH&I131<8z4o1KCVi5_T^aX-{pkmYe^dZl*d>9& zzTy%|9&veRE;*%~oE54q8gueWAc_jbImgrQLx;y%1ulT=lC@6wa5TnK2xN?O&{q8T zhDIN~>&h8dg5%{oUj-xu<45lb8G8zd;@*4|!V?blA$}ciaV51B!u?|bNj=`*>+z<5 z)K@v#l#>xMeO0y6(50M=f7<H1r=f1Ywh{zBqw9ChRy?m5UDr1NWD(8)j3+=8@i|c* zzZENpr4wTVXL!2)@Y3kS4ZS_%AN-Yu@o3~Hr*7E-r*k3_3)Jeiha){Gnng3hs{(dW zcl9EOiW&utQ&6oDn#+v>*(x+(c~$t*`>^pSdi9mW0SQi!N235mf01X%7?u6iS{UPA zAkR1r(*LGhyPA$aAHN(J8)*<WEnXU#=>Q4O1=kf1VLI0Bao&`8e)a7TidQFp|Ml+b zVLpE_L*K3a$;^<+*hfI0w=8WE`2N0+4Pv(#DcD;k>FsxBitYb7<R7iQ-<kQ!#d;71 zjqoWDlh(d}ZS4g<fA7m5$}eCC%&jBy!I|x~UDuhPd_`}IMj0-mJUOAo6^9%C)^YZ( zJb6}@E=UQM?`&uf3g43DZ-Fv23Q8X(5>>PX>BHu{6w0;X_%rgS(at68R&xZJwp{L9 zA45H|+UB>;3<pDtCcAAi?G#X3i(A^T_)uJtK?>p*Ts&r5e{33+%PX;Rj1^G9&rNv% zMhvtAK-QxgH=ZgfR@nBEsRi1^B^Am1iPg(eA)BQ6ETnMl$T)Q!*#ij;G~!?sbkjMk zVYR86PFNwwTj`9+6Y+PV)i8?iH}FzKILBGNY^9sNgI|_#o;<1%w^2|RK-oa#5?_kl zq8z@51XB0_e-e*!SYlUTO<d%zvKEy?lfNp5F_Ftpt$;%8FT&wl!0ZTzn#g$FsACF; z8Nh3m{%2AeM_~faU+?0bpZSH~RAVv)gBho+{K)2`wo*<m5$<)N)7(i2RoWlwD6P)D zCjRDouE1V1KQ-EZG}^zu<9s-}8#T7{de1s`{kGM%e--GIvGBFkB=tOg{ad5mj|n2Q zIx{x^8MWi)9cJ|troMD|TEHV2^e+hYrQ%VEDC%j1Z*KWJ#Wj2D+673Op9<bZr~8dg z(*yV21MBI5b*b0L*6Yz&b|2pJ!LsYw;|}nxR{ef<DmMK^@*gTxYXe^?;D=5BWvirH zeMuS!e|gU$$9)Q32vm9YD%9o6RVfSlMe<+R{cQt_D*i=TdFfFrLzIqNm^a2`hq<0j zzi?UpjT$3`HJ~eYe}t^L?{<H}yx0VmzmMpW;)1`67EtM>JkAIy%O|HG2sElT@(*lF zHo~hOhBU}=41*!*$;-e0d9o3AZW1)mnbPk@e;O5KxAn)T<T&Xib&r-9elJ!ygaz(< zcTZT3R?vNWp@MAw?N6x)1cVx{83pD-TM2$GhjS`I)QXl)2C#FA+0(IIh)=<2xE7BB zVn!>mJPSr%$3rr1=3wK;i$HZeSny=ZdT-qj8%#Z$c(&0*4fX#`4f~Oa-zi{ctrv1v zf3ApIby`EaB%MI}2?&3_`qXcj;Mc)Hu+urYh$JsJac5tcV3hzq8kI$S1Sjuh)O|5h z-A2`v=^wA2g41u*u>YV@y~o2vE+GqDDfQ%Wn7VQ;DI!EaMSsP(A*VxGSQC2L<XqON z`KJt9Q6yI9!NfaDO`qUI_2~ezs<7`9e_f@2v6mx}_-z5UXHuqknsGdGPXrOZj}VD5 zr-C^FnlK&MSj*Dejbx$dD2cd>S1(n^5l#AqmrZ0;w6hiENbI3y%mh4-8`h=_^jwYT zJ|t?W(JPdf_DwV=>k4_WRt-wssj27$_C5p-OK*zy#=t7IK0U7>(NXQ>Y4qK6f4e#< z09YWI&@TGXsPYO!q14|qm4^62@B7ZwZ}eXD3LoxQOxd^Vt2ym60_uhR4N`V&f6n3s zDU+!y;QgLdU8xI|HSfFhnW<mD`XbD8L3cN;<P;S~U|8Y;`CS$4utO5JB<6z5={QKF zP(&B;X1wdx*fFP_4lReIh!v}!e|q}J^#Y8^2CiZ3BV-B?^EaIQw3Tns=)(wl(BII_ zG}b04S<Iq4aC^>Ci#BSJGELN?#6ysBKOL`r6^S;^dquy`vw!$M>I)yBZ+-#Dt8?!D zL}x2N)cJNv+@G#o?+vubT0OJMH_?E+P>TN*Kr5Vl8})y(aYYh=VLzqtf8K9v@(rNp zJul#*zz&BJ&qFnS-^n!0-8;S2x0#e~Ny+d*nTRBlGSRwC=PV)vupKNBNzbZg@e%i9 zwv+<Qs9)5}gNeUR$X2Jo1ClAo?RtygD}fwZQbp&eh@hsAsYEZse!|6S<;H$_&<{NO z6QSJqIiILP@p3|5cveB!f1Ypc$FCP(x<@;o&#bWaJoC3r3cymXpLe|n#Z>trs((~# zh>N&+KibZL2D2aazCP={Fh6SgcfH?VkeRfPd^`y4L1y&#`}-7JI=-x}UN`DwcjT|G zKwS`YuB4=gVm3t?mT{G*xo!HZg^pZ}wtp9Uck-YecXTNwVqFzlf94@?2epw4uq7hr z&N~r4q$L-Xm~_8x=={`V-ca{!>+io!q0jA{G@2DoE;B#eTxowZu2UEKynofpd7OSe zBa*27usHrRwIYe1>w5RAw@kox+$q(Me)U;wZCv#=2eR*sytUx1R(v)tMe&r|`bDki zv`t;(uR>5SZ70O~e?!}$#P(l@i{`Jg&VCOUQ8PlD`Zk2Sx`{0Pi>?!Sm+y_<|Gsw0 zeVWYe{L+@PPj46KNM`98ACtRqholUn!$BSP?Nv$HxNZCSub(KYf2e4W+W4V0er@*t z*zEdX?iT{or_dJ-EzJE#RNg<KYagpld?3G*;aPQM3ohsRe-nDy>(l)nCqENvm=T!| z`R_gU{T~cGe#jrM*(#fh-cpL~pCaXzQLF>;<8uxDUc;}@Y5$bXd~DY5PhGF49$@t8 z6@3GYR*dEDFrl<@!z0Kx(bU`@o`;}{fUmT6`nHprYj+pUTd*gKRJbWbeF}L*ud$#A zIZnqLDfcR6fAY^GTzZpHsDm+C;LyMzp7!{wI4pcvyGqu-#ZVp!kA^MBtSyPqP+if! zH*+TwaCbrLc(i-k!6=J}N$dI!T+6CKlmi4kGI?0|3UW6nUXkL|E(-stE1Gz^nN7x+ zj4o~a;>r<=&RhYy(nt>;x$9(8SkV|rbNvz|)xOH_e}v_GhTdoJzC4Ky)Gw1uzCp#D zxTWD+=i&$$Q3uF23IXFy9Kc1_r=NO=GZ*Nb?VJFv{fo9(q*Q-ti}Rsa?9~?M(*?VD z>p`$Q>S?aL_tTfe`Ii?eOe9WMDJY9x7-=!&_e)yrALe7dl&k;R|Mj`Qu=vF88r6`) z6RuPTe=EvG%_Gkl<zV|)s~{b~f~G+^Y_-S(e3gj|^r26b+2HjP>&hY-6X0JRN?wr^ zPP|ijsRZM+=3LoTWkT&{)jot}AmH0?R7ytru@`m#OhL<Toyw~qkVHta#Gm1XOf=A? zX!!uCfM0YXrhZ_-6W!aNFy0@*f=2<-@V<4;e;!j~y6yV17qp*f=+i++;==1Rzv+Yp zL*WUMqB;Soxl$ZS&=u8SKcw^hif_uyOFEyQf*djE&{rF98dQjGjxbW))IT=ej3Yq6 zYjGC=chbExLC|5{sCX4Yjh1oSSOs)gsCCg!bW%9zR;X~mV9US>_6oQnBHW^x&>vq} ze|6^>*F+gbZ+EzDRcO+<Y`|4EXN9XJF{Bl^bBMx3Dw>BSrlg!r0U*v|HkVwdv5m;& zcB&^TWe6W%H&S*Krhd+N5HT{%wv`S)4jo+r9dU?baNE<yN?r>#)fhqHDnHq5tP~|* zF0-@Z-OPoN1W6QJl6EH%zzH+eGwMpge~h<7ohJLcroMQV4%l?uuSXEbzg`;4PBfPK zp{dUgjRm+eKTWuoBG7{UxL^ILsk60nrOJ8U{o%VsSqq5d|435@wq*}vGCx{sbQhWv zvefGLA<F1^)UD%vd=SFGT2W@1eix${KyKuo+arRH(kv+C_)}bq$I#VRv!|sne@vCm zGuAm9tr`+@K$~)E&>yH*^u@BXD%t-3dHa(jN0K1Q5?oiErn0k(vbRjUkPGnr&(aj~ z-e*<7%snDEX%X&j0}K!q;o%PqfYacg3!EE0sz0@lFRna0EmALr88QPd1&mfleq3ea zO;TR+<A?H5D>K(mf<)uw__D~be>4I;E+kCEL4im4IFAbYyJ4V!@+Y1aA%ifS(8iN? zKb90yn#y*2HzlM9yc~8$9(LbwZ_-<7Hd0`bjuAtdy9sg&<04FL#JgD#yE#E4g?M}9 zcIDqhmESm)NifFEKfBz7@{KvrG?5WI|9Hi`KUXF$wd=?H*e7zHr!Ij>e_ul7oKNI@ zRSl7|JdBsT_@yq@H*yAAJhtZRDZXFOc}@!YLW?}0TM`Prg$doepU>~#{&1dMq^n-G z&>6TZ3j*^qM~dA{j|5=h8F}*%eN~P^{b|)kD*edXRN}aY`#U>P0@dES@5K>XCsmlL z1$i%+mVHftC6~inC$!tRe;I`wHjZk1=@)nZz-BF&10@15lj~cXAMqf6_@uuKN7HhG zp8q731r>)?cdk{suxi=sg<*cvaO>MITd}PED&fL*KA*;4-+oy{pEANr;cI>fPW_AO zLx)|FY~n1DOg@kMC~uU=nrnVR4qb?PNb!y#eZK;Dy*!9{_-44Ef2}Nz!_sAY;SY+C zJpH07Lf=18gfNA*9DdT^(R7$^)1kIzE>SQz<2kfrBPCNC;gUOiODD3;?bb&y(M-Dq zha7!7yHlx!M0x=>TK^UT$p`4%BKfh$Q-3>#Kfp?7M7t1-Iof-)HJ+T{lnnKE?5ApP zvgV1BJ<r(NJc#07fBrlB*^iI&)`^8FUEe8NDKo!{#K9iFWb7N8^e-YY1o<%&>YcJ_ z_@?ZMaNjoVZ=JSZDf_6j^H+tKc2;Fa*jLbb?@;XyQPh6jq5iWkH6Omz{IWy*{kB`q zvqKdJ;E~beQT!-sj*7gC+V0T&ENYGc{I*A5=qyu~D|g>wfBS@`pbJH+z5j{@h?ZQ4 zI4}}6YF%~)xsHTkk~?L*Q{(Ny+$H~7eGWP}Z~|RKRm+i2-G17big)JRgg2@^sYwV_ z^7*0HGm1ca)VZ6jNR>tBe8ipLM(QKEvfyK(M$4THM(}^hTJ9b$Q0p+8^{DFg_e39T zhu9z$RPc6Af6R&sYniinhu+{_AxEbu9;JY%i@8_Fe&4zz0q<W8zw<(H6IlAL9_Lj( zqUOw#8~t*}J}ASxdepmme5MBa_rF@UwW$&Q)Njl7zZgtm`fDF*HrZR_zMvEx0!E1^ zP$?~AmPJ2h`aqt4mLOHf5?9r{iZmBM;I&Fcr4Nn@e^5M$Z{Re9TEtd_IlY8IQ>whP zt|&l(m6kAJD)PXEPxm5AgXj;=?iReE6+WIBnNGOdDe;CZG-ty&S;7obeSlMf^*qrz z-@R=ftLFFKwsA2(qVr{du4wtL-1TxlS=S#5x3s!xQ(Ymf6}tL+Tt4n2N)LC6dVDu- zMIr`ef4H*}GL(XfWu`?uKATS7?P+vS$<cLZ!iPXO@vlp4Xt6Z1ZX{;JxNHacbs>wF zBJM&Hl%Gd^5fbJ$`)B^+pU?lkh>mIS>z@~XN@~vOp9OG!dG(Tai1i6Lm_LQsFB5_h z@qWUm`lx^>jbP?o0gY1N(`c;R1YP*_S^v(Tf9l^AGxOy5ehwrDSSk9W%h^!^Pjpb_ z>@m)0U--k~3eOhJ0D*hi3FNk=9V$X_-Jy~7t_HF(ktD6gNW=FI+Y;H?!d66yuKD%H z0)4(v;%6ruN_0zoKWfbdRqsH!-)jTmb5!(UzVf^8PS{_svG)TfzGf{TNYP$`6Xyq# ze-63+kFWhB^*zw*-KL(1zF>mNX%Lm50`BqT{@)taEj<VwZBBlsEftB&`54&w0oX%) zKf2{dvutHdSJk!cD<`px<`E%)N>BTm*Gbgsn90eB9K`U2&{na9jd?BPt*6eJq~-iL ziwtl$))9fg8nWA0`2dwkP8~PnW|e-hf1#9y`bgGp-72D7vAe8X_#N;PL))5HS5B$C zp`VfVJ%y%t-yfjw>*F`#_7j`}yB}(MKB%qx`=n(3TAN?QE&JcnrQZVKcRlK7O5XX9 zUsAIEO^tdjgD`lZ(|Qiu_B|V*$-E45l5@|Ny}`(l$(@{9tKA<Ed)c11K3M$;f0J?K zqNC~r+r=Ed%S@(v&WdEMq7$pI^IH<oqV$+J$TCPsV83HYsEj<+X1wRr*n%@@L5qSG znw2GFvakIJ@jS}vb%$PkgeOYz-&#D4XVne0_#YnO4<|0bGr#vC=dB!3^b61NCClf@ za_tlB>!&R53g@Zpk@7GA5U!mzfB6*iUh6zU{Xi*{3XpIsQXxTjqD+IW?_L3*a7DJ~ z{(ySY3IW(#&F88{`JoqDv6w2OI;5NM%UhRs#tu_HxAdYB;c4B7gH<tXgVS@;!fO>% z>FmTD&#DO=pt<TsPvE&5ZuzD_^Ke9A2<!5y(jSP&0Mi-0gTnpqq^4tHf3#VY7bb&P z4k(Hu3ao6Y0uR+moc7Ql6G{r`F73Y4DgpzW-j9^CqA`z$vV4}>521G#=FlD9ML-W- z9N(I3xn<*x-~a6+QfU3PU!1oT8msi_Xm0W^{^!(04xCrNIKN`~`t_Cbzzx0K0$%;G zN{mqA5xz*VWQYXtw*3OZf9D&yg-K{Yx9y+w7;_GPt#juQkr0@)A{!#9)^TdXJOyw_ zmu4Jk5g4KZLKwh&+lY@kw6U9qg-F8{k_FSDjb;ZvJ-^bfCgU)Lbpay1zh7#?_3h!N z0Fz^r0;YjmE&Y5?*xfzdJD*vJ1peA-WZ~mAo>XOuwt(Mz^A|XDe_P8*qAf(E5^#)j zVA?Apz(^L@DpC#{!Z2JjI5JDpfd!d|u*JrhJ`=M^Ek^M*C}HERl!NzIA^j)NfMU}C zCbW$cT652r3%F#?It>H32fm&j;`z-3VoJ^So@!bKuJ4Tv>IN`5%0wB1hwDP+Xyb4w z*!M?gn{6A$wvOXNe-Wv9eYX7Y#(0#|feQ(x*i4onLP6uXVLn<+<&dj+oFkxADxlEr z?pdaSQ=THn(9@tww61|yIEp@L_(x5R4sHH)#-2+33w_e<H_J~@0TMise<B>i+?~nl zEx}ZvKrNCen264f%XX2nJq3h0a<b9fyuow~zyyrS+c5_+e_<WP^2pLct}q`uu({MW z?_Hf<=87yiink@KoZ7FYQ%W8&)jBU3au*c^3r?h3saQ#9F((x-b}R<R>StfF^^#Cy zE53=>Nk%1>u~2umk>9>QFM*+n;oTyfXvP7NT0;}aJesEnWPxnu^l%4vP1;{OV6o|J z*~tLPIGStYf9x&9rZN}H?j2`=k8N`N)}aZpE!Nc=Gf3Jgzh^Q)$`8eiO=p6u(sl<f zTJIdD797M+50{dB9Or1-YZ1N9V_2pDYfRHDWEc4p$D>kWa^f8vz)ICw^pX*P%OydI z&DD?N@Mne1PLc)g+ll9!)ATH-nJ-S$%W0fJ2&EyPe>!82J6_cNobJPEW;@gek(m&g z&aQBXyACVJT}QZ|nes_wM$H9PzCLFXQdQ3ykU!@h^&Es{Ylf9L2QUN^CHUL^sf}5+ zcW;?U9T6eh>AT`z7S(!xy<Sq%<0S~uX!EjZ)wRJ$28<mL1DZQ+5hw{?v2B)WnQrn^ zk`(@Ze~5v0bWk6Fv<Pbhb+Q7WP-(Z)|4)D_2{{T*r}MZ*=&c`p9y)xt+d81JOZ=>l z5h!&Z_Fgq@4k<aszas#k@MYZKGiB+@HWl0Xc!O}nC<sC_Tjt@U!6dL4n{5QSw04V+ zMo>RwpQ#<-*GUOh`A7kQeRnvvRycR(rSRFLf6oD4sf!>Th5!AnvC{9I2*XhbWTKIP ztnstcLzM^kR6y8lxUjolC%h}zsuy?F@xW;XuEO<9>OgA6C<ta1lUnhvS)=ZenkDoP z_W{&AGRJInP$&fI>*kvPCmUp}xks#V`s7Cf6f^iPkP|r=aEfk3h2gr6PFJ`;KUrwW zf1_znL`x&aZ`2S$2O^^1YKJ~GPnZ!rtPt)s7AsM8iPBn_qWN1;u&IEka?GMa1-Rf2 zPpK`QCwuT4M~@?e058UWJmwEB{<2f%r>{1jg9R(%_lo#$@%9%L|81;2w*C+Ow$yKr zjQsHcBbwGa3w0h-g~g~p{%Wd_%(l?(f8f%O4XhVJEdXbE(UXG4nM%utN<&auniTqv z(9MkmVT0ax8kYT;sIa%XQIu4sxi!U6Sg$7|eouv@V5oqUxnONlAB6XgM}G4{3IU!q zYv|sjH5>F)uhdD(-vpz*KGNOO<E7SPkqQXk-Y7b!4as>foI3G1p79nH=)X7!e`SX` zuY-SRWk+#u$;mI4Ubsj97Juq*{lwpQ06t#J`LGb;-@KAx(1g))OMuZ<f}8Gaz^q-$ z>^wak)g@<4nWSvcH<dCR450n)O=%_4sgpy745a@_(OVM(Bwj&dSyIib`bmtz-bXrO zEL+GA?M(D{vb`<%q%m}@o>@79f0AQ}@Q#?pb(ZodipB+4rU*p0QZxH;-2z9RO|vPX zA{a?z6STg77t%W<6i^+K+KKdGX*hvI(2of=;7aBLq^GaNZls;)GQsw{mKJY}E8DZp z>fZOH0VafHhY2@@%pZmq-)#})cD6-O2!9oN>F3au>a1H?<x5;xE<N}oe-yBT{pAk^ z%Q#>_B1#CA`~E!t9<Kc=7fHt7r{CXc`iGviFSu~NW&pNc%-0COdDn~De)XeXu#NSz zTzvPdj?&n9h2z5;%Di?|6o6*HZ6{2<<O0Jh8(Gs&DtLvvOL1c(Vftj$rA|a21@BgD zU~KF}meYct6Z)Lm17$uIf8iMFyo4cIhGO55xl<Gr5LOm`HNP%JHm@*h)^d)!v|^6< zsC@8l7-N30!7;`{e|bg#yK&O6C{E?8H2LCr!W|TDuNzL}Q|+a9ks1Ll5M>Ywz}=A6 z1-h}I9d@yDN0mB)D5>TMYzO^|v*^@AbO-2yg3kMgH?Ud>-z)hCe>~`Aw)&z-ACPf~ z?_AHn|KD821)b-dC-l$c)v`M;7r>sVMrw>4gPqWr?1+2kBb)`NXU(qRC+uWJkD~;h z1rY6c+>zs)o5#lYihA5}xt;ekIjSZQH{rZRc`=4_8&}HQWjwqXT>wcyw!e``NPqG{ zF1TUo&QVM%Lwk`(X(P?kQGXO5B~wcqe9m^K-1j&FL~zk^PB^kE(7{F?EBPxmBRQi` zjnh*thCb$j6grs;%jGiXg|uL$C{D@(9)9oDQF~jrPfV=<-YyYVN=HKx3(pS&Ms6AX zGFz|!Y96CWhJp}r?Yvgm@w{lsffj-66WQ{BO8^aMM0BghK?4bfT7Rnyp0;cG&(Zt| z44vnsD5m#eI($BNmvV-!r(lS4HAo@}uL_$Q@I)uPa902fh&EE%Sirz4FPB}D;0hT; zCt6W8%XyVPE1*XJ8I(u&$CsU%6;lyMI5@<0U`o@To&rAN4!F}%+=t7_y89P`{Mgke zPS>Xq`~n-D(NoUyMSo7<o_3i39kfyWhV%x@^5s^a4{oyD_=Pp*;l_(Kcua^o3h1$z zd|-_V)|lU(yNqqooxKD5NQpTT+l}uy0mPKJ1}I@u;#g*5C+zD);!4Vu-Ik_Pruxx_ zqduIa!wF2I;MT9e@>*qI&6Li*SC4v?kOAj=nLmT$MO`Jf-+$3jZz%eEbP&l>*YjI+ z)GIpX5BkZ2MZcMATIGwmuF4bTWb9#&auVJ;@8Gapz8CRhrU3@k&#r|wqI%ei*S7N0 zC7&dKhk1`4!2z;D*=~7p%jk0CJ!(}Jdtfd1t$rn$yH%{xGqp<O#wXtqX{L`@YQMh; zDAebp$ooK+p?@QtZU=riq^-bet8f}jFqpATbu6HE@6oMzzPwd?L}m(sC;SO^tnvg5 z&q+z%bPNCnceKIp<B0ft_#VNA)=G;52&W@+P;96`gi$yEx!6XL`6wbZgA@6TL|GLy zdfJRMgm@?`9IaMK+HH`kv;0TwNaCMQYJJm@eXHMmIDeY@d3-p#C++>mo5Y+5>%R;Z zJ|ebTeO}8r5gsG(|01nNZM(N8evTdgsDbnf?e((Z=G%q~=_`r)PaE#z<LsXhs#{ZT zm$=bFq)?*J#v2VzwNlBG`Y#a`ZnqjV@{iDDvUfK`FXSMT0(C@wN9m}s5-#aU#Tig2 zvVrbk%75A2D9*_ZQosm(K7lh19r67Kc2tZW7NnqyfFtCN{&5LX)rm!qa?`%f&P`ke z-W8k>vB6A=Ew<ZHfhUUY_t3mM3ZZPb-{?s&JdPYFj^%!-vL~Ys=Ge)WQ|ajF#MK%( zr$g28Q2-!E3JOw)%d5(V%2c}Ky<UN@cNEnJQGXiC3vT>4tF}n-568g}h(T$(3*6vt zK-$a1C@bV8#8$C`cHe8Fs<y#;2StG`c@&wGYfY}N<cZj~nNF8NOqd^;9w~h@z3m!D zVOa=I+{RKXRALI<J(M4r9>e{S<dW%Ij<gdM@csU}W3zDZUTZW`LYdFv^5(@i+gz;U zaDPD^V=g2G7@h_>t~26i#7Y6YF_*v(^R7oX5bT`@pHW^8tl^v&A{|JQMwde<(t*KO zhL?dxMzn)k7Lf5!$gyaRVdzH8BX9<=)4Z(zy}DeelcgJEET4o~8l)Q_;9DNmEr5>c zxi8#Kz#TJ$t)*zI%29S_)L!trm5s~3B!4Q)<DeJK3863`PEu78Ab$~m5_kdl!A((- zKXB940)NF#^TJKCXRud%ue-L+U{T80Y*ZvuwOveq)W~I(Wji>=BQI$@DhH(tVq+Xh zq<s6CT9>8@)KJ!>{gI?PDo9y9P;2}*AQvEXf_j4qf@T$5q;>`DJQX3Pso=#RAAgCZ zS)y)OBd^L7$O#YPvN>dkW$6<FF-tR6fmJ^MGR-1x-J-06gIZ~*J-pF3!$nE}S#bMk zKaF7jhC;6xRPatZlz0(AW}KeUrYEnc=}>41y;RI8-B3c%1CTk6nvh*R;1K*$88~rR z;+hY00%Ya6gu^^k{5({=J7Nn#)PLJn5d``y<wKqg5Q*ux$P)OHa=cxKfd3=RwGN90 zK4EUCZnz!oBA~yukj7^OZ0mc0To*AXcEz)ZUuMk&x%;G<oi*eC2jq?zT=(`5Aa~OG zegU~;8?`a=FKuoRJ6!7gx?i+%_A86Yj@4_&&hFUxK@83dEEF2k>)7Uq=zqRwf#td* zBY*E0&hO7x|FUTx!Pk85*nIC;y>|>-Vb%;kXRG49OK8=xFzqxAvQ^aZZtpVq>03xx z4P!*uYwg-H|DeC|FXKa&j0^{Sr5o>Xb2qaY&6lpIu++MJ?tb(2Godn{A++7SLQwtQ zOM4MUp;x7gKgtUkn$ZQQ#DACm^T!<nuqMvT1TAI<&(uli?x(k`!<s@BxHkFMMLy!A zh$vBJqgN5O3-l&+kET3ZR!7iY&gz{Nmyb;iB*WwBWNerKylB3vqKcg1{~|Xc^w@&N z5IJ*#i>_xoe<*?QB1@5-K?UHzBP@bZ#0%D7ZPZMPMp2;@@Bd57bAOo~tO=A@jzZYX zTN<Zy2|qfobBkn_@*IxSky_UvwdtLZu9}!R?dhHLL{b1OsUXzK^K{imsxOtqiB5m~ zyHh(?>@6mk<}nTq-jQ5J?scLU82`?@2zqq0N-}4=v^DGDMmmFl!vZ*>c6w%%fQ)k) zj_{)+h-+5Vtdd~c`+xfIzGv0190o@Tkg1*hJnMsn#me+m5fATY!DdzR@~o$QL<sD! z4x1!H@U;dZr3@fHN+<RJft1t<5<SkIpb{&G90fcUQ`+(K!8Y`r8>OZy;|sOr1k?p| zvy7h<w{h=PWjpW~?T=^|#*t!y$TTP;=Qve&qFMAvIVLku0)NyF>7c!`D@#X%NblL{ ztSPR5=NbrTXG7{@@nvhX(jQpm<UiHiUF%sGo#MW}nh;zCpzY^NMOOz6I-dX*S&wjB zR_<_NAVr5=<^`@sf~Wu`hOQVDLCKJ+OrY6vVC%7|M$}^#M~<ax+Z_P;R$Zf5nbHnI zDEe6N7!HImg@3d~*>=z{N}yzuW9^Fi9EtV411ZwWUDLu)h?G*(xgx@ZPpV1NZerX( zYeh*n_@tTi7x(H4mmT&Ge^jF^J`K}T5vuj}$67@!QXWe*60PKx(G~`Akb^3HsC^4= z+?nw#%0nWfS|Sa=X>oj0)zq?+&kBiUgsaX~Ii+LBSAPQ9!m+*wZ2%mpk>;Tzg`%}3 z-_M$kPhO?o_vi|CU`(25<>o<_-5N_~<yfN)!BuH&RB@mb4wOLXOCbGO<mKARNrR#E ziIXjopr(-sSLIn8mi+R>bpkV}0hm>qCjO67TZr!ZI1>R&O3s<y;G@?>OQABg2?>Q# z-nTxmH-8r(@l{Itc1JD<4X>5=tDcjQ``oxD{HHV#ioD}bYR|y(BD<oF==2{1V~v1F zz)vGJbFX?_4~aNwdR1$Cb@ooPtJ1$ar$#;yyv9xLRSA1?qlX6MD7}@&)-o7C6RYnK z8%aR@peR56*NJZFc*h9|Xwl>&Il7GVEQjO+et#S&@dul#jK`>5hD~)pZ0dZA7uK*= zyy*2oDiT+RO`TbaVlfV7^52+2wBo<*SXfgpYjR=r8*570dvDlON8Ub5Q`W~CeAW@> z`aS>6&@P=U(_l+&jscfl;Uv)EEJLJ%qy8j*FBB?e;Y#L~((^=@L(&TPw+xY!jBxRb zmVca?Xf$jqXpbc6`O61%>(rZm^KL?apx?m_RPTETryrd-lE7?i=cp)H{XuX68U~Dx z^{B=Fm~bd39G>}?cfhD4p<ad968h8s@#VH2$?bFZmI?$)$IF}`*+0u}?TOMC#TjtU zhuOW|983YfZ3B+gbQ_|DS=B7ZLse{5(|;D8D<#*;S!vxJ(km&R5M6!0i*VO<{SuH` zA0ur3hDGe9V2T7S1v<q#*FXlPis|BvXf0w=Cjd+wlnLv|KyW4|g509?tb1XOph_l0 z3!CX^4rM#Gh-y>;JrVOP_ebM!e$AKvmKMkUJMItXd^$Z#LQ_5p>^&n2QROF=%72;w zrgGW)7B?&B1i3-iEAaZrn_&L88yLC8+9;1ur(p9F4HXp&)(Y@*b?sDqt8X8Hn|!NO zDIFO(9)Ly<i9>;-Z6c=-UjQGFx|)w0I7Wb6)H*vl95f9$d2JI+>pVwn8i4xsAqz<L zo7e%L^|9*@<AL)X2!VaSl*iA?G=J(uzs!HlyF6CCo{GS*io(u(l*f9?V`ST3@W(n5 zDUWCI$L+w!-l|qJf+@ff<RqM4ElQ&V7$=W@=^YjV#gocKEfQ{-a4i}eY7o?>{dTP$ zU1=gwkF*uaV4f{4wambN4JSI$x)k+_8JIeOy>)UzNNq;|Y;iv8ZC}kkEPqi14-@8O zBuJp^-qd!>&2{5aK91V^Y&by)@ESLzt;(g<v|(*qW|b$C>15suw(;P7qSSVn{j}Wf zHtvf@4QaL`dR0B>TS+(OECF)s){*FSPP7slU^jJ41Jb^8`rT#qm7dp!t0&N7Z~e2D zk1nfOBcsPAxQMC47hC9c{eOyi-Y@3n!)LRf5dWvi#;obUk_ga8+_=3~{k<Ox0(s); zwF(y>R?SDN)d?~T6~s|!bS;r()`Pv_wF4;;9J#7+)e!Z;JC1mV=l}~x<F+@s@vL3) z+buahtEQMxBYL8~xT!jHUEdr0fu@Rzgu)lq<^^W@3r(r$sNgGpT7N6l1@`|^CoP8_ z*NttOjkUczhR0LYPzbmKJukMZ=e()A^9MUqMMF_=elatZDkfK@2Fdxev7W0Go!>F+ zIzruPYwQT1M9fm07&hu0_k=j_qIRW$3MEpD`t^3FbTfWO&KFDBVNrUSPSRPa?I<Zr zI$jmKtbA2YmUvMmuYV8S0yRBqp4~}-hugS2$Rw;F4Ao7%$7<Ou<8i6L3L_^Q1k~`J z&a(69`)tGQhF7?*N$N&MDIrxQpp`{J$s-jhU7ik@8&x>y`_QGK4)P(QK(&~tM!!Oj zN>GjYK|R32p+NU{!(7da^4{ms+33{7QLB5Z3vu}fgZ_M08Gri(T+eedsLX<{^9w0G zaRQT4^<b-if63YUfx1YLN|IKnlyK{dmG(C)CHg;L*93O)E>=08+eQDvOJBl|Pj_SG z&p!2T)rwC?ow=15-&-|t0fJB63h?q!Syyd|{<132dg>**{6ei!fmA?Qx32X|1&TsD zuN{O+2wV?N;D7fH)-NmhJjst8q@W&&Mx$^?%5r!p&=oO3GEhL(O6@&1)f?qu{Lw2} zB_}oyTDvK-Y5P+OI8lmDZ3j)<+YX=)5IUuR&gLU@sibC4>zA?jd9~8{YNgw|CT92p zndXNu0c7eE$Ta)D&`JGMzkjG=F-;<ZJ5QJY7=@p&rGH&YwQcpJt9ql`s6}0p%U`-` zE0(#9fFI(j^y*I<MzkZfId3qzf!*cCkf@1bL`2pjy4VsMA?cho2}KvROLf{yP)Ozt z8(%*0fEIq?Wa~^|8@9YE&X&mTu)|Lf)CR%tcq*9c3pZOie;INDc=q$=;FbEnvG~@= zsAW|9MSrCwYzCXgtbNWqqaW8P@Xb-aVAP)vTs^oS5M{fLaP{#=fE1^qLdX_B5ulaa zQiXZL)cH;=C^`5q$+a-`OZ5AKtS<o&iQ?xTM+`aY7eAot=G1xi@Y!R+_dGJ7KNs&S zIUykZw#RlAlj^+pxgKhAHo>~G`}cB>Pkd&30Dm?rNJ3jU@llmL0leT&J)nw9b&ge# zxQr$^-aXC%8swSW`Amd=+h)|fl4cho=#|d|p7MM_baJ}$*;dY!M7z+;`}1HZfpjz{ z2xDrG^#hc2E03j1>RyrjPY8a!?9s$JefLD<S;P~BDs5rYPDUal;;6w#r9?DhJV%N= zmVW_3qRz;ysyc269sOdf2`-;pv_h6vB2DeEZ1ZpR8YN-pCuXy{)4Lmj3zM3Z(n48` zMAJ6qk^vvPCK`?S;F;U8_)M~m6%f6*sh&q0Ny=8dPpb3K*}R5+<%V*O|2jnM$(!ma zUyJJ(napNcjC>l)M5h4xh~?=Wv-3{~V}H@!K(wr|)&SnBHzNMFxbsWkFcg=Q$aBcA zln?Y)srC`OA}}*8aULiu#J(6>(ZD*RR9*5>u3}Y9MOSunLILlB$m+xHnsL2DE^|`H zaqeE)|7ed+MI$Gqy92&kCsIXYgF9Nu#QV<?AZW(IAUelKiD0%vrQEQb{i6Q%EPrXw zvDjHH@567_O6T;+KvW(-<!dsR5neix4Y+0!TWMkRNZKQg2sAu6;3LxOv6LM_%Tc!{ zt8IY#vecTuqhYTFIhH9X=*+qxy#0^BiRpk!FF56EmH5vGU$TmoYFNnS+amu#F8i(M zpU2t>xooEte{no($z?y1KF{M)(o3(09DR!V=S$RAT%}>dja;4p`1NL;-|uwvH*Wd7 zStsbX6akEaML935O!-ElkVTCkjk!Dn|Lmz9o*7K)(FR%$#)BT}r1-JN6_;-%1Qmar z=Ld3VM*vfYErRn3myZuJsh-%0lb08&`HUUt;Gf+f-=|DLK#yvE6DBHy4gI!*UN22` zj2w9FpCae{7CAHDcF-T*oT`4095k8kuMI>^itPgDu#QY+jx3Y2^dPk=LkmDRs?3&L z74Sd+Riv5cFFH0*K5mhAwo*BGl|Fx1QT@7pC&sNf&v$%|ikzrkoM_JTqRjKfihCK+ z-BxxwyxZe^GvN0c?#16=3m`oiodL10jS$|%q5P1Q71PKd-U{igvsKxMDMiRQWGW3* zcJt=ZQd&rK(vm6gNQ%g9$NfKQi$Ja!-M<BXwBDF+qlrUM$$1HlDr$@gDYAcRRB1&n zL!lR$YCJ^VlrxN|TC*~{b5ffxO;{GLF?mwDHoUpGI_m$WN`gj!75SJp);V##J7363 zlfbCNA4W`_Fg~p&I$Ob>Zq6X5mm0L{BO0Bpy2VAn)DtB#AtW$e2gZ7k-g;D9_TV5K z8tBCRiID@xYthK;n}Qup>9T*V1KI)l(grV_mm4rH1aGLjiF&##2T#z2M*}@LvK^AM zK8Z`4Xrl|jFUlXAvHA%p18$;V9-+O((Qql$nhr1<JJg&YP-|n(-AGCL0=UPB=rm1x zlm-K-a8IVK#Fa`Nn7pA~oS2}?mta%ugcRu;-MsSRC-heE=`bCsP3wOsa}e;U9MU7R zCPvxgm?vj79juBIjn1F9yo3l#S>V7x#K!qehj%mf5l2R!QK;ZaKu!HFdQn_|6!`g7 zhpiR8${KGQiih-+`3cyQWAh{d*lNA2{4V65J&Y3aer}&Xk23RF=ZOL{;ibvAd>h@b zFZeOmXnSSt6$rafsSkhR^PFJYpW<OfZH|I`9tAn7=<lYx;vp8rC8re4^LTg36FcjP zRP`1yN#M`(ycglS+x)tJn|#0OhOa(}3iBB5D`{;%H!uYnmUU!(azh3qm%fEY(OD^m zV~E4Z-BmpDNs{vwv5v&^4nTdv3B#5_b|j92ArDR!D4)ntO@DvC@VI~eH6576U%BRf zxlLbu>7HKR&R)^^-k%lw+f4E&V{s;ZE=&ilFUqu_)fPsvF1xNzM6ZByK0vp0Oitk6 zkV35JaggeTb{kqOrw-nI<d?f^)UjFN#FE<4q;4>_#j^V~?8rGlYZ$vG)x<JUvwHP~ zOgQDJAxh!N+>w8$GbUKq!=$U6=ZUCNS@uLNF14?*OvlG46M-t(sIbt&(y%ZG>|V&` zsr5I&$dFu>X$0F|+yLlD0bRR-`v_|q1Awi|eX@Pk!sE$*^@sod^buy4P=X&mssL#G z!1wB5cBf~lT`S(M=Pb2zteB&13Caf_r%|w{2JnwTzomb6r=)hrSP*&vxZ>w#=McgP z_jB@e=-&*}TQR@L9kUI_MozjScQ5q{h`IH`1PF={p$$M`b6`s!I*&=*0zRwzw;tn_ z1cl%4_oT{DC8QB1_)oKc<(Mg56UE}yK`Qc`P)Y@X^74d)Qf_b1;-$SG8AUC7%|jpe z`i9(T-$j3i4moFg!oUAjNoiK1l4Z=!Yv+JhD153Bm5_a}zjZ3x!SBzVt8XO>s5b9d zc~VRsSFenFrx^b!y!~;i1JUyr;jR8IynVgWCSh{MxbEnKSzJFk_A%F?0MRm%d!6MV zSVwuAM?aCJ{HC8g%3D(GI300c;dcY>tpozZ(`tWfB4PhBT;kg5B>LXVIHDS+(tgM| zsNtd@^VDroqgTQ|q1xsb(JkX?5!)>avI8#4hqX1L00q+9CfsYm>7V`&ky4P5Z>+CR zoBd71Eho@ARv)QZp|-F!b}mCUN=*lg=U##gv;pnTfPB{KoFDuh>0t|71)VTg+aB(} zwxfT*x8Ee{ZAN=_$$>42)Mf-3lH+Gd{77u<fzKx31)iS*b-iHLtLYFozE=0&GlEd` zGEaCx{J>xSxIGuT1RC5OsvW&5)E#!{rx07Q5c_G?yFq_0C7Z(S?#vGj|Gh!AI&8mn zSngwL4Wl3X#_4^X)3*{^PYQcpXZI~Sm!p4{qAb-te|jo&Ex@s%jCG3hl&|9+F%0WQ z$4JV`rp4lV`J5*m4%EmbGvh7%;FQ{sE}26Dr)*v2d$uDW96`bL5p>RBh*nScD(W(K zQ;!Dm*jz*EfmoCorJ%6D(d%S5q*WQ?K_;KMg4^=7<2WAh3mLCe9XYg(^f;yEzyp8K zUwIH-p-(yvQfR=GiqtS`K;eFTy7K6<|K;6rM~dYZzoSTpY@rPs$+eZfv^Ax<IyXq* zK)di}zE!n;A<&<Hp2P5h?;|qyGVyFZB)Rdt_GetX!mt9^{ktEk#5W9`v%DRN>y-FM z)k@<yhzDSv_NG)eIX-YA_uR2)?+$;1f^KH|CL4h$)SLSQ>kwa}4~TNRO#9%sWAQ;G z6K^ILy~ZP^PXF~7B^mIbFjobEWB<J&vz2Tjd@JbJgnBwXAe$D;BT`wrd=VMRZ3p<D zRG3@$j4sg$Optu#lCnIn0Zxq5*YN;OS(h3)-#22=$0E)P%@27A!#iYj6ODh6Id1~8 z=nt={m4oksqR7)lXhUlK(HHMlRHCGzhAv}^rF@(&Iur*k3#Ua3l&u4b5d0@20bD@y z`o*~b3KDwr-BL<N9DQXgGOZPOZAy^AIpzX+pme2D#eL8-UV`dl1ph9mLTzqfD%hzS zA7$J&&0??|Etj{RMb4hLX@-9RtelF*8y*-P@Ke_<<<wa@)mKk@83=a76FF6h>{mH( zUspBu^y;NYlQI&)f-?HaAGfQk)**TH=dwfw-ee)_rXM@>*orj&5n7=5eLnJKX+L&o zK6Z%e_Ge?!g7htzb}Ry$PvB~Of7nj8KaAAz#4+L2C&v!-LFeJpkKKQm(ph*07JNa3 zdX^zvHYg!kt@d<OO36v>m8Qz(DGMruQFbleBhDE?1j%UQ%P>gv8HynFK`M!M*<<Zk zA#R*RWWpkaFBV6k#!;#?MbxND70#jLn-|~$(lH%;GHbI!Vo7IDTp+1{5VG~5kY__E z^`C*&Vu#z~YI5!!3#xyd)a0k}X<zC<Rf=%dAZ{5Y^js+Iu5uBPJrp?MC?#0ChuzF) zA6aZ=k7$7vD-}TPAea#!jl3j|k54D;awBPty&iy|B0@qjbHkcQnW7DZ$FkB@)I3}E zj!t`&(G1@hb{_nI0l8+<hTh4(BpBZDK?zkt1W4%i{pr7!cg}y&2n6;#Rj@0juLXKl zw3MIzeX`=C@IBM!^;_W+9CU!vR>73vIJTG9pJz3*GZtXmZ5Q<~?Sh}r5BH6BalERp zVt8y9_8P%k_UYvyc`>_%`fwq<=7z4JMX54sz`yaK&o51|v&Z7?*m83G_^tinimm>c z>zdCtSlb3wEVh4^*UuFPrOdXo+bgK7)KGBq$s_?9%01YtJvN~O^(pQ9vO;t?KhXn{ zRs0cu_6uc3XD&2-mu#Zsk>>Z0H4{{F=CPR+M(UAch}0-!-*U{Sa9IJ5Cp7;TmEk4B z3^Hjy0@Ih3ard%LsMq*g>kX(F@+Lu4uoWAi9PO(AD$;*Eq7YXoUmOb)HJct6F^s}J z5%}KnQE%O-CsUE1>p#I3GxaBIN#y?qTjaCA7Lc7V`8UwQ1!TNntK8qv@IDv)vI0m_ zYFvH4pGa!luUPmdOK?-*@KbG(K)%3UGn4h+wfUSbsLTZY3iedhzw2AeDm&vGQT<-~ z_B!l>63Bn#mjer-D%fr|a_;x?DQ#r}j?&o)M=+61v~v52meHoR8qvL_IyUDyx=erm zxF=-3OM&KZ+VY3`3VqSmK|%aQVVrLX_U)}GN4#_YOJO|otuTJ2d}={hCwlioovgEe zGy|0Yo|Heit-Hq#qKr_7I}Th+UYnOr03OZJPDp>1A8_tCxG?fiYea+Af=^2*225ls z!Ma0eZJ8%+=nJVepgT0XNy3)s)hB5U^bnkmjiE||n69^9*{@boI29+TkXo)r-Y!UX zQ7xK6R_uy|^=y1eC0lVUT)~1~a2X3ONji_|KGN5EyaIia0RT9>JvJws^JD~@PlNW^ z#wmZjA#T}vJ2fW;aOiJ^`59-3d5QcZHBe8IOaPlFbpSBDWFd(5qTC2xrZ=pISrbgH zQSI|ix)KK`t3fwxNymUO(lwlf7|zMf&fSXep>vZRovbp7u!Z9bf(7QL0o1zzP<8>f z72#G)81?c;$q&DOz~6k24c9_ie(&8VQ9^%zLfTb8&JP6yZgU<?^`lQxc`MQcCc<+c z4=bp2_w-A5_d(mpI-`{KH#y{wtYAJiuRr?bANatp@=-SLK_T_Md8MWFD<AkpK4SA$ zMM~LL=mltgc9^UDF=_D$D8nmfN2<Cq(KWBSP6JGH=>?Vm{#$^6ayFMwbV(vDtEGQ8 z)*6$Gg}LsN0@!O!p2fn@>=L}U3|-{=9+Sz73VkkpQD{hI@9PD2eJ*-l4n7LeU!ZV8 z3OxzU$HsjkeEh95F0;~=c<<W3!HRikgs1MawuyXk#nXgB9y)q@hdlfaBpB$?O%S&G zp4hulO2#{Eut-Av+oja&IU^FbAJ2a_`isN6MuD$naaVl$y;W{qIUhh1o^VsQ=p}CP z@WU%sr2WC9`a3ap2uIX4Z(o<f{$rWYY!kx~gm2Pi&42bzR{9wICzc?TkJ|GDJ%@Xi zZrcDpcP~D#D3*D#jQn*7;hZh~X6D&d)W&>m%<~n(+N>MCXLzV_OL8Y1gbIK6iaY%p zxx=Z41E4^#HBBsmLYjJPHJexAv65!R-m6;H2_wRmQ9_t~*rSwjh}<d-+EVp|#3ll~ zX-5mu>%G#1olq^08barvjDj34yVG*5jl#QedoNHxBZv>G`2lwdn`wXAiapVKq#t>X zRr-=0mzB@;tJ168+R5MJUZ#Kjtx7E0r0%^QV6|YtU`3TZooDxHPmdkY7HtY*WAKJr z?Gq!wVcRRX007s36s_Ro&WSa33}_ntR5WPgwtZE$iuZU!lmdGJ>)LuC62LDNw|Bm0 z;*hrtB;{N`Zj=lQ_byP1z*Op@!GVMZte^8Cbs@@t!-*56y9f$gBRGGiHhR`^^1(-h z%Ru7de7b}8Z(aAsC#ztkx)2m4oHx=KMGUG(n?_CYTKa-wn|)HFSo$tr0cyoX(tf0Z zaVN!dR8E2lWY86<^i--#WzDBj$2F<jetBej9v@JiS|T6>g_Tm&KUbAG188+<JeWl- zLz*RfR~BNEPar2-okD+!m(+2o&kC7*(nnK;L%|HLkUPa-J**Z1n~#TFLy&8=X`;@} zIx9HTi8hcdISz3^dGbr=dA^u1yHa8zWa!@J7vBFLukl!g`E`7^alu6o=EXvBTvUcY zHa3JhzJX*=nu62e1hiCqz&WXKiGS%Bt?0OEV1O($1`VkxdwPGgEto#+zJ&}>(7Tm1 z%(xy;<;P^NG_V|ISyrSjx8PC=#>RHiGtE8rjClba(=yVvL2;pU?(FS~V?OdcIfqa} z$wfh^uxa#TII%Hz0r<ZPmj|Bs=B?ktWu)lW>p?v)1r&Po3lU?k;*aly{6`{o=H=u6 ziN!`S`zB)hPRM`XMC`90yI~Ia0N=U{nsq2{6)d31iORAv&959_q_xzF{>y0Rl7JN# z8Oz}mR#yyvnh#y^_71w)2Y*^R@OTR6&7Xc@1GD^Te&J8*h{ti0Z+WwS@PYb##r0ts z`_ZpIpXBL<Zb?#F|9jIe9sDH9pKO!+P=)%1JXKWKOO$`*tdmP$xc%Vnu+4z#>=t_C zPvm{ryBu0aCjJjPEY2SVKeGs>5Q{>9a4e)}^FhaCu7DL$W7J5wc`z<|93g?lp6LWc zGOI~!3&4Yd?d}O4A@bx1)@aNG?{gDwZfk7tv8akX%Jjn0f{_J>aic1GfOP${pGB3X zBqI0GPA7l%8$inRIqQO1egK>d*HLA-;k}uHHah!lkh&S%gFL`_kCRza=emN{WttUj z<-)B-b#u})GbC3SIWbSRehUXdo`~fWxg4n%D3vrB`p&4McH6&;O9WoSV$_NBt0y+D z^?DL3OJ9v)^qW!s-_SvC?tn8+f|NZfxpfr8j(L9|T8l8O;9`Mzp|)}u+e;*2g=I?T zW*?5y12s6?TflryKy4Q)<sp+lN>K-vaqBYMRr2(~=+1}KhZJ7|wJiVcmS#>0iVd?v zZLK{5LN-=KF8NR$?_+%s7D4P7&Xx$^v>g$hvL6|SJz3>U;srqgCqL@#gtUah*w}bE zv{rw{9&zZn31Zocn2y#_io()jVvpmTG(Ql{!L#Y(nJ5V=PX6{6xN(bfzf`yRYPfTL zGw;(vdId||jL#OrODfzB_;e6*+m8L|;~gUcm!nc6K3YiHR*bx|lhtb(hW0H$Z^4oZ z_S4Fvg}B*1x%yBIvX5jz>nd^9VYWngP1t|OJzXq`pb&vFYMk4j)hEIRjc@H_#FV?M z?1J7CRO=B~6bO!T%~)8D^`J9{BKAkn=nBCchm4jNd>Rysi|Z2?M<|-dpm>n+Yb&BA z*N3J5HYm=6i`U$lrDF8=(R}&?EDk3;9oqf!Cw}wu=fMu&u()2Zm<h5k44e%^jXQrk zVoAh|Iumv@S#b-+Ei|pUf$$LpFIfb88}&Z$CS9*Iq1a?iRGW>lw8EjIMZ~Is3b-G; zf4v0OW`@3$SZjMryhbjdQ{-Z5_iE6gu5<pwErDG+9=0E#1{!X;58c5Z%SOqR+lf$M zJLf!lrUYE>#s-frq0iAL)c{FJDYbvYPmd!~o&zD;5g%?CXO;xvs*(!SpiZ-8gDI@; zgaO5l95pS9;G~<k3Q!DuDW&ezIP)QTao>zeI)zZMc{|i`&!G8bP>!G&JE)!rX<7YK z$H$V@ETfiy0Jg@CzXZUjil%Dq&#v4Si{><nLmm@B931YCC`TYBJ72w6dTf7C%FBWm z4{$57by>HRRUiXIjizJao_Cyk)la{cu_-|_R`AKy&sS0Mi&s$sM4n%V4PTCPAF-hK zIBr`4%)%ZWVLyX@*Lm+_Y4Nc3#iIOJ??f?C9p=zs6o{s@9Fmay38ZTQ^gTxvh>?2N zBRYc4IgJ*KFaEd!qyxY3Zcu+vS-y}H%ijKc02hcRr<^JQ2ODd@^ztL4iu{>0Ko>I~ z8-ZDo6OX23mIAG{yJ864-Dp%XYPkMKb4s(=lCsKS6P8}HI;2u{tsVl+6tfA`i0Toe zQ~2Rtija3}1h#Z}iFMgX2$cb%+=pF9AzEWU*wl`}XJ^$X`%nqzAhv(Kzpf?&bW#Y0 z{Z()Zw~PI>6}SZes~+cDE9wJ_O2a@dshS=OfKw4KPA*gB*xe?>lmd=u{zPIeC&MVB z{!(MK!Ln)0ws9t&tTOi_a@vuVaO9~<(Yu7wQmi8?FL5EDlzTsDZDWu=$;@gf7u0*U zVgzVu>FAX=yxJS7=(&IND+luZ%R7k=w=b4WhzdCe<R)p;1+f^QAg#wi-8h<1DtHDq z1Q!t0E2b%a(^tRr*$K*7?f(09tAg~;e7@e&nm@lPv<Q}8K(x2!+kve4^9vAly8EAX zE)eyt23PP$9fs(<r;L6AQD|71)76oVBdnrP5FAwTP8eh+0VRK-Q)kR(&hExLf<>I8 zlXgL6rHh<J1xGGOFI?(d&~G09*xgAP<%m|}Ak$-!0OjP_Vu#F=0dp!=91B6VXGAXI zWUm?{XOiGmXCX%vzlGQe=^DFAhGh#3&{SKX3)R<uv1n$;+#)szavZYZfq$2>g&RmD z72rBn-ZL52D0_cO5Lv|8%TTqsUewxv`li-PW7ys@T&<vzYq~Ra)W?3y#39#B`|n34 z{?KPLRZtPtt=b4hk2GU6cPyTh-NvPXz+|L@xdT90acBiuKOIYQo)le>_+qS)appXg zV(Iz^Nc@ele!sUz|H4>f%uIb2EN!hfV@;umh_Q_Id@+Ak3pYkTav^8Y3l3YxdOP(` zCub4j0d^@x1s2X8hVm#XC|wm1t~^K~vLU4uocyI91<TjAFbe!wZtPd+r{bt;UyoUv zLeC`piRe6${j4fhtx_gLP=_gz1~9y}XrkJjR!}{8EeGunT;j81EV8CsSb)Sq`*uu} zyNSPOy`+D*NPsmhkMqqa_>uTwFpls1bFpW&n_{sX0P;=%F-HPN(1NJ5X4OG?ocIrt zsr&o>3gLdDmteO8^h^8ogv*6t6@p2byQfqAIx6#wbJOk6bot;i*CmdA^iwQF1KY16 z@96;?OD3XXt?Sone0EHd;>*X<MdlDXD&!O|R+E1Rw2yD8+^qOz2JjaV^2^7na=F(_ ztXIWOom>&JKI-IXKK8S1<g?>b$LL5>Krh6?DCoX~E%N)Zm_FXsc}$S7Z1h8@A4WpS z2#eRCy3rhiN|9&O8x@CAPN+^O8LIZ@@t3|j=&S{Do^MKC@{@9W|Meg8+H*%w|9#}` z`D%a4{v6n4%Uip2p5BZx5!E|*M6hotZNSY2+-&37j`$9^TH`cNfZ3B)?Os;-X)~XX zfa@pV9@TqoX0W}yKob81+`LrpdIy}4vz(LA;S7FB`md+}VgCits2gAv)TdSObJLWu zR1{vD_H$IX0%(4C1wS?|&-np4v{Ad8c7A_)^VziTSARkZ{naX9IUTkB*{!yeueE3C zw`unhdv%r>=Xv<4{(;nB%pZORuCT{ay-L;ZmV=|_A}J`4(r!>EBi7NHiD-?sOI3jG z4;oGKH7%-=oTb*_r|GhX{^x=>O~3x@=ewh3{*|QS(oji#jEax@2GAn=O1!;&sd;|| zTYM>XxCEop35q+tn3mxFN=0j>&3x9C0WXsgykUd9zfWPZ2ixK%sVurcb>Bhn&f~~Z z10>qt8A~ILVS*#tranZJN`#l6c07LLY*eb&&?<rp+^>z8>+yG`ded{t4l9E*AV>eB zg97-XOfl*RQ8{e^R~ca{kH@H!NoIfQH2}aU1#W=>>_!SJ$Iw;WWVL5f2+JlW<-Nmp zkF@-sXan2#rVXD010_+~Fn=(*e&`FKY|$5fXv)9PhRWo~CvCXD_8V=8zA&HqLRF-? z9YX$M4Ym74Qk}Gjexumhn!y1+lP98Ms-YHt@{1Df!;V@siTo-H`jqM?$VY#B5y9S* zgYZ|BIkdpYX*H>lO+TXQtnxDZ&=baaDC2Dr1>>NmB|SW0<?PnNAnZCB-Ab>6U1NPD zEbh5ITMEOLqm9C&2rE4gi*h?c@(mbB`k0Xtx)Ldtq{MZH8!C-MjHc2{dbTv-M{N&n zF55=}MaC>=pKObaz>EbPfM0*5!`kWe9NVZ1;upkwJn}3<)}9r;hF!{LJ@RIy)#`x1 z1GX%07W2+DaR`((TZri)bft&V1S&#F)Sn$0L8BUqF!z<m60|6JCFVu4Xi|^(`BF5x ze6PEdrZA_N@YLz2Hq}#`<`F;pZzg;mpAwbQv~Tb(7-dJE()5--mBN2NrO)|Y(fAlm zonJlpqoPssV>C6vT>J0)Ga=zG-~IFN{OM=!Dpw!h`SX4J?|s*_{NuX!vy`ttUE{y~ zJhyn(^Y35x&)<LV%x_=MuiyRC*Z+P$f4ax{TF>vl|8I{%Ik&F1vwqg1SC+4amU)ZC z)e)dex=s<|Rx}BHj$wc5B)eQ0hNARR;3!Y(u}<AtNoP|mJ<ry%g{9_!_;1E$weSrf zz5q0%KK(gNopFb;xIBa{mcsiPaUX=O9rt=mzjC%8OSj^T<+gb)&Q`r|1=Z{LQcy)? zUwG_?jC($0Tx7#X$1R+&`7wF)8pu}-_Zq)-+)_zfKvut2J@|jxPs8Vu{l>8<-!v<p z3_$Ehma5}{cY=c}3M9}aUX?115qe>wZ`!p3R*$bWpT)gC<mzXZ!OoNIe$O&^ne|*I zcRDLqcYG~WLa*}F>*K`a8uJ9~L6B!eCqU{1VCb88zN5f=(*q}l{kaz?Zn=?loS1R0 z^VkuA&>{KOfDwOIum`G)(cX_pj3weq$1V(=$6aqu>4E^(!R~T1z-PqSi2r$-w6lTb z#`7qM+<`I?VkHG;DyIkUJJcLCuRw~DI>V)sSfa1<#9qq8I4A(MJ5hX|#UK$V+SHmx zaosWHM3w-x8u{!|I}F^71Y}YhBjMO?pw=T$Qmi0=B(8t1YdSg2G9MU3_<ALy`l>$j zHQXZ~;8H`>`m6q&KVq&|`FR-Of<H9fg<Vm<VR7dkx|tcA^e#ZiVf89N>rhXg5j0<n z(9uUSGmNm!%a;7*&!gisr58<rM{^9a6_?m}_NOap-A)1J|M;#q5=sesB;FJhdtM0H zSPowQzj}Wk(Y|UW=|%Ii?(s~bpzLpn_oMk4lwUI8)BGm(YnOv`xAj%O6r_a}kt;(V zj>6EeN6MAIJe6qW%6d0pi<qaoHgM$1^CaZg{#CS~8X}1HP#pS^r6Fg88FPF9A=8^& zJPXZFGwb#A_dJ~St0pO)BY*$**N^9T1y_U0+xmaFZ*g!OGx_CswZwj4n|Y3R&gb#s zX=4@XY1d!HXjl3Del*AvznpGRr1<B<F`AbaT`vLuY(2cumF?qmwu^qEc%mGS8r`B- zaW2aCh+2^anDFRVOR)|vyUnm0+QC5!r!%SK4kl2XzS7gEQwssw3MEh&Z7=l9@f*zI zAtrygy=Xl&IRuejp|VmUv#qw_lP$s%zK=)ObOJ6A2ql&0h<6zVC?Q;(t$x&~pN*l} z*b;>lCih;eF-T=pe?}Ni1HZ-h?w|2}sASXX+XB3aQFz+pYIna*#PD9nuiQH|L1TbS z%xLC`tJ}bnh-JM%uv>Md5-5RPm86_FipqZ!K>EoTn3t(&GEwePTYxwh7}E1=b&Mh> zQDk%(fL>EM231tc*6~gST~;0HRT~MmonX)td_a9<r@5@cwc*B8Oz?Uf*woM7SQ-6s zXQOM`zMr3RP#8=DnxCZuE)Es3N{`D4DvA)1C(>O&-4FgQq3JkXX#$S9$Mt%*Y&L%+ zXvWk^29xpS@GM<s<7~!yHEN<sjO96FP;%XkNpPP%Tyh|g?eY9lhmKi&R(Cw&)$_7n zCC_ScI=Ya*l$sGM*E3mgv|4Xa5sp5rCW%>7;V%T|jgU6^kC5^tScM*PF{ELTp@53~ zw5Ix;gd3)*(u@$W*q1&lDlv7nm1uu^V*v$c#n{yxsf<lLmAn*lPoVf+5p61s@KE;% zHW0YY=Kyew*!HUbISiIf+G|Rl<7qJ?5O;3geb>4PaY|jO;B~4bR8q!8{wFhiOg4%t zHxr;qHi2N)TH8MnAKH%JnYMV~f1u^PwuS$61T>_F5Wh6n$kxaS;{VJ=ed2%r`RNC} zdHEkiSHD;qxxC!)HV+?O9zUpbJ+jIPVqx*YLN1YQiUV0$`Q1*y`#NfLH&Wp50uKE1 z&z9PUgp*gbsrsql^m_|s%tCy8nD;V%(XE}t+o_LxJN>@XKNOsPy`;kYu++|4YA@Z| zjqIgT->dHbu<D<>)0f)52Y-M5EI<8e-gt}{M~yztKOcb$U^f=vET#y=!X(x;UQE7| z{>N5>H<ilZyJ=_i?J_1$>1yBm23*#In6MoMv=1*8YdUpEUp&Vt{hJVsm@G&OVLA2u zD_a14#M}ZtN`mv(^G8_hqCX~$!c%@|uz;q6;|5Pj2EKTT5-Q!zE^&V$hdiZX|J_o? zG5e$ehZ4ScN<g{Z`<tg!WH!6tzq8QVCiF3BG>ScWsoXbRsyAKwF=4lKssDux9~#7) zFMTfKk)!oLds*gBy16Md(#8k~XrZ~vNyBImDYFE6+@$~WdPI|<L~-tGtubUDd8<9l z4qBdEko^29r>}{d=reziB`Tyc=+T%ULr1IvqCAn=SSEzY$tNmQug3~%W(r^+Zs)B{ zixWtKn|k((iBeD*A036Bv;a2qZdO!^6?mHTKJhy4`tB`nLPzp_Jew0*ML7BBiF&75 z#@ti@lG31eD1Tfu<}AX}8bknu#uoVv2yKD^qn*_LO_e9({A_>RpjHbGj4}LH;68TO zR;$@cpls_nG}@%Ra&>y@i9y^Xbs<T$Q~*SKWd8$3d{FAFDj+OB^@Qnte=h@pa(WjL z=s8eQ0MlkOlxcX4N*_*EMcGur5=&dK=WMnJ;KJ-xe&i!(SsJfaDI+R}0=T35OY|+1 zumt-n!wo)t6it6RQ`AhfMXkJs_T66$2fN483A+*`(pu}0^~*U?GD-f8>_WcM5sF!g zV{@Bcc@$_0sF!R#vi%v}QsT(_o$s(+6Z$CSgtD+i8RumAsNh1-q?n#r3>ALqnELmq zfU{PnOv=a>3%laA^^*yN<FH?cp89(h3@Yc6Jzy{8S=@iDH({Nki*im%K9V;Q@EGQ0 zYV&14ia~Y{vty3VOV*?gLDC2*=hx^K6Am4-f(N>5*8sA~Q;KRCoO;{{_BzF^E7~fk zAc+eZtR?N_y2UZCMdTfw3fxs5vpS1}Fq;FSPNcTmCCDLJK>P{%kco1oNSZKPQU~B_ z14O&BhX;S?^h!s_G39~B<~XY?R7pN%juGm4!Fp)T;K{IeN|M!+Qmj{5@+M#8vt*St zD3&F}j$dF0ATmqqQghzjPOT)7Q5$5^(VPX#3nKU8?;#*GlJ7zp+z@d@8jFlYH4%-G zeZ6b%-2!$f-&YRnV21AeGqYrnMucf~a&t<fAzXj5-wI*70jsm=fND$UTjBy5IMJfl zvK~{8+A83T)_#0oR1offy6-ttBo0<=XnD6<Yo>E88A3;Tht!jOx(9<eob}bpJFUuV zd$eQ<Rqnz%gkdbL+-LF{Ic>x%;6?Vhup}%xVnCpO;UY%Uno75()ZOkAu>81r6G_%x z7~p>(SAXvBa1A^T;4%WO?N}+LBVxf*)<8O27(+*=vyW}<IIDlEZlW3k)Q)N4X5PT` zo+DJ#9bsJ+QvtoOYsI^lO$y|GSk*~Q#$#-6ObxiLT`<nF%R9WQ@r54$@BjJ#{eS<* z|MUO;U;if_Qy{QO0FY^#U6?sC<OH+<8A5*$Y7>WelAKdmCcV2BvnU$F#7d<%#tUfr zUTx&qN$-~!2GG`mAgvP^4|VgBqf*J56JHYTux687MKb`WJC>t?UlLVBq11^sGn0B< z!YA~)V+Ky{ht5Z=o5qysCFP}}Bbaan6?qe4Y-c!I%EnVtEP&BjZaA&xB|*3AIbMHM zVX{a2<E%++JKBo0ZLT7#AEjkho9-70l-2>5w8@MJ#s~&qh}Cru(g{FMsrwcT7htc5 z`oI}axQb&JmZNYOLT@Sv(Nc1P<0*jPA~rtZ-V@(K9B`$C$$U!NY(x~Lz>va1=UAb2 zq6l?)qkFU9*qgBbT<H1G<4Sj7^|*ie5;H%ZAJC7OIcQAtIS<m`^B`fjKlEU|-B~@@ zWwcJ_@3LT~K`OFfmieUz`m_anfuCaLryeYZ_|gO4AN}xNP}cXRVlyL>ks-MAl|7EX zbIAc`tptc!RRJjhbuA6ixykmhmz~Nu%M6Z^V^(+6X$2Cc0Wv25NxLRm#c_WD#-5op zm>iM<YH-CH&{>`U!-ytkHeF9c=cUtYYa&uIZh*3H=|Q0(56uOYC_Bhf2Sn&omKe4O zy@P(*LDT`36A!p14JUwVRbN>i8(gbc3WLO(6RbhCVpW3Td8!7o@?J-K2N1QbaBvs$ zmM-UMRZ0x&(ZW6<dbA{58+(6mX%12&ZkyFr47W@WIy1}JwFV$V@uyLBJ5ka03ND$e zvV)hP(IFf9l1d#l=oU0hB#0OS1TzC8y4p%-ZYwGrjCEm21?7tW&ej+ZFK?VDvOkhp zoFF6NsYH61s%#We0z7z7;4vt2_<_2o6ZvUEZju0#3!<51ykm(dmEeDzXlfIzsf>C~ zJd*ewa}ra)COW;ef1L8F0My}9?n26;w_B9%v7jtoK@EW_=m_o}MF*JFnYnS?Gb$%* zWmA(y66dN~)xf)Q1VefX0s=Y(qp+!SmO}+Nowh>uJSsuRxj5p)CKM(_Yy)s;h7a<x zh6u_MI+?h3{fe({*uQ^RdmZ;oU9(=+9&vj9)C~jHKD*)AvCjL|cw&<EPm`?D4L?mX zn|0X*>%<kiXszOk&33`7f1i52O8R!ePgC^uotj#d(Mn%vL;Y+%YWcCjRbcX#bZQEM zvGWvM)yKlxl$q!W!ric`j49;D!C_-BZWT`9k#^0zKh`2rhi!jx^@Eu=Fvw3d^AN{Y z{TRj)R4$>_sZ_0Ds_qMNu8gIf$1{rTmZA1rBdEglxh#s!UW*{-p4P)+?q;O31rO{v zE+r210g6U$h?sD#NRC6Qt8dOc2@j7dGF#>4#Vd~CA=T6G;xYvu)7h1q+Yu3^Rg1$x ztsrqH17C`NRIz_lsAx*o(osxAGFOxJ(4iN71Z@a!k#BGEP&oiQNMDtm8*4WZ4EZ`< zn(}hA3yx;weZD>$AV$0SZadfpK?C%L#wL<W*Yy6Sfs$COYba%IuA0EKNvUcdVkP3_ z4I!H`oYQ<k4JADz*{Pvkhzp9t)!O7Lo7rR`XgAxe6uy5pd5!lqlw%Y>FJ18je2(RO z<YLBIMn=_y2PFii_F+vnGJmVm>+hh(-3{T;=sHhY){~%UBuK01P&1pEHR~xiw#dsM zJ?~XmAWHCcH!Y&T(acr(pliE(wU)(7AoK%QTMF4ZvRD8oj+@e!Lgnu11;a;)|HKj0 zH$^BurVxMFfG>Ek8|1`3?;pg8cBn5WaZ5kyhUDmUOdv`XM_Jqh0^NyT6iVZgJLHob z*=}Th-fz<LUQ&jb0%3w{<2_q17D;0fyx(|i@Wv*Wf`eWd#ii9ydCbwd<BZWA5_$EK zrUEn-ux?=@+(T4K*XShLPOW&R=47npI3?8_+n;}4<oYL?iMIFKpwgTdx35JruKD$n zVdn$Ql*0{z8RgiIRY+o=Rh%y{^ZI#72Eb7PISse5YCY6mT%z>OZT63lAs=V|dbY3; z4rv#s(xC06Ct{q=Q6Dw=;gQ3&C&YH0pVYipt9@z<pxIbc-|?<`Z0jduL4baHA{8fu z$GU%{Rn@3dg?$-3Fsi9HICX-6K5BjN@|UilYt|u&u)H%{4*Z>4R5MI)R^TIJy23ye z&d7zHG}J3iO-G>NTCdEMchdrXl)58lGyw=FkpiGi^tTR_zj`5<YJ&}OKrrKmX{D5^ zr4F79RI3KQ0q;rA=#HORxrMS(3zP|wXwHAR3<$qi>#XgE{8ub0npg+rA5y4XW~=gy z&F^*}j}Wa#wGD!*8sI}r;FebaTa{tC6prk|!sCc1bkn>NP-x4B2}{*at(@uwO(&nn zZ_m;X#AbjDW%<=NTNIW41dcucOF*>0k9P!mwZuGan|~d~l6?a(j@atez`x$}v}T>O zk7ZDQ>VoR++NXCuWaY%TVZ-}A9gbY03l8IaUxl$&|A12pba)&CW+EmA8BIAG12g?9 zjL|&7<`gh}u#Qkbvvgr2$P3h%Xd?gIHIC1mTCqf&b3Wi>St0E>Zm&vI;L#*+jSeqZ z+^mdfCz9&_vvL`j&QIsfI1H&<93Nf!BCu$GX3PC%rQHrh(OgjaLLLbZn$5~l#R&sK zbf0x1=w0NVi5IXM#ZUedqQu$GxI1<9Hn@kaai>!@?}dWN&X&T`%x?#$tk6oLfInoL ziKYS@JE9EkR$VJisT?aA2CH^2kPRk4AK?immDr9B2DVWHoh{oop1Y8c2~~&DFR3tp za6CsIASU49t<-9%tC|j%vh*Erqo7%8r-aj5_M#T?QAfgRWvnfNMMp7GO3<NnUPlk* zxKzkt+F*WUiInDzI9@0A*iubVrG<kESKE}8ZbOgCA{IHS{O++-o)y$0ADfcwLe<kK z&E)jA%2k`6!B$%SC!CWNo};kg^_25}Vj`!zY!^Q#aMg=SXF^bY!PR<zVrQRz!qs2q z>Q{V=hTWgyTfgyY9I=}BD<hm=@#>0iF-D%Utg4l=9Dwzw*MljosQ5L%jHZicH|WPI z*pfbZ+t%-6<F9~wn0IY~5Go<$AFZf*k@8AysGVgvRsu0FP0<G?5MAG78i*QydO}hI zW~Fyo@1|en_NKd1lgN!m5`MdvlH%uk!Jd<(Cx8>-+;0*jcL_FOUwpPH)nUT#=LBrG z*x^BU6AmHguvpW&?<S5=YIaIk7);Z>*z*r_^E~DR#_B@FD<KI1Nr3l7C-wXs4{Tvd z;`$05|2*nTd^}$m>6d}^XiJZO#u11F@rcp%36TyJ_q-QT??sRYwzH@K_ajPlnvgb@ z{<{r4ia=>GHhQQS<nf6#UyylAYiEL#COu-*tB!Ip7-`ni1#x5{qXExcc78gtp0XcW z9xbtFCfE#LhLjNN$`<Z}MO3j+29x`l!n<-MJ2kpO#ttIp%34TFwqN#t0VS{KOcTnN z$}I79OZA92WkZGUHTL5qf^IPJWGOaLA-c2u<qhSlsX7tBOYk^^em`PhePl@moBwzg z{7))jmLLNqK<iB<7R-}M?*RSIlB0cnYt(0!Y%a^Cd)+x)qjGT%yZlrFlO~}Qj$=qE z=3@gNmL@A?xmz<H$>lYF)KT1aNz>8!D21slEWZdp^R}_RI%%Yz`RM2;9i5QeR{9d4 zU|1j0Pv}D10=AXL&swhcYb!m#I8+}Z{Q2v(X+#xjFy#Xd+fnysg82+Xcs}WhTEKaV zeSD|h36(ck9MV?FfrkuMBReA(N3})AF|JAsjOHpclPC<w3eqWmgNU`X^d5zQLzKQ@ zwvZhBy3}M2V{2`NN~;vZjI>MOc0wCf$=;w6P>=T2*62|M>xKL{3See>)<ev3iw4a{ zG?ZA0O*2o~m+no5u}glo6jtlkG8^SSS@yCkd6I)nq!rXD@V)q`R#KQX-9J8B<ur`< zvxvQ10n`88GyAQ7ZuII4Z5{VM*0^7l<Gj@kst;kQ9#T*1PK3G;$k(kBds(!C8*!dg z;P{3I^BYESTMrBtf5qECs7s!>RBiX_$Dgl{2LylZXtW;1gAwX>Juz5c*IK*j=h^fZ zT3V~Nx6F(!rGE5*`LXBq!>mmn3kiA;-!lS0Y3AApwDG@x0MnePc=qbCr06aohJAJZ zIT3-OjW_N&zvM-EUajRiN>(?*PPdCyEZpBb>-@Cf=sam%-qO!yg@|n<enVf-GEwI9 zj3@R5EtD3ar~)Z5!JTg%y98(-nU=157L@c;9636A9}=#uv8?{Xlva<@rCae-?5fbb z`#DU06zErfYu#R4XcnW$v?@c%Q;)A%cZ9GM-xta+W5+_<!3f*z|KjqTbMpGBFS=Yy zm(#Amp4;TV-w@{A<nJ%!;Y(flL&cmwJfT~)REdD)(ayHVAKAS@|3#O-CpX`8dG?=q z{+;I=f|_VHMK@s^UZ^JbmIgAeYE(G;g=)Cs%2XzQX}#J<G!-r^Iz{%SquY`d)yY_| zShr<$TNgU@wz2fLCuwqQ<}_=N9jSn%_RI^cQeLLXaXO%7>ks3!h>AOopIULFqOn!k z@0OTE;wsf2HU+KGyzrh#8aW78kx_}1btI=$t;xMTcXo5Clw0Nhm+n#V&YaZIO6#|v zQW#Bt_fA_Q>G{zp0){+54<MM<e9wy_OgvGFM$ks91l$CKw%1@+RT(hV2_b;o;WgdS zSzoQTVjUkZDLHOQJ?eC{N+oK4-dsPfSB>i|w+Wq^#x=rquq!3JmAaL0+~gIE+z#3r z55@GJIv|p-;_0OyDys6;iWUrD=F}ZS=}07h&MX?o;P(*Ql7YvKFibdilgfDSi0R1O z;cvX<8?g))*pi^6iJzE`(Cl^c3A1iWaaOB<bfuS!2dOfMgc`TReDxUVL7BZk+y!Fw z1GDx4$_XH(DQl8;@HiI4t+>HGlQG+jBnnCni`<8bo`sh<AE0f+IhrsiqJzfiycE2D z*5gbBBWgqj6^$O#{p3?_M;&pdNfdUxeQC=M)k6I#C^B-#O0)eabAp2Xvr6cqPN~#{ zt#z~_`=F(ud~`dE_+Iw)LjL{)PbXaj9#6E<V}tzXOR@_JwYr3&lPRdYe|fj_PlzxP zHPr+3pX^t2e(LHebTS)(LZ%}YCw#nr?lB7F$0AgGSwy{o!u${eDCXa~Iyv)ayHoT8 zJqP23O?+%w2e+@EyewxBs+_wT!hF_^30jba=lbP~>%`2+DiN_t^pd%sgNjxG$ka;v z1i@4`4bP;Lpu&5i_~v3Ix5mCNQ-kS_?t57e+FT(?X0}Ki^JXZ2y+!!rFJ>TrP9A-n zM<s2~(^!Eh5<s*T+DNG%rV1gh%*ph+8m;=!xYPwDHM^}$GnPuu{cc5%N6@K=XAg7! z_;|!e`rNkm&^Z%3vvV(v{xaozi6(T)BVzMQqd!bT)KB&CL!*DFzUiLR|CH$GEzz&| zn2z>H^Ka$zQ=0Ej%@Mgc#YQlHLui~;X-jkQgOk7XhR<=xPY&)d%kO5voBO_2)X`V> z2<=DOca<+&P)t8soePoAog6}cU_BnoMhvBufVQf%16oI#eC&mEgH~*uH0U5Bw=PW( zXxD^|jfVz4-qws8xdnV31f4>?2jVqxA|w-Ew<^ln{yu8EONh7IJ^ws^@t;@X*2jD4 zRvZ3JIbZQz)b{EJ?dy*JVo@DWKjB}G=u#0~XcgzvqN-oxf5rFtMSO3?_q5%}`*#_r z8Y{m4W>TFvWu38&$%#5}Ky@A+?&97{lvUysK0QHP4j*h&35Xk29avihX6Ku-#I5yX zB%$MP{XH_h69N=ch?T{EZ?Z#x11+I^svsx`I+b|hcjy+uzUWu@5(4BZ#oLi3OGpQ> zo-dA-95rMk_nu@407wTuQK7T#rn`coK|o!P0O4!4vvkgwo^ccjZ%w$@KWX2$<EXw6 zreG$RTQG|ihtlEVXyY>IdWz)8V$V+8WNWzM2xMK3B5{2{W1!`K-H`)@84YN3`jx`1 z^feJ;;BwGt+X71X$c6J!))Ve8SV2ILi2zh7qOC*at@lW16FqR0=58@Q`PThaXi$!< zc~N~1Uno3ILsjgE@%!kO;`*{H=M?QlXObgR6QL)fy_@`$%A*kVKmaRpWk_uQ?_cWT z4?X|Wl#C?sHYJ09_9-H>V)T!?_~rp6A^(5{A$i|o^w!1sDvKYmV5R8KvPi-HwH=eE zUF!v{6y0hHB|)nYtp_<F`O%Qa*y<p^ttnkGm4)N4Z+m2RDFDa3PvPxv1e{sIN6sLF zE^CWY`~ydNPock0;RbF$bDnEte}J<<N{;~!dQ(%#WS4k<&fyalshz>~zoP+g3@nn` zsc^i{!IbQ;@Qp?F`djg7C8($`Df2r#_<7s+J<Riqdy*VY|JeuOq8|^V1NEJ#pl19; zr+@K5D5Ym3N=laQi*VRBV#;zV0=p`^Ba=yn0L&XJG^&dAa~IbRxT%HQTsx)NJXQwF z8ALmqFp55ZOaXS3SjOpF78)R@tOLJSn?Ksa-Vr-HwmtN#X(cV40=pK98x2%Hj-ARJ zRa06hC!%e(l+t}7ZW|Le98Ki1_$hh^<hNv*CfySz4zxa$tPsTMoo-;*h<gm6;pjqN z?<4U#NjABfSSaU|pcEAEgjZ1q)wS7za+VEY7wtiRF-@`9`VE;@`s^(hN{-GAAPchJ zcKhQRA|2mHKep1i2uJNv!TE+mguwPN`ChG3pr&`vyZ(7Spa1dy`(OX-|M|cEPdwHI z9$_$goX0fPj8k=))ptPNc8n;3XI1jX!em$Pj~re&su+S*@}SdTFijM2bw4PK6tOO) zkf@@6y-%|m6%uiNC$fi%Y&dL@hiVn8Y$4fc&5`LSWx!VJCAg&oIqIvU9#O(SN4P$i zoLHzLTI}rmeKZm=Dj0DoRGcswIEd=+J>eKsbdivg1GqXS0<Zwl42DngACrKDI4N~q zd6!xAUfYPz;hYX$G;{c$J9$}HtH-?_P?Z*cKxj7wWFQN*h;B;{8CQX1EyIcvxAUP9 z5^JI&O0~6$M#Lj%k-T8!6%Tsbe+hrJ5?<VUc`4S|aUl~?OL?r+IR_Qaz(9dd;Z<UZ zZ@*%K-J~LK>7#MPwT4XWf1BZGxF6&9zFfvgH#j9bAYyqbdfWrmfXXuqdlkmjau?@+ zuQDEHIyCRsq;?ScOHrO@zAU8j%X*#wvTmQ@Rgd+&igNXP6`zW7BILxm{)3_{xQe3e zqrR=@bmumD4d?D({&|0Nzy2@(uiC9<uWm&NXFgk@OSkZ{pb5FMkUD}ggK8#YK1-ZV zCJnaPYM@$!^%ZZ(h+!#ht!ryPyDfx&CFIo54Q^kI+_t4eN-RiN7(VjiX0U+=(fWkq zh5o6y8#g!d6n2m23_>p}?WF0SZAYL(4F<<|0g+f1(DQRt+3Gx5Twx8ZQG1U}k?=&d zBU4SbF?Q)5ey7uLS{+i~Ar}3KUDZj>a@kae2vDXyL}S7a!7-fbV49V_Go{Uc<`BUN zu>%JrE}|3+(Tf$gxs;6Pyv{kPu6RL$QkmekV=GOEKH{$mj)bC(RkWy)RgcBH_1W&x zaURBsX#ZN>;b>4)<Qqwqk`p`HJR~IUBp{^@ysE%0b=<Yg5XDEs4xV#V$ZqT*Id#3n z-pA6cby-&sTwo3GP2)k1_5wqHVmvl!0Y?nHA1O%(PMoJwMpUd*&l2wGS|8nr>4djz z?VlB#=x=AcvUD$)p-#yDIcl`AKu39^UR|N*XFcw?I$_CwG8!wO?oV^aGUsJvb5{OB zG^i*JM%n~X{Ka5Q#%VsO+ov61<x>70gK_3*2TxnR`wB8e(<__R`LQ{F{WPm*b5I+p zed^>94Zg;gc5giMH^36O9@?H6Gb{SaXrqhtk6ES{v+A)JSzNt(d}c~k_H5oQlts_G zg^G~p)g(_q2Wdjcq6MBaYn9$HY3qTCqhbSqpgw|;D*byf@&zaeHuG_1M?Je198AQ9 zy|QhymXzl(jD$XWZIt|f$?>3qDzC6#M+r~q;GEp_1Rw#n1uS||vVDCjiu=tmsY<wT zTZFm3Bp(S2^9!|#x>;}6XLNmD0e!(!udXP2Y6^(D(Ob`=ra!t`hE$|Y&r>cIq@bXK zw}2KT8$G+rQ5F=1W7Q8^k6^JD6pW8HWqldVG1pCB90G3y9^xQ>iQo;F16VvKU3bPH za3ShiquTOJp20=W30UEO;o>26(7WVsO~q59g7HeMtl$EniiUAK(s7JI38ukT2XwAm z#9`@{5N=Uy41r_L1+i&qOe=sbmdum%Y9|QHiHf;Z^4KlttB40J2<<WvWY4g*@`>E$ zKHvzW<ag1%yf(srZ7*Hv&3hqX1!t4%8BJF?;N(|XZ->+mA`@LDY}^ak;1qF#fy%aV z#GFb;hroG=D>|9{H)A138D`|t@f$|nOJPjW4REL5Wu<R>bgvsCR^zTy96PzS4<NL> z5V(|L%6&vEsx%XIdOV?YVHE}ZG9rf%5hsYXs8nfN%2&#NI})jZmn>tsmvFq(7ViKm zNgvNv@5g3%*9A{B@;FVPAsAcnb~NhlppH=w_F4$15J7>4Vk4)sAz^5wQP(y;ahbUB z*7;V1Wz#?FAhzW}T9LD;m+)X+!irg?N+b@kL(hXuwPk8JxLUd&eO&6vYalhC3fAp_ zV$BQHoLpspYjDOTTPZ+ARpGis(mkph)Iz|tk#Qy_Ow>%!LZrJB6>f=cWv{f7TFpr- zie?%|1CE!%p`TDHyT>b*y|r<1#tD!UbF}42^%RT!_R*Z6bI@sYTy%CoEvy5*Ifc|h zXG;RPBj=$3XoBbWRCpALLO%AfMDgy$`NIexWA|r&1)J{wB-sR-)0c$i=NHN5#&vxU z0nT3}n}fCUh<gA0<h&%Cd13V5pDi%@CV7R+H{P6I{!ocXe3&ckK(Imp9mau2YFs=` zF#xZU_>mcEQ?hKxs($)W{Ft4#Mo@|JbQ15ml>@nGD%Kt^Z60%{?`t=fg}Z9=zJx|I zJG7{OG*h`EIEVAjXN^C?7+ry-g@licT=Ao<oSu+MfDd^b1?XFY4h^L%-aU#@gm(D1 zEx;HckI%&TSFx%TzXh|mmL>P^sK&m~Pl5Gr9z#W}pJtk}NI&9_g#b8vMWfEZ0oQ&X zhzF&8aB*DVL|IqS?Th8TqT!Cx?Rr7VCDnm{St-hjE5IJuiJaqF6e}X&%y4S8DG#H_ z*yYBfc)x;7Azf58e1xM>VXASSG|{%vmyAK3byS9C3u2`^m7T98d%~Q_4v_zQU4n}n zkRDEuNOC{@2Gs|2t8A;_JE_8`MATn0pjEOl)j6Ue22W&3r%$5m-Q&B@J6gduKgYCx z;oSf=XF*+P$iM(y8QzPQRvvFRy2~K|TS0KM8XLjjB*0;SCqq3ah$j-Uz%;@j#IY49 zP%XpIcyHSV%bW_con6n(oJJvK)h8k>62L!qcJRpB@F>4%-kz}gJOrDD-6^~GT|$su zX@{yyC$zlLCbgc>A)jaZ)79AO&h3GJZAayGU+B1EMRHFq-Oj-_c&{^_c!qblnC(F2 zogLZMap~tSP@{xVeoD;IEYr8~orp7M;ma_e^x|YSlL1G3>4h?qI4G5o2<gzz2b=Eh z_a23qm7grQZm10N8~({V-g+otpwn6tZ2H~7yUO-FrBEhSyEpuHaK<s1t78Fw5Zeg< z{+Ji;!)Ukzq<ws?#r$;qWVB{3A-kvO%Bk?)+PG<h@kHeIW$^RbgYAnAZkX}Sv(XED zzrXfgNI59_asT_U<wm_Cxbh%;VnRHtp7%ZI=OMw}e>xQD`Tqc}_67Xe?DnOMfXbap zD%!rOdSD10eQ<x`@7G?|{xBSW9`W$xnis`$R4os*PhN4Lb~7r)#0M=pUeab&N-h8( zaW?o~+r68sQ%^p1R=EwD;A_=3oopiJJiGr66Gf$alkw{PSK(vnNpGo&ft>88dQ|Nr z^E?I*h2HEYfG#wfj^Cs@o@6vg{N(lgLDmyO(>CK<0qAN3)Unha;aA*$QjwLa*uJ{C zjQNDqn`1ArJjyihY@>8cJou7Q6)i*kFMEdx<UOIy9JL>J)ul%mIgg+VB$1d&KB!zH z%bh^96YUbct0t<@q=PA9MfeC$a>D57jYW>?C=Ry<97`_!VTH8q2ZCTYJAKaDiA;!| z3zZb)fkdsDvVkCJbxpT_N9MZc2tyq!xI1HaF~TB(U1}z}FA0uj(gEZ>KqfM97?kb` zMH-2+lzti^9x5}V8U-fjlaXPRa_5=zEIMEjX)&iHbOAZHL_8+Xm$g3XtB9{|tU{?k z!*TRc7ipf_iNI5}ID97lSzB!DMKwGsm^K!Yo(zFI!CFWC4|J4&HEJA-kzLp701@=4 zI-TV9M%q@fg>Gj?_x76Ld<P&fW6^Qx3RZ`K?ISJ8w>Il308UjLWT8@~?=fiOyhDBr zYPn*csJ01dYotSV^RT!WbccD2ai$>tR->L)MA#7+iGAk;&?Y_h8B#D$7$5hV0LAK2 zl9~vKq<He15NwBkf~bQV1mHO6je$QJEv*71nt|eJ3QY3Hd1g>sWn(7JzAT3yk-Cuy zW<z($->7a9TiT8H^R=|*y#COzQX~;5`twPpQu?EeLn4i8U)YhK<bBJ<a+8I(fWRnj zeG5&W`SIMYvp`5c>vR3&nRRNN2E#U(-oiZMb(zwvjoP_?Q+2L1pxCJF16kmZhf)xn z?5$!QN=exnf4HV6P2r|r#5JLTw6Ko$fLS}p%)eTuvqXbVz3f$1?SY)k;<b9%{3i9a zt9eU(^yUbC88`I&oZlH)Mg8>PDK~&<$quCVdl6&1JZ=%R_dMtH2!Znw`eK6sDOF>B zag{aMK3)=kWIxWwzjjtJ1fpx<an5>1R<8(SB!=~0nH<^o1ZB)tBfwy6D^-MG(7QE% zI;r^*Wq~&zqAYax%wJ#e6k7G?v#Jf}^0-!)?MIjW{Z(9^<LaNswSw($qjW8h#4h`k zWPATQA+g94-~$yod$pE^n4^`VDHwrZP!@s?tVp$gtsvsoIiS>YyzVkcYEL5=4CIy0 zF946`#jj+xDyY_3lMdIVP6!|hE%lbSMZ|Wo3RqA*z1iLW@hSZ+O8?(@?VnfR)USc_ ziX5|?m&H-Ser5S**tCaZ)vu+Be|qtslVV}mypp}YlKm@w`V~j}zrjTR16NC%huDhB zioZw>DemmmsB<G!Dr}ZL>1>xa6ayZAe{#UWNhk*ZPNFT=@Eu1BqR@}CweLbCIuMCY z93u$?W)!lDI-1YrP&TFvN?6OM3-FiT>V6m<8MaIcR`N~D8%jl=?^V{RQ@aCkj5#zR zLd-5mNAG5w$_$Ka#iURY1{OTfxl>{$Y>})?PXGeV$F=3efEE^Txp@3Q+DS!!-<6B4 zIIAZyTAUH8nV(p@`+`G4v@_|0I1%K9HRV*C&At5f?r?BIj@cH#{6s*yj|`ta^>Cen z_z(~4q{IX{iP)S`IdW%>rhIeyYn-&M(v89{`}wd|67w+<P7r%nDr?LwdG1WD=Xx?! zA@w>dwiI6y>@B7%wy^};ooPFNx~%A^jxlHlR8MQ%#mTo5-f(x3iO@|X0c0&U@d$Hq zy+xjg_g-bm{L&-nb|(X`+&kCX_7v@aL0z_5r@Us&?>3Tl^PFEJ^ZgDGbHrJNt92}$ z*pWoFw494?r%|CW=i&ZJo&iuN8RPy}j4~-<OQV!Bb$}8Z5amuup7qRsb2gr5h0l24 zu|=jft0z(k;#8-hRH`K+1S`P4LJb)~4Z&3jG4+huk{c-1%4j?KHrHM|&a`1+Cac$q zU2^YPr!aW)kJk?8T2_c_$fWw(ztgdS!~r2<k1$mfW=PeX@wAm85|jBYYj!rxIW*8_ zpOg*efx^Nn@JJOG<wxItLiKR0tF{k&=>cE*;_YY@AIG08ucPcFlrt*Wgn_{FC^)4f z^~Nwgq&SRIaRI=lgxE3z)UbQ4kS1RQrY&TyE-SQ#q-NNxCkUnMMJ#yyLh`8+UMX{g zz)kwA0U^(c@K3a*P)!tF-Ue;98r`Unrr&hP{0=2`9=kGiF8KR@EKEkJp@<F-mUTa; z;?1o0NBa*rrC=AC_Nf+8gpNSSdfTf8)k#&2kb*G7cM=eU(!||%LVl6zEl~ZmnOcGP z9!fy|{qmfYn)?7Tjs%@4U9)B)sBa_-lyQH}1USqB(2vVG)5!mt1&m(-BvJ2+XO}3c zg6W6@$gH<>-ln;Khr3B!a*Ixp)>`CyTwSZp0L$HK)$tA#@<D`$aet0Gr(r$;=wd0r z{HZ7-Jb-RGDDPyXqdTK7AY%z^=JkXK8N&hRjdel@Cxu19CNt@t^wRPzr=QJHDkFgH z`X{%htu8qodvny27gri7WqmQWw`jyU|2}~g<lKU(hoQZHnf*Nf)$<?iyadN%@E+0m z4f&n?1E)pdpp@f=?Y@FfZNH9|P$cBe$OsVIgJ3y0@$_Chm?F54@2&wQu`1e(Btd>A zoG5X=q>W~x>j31K6J%d!M^QviH~gsYC$`fe0}~c8z$gmd^?Cjz)XMeX1X(~C>o2*5 zg_#Sv4}AH5aUlv+%5VifqrV@~vH*`xP!YsWXhDTEvCsCd#R+#c?uxKCs6Cn&)NNMJ z#JL#`egi@}M9I83qauQJS6bhR_@*GVB<F<abj*?PBRWRF!en%WAl(vDwRFesF$<E8 z$WMMFJMF}-6%fH}EUk#MJ&sCU=~*YUJHLJr83omUI9ifF)-!x<;NcCPP8qtzzvQ(O z{%Im|!Q!iv4D_cZECmClvAD~Sw-Y~S`!0p)7-Z~{WaDV_D&25&?EhX410ooILi$e% zzkC<cNHCZke-WWd)i5QEF8o>1BJHevNh*BGmz^SaR%(uV`5q}<DQZ^1UY+TzNZ2vH zqlbN2jFmn*RN&>8CLhpNxZG5&D9-))S5=7ri7K-2PSV&A>_+RHIO9Fhxi}F6{z#-b zpxZIWs;IjOnYo9h6;58I+#S#N&>Yo1kI8hRjp`;!2TSS`N`+c;*O#Cf0~i6Rm$?}O zAAddzOFqy*<>We1R7#6&Qg2$!yM(%<3zF@J9$6xkqv3`QJ;oIIPOUz#`l3Wk-HXu3 zMjj>63A-q>X6$yMkhe!oe#@AuJ(s9&bhA+(f`N7(Qs9epgk0MCsxNXFfAB=|P@Oo7 z7Ej12&~DrlI08#U-BaV6^Rm+ONJpJaLVvGKDGE5*88%dkaSzJyt_-D2@Lj-s5GiWi zg_&~#I-bjnP@=nY`%=eO(0>+6(V{DIVk82PO6ms}?pSU717l{(2gssU8?o!zP6FZt zI46}lDG+i(Z=|HnL>N^ApNMk{@VdeZ&j^87yQ>kKpyYDl1YY8F-GdP$`Y*p+Hh-mH zhl<f`2UN{mBv&fwb|E`*S#r<_fqYO%lsWf>UA1S9a-7}N*4uLXsbruMkzl_PN)|=# ziaOzPEy#RZ_4in`mcWk;&~VjM&;Y*iX(!G)1luFbILg}{IE_9+GTpzL%Pk~h$OWl* zHW==SrR_q8oU&`im#w%963fvXiGOTu;Hb>8)hF0T`f|Kl#r~s%8)PzWR0R(ytM)b| z!`<qo&!W$bO!uKU-41hP%%5)yHW7%yEb8fBLS024dxW~4h*wkv5YK!JO{`8w1^_5N zl)B}D0>wk&Sl#Kaq}6A+_dgC!Jd)vYmu0Uu&*abv7DFnV6kSfcmXWahsDJZzKgBA3 zQG2C@0^-M11IcIGS7BpX3&FaQ?D_qp%u3{!mk>MWH%)PlZ_$hpD@<$m&*{O{Kh4q) zA=dL%zXE_ofIXp$6aBT$za45jU{q`KQqzWU@&l*+53?}yI@0&Hg;<X5kUG26A<Cf7 z31}`(H7A<?s#+DU8d4_PGk+LLrHBW`gHX2%6N}CU#pE{r>|%(Pq$(jM#?Z>`=_lF* z8y+^8!PgddSOt#Ux7&W#l@c)zcJ+BHl3mTdIPTnM9FKW4)+@qEV-f%07X84h_lNmz zXU@aZjbZqe8J`n;r;w&#=i(R#un|$-P$WA)u932MV%`;YX$<X0M}I`iu5iepTr+fu z9%r0|gGHnMY3Fd18HC{TiUfqj;J$Ik>1h*X#G{k76O#qdUryc+ex#^$kgIn$u?d6T z<~)U{oD&czoWOKhH`7&mQk_29o@(^CzmeA~D}25$Q*df9Q8Ha2p??2hjgbMZsu;0F zjGpi5u~>?MyJxFoG=I{tj*lUmc~6e@nv><^SXip#60<u~&tNyvNOXxckNsPDu90Cz z$whredN$$+3DtCv9U0yc@NNj$q$a@-^gkc&oP<^)cLFUwnnHY~Z+EVx#q~19sLP-3 zTyU;<wh`@=E73khOWX9<ojcKB1ehn?;bqSCJ~1lUP&6?{lz)i2?GLSQYk%11bbR!O z*`mslmO0I)m0Hl6n<epSx9PQil3N01P_(mum37Bdytn^yH{1PFNdy6QIuWZ3Y;Nf- z=FJFQh2K@#vD!!O*U62Ktj~Zj4<U#+`?5681$EZ4(~<ltz?17$MpaM<_s`EGX=In9 z+tCQDj~_8TD}R)G;rL|&qE!SVzmh>(lR8u4qKR!t?MInV5}ubNiqmN3+1TggDwLs< zexDn(VRidef8Vkmz(<ycK*|d`8@6&A#|JF~J_Cmq<c&eGzFym<dLO!li)XLNis|~u z`4OHHB3zff5I+JcrhLGYHjX@|5-Un1EMEYv#e!yXCV!DQ3U;7WD}Y&tumeiE_=r`G z8k}v>;}9Lim~?BYFTLoqS#v^fUPL2^Icu5KtnM;?AZAnN&4_}SpE~tsL?4K`Ka1mn zR^9g}z5all1-p{!A9N`EQabb?XBM%Q@%%u}PYA!K$Ztq2e`Z5t^+rdbL(S^n^Ztm9 z+{-uTXMaU!)guLdSM;ySSgI6Gb>Ttox~FwcHk#SQQ)zPN^BGWok=vnqTJXwJZ@s;K z*V}KKc<Jp5e=k$9pO<-q=D(LAe(Bz+1XcgqWe}I=1!Lw7V=iAmLFXT0`(gYDZI%|Q z+J1H<@YJKv&|GFz<*5TUHOoFbk1|slahV`H!hg>PLZ>ZlWqlZ#5GB1>W$Na5t5;{f zqa+vQo|Q5geE*mb4YmDOY<l6OCw+cB>EE4|@uUM;!zu^?PI~Fj<PoxrksS-^pQ9E4 zSwo+rKI-N#U!{KWRVGJ0*0XXjfH;hxiK2BZHegn$M!?S_C}PD;EC8_Q>dWSrE(3Ti z)_(=UW|!>IPXBo6$FDx>@w*bIS}4({5|5R*n5KDG;ufaP7tFHRiF0mX|B$85BTFfV zE#8VrcuS9kfjxA50DOQR^6{9j>C*W{vX~DQ%9dK0@Y`L9&K>7Jy7DL&Pzutb0vdxq z??%~jJEZ`aRHDE+PmS&O-t-D(uQ*eNcz;N|ORc9S1t_~|N^=>u_yI?=TSVE@D*w`@ zNT&|aN{^xti5E+3r*zON6sLmhMoZLnO(OS*pLSrSBW@mN9rR-9%n$0NY=DQTRZI=& zx3;-*+6PZ`Y~cwlhM)C=6WeN6p}uzDn&&@p!Ie+mX?31lCfBt(pq@v>_;6@v3xD_r zc3Y7ZKsIOTQAS_#4VWp}GcWIYe1>`kmlW4NdES{XY4=e9TN759;%}mE1;<Qqj4dgp zA1XYlOm*TdlQiA`0u;^z6yWaX?2|+8ZoS(_f7tLh;9}>**xqijg31X!eIC_emtUHN zu~T`Xh0Wq6Z{#JZ-p%6tXcmB)d4D+Lqq{u+?nVvt6B+Ar$2nY~1Q}p~(y31dQnU$F zfPEvJc8W=-bhMijUk$Qe<#e+;SL>;z6_F<lc#Rq_&bLm{%<7#HJU{;0E_9+)@bV$Q zPUV)uQB2+Nfr&ys?~X8no^&GHZjX*S-K8~e486}zM3z6*_PFrhq>`89P=6%UyD|Ml z*2yF~(~A;Rwt~)omRrrvQyJ4oE97BZ)4tf+^3Tcq;c<#*Rd^0gS%m!5tZm>AHR$M6 z-~UCPT!FpWvZ9oWK#VT1vMAmqsAZ%ycb`xg*nh9!_1E{;q4ryAiMad~zW?dSXsiAf zPjT25)yzjc@m_%8m;KEzXMe@FMHusbf-tSb1N)4qhp5FR{mpONh?*aMn?BlY$RAW~ zOY`?S=!5T#rv1gwBv#ZT@KG6!VZ@HcCO1|6Y}yG5r^vu=iD*Qcvft_i{&-S+$oEnX zSK#Wz*6oSW;VWCXBG*Lac?uIX@)0?H+?wX9=)1S~AF=Y&;?+GUgn#w?4I5D6pqdsl z1h<fI*Geb1q~>H%MgNnC|0YWP5GAh@zUJ_yU!TZ?udA--f=)K;{X@QbHe>4bgO5Aw z*B#XNW8|yz9Lejbyn;SIqj<C!&)+S^6D8Y7*z;*3ER}Bg)I4YORaDT*h_|?U6z!>$ zr*WlJPl!1XAa_AGqJJWu(XSoVn#TadCOqgO;%e$fYBX$C5_;lN*&?;!4E}42jJZN& zYL}=jLUg6oG%N=LT5Kyy&t;?BxDG2A^<5it8~96V(pBCHd*Snsj;%{#CHq$JRve?t zoV?Wa*1DA2j|$t_pfE21WYElS3f}MD_oLN!Q12G{IiH2z0)N{-*-@nsN2gyKQiVtQ z_?Q1U<rfkE<A#1fp!(d<3C0N#uWea@;m?Mbt)g=!idbQ~OF90&@?HN2K(Z;k08(&W zgwlDb1?_gXQTqvy>c!lj?XKs3+2U*?5m!!W<_%>$EQdxyw*da8W3;;}qebK#^J~^5 zJ2s?J{ilR0)qi&AskQQ^^j*uD*rCwhj;_MEi4s?lhCLa8iOn6&BVE(h8c-{I!`D3g zMvb`<pj+0GsRxlmwvVG^4UmeVZ#)1&T44r+A5YXNs@B^_rH<Wg13cjcPB#!<GU`M6 zZ*!ct#Xa-s|MCGp?~E}Ph6i_M!u0!I{@7#l_lr&bO@EBM#ERE}xUg$J{quRP5NWU; zig|a@rJO%f%n#`~6mu&>1jZv}`~ELB!EJjdlDzV%dQ1i8QU=Bu?ei|~|MKxss`|0E zpHfwidt*W4C_dbqD<Pkgd8hN5cls(-Uq!b$6zQ5_kgVg+&;P$#LKw@p5MtV`5HjXf zX59Ww4u5$#9N~@}Qn7WkT~x2kvLl~;$N%{k!$e(lenW>at{*ab&m*I^F5oI7TYSF3 z*ZEZ#seg;wKd9*QSHt8>7&#xWhZ9X?@}<RYG#@E!o%4Smoq&{Bvl^d`_~qDqb{ru| zHH;WX1l=RwOvg>h>QEs+eF*jC-_CKK4b&I^t$zajVtlcg#OO8)_vU4M%^F|l_(Gr` z%dqhOc8>jhj>29bUBTc7^87>I;&s#<D=ElbN1LzLX`-W7jAH|_)1Ry2h|{J7Raz?) z7`1~GNBCO{ZuzZAZz#XkzY^Q<t?sOWv7_Ny%W6cW*kTSu{oKxZva?q<{xFy57<BQE z?0>{+yCWzSW7cEMM&(SOMew^|C(#_p{~|DR4g5pfe-=@3;#Rao76=^cvCq^zCpxOv z?|$5?Pi8WU>LT<UM+>_=f%bZIFom^h1pLAYqb-%j!%w9vHvod(*s88*XB=Hf<Wa~_ zc|TAfE^|&waf`}2LWb7E5w^50v3MsVK7T3a4}+qhwRhF({u72#5Cf5~^=Xhig@^;( zRf{cyMd{!^%agSYt0}KLTHuXR&eJw)rU6}eceoQ_)=yBFIVAbbN0X0{qd3G7iQl%z z2Wvlc<cQ>*^QoV7<jwEu)RzG!uUMpS=?i3~)E}?FbmSzCrjdDC-y>k3o%~Ji1b?v0 zHr|~)ja+U@aQ+Dyg%uwm!0#mPHrcoC*v<&Nb;r)g(zou|AG+gXsorp2WON=OJ7USB zJN|(d%hs7wpYX9Sz2-km`A-I0CauRbcJHWk&L==Ez_dLNd7vYMn2JUWjdJ&I8RNRd zjx=~Wx=`-C4@>>|w{u&0G0w#Aa(~8qgui@uULozg4z9%99$aszeF?_TmVGJzIj{No zPrm49)<?1FH(xKru|qmvhnYm}^?!d+IBsC%WyB+UQxjm8g7=bcpdrw5d(wzzTUobt zF%BHS0Lj-`H{0gfhR?(Y3iH_knyM6LNY<o>i28wW6}X?6n9c}ZVC8uT=zm@Q-Km|| z2yi1jwgRdi*jPT=D{=I*$1C*o^wZ*heCS`YzK#g`MQG2wS!6xSx{vYI^CvEiFF60; zag|OB-6tN;2+-7L-xr8Skvtta@%jF-8?$FZGXQf)A;A^7zZ8&J(7mq+CQfRVcXe~+ zf|>&jE`6U8avb5`GGc`SN`FLPr&~0o7vIsv&+5ifi&KIn!o?%rejaruRS9sAh6Q^F z;vBUvKJ|IeM=ai3a*O6LM_z&i^uUSbJ_PxIIJl_U$Uc5UnT$aIO0TL;kN5tRIcnd9 ze*iaeg<GYP^DPHYR{r!q;``nI>ZAYl@BQz?ccYK}m;N{QKi{cfRe#~_fAekSz8at) z?y~_xt#U}`0WasH0ruY<i+PIX&z-Z*K&)sNveY9pKafRgDch?3E7mV8SMd~==tKdl zr^ogvT}=>^A+ETe`U(ff!a}8_@=e&Sr9*oN?LkS3dsxH`5GPgJSbg}aPYW2&N<m5z za&r{iO>exx>o22+34ceAU?Os|{G*O8!6tm81y3gz<Qs~T$9)+p`LTgL$YKQZv_rwV zvvj>3LA?OzV4pj1OR45~j%TsT1?ZXB-ewBuV>@p%uaVxIHo5-z@mA;NEG%9`@J8+< z%KP1!nT0a_hB9ycOZEERqdWOa{`HUKn-}{0oS+C|uM8mttbec_KagkrroH8@P(UsV zEk*%BhXP?{53`W|i5ln&(tslm#4hHL6<3*qP+(}~#yZHO!sns{90}Lhbnga80X4YK zv($-@K)dPy*W(f^g;41#lJrRvK3*0PWc)afp@tGY>Q>Q{5VvL2QFc}uQjhn+q@D<I z^@QK4m47q<V1LNS<R`6i>Qy1MNnQ9UlM`DLbl0}QBYw$6EM`ioIx0XJ;5N@M&_CHg z1h-?&;)qDYum-Cm&Z*7ys9Pga2k)NMC)t2oc9db+Cv)J|ulwhyQX()>jaRWa9ZrAu zu0`ges6qEamKrslVSB5xb$k`cIWdx}A{Y7AIhxWS>whd^LUIbU3%2N-sJvYpOvs`n z=LXfpM2zmjqa6ig)k^0CL{JTYgpUVg+%KayXlm#)(%O%bukfZT=QF9?Im+iQvjg_9 z5fX2UKAyQLPlJMP5Cwutqt6c?1mQ&K5Vi&WD%Rw9BG{oa(XNTB=;0&ju-)=^>*bXn z8M~Y80)Men`7X%9@iHn6WT}EyFCM>1FgZ{j4H`+{HHNAhKF8Is<|cThI=Qzu^Gs0T zrCud#qv}=ee<WtI!oZe+y`4xxYT;^?DvJq9z|u)(&%{Lq=2Y%&&a?XH4<m>hW3VhD zsnJJcb>ZMJsCZ+T5-I6@#hSYV<fcm<B@mQ<^nb&rK2mik*J|4wSXZRFV>=HFfJ2Y2 zfOo*b-8juLK$-?w6(wJ1j%wvfl}{s<wDRlgHb-8X?mIihwZBmo!V6O>dwGoE^oS3L zGJ?6k%sTW3O)x}OO-bR)nmL<(LFXTu#s^FR@UgNd20n4hI)(K{E79ykMDO8|`WL6r zT7US3R#22DRP~>@;%|x?J9-p0LKm%nSCGknUmr)fFpbVrkxKTs!Ku`R9Uzht*jsr6 zGt>fh=+Fw8B21PDZ|P8HnfT^^Q^e7;v-jtL>I<Qi@M?7$YAPL2L0M*9>x~#U1VXvo zwYWy*prY4&IBoUqw9U&gwd@COeEd5a1Ap3ncZWo_k3saU)12|`DkqT|pt$u;KzqOU zWKI8&V`h#2iVBx~nVhKLL3w9^Pn=V8L990Gln}=(UFoUi!XtB)NGLW{#7A3kF;aYZ z$|wb^gqfaB+ubO#qzAY&D3&0a3%|3;LSOUrUWgSMhvddi<p4-u*;orK+v^DEu74Ei z<L+8#Z>2BQs-uFV*mD#L&@N!kQzyC>4RE{kjd>*-v7}s&6jQtslZgD%Mr6k@)5VIu z<r;$JxW{1!q*8Oty!+WO0`9sue38~of|Z8Kxt}XtwDqy*D1@vnTyTFpb-;qc<5A(e z3tn|7`@;QWY9Y4r^kSe!9=WxKqkle3N97yF<<yR<Lt3^hhzUH|W0O`tl50lvk^iAN z&Hi@NJ<-T3W=j3?=Li4hNIQMz_R>rzS;N1ZoBYxoEgk6}8ra)P!1z0we@}Cpmj<>p z?a7)`Vc~BND7$f<IhfS-%<6r+XGX|d1M7O4tatsGQD%h%^+h6qg%jd%D1Ta1!t??p z+;`(TAtA}=4h26#tTTb?X-Wai_x=IuLd6$#rQg1l?uZ#Gf0I!-=u2rO2kBCN#oj7Q zK^r#gQCul)S&IXKc7*EFd%=g%a?iIE=hJ<}@+_Pjm0oTUwdTo=(;1Q$FG40i91DQQ zqM{x8Yo^|?gPow_71Ew2tbgRAMFSS3uhj9ksig>V<FKEVgY1YE(_BoFX95#a?n?3l zY!Z!dU!J|I^&HhwCTzRHw|%hF&jtys!PP=F;ES@TmjtXKxP0hN?c!3b0&(shsom}w z98K#1?Xi^w5W7t$=+L=~mV{J-f@HJJ*uE&}#Q~kDByvh&<(zj{6@NQd=qNz%7%pdm zaVtViIc$3B1YFyZCSJp4aZi+D+Y?dA3$vV<C=@p$jau})&8~lg6)C}a`tD@P^ow7h z4u12C3Ge=c1ZwFkb+wPuCrHxskPybG{nc}S*hKW8)Y}i&ec42R)>{?*u!-82lPD0E z`2!1d$(RQ-FZF00tbd^4oK7tUnW)}K2l9Z_(1c*6w*k{f+2e%w9Kj<ITpI{r0tSM- z;*!>iW1p`KRU%%s*l@12bXCk2l0XM4;6E@%c7okmB9+U#mF77=sQJ=#((fspN2Ch{ zwA^c#A)i$QUbm-#Gh7NF##B$?Bpk%@U2!KkY_V7>eN;v(Mt{F*c}FZ{OLwztLcpbi z=aGXVj0KTdmtPgs1}zQRf@qkJ*+ldu?dnOp8`;NkC$LMuGC+aFzWx*WgipWJ|4If( z?-vb9!f2=$9adDRSxc!Zy#&)MS&IakOJ2LeMIr~J!Y_aafE>vz#jVc6;OUnJYE0Hh zwebM@q+6P~uzwx**p}%5M$u8j@rPOTR@g}!MF{!^s1j4F<DG1I-uGsYNrWG`6<1VW zz_WUQ>HgMnn90)Dwbk*pzVoV-&I5g`L%^(eoS<qw3*q?(ZAJakUEIl=A*yCat7Es# z%+mD;gDT~rqd?+p!&NdCpQ*!5`J8R1v&JAEX;j-1tAFPCGLk>(nY08M;6FWqI}#MZ zU@6FYpI$OQKPS>U*e0-d<>p!eEQy8o-<?S<THw>KozWo{kwER4Ep7U2we<5+bq3vh zCjO}x<w?Kw3_lY87+I9kN6$-BUCLugOXq`RRK%%h-k;{<*&&go6X#Wa{vhYA`I!b> zPXj(rbANLkmBVPofx9)Uk1G3#)K3IIiZyimr9Hs6eGGJwRN_@PeDr8*^F&ak$ldVj z-LB+g$G&wrdD4?NugcbE3C}nG@H<<lqO#Isj8uWQfmbKZ_md@zy6IEFBIo8P?S`*T zQxC^3SwxQdypK9HN1GjvU0(unzXaqMrC(deW`8WlmH+^H0XOpnM7622&Q4;?4=?^( z3)ppTVtfP9x6sXRuOI&?0Xq!yg-mM`1JKr)27PpZ&$PHleR=RL4zK4n=vFEUse<yV z=NXq7GsiTLtrG5`#1-sEOR25I6-Fd%9V5MUBWu;KZHMWkoziGGhX|F8cQ#$ZsKI2- z=70HX`^$U3B^0v=<NlYBG-S=zH4|JQiVFI^bW+`mLPMrj<`sNDz7`vw+AM3=b<i|Q z=G>vfKH4!b%}4ulX_k6Vcc8aSa_*z$1qxn=I>Whj0*%oBasTtj`yaWhl3|T=6MwpU zs~;3*OQ)NK8XiuKrPn6<DCx?+CUb)t7k?nd6k-s7ViYr%M@CPhFJaoqT~{GkC|=G# zHuRh#nay}~?%A$H;qpFBL;@x9k`mD%D;RQ_KfMQI-8^Ot>-;EJj}q8gJRd{r{lS(+ zWfs%kfgu+C%svxlV1YMm|A`A3mH-;o=g{6?s+3OHFZ}tIl`z}!MIwLW4!?~#_kY!9 zTLtI6Q-mQ$6>ZC^WO!(ot)kJN0!O*c!foP>-uWd;jJ-f#O_8QO<j-CpY%@N8+2*Gg zY|moLPbSPiKg^@oGd$13<mi@Pee3)XP;N*1vDTyK@~4oPr@vx#Y)II*&TldC(p2UT zF)^!Q&sXRA1EBkw;(WhH=U*Z->VMwTKMQ1tlK!mXnQCJtzbzy5<e+^2Q*h1;-x8s7 zYUewwADS^LnDZbC)=FMjl1{kDRxa)`4HG3J7(=y1eL{jDoM+(6t|s+Wxuh^4#+sEo zZ-QdF_TNygX;?BmWE2UHeY?ECax!vKV4ts^%J%Uh73a+)tAC~(z3|0Let)D~6p;D| z;}6FBN;yrthnJjJ{M66NMv59g{SiNT7%4z%n{ePSar{yS-*H@}Jbpi$*8tlC-lqbl zI)XJ$fUyGAzFL7A$IvIiooVN)y7%+WAldWNz4g)aob)OKSmp9KHhY9*+zu7<q)(QY z(*ch99;Y7Xu0yRrRn*{_HGkd{W$2|NTL!yNTMlI?D3NTA>Sfg|>SBY(yi+4_^6hS- zv@a6&K!cLRyG7y#`~SU{-6Fwhk{d=hSa1=7c6ZX2o$nicZD5m12KXkw8BrpL*}YYU zuMiooog5AeO?^3=u2WA}Q<6QwC)A-uQ=MHKWsV7;)d?P}et;BYp?~!VJp_15gg?ud z`za}?SAga`zKh39df=B#_HaxqEtn~D)WLF359EP=?}77?wdsMgl0^{3j}};uVj~#* zf<-VY;_tB)K5H1h`A6|kR6Q@);F)CaDpr&!fFj{*x_3y1CYwreMTG)Uw>%)5JhT-N z76V9T@zR={)ltfD>VLNk0c%wB$#|69PZ{zMNtCy=AWgDo`aj~{t;zXbJ%aCoAyoc} z$zLz+1hSjljqftfBOxH#tv922Xx09R@zp8EmK?b;r6k`q^h<B+-abdf*p;_s4bcqo zO;vp;V8Dj<v|%<V7jCnv)gD_EepcK&&Q;}ZTvMgO-T-XDxPRFp`Z5jrVu>4%F>Ola zsFkNGBLe;?C$w(DauJYBi898WW+32(j|MIXpghgsD~{&H5V>>Rgu@wT!;hJNaUuFd zF(VG)q+0N!t~F}d!BWVHI?EN8GYa+kSZlrN;R+(r{fMdYRJV>aB~v>qvQK}pkq99D z!y*NJ)VsQoc7Na1?F$;+n2yQ!fl0nUj#6F<(1NJHf5bz0*y84Ix8}-&sb-nMT4Zl# z5Xt3tw%BjC>c=|XygDMn+YbBDK>F1{!bbapSATDD|GLGGD*h~zu70w!A06a$1`dDW z)n7wEK+m(L^m#$gcp1d_7m33CLb(kd3F;&hkB)4S8-EP*WLOnHcEB|}DszOTeX;EH zUiXP1%<YaEHxdl-uB8%EA1#YjZV)`W<wD~l^jOr;3u98momjZiT<V{7V23Q|T_@G~ zq(cT8W}~Qps^%RF3dkLuC)5jl^Mnq$s$5*4*7^d3iS0bgNHKC-MhP{Dwm2y4?GrGd z_@siln19mh_DmUSOq(L*S1XtGkF060??=|uuhK)f#}DaY^^w;q#Bj)%$wY~=i%;&) zBl*-eK;h38+A$nU#C6h`Yx@X&NOB%#Owt4LI5+E*bs1c6jEcn_lieftIF)}k>u}0e zC279u$=24_7hj)$K;JClfA?i9ETo>npPt71rGE%M@(<<jc^Qjr^AGI%k_4$JDT68U z^QvAiN$?lr;*auAR`Icma%PP?HN(kt+)0t5+d1!P4+HhW?**OlOCILmYDh+*A!P{e z<Xs0IICWh<)D79~YbpP?q}5}+FpVzox(ZG+bKTL9TNH$QYZ31e2fECC$tO(SrY?0- zp??$`it_c%v@JgIK;_!CLemM(r{SgI<Y|T^{Jc1}F#?Br9)wtqfS!6Ie6Bs)67@m= zML@d0E3lNnjjnjvbg5>|BfX&#u+29KZ<$6FoACd;{^yBVNxIWpOFAGo!b{aIHgW(5 zF25Cg3N+uWd(@yR!d5*rawvw|j3@Og6syNZC`W&)&f^R7k7PrzJX&#E?n*VJgSoTb zzkNW>=CcRP*#?ilYrSsCoAsyO;4}&Qo+tP+1I{n?r#|b?yy}lb4?oM#hwl3|Q1C<d z<#ayFpuzJy%A6FS-Nfu+O<r1s;2jjC*|bY%m!S1zG-5ItjNKK68NCFwW2{$5R2r<j zdsKhl(N(#I*Yg`>Tb~&S=I+RNN^!QghLl%k634PVdip#MqxK~Fk&LMwq1N2t+1CEp zqdZN!Q~@(YFw$*#VM2oUJ>j^svlEBvQatXtCsS4Ve!KU_9rANn`;F}IJANR@&@De2 zw;kR*L2L5=rma!Yx-0RvLfO@haP#4rkY9iP;Q_!Rl@{6f?vi#X?G1viD2K)4#b1aV z;NXGeg)(PAQjrtr7c+`={F{yixCmh%n_1>~2z`E=Sln{&&26J`Hz&ORNCP^2Vi`m2 zMy00<k|$n@+)r!UPLm<kl>X2c%l1>Dov-o^p)l|a_QRj*v$2auh9SE`<bWLpX$pU+ zTeR<*;r|)*RM<LdZ3o<bAH5fZj3kCGg9@VR>w$VU$}3V&RRc=TmH8wj!`s2pxT4GE znG~5_^ce5nrtol(h($IdWQn!}U68yH#Q&FobpCLElxlLSC0I7D*#X-l{F;ZZwIdU~ z2XYtCd3P0Z;cT6`?TI;1t4xc}Hm-jPVW_RJzy4=U+>ciW{9#;Sn?!P}R|kwd6RsL3 z>)7YM#AlQ4rTR*4K3We)IS!M*2H8IVxDosJnfBj1;K~Q{7gzq*Hy6j5pz8Z}E%UN4 zAY4LXxgCQyqaa$3R9N|zcUq4QfGYf=x5$YIgj1U~J0dZWs4|AdsFqco0P27IHW@+o zm2suRUo^uP(xWFs4L4tIHDV_z#Y*GL`U4Y(hdv4`c4q_@0TZ=Jf(GC`85O#%L8-M= zVLI~K62w4Yj=Vkc%yQlb?cccH$B`fTODM()gM3*IPuWz?MCeCDpR8_DVmU*8ql0j) z?z7J+7z^PzOs-Tjju8X&N`ilPCpJp!aN=@RWQtqVTOir#)YvNYQyE0Dcu5R*B$rY2 znJ^W~yF{_ll4}LsR&c_~AhPcD=Ez?Kzp@wq{NBj`0Fv_wAXI`EUu48=@?)W0V9{6< zD_%e+GipH{!KkG`H@dLnf_HoFkupKiL6fTqA@nOT%>;pPkWClUQ!RhzSBT|E+^GvO zj%tOcM-UOyG9W0h88=A%YAG1kNv*g6(ROCRCPmq;M%H{iFlrD>y?DARCn%C3rjHU} zt=42PE6g2#W(b!Lb<)*Ziq1ki;)2_H7Q0XrU^@xihxIV(8>d(3dF1PT0=H(NS1CS; z41yIQBa9&m(bLc;vr>O;dL+ZgjyfT7Ba$Zn&Yt7`$)|za7Mrr+!lRZ%CN1ZPF2@#X z?I{+yGs5TmEM(J}V11Fuy9L22kNj>BB!<|ET?}%*ls%3keP^Zi7m570dRkw@A59R5 zuof6?BO>&>q8F1BN0jVQmZo6YFpjtx@Qo|3C480>+g6Bi2poTciu+*Z%tTRsVWE1B zagKtxAzUj3jPUGcn;7P?BCT+}EjbTGUveOG3yui2Q`?yMwW!H9ni3YJiC?W~_rmgY zS8WwqnuWHFua2}slLU#mH78y9h;)0kp2_T3OE$GMrt*}XQED+pn%A1xOMv1wo<zpX zdVTtA#5@{MSQdX0LfV!LI#&I5)DC>mB~TMOPxTRaK)kd7x<4y&$w(@;Lxp#3MU5Cp zhvpxJ4GsPp`<sfD5{zX<`_JQpB@{7DHl#A$wbjlfY&&56;ir=_SyEjEKpl>DN5cws z7A1vWJatMbWvdDiq4Yv4c3i{jI<fUb?wa|NLD>P23L<~PF=1)-?9a1neyXl;FD#Is zcRNkYP7V#p&i#VDZIFmADBqSB$iGUj$zADQBPZoj44`??3uhW#BAA6=uNI7F9jTQk zi|8D2YVAZY%j&Jp${0?WbxI?;L_9u_X?|_Ob~^R-tYQG9S`_m9$}`DIZ;j@eIf{?* z;Cly3x^#aRWTPpw{|D5b51F$}gqOHDZ;BUsylYe8O8eQTX8qQFk{mTV#iWT626wS_ zlM@f9t=dyo;1jYQwSx7J27*64RS3qOvnj$oTtyL?BA|g+PLHWK<}oG>`rd6|OwibP zd1cw}43lxiEgK4iJSm5Y7bW72h%&*maJd^asYHJV@-#3W;RM|?xGiO9lVZWCEs}W| z4UH6M!PkxIZPj-(4~sG^*xC})B(CFi!!<3cQ=tRuE67Fss!nWW3tEy*<6-sf9N|m- z_!@_OBCVaGG8Ne6XB@_oyTzZ*OHn)ZSXjz_bQEi9%Rh`?Bnr;T3JMC4X)+jB0FaQt zuKa&lMY<mPORm!!(!(p%|0v&~yRj>)4yN8H8yiYFi@Q7@umZLD(Od3F`d+V2>x2vu zvHx@<Z>ew0%Su<mjXZfR-I_R+C)h!vVy=nN>h*EYqvLSI#2IHS&daORo{Tc8SE-U8 z#rP)U&U4?<+Ezrd!=2PfsCe6`sJY!6M(KZMiysC+5>`<w%eFLO6t>Oe6&cP1sr9&X zWHms(Cv_5j>3w!7wP%#j_yO8E698Y-3ZU$cYJ{j1q<HcY%MvvLFLhudVsmnn$CAgb zhJ(U;qZ(!imT1BNz$QSPcnn$YXeBg&9&Fd%#G8-wSrN6Y?joa9VG_@37_M>3BBp=j zD-KR4KXQ{L6E+tV3niUepqR~CpT18X{!f`vW=4L*-CK_lv>FkV%sBJ*@cYBVKdE4< zOefS!7av*uofvNuzcW>6ina^o9!A`tM^kzCty}gy=_i9p5TX_R_Pi7LbKkJ{{BJ+M zwI;=Im^Q*^on_%4;!a00Il`8-oXLM*-w^2$AsUH#P=ngelT-oF?{jGZG7pl87(I_G zOh5bS3RmYfb|myb88JYI%4!SG#mH^TJ1SNVg2?FK3h7aR_;#lsM*q<Gl||owk=ebt zQY=P>l^rk}>297#RkS0l`>IIdBH<&p<q|~Bg>aGSlK{mdk=n1Cl)EP*V^@C}tX--{ zdz6#wq)7cfDM>^9c01g+ez_eLy!hVHkCTP;k=yUhmFx$l@0p58VszZ!NsbGXh5o=N zXApfFz{i<>I~^lX{W#y(PO0xZ^rwi{56U|VXc%%*_Z86Q#lb@MUTVT*)R_9WT_TE| ziwnT1%(fWtauvnF65GDS)<Hzad}$IrE5##CuJ2J%2hZyCNp?Ug9Y?IctrbZ?9BU%v z7`KL0Jo?YMHVrPtIE0Y<ZySw-Sv1U6@v}GgC*O*y!W`R|P(%YAe<MwvXje*dNKrzA z9nBe_LBrGOP&LUW*hbiM(lsQ(COW`O@L9`)T74*wL4A9t`$H|C0MAd%v|jW-6G8Ns z*~6c;z(Sa|GD}zy`928ieAa>%??$$r`r^gst0K^iCTTnKSfBG$`I(OwO~@)p@p;$y zhc^EjD$&BTTP=H=e*i#e;BjO3i|hm&gCihqsgq0uCK7H6HEOPK<>s}4RdcNKa*@^z z+d~98wOyzycXi?<-i)r2oe?ikozQ&Kp=?V>BShM_6yJECQWrS^kl0%2jSy7X&#dMT z`ziIXzjKZg&Jm0k0EQEX((Oz_Tef0d&(e=YSyZ`#W=>Kpe;@tGq!^!m8t+y<c;XJJ zYjYeYB3&3o$hljTs5s#~)}FC$pOCZ$L9zWKDC0%jwt!S*Fy*$|Gzk}%rGO}$u2Q^< zXt#K!wyE6Is@m2aN(Dq)eUig6HY<!~jA>+6epV2n`V=Xgw|S;v1Plqy4A33`z<V-; z$B%halTrgse>?Wk6CsMeMq}W}!OKC!$|@&JKEN$!?_U)SekK}#gG5aQzA?Q8Q*6=* zu`A>C3v=4Ks-sqY$at-nvh@hn5Yo%lq?%_y;2FAb<hNFcz_eAT^CzUXZbI9D>KVc~ z`VncB(8|wI3}QwYK>y3!i+r$E%|gOv^z5LI_V}$7f2DF!7Kh$50dkRLqsWEKNJZd) zDo~+BG99iqJGrBH`ys&8i)I!tpED6)NL;JmLo)*-PJh!(bPenfY32%LbW&;-ics_y zDuN;jo*v}GVe#5x7z@iukiYWGpB3;pzAXrQ>3A;k$0y}hPRC|YZ$%V8Ta;3ofTJl) zJ^GT|e-9L!3Uup~{^eP;gGka_Fl&6-Ge@CSS?7-*?;)AH!9kpFW>b?n44KW3r`e4v z@(HsU&`iK^!7e^t40@8cfQ`iwFEkTfWWmfIpp0RpAoMC9y>ncDGoib5Cf?;kXZWO? z{rs>*DEd6F;rbH?mgMpi2Vz(rUm@Xh=f2Dle{sj>lJ5qsZ>}Uc54rs&g}*?+KTN;P zvuh&=eD7Li65+A#XC4sPTEdCFS7SKbIgmIO5qmk>RQE6g`B<r_@ubA<m7eH@p)d3( zv_q9(VFQwNoV(+8RY^33T~H~ZYg!2Rkr{**i`Y~-b=3OF9axkrOJ;&*&i4NnK5C^Y zfA86HaD5AKYJX2@X*cfdnbOs`MlO!_oI&EARduO|70O_p*`6|i{w4FQm)YfBmIGBH z>kCqx%Il|tIb*=WFdn<sWR;dt^G*;#_p)|6TG}TGR-7SqLvtMDa~v=zCCLfQr%^%d z>`BWxbXH0Qt}A+-SB$`mrr7E)M-m)ofA9z&76E<N)<b)J24sU?QXLK!5s&nGsoC=` zRo^O~_zT?3J-uwveQ+5Kf$~%3>*z0AGT$oSedz7k4+DHC{09RZ@Me4tH?5RdcS&Qn z9$;fHtCAwHY=dyXNDw+j8|}P7x*!$_s<O2s;oO7K-MJ(re2RK?9Cn=LT_h+^e;lzN z@>vHd$mSwRl6sC(BJ6@NvxX!G8KEMb`M;fd0g3L^=lT5Kgb=g^XXxJO=>>EJIuUc6 z0_^0UP2{_ZAYA$}qC#Wx7pUb3Hdy_{-Y{10bsS*AEZhMuZwo3l+>x$_e#6$~?U8Zo z1adp8VDgEq*tLKLzdjWhNx~XUf5>D?tK(kX!#zGW8l8<mnbeA&u$k0&aE0bM6;Vzm zJJYn|*T?ox*j9>kx6^aQn9O9wz<%Jqg~4wjnS&R~!lb+p=jf;1<xcHg;e^Kt(@rTg z(MP6=h}wFj0R0!;HiBC=2do@`_`TP9O*Z5Z4dug=C>4?Eo~ItXrzvV)f1omH&GN|6 zQZZ}FDnRhknyQj*4hE$)QYJZLz_MV$+_0pbCE&N`@Or6Rs!W<Fz&4y^-|>icK;x(# z*#SojDB&hPniFL*biSOMPat3%nbRkw1BJ070K_v9%&0vdjm}D`EnApi!}RX(fe%m{ z5&fPkgsHq{<qpv51J{(*e{wV}j#|Ad5&$=sCdut3VA9TsvxWz^wC=`5t;7Wc{O5>a zl*=!_Y1>^Ei1@b3g`j*mHobXINQuXY(h;1ltTlE^Tag)@G7{=_CgUcnleY@rDA%MD zS(@mW5xvL$09B_CAD6i$mq#MfN_BwkGLt0%ly9{Y5q(NtqOjNBe{&sU3p?`Y%Eb~w z>8Us1>A!|N(F!ZrB%F=nvy#DcqDRBLr=oI|44GXr760<*`Rn1a8~}^`Rg%wD#Cd&4 zZ1pFJU3+e&?LSHKI%w_q#Rn#PEAsQEW9L87F(-ZIixK`xV&_*)-WOTR)@~{7XmlcH zccmx4-AKR5R+1zof9j<C-lZATk=hmorHDL5YO~pnm|DoqZcKnk6qszID5l<5S=t9? zl*+}TM%p&1SQ;GD8v*vgY~;NH_USrfa6u3oLRwqU#@0LhMrb_z2#{fcxB*YWM`7c8 z)M#*pM9gxLZZv8@@K}mrCo@M~w;uX956v`#%fsmjlcH8fe-Cqe@2`Oqg$-8s#HA`g zIRFP2wPyutIu%k8G4q|SufH3lcB7*fX=)d3CW!Fu>T+4$WhAnq9S^%P=<*09kJ5Wb zOCUhX0#UPeP9-l1u1cc$JDF&~)S;=wFJ$MB2+JLLKqY%U```h?vK)3+6`4cjO36$K z40$E^YIj%he{&!%?k1v_w|Sji+>D9|Owqjb!4@E;A;+T~-3p!QzK*!(&<C|eflaN; ztkc5NX>)EH<m2j3NUN9Z0tKZ0vkC#+X~m;Aw(u04zbZ*YJie!2cYKgzGgla)vvjIS zD{V_pP&!TrMQ~T6?3_&FdPZCVZYn8NlCMSWoI0KPe*k+u8oVmqJQ+!}9TK({V&>wg zEb>KS>N25|M1)mr^`-e#g^w)?9sxdT-jM>Ign{`CI0J1P_xBhyYp8nsRQt)H%99cl z69wpjmLPWpZ>d&WRd2&l|C8burLx3BfM$0f)0_ipn(z;F7YvqTt2-Whs_vPOkjX}s zfp#W}f5X8#5WJmSs)45^=9LmqlG|ftSSs5J{3wunx<`E<6qzf{w9Pp1#_33LkCHrv zqBanPPol#Lf%7Ov%TrB`lOeY{^!#G9k`P(+CghwzHMIZvvmMLwYSmlT1u-(@NAAzw zoahCl{?1^efC&`xU|=#*$yuDVTcY+U!sXOSe{W`t;z>%<d7gf8u;Pfna`egi4RBre zJ2|RyR0_8vx!)%EsmGllqGbzHqCSrKd>Cz+>OuUB(O+@d93VKoE?ZZcX;{$RB7)*Q z&6#FxX5Tt~uDQl27&H!{bpA3_+KAz}f4d4@$;^gT^hf*2aS>l$-vmrU9`XQe1*<<D zfARNY6%QxmGW~faHa?ub^Jtap^dY6u5?@YVt<yKJ|NYbNFQWZ=&GHLHn!x3GT|qrp z0DL$O=T;6cA}WI$Xm(5XaL%=ZXV05wu5h^@<KkaPtfuk;WMz9k6ZQINfCZuShPV_% z!H(KRsUHfI;7_LmbUv{d6e^KRk8riZf0b%Zh9U6a&^VS!-9SwQ!8qgZK+Ys>(6WpU zao3c0)vTI?UQbFiEq<bGP)9oXG>>6Nr^(!m_`l{X^2;oNFG}&aw6}VICqQ?+44EO8 z7^tnG|Mf#Vv_8fJzf9ZyFl_;C0g<Shs*Yar=i5h4O#7I&^}%;}xx7}i3*W7WfA5|j z_Tz-_&WrCp4#f36WV<K+LoJK@Y1z&%Y_~r45@C*0l7N+MnaBe+_QZjQfzC@}hz`My zm%`qO4%c2weJTubNc;U-+uM!TY=N_k=z6LB+T`^bZ|T!JeXB7Mg<-pm8tj@rZCgM6 z+WTzzJnLA~2cAwu{30=cy0^B6e+gV5u9cU5t-$pFN_zOT$8joj%cgiTv(RcVBAYX> zcPUA|O^p5aos~9a<g79Pq#ic$BcIe1u=2xieh5e#_4Ro9RH68LAi9;0K6IPlwth!4 z$9uQ2ZOK36BV(-VcQ=22rV|Knb_RkG&y6t!Ydy`Eo8K8IpjA!WC+p^Te|9I$Az$dH zO3MQhpASH_+8aBlK6)ety;n+8$Wt8_fQ>GB$x#YXDKsd&=HYZ6<izW?3|Gt%n-)d8 zR5CY;YN;YoeKR1R-=0H>L-Y)Z2r{c^4t!33>qljHZ4c@Z5HZ#IL{6g*&-U4o(}?W# zLk9MLqmPjjuKmI9P9cO`e>`G$ln@tUJe1$b8l53{EChuPx&*?t+j(}cXJSc)f|alt z0tt^1j{+*#<mfD``6=pp%X?U~aQ3po1=5sXe5lg|RJr)X<s=w*4`<s{mkTZGnt~?1 znh}?>H1F>6+60RoZSO>za}0M^fqQi#!>u%NH*pXh?}H!fZ`WIBe{>ZhfAyPtgL8Xm zJYzGXy&_5wr&O)T+RAm9s!#<*)V5TQe)(Dywc|b9i$Xr!sx_P+|MJA3Fbll>h1?J| zk!i~mhX$qq(YhLva2eOhwFE;lJRIQy>cDTioB8C7%%*Y<#>>?ELtSG(P9$3^kuTd| zV@XQ`*vWvy;nX*3Qg7J(nDO%asYubBt>&<J^*kUAI(=Y-V`+?wY)R;}Z7I`gja!Ck z%ccz0P+LKHvdJh(y88;6Azfao{jRcqiV(*pKMR4MFQxqP_SKb-fd3YkC{hC_f5gB- zxeF-Ad$A5#>g)ox2Os`&n!e?jBq&D$o_Vof0skA@pWm?k14YtL-vgQFh3)mS^t^w7 zkzZe0_L|=$mT2{t`Jxvv5$Aut%JorKacHFf{3_S%5jgVST&?F-uD|xuI(6b8IIsfw z(Ow^`5qXhjaL-$?YRfty$ZGq8e?efoN267E?o~wV>C~@cq7TaekG86PZUkn9^dX+; zlLiomZB?C)jx{kItb)MrV3`wIUa1!<^FfCI1%lDh4{#iKnM037+SU{qvZy?&71uS^ z<=;PSjLTF@-t-mC)NrDC-qCDxBRJyB4or2<pQG7&gzNAkiGOfrza#h!f315X_yw(n zvYp}L`7tJYqC!1mvc63pAe@5XE>Uz&RByp!J6u_>4G!q(i17064w?a&SH}DF_)jkf zgThQqD&#&M=%HGO!&4ICN>MCo9B6vL6I@D+n;>5*b1;1wuTX}b%%{jGW`7dhFA8YA zWj__N+GjguTw#`VY?E_if1i?CACs6TKD{XGBLshPyNXzHKE#q&2uhiM84ln^3Bh?$ z_c^csN&$kR@k2G~--0o~fJ)fCsrxe=-|IQ2Q)Aj9lHL0JBTSBhYIdyo_n&f@B2Sxt zy-mzBo)Vk+JBRDxr4(Q=DiHRS!ZLz4IaYG`)SB{kI_DX6kJ^M>fBD)p$#MNuo5u8E zmW53~C9i$1%W)Pdm?5I<Sphi|R-zG<LfS%h$hC>6(bnjjP80JMuo#*}dY>^NEI=Bv zH-s>FR^M_jPsK_H=4+B+$SI81&KTLzI0H+TME%zLPM7LEDAujI90i67Ck5fOCm4Th zcL)~}y2WUf;t)w!fAPd|CXn?HV<oNdho>>|Ryq?WVBJv*?smX)U5!~ydYsZ=9Thkn zQzQP4_5ZbuzLesJsc}Q#F*O!7pz*}i$SdW|9dn|u?kdlk8ppHyb_Bw0Ouk;J*44IF z-@1kOz-Zu}Cpf!aNMk<SLYjcE_)>sQ3$Z>Q!-IZybY6U8e-0NN1ZL`-PApYu5_n9- zgDgpO-aaj8N*V>FNs6>#WEAW!X;l*3Fd7J{6=4iQXmO`$v70mY?s)3U?hS+MZ&~k} zQ4R|Wk`>+sqLaW~6X{;sB+<#C2;I6Xrj}|5Ytha@q4W^Lx5sKx_!g0|j@!f*_&j#G zra-w;fvuhxe>0U)l=NW;AQP9ZPIw#<@K^SHSkCxZ5#>Fg)?E_)p)+r4`TdilZAGz8 z{MbrKVAKSFB%uc$vDXlQ9=CN~0Dq#WAF2ctXLmw2e#_B8{EI6Q$BOl+YEs(~*3l}L zc$Y;~>kxCLUo1l{{%%GsqEd*Z*mhL;96M*jmN$oee}tUJWMfb(pp-q1LOC>Ta8I4h z;a>Y{>peu<V*)LtTd2K(S4N7_O3y|9{)PS4PiKp`yE!!{R>mh=_~yQEs0K~}sD=BU zSkHf83qOQ-d+aRLV)*C-YjjxeCts*9#7M-wNlWk6scei>CHJmJrRAKcUp5Qb?O4Ic zcI6XOe{@zPq45Pg=W&d+S|FnAY-8w(_aek2oeC7nqA(CtT4qg{ab_YkpaeQ6X?+9w zJtWfBii&b|=`($0N(#_+n+}gb9#bz%{X|u>@cRskF_x|L9(k=5KoF}^@sHepw7D*~ ze>sdTTdIouuPz|KR=zfeg&Jr3g(V2Jcx<Ucf1}in@uS~ge1AL$p5_n=^qZtq-wbG8 z3}_a>v+9n5^OJ<nBPqRJm#V%brEKzvQ}87tolhC5ev^^vXKw#NM*0QBXVXHmH%^JB zXtCmCB*#kDC=`<^im`&OQf)bCi8SIP<Ol;#_<+3<=o00wZSSpRJC@pDnA;BsoD{j# ze?W-R#Q6>g>{XQ0kESE^Ofp_nOxT2JT4#EKnY8$=5Y+n?#p~=a)p`_L4O1&k#Hh36 z(#5-)Is&VZRr>u*WUD#LT+#IGK^MIZYw29R5duNDf!ZKyP11V_ZDv8lLY3+)kg-?a z9XSfUw0HT8slx8`YIFBeRDZ^cb5S(*f3h8l`Zxyq$E`eP7ofPOF{EoS{V+grl8?h- z*Ah_fItgf{mudiUTU2l323AmWSr9Oe936X<bL_e#aY4>#*K`izFxm7^f8EK8<6Vip zLeRh_g&UVH1Xy0X^&ods;PAls%FP{1Q(3_}j8+?Lb_itB0l8TktumGnuWBtwe?V5f z8plo-L?^pHRBOH8$ddtd!pMY5pW=M0j3Sd=LM_qaHwMHKoF9gE6zgVp6a*HJc24;A zJyc3}oroiV6K2(@W*T)zp9DsfsesYN6HKQ*%5ysPmOQ^>#>ajJzAPcDZkC0)R7?>q z1L{I-i0QF<wMiHEaZq^dSVCzkf9WVeA1lJGg9>`5_M(%OIGc7~dhd|~&;m=Bm4|Ot zeT<<k13{g_>lV#~P?km%;HyNu<OKE|tu$)N!B$<FU`<(26!BkzKY@^#phTRuzzvbV zAcjxSkcrHUoqmCa$fj4gc*&;L-1De@^(z+tq1@jPIEp%F6}k#__{8E*f82j7_Z8i5 z9?(z;`4d$0@37%Rz3l+D-9k|0P12k(VkGB^P33-N(K?C1f)i}A%H7c*ok!_9DRi`8 zwg0BeOw@njHbU2O7a1o3OE4&Rn6KPMGXUxd!CM?1`iQthunJm_K<FL{5GbP^p3j3f zkNg)TM35jpa9QTKTv%PPfAS_@=OtiSRm%W7^89<?x9)M|A|j=eayp@%m7qJ<n8T8n z*6y0zZOYFr;ymC3AUibG^E1+*G>2FIqPvjT9Rc2YVJYsE#5x+IOgqrC6%_AsM^C|$ z7-&cTtDr9p#<pD17AwRjB(8{Zz7^+Ps*!jMUgfs6uz|kN8szhMf7?l_vR0&&)ag}W zRZ)nn-hA2Hqf3ih`3bn{Lbn?ha{`6;Rm~!5u{#t7bk^XGrWfHMw*pdQB|ZNq5RXO? z-)uGsPhU-4y*N%li@uLM<pgn_?T)sW6UKGSaknleSSr4Kn(8x>PkL}8#nR3c{93$3 ziCo0)mGpXIAGe`|e*q|v&9-hBa#BtT7Y{`MpRA^%@=mxvBiXk@wZ)h!N-48ds4@$& z!qb$eB^ET(r(qJ=NG!93A}_8yBKv-XCLw~-30m_hPALqqH6BG{$K@Ed&{16vSW8Ng z+L$Q>GMre3fM48#{p%J}FyP(w%5+Ova=oiHBIFo=KPd(!e>le(9@7dKu);_T*+|TZ zqROd*D71iz0TVru3Z!ic0x5DQTpU;%#00gOjZ{Hw1R#6M#PFbt9w8P;-E&q`7UBTo zZD_6Ur3E6TB8}A|Pwm~S1CuCsgF%%L@-XRB?r?}d_b9^{;cj51WGNWg&gr~agSLC+ zC{2b#M@rrde>RQX_lQ4dw%(Cft<OY$JQB=UpT(c^3|5_BkuZ!w;XLut+>)b+8-_2T zPqmOP0E&hj+LKwyO9V+LZg_NppP)nVvX!BJU;9^s)B%|S1P6Ai&NzZ40>J|&t)$Xt zrI9|q0){wE=6$t<cWJj{_JYu(ecXz=7jRW7K7^4pf0=XyB%DCN>_7@?x$AC^@lX;1 z?M6nt#({@9z83r0^eXjTUNz79#Kj%MjrIw33PP4<Q4Z*lUD+PGW}nJi-T1mER5o-Q z0zqHh5xvtHibopRx>eGiSmZz?&}ta8_G+o2P?lRYIw!C0hq$A}qt-DxAC*5H*QnJ3 z@7^fef8tM7+~;sb#5BsrkSBV+qzszVQHMIpRV%@(oKPul^xxbVSrEdWP3qARgK>Qb z?^qD0MvR)V32kwN1(y+_SLToqATQRAJcWv<A5c;Ozb{eWux3dET1>-;)=Faq<aS!_ zQ90<CqUlF1l+%R>Yl#|Pr3wd`uZ$f5+FNBPf8=eV=bP5xhFZZkq$NWu6ORw(#%<%{ zWaq9|uFD11C|$&QC{RVSst7b9*}H1Vd`g>29a21K&PC5t2>?9fIiEagP#g+Yu^Ah{ zlPxAu3I-A`bPp)4e1?fieF}GnK0NaX7vhy$f-+X2oR_Fp>^dclw;#hcCr*cAd}{q- zfBI3Y=-xsgeY{p-E18ACs-`T~HTYR&RCC*2hA=SF*%ldf^fgkrBu+9y_YC~wJ|8iG z8Vz#sMOddKbgNU$*p+6bpX@DNij2HFYTCegR}>qCk+McG$S|3;)U<^i79OL^6Kbg! z(4^y=h*u1UR-6Z4jM^&apgKD#u5?uOe-1efP*D^ys|txmWo;v|5>0X)C-uhn??J@? z&yggmQ*bw6k5UH-c3mdw7E+9)s5$ADEvoKwtTZ5Amo;J&8ig#hLgq7sqr4(AE9K#c z-;3WfK?1uk=>pohH_MQYVnc@JELAY>UZFpwwxez2%38dbypRYJf~q05>WMWMe~OJv zj8JoO&mvJp&RKOzp(2d!lwZ=!`I1aTZJwaQ<J@3ezj3MhH(1f87Vq~iq-~nO4r*C~ zuX<Ms1p@S@{sX7!R+|6U8$U;-q~(Jscd+-Kh|%kPx}(;OsfnI48TOOG)1k_&MJV9L z*58xbbRx5rA_CCvOteOe@@mDve>1KaQ0Svgr{`Nd*z0q)kOoz7&#*#e*&|^A2edq> ziTSFv4p(BNF2z9#(ANO$G!&};MUEZCZfem-*OvL?!{iv~>Zm>L@afcbIbZryRx9d1 z6@|nOD^RmVK037Aq$}_bre39elg_+$3L&-gHt;V}sC3jiPp1gxw+z6Ff0QL@^XKVb zszR$!o<Zt~awI!ioeqq3;&bzDv^PEwU>0_Q-BlwCQ3?r+vjnm&Avi*N?UGK>Dow%; zp5sxhI-!KOD&`=pye4csLP!%;YlY;qaO-GzMq{_~M%FC#(B5D>Kr$YmpHy6y6O(C9 zqT7l;%X?MiAz)N(&RXqNe>u>#jl{bEBVxi<(bj}JNGx2JRdTF#htiJ-VlOX;kT_5& zvd+tRUf0t&YBG1^NX-FIGHMdD+DODuh71TCa*f6e^H64gTfE2GtvHB&AOfGxXa$)_ zKp{b#tVoBe!ZlhkXvI_%p8xxQ{*V9lKmX_d=l}XY@mNQ2o!ED8f2k=gprhjygEhhc z3r8>7yLIart%?=#J3w(Do^+kIHZ}(kVo|BzhpQDSf+V6#ql!J+Ui<KEaE_-J83%jx z?Ce}R3#JKOidNl{b@7xS5}60wN`RMA1;y&T)E5L1J1A}MCXMxvvFHK{vR`G(ub^fs z+jN|Rlpqla=ByNXf7f_PP(_3l60`Y{5eBf{m5GQpTPqyka9_$Hx6Yeg)(1_Q){D_B z7+pRMoTgUG3M*`FQXkAS<mbX=B=KO2M+H7o(vc2ZI*uU5&O<S<lF%t4qe<>%D&U2R zP}#ALTOwKMSLK>|CPvrdToUJ&Pt*+doT(cm+q39*6_0t`f0wgaY>z*C>;^(mEOQZ? zHiVI?FwAVS8=}?VGZjmfdJ1IFix`2rKJCnbA!M~&^t>Q8LeV)&|0V98sCmO&OR#AO z!BH#3jEI7P*^yCPlpYD>S*|jY)+V-;lro+!__j7ih&tOCOEs~BKk4B9kX}RUB6G~A zyE#YTDx>VEf55QqRHjA*f?Q0_t`*mJ7Ad5%Yjx<cgWjVmdMr{+#36Y6ycXBAXZF7J zA6i)gb8Nzb%imc2D|%8!B<}CJrvV5)LXB){(h?=mhPK9w58aB}en+^2RI0((Ucpf| zoy55TA9!pjR|>)smK2o);pB{T!?^KDPi%fDW;TGmf9ndHx`k44{48{bCrbC&Vj3Sm z%l8jprIcF7y`+nzP+Q~KR@#Yy0P`0691n8Ewv+zK%YpF*%6I3fRO2)+NVzHslJc6C z-U&@|P7;mV&7)goOzNl(M0ucFkC_)TpBWw$-UG*RzIPP-=yBRE%964pwL|fIuIR?B zEas_dfAaG)!FuBm#=UMSDCbxHxkom^0F@`+v`X3u_lWYaQ~(sK1JU-VV=ybtfGuer z2N+45!4nwL7@=4zJepl~(r<i*$*l(h49V+|b|coeO+2;Gi&UH+m1XO^h=;f*yEIQM zL8=gzU1bjRCBN>#XLY6<?E<j9{`(t8nN%E2f9TY_JF&t>Zp}7E=Ip3+IS8sN*X8VD zXK*jOgok2_muy<!BPU0@?0uB<uHHyX%8&!cD#uaAhY`7;hDgd`<0bf7l`p1!{!J!~ z&7Yhph3#!9Tu-gRTpks3d)%YKeXItgv;ZY!`B_HbBTbx3bpP^YA=uBolAf)phO!dj ze_+l`cw;RBpFkceEKr1IeSF~<c0X0agEGp=nY2dkQe;c0CQeP`eYBjk!A&&Cs54y{ z5gwh7<#z{5Gumi8L?4(3<5cH=v>2|Ajx@BildfV@Jd&@I?$J{D6Yvr_qJwkpNP(2K z<6`CO37qd1j-6+aMxR14EZD2JU$l@(f6S4tNf=Qv;xy36H+rW#MLI<m)qy?56*x%i zYlw5u+4N{$$a2gT48MCSYF#IZ#y+Qmnjg?xQlak;^hqf?M4YacK&;Z-)ZD=Qw=)21 z1-D1>s!A3!s8hgr9Hml~tXf?@2#NkR9emJRpKpt+3Ow_ydW-`wTy2{QRn<Fde`^eF za!#80Es8L-lL;8v%$yY4UXh$Lx7HgRM-wP%T7fo4T5;<ry~JFx*e?vTpA!qzu^7(A zAdblNT770bz-b<GGDInou#MixAfExV$@3do)EI#|hdbH;DcVg7=!ojn`A6c%yz)qQ zMU<fwqjg27jb74mj7xn14s7GHe~~GF(D3y#2p8LwfOeu897{#WE*0X0E8o<FFy(EW zX3q(WVQAi|tmw%V72%}J7X+G~pcnx(Kgfvy5<5XA1{`gWqO*VI7(fKWlqT14)U6nF z+(?U+hhzKZrLo@%8u3xztWuIS7h1g`w3PeiY&vS{oape!qqYW~u_Tbhe|H_KnKu?D z5NXW4pjG)kov@V&?{dzLu~=y*WmY&vX^xg(+bKMX4Tc<KKR6wPpn&U$ht&Oa=4jY; z9>DgjTtE^foQYk#ZNt@D5Z@kkI#FnD8wz;r0+jgDmC2#7!Omy1=$^i(STS*k*Ka@B z?vuAOJuA;d%lJZN=pS3^e}n*FYS|jl^*GpOd>&=u@|V+_<Io~+TCgIAB^PdWk=2w9 z_LgL_^`>!=tMPoVgb~gmmMf37<ue3skQpKDu1O95ffUrXR>3vKZt;tLRQKQFY&q zlyY|-)ad|8LtLqo0}6siS(zva6<n^AT4Q<au~%W8anJYSl^BA&f3E2MJgCnAu};w5 zI&C>9a^y^7jI$H=+BBSsC;)qPj$tQka=RdlqheyLT0gfdvKdN16!&^c_X(@2rRvm^ zR*79pW5@J$P}UI^<C!xI0aVJSbNHzyEVVrU5<$Z1^G>BeXFmxIY~!<^O~4_t@S%OH zgxr2*e-`fyL2~1re>_#J5`w52JVOn&3Mf&qa@3C40o+SMiy{Ik7`-ht8>HBYn4|Yp z^-Ode5iCp)ct7ge`of?&)AFR_ZK<=5n=2ap^cf0|n3SWR4Nl~i6O<n<)>EQYM&uav zS%cu7@Z$OkIbJvrs8icK#bmFM>n_=QKgAlQLS1lCnt3F<e;TC{TLj=-V0y#e#U$$a zJ{?dDH{+WJ6-@Sctb$mTI1yhlt)BxqqTyT5f}uc|cE#2p?(piUguRlU_1lJ{>^Y+& zRX()HbepC&OKkjEUsOGqxSh((-u@fGOG5bZ{eS!J`S|y_-_P6C*YE7DI{&%xQ&A5~ zHd_&OOCrNJe{0?<A;?GpOr5jbPg0(IGo7n<ALs<-2an$ZK?tBCVQh+-rHSq~c87A5 zwTITpzPEfwzr`|h&Mtn`fJYaBQA-Nd5tx`sT&eWuOk_-e^9jfvQ%VW@=?r!*K!WN= z(E?PbK`WLzqK_s)ZYqD*NyxS3>p+Wb)m~9YF+562e<!@RD_ht`wr<+egOY5YK#c*| z8y#k4hol(kE%()=DK+PDB7{3oDcey`3fhF8#48Xe^ohiS771>mh7c8n3`#j>rIk(* z{nIm>q(MbPMo!!1;w1Hs@{!bO5m7O8g^!{(o$XMrXvGuaIT3THQ0lqI7h^MWrt`Q+ zDv|}re=XXJZ=Q*ojO+_Sq&IS<EFC}iI8Vcz06DR_MHV}t(v{-;a5(^FhBL1!nFiU6 zJJBBjova`#3?LqQCD4@I-<!&hx}T<};-ltu7i@QNkCdw0B7YQ;=Pc@13oGOi!oJkp z2-q^8qNv7BXd5KRPtLB;;9=ZcES-xyj5BNEe^NDL>YJvg56+iT9d#s5Ftn~C_ODJO z{zv-+>ve^-+5gUJW!6OtM=yD;NbywWV(b$PEi6&9o6dkw1d%wo0%Fu}DksHF^=@+C zvY_ii)4f+>JJIo^cvm{S1dZT%3a8awNd&HPQkr_CwnU$#0EB94w&2gcrmlG+uOB?| zf3b3wu9<Rj*hgtWC|{&xK3RPi?wrKw7a|BC3Lr1xT$$K`Mrbv)K~;+%PAW@#hx(nR zCk0#VF-^en72xedm7gWynExO=6hL$Z?;TLo^FRkFl+3>I)3V7CAD-2~${xv|6K*2u zgQ2KX8DeWWkuAyVNtd42UDtj?YAbGRf8*w9qdt1j%;<-ni4!&&L+m*$er1?`)Gx8% z2rHyw9SWf~snmq76d58d70^T!Y3>4)B7wo_PQ3e~o6n?NS>Wi~0-#5g4^T!O4yIr9 z(G|6?LqQ(Q(*i2F0vU5uV~^4-+6F~cUohcoR)A=@4*01AQ_y7uqz)C+T9R2oe~Lt% zOQfhk6JUVy9a;dBLMi<x`dr%c%}YxzoKn%WIc3nhnMfjeQZ3na)N793>G4P#n$(Uc zgu0)jx<iLR+O=~iKR(7o7(KmXGMaP$Wv?EMhBG)}eW=ZHL`8%a7k2s^1{4R)NSW<O zMKYTqrmClvgAT3f1*G8Gc&~Euf1-OS4Go=WeL)E~{CJCzaMw=D+(a^qwFf86gCeVD zb{AJ-vQcBJz|BqoAd9kVrp#IE;Y9Y!a8dwy&{k4KZ7-qIQTM!qBlth5FUA0iutQn* z;+r@IMmM|2@K`|`6NMc<KJS~}<{QC-(WzI|g>dZDi^`*QMl6%c3Q`tXfBGF)829qL z-U@9ZXj0ZzGH|FU#O3Am9UdpF{}j%L#5&J=9|d1vU1!9J3h%)gQ&B{u@Gc|O;3ZIV z*$|)>?N{hPmn<DUZJ<jDf%JWD4D7l0WZ^vaX&aAlWP%ZoC8t!h5u2VrSv_E86%rtk zSztS$Cxvt>FzV{TqD~;Lf7{&;(4cm&O+?*R1so^3ZhCc`L!L)_Y|L)gttjq_N@JWm zhWdPijeenLTfG1mjmFGLrLCnga26T%9=s>mNl>_Gsr+FuWFc7oHZZ0t)N_c{O6qSJ z?iEo7-|R48mnQ}-Cdpcml(_;d<wo}veJ{JRnjBzHzy;t=e0kJde^G$ju2pudRe1@$ zQWylki15gX*mYIuZb`QlJ4P^^F@Ujzoe4U*2c#{uS{OlYi33+`v>)kErL0&44Zq5> z7O0kOgxk;$8xZH=WW+!o7R!R4OJHsAOS4A5r>wMYB2bKjkmxJOEPfA<eHm)ocm>p! z`I8JTs(uT?R7`tYe-8za%7jL>GgpVXP#Ecn-lSwg0NndUU&@avaT>Al_zIu8EGz5U z=GTqMD_t)Cr0pqlL?SwBKrP<??c)SYtFpX0Ue5;SQPo*=IDxGO;6q*zemVn~X-OqS z2!A~pWe+nYNB((OjSSn7;U3-U#z!<L;G^)>pldroIx(Sfe^r68yoDzM-R@Iqgk0@A zuCzC()7y2QE^*#}*Pge(%f<%*q|I=!iUuYnzh%y;`3SOAx1g9uew8#@w8mDC?ObM5 z3aG?Koe&s`@*<w9EFoT5N~^}+U>kZDv$f|ggceC$D~yQgtpycJg+LJ;8WHr&UI=z{ zE=u}$Vkb)6f1hYJ1wb79ji5*#C{fj$9s%b}?_RX3hAM?<^CtdLl${hOdcp~~PuURT z(ex^^%gJ!5<RbnTc<;pcJZS^rFzT~AvkU0y!1B_$JV{orkE)dpK^t2U(JzB!PU@3N zN(GTvi}^}ZLPRRppsiTXg|wBe=yV)4J-LX&jP9W0fA9sPU*`!7+MdT*?dBL<rLbGn ze-YuBJScgTShj;`Y+efAt<Ys@!4@5nGBQSA2vsnKHBF@;$Rw{UYu;DqrEt^Q0)t?W zoKJ8Cv>I0cA&QNhUYX8K>rov>pXsOtLAz$$-Ng#iLn8M@K5mkdFNrMbDTSZ_n;0q9 zJJo|&e_!R%hroBw#z{xh2^h~7(qy^RTV&>l?M)HWCrB&yyz0D9+8IV@IzfNDe}cN| z!TjXg(-@E4<k)gvvdwm&I{Eg5Cbufn3G65Jh3blk<=dm4-K<v95DeR+ZdHi<t^hsC zB%4KQ>xTC1wT)p+909;d)!96imY0&U8W@17fA+Yx?wt^|zzlfv2`>o<wes4UCx&f+ zZKUJQGwFe6!sS(BP6%F<#|)BmR69juB*fzhPbh;{MF8B%I*)nRF})HRMn_Qd>`Xjy z<meqeOIyqqBCHLJKAj}Hdm4M&Gm-Nj?<q};rFha&MkXEA`_(~KmzyOhsSB9kk^QN! ze?pc>P(V@kzqhR^qG`U;w(O9^v<o9&l$eO#Ig!tbLu=)@36Yxob!>m)%2haJJ56l? zHQppFx0)AFInk}yz9op796n2!2e2^Omn_IshH)N4m)~r<HC)Zk-P0*J6$PQ=F@-~R zDxTxD-05+mbs>GW%5rbx+ioX0MgEpwfA&@tYH68@cRk~9Vj+>JU$G2P7J1ZZs;@2K zcJ~*!?Ag#dQh|t|y`GmI_LVa+GLJ}wV%+k&j*v`PT1>5^Qm9J%5r)edCMuehu@qsB zi&zSLp=3E7!RC$NVv^^P5YSXpR)?}ZyYVH{6kVI-cbKEM^qsWy3d@X70TRg+e}6qc zy#SC9=VN=B2MX#8W(3q%s0``~Ia)q<@Z|eI0y2|4fbsMK;dcJ-W|0V4o5{LE=FFl- zSk5X$J};p(th%=n$x7^BP7{<EEA-r=@#qH}2)){3Voa8`Q-Q|{V<kT7k8p<bq6H38 zcr)gcJ0Tjdoq+=N0?M9>yCnudf9aVBl{yHkiNVOJAe{Y?@hS^wMP%yaB=3|Js4R(_ z;vq}LaxAyF9%v6otmAGdcHQ4>Ua2_xNsJ1L_8PD^97$vA_YG0^9@y8n`Dfox?ba<9 zwvcpmoV3Ipo}eoMRr{o=+FlCy5<?wyNnw~oO3L;LbW_bKo}wZsB1!n`e@VrOP&8Zd zN6n$gysWj-fWd(~Qyr?dWD=B?tX>xeHenIpDt@Rg1}w!6rlxfF@E{u@`8+o4OVB#= zpHZMvuVIDMeeY#;Ko1ds1-=c;&OmYS0fjr2@+e-6>JbR=Kqf9&bYAH6OF7^xFu7`0 zMVKj%+lh-tH>3A(diSEJf8Zg!v#{kXf1@r?nrEwt?5DCS(G_*%iPoo@oaH`s5<q8l zmJXVi^VGJxhVIee8<k)LMU&$;iqzSTRm?KjJbA@8b%+n=RKwkQMbn_srLD7ww}te6 zb3DWoA?4&nWZJUJZYYK&n4oeU?No}+Id=4dR<n19sBw<b*{wSqf9g0?$O6*rmv_VB z{OP4(RHLK&s+^FWR)rebdn){73GQhmq}%bGkyHQ`4WAcqs}%%CtXNyt7QX4prjprZ zNq5mLh$~EPEQzV|^blTYWK?;SGLzA*=08l#b}uUouG?}(Rh~EsZLb1Mngy|n;$P>j z1x`vpQ2pJEBV?$Ye`{dbOnj~p4zJH>L!V_Jsb`kT2sCsiU~AM(<)EYNTVlb5n*#Q8 zR@pyCn~$UGt%Q?D0sKYx3EDB`D{gNu_8CyGWuekJ$@EmiiM-T+$|v`-=kAE7QQ;oZ zR?gxi(Ttsk4#SJ?2*rn|y&RJyxcrd4w+D{G=e|OB+<ZQXf4q`3TY2f;atuSaQ3l3Y z3fVjQ_`Ri3i7?PW^c4W5WL%-Uc2W{}%#rJlw4gI{0~kFE6By*+#7bApN(ZmhXYL5? zsLbkJsvYC&@i9=%Cn{5#Rjq-kN`20%#R7hl`!JuCDUlNds>ZX}+}S#Deg`o_C_MYL zaH{=6*g)12e|>`!M7#<4_H|M^l;YYq(n;<$JjOQc>;)Keo8#onI;zV>7MUc{SDejB z$q&uNs)gP*3|yP9Bl1gY!>xFcDy1$vVk@5CZ4qu(=ep(u{pz$cJR{X<V~9T4Q7+o| zCAzXvIcIhPDrZ)Nz$;4Yk~5=X$llw-MM}E+(@F%}e~M1}ZN`x8i_}GVD**+C9ugef ziSSMnj{d0hmCTG7Xu?#EsvnP=el&_e6ZJjjjV~Y94?scA$=y>vGo!oZGyo~Pd>jEx zE|;LHE9GmJJwJVH?8XKyMNUCius7l2JXED92<B`8=4(;s01HPTT_$i^n8h|?09B7m zEoO2&e*-E6`rHSVupn&9jn;uM7H0Jtu1dkJklL{Z**AtIz<wqbl8(Q#6KaPG?NyFO za_jNz+)|rx0`}0rNB;Lv0<Fq6K{p-1v-;qI;v*pp6Qkhg6?8_i>}>eb+<e%3ls6p8 z`?D(wkO9n6W1d6ZsROiPDNUtKF7c(kl#W70f3s`h_&NJxbrZ-}kM7=y!O3yRt?o7k z5zjJXd0^smMcs+0N#4l|(D(A-th{QeNKh*BsB;>WlUl<=%|{HPj!o9nS2Z-&y*6MY zLfoC4<tycGb?9l#q*COitKV=Py$^!yC>P~W{e78TIvP)l;8#jqWjhUG97&qSqJ7Cn ze_8l5X}>nn@wFSY6YoA#5_E&_>XD{Hb}&Nxg?gR	X^op^;!5S>Cp1Q$4j{khqYd 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�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 z�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�l^gg&PkW{Y82PVxeTx!C$c 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%0DlNhMM4h)I4h*U^N;^{KFJgHynk5`RYlq& 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∋RY0o0HJme!n=qKI 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�yKEG+IM$MaEmR;@ws$YLS5 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 UU|`&UzYf4o;rkQd#u(=R0m&i*0ssI2 delta 966952 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�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ĤEk9EL-`gR&k=* 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%0AM?^%Wy+lx+MrX;ASP4e}7?%x~D=C;Lg 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ð0$ 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�#97`qq9c=Si~&HNSCBKX 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
Zwp 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%0Aw@vN0M}+en-4P|(CrV;FxCKf6 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�VYVZb4<o;pt|3ps5)ejOERV5JD- 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	&WK8 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 I3r>gs0cT1%bpQYW diff --git a/modules/t/transcript.t b/modules/t/transcript.t index 82af890406..1c2dfd3548 100644 --- a/modules/t/transcript.t +++ b/modules/t/transcript.t @@ -3,9 +3,9 @@ use strict; use warnings; use vars qw( $verbose ); -BEGIN { $| = 1; +BEGIN { $| = 1; use Test; - plan tests => 31; + plan tests => 38; } use MultiTestDB; @@ -24,7 +24,7 @@ my $db = $multi->get_DBAdaptor('core' ); my $sa = $db->get_SliceAdaptor(); -my $slice = $sa->fetch_by_chr_start_end("20", 30_249_935, 31_254_640 ); +my $slice = $sa->fetch_by_region('chromosome', "20", 30_249_935, 31_254_640 ); my $genes = $slice->get_all_Genes(); @@ -46,8 +46,8 @@ for my $gene ( @$genes ) { } } - $gene->transform(); - + $gene = $gene->transform( "contig" ); + next if( ! $gene ); for my $trans ( @{$gene->get_all_Transcripts()} ) { if( $trans->translate()->seq() =~ /\*./ ) { $translates = 0; @@ -61,6 +61,30 @@ debug( "utr Transcript is $utr_trans" ); ok( $translates ); +# +# Try pulling off genes from an NTContig and making sure they still translate. +# This is a fairly good test of the chained coordinate mapping since the +# transcripts are stored in chromosomal coordinates and there is no direct +# mapping path to the supercontig coordinate system. +# +my $supercontig = $sa->fetch_by_region('supercontig', "NT_028392"); + +my $transcripts = $supercontig->get_all_Transcripts(); + +debug( "Checking if all transcripts on NTContig NT_028392 translate and transform" ); + +$translates = 1; +for my $trans ( @$transcripts ) { + if( $trans->translate()->seq() =~ /\*./ ) { + $translates = 0; + debug( $trans->stable_id()." does not translate." ); + last; + } + debug($trans->stable_id() . ":" . $trans->translate()->seq() . "\n"); +} + +ok($translates); + my $ta = $db->get_TranscriptAdaptor(); @@ -74,10 +98,12 @@ ok (@{$stable_ids}); my $tr = $ta->fetch_by_stable_id( "ENST00000217347" ); +$tr = $tr->transform('contig'); + ok( $tr ); debug ( "External transcript name: " . $tr->external_name ); -ok ( $tr->external_name eq "MAPRE1"); +ok ( $tr->external_name eq "MAPRE1"); debug ( "External transcript dbname: " . $tr->external_db ); ok ( $tr->external_db eq 'HUGO' ); @@ -173,6 +199,8 @@ ok( scalar( @{$tr->get_all_Exons()} ) == 0 ); # get a fresh tr to check the update method $tr = $ta->fetch_by_stable_id( "ENST00000217347" ); +$multi->save('core', 'transcript'); + # the first update should have no effect $ta->update($tr); @@ -187,4 +215,45 @@ $ta->update($tr); $up_tr = $ta->fetch_by_stable_id( "ENST00000217347" ); ok ( $up_tr->display_xref->dbID() == 614 ); +$multi->restore('core', 'transcript'); + + + +my $interpro = $ta->get_Interpro_by_transid("ENST00000252021"); +foreach my $i (@$interpro) { + debug($i); +} +###currently no interpro info in the test db +ok(@$interpro == 1); + +# +# test fetch_all_by_external_name +# + +($tr) = @{$ta->fetch_all_by_external_name('BAB15482')}; +ok($tr && $tr->stable_id eq 'ENST00000262651'); + +# +# test fetch_by_translation_id +# + +$tr = $ta->fetch_by_translation_id(21734); + +ok($tr && $tr->stable_id eq 'ENST00000201961'); + +ok($tr->display_id() eq $tr->stable_id()); + +# +# regression test: five_prime_utr and three_prime_utr were failing +# for transcripts that had no UTR. undef should have been returned instead +# +$tr = $ta->fetch_by_stable_id('ENST00000246203'); + +my $three_prime = $tr->three_prime_utr(); + +ok(!defined($three_prime)); + +my $five_prime = $tr->five_prime_utr(); + +ok(!defined($five_prime)); diff --git a/modules/t/translation.t b/modules/t/translation.t index d92088dd32..1702b4f58c 100644 --- a/modules/t/translation.t +++ b/modules/t/translation.t @@ -1,17 +1,18 @@ use lib 't'; -use TestUtils qw(test_getter_setter); +use TestUtils qw(debug test_getter_setter); use Bio::EnsEMBL::Translation; use Bio::EnsEMBL::Exon; BEGIN { $| = 1; use Test; - plan tests => 11; + plan tests => 19; } my $loaded = 0; END {print "not ok 1\n" unless $loaded;} -my $verbose = 0; +#turn on/off debug prints: +our $verbose = 0; use MultiTestDB; @@ -28,7 +29,7 @@ my $t = Bio::EnsEMBL::Translation->new(); ok($t); ok(test_getter_setter($t,'stable_id',1)); -ok(test_getter_setter($t,'temporary_id',2)); + ok(test_getter_setter($t,'dbID',3)); ok(test_getter_setter($t,'start',42)); @@ -39,7 +40,6 @@ $exon->start(10); $exon->end(20); $exon->strand(1); $exon->phase(0); -#$exon->contig( $contig ); $exon->end_phase( -1 ); $t->start_Exon($exon); @@ -48,6 +48,11 @@ ok($t); $t->end_Exon($exon); ok($t); + +# +# Tests for the translation adaptor +################################## + my $ta = $db->get_TranslationAdaptor(); my $ids = $ta->list_dbIDs(); ok (@{$ids}); @@ -55,3 +60,54 @@ ok (@{$ids}); my $stable_ids = $ta->list_stable_ids(); ok (@{$stable_ids}); + +my $tra = $db->get_TranscriptAdaptor(); + +my $transcript = $tra->fetch_by_stable_id('ENST00000201961'); + +# +# test fetch_by_Transcript +# +my $translation = $ta->fetch_by_Transcript($transcript); + +ok($translation && $translation->stable_id eq 'ENSP00000201961'); +ok($translation && $translation->start_Exon->stable_id eq 'ENSE00000661216'); +ok($translation && $translation->end_Exon->stable_id eq 'ENSE00000661212'); + + +# +# test fetch_by_dbID +# +$translation = $ta->fetch_by_dbID(21734); +ok($translation && $translation->stable_id() eq 'ENSP00000201961'); + + +# +# test fetch_by_stable_id +# +$translation = $ta->fetch_by_stable_id('ENSP00000201961'); +ok($translation && $translation->dbID() == 21734); + +# +# test fetch_by_external_name +# +($translation) = @{$ta->fetch_all_by_external_name('CAC33959')}; +ok($translation && $translation->dbID() == 21716); + +# +# test get_all_ProteinFeatures +# + +my @protein_features = @{$translation->get_all_ProteinFeatures()}; +debug("Got " . scalar(@protein_features) ." protein features."); +ok(@protein_features == 3); + + +# +# test get_all_DomainFeatures +# +my @domain_features = @{$translation->get_all_DomainFeatures()}; +debug("Got " . scalar(@domain_features) . " domain features."); +ok(@domain_features == 3); + +ok($translation->display_id eq $translation->stable_id); \ No newline at end of file diff --git a/scripts/dna_compress.pl b/scripts/dna_compress.pl index a545c0033c..3dcd5104f0 100755 --- a/scripts/dna_compress.pl +++ b/scripts/dna_compress.pl @@ -15,26 +15,22 @@ use strict; use Getopt::Std; -use vars qw($opt_h $opt_T $opt_i - $opt_U $opt_D $opt_P $opt_H $opt_p - $opt_s $opt_c $opt_C $opt_l $opt_d $opt_r $opt_n); - -use Time::HiRes qw(gettimeofday); +use vars qw($opt_H $opt_T + $opt_u $opt_d $opt_P $opt_h $opt_p $opt_C $opt_U); use Bio::EnsEMBL::DBSQL::DBAdaptor; +use Bio::EnsEMBL::Utils::Exception qw(throw warning); -getopts("hTi:U:D:P:H:p:s:cCl:dr:n:"); +getopts("u:HTd:p:P:h:CU"); $|=1; # specify defaults -my $def_U='ensadmin'; -my $def_D='testdna'; -my $def_P='3307'; -my $def_H='127.0.0.1'; -my $def_r=5; +my $def_u='ensadmin'; +my $def_P='3306'; +my $def_h='127.0.0.1'; -if($opt_h){ +if($opt_H){ &help; }elsif($opt_T){ &help2; @@ -42,23 +38,20 @@ if($opt_h){ sub help { print <<ENDHELP; -dna_compress.pl - -h for help - -s char string of DNA (for writing) - -l char label of clone, contig (for writing) - -c convert - -C compare - -r num number of randomisation subsequence selections [$def_r] - -i id clone_dbid (for comparing, converting, extracting DNA) - -d delete clone - -n num process N items - - -U user ensembl db user [$def_U] - -D db ensembl db [$def_D] +usage: +dna_compress.pl [options] + + -H for help + -T tutorial + -d database + -u user ensembl db user [$def_u] + -d db ensembl db -P port port of mysql [$def_P] - -H host host of mysql [$def_H] + -h host host of mysql [$def_h] -p pass passwd for mysqluser + -C compress + -U uncompress ENDHELP exit 0; @@ -69,268 +62,176 @@ sub help2 { } # defaults or options -$opt_U=$def_U unless $opt_U; -$opt_D=$def_D unless $opt_D; -$opt_P=$def_P unless $opt_P; -$opt_H=$def_H unless $opt_H; -$opt_r=$def_r unless $opt_r; +$opt_u ||= $def_u; +$opt_h ||= $def_h; +$opt_P ||= $def_P unless $opt_P; -# db connection -my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor(-host => $opt_H, - -user => $opt_U, - -port => $opt_P, - -dbname => $opt_D, - -pass => $opt_p); -my $seq_apt=$db->get_SequenceAdaptor; -my $contig_apt=$db->get_RawContigAdaptor; -my $clone_apt=$db->get_CloneAdaptor; +if(!$opt_d) { + print STDERR "ensembl db (-d) argument is required\n"; + help(); +} -if($opt_C || $opt_c){ - - # convert dna of sequences (loop over clone->contig->dna table, - # inserting into dnac table when no entry is already present) - # OR - # compare raw and compressed sequences - - my $clones=$clone_apt->fetch_all(); - my $nd=0; - my $ns=0; - my $nc=0; - my $tc=0; - my $tu=0; - foreach my $clone (@$clones){ - my $clone_dbid=$clone->dbID; - next if($opt_i && $opt_i!=$clone_dbid); - my $clone_id=$clone->id; - my $created=$clone->created(); - print "Processing Clone $clone_id ($clone_dbid) $created\n"; - my $contigs=$clone->get_all_Contigs(); - foreach my $contig (@$contigs){ - my $contig_dbid=$contig->dbID; - my $contig_id=$clone->id; - my $seq=$seq_apt->fetch_by_RawContig_start_end_strand($contig,1,-1,1); - my $len=length($seq); - - my $dna_id; - # custom sql is required to get dna_id and check if there is a compressed id - my $query="SELECT c.dna_id FROM contig c WHERE c.contig_id = ?"; - my $sth=$contig_apt->prepare($query); - $sth->execute($contig_dbid); - if(my $aref=$sth->fetchrow_arrayref()){ - ($dna_id)=@$aref; - }else{ - $contig_apt->thrown("No dna_id for Contig $contig_id"); - } - - print " Processing Contig $contig_id ($contig_dbid) [$len] $dna_id\n"; - - my $flag_compressed_exists=0; - $query="SELECT d.dna_id FROM dnac d WHERE d.dna_id = ?"; - $sth=$seq_apt->prepare($query); - $sth->execute($dna_id); - if(my $aref=$sth->fetchrow_arrayref()){ - $flag_compressed_exists=1; - } - # convert - if($opt_c){ - if($flag_compressed_exists){ - print " Compressed DNA entry already exists for dna_id $dna_id\n"; - next; - } - # write compressed DNA record - my $id=$seq_apt->store_compressed($seq,$created,$dna_id); - print " Created compressed DNA entry\n"; - }elsif($opt_C){ - if(!$flag_compressed_exists){ - print " Compressed DNA entry missing for dna_id $dna_id\n"; - next; - } - my $seq2=$seq_apt->fetch_by_RawContig_start_end_strand($contig,1,-1,1,1); - if($seq ne $seq2){ - print "DIFFERENT\n"; - $nd++; - }else{ - print "Same\n"; - $ns++; - } - my $len2=length($seq2); - my $lenx=30; - if($len<$lenx){ - $lenx=$len; - print substr($seq,0,$lenx)."\n".substr($seq2,0,$lenx)."\n\n"; - }else{ - print substr($seq,0,$lenx)." .. ".substr($seq,$len-$lenx,$len)."\n"; - print substr($seq2,0,$lenx)." .. ".substr($seq2,$len-$lenx,$len2)."\n\n"; - } - - # now test a subsequence - my $lenr=$len-1; - for(my $i=0;$i<$opt_r;$i++){ - my $r=rand; - my $st=int($r*$lenr)+1; - $r=rand; - my $ed=int($r*($lenr-$st))+$st+1; - print "$lenr: $st-$ed\n"; - my $t1=gettimeofday; - $seq=$seq_apt->fetch_by_RawContig_start_end_strand($contig,$st,$ed,1); - $tu+=gettimeofday-$t1; - $len=length($seq); - $t1=gettimeofday; - $seq2=$seq_apt->fetch_by_RawContig_start_end_strand($contig,$st,$ed,1,1); - $tc+=gettimeofday-$t1; - if($seq ne $seq2){ - print "DIFFERENT\n"; - $nd++; - }else{ - print "Same\n"; - $ns++; - } - my $len2=length($seq2); - my $lenx=30; - if($len<$lenx){ - $lenx=$len; - print substr($seq,0,$lenx)."\n".substr($seq2,0,$lenx)."\n\n"; - }else{ - print substr($seq,0,$lenx)." .. ".substr($seq,$len-$lenx,$len)."\n"; - print substr($seq2,0,$lenx)." .. ".substr($seq2,$len-$lenx,$len2)."\n\n"; - } - } - } - - } - $nc++; - last if($opt_n && $nc>$opt_n); - } - print "Same: $ns; Different: $nd\n" if $opt_C; - my $ratio=0; - $ratio=$tc/$tu unless $tu==0; - printf "Uncompressed time: %5.1f; Compressed time: %5.1f (%5.1f)\n",$tu,$tc,$ratio; - exit 0; - -}elsif($opt_s && $opt_l){ - - # sequence and label defined, so write into db; - - my $acc=$opt_l; - my $seq=$opt_s; - my $ver=1; - # clone object - my $clone=new Bio::EnsEMBL::Clone; - $clone->id($acc); - $clone->htg_phase(4); - $clone->embl_id($acc); - $clone->version($ver); - $clone->embl_version($ver); - my $now = time; - $clone->created($now); - $clone->modified($now); - - # contig object - my $contig = new Bio::EnsEMBL::RawContig; - my $length = length($seq); - $contig->name("$acc.$ver.1.$length"); - $contig->embl_offset(1); - $contig->length($length); - $contig->seq($seq); - $clone->add_Contig($contig); - - my $dbclone; - eval { - $dbclone = $clone_apt->fetch_by_accession_version($acc,$ver); - }; - if($dbclone){ - #$dbclone->delete_by_dbID; - $clone_apt->remove($dbclone); - print "remove old version of clone\n"; - } - my $id=$clone_apt->store($clone); +if(!$opt_C && !$opt_U) { + print STDERR "either compress (-C) or uncompress (-U) is required\n"; + help(); +} + + +# db connection +my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor(-host => $opt_h, + -user => $opt_u, + -port => $opt_P, + -dbname => $opt_d, + -pass => $opt_p); - print "Clone '$acc' stored under dbid $id\n"; - - exit 0; -}elsif($opt_d && $opt_i){ - # remove clone +my $meta_container = $db->get_MetaContainer(); +my $comp_seq_adaptor = $db->get_CompressedSequenceAdaptor(); - my $clone=$clone_apt->fetch_by_dbID($opt_i); - if($clone ne ''){ - $clone_apt->remove($clone); - print "Clone $opt_i removed\n"; - }else{ - print "Clone not found\n"; +my ($compressed) = + @{$meta_container->list_value_by_key('sequence.compression')}; + +if($opt_C) { + #compress the dna in the database + if($compressed) { + throw("The database meta table indicates this database already contains" + ." sequence compression.\nIf this is not the case do the following:\n" + ." mysql> delete from meta where meta_key = 'sequence.compression'\n"); } -}elsif($opt_i){ + #one more sanity check - make sure that dna table is populated and dnac table + #is not + if(get_dna_count($db) == 0) { + print STDERR "There is no uncompressed dna in this database to compress."; + exit(0); + } + if(get_dnac_count($db) != 0) { + throw("Unexpected: the dnac table already contains some rows.\n"); + } + + print STDERR "Compressing sequence and writing to dnac table.\n"; + + #get every slice that contains sequence + my $slice_adaptor = $db->get_SliceAdaptor(); + foreach my $slice (@{$slice_adaptor->fetch_all('seqlevel')}) { + my $seq_region_id = $slice_adaptor->get_seq_region_id($slice); + $comp_seq_adaptor->store($seq_region_id, $slice->seq); + print STDERR "."; + } - foreach my $id (split(/,/,$opt_i)){ - my $clone=$clone_apt->fetch_by_dbID($id); - my $contigs=$clone->get_all_Contigs; - foreach my $contig (@$contigs){ - my $cid=$contig->dbID; - print "$cid: ".$contig->seq."\n"; - } + print STDERR "\nSetting sequence.compression meta table entry.\n"; + $meta_container->delete_key('sequence.compression'); + $meta_container->store_key_value('sequence.compression', 1); + + print STDERR "Deleting uncompressed sequence.\n"; + my $sth = $db->prepare("delete from dna"); + $sth->execute(); + + print STDERR "All done.\n"; + +} else { + #uncompress the dna in the database + if(!$compressed) { + throw("The database meta table indicates that the sequence in this " + ." database is already uncompressed.\nIf this is not the case do " + ." the following:\n" + ." mysql> delete from meta where meta_key = 'sequence.compression';\n" + ." mysql> insert into meta (meta_key,meta_value) " + . "values('sequence.compression', 1);\n"); } - exit 0; -}else{ + if(get_dnac_count($db) == 0) { + print STDERR "There is no compressed dna in this database to uncompress."; + exit(0); + } + if(get_dna_count($db) != 0) { + throw("Unexpected: the dna table already contains some rows.\n"); + } - print "WARN - provide a valid contig_id (reading) or sequence to write\n"; + print STDERR "Setting sequence.compression meta table entry.\n"; + $meta_container->delete_key('sequence.compression'); + $meta_container->store_key_value('sequence.compression', 0); -} + print STDERR "Uncompressing sequence and writing to dna table.\n"; -__END__ + #get every slice that contains sequence + my $slice_adaptor = $db->get_SliceAdaptor(); + my $seq_adaptor = $db->get_SequenceAdaptor(); + + if($seq_adaptor->isa('CompressedSequenceAdaptor')) { + throw("Tried to get SequenceAdaptor but got CompressedSequenceAdaptor."); + } -=pod + foreach my $slice (@{$slice_adaptor->fetch_all('seqlevel')}) { + my $seq_region_id = $slice_adaptor->get_seq_region_id($slice); + my $seq = $comp_seq_adaptor->fetch_by_Slice_start_end_strand($slice); + $seq_adaptor->store($seq_region_id, $$seq); + print STDERR "."; + } -=head1 NAME - name + print STDERR "\nDeleting compressed sequence.\n"; + my $sth = $db->prepare("delete from dnac"); + $sth->execute(); -dna_compress.pl + print STDERR "All done.\n"; +} -=head1 DESCRIPTION -Populates and tests the experimental dnac (compressed dna) table of ensembl. +sub get_dna_count { + my $db = shift; -=head1 SYNOPSIS + my $sth = $db->prepare("SELECT count(*) from dna"); + $sth->execute(); + my ($count) = $sth->fetchrow_array(); + $sth->finish(); - + return $count; +} -=head1 EXAMPLES -Create a clone/clontig/dna entry +sub get_dnac_count { + my $db = shift; - dna_compress.pl -s 'ACGTTTGGAANANGCCGTTNNNNACCGNGTGCTAAGCC' -l test + my $sth = $db->prepare("SELECT count(*) from dnac"); + $sth->execute(); + my ($count) = $sth->fetchrow_array(); + $sth->finish(); + + return $count; +} -Clone 'test' stored under dbid 42 -Create a compressed version of this entry +__END__ - dna_compress.pl -c -i 42 +=pod +=head1 NAME - name -Compare compressed and uncompressed versions of this entry +dna_compress.pl - dna_compress.pl -C -i 42 +=head1 DESCRIPTION -(carries out a fetch of the entire contig and then 5 different random parts from it) +Converts compressed sequence in an ensembl database to uncompressed sequence +or converts uncompressed sequence in an ensembl database to compressed +sequence. +=head1 SYNOPSIS -Extract sequence from DB, autosensing when only compressed is present. + - dna_compress.pl -i 42 +=head1 EXAMPLES -28: ACGTTTGGAANANGCCGTTNNNNACCGNGTGCTAAGCC +Compress the contents of the dna table in an ensembl database: - mysql> delete from dna where dna_id=42; + dna_compress.pl -C -u ensadmin -p password -h host -d homo_sapiens_core_18_34 - dna_compress.pl -i 42 +Uncompress the contents of the dnac table in an ensembl database -Switched to compressed DNA reading mode -28: ACGTTTGGAANANGCCGTTNNNNACCGNGTGCTAAGCC + dna_compress.pl -U -u ensadmin -p password -h host -d homo_sapiens_core_18_34 - =head1 FLAGS @@ -344,25 +245,29 @@ Displays short help Displays this help message -=item -s <string> +=item -C -String of DNA to write into database +Compress the dna in the database -=item -l <string> +=item -U -Label for clonename, contigname to write into database +Uncompress the dna in the database -=item -c +=item -h -Make compressed DNA entry for all clones in DB, or just those listed by dbid (-i) +The database host -=item -C +=item -p + +The database password -Compare uncompressed and compressed DNA entries where present, and/or listed by dbid (-i) +=item -P -=item -i <num[,num]> +The database port -List of clone dbid +=item -u + +The database user =back @@ -374,6 +279,10 @@ List of clone dbid B<th> initial release +=item 08-Oct-2003 + +B<mcvicker> rewrote for new schema and newly implemented sequence compression + =back =head1 BUGS diff --git a/sql/table.sql b/sql/table.sql index 888e6d3150..ef8c509fff 100755 --- a/sql/table.sql +++ b/sql/table.sql @@ -1,40 +1,34 @@ # revisited schema naming issues # Author: Arne Stabenau # Date: 12.11.2001 - -# conventions -# use lower case and underscores -# internal ids are integers named tablename_id -# same name is given in foreign key relations - - -# -# Table structure for table 'analysis' # +# Glenn Proctor July 2003 - adapted for new schema structure # +# Note that more information about each table can be found in +# ensembl/docs/schema_description/ -CREATE TABLE analysis ( - analysis_id int(10) unsigned DEFAULT '0' NOT NULL auto_increment, - created datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, - logic_name varchar(40) not null, - db varchar(120), - db_version varchar(40), - db_file varchar(120), - program varchar(80), - program_version varchar(40), - program_file varchar(80), - parameters varchar(255), - module varchar(80), - module_version varchar(40), - gff_source varchar(40), - gff_feature varchar(40), +# Conventions: +# - use lower case and underscores +# - internal ids are integers named tablename_id +# - same name is given in foreign key relations - PRIMARY KEY (analysis_id), - KEY logic_name_idx( logic_name ) + +CREATE TABLE alt_allele ( + alt_allele_id INT NOT NULL auto_increment, + gene_id INT NOT NULL, + + UNIQUE gene_idx( gene_id ), + UNIQUE allele_idx( alt_allele_id, gene_id ) ); + + -# semantics +################################################################################ +# +# Table structure for table 'analysis' +# +# semantics: # analysis_id - internal id # created - date to distinguish newer and older versions off the # same analysis. Not well maintained so far. @@ -52,491 +46,511 @@ CREATE TABLE analysis ( # - how to make a gff dump from features with this analysis -# -# Table structure for table 'chromosome' -# -CREATE TABLE chromosome ( - chromosome_id int unsigned NOT NULL auto_increment, - name varchar(40) NOT NULL, - length int(11) NULL, - - PRIMARY KEY (chromosome_id), - unique name (name) -); - +CREATE TABLE analysis ( -# -# Table structure for table 'clone' -# -CREATE TABLE clone ( - clone_id int(10) unsigned NOT NULL auto_increment, - name varchar(40) NOT NULL, - embl_acc varchar(40) NOT NULL, - version int(10) NOT NULL, - embl_version int(10) NOT NULL, - htg_phase int(10) DEFAULT '-1' NOT NULL, - created datetime NOT NULL, - modified datetime NOT NULL, - - PRIMARY KEY (clone_id), - KEY embl (embl_acc,embl_version), - KEY id (name, version) -); + analysis_id int(10) unsigned DEFAULT '0' NOT NULL auto_increment, + created datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, + logic_name varchar(40) not null, + db varchar(120), + db_version varchar(40), + db_file varchar(120), + program varchar(80), + program_version varchar(40), + program_file varchar(80), + parameters varchar(255), + module varchar(80), + module_version varchar(40), + gff_source varchar(40), + gff_feature varchar(40), -# semantics -# id - string we give to this clone in ensembl -# should be same as embl_id unless clone is not in embl -# embl_id - hows the clone submitted to embl -# htg_phase - finished/unfinished: draft is 123, finished is 4 + PRIMARY KEY (analysis_id), + KEY logic_name_idx( logic_name ) +); +################################################################################ # # Table structure for table 'map_density' # CREATE TABLE map_density ( - chromosome_id int unsigned NOT NULL, - chr_start int(10) NOT NULL, - chr_end int(10) NOT NULL, - type varchar(20) NOT NULL, - value int(10) NOT NULL, + + seq_region_id int unsigned NOT NULL, + seq_region_start int(10) NOT NULL, + seq_region_end int(10) NOT NULL, + type varchar(20) NOT NULL, + value int(10) NOT NULL, - PRIMARY KEY(type,chromosome_id,chr_start) -); + PRIMARY KEY(type,seq_region_id,seq_region_start) -# -# Table structure for table 'contig' -# -CREATE TABLE contig ( - contig_id int(10) unsigned NOT NULL auto_increment, - name varchar(40) NOT NULL, - clone_id int(10) NOT NULL, - length int(10) unsigned NOT NULL, # foreign key clone:internal_id - embl_offset int(10) unsigned, - dna_id int(10) NOT NULL, # foreign key dna:id - - PRIMARY KEY (contig_id), - UNIQUE name (name), - KEY clone (clone_id), - KEY dna (dna_id) ); - - +################################################################################ # # Table structure for table 'dna' # - -# This table holds the sequence of the contigs from the contig table. -# The sequence is that of the contig, not that of the golden -# path. I.e. to construct the golden path from the dna entries, -# the sequence of contigs with an orientation of -1 must be -# reversed and bases complemented. The assembly -# table has the contig orientation (raw_ori). -# Note the length of the dna.sequence field is always equal -# to the appropriate length field in the contig table -# (probably a violation of some form of normal form since contig.length -# is an attibute of the dna.sequence field) +# This table stores DNA sequence. CREATE TABLE dna ( - dna_id int(10) unsigned NOT NULL auto_increment, - sequence mediumtext NOT NULL, - created datetime NOT NULL, - - PRIMARY KEY (dna_id) + seq_region_id int unsigned NOT NULL, + sequence mediumtext NOT NULL, + + PRIMARY KEY (seq_region_id) + ) MAX_ROWS = 750000 AVG_ROW_LENGTH = 19000; +################################################################################ # # Table structure for table 'dnac' # - # Contains equivalent data to dna table, but 4 letters of DNA code are represented # by a single binary character, based on 2 bit encoding -# don't need to worry about ambiguity of length, since this is stored in contig.length +# do not need to worry about ambiguity of length, since this is stored in contig.length # n_line column contains start-end pairs of coordinates in the string that are really Ns CREATE TABLE dnac ( - dna_id int(10) unsigned NOT NULL auto_increment, + seq_region_id int unsigned NOT NULL, sequence mediumblob NOT NULL, - created datetime NOT NULL, n_line text, - PRIMARY KEY (dna_id) + PRIMARY KEY (seq_region_id) ) MAX_ROWS = 750000 AVG_ROW_LENGTH = 19000; +################################################################################ # # Table structure for table 'exon' # - -# Note seq_start always less that seq_end, i.e. -# when the exon is on the other strand the seq_start -# is specifying the 3' end of the exon. - -# The Sticky Rank differentiates between fragments of -# the same exon. I.e for exons that -# span multiple contigs, all the fragments -# are in this table with the same id, -# but different sticky_rank values +# Note seq_region_start always less that seq_region_end, i.e. +# when the exon is on the other strand the seq_region_start +# is specifying the 3prime end of the exon. CREATE TABLE exon ( - exon_id int unsigned NOT NULL auto_increment, - contig_id int(10) unsigned NOT NULL, # foreign key, contig:internal_id - contig_start int(10) unsigned NOT NULL, # start of exon within contig - contig_end int(10) unsigned NOT NULL, # end of exon within specified contig - contig_strand tinyint(2) NOT NULL, # 1 or -1 depending on the strand of the exon - - phase tinyint(2) NOT NULL, - end_phase tinyint(2) NOT NULL, - sticky_rank tinyint DEFAULT '1' NOT NULL, # see note above + + exon_id int unsigned NOT NULL auto_increment, + seq_region_id int(10) unsigned NOT NULL, # foreign key, seq_region:seq_region_id + seq_region_start int(10) unsigned NOT NULL, # start of exon within seq_region + seq_region_end int(10) unsigned NOT NULL, # end of exon within specified seq_region + seq_region_strand tinyint(2) NOT NULL, # 1 or -1 depending on the strand of the exon + + phase tinyint(2) NOT NULL, + end_phase tinyint(2) NOT NULL, - PRIMARY KEY ( exon_id, sticky_rank), - KEY contig_idx (contig_id, contig_start ) -); + PRIMARY KEY (exon_id), + KEY seq_region_idx (seq_region_id, seq_region_start ) -CREATE TABLE exon_stable_id ( - exon_id int unsigned not null, # foreign key exon:exon_id - stable_id VARCHAR(40) not null, - version int(10), - created datetime NOT NULL, - modified datetime NOT NULL, - - PRIMARY KEY( exon_id ), - UNIQUE( stable_id, version ) ); +################################################################################ +# +# Table structure for table 'exon_stable_id' +# +CREATE TABLE exon_stable_id ( + + exon_id int unsigned not null, # foreign key exon:exon_id + stable_id VARCHAR(128) not null, + version int(10), + + PRIMARY KEY( exon_id ), + UNIQUE( stable_id, version ) +); + +################################################################################ # # Table structure for table 'exon_transcript' # +# Note that the rank column indicates the 5prime to 3prime position of the +# exon within the transcript ie rank of 1 means the exon is the 5prime most +# within this transcript + CREATE TABLE exon_transcript ( - exon_id INT unsigned NOT NULL, # foreign key exon:exon_id - transcript_id INT unsigned NOT NULL, # foregin key transcript:transcript_id - rank int(10) NOT NULL, # Indicates the 5' to 3' position of the exon - # within the transcript ie rank of 1 means - # the exon is the 5' most within this transcript - + + exon_id INT unsigned NOT NULL, # foreign key exon:exon_id + transcript_id INT unsigned NOT NULL, # foregin key transcript:transcript_id + rank int(10) NOT NULL, + PRIMARY KEY (exon_id,transcript_id,rank), KEY transcript (transcript_id), KEY exon ( exon_id ) -); +); +################################################################################ +# +# Table structure for table 'simple_feature' +# CREATE TABLE simple_feature ( - simple_feature_id int unsigned not null auto_increment, - contig_id int(10) unsigned NOT NULL, - contig_start int(10) unsigned NOT NULL, - contig_end int(10) unsigned NOT NULL, - contig_strand tinyint(1) NOT NULL, - display_label varchar(40) NOT NULL, # what to show, may link to other things, depends on analysis - analysis_id int(10) unsigned NOT NULL, -# What scoring do we need ? - - score double, + simple_feature_id int unsigned not null auto_increment, + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(1) NOT NULL, + display_label varchar(40) NOT NULL, # what to show, may link to other things, depends on analysis + analysis_id int(10) unsigned NOT NULL, + score double, PRIMARY KEY ( simple_feature_id ), - KEY contig_idx( contig_id ), + KEY seq_region_idx (seq_region_id, seq_region_start ), KEY analysis_idx( analysis_id ), KEY hit_idx( display_label ) + ) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; +################################################################################ +# +# Table structure for table 'protein_align_feature' +# CREATE TABLE protein_align_feature ( - protein_align_feature_id int unsigned not null auto_increment, - contig_id int(10) unsigned NOT NULL, - contig_start int(10) unsigned NOT NULL, - contig_end int(10) unsigned NOT NULL, - contig_strand tinyint(1) DEFAULT '1' NOT NULL, - hit_start int(10) NOT NULL, - hit_end int(10) NOT NULL, - hit_name varchar(40) NOT NULL, - analysis_id int(10) unsigned NOT NULL, - - # What scoring do we need ? - - score double, - evalue double, - perc_ident float, - cigar_line text, - - PRIMARY KEY ( protein_align_feature_id ), - KEY hit_idx( hit_name ), - KEY ctg_idx( contig_id ), - KEY ana_idx( analysis_id ) + + protein_align_feature_id int unsigned not null auto_increment, + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(1) DEFAULT '1' NOT NULL, + hit_start int(10) NOT NULL, + hit_end int(10) NOT NULL, + hit_name varchar(40) NOT NULL, + analysis_id int(10) unsigned NOT NULL, + score double, + evalue double, + perc_ident float, + cigar_line text, + + PRIMARY KEY ( protein_align_feature_id ), + KEY seq_region_idx( seq_region_id, analysis_id, score, seq_region_start ), + KEY hit_idx( hit_name ) + ) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; +################################################################################ +# +# Table structure for table 'dna_align_feature' +# CREATE TABLE dna_align_feature ( - dna_align_feature_id int unsigned not null auto_increment, - contig_id int(10) unsigned NOT NULL, - contig_start int(10) unsigned NOT NULL, - contig_end int(10) unsigned NOT NULL, - contig_strand tinyint(1) NOT NULL, - hit_start int NOT NULL, - hit_end int NOT NULL, - hit_strand tinyint(1) NOT NULL, - hit_name varchar(40) NOT NULL, - analysis_id int(10) unsigned NOT NULL, - -# What scoring do we need ? - - score double, - evalue double, - perc_ident float, - cigar_line text, + + dna_align_feature_id int unsigned not null auto_increment, + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(1) NOT NULL, + hit_start int NOT NULL, + hit_end int NOT NULL, + hit_strand tinyint(1) NOT NULL, + hit_name varchar(40) NOT NULL, + analysis_id int(10) unsigned NOT NULL, + score double, + evalue double, + perc_ident float, + cigar_line text, PRIMARY KEY ( dna_align_feature_id ), - KEY hit_idx( hit_name ), - KEY ctg_idx( contig_id ), - KEY ana_idx( analysis_id ) + KEY seq_region_idx( seq_region_id, analysis_id, score, seq_region_start ), + KEY hit_idx( hit_name ) + ) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; +################################################################################ +# +# Table structure for table 'repeat_consensus' +# +CREATE TABLE repeat_consensus ( + repeat_consensus_id int unsigned NOT NULL auto_increment, + repeat_name varchar(255) NOT NULL, + repeat_class varchar(40) NOT NULL, # eg: SINE, LINE, DNA Transposon, + # Retroviral LTR, Satellite,Tandem + repeat_consensus text, + + PRIMARY KEY( repeat_consensus_id ), + KEY name (repeat_name), + KEY class (repeat_class), + KEY consensus(repeat_consensus(10)) -CREATE TABLE repeat_consensus ( - repeat_consensus_id int unsigned NOT NULL auto_increment, - repeat_name varchar(255) NOT NULL, - repeat_class varchar(40) NOT NULL, # eg: SINE, LINE, DNA Transposon, - # Retroviral LTR, Satellite,Tandem - repeat_consensus text, # Or dna_id with entry in DNA table? - - PRIMARY KEY( repeat_consensus_id ), - KEY name (repeat_name), - KEY class (repeat_class), - KEY consensus(repeat_consensus(10)) ); +################################################################################ +# +# Table structure for table 'repeat_feature' +# CREATE TABLE repeat_feature ( - repeat_feature_id int unsigned NOT NULL auto_increment, - contig_id int(10) unsigned NOT NULL, - contig_start int(10) unsigned NOT NULL, - contig_end int(10) unsigned NOT NULL, - contig_strand tinyint(1) DEFAULT '1' NOT NULL, - repeat_start int(10) NOT NULL, - repeat_end int(10) NOT NULL, - repeat_consensus_id int(10) unsigned NOT NULL, - analysis_id int(10) unsigned NOT NULL, - -# What scoring do we need ? - - score double, + + repeat_feature_id int unsigned NOT NULL auto_increment, + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(1) DEFAULT '1' NOT NULL, + repeat_start int(10) NOT NULL, + repeat_end int(10) NOT NULL, + repeat_consensus_id int(10) unsigned NOT NULL, + analysis_id int(10) unsigned NOT NULL, + score double, PRIMARY KEY ( repeat_feature_id ), - KEY contig_idx( contig_id ), + KEY seq_region_idx( seq_region_id, seq_region_start ), KEY repeat_idx( repeat_consensus_id ), KEY analysis_idx( analysis_id ) + ) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; +################################################################################ # # Table structure for table 'gene' # + CREATE TABLE gene ( - gene_id int unsigned NOT NULL auto_increment, - type VARCHAR(40) NOT NULL, - analysis_id int, - transcript_count int NOT NULL, - display_xref_id int unsigned NOT NULL, + + gene_id int unsigned NOT NULL auto_increment, + type VARCHAR(40) NOT NULL, + analysis_id int, + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(2) NOT NULL, + display_xref_id int unsigned, PRIMARY KEY (gene_id), + KEY seq_region_idx( seq_region_id, seq_region_start ), KEY xref_id_index ( display_xref_id ) -); +); +################################################################################ +# +# Table structure for table 'gene_stable_id' +# CREATE TABLE gene_stable_id ( - gene_id int unsigned not null, # foreign key gene:gene_id - stable_id VARCHAR(40) not null, - version int(10), - created datetime NOT NULL, - modified datetime NOT NULL, - - PRIMARY KEY( gene_id ), - UNIQUE( stable_id, version ) + + gene_id int unsigned not null, # foreign key gene:gene_id + stable_id VARCHAR(128) not null, + version int(10), + + PRIMARY KEY( gene_id ), + UNIQUE( stable_id, version ) + ); +################################################################################ # # Table structure for table 'supporting_feature' # CREATE TABLE supporting_feature ( - exon_id int(11) DEFAULT '0' NOT NULL, - feature_type enum('dna_align_feature','protein_align_feature'), - feature_id int(11) DEFAULT '0' NOT NULL, + + exon_id int(11) DEFAULT '0' NOT NULL, + feature_type enum('dna_align_feature','protein_align_feature'), + feature_id int(11) DEFAULT '0' NOT NULL, + UNIQUE all_idx (exon_id,feature_type,feature_id), KEY feature_idx (feature_type,feature_id) -) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; - - +) MAX_ROWS=100000000 AVG_ROW_LENGTH=80; +################################################################################ # # Table structure for table 'transcript' # + CREATE TABLE transcript ( - transcript_id INT UNSIGNED NOT NULL auto_increment, - gene_id INT UNSIGNED NOT NULL, # foreign key gene:gene_id - translation_id INT UNSIGNED NOT NULL, # foreign key translation:translation_id - exon_count int NOT NULL, - display_xref_id int unsigned NOT NULL, + + transcript_id INT UNSIGNED NOT NULL auto_increment, + gene_id INT UNSIGNED NOT NULL, # foreign key gene:gene_id + seq_region_id int(10) unsigned NOT NULL, + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + seq_region_strand tinyint(2) NOT NULL, + display_xref_id int unsigned, PRIMARY KEY (transcript_id), + KEY seq_region_idx( seq_region_id, seq_region_start ), KEY gene_index (gene_id), - KEY translation_index ( translation_id ), KEY xref_id_index ( display_xref_id ) ); +################################################################################ +# +# Table structure for table 'transcript_stable_id' +# + CREATE TABLE transcript_stable_id ( - transcript_id int unsigned not null, # foreign key transcript:transcript_id - stable_id VARCHAR(40) not null, - version int(10), - - PRIMARY KEY( transcript_id ), - UNIQUE( stable_id, version ) -); + transcript_id int unsigned not null, # foreign key transcript:transcript_id + stable_id VARCHAR(128) not null, + version int(10), + + PRIMARY KEY( transcript_id ), + UNIQUE( stable_id, version ) +); + +################################################################################ # # Table structure for table 'translation' # - -# The seq_start and seq_end are 1-based offsets into the -# *relative* coordinate system of start_exon_id and end_exon_id. -# ie, if the translation starts at the first base of the exon, seq_start -# would be 1 +# The seq_start and seq_end are 1-based offsets into the *relative* coordinate +# system of start_exon_id and end_exon_id. i.e. if the translation starts at the +# first base of the exon, seq_start would be 1 CREATE TABLE translation ( - translation_id INT UNSIGNED NOT NULL auto_increment, - seq_start INT(10) NOT NULL, # relative to exon start - start_exon_id INT UNSIGNED NOT NULL, # foreign key exon:exon_id - seq_end INT(10) NOT NULL, # relative to exon start - end_exon_id INT UNSIGNED NOT NULL, # foreign key exon:exon_id + + translation_id INT UNSIGNED NOT NULL auto_increment, + transcript_id INT UNSIGNED NOT NULL, + seq_start INT(10) NOT NULL, # relative to exon start + start_exon_id INT UNSIGNED NOT NULL, # foreign key exon:exon_id + seq_end INT(10) NOT NULL, # relative to exon start + end_exon_id INT UNSIGNED NOT NULL, # foreign key exon:exon_id - PRIMARY KEY (translation_id) + PRIMARY KEY (translation_id), + KEY (transcript_id) ); + +################################################################################ +# +# Table structure for table 'translation_stable_id' +# CREATE TABLE translation_stable_id ( - translation_id INT unsigned NOT NULL, # foreign key translation:translation_id - stable_id VARCHAR(40) NOT NULL, - version INT(10), - - PRIMARY KEY( translation_id ), - UNIQUE( stable_id, version ) + + translation_id INT unsigned NOT NULL, # foreign key translation:translation_id + stable_id VARCHAR(128) NOT NULL, + version INT(10), + + PRIMARY KEY( translation_id ), + UNIQUE( stable_id, version ) + ); -# this is a denormalised golden path +################################################################################ +# +# Table structure for table 'assembly' # +# This is a denormalised golden path. # The data in this table defines the "static golden path", i.e. the # best effort draft full genome sequence as determined by the UCSC or NCBI # (depending which assembly you are using) # -# Each row represents a contig (raw_id, FK from contig table) at least part of -# which is present in the golden path. The part of the contig that is -# in the path is delimited by fields raw_start and raw_end (start < end), and -# the absolute position within the golden path chromosome (chromosome_id) is given -# by chr_start and chr_end. Each contig is in some "supercontig" such as a -# "fingerprint clone contig" or NT contig and the super contig is identified -# by field superctg_name and the position of the specified bit of the contig -# within its super contig is given by fields superctg_start and superctg_end. -# With the data set at time of this writing, field type is always "NCBI_xx". -# -# NB, chr_start <= chr_end, raw_start <= raw_end, and superctg_start <= superctg_end. +# Each row represents a component, e.g. a contig, (comp_seq_region_id, +# FK from seq_region table) at least part of which is present in the golden path. +# The part of the component that is in the path is delimited by fields cmp_start +# and cmp_end (start < end), and the absolute position within the golden path +# chromosome (or other appropriate assembled structure) (asm_seq_region_id) is +# given by asm_start and asm_end. # - CREATE TABLE assembly ( - chromosome_id int unsigned NOT NULL, - chr_start int(10) NOT NULL, - chr_end int(10) NOT NULL, - superctg_name varchar(20) NOT NULL, - superctg_start int(10) NOT NULL, - superctg_end int(10) NOT NULL, - superctg_ori tinyint(2) NOT NULL, - contig_id int(10) unsigned NOT NULL, # foreign key contig:internal_id - contig_start int(10) NOT NULL, - contig_end int(10) NOT NULL, - contig_ori tinyint NOT NULL, - type varchar(20) NOT NULL, - - PRIMARY KEY(contig_id,type), - KEY(superctg_name, superctg_start), - KEY(chromosome_id,chr_start) -); + asm_seq_region_id int unsigned NOT NULL, + cmp_seq_region_id int(10) unsigned NOT NULL, + asm_start int(10) NOT NULL, + asm_end int(10) NOT NULL, + cmp_start int(10) NOT NULL, + cmp_end int(10) NOT NULL, + ori tinyint NOT NULL, + + KEY(cmp_seq_region_id), + KEY(asm_seq_region_id, asm_start) +); + +################################################################################ # # Table structure for table 'protein_feature' # CREATE TABLE protein_feature ( - protein_feature_id int(10) unsigned NOT NULL auto_increment, - translation_id int NOT NULL, - seq_start int(10) NOT NULL, - seq_end int(10) NOT NULL, - hit_start int(10) NOT NULL, - hit_end int(10) NOT NULL, - hit_id varchar(40) NOT NULL, - analysis_id int(10) unsigned NOT NULL, - score double NOT NULL, - evalue double, - perc_ident float, + + protein_feature_id int(10) unsigned NOT NULL auto_increment, + translation_id int NOT NULL, + seq_start int(10) NOT NULL, + seq_end int(10) NOT NULL, + hit_start int(10) NOT NULL, + hit_end int(10) NOT NULL, + hit_id varchar(40) NOT NULL, + analysis_id int(10) unsigned NOT NULL, + score double NOT NULL, + evalue double, + perc_ident float, PRIMARY KEY (protein_feature_id), KEY (translation_id), KEY hid_index ( hit_id ) + ); +################################################################################ # -#Table structure for table 'interpro' +# Table structure for table 'interpro' # CREATE TABLE interpro ( - interpro_ac varchar(40) NOT NULL, - id varchar(40) NOT NULL, + + interpro_ac varchar(40) NOT NULL, + id varchar(40) NOT NULL, + KEY (interpro_ac), KEY (id) -); +); +################################################################################ # -#Table structure for table gene_description +# Table structure for table 'gene_description' # CREATE TABLE gene_description ( - gene_id int unsigned NOT NULL, - description text, + + gene_id int unsigned NOT NULL, + description text, PRIMARY KEY (gene_id) + ); +################################################################################ +# +# Table structure for table 'karyotype' +# + CREATE TABLE karyotype ( - chromosome_id int unsigned NOT NULL, - chr_start int(10) NOT NULL, - chr_end int(10) NOT NULL, - band varchar(40) NOT NULL, - stain varchar(40) NOT NULL, - PRIMARY KEY (chromosome_id,band) -); + karyotype_id int unsigned NOT NULL auto_increment, + seq_region_id int unsigned NOT NULL, + seq_region_start int(10) NOT NULL, + seq_region_end int(10) NOT NULL, + band varchar(40) NOT NULL, + stain varchar(40) NOT NULL, + PRIMARY KEY (karyotype_id), + KEY region_band_idx (seq_region_id,band) +); + +################################################################################ # -#Table structure for table objectXref +# Table structure for table 'object_xref' # -CREATE TABLE object_xref( - object_xref_id INT not null auto_increment, - ensembl_id int unsigned not null, - ensembl_object_type ENUM( 'RawContig', 'Transcript', 'Gene', 'Translation' ) not null, - xref_id INT unsigned not null, +CREATE TABLE object_xref ( + + object_xref_id INT not null auto_increment, + ensembl_id int unsigned not null, + ensembl_object_type ENUM( 'RawContig', 'Transcript', 'Gene', 'Translation' ) not null, + xref_id INT unsigned not null, + + UNIQUE ( ensembl_object_type, ensembl_id, xref_id ), + KEY oxref_idx( object_xref_id, xref_id, ensembl_object_type, ensembl_id ), + KEY xref_idx(xref_id, ensembl_object_type) - UNIQUE ( ensembl_object_type, ensembl_id, xref_id ), - KEY xref_index( object_xref_id, xref_id, ensembl_object_type, ensembl_id ) ); +################################################################################ # -#Table structure for identity_xref +# Table structure for table 'identity_xref' # CREATE TABLE identity_xref( @@ -544,8 +558,8 @@ CREATE TABLE identity_xref( query_identity int(5), target_identity int(5), - query_start int, - query_end int, + hit_start int, + hit_end int, translation_start int, translation_end int, cigar_line text, @@ -557,310 +571,547 @@ CREATE TABLE identity_xref( PRIMARY KEY (object_xref_id) ); +################################################################################ +# +# Table structure for table 'go_xref' +# CREATE TABLE go_xref ( + object_xref_id int(10) unsigned DEFAULT '0' NOT NULL, linkage_type enum('IC', 'IDA', 'IEA', 'IEP', 'IGI', 'IMP', 'IPI', 'ISS', 'NAS', 'ND', 'TAS', 'NR') NOT NULL, KEY (object_xref_id), UNIQUE(object_xref_id, linkage_type) -); +); +################################################################################ # -#Table structure for table xref +# Table structure for table 'xref' # CREATE TABLE xref ( - xref_id INT unsigned not null auto_increment, - external_db_id int not null, - dbprimary_acc VARCHAR(40) not null, - display_label VARCHAR(40) not null, - version VARCHAR(10) DEFAULT '' NOT NULL, - description VARCHAR(255), - PRIMARY KEY( xref_id ), - UNIQUE KEY id_index( dbprimary_acc, external_db_id ), - KEY display_index ( display_label ) -); + xref_id INT unsigned not null auto_increment, + external_db_id int not null, + dbprimary_acc VARCHAR(40) not null, + display_label VARCHAR(40) not null, + version VARCHAR(10) DEFAULT '' NOT NULL, + description VARCHAR(255), + PRIMARY KEY( xref_id ), + UNIQUE KEY id_index( dbprimary_acc, external_db_id ), + KEY display_index ( display_label ) +); + +################################################################################ # -#Table structure for table externalSynonym +# Table structure for table 'external_synonym' # -CREATE TABLE external_synonym( - xref_id INT unsigned not null, - synonym VARCHAR(40) not null, - PRIMARY KEY( xref_id, synonym ), - KEY name_index( synonym ) - ); +CREATE TABLE external_synonym ( -# -#Table structure for table externalDB -# + xref_id INT unsigned not null, + synonym VARCHAR(40) not null, + PRIMARY KEY( xref_id, synonym ), + KEY name_index( synonym ) -CREATE TABLE external_db( - external_db_id INT not null, - db_name VARCHAR(100) NOT NULL, - release VARCHAR(40) NOT NULL, - status ENUM ('KNOWNXREF','KNOWN','XREF','PRED','ORTH', 'PSEUDO') not null, - PRIMARY KEY( external_db_id ) ); +################################################################################ +# +# Table structure for table 'external_db' +# +CREATE TABLE external_db ( -CREATE TABLE meta ( - meta_id INT not null auto_increment, - meta_key varchar( 40 ) not null, - meta_value varchar( 255 ) not null, + external_db_id INT not null, + db_name VARCHAR(100) NOT NULL, + release VARCHAR(40) NOT NULL, + status ENUM ('KNOWNXREF','KNOWN','XREF','PRED','ORTH', 'PSEUDO') not null, - PRIMARY KEY( meta_id ), - KEY meta_key_index ( meta_key ), - KEY meta_value_index ( meta_value ) -); + PRIMARY KEY( external_db_id ) +); -# Auto add schema version to database -insert into meta (meta_key, meta_value) values ("schema_version", "$Revision$"); -CREATE TABLE prediction_transcript ( - prediction_transcript_id int unsigned not null auto_increment, +CREATE TABLE prediction_exon ( + prediction_exon_id int unsigned not null auto_increment, + prediction_transcript_id int unsigned not null, exon_rank smallint unsigned not null, - exon_count smallint, - contig_id int unsigned not null, - contig_start int unsigned not null, - contig_end int unsigned not null, - contig_strand tinyint not null, + seq_region_id int unsigned not null, + seq_region_start int unsigned not null, + seq_region_end int unsigned not null, + seq_region_strand tinyint not null, start_phase tinyint not null, score double, p_value double, + + PRIMARY KEY( prediction_exon_id ), + KEY (prediction_transcript_id), + KEY ( seq_region_id, seq_region_start ) +); + + +CREATE TABLE prediction_transcript ( + prediction_transcript_id int unsigned not null auto_increment, + seq_region_id int unsigned not null, + seq_region_start int unsigned not null, + seq_region_end int unsigned not null, + seq_region_strand tinyint not null, analysis_id int, + + PRIMARY KEY( prediction_transcript_id ), + KEY ( seq_region_id, seq_region_start ) +); + + + +################################################################################ +# +# Table structure for table 'meta' +# + +CREATE TABLE meta ( + + meta_id INT not null auto_increment, + meta_key varchar( 40 ) not null, + meta_value varchar( 255 ) not null, + + PRIMARY KEY( meta_id ), + KEY meta_key_index ( meta_key ), + KEY meta_value_index ( meta_value ) - PRIMARY KEY( prediction_transcript_id, exon_rank ), - KEY (contig_id) ); +# Auto add schema version to database + +INSERT INTO meta (meta_key, meta_value) VALUES ("schema_version", "$Revision$"); + +################################################################################ +# +# Table structure for table 'marker_synonym' CREATE TABLE marker_synonym ( - marker_synonym_id int unsigned not null auto_increment, - marker_id int unsigned not null, #foreign key marker:marker_id - source varchar(20), - name varchar(30), - PRIMARY KEY (marker_synonym_id), - KEY marker_synonym_idx (marker_synonym_id, name), - KEY marker_idx (marker_id) + marker_synonym_id int unsigned not null auto_increment, + marker_id int unsigned not null, # foreign key marker:marker_id + source varchar(20), + name varchar(30), + + PRIMARY KEY (marker_synonym_id), + KEY marker_synonym_idx (marker_synonym_id, name), + KEY marker_idx (marker_id) ); + +################################################################################ +# +# Table structure for table 'marker' + CREATE TABLE marker ( - marker_id int unsigned not null auto_increment, - display_marker_synonym_id int unsigned, #foreign key marker_synonym:marker_synonym_id - left_primer varchar(100) not null, - right_primer varchar(100) not null, - min_primer_dist int(10) unsigned not null, - max_primer_dist int(10) unsigned not null, - priority int, - type enum('est', 'microsatellite'), - - PRIMARY KEY (marker_id), - KEY marker_idx (marker_id, priority) + + marker_id int unsigned not null auto_increment, + display_marker_synonym_id int unsigned, #foreign key marker_synonym:marker_synonym_id + left_primer varchar(100) not null, + right_primer varchar(100) not null, + min_primer_dist int(10) unsigned not null, + max_primer_dist int(10) unsigned not null, + priority int, + type enum('est', 'microsatellite'), + + PRIMARY KEY (marker_id), + KEY marker_idx (marker_id, priority) + ); +################################################################################ +# +# Table structure for table 'marker_feature' CREATE TABLE marker_feature ( - marker_feature_id int unsigned not null auto_increment, - marker_id int unsigned not null, #foreign key marker:marker_id - contig_id int(10) unsigned NOT NULL, #foreign key contig:contig_id - contig_start int(10) unsigned NOT NULL, - contig_end int(10) unsigned NOT NULL, - analysis_id int(10) unsigned NOT NULL, #foreign key analysis:analysis_id - map_weight int(10) unsigned, - PRIMARY KEY (marker_feature_id), - KEY contig_idx (contig_id ) + marker_feature_id int unsigned not null auto_increment, + marker_id int unsigned not null, #foreign key marker:marker_id + seq_region_id int(10) unsigned NOT NULL, #foreign key contig:seq_region_id + seq_region_start int(10) unsigned NOT NULL, + seq_region_end int(10) unsigned NOT NULL, + analysis_id int(10) unsigned NOT NULL, #foreign key analysis:analysis_id + map_weight int(10) unsigned, + + PRIMARY KEY (marker_feature_id), + KEY seq_region_idx (seq_region_id, seq_region_start ) + ); - + +################################################################################ +# +# Table structure for table 'marker_map_location' + CREATE TABLE marker_map_location ( - marker_id int unsigned not null, #foreign key marker:marker_id - map_id int unsigned not null, #foreign key map:map_id - chromosome_id int unsigned not null, #foreign key chromosome:chromosome_id - marker_synonym_id int unsigned not null, #foreign key marker_synonym:marker_synonym_id - position varchar(15) not null, - lod_score double, - - PRIMARY KEY (marker_id, map_id), - KEY map_idx( map_id, chromosome_id, position) + + marker_id int unsigned not null, #foreign key marker:marker_id + map_id int unsigned not null, #foreign key map:map_id + chromosome_name varchar(15) not null, + marker_synonym_id int unsigned not null, #foreign key marker_synonym:marker_synonym_id + position varchar(15) not null, + lod_score double, + + PRIMARY KEY (marker_id, map_id), + KEY map_idx( map_id, chromosome_name, position) + ); +################################################################################ +# +# Table structure for table 'map' + CREATE TABLE map ( - map_id int unsigned not null auto_increment, - map_name varchar(30) not null, - PRIMARY KEY (map_id) + map_id int unsigned not null auto_increment, + map_name varchar(30) not null, + + PRIMARY KEY (map_id) ); - +################################################################################ # -# Table structure for table 'mapfrag' +# Table structure for table 'misc_feature' # -CREATE TABLE mapfrag ( - mapfrag_id int(10) unsigned NOT NULL auto_increment, - type enum('clone','superctg','assembly_contig','band','chr','matepair', 'haploblock') NOT NULL default 'clone', - dnafrag_id int(10) unsigned NOT NULL default '0', - seq_start int(10) unsigned NOT NULL default '0', - seq_end int(10) unsigned NOT NULL default '0', - orientation tinyint(4) NOT NULL default '0', - name varchar(40) NOT NULL default '', - PRIMARY KEY (mapfrag_id), - KEY name_idx( name ), - KEY m(dnafrag_id,seq_start) +CREATE TABLE misc_feature ( + + misc_feature_id int(10) unsigned NOT NULL auto_increment, + seq_region_id int(10) unsigned NOT NULL default '0', + seq_region_start int(10) unsigned NOT NULL default '0', + seq_region_end int(10) unsigned NOT NULL default '0', + seq_region_strand tinyint(4) NOT NULL default '0', + + PRIMARY KEY (misc_feature_id), + KEY seq_region_idx( seq_region_id, seq_region_start ) + ) TYPE=MyISAM; + +################################################################################ # -# Table structure for table 'dnafrag' +# Table structure for table 'misc_attrib' # -CREATE TABLE dnafrag ( - dnafrag_id int(10) unsigned NOT NULL auto_increment, - name varchar(40) NOT NULL default '', - dnafrag_type enum('RawContig','Chromosome') default NULL, - PRIMARY KEY (dnafrag_id), - UNIQUE KEY name(name) +CREATE TABLE misc_attrib ( + misc_feature_id int(10) unsigned NOT NULL default '0', + attrib_type_id smallint(5) unsigned NOT NULL default '0', + value varchar(255) NOT NULL default '', + + KEY type_val_idx( attrib_type_id, value ), + KEY misc_feature_idx( misc_feature_id ) ) TYPE=MyISAM; + +################################################################################ # -# Table structure for table 'mapannotation' +# Table structure for table 'seq_region_attrib' # -CREATE TABLE mapannotation ( - mapannotation_id int(10) unsigned NOT NULL auto_increment, - mapfrag_id int(10) unsigned NOT NULL default '0', - mapannotationtype_id smallint(5) unsigned NOT NULL default '0', - value varchar(240) NOT NULL default '', - PRIMARY KEY (mapannotation_id), - KEY mapfrag_id(mapfrag_id,mapannotationtype_id), - KEY mapannotationtype_id(mapannotationtype_id,mapfrag_id), - KEY value(value,mapannotationtype_id), - KEY mapannotationtype_id_2(mapannotationtype_id,value) +CREATE TABLE seq_region_attrib ( + seq_region_id int(10) unsigned NOT NULL default '0', + attrib_type_id smallint(5) unsigned NOT NULL default '0', + value varchar(255) NOT NULL default '', + + KEY type_val_idx( attrib_type_id, value), + KEY seq_region_idx (seq_region_id) + ) TYPE=MyISAM; + +################################################################################ # -# Table structure for table 'mapannotationtype' +# Table structure for table 'attrib_type' # -CREATE TABLE mapannotationtype ( - mapannotationtype_id smallint(5) unsigned NOT NULL auto_increment, - code varchar(15) NOT NULL default '', - name varchar(255) NOT NULL default '', - description text NOT NULL, - PRIMARY KEY (mapannotationtype_id), +CREATE TABLE attrib_type ( + + attrib_type_id smallint(5) unsigned NOT NULL auto_increment, + code varchar(15) NOT NULL default '', + name varchar(255) NOT NULL default '', + description text NOT NULL, + + PRIMARY KEY ( attrib_type_id), UNIQUE KEY c(code) + ) TYPE=MyISAM; +################################################################################ # -# Table structure for table 'mapset' +# Table structure for table 'misc_set' # -CREATE TABLE mapset ( - mapset_id smallint(5) unsigned NOT NULL auto_increment, - code varchar(15) NOT NULL default '', - name varchar(255) NOT NULL default '', - description text NOT NULL, - max_length int unsigned not null, - PRIMARY KEY (mapset_id), +CREATE TABLE misc_set ( + + misc_set_id smallint(5) unsigned NOT NULL auto_increment, + code varchar(15) NOT NULL default '', + name varchar(255) NOT NULL default '', + description text NOT NULL, + max_length int unsigned not null, + + PRIMARY KEY (misc_set_id), UNIQUE KEY c(code) + ) TYPE=MyISAM; +################################################################################ # -# Table structure for table 'mapfrag_mapset' +# Table structure for table 'misc_feature_misc_set' # -CREATE TABLE mapfrag_mapset ( - mapfrag_id int(10) unsigned NOT NULL default '0', - mapset_id smallint(5) unsigned NOT NULL default '0', - PRIMARY KEY (mapset_id,mapfrag_id) +CREATE TABLE misc_feature_misc_set ( + + misc_feature_id int(10) unsigned NOT NULL default '0', + misc_set_id smallint(5) unsigned NOT NULL default '0', + + PRIMARY KEY ( misc_feature_id, misc_set_id ), + KEY reverse_idx( misc_set_id, misc_feature_id ) + ) TYPE=MyISAM; +################################################################################ +# +# Tables for QTLs +# +################################################################################ +################################################################################ # -# Tables for qtls +# Table structure for table 'qtl' # CREATE TABLE qtl ( - qtl_id int unsigned auto_increment not null, - trait varchar(255) not null, - lod_score float, - flank_marker_id_1 int, - flank_marker_id_2 int, - peak_marker_id int, - primary key ( qtl_id ), - key trait_idx( trait ) + + qtl_id int unsigned auto_increment not null, + trait varchar(255) not null, + lod_score float, + flank_marker_id_1 int, + flank_marker_id_2 int, + peak_marker_id int, + + PRIMARY KEY ( qtl_id ), + KEY trait_idx( trait ) + ); +################################################################################ +# +# Table structure for table 'qtl_synonym' +# + CREATE TABLE qtl_synonym ( - qtl_synonym_id int unsigned auto_increment not null, - qtl_id int unsigned not null, - source_database enum("rat genome database", "ratmap") not null, - source_primary_id varchar(255) not null, - primary key (qtl_synonym_id), - key qtl_idx(qtl_id) + + qtl_synonym_id int unsigned auto_increment not null, + qtl_id int unsigned not null, + source_database enum("rat genome database", "ratmap") not null, + source_primary_id varchar(255) not null, + + PRIMARY KEY (qtl_synonym_id), + KEY qtl_idx(qtl_id) + ); +################################################################################ +# +# Table structure for table 'qtl_feature' +# + CREATE TABLE qtl_feature ( - chromosome_id int not null, - start int not null, - end int not null, - qtl_id int not null, - analysis_id int not null, - key( qtl_id ), - key loc_idx( chromosome_id, start ) + + seq_region_id int not null, + seq_region_start int not null, + seq_region_end int not null, + qtl_id int not null, + analysis_id int not null, + + KEY( qtl_id ), + KEY loc_idx( seq_region_id, seq_region_start ) ); +################################################################################ # -# tables for stable id mapping tracking +# Tables for stable ID mapping tracking +# +################################################################################ + +################################################################################ +# +# Table structure for table 'mapping_session' # CREATE TABLE mapping_session ( - mapping_session_id int(11) NOT NULL auto_increment, - old_db_name varchar(80) NOT NULL default '', - new_db_name varchar(80) NOT NULL default '', - created timestamp(14) NOT NULL, + + mapping_session_id int(11) NOT NULL auto_increment, + old_db_name varchar(80) NOT NULL default '', + new_db_name varchar(80) NOT NULL default '', + created timestamp(14) NOT NULL, + PRIMARY KEY (mapping_session_id) + ) TYPE=MyISAM; +################################################################################ +# +# Table structure for table 'stable_id_event' +# + CREATE TABLE stable_id_event ( - old_stable_id varchar(40), - old_version smallint, - new_stable_id varchar(40), - new_version smallint, - mapping_session_id int(11) NOT NULL default '0', - type ENUM('gene', 'transcript', 'translation') NOT NULL, + + old_stable_id varchar(128), + old_version smallint, + new_stable_id varchar(128), + new_version smallint, + mapping_session_id int(11) NOT NULL default '0', + type ENUM('gene', 'transcript', 'translation') NOT NULL, + UNIQUE KEY tpl_idx (old_stable_id,new_stable_id,mapping_session_id), KEY new_idx (new_stable_id) + ) TYPE=MyISAM; +################################################################################ +# +# Table structure for table 'gene_archive' +# + CREATE TABLE gene_archive ( - gene_stable_id VARCHAR(40) NOT NULL, - gene_version smallint NOT NULL, - transcript_stable_id VARCHAR(40) NOT NULL, - transcript_version smallint NOT NULL, - translation_stable_id VARCHAR(40) NOT NULL, - translation_version smallint NOT NULL, - mapping_session_id int NOT NULL, + + gene_stable_id VARCHAR(128) NOT NULL, + gene_version smallint NOT NULL, + transcript_stable_id VARCHAR(128) NOT NULL, + transcript_version smallint NOT NULL, + translation_stable_id VARCHAR(128) NOT NULL, + translation_version smallint NOT NULL, + mapping_session_id int NOT NULL, + KEY gene_idx( gene_stable_id, gene_version ), KEY transcript_idx( transcript_stable_id, transcript_version ) + ) TYPE=MyISAM; +################################################################################ +# +# Table structure for table 'peptide_archive' +# + CREATE TABLE peptide_archive ( - translation_stable_id VARCHAR(40) NOT NULL, - translation_version smallint NOT NULL, - peptide_seq mediumtext NOT NULL, + + translation_stable_id VARCHAR(128) NOT NULL, + translation_version smallint NOT NULL, + peptide_seq mediumtext NOT NULL, PRIMARY KEY( translation_stable_id, translation_version ) + +) TYPE=MyISAM; + +################################################################################ +# +# Table structure for table 'seq_region' +# + +CREATE TABLE seq_region ( + + seq_region_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + name VARCHAR(40) NOT NULL, + coord_system_id INT(10) NOT NULL, + length INT(10) NOT NULL, + + UNIQUE(coord_system_id, name), + PRIMARY KEY (seq_region_id) + +) TYPE=MyISAM; + + +################################################################################ +# +# Table structure for table 'assembly_exception' +# + +CREATE TABLE assembly_exception ( + + assembly_exception_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + seq_region_id INT NOT NULL, + seq_region_start INT NOT NULL, + seq_region_end INT NOT NULL, + exc_type ENUM('HAP', 'PAR') NOT NULL, + exc_seq_region_id INT NOT NULL, + exc_seq_region_start INT NOT NULL, + exc_seq_region_end INT NOT NULL, + ori INT NOT NULL, + + PRIMARY KEY (assembly_exception_id), + + KEY sr_idx (seq_region_id, seq_region_start), + KEY ex_idx (exc_seq_region_id, exc_seq_region_start) + +) TYPE=MyISAM; + +################################################################################ +# +# Table structure for table 'coord_system' +# + +CREATE TABLE coord_system ( + + coord_system_id INT NOT NULL auto_increment, + name VARCHAR(40) NOT NULL, + version VARCHAR(40), + attrib SET ('top_level', 'default_version', 'sequence_level'), + + UNIQUE(name, version), + PRIMARY KEY (coord_system_id) + +) TYPE=MyISAM; + +################################################################################ +# +# Table structure for table 'meta_coord' +# + +CREATE TABLE meta_coord ( + + table_name VARCHAR(40) NOT NULL, + coord_system_id INT NOT NULL, + + UNIQUE(table_name, coord_system_id) + +) TYPE=MyISAM; + + + +CREATE TABLE density_feature ( + density_feature_id INT NOT NULL auto_increment, + density_type_id INT NOT NULL, #FK refs density_type + seq_region_id INT NOT NULL, #FK refs seq_region + seq_region_start INT NOT NULL, + seq_region_end INT NOT NULL, + density_value FLOAT NOT NULL, + + PRIMARY KEY(density_feature_id), + KEY seq_region_idx (density_type_id, seq_region_id, seq_region_start) + +) TYPE=MyISAM; + + + +CREATE TABLE density_type ( + density_type_id INT NOT NULL auto_increment, + analysis_id INT NOT NULL, #FK refs analysis + block_size INT NOT NULL, + value_type ENUM('sum','ratio') NOT NULL, + + PRIMARY KEY(density_type_id), + KEY analysis_idx (analysis_id, block_size) + ) TYPE=MyISAM; -- GitLab