From 0e39f836aee7b3fda7d6a77d7a00ff4d56f781fd Mon Sep 17 00:00:00 2001 From: Ari Archer Date: Tue, 23 Jan 2024 19:14:06 +0200 Subject: [PATCH] [docx] split commit for file 3800 Signed-off-by: Ari Archer --- .../store/DeciderConstants.docx | Bin 0 -> 37161 bytes .../store/DeciderConstants.scala | 39 - .../store/TopicSimClustersEmbeddingStore.docx | Bin 0 -> 38696 bytes .../TopicSimClustersEmbeddingStore.scala | 198 --- .../store/TweetSimClustersEmbeddingStore.docx | Bin 0 -> 37781 bytes .../TweetSimClustersEmbeddingStore.scala | 141 -- .../store/UserSimClustersEmbeddingStore.docx | Bin 0 -> 40044 bytes .../store/UserSimClustersEmbeddingStore.scala | 602 -------- .../server/src/main/thrift/BUILD | 18 - .../server/src/main/thrift/BUILD.docx | Bin 0 -> 36831 bytes .../representation_manager/service.docx | Bin 0 -> 36904 bytes .../representation_manager/service.thrift | 14 - representation-scorer/BUILD.bazel | 1 - representation-scorer/BUILD.docx | Bin 0 -> 36686 bytes representation-scorer/README.docx | Bin 0 -> 36893 bytes representation-scorer/README.md | 5 - representation-scorer/bin/canary-check.docx | Bin 0 -> 36751 bytes representation-scorer/bin/canary-check.sh | 8 - representation-scorer/bin/deploy.docx | Bin 0 -> 36755 bytes representation-scorer/bin/deploy.sh | 4 - .../bin/remote-debug-tunnel.docx | Bin 0 -> 37410 bytes .../bin/remote-debug-tunnel.sh | 66 - representation-scorer/docs/index.docx | Bin 0 -> 37366 bytes representation-scorer/docs/index.rst | 39 - representation-scorer/server/BUILD | 22 - representation-scorer/server/BUILD.docx | Bin 0 -> 36979 bytes .../server/src/main/resources/BUILD | 9 - .../server/src/main/resources/BUILD.docx | Bin 0 -> 36722 bytes .../main/resources/com/twitter/slo/slo.docx | Bin 0 -> 36971 bytes .../main/resources/com/twitter/slo/slo.json | 55 - .../src/main/resources/config/decider.docx | Bin 0 -> 37932 bytes .../src/main/resources/config/decider.yml | 155 -- .../server/src/main/resources/logback.docx | Bin 0 -> 38340 bytes .../server/src/main/resources/logback.xml | 165 --- .../com/twitter/representationscorer/BUILD | 13 - .../twitter/representationscorer/BUILD.docx | Bin 0 -> 36858 bytes .../RepresentationScorerFedServer.docx | Bin 0 -> 37088 bytes .../RepresentationScorerFedServer.scala | 38 - .../representationscorer/columns/BUILD | 16 - .../representationscorer/columns/BUILD.docx | Bin 0 -> 36878 bytes .../representationscorer/columns/Info.docx | Bin 0 -> 36888 bytes .../representationscorer/columns/Info.scala | 13 - .../columns/ListScoreColumn.docx | Bin 0 -> 38022 bytes .../columns/ListScoreColumn.scala | 116 -- .../columns/ScoreColumn.docx | Bin 0 -> 37385 bytes .../columns/ScoreColumn.scala | 48 - ...stersRecentEngagementSimilarityColumn.docx | Bin 0 -> 37388 bytes ...tersRecentEngagementSimilarityColumn.scala | 52 - ...gagementSimilarityUserTweetEdgeColumn.docx | Bin 0 -> 37363 bytes ...agementSimilarityUserTweetEdgeColumn.scala | 52 - .../twitter/representationscorer/common/BUILD | 9 - .../representationscorer/common/BUILD.docx | Bin 0 -> 36784 bytes .../common/DeciderConstants.docx | Bin 0 -> 36781 bytes .../common/DeciderConstants.scala | 7 - .../common/RepresentationScorerDecider.docx | Bin 0 -> 37041 bytes .../common/RepresentationScorerDecider.scala | 27 - .../representationscorer/common/package.docx | Bin 0 -> 36712 bytes .../representationscorer/common/package.scala | 6 - .../representationscorer/modules/BUILD | 19 - .../representationscorer/modules/BUILD.docx | Bin 0 -> 36942 bytes .../modules/CacheModule.docx | Bin 0 -> 37150 bytes .../modules/CacheModule.scala | 34 - .../modules/EmbeddingStoreModule.docx | Bin 0 -> 37729 bytes .../modules/EmbeddingStoreModule.scala | 100 -- .../modules/RMSConfigModule.docx | Bin 0 -> 37357 bytes .../modules/RMSConfigModule.scala | 63 - .../modules/TimerModule.docx | Bin 0 -> 36806 bytes .../modules/TimerModule.scala | 13 - .../representationscorer/scorestore/BUILD | 19 - .../scorestore/BUILD.docx | Bin 0 -> 36951 bytes .../scorestore/ScoreStore.docx | Bin 0 -> 38325 bytes .../scorestore/ScoreStore.scala | 168 --- .../scorestore/TopicTweetCertoScoreStore.docx | Bin 0 -> 37837 bytes .../TopicTweetCertoScoreStore.scala | 106 -- .../TopicTweetRankingScoreStore.docx | Bin 0 -> 37192 bytes .../TopicTweetRankingScoreStore.scala | 48 - ...cTweetsCosineSimilarityAggregateStore.docx | Bin 0 -> 38522 bytes ...TweetsCosineSimilarityAggregateStore.scala | 148 -- .../twistlyfeatures/BUILD | 20 - .../twistlyfeatures/BUILD.docx | Bin 0 -> 36960 bytes .../twistlyfeatures/Engagements.docx | Bin 0 -> 37393 bytes .../twistlyfeatures/Engagements.scala | 65 - .../twistlyfeatures/ScoreResult.docx | Bin 0 -> 36706 bytes .../twistlyfeatures/ScoreResult.scala | 3 - .../twistlyfeatures/Scorer.docx | Bin 0 -> 40102 bytes .../twistlyfeatures/Scorer.scala | 474 ------ ...rSignalServiceRecentEngagementsClient.docx | Bin 0 -> 38479 bytes ...SignalServiceRecentEngagementsClient.scala | 155 -- ...lServiceRecentEngagementsClientModule.docx | Bin 0 -> 37762 bytes ...ServiceRecentEngagementsClientModule.scala | 57 - .../server/src/main/thrift/BUILD | 20 - .../server/src/main/thrift/BUILD.docx | Bin 0 -> 36862 bytes .../twitter/representationscorer/service.docx | Bin 0 -> 38000 bytes .../representationscorer/service.thrift | 106 -- science/search/ingester/config/README.docx | Bin 0 -> 36848 bytes science/search/ingester/config/README.md | 2 - .../config/pipeline-indexer.userupdates.docx | Bin 0 -> 37171 bytes .../config/pipeline-indexer.userupdates.xml | 30 - .../config/pipeline-ingester.protected.docx | Bin 0 -> 38374 bytes .../config/pipeline-ingester.protected.xml | 202 --- .../config/pipeline-ingester.realtime.docx | Bin 0 -> 38612 bytes .../config/pipeline-ingester.realtime.xml | 240 ---- .../config/pipeline-ingester.realtime_cg.docx | Bin 0 -> 38339 bytes .../config/pipeline-ingester.realtime_cg.xml | 199 --- simclusters-ann/BUILD.bazel | 1 - simclusters-ann/BUILD.docx | Bin 0 -> 36686 bytes simclusters-ann/README.docx | Bin 0 -> 39191 bytes simclusters-ann/README.md | 99 -- simclusters-ann/server/BUILD | 23 - simclusters-ann/server/BUILD.docx | Bin 0 -> 37000 bytes .../server/src/main/resources/BUILD | 7 - .../server/src/main/resources/BUILD.docx | Bin 0 -> 36704 bytes .../src/main/resources/config/decider.docx | Bin 0 -> 37203 bytes .../src/main/resources/config/decider.yml | 95 -- .../server/src/main/resources/logback.docx | Bin 0 -> 38407 bytes .../server/src/main/resources/logback.xml | 167 --- .../scala/com/twitter/simclustersann/BUILD | 31 - .../com/twitter/simclustersann/BUILD.docx | Bin 0 -> 37070 bytes .../simclustersann/SimclustersAnnServer.docx | Bin 0 -> 37550 bytes .../simclustersann/SimclustersAnnServer.scala | 70 - .../SimclustersAnnWarmupHandler.docx | Bin 0 -> 37519 bytes .../SimclustersAnnWarmupHandler.scala | 73 - .../ApproximateCosineSimilarity.docx | Bin 0 -> 38426 bytes .../ApproximateCosineSimilarity.scala | 129 -- .../simclustersann/candidate_source/BUILD | 14 - .../candidate_source/BUILD.docx | Bin 0 -> 36863 bytes ...perimentalApproximateCosineSimilarity.docx | Bin 0 -> 38269 bytes ...erimentalApproximateCosineSimilarity.scala | 131 -- .../OptimizedApproximateCosineSimilarity.docx | Bin 0 -> 38232 bytes ...OptimizedApproximateCosineSimilarity.scala | 112 -- .../SimClustersANNCandidateSource.docx | Bin 0 -> 37895 bytes .../SimClustersANNCandidateSource.scala | 102 -- .../com/twitter/simclustersann/common/BUILD | 5 - .../twitter/simclustersann/common/BUILD.docx | Bin 0 -> 36718 bytes .../simclustersann/common/FlagNames.docx | Bin 0 -> 37044 bytes .../simclustersann/common/FlagNames.scala | 31 - .../twitter/simclustersann/controllers/BUILD | 29 - .../simclustersann/controllers/BUILD.docx | Bin 0 -> 37036 bytes .../controllers/SimClustersANNController.docx | Bin 0 -> 37637 bytes .../SimClustersANNController.scala | 80 -- .../twitter/simclustersann/exceptions/BUILD | 12 - .../simclustersann/exceptions/BUILD.docx | Bin 0 -> 36835 bytes ...uestForSimClustersAnnVariantException.docx | Bin 0 -> 36946 bytes ...estForSimClustersAnnVariantException.scala | 16 - ...rSimClustersAnnVariantExceptionMapper.docx | Bin 0 -> 37062 bytes ...SimClustersAnnVariantExceptionMapper.scala | 27 - ...nfigForSimClustersAnnVariantException.docx | Bin 0 -> 36794 bytes ...figForSimClustersAnnVariantException.scala | 6 - .../com/twitter/simclustersann/filters/BUILD | 13 - .../twitter/simclustersann/filters/BUILD.docx | Bin 0 -> 36872 bytes ...GetTweetCandidatesResponseStatsFilter.docx | Bin 0 -> 37228 bytes ...etTweetCandidatesResponseStatsFilter.scala | 43 - .../filters/SimClustersAnnVariantFilter.docx | Bin 0 -> 37301 bytes .../filters/SimClustersAnnVariantFilter.scala | 53 - .../com/twitter/simclustersann/modules/BUILD | 24 - .../twitter/simclustersann/modules/BUILD.docx | Bin 0 -> 37046 bytes .../simclustersann/modules/CacheModule.docx | Bin 0 -> 37115 bytes .../simclustersann/modules/CacheModule.scala | 34 - .../modules/ClusterConfigMapperModule.docx | Bin 0 -> 36834 bytes .../modules/ClusterConfigMapperModule.scala | 15 - .../modules/ClusterConfigModule.docx | Bin 0 -> 37006 bytes .../modules/ClusterConfigModule.scala | 25 - .../ClusterTweetIndexProviderModule.docx | Bin 0 -> 37980 bytes .../ClusterTweetIndexProviderModule.scala | 95 -- .../CustomMtlsThriftWebFormsModule.docx | Bin 0 -> 38032 bytes .../CustomMtlsThriftWebFormsModule.scala | 99 -- .../modules/EmbeddingStoreModule.docx | Bin 0 -> 37669 bytes .../modules/EmbeddingStoreModule.scala | 110 -- .../simclustersann/modules/FlagsModule.docx | Bin 0 -> 37111 bytes .../simclustersann/modules/FlagsModule.scala | 44 - .../modules/FuturePoolProvider.docx | Bin 0 -> 37049 bytes .../modules/FuturePoolProvider.scala | 27 - .../modules/RateLimiterModule.docx | Bin 0 -> 36950 bytes .../modules/RateLimiterModule.scala | 23 - .../modules/ServiceNameMapperModule.docx | Bin 0 -> 36833 bytes .../modules/ServiceNameMapperModule.scala | 15 - .../SimClustersANNCandidateSourceModule.docx | Bin 0 -> 37289 bytes .../SimClustersANNCandidateSourceModule.scala | 47 - .../modules/StratoClientProviderModule.docx | Bin 0 -> 36891 bytes .../modules/StratoClientProviderModule.scala | 20 - simclusters-ann/thrift/src/main/thrift/BUILD | 16 - .../thrift/src/main/thrift/BUILD.docx | Bin 0 -> 36861 bytes .../src/main/thrift/simClustersAnn.docx | Bin 0 -> 37406 bytes .../src/main/thrift/simClustersAnn.thrift | 59 - src/java/com/twitter/search/README.docx | Bin 0 -> 38231 bytes src/java/com/twitter/search/README.md | 50 - .../com/twitter/search/common/README.docx | Bin 0 -> 36681 bytes src/java/com/twitter/search/common/README.md | 1 - .../search/common/converter/earlybird/BUILD | 57 - .../common/converter/earlybird/BUILD.docx | Bin 0 -> 37302 bytes .../earlybird/BasicIndexingConverter.docx | Bin 0 -> 43599 bytes .../earlybird/BasicIndexingConverter.java | 647 --------- .../earlybird/CombinedIndexingConverter.docx | Bin 0 -> 37928 bytes .../earlybird/CombinedIndexingConverter.java | 99 -- .../earlybird/DelayedIndexingConverter.docx | Bin 0 -> 43254 bytes .../earlybird/DelayedIndexingConverter.java | 594 -------- .../earlybird/EncodedFeatureBuilder.docx | Bin 0 -> 43018 bytes .../earlybird/EncodedFeatureBuilder.java | 531 ------- .../search/common/encoding/docvalues/BUILD | 20 - .../common/encoding/docvalues/BUILD.docx | Bin 0 -> 36950 bytes .../encoding/docvalues/CSFTypeUtil.docx | Bin 0 -> 37171 bytes .../encoding/docvalues/CSFTypeUtil.java | 34 - .../search/common/encoding/features/BUILD | 17 - .../common/encoding/features/BUILD.docx | Bin 0 -> 36907 bytes .../encoding/features/BinByteNormalizer.docx | Bin 0 -> 37670 bytes .../encoding/features/BinByteNormalizer.java | 73 - .../encoding/features/ByteNormalizer.docx | Bin 0 -> 37092 bytes .../encoding/features/ByteNormalizer.java | 38 - .../features/ClampByteNormalizer.docx | Bin 0 -> 37173 bytes .../features/ClampByteNormalizer.java | 47 - .../encoding/features/EncodedFeatures.docx | Bin 0 -> 37244 bytes .../encoding/features/EncodedFeatures.java | 58 - .../encoding/features/IntNormalizer.docx | Bin 0 -> 36962 bytes .../encoding/features/IntNormalizer.java | 15 - .../features/IntegerEncodedFeatures.docx | Bin 0 -> 38148 bytes .../features/IntegerEncodedFeatures.java | 159 --- .../encoding/features/LogByteNormalizer.docx | Bin 0 -> 37287 bytes .../encoding/features/LogByteNormalizer.java | 53 - .../features/PredictionScoreNormalizer.docx | Bin 0 -> 37442 bytes .../features/PredictionScoreNormalizer.java | 51 - .../SingleBytePositiveFloatNormalizer.docx | Bin 0 -> 37108 bytes .../SingleBytePositiveFloatNormalizer.java | 35 - .../features/SingleBytePositiveFloatUtil.docx | Bin 0 -> 38600 bytes .../features/SingleBytePositiveFloatUtil.java | 164 --- .../features/SmartIntegerNormalizer.docx | Bin 0 -> 38722 bytes .../features/SmartIntegerNormalizer.java | 150 -- .../com/twitter/search/common/query/BUILD | 25 - .../twitter/search/common/query/BUILD.docx | Bin 0 -> 36969 bytes .../search/common/query/BoostUtils.docx | Bin 0 -> 37030 bytes .../search/common/query/BoostUtils.java | 27 - .../query/CollectAnnotationsVisitor.docx | Bin 0 -> 37406 bytes .../query/CollectAnnotationsVisitor.java | 92 -- .../common/query/CollectQueryTypeVisitor.docx | Bin 0 -> 37360 bytes .../common/query/CollectQueryTypeVisitor.java | 89 -- .../common/query/CollectVariantVisitor.docx | Bin 0 -> 36831 bytes .../common/query/CollectVariantVisitor.java | 13 - .../common/query/DefaultFilterWeight.docx | Bin 0 -> 37409 bytes .../common/query/DefaultFilterWeight.java | 60 - .../search/common/query/DocIdFilter.docx | Bin 0 -> 37422 bytes .../search/common/query/DocIdFilter.java | 74 - .../search/common/query/FieldRankHitInfo.docx | Bin 0 -> 37178 bytes .../search/common/query/FieldRankHitInfo.java | 48 - .../search/common/query/FieldWeightUtil.docx | Bin 0 -> 39104 bytes .../search/common/query/FieldWeightUtil.java | 205 --- .../search/common/query/FilteredQuery.docx | Bin 0 -> 39016 bytes .../search/common/query/FilteredQuery.java | 225 --- .../search/common/query/FilteredScorer.docx | Bin 0 -> 36958 bytes .../search/common/query/FilteredScorer.java | 36 - .../common/query/HitAttributeCollector.docx | Bin 0 -> 38041 bytes .../common/query/HitAttributeCollector.java | 101 -- .../common/query/HitAttributeHelper.docx | Bin 0 -> 38074 bytes .../common/query/HitAttributeHelper.java | 102 -- .../common/query/HitAttributeProvider.docx | Bin 0 -> 36854 bytes .../common/query/HitAttributeProvider.java | 12 - .../common/query/IDDisjunctionQuery.docx | Bin 0 -> 40657 bytes .../common/query/IDDisjunctionQuery.java | 378 ----- .../common/query/IdentifiableQuery.docx | Bin 0 -> 37451 bytes .../common/query/IdentifiableQuery.java | 77 - .../common/query/IdentifiableQueryScorer.docx | Bin 0 -> 37282 bytes .../common/query/IdentifiableQueryScorer.java | 60 - .../common/query/IdentifiableQueryWeight.docx | Bin 0 -> 37353 bytes .../common/query/IdentifiableQueryWeight.java | 58 - .../search/common/query/MappableField.docx | Bin 0 -> 37185 bytes .../search/common/query/MappableField.java | 34 - .../query/MultiTermDisjunctionQuery.docx | Bin 0 -> 37316 bytes .../query/MultiTermDisjunctionQuery.java | 61 - .../query/QueryCommonFieldHitsVisitor.docx | Bin 0 -> 38376 bytes .../query/QueryCommonFieldHitsVisitor.java | 160 --- .../common/query/QueryHitAttributeHelper.docx | Bin 0 -> 37863 bytes .../common/query/QueryHitAttributeHelper.java | 81 -- .../search/common/query/QueryRankVisitor.docx | Bin 0 -> 37290 bytes .../search/common/query/QueryRankVisitor.java | 56 - .../query/SingleDocDocIdSetIterator.docx | Bin 0 -> 37008 bytes .../query/SingleDocDocIdSetIterator.java | 51 - .../query/StaticHitAttributeProvider.docx | Bin 0 -> 37065 bytes .../query/StaticHitAttributeProvider.java | 32 - .../com/twitter/search/common/relevance/BUILD | 257 ---- .../search/common/relevance/BUILD.docx | Bin 0 -> 38206 bytes .../search/common/relevance/NGramCache.docx | Bin 0 -> 38079 bytes .../search/common/relevance/NGramCache.java | 152 -- .../TrendsThriftDataServiceManager.docx | Bin 0 -> 40315 bytes .../TrendsThriftDataServiceManager.java | 353 ----- .../classifiers/TweetClassifier.docx | Bin 0 -> 37877 bytes .../classifiers/TweetClassifier.java | 118 -- .../relevance/classifiers/TweetEvaluator.docx | Bin 0 -> 37206 bytes .../relevance/classifiers/TweetEvaluator.java | 37 - .../classifiers/TweetOffensiveEvaluator.docx | Bin 0 -> 39732 bytes .../classifiers/TweetOffensiveEvaluator.java | 260 ---- .../TweetQualityFeatureExtractor.docx | Bin 0 -> 38243 bytes .../TweetQualityFeatureExtractor.java | 105 -- .../classifiers/TweetTextClassifier.docx | Bin 0 -> 37526 bytes .../classifiers/TweetTextClassifier.java | 67 - .../classifiers/TweetTextEvaluator.docx | Bin 0 -> 37398 bytes .../classifiers/TweetTextEvaluator.java | 54 - .../classifiers/TweetTrendsExtractor.docx | Bin 0 -> 38667 bytes .../classifiers/TweetTrendsExtractor.java | 165 --- .../config/TweetProcessingConfig.docx | Bin 0 -> 37551 bytes .../config/TweetProcessingConfig.java | 114 -- .../common/relevance/entities/GeoObject.docx | Bin 0 -> 38777 bytes .../common/relevance/entities/GeoObject.java | 201 --- .../entities/PotentialLocationObject.docx | Bin 0 -> 37818 bytes .../entities/PotentialLocationObject.java | 122 -- .../relevance/entities/TwitterMessage.docx | Bin 0 -> 47026 bytes .../relevance/entities/TwitterMessage.java | 1267 ----------------- .../entities/TwitterMessageUser.docx | Bin 0 -> 38400 bytes .../entities/TwitterMessageUser.java | 231 --- .../entities/TwitterMessageUtil.docx | Bin 0 -> 42000 bytes .../entities/TwitterMessageUtil.java | 444 ------ .../entities/TwitterQuotedMessage.docx | Bin 0 -> 37019 bytes .../entities/TwitterQuotedMessage.java | 41 - .../entities/TwitterRetweetMessage.docx | Bin 0 -> 37231 bytes .../entities/TwitterRetweetMessage.java | 80 -- .../common/relevance/features/AgeDecay.docx | Bin 0 -> 37674 bytes .../common/relevance/features/AgeDecay.java | 88 -- .../search/common/relevance/features/BUILD | 24 - .../common/relevance/features/BUILD.docx | Bin 0 -> 36965 bytes .../features/EarlybirdDocumentFeatures.docx | Bin 0 -> 39235 bytes .../features/EarlybirdDocumentFeatures.java | 232 --- .../relevance/features/FeatureSink.docx | Bin 0 -> 37462 bytes .../relevance/features/FeatureSink.java | 75 - .../relevance/features/IntNormalizers.docx | Bin 0 -> 37278 bytes .../relevance/features/IntNormalizers.java | 39 - .../features/MutableFeatureNormalizers.docx | Bin 0 -> 37137 bytes .../features/MutableFeatureNormalizers.java | 23 - .../relevance/features/QueryFeatureType.docx | Bin 0 -> 36818 bytes .../relevance/features/QueryFeatureType.java | 9 - .../features/RelevanceSignalConstants.docx | Bin 0 -> 37151 bytes .../features/RelevanceSignalConstants.java | 30 - .../relevance/features/ScoringUtils.docx | Bin 0 -> 37113 bytes .../relevance/features/ScoringUtils.java | 24 - .../common/relevance/features/TermVector.docx | Bin 0 -> 37548 bytes .../common/relevance/features/TermVector.java | 79 - .../features/TweetEngagementFeatures.docx | Bin 0 -> 37204 bytes .../features/TweetEngagementFeatures.java | 57 - .../relevance/features/TweetFeatureType.docx | Bin 0 -> 39426 bytes .../relevance/features/TweetFeatureType.java | 291 ---- .../relevance/features/TweetFeatures.docx | Bin 0 -> 36836 bytes .../relevance/features/TweetFeatures.java | 19 - .../TweetIntegerShingleSignature.docx | Bin 0 -> 38796 bytes .../TweetIntegerShingleSignature.java | 201 --- .../features/TweetSignatureUtil.docx | Bin 0 -> 36947 bytes .../features/TweetSignatureUtil.java | 15 - .../relevance/features/TweetTextFeatures.docx | Bin 0 -> 38087 bytes .../relevance/features/TweetTextFeatures.java | 225 --- .../relevance/features/TweetTextQuality.docx | Bin 0 -> 37286 bytes .../relevance/features/TweetTextQuality.java | 69 - .../relevance/features/TweetUserFeatures.docx | Bin 0 -> 37262 bytes .../relevance/features/TweetUserFeatures.java | 114 -- .../common/relevance/scorers/TweetScorer.docx | Bin 0 -> 37443 bytes .../common/relevance/scorers/TweetScorer.java | 65 - .../relevance/scorers/TweetTextScorer.docx | Bin 0 -> 39547 bytes .../relevance/scorers/TweetTextScorer.java | 242 ---- .../common/relevance/text/LocationUtils.docx | Bin 0 -> 37299 bytes .../common/relevance/text/LocationUtils.java | 41 - .../common/relevance/text/TweetParser.docx | Bin 0 -> 38947 bytes .../common/relevance/text/TweetParser.java | 190 --- .../text/VisibleTokenRatioNormalizer.docx | Bin 0 -> 37188 bytes .../text/VisibleTokenRatioNormalizer.java | 39 - .../search/common/schema/AnalyzerFactory.docx | Bin 0 -> 38193 bytes .../search/common/schema/AnalyzerFactory.java | 142 -- .../com/twitter/search/common/schema/BUILD | 34 - .../twitter/search/common/schema/BUILD.docx | Bin 0 -> 37076 bytes .../search/common/schema/DynamicSchema.docx | Bin 0 -> 38293 bytes .../search/common/schema/DynamicSchema.java | 214 --- .../search/common/schema/ImmutableSchema.docx | Bin 0 -> 46110 bytes .../search/common/schema/ImmutableSchema.java | 904 ------------ .../search/common/schema/NumericField.docx | Bin 0 -> 37269 bytes .../search/common/schema/NumericField.java | 44 - .../search/common/schema/SchemaBuilder.docx | Bin 0 -> 42695 bytes .../search/common/schema/SchemaBuilder.java | 693 --------- .../common/schema/SchemaDocumentFactory.docx | Bin 0 -> 41010 bytes .../common/schema/SchemaDocumentFactory.java | 433 ------ .../search/common/schema/SchemaUtil.docx | Bin 0 -> 37821 bytes .../search/common/schema/SchemaUtil.java | 102 -- .../schema/SearchWhitespaceAnalyzer.docx | Bin 0 -> 37149 bytes .../schema/SearchWhitespaceAnalyzer.java | 27 - .../common/schema/ThriftDocumentBuilder.docx | Bin 0 -> 38570 bytes .../common/schema/ThriftDocumentBuilder.java | 228 --- .../twitter/search/common/schema/base/BUILD | 25 - .../search/common/schema/base/BUILD.docx | Bin 0 -> 37009 bytes .../schema/base/EarlybirdFieldType.docx | Bin 0 -> 39684 bytes .../schema/base/EarlybirdFieldType.java | 374 ----- .../schema/base/FeatureConfiguration.docx | Bin 0 -> 39259 bytes .../schema/base/FeatureConfiguration.java | 316 ---- .../schema/base/FieldNameToIdMapping.docx | Bin 0 -> 37046 bytes .../schema/base/FieldNameToIdMapping.java | 28 - .../schema/base/FieldWeightDefault.docx | Bin 0 -> 38062 bytes .../schema/base/FieldWeightDefault.java | 110 -- .../schema/base/ImmutableSchemaInterface.docx | Bin 0 -> 36922 bytes .../schema/base/ImmutableSchemaInterface.java | 14 - .../base/IndexedNumericFieldSettings.docx | Bin 0 -> 36987 bytes .../base/IndexedNumericFieldSettings.java | 37 - .../search/common/schema/base/Schema.docx | Bin 0 -> 38626 bytes .../search/common/schema/base/Schema.java | 231 --- .../schema/base/ThriftDocumentUtil.docx | Bin 0 -> 37610 bytes .../schema/base/ThriftDocumentUtil.java | 146 -- .../search/common/schema/earlybird/BUILD | 93 -- .../search/common/schema/earlybird/BUILD.docx | Bin 0 -> 37322 bytes .../schema/earlybird/EarlybirdCluster.docx | Bin 0 -> 37549 bytes .../schema/earlybird/EarlybirdCluster.java | 90 -- 400 files changed, 21845 deletions(-) create mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/DeciderConstants.docx delete mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/DeciderConstants.scala create mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TopicSimClustersEmbeddingStore.docx delete mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TopicSimClustersEmbeddingStore.scala create mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TweetSimClustersEmbeddingStore.docx delete mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TweetSimClustersEmbeddingStore.scala create mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/UserSimClustersEmbeddingStore.docx delete mode 100644 representation-manager/server/src/main/scala/com/twitter/representation_manager/store/UserSimClustersEmbeddingStore.scala delete mode 100644 representation-manager/server/src/main/thrift/BUILD create mode 100644 representation-manager/server/src/main/thrift/BUILD.docx create mode 100644 representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.docx delete mode 100644 representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.thrift delete mode 100644 representation-scorer/BUILD.bazel create mode 100644 representation-scorer/BUILD.docx create mode 100644 representation-scorer/README.docx delete mode 100644 representation-scorer/README.md create mode 100644 representation-scorer/bin/canary-check.docx delete mode 100755 representation-scorer/bin/canary-check.sh create mode 100644 representation-scorer/bin/deploy.docx delete mode 100755 representation-scorer/bin/deploy.sh create mode 100644 representation-scorer/bin/remote-debug-tunnel.docx delete mode 100755 representation-scorer/bin/remote-debug-tunnel.sh create mode 100644 representation-scorer/docs/index.docx delete mode 100644 representation-scorer/docs/index.rst delete mode 100644 representation-scorer/server/BUILD create mode 100644 representation-scorer/server/BUILD.docx delete mode 100644 representation-scorer/server/src/main/resources/BUILD create mode 100644 representation-scorer/server/src/main/resources/BUILD.docx create mode 100644 representation-scorer/server/src/main/resources/com/twitter/slo/slo.docx delete mode 100644 representation-scorer/server/src/main/resources/com/twitter/slo/slo.json create mode 100644 representation-scorer/server/src/main/resources/config/decider.docx delete mode 100644 representation-scorer/server/src/main/resources/config/decider.yml create mode 100644 representation-scorer/server/src/main/resources/logback.docx delete mode 100644 representation-scorer/server/src/main/resources/logback.xml delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/RepresentationScorerFedServer.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/RepresentationScorerFedServer.scala delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/Info.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/Info.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ScoreColumn.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ScoreColumn.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityUserTweetEdgeColumn.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityUserTweetEdgeColumn.scala delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/package.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/package.scala delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/CacheModule.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/CacheModule.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/EmbeddingStoreModule.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/EmbeddingStoreModule.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.scala delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/ScoreStore.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/ScoreStore.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetRankingScoreStore.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetRankingScoreStore.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetsCosineSimilarityAggregateStore.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetsCosineSimilarityAggregateStore.scala delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD.docx create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Engagements.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Engagements.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/ScoreResult.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/ScoreResult.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Scorer.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Scorer.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClient.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClient.scala create mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.docx delete mode 100644 representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.scala delete mode 100644 representation-scorer/server/src/main/thrift/BUILD create mode 100644 representation-scorer/server/src/main/thrift/BUILD.docx create mode 100644 representation-scorer/server/src/main/thrift/com/twitter/representationscorer/service.docx delete mode 100644 representation-scorer/server/src/main/thrift/com/twitter/representationscorer/service.thrift create mode 100644 science/search/ingester/config/README.docx delete mode 100644 science/search/ingester/config/README.md create mode 100644 science/search/ingester/config/pipeline-indexer.userupdates.docx delete mode 100644 science/search/ingester/config/pipeline-indexer.userupdates.xml create mode 100644 science/search/ingester/config/pipeline-ingester.protected.docx delete mode 100644 science/search/ingester/config/pipeline-ingester.protected.xml create mode 100644 science/search/ingester/config/pipeline-ingester.realtime.docx delete mode 100644 science/search/ingester/config/pipeline-ingester.realtime.xml create mode 100644 science/search/ingester/config/pipeline-ingester.realtime_cg.docx delete mode 100644 science/search/ingester/config/pipeline-ingester.realtime_cg.xml delete mode 100644 simclusters-ann/BUILD.bazel create mode 100644 simclusters-ann/BUILD.docx create mode 100644 simclusters-ann/README.docx delete mode 100644 simclusters-ann/README.md delete mode 100644 simclusters-ann/server/BUILD create mode 100644 simclusters-ann/server/BUILD.docx delete mode 100644 simclusters-ann/server/src/main/resources/BUILD create mode 100644 simclusters-ann/server/src/main/resources/BUILD.docx create mode 100644 simclusters-ann/server/src/main/resources/config/decider.docx delete mode 100644 simclusters-ann/server/src/main/resources/config/decider.yml create mode 100644 simclusters-ann/server/src/main/resources/logback.docx delete mode 100644 simclusters-ann/server/src/main/resources/logback.xml delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ApproximateCosineSimilarity.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ApproximateCosineSimilarity.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/SimClustersANNCandidateSource.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/SimClustersANNCandidateSource.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/FlagNames.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/FlagNames.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/SimClustersANNController.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/SimClustersANNController.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantExceptionMapper.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantExceptionMapper.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/MissingClusterConfigForSimClustersAnnVariantException.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/MissingClusterConfigForSimClustersAnnVariantException.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/SimClustersAnnVariantFilter.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/SimClustersAnnVariantFilter.scala delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD.docx create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterTweetIndexProviderModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterTweetIndexProviderModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/EmbeddingStoreModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/EmbeddingStoreModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ServiceNameMapperModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ServiceNameMapperModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/SimClustersANNCandidateSourceModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/SimClustersANNCandidateSourceModule.scala create mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/StratoClientProviderModule.docx delete mode 100644 simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/StratoClientProviderModule.scala delete mode 100644 simclusters-ann/thrift/src/main/thrift/BUILD create mode 100644 simclusters-ann/thrift/src/main/thrift/BUILD.docx create mode 100644 simclusters-ann/thrift/src/main/thrift/simClustersAnn.docx delete mode 100644 simclusters-ann/thrift/src/main/thrift/simClustersAnn.thrift create mode 100644 src/java/com/twitter/search/README.docx delete mode 100644 src/java/com/twitter/search/README.md create mode 100644 src/java/com/twitter/search/common/README.docx delete mode 100644 src/java/com/twitter/search/common/README.md delete mode 100644 src/java/com/twitter/search/common/converter/earlybird/BUILD create mode 100644 src/java/com/twitter/search/common/converter/earlybird/BUILD.docx create mode 100644 src/java/com/twitter/search/common/converter/earlybird/BasicIndexingConverter.docx delete mode 100644 src/java/com/twitter/search/common/converter/earlybird/BasicIndexingConverter.java create mode 100644 src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.docx delete mode 100644 src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.java create mode 100644 src/java/com/twitter/search/common/converter/earlybird/DelayedIndexingConverter.docx delete mode 100644 src/java/com/twitter/search/common/converter/earlybird/DelayedIndexingConverter.java create mode 100644 src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.docx delete mode 100644 src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.java delete mode 100644 src/java/com/twitter/search/common/encoding/docvalues/BUILD create mode 100644 src/java/com/twitter/search/common/encoding/docvalues/BUILD.docx create mode 100644 src/java/com/twitter/search/common/encoding/docvalues/CSFTypeUtil.docx delete mode 100644 src/java/com/twitter/search/common/encoding/docvalues/CSFTypeUtil.java delete mode 100644 src/java/com/twitter/search/common/encoding/features/BUILD create mode 100644 src/java/com/twitter/search/common/encoding/features/BUILD.docx create mode 100644 src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/ByteNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/ByteNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/ClampByteNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/ClampByteNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/EncodedFeatures.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/EncodedFeatures.java create mode 100644 src/java/com/twitter/search/common/encoding/features/IntNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/IntNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/IntegerEncodedFeatures.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/IntegerEncodedFeatures.java create mode 100644 src/java/com/twitter/search/common/encoding/features/LogByteNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/LogByteNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatNormalizer.java create mode 100644 src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatUtil.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatUtil.java create mode 100644 src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.java delete mode 100644 src/java/com/twitter/search/common/query/BUILD create mode 100644 src/java/com/twitter/search/common/query/BUILD.docx create mode 100644 src/java/com/twitter/search/common/query/BoostUtils.docx delete mode 100644 src/java/com/twitter/search/common/query/BoostUtils.java create mode 100644 src/java/com/twitter/search/common/query/CollectAnnotationsVisitor.docx delete mode 100644 src/java/com/twitter/search/common/query/CollectAnnotationsVisitor.java create mode 100644 src/java/com/twitter/search/common/query/CollectQueryTypeVisitor.docx delete mode 100644 src/java/com/twitter/search/common/query/CollectQueryTypeVisitor.java create mode 100644 src/java/com/twitter/search/common/query/CollectVariantVisitor.docx delete mode 100644 src/java/com/twitter/search/common/query/CollectVariantVisitor.java create mode 100644 src/java/com/twitter/search/common/query/DefaultFilterWeight.docx delete mode 100644 src/java/com/twitter/search/common/query/DefaultFilterWeight.java create mode 100644 src/java/com/twitter/search/common/query/DocIdFilter.docx delete mode 100644 src/java/com/twitter/search/common/query/DocIdFilter.java create mode 100644 src/java/com/twitter/search/common/query/FieldRankHitInfo.docx delete mode 100644 src/java/com/twitter/search/common/query/FieldRankHitInfo.java create mode 100644 src/java/com/twitter/search/common/query/FieldWeightUtil.docx delete mode 100644 src/java/com/twitter/search/common/query/FieldWeightUtil.java create mode 100644 src/java/com/twitter/search/common/query/FilteredQuery.docx delete mode 100644 src/java/com/twitter/search/common/query/FilteredQuery.java create mode 100644 src/java/com/twitter/search/common/query/FilteredScorer.docx delete mode 100644 src/java/com/twitter/search/common/query/FilteredScorer.java create mode 100644 src/java/com/twitter/search/common/query/HitAttributeCollector.docx delete mode 100644 src/java/com/twitter/search/common/query/HitAttributeCollector.java create mode 100644 src/java/com/twitter/search/common/query/HitAttributeHelper.docx delete mode 100644 src/java/com/twitter/search/common/query/HitAttributeHelper.java create mode 100644 src/java/com/twitter/search/common/query/HitAttributeProvider.docx delete mode 100644 src/java/com/twitter/search/common/query/HitAttributeProvider.java create mode 100644 src/java/com/twitter/search/common/query/IDDisjunctionQuery.docx delete mode 100644 src/java/com/twitter/search/common/query/IDDisjunctionQuery.java create mode 100644 src/java/com/twitter/search/common/query/IdentifiableQuery.docx delete mode 100644 src/java/com/twitter/search/common/query/IdentifiableQuery.java create mode 100644 src/java/com/twitter/search/common/query/IdentifiableQueryScorer.docx delete mode 100644 src/java/com/twitter/search/common/query/IdentifiableQueryScorer.java create mode 100644 src/java/com/twitter/search/common/query/IdentifiableQueryWeight.docx delete mode 100644 src/java/com/twitter/search/common/query/IdentifiableQueryWeight.java create mode 100644 src/java/com/twitter/search/common/query/MappableField.docx delete mode 100644 src/java/com/twitter/search/common/query/MappableField.java create mode 100644 src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.docx delete mode 100644 src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.java create mode 100644 src/java/com/twitter/search/common/query/QueryCommonFieldHitsVisitor.docx delete mode 100644 src/java/com/twitter/search/common/query/QueryCommonFieldHitsVisitor.java create mode 100644 src/java/com/twitter/search/common/query/QueryHitAttributeHelper.docx delete mode 100644 src/java/com/twitter/search/common/query/QueryHitAttributeHelper.java create mode 100644 src/java/com/twitter/search/common/query/QueryRankVisitor.docx delete mode 100644 src/java/com/twitter/search/common/query/QueryRankVisitor.java create mode 100644 src/java/com/twitter/search/common/query/SingleDocDocIdSetIterator.docx delete mode 100644 src/java/com/twitter/search/common/query/SingleDocDocIdSetIterator.java create mode 100644 src/java/com/twitter/search/common/query/StaticHitAttributeProvider.docx delete mode 100644 src/java/com/twitter/search/common/query/StaticHitAttributeProvider.java delete mode 100644 src/java/com/twitter/search/common/relevance/BUILD create mode 100644 src/java/com/twitter/search/common/relevance/BUILD.docx create mode 100644 src/java/com/twitter/search/common/relevance/NGramCache.docx delete mode 100644 src/java/com/twitter/search/common/relevance/NGramCache.java create mode 100644 src/java/com/twitter/search/common/relevance/TrendsThriftDataServiceManager.docx delete mode 100644 src/java/com/twitter/search/common/relevance/TrendsThriftDataServiceManager.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetClassifier.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetClassifier.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetEvaluator.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetEvaluator.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetOffensiveEvaluator.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetOffensiveEvaluator.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetQualityFeatureExtractor.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetQualityFeatureExtractor.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTextClassifier.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTextClassifier.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTextEvaluator.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTextEvaluator.java create mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTrendsExtractor.docx delete mode 100644 src/java/com/twitter/search/common/relevance/classifiers/TweetTrendsExtractor.java create mode 100644 src/java/com/twitter/search/common/relevance/config/TweetProcessingConfig.docx delete mode 100644 src/java/com/twitter/search/common/relevance/config/TweetProcessingConfig.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/GeoObject.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/GeoObject.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/PotentialLocationObject.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/PotentialLocationObject.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessage.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessage.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessageUser.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessageUser.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessageUtil.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterMessageUtil.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterQuotedMessage.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterQuotedMessage.java create mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterRetweetMessage.docx delete mode 100644 src/java/com/twitter/search/common/relevance/entities/TwitterRetweetMessage.java create mode 100644 src/java/com/twitter/search/common/relevance/features/AgeDecay.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/AgeDecay.java delete mode 100644 src/java/com/twitter/search/common/relevance/features/BUILD create mode 100644 src/java/com/twitter/search/common/relevance/features/BUILD.docx create mode 100644 src/java/com/twitter/search/common/relevance/features/EarlybirdDocumentFeatures.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/EarlybirdDocumentFeatures.java create mode 100644 src/java/com/twitter/search/common/relevance/features/FeatureSink.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/FeatureSink.java create mode 100644 src/java/com/twitter/search/common/relevance/features/IntNormalizers.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/IntNormalizers.java create mode 100644 src/java/com/twitter/search/common/relevance/features/MutableFeatureNormalizers.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/MutableFeatureNormalizers.java create mode 100644 src/java/com/twitter/search/common/relevance/features/QueryFeatureType.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/QueryFeatureType.java create mode 100644 src/java/com/twitter/search/common/relevance/features/RelevanceSignalConstants.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/RelevanceSignalConstants.java create mode 100644 src/java/com/twitter/search/common/relevance/features/ScoringUtils.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/ScoringUtils.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TermVector.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TermVector.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetEngagementFeatures.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetEngagementFeatures.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetFeatureType.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetFeatureType.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetFeatures.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetFeatures.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetIntegerShingleSignature.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetIntegerShingleSignature.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetSignatureUtil.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetSignatureUtil.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetTextFeatures.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetTextFeatures.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetTextQuality.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetTextQuality.java create mode 100644 src/java/com/twitter/search/common/relevance/features/TweetUserFeatures.docx delete mode 100644 src/java/com/twitter/search/common/relevance/features/TweetUserFeatures.java create mode 100644 src/java/com/twitter/search/common/relevance/scorers/TweetScorer.docx delete mode 100644 src/java/com/twitter/search/common/relevance/scorers/TweetScorer.java create mode 100644 src/java/com/twitter/search/common/relevance/scorers/TweetTextScorer.docx delete mode 100644 src/java/com/twitter/search/common/relevance/scorers/TweetTextScorer.java create mode 100644 src/java/com/twitter/search/common/relevance/text/LocationUtils.docx delete mode 100644 src/java/com/twitter/search/common/relevance/text/LocationUtils.java create mode 100644 src/java/com/twitter/search/common/relevance/text/TweetParser.docx delete mode 100644 src/java/com/twitter/search/common/relevance/text/TweetParser.java create mode 100644 src/java/com/twitter/search/common/relevance/text/VisibleTokenRatioNormalizer.docx delete mode 100644 src/java/com/twitter/search/common/relevance/text/VisibleTokenRatioNormalizer.java create mode 100644 src/java/com/twitter/search/common/schema/AnalyzerFactory.docx delete mode 100644 src/java/com/twitter/search/common/schema/AnalyzerFactory.java delete mode 100644 src/java/com/twitter/search/common/schema/BUILD create mode 100644 src/java/com/twitter/search/common/schema/BUILD.docx create mode 100644 src/java/com/twitter/search/common/schema/DynamicSchema.docx delete mode 100644 src/java/com/twitter/search/common/schema/DynamicSchema.java create mode 100644 src/java/com/twitter/search/common/schema/ImmutableSchema.docx delete mode 100644 src/java/com/twitter/search/common/schema/ImmutableSchema.java create mode 100644 src/java/com/twitter/search/common/schema/NumericField.docx delete mode 100644 src/java/com/twitter/search/common/schema/NumericField.java create mode 100644 src/java/com/twitter/search/common/schema/SchemaBuilder.docx delete mode 100644 src/java/com/twitter/search/common/schema/SchemaBuilder.java create mode 100644 src/java/com/twitter/search/common/schema/SchemaDocumentFactory.docx delete mode 100644 src/java/com/twitter/search/common/schema/SchemaDocumentFactory.java create mode 100644 src/java/com/twitter/search/common/schema/SchemaUtil.docx delete mode 100644 src/java/com/twitter/search/common/schema/SchemaUtil.java create mode 100644 src/java/com/twitter/search/common/schema/SearchWhitespaceAnalyzer.docx delete mode 100644 src/java/com/twitter/search/common/schema/SearchWhitespaceAnalyzer.java create mode 100644 src/java/com/twitter/search/common/schema/ThriftDocumentBuilder.docx delete mode 100644 src/java/com/twitter/search/common/schema/ThriftDocumentBuilder.java delete mode 100644 src/java/com/twitter/search/common/schema/base/BUILD create mode 100644 src/java/com/twitter/search/common/schema/base/BUILD.docx create mode 100644 src/java/com/twitter/search/common/schema/base/EarlybirdFieldType.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/EarlybirdFieldType.java create mode 100644 src/java/com/twitter/search/common/schema/base/FeatureConfiguration.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/FeatureConfiguration.java create mode 100644 src/java/com/twitter/search/common/schema/base/FieldNameToIdMapping.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/FieldNameToIdMapping.java create mode 100644 src/java/com/twitter/search/common/schema/base/FieldWeightDefault.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/FieldWeightDefault.java create mode 100644 src/java/com/twitter/search/common/schema/base/ImmutableSchemaInterface.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/ImmutableSchemaInterface.java create mode 100644 src/java/com/twitter/search/common/schema/base/IndexedNumericFieldSettings.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/IndexedNumericFieldSettings.java create mode 100644 src/java/com/twitter/search/common/schema/base/Schema.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/Schema.java create mode 100644 src/java/com/twitter/search/common/schema/base/ThriftDocumentUtil.docx delete mode 100644 src/java/com/twitter/search/common/schema/base/ThriftDocumentUtil.java delete mode 100644 src/java/com/twitter/search/common/schema/earlybird/BUILD create mode 100644 src/java/com/twitter/search/common/schema/earlybird/BUILD.docx create mode 100644 src/java/com/twitter/search/common/schema/earlybird/EarlybirdCluster.docx delete mode 100644 src/java/com/twitter/search/common/schema/earlybird/EarlybirdCluster.java diff --git a/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/DeciderConstants.docx b/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/DeciderConstants.docx new file mode 100644 index 0000000000000000000000000000000000000000..5135f363e55ca219d9284ce0203b43f5d418438a GIT binary patch literal 37161 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 R^mSHofgFJ8QJ4Pp=wA&1a=`!q literal 0 HcmV?d00001 diff --git a/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TopicSimClustersEmbeddingStore.scala b/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TopicSimClustersEmbeddingStore.scala deleted file mode 100644 index cc6485b79..000000000 --- a/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TopicSimClustersEmbeddingStore.scala +++ /dev/null @@ -1,198 +0,0 @@ -package com.twitter.representation_manager.store - -import com.twitter.contentrecommender.store.ApeEntityEmbeddingStore -import com.twitter.contentrecommender.store.InterestsOptOutStore -import com.twitter.contentrecommender.store.SemanticCoreTopicSeedStore -import com.twitter.conversions.DurationOps._ -import com.twitter.escherbird.util.uttclient.CachedUttClientV2 -import com.twitter.finagle.memcached.Client -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.frigate.common.store.strato.StratoFetchableStore -import com.twitter.frigate.common.util.SeqLongInjection -import com.twitter.hermit.store.common.ObservedCachedReadableStore -import com.twitter.hermit.store.common.ObservedMemcachedReadableStore -import com.twitter.hermit.store.common.ObservedReadableStore -import com.twitter.interests.thriftscala.InterestsThriftService -import com.twitter.representation_manager.common.MemCacheConfig -import com.twitter.representation_manager.common.RepresentationManagerDecider -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.stores.SimClustersEmbeddingStore -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.EmbeddingType._ -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.ModelVersion._ -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.simclusters_v2.thriftscala.TopicId -import com.twitter.simclusters_v2.thriftscala.LocaleEntityId -import com.twitter.simclusters_v2.thriftscala.{SimClustersEmbedding => ThriftSimClustersEmbedding} -import com.twitter.storage.client.manhattan.kv.ManhattanKVClientMtlsParams -import com.twitter.storehaus.ReadableStore -import com.twitter.strato.client.{Client => StratoClient} -import com.twitter.tweetypie.util.UserId -import javax.inject.Inject - -class TopicSimClustersEmbeddingStore @Inject() ( - stratoClient: StratoClient, - cacheClient: Client, - globalStats: StatsReceiver, - mhMtlsParams: ManhattanKVClientMtlsParams, - rmsDecider: RepresentationManagerDecider, - interestService: InterestsThriftService.MethodPerEndpoint, - uttClient: CachedUttClientV2) { - - private val stats = globalStats.scope(this.getClass.getSimpleName) - private val interestsOptOutStore = InterestsOptOutStore(interestService) - - /** - * Note this is NOT an embedding store. It is a list of author account ids we use to represent - * topics - */ - private val semanticCoreTopicSeedStore: ReadableStore[ - SemanticCoreTopicSeedStore.Key, - Seq[UserId] - ] = { - /* - Up to 1000 Long seeds per topic/language = 62.5kb per topic/language (worst case) - Assume ~10k active topic/languages ~= 650MB (worst case) - */ - val underlying = new SemanticCoreTopicSeedStore(uttClient, interestsOptOutStore)( - stats.scope("semantic_core_topic_seed_store")) - - val memcacheStore = ObservedMemcachedReadableStore.fromCacheClient( - backingStore = underlying, - cacheClient = cacheClient, - ttl = 12.hours)( - valueInjection = SeqLongInjection, - statsReceiver = stats.scope("topic_producer_seed_store_mem_cache"), - keyToString = { k => s"tpss:${k.entityId}_${k.languageCode}" } - ) - - ObservedCachedReadableStore.from[SemanticCoreTopicSeedStore.Key, Seq[UserId]]( - store = memcacheStore, - ttl = 6.hours, - maxKeys = 20e3.toInt, - cacheName = "topic_producer_seed_store_cache", - windowSize = 5000 - )(stats.scope("topic_producer_seed_store_cache")) - } - - private val favBasedTfgTopicEmbedding20m145k2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - StratoFetchableStore - .withUnitView[SimClustersEmbeddingId, ThriftSimClustersEmbedding]( - stratoClient, - "recommendations/simclusters_v2/embeddings/favBasedTFGTopic20M145K2020").mapValues( - embedding => SimClustersEmbedding(embedding, truncate = 50).toThrift) - .composeKeyMapping[LocaleEntityId] { localeEntityId => - SimClustersEmbeddingId( - FavTfgTopic, - Model20m145k2020, - InternalId.LocaleEntityId(localeEntityId)) - } - - buildLocaleEntityIdMemCacheStore(rawStore, FavTfgTopic, Model20m145k2020) - } - - private val logFavBasedApeEntity20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val apeStore = StratoFetchableStore - .withUnitView[SimClustersEmbeddingId, ThriftSimClustersEmbedding]( - stratoClient, - "recommendations/simclusters_v2/embeddings/logFavBasedAPE20M145K2020") - .mapValues(embedding => SimClustersEmbedding(embedding, truncate = 50)) - .composeKeyMapping[UserId]({ id => - SimClustersEmbeddingId( - AggregatableLogFavBasedProducer, - Model20m145k2020, - InternalId.UserId(id)) - }) - val rawStore = new ApeEntityEmbeddingStore( - semanticCoreSeedStore = semanticCoreTopicSeedStore, - aggregatableProducerEmbeddingStore = apeStore, - statsReceiver = stats.scope("log_fav_based_ape_entity_2020_embedding_store")) - .mapValues(embedding => SimClustersEmbedding(embedding.toThrift, truncate = 50).toThrift) - .composeKeyMapping[TopicId] { topicId => - SimClustersEmbeddingId( - LogFavBasedKgoApeTopic, - Model20m145k2020, - InternalId.TopicId(topicId)) - } - - buildTopicIdMemCacheStore(rawStore, LogFavBasedKgoApeTopic, Model20m145k2020) - } - - private def buildTopicIdMemCacheStore( - rawStore: ReadableStore[TopicId, ThriftSimClustersEmbedding], - embeddingType: EmbeddingType, - modelVersion: ModelVersion - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val observedStore: ObservedReadableStore[TopicId, ThriftSimClustersEmbedding] = - ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - val storeWithKeyMapping = observedStore.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.TopicId(topicId)) => - topicId - } - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - storeWithKeyMapping, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private def buildLocaleEntityIdMemCacheStore( - rawStore: ReadableStore[LocaleEntityId, ThriftSimClustersEmbedding], - embeddingType: EmbeddingType, - modelVersion: ModelVersion - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val observedStore: ObservedReadableStore[LocaleEntityId, ThriftSimClustersEmbedding] = - ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - val storeWithKeyMapping = observedStore.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.LocaleEntityId(localeEntityId)) => - localeEntityId - } - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - storeWithKeyMapping, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private val underlyingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = Map( - // Topic Embeddings - (FavTfgTopic, Model20m145k2020) -> favBasedTfgTopicEmbedding20m145k2020Store, - (LogFavBasedKgoApeTopic, Model20m145k2020) -> logFavBasedApeEntity20M145K2020EmbeddingStore, - ) - - val topicSimClustersEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - SimClustersEmbeddingStore.buildWithDecider( - underlyingStores = underlyingStores, - decider = rmsDecider.decider, - statsReceiver = stats - ) - } - -} diff --git a/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TweetSimClustersEmbeddingStore.docx b/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/TweetSimClustersEmbeddingStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..ddeb7e9353bf4739029355bf5af3232a581c9eec GIT binary patch literal 37781 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 ThriftSimClustersEmbedding} -import com.twitter.storage.client.manhattan.kv.ManhattanKVClientMtlsParams -import com.twitter.storehaus.ReadableStore -import javax.inject.Inject - -class TweetSimClustersEmbeddingStore @Inject() ( - cacheClient: Client, - globalStats: StatsReceiver, - mhMtlsParams: ManhattanKVClientMtlsParams, - rmsDecider: RepresentationManagerDecider) { - - private val stats = globalStats.scope(this.getClass.getSimpleName) - - val logFavBasedLongestL2Tweet20M145KUpdatedEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - PersistentTweetEmbeddingStore - .longestL2NormTweetEmbeddingStoreManhattan( - mhMtlsParams, - PersistentTweetEmbeddingStore.LogFavBased20m145kUpdatedDataset, - stats - ).mapValues(_.toThrift) - - buildMemCacheStore(rawStore, LogFavLongestL2EmbeddingTweet, Model20m145kUpdated) - } - - val logFavBasedLongestL2Tweet20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - PersistentTweetEmbeddingStore - .longestL2NormTweetEmbeddingStoreManhattan( - mhMtlsParams, - PersistentTweetEmbeddingStore.LogFavBased20m145k2020Dataset, - stats - ).mapValues(_.toThrift) - - buildMemCacheStore(rawStore, LogFavLongestL2EmbeddingTweet, Model20m145k2020) - } - - val logFavBased20M145KUpdatedTweetEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - PersistentTweetEmbeddingStore - .mostRecentTweetEmbeddingStoreManhattan( - mhMtlsParams, - PersistentTweetEmbeddingStore.LogFavBased20m145kUpdatedDataset, - stats - ).mapValues(_.toThrift) - - buildMemCacheStore(rawStore, LogFavBasedTweet, Model20m145kUpdated) - } - - val logFavBased20M145K2020TweetEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - PersistentTweetEmbeddingStore - .mostRecentTweetEmbeddingStoreManhattan( - mhMtlsParams, - PersistentTweetEmbeddingStore.LogFavBased20m145k2020Dataset, - stats - ).mapValues(_.toThrift) - - buildMemCacheStore(rawStore, LogFavBasedTweet, Model20m145k2020) - } - - private def buildMemCacheStore( - rawStore: ReadableStore[TweetId, ThriftSimClustersEmbedding], - embeddingType: EmbeddingType, - modelVersion: ModelVersion - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val observedStore: ObservedReadableStore[TweetId, ThriftSimClustersEmbedding] = - ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - val storeWithKeyMapping = observedStore.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.TweetId(tweetId)) => - tweetId - } - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - storeWithKeyMapping, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private val underlyingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = Map( - // Tweet Embeddings - (LogFavBasedTweet, Model20m145kUpdated) -> logFavBased20M145KUpdatedTweetEmbeddingStore, - (LogFavBasedTweet, Model20m145k2020) -> logFavBased20M145K2020TweetEmbeddingStore, - ( - LogFavLongestL2EmbeddingTweet, - Model20m145kUpdated) -> logFavBasedLongestL2Tweet20M145KUpdatedEmbeddingStore, - ( - LogFavLongestL2EmbeddingTweet, - Model20m145k2020) -> logFavBasedLongestL2Tweet20M145K2020EmbeddingStore, - ) - - val tweetSimClustersEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - SimClustersEmbeddingStore.buildWithDecider( - underlyingStores = underlyingStores, - decider = rmsDecider.decider, - statsReceiver = stats - ) - } - -} diff --git a/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/UserSimClustersEmbeddingStore.docx b/representation-manager/server/src/main/scala/com/twitter/representation_manager/store/UserSimClustersEmbeddingStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..ec6c2e2790ff99072c7210977e3d808ece69a089 GIT binary patch literal 40044 zcmagF19T?a)-D{|w%JL?w$ZU|b!=N5+qP}nw(WFm+&5nk(P(RT@W6%bk~N$hB^jIs4DHAO>LR>ToUN{ahxMWX+|~(j3y>M z<9RlDr~H83}(d5JH}N6g0RhZ-zCeo!CZE{$!YZkLu^asI1fb zxVJOWv!IV~=KC@YnR14C8dR$VSsyaIpCEMDyo&q?RL1=4) z*?r4y8s{+;#uKpGlJGkP^-UzR!2NS;^8m8yxntl=l}{_q?9(-6s-NxZYLSYbrYHVl zSZ(g><+neEIs_pRVCv5A{G-F`i(2D<8$)ItmXQ z*Zgt~B&icAHQp0&^AWpZ^j_Uxpo_{dg?M`2mWnnGct;TOe??p9SSp{VJ9+$~(8^1! zaJ92TPDo1?tq1Sua?ikcF)a^!nX1sjUqxSS!7pd2M|F$xy1q?k9U>93-IvfsaW_EC zA~o!u7>>_~?2*M-nSh6C6L~;`vhHGrzfwR*=bNP%Tya229O50c1BHsC=l3~lFl!OX zM&{6>ik5u~=g=qKMh7unAHI`l8$^W^X+wH+wtP5oTjV=I@uR88(&(0SwAPn4*`FF^ z*EGlef-(x)E+ltg6YWU-Y$o+wMKjHNqKDr}h$mFsCXF38{pGxErtr?_YLYJ18={sy zAx362ST6t5px|H73Z`GT`OKF=h+hU7S{umPS=-pt8d%#I{kh3AV#lQW=n#Y-J%s0_ zltXS2AcV!g0iJ~Z5JT}@Zh2s0ma-VjWSQ97%ePd|rgFmD;vBlQ;n`qqXaY6}j19yO zin;VP424!h{aDjSTYt?I{>EOB5YT(s{W5n$X2M}G+8ri`1p`%`2`rvQuO+z{%t72= z%gi+YYmzXdS-vpmSU>?$YUP(QUo1r{F)YCW3gvHKU%Zew;@CRGlBPmDfON#-9Kevo zem%)aZIHR;GDv^B9SaaAtV(s6-Q!ISdaSiZ*fodh))#{tdT%dWb=ZJ2(E(lg!*nBx zYA^;8h8q51jU_3!qiKD-Ww&5YH^?~P+@ z{Ci#WY;682i{hBo8XZFWD;0>AL#Qb@zZ^!a-y;8v;09K8Y@om<-7q&^;cuc<;@d=+f)jaiICCD}` zZzjvp$%K{xzgPV%b1k0YW)|JMKT%6efQ1tQ(tBqF8FMW&rC13TL6;)Hrq}Jb8vhAm z2JP-}Uu*aqG26sa1D$J*nC}#i+U8~s=BXcQAKf5-o6l?dUc{y>U63MtWR^I=OwYRK4lzsBcilF+`Jt|aGa63f0S@GaQ(*ZG zP3YUIAh_3are8%$iq4X`R;=*|A?VMaA_JfA7fN-H9X=j05JaLrhC z*^gbCazgIPL2{Br+*f^kY$^lF3zefI!6kJqX^jZfEM_c3C(@ljuNJ@qYjV(db8ZY- zQ783X{KubI?+7&4mh?y4&yL*CC(dAOUd?rocuD7w7VjhBV|c#J7F$UPJQFHgB%DF% z=t}MuGBHX0YvQ~GGNK*rX|!*&cvp~V&$rm03-@RE|9N9Py$LwEzykolkO2Pmz&cyo z8Pa||wT_lwFQ-3u#<`ZI{Td6>hgTO+5qv~CNBmj7sZ7PX{dx0|ZMyL;$s=LhbvFqK zAsHkbg!qHe%N9I`GByqi@-Xak1{Uw+?h%AR);~jeFI=K&z!flA9i+@syj- zW^j6FZhefbuq8K%;4iI~cypUeaQMB}qmEH{n(yo-w_xn>VMUufN(b@mJ&h*djNpm> zAl3k%<bPk>|FV|nx@;d)v7PQ!U^8xXnb_XYm1=!iUkiD%cZLSBamQy zmt>nH{#S0r`D|ZjyPrmmZhA3VfK`xa#YUL%5nxxyQ@(b0^Ki8(qmCFEdklDi8s|+k z7b?`_gRNvD5{~Q&B25j~?uzP8MS|49@?ufX zG2I8=k)UyR3u};w4`QZU1A7TM@eznSc&PNx$w^(60=?w@&wSMesa_!;L+Ra+90){Lmnn#l*rR2ZqUdAzPEBvlGFyT*E z=z^2*B2ih44koKRDj2^c<{ShH5=!68&Nrp<^?hl^xg|Ix+r_$rM z$1Z%X$VyUU^=OARs|}LBSu}cwIo^D%aX*=t;k0BdE9eZ(q^%uL65DY{Brg8!lYI;2 zIXMlbd0Iosn^hR8o~m_((jS4a4G8S+bmXp?jH5Nl%7Z!3Y~FDnuQ3_l`_{$YyEk15 zx`=F+#MC%C|Beqf?zr-eVycx}8OVU^IDi`M?NO|^22Vsy-C;QW(DWt7R27}Y#G<%1 zXQTwZdA^WAjroAIKOVsrTUI{;)R7p4^#GD7Fs=rJw*RV9CE>#sNj zW*MvFTB@@XhRD_-Mdl$AC2OX~cWy;M7_yXYZ44E1x8hQ#8vo9!VT@5Wc(x2({^&RQ zSx2^c8R%IkOSI@lj2YR3P|?v`hgph>4bsbMQ70@9L13?c_ls;W0(lC%&73+XXAixdy;B<}H>_xwx>oe8Wk$|qvmYtqUrsh7a0 z+rQr5Cf-;P`1nx1-|z|C4`0vRBZ#)}qe#4^Y&9n1){d*kR=(MC&fO;ySWC2|OU$6o^9wmPcorfq(c6jWVW}A`bbzfU?2!S3yHdN{dcoVX(M~ZeCN#~G;Iy39cGQ6Kcq&fH46Ei@iOX7-bf6@LU#jJgxkcfYOJY-W<_}&oelF5 zMjB0JIMBNXc5H@65TK37tdH~oj)w(<&T8TN2Uz=Ep$Y6{aiy!6;{lw?>7Dw?zD2cP z2f2vNbE&LYli<)Vt(fVm=?p<@JLd^L`d#%`TW(^HN^!O)rwP|2>(LO*mN~Hfrbphk zUtBxd9|e7Mf++M4ax4MCCf_9aOm2r7lwA-`oiw|+M_o~&d?AD6fseYEl@ed4>nP;E z@#|fPEd?aTgU<5GCzs2zIW!upL|7;{Qp`Ii%V1q_0@T1G7@k{|nVv|M6x zVW#M3+LUUCV~k91!?W$tIQ|?@#ru@CdOEx9-Ti5i^jT6Y>i?-` zc~}5tQzyVQ@7)cJSuV_)gQ8^$CJR|Qfj_X;gi?As*p>;Kp_IG-qb%zi#*yAiG{w2Y ziB@>`TXN~0Hezib;~Jf64g3#@K{`QWa7XTe*`-J2-)fa$FY6?p%KCst+UhA12A_pL z8{jbc>yBpCoX??;2&c^Qcmh^u{Ak)zq_^n5+vTmj#Ur!ezY^}pnM(VSYH7|uI*#A# zBKNX8Lc~gg!G`?QdHfNtR}_>hMcDat^O`^RA^Aj z5{s~42O0^w8D_1aZy~C46b*A_tF^J*i5bUX?c!?`^@7`w#~kC*xS$a(%6MZ}t*pRM z{dIrxx?3NDE}st|pvWF@xZ!J$h%k0R2?HM$-zgb?nO*I59j3Vzzu#p<&1=wS1Ovc0RJ{<>#lE`_`%uCA4T_0*x8d`#3Y|4^-#$(|;#$E@W3^o; zuIu$?lMGmVix`z=b#OJ0Z__RqM@msmn6fI4ZaoBZ4g|2$CY~A6PBqb`woGlu`9j#b zBhd#^V0>6-poziShScJ|AhO2D6@xZc%BJzZOp{W$!XYX-WgZBfK&xsAwGR|Z82m*| zBSn3uz2erz9e?WR#c1HJJ98Y5rKS1Uls?3CU#Mtx3a-FmA!XSd{Fq+&-g|AAZ`K6f z(T$OM`9T*ghs@!C^E`J2KUj(FR0pjB#XZCdXi(XnFfUasE4xK8KCkWElmkLbF9)U7 z-k0g7yVM(#U6r3rD|ix^#Aw->j{?3woAz61jLn)2LK=5qK@mnie4DRgTQ||;899PC z;a*|Qp&hN#&F<%KrhBt0*~dKCxx3njm>1(zo7}gT4JLZ{S7K_A2ZM|_2l$2r%z`$l zm;r%m?)2eoeK7!2KvUxUffxaRaVzq1G4P5hvtE)!Kfz;L^KHsiUI!HI&*SG@KdkTK$snL5v1+WD~SPQWOK(XdVq5Vw(5Dxe? zpaSfl;0!#%Mf(Oek<5To?40^JhQ0rw~j<&$out$3ojgcN?8k26r| zxTA4|Cv(VApU#{noSI`C{oE2@%zC|Mp_92PNKkW{VCztc)#kDkbh`y)#+()lo#F&r zlkwANnBFQy3rI1whHscchIe~-9xmudFKHOBGfU72rc;-$+`Ok(L6lv>lOM}oJ;RNu zS9E75#4bqJZtGM@f?x4Xx5l;Si7cuEy+QI`n6zk!R@&bPcS_M#t$R2)$(7bqdFi$o zi|E?D!~|u{JRRsqhD?cQSaZAPr>a-uTg42~=#(^Z+GRA|5hcf?j3AH7m!k=;xtJ8? z)@vV5l!9i;Q!1R9U*ygfgq_P5^BhhbXjET33P5REjBZa9SXB@@Y&#aPaW#IhQpKFI zXT}(YAz*ar9q*>zP}Hke3F|nn{mGqwGcdD>s}NWYU0YdOUKUBR>&3odbx1Gr=Cc!- zn6@PkXvaJJPVnfz4sX{rG5U@csYhoXW{M*jXa>51zYh=%Ty6v>i&TjIYgPu~63fSy zgYVqC5cQszGjje22Rw1Y!?y&#v965)+Uc;agcgy0B$=o^zzm8MmGguvsqs`qEL#qsX`yD0DL}oh%N?s5Y~84!2}ZyIa6c#H!#I_$-}7d2^&C(!Ge&!2X)Pke#rcD~SgB z0<#u=TTvwHc}4PBugVmQ$E@>yiqN|kn#~OSGPKvi=gnK0d0kr9Qhk=ry!bE3_l(g} zP^$3&8v6ynJbiP!Z1u<1W%1fB>U2@m7y;R>&Sgjcy)sZwAYm#Bb^e(Xp8V{epu%PD z{XobadcK0q?rHI*4hIx;uhkV=%+$-}WZXa(FgFF+iVv-7RZG9K^F!(2EyhtKrc!5@uTxn}`C6yh?)31cCR9)Fh1R78oZ`EIx*nF0)v^o0TkhhU6S#>_Hg7dV595fkN zg1llvYuoJ&F)w`%o@=#dze+em>R7WgnKvz|f<3Ovtk`^Rncq$rJy(qdqdq(Di%^d^ z^(>?vI4&BdwT~K}c|lKD7Pn*7Z^;)_U)0E~|N2pyqG3-x&WhJ~J^gF6x&*qFHhx!- zwPIP3oyC@YdqBWr_{S0Ux1L{>L@lzv;5EsX_C1*_ljHD&3A<1uuzZ;PVPTW#IB%*I z<7W_9n6plkm*)xB>jg*Pr(&8ic?~^Cmye|voQyywZ{ZcJdT@MH{$Y^KHXerf53Gdo#;L~KHiVz?QaLZ#qhk`ESz>MeV1}_ zx#o3sTD3kuzwA0Gr4qflmFXIu$~gA3FF%Gr8{VsW@LG(R*%2G>`k@SZd$^^=AeMnE zUL--n%6oZw2p%3XzqF%zTt&~G){?`81udnO2hTbF5vL&9Amw?J38i88eB;P^kzLGs zH$-)~egc0(?j}Fq^9lH$+jJ`*Y$S%S{>|7|{|4u)fAiNi{qOGMzi-z6?nK7(%lOk_ z{JQ*r>J5xTDYOd1Jj*3(`zBIV;1MXY8v7u4u%)qKNG-VQyZ6ZAnMH0nH}RmbxXFn@ zRsX|}EgT3QWiC+G2#L!CKIyc(PE3j4yn+Cdqq>KsW0^}pYUaEq;b-~Lk9es!sG1hi z{#q!Kh8!!t7Szg!{9_S?*k84*>Og8jGqK5fL0Op&Zf!)@6P3+39p&cRyc?A-!APr9a~ zd&Y|f07A}Pf=Pl51=Z;aJHR(ZjA8t2q_wFE0p@|26XtAYcQf(*Zqkqr?%+VYdpzMq zIJ@k)s^)TIDx#;{y;sRdz69i!X!fhc%7?n^U(e0mOceEK7EyQAJ|AAVs9$6zuDx5mU!?Ia4OxFYM}0oOE?q_z@iv|AX+1q} zT(>1Hw7nk9{l0Gt3fenyeXr&Eu>5S@45am1#n(ho&g!Rs^eTFD%8SF>_j()%T?mz^|mQq6n8oAH6hBWWjkExR)mxha#Y5sv<~{HU{m?ddeR1kMwr5uNjPU~& z++`)epd;%%GVS#$;r_-Y6_<7FF3ijByW2av8}V&i*&d~%Yp3h#I4eb=li|ji?MtXUZ3sO1}*%SSF$j^hgjx0;b(uVw(r&IWl2YNc3GbJZM4C1roqRE3%;~46 z_N5nhWtP>_CvtyhVtDgv*SYl3T9ozf)Bb0TdY4Ehc4w=G2+K3&OE-(#BRwhk$J5%O z6YCK)d&%{{XIn51*@M2gt2S*OMi;g+RO&87ZSvj^SiLg%onm-;dHh}_eEo8sej(3b zN{`?E4aF^2z%5wa_x-Nk z@~lKLP&3niOIkWQu(dBo%P)S3LcD5uUDCT%q%`YKF?sU;Y}cw>oO(T+VcH(u z6dJgs%Hf3mdj4_s+mb3BZ*UgT1C{UrVwT?nSBFA8ynvW3j_1<2Olf#s=uMF@>W7$| zSTT}(JY!h^^#KYMp~Uy4A77iN)~<5zEgae><k@nu!Z-8h7N7T_Nc@@Y_{AU#JywuC2fc>&Z7YVrcns}7We z5GI=_-8vArg+3?&t_plmtL>Bo(3YF!8F^w5^2Ag~em1d9J_PCeTAWca2>F@qWr5qI z)_`hkBN}`N(l=-b0dei1!`}sN(4zgK+d=cQ|D62!brS8LCqZ^dtO5D|aeZY27AXw~ ztt<3!ulOd=KXacm#eRhnd|gNRSE%||w!p8v{}K8(6i5mAr5T~ie*s*|5r54<{ly}& z9n>)Ae^LBbs%W>HN;JQuudDu@m=pFFA9;i?ttj>T-wB|<{};vY1Q6t|&=7yIo{w{G zKxqGS)&ET8+Y8oDI<<8oYiDu@sV@+8;wd|NUOoeQt9h&AFSaFg|9}$qO(KtvE^cmg z>D=;eLDpEdw8s%roj>~gE| zG&q-4wc}Ftdx1yh=-_Z9cjqZ$i&v}ZUI;(ZYL{k(FF`Z%k~s$J^VJ4M@Vo1jE&}y> z32yqeUwK;+!RG8*S3*Q4HGD*uDWPwB{zgloOs|hkp*%7OwPRh*@lhLD9h;{qyI6r`#yi zCH>p2qqm3iWpf+}e8HxDaP{K-cZD@vlF`<1mE}0JHnUpdiI$I^jhI2Xhi{5~b_wg7 zC+9A!UHy@XkJ<6FH)L#G4$cZcC*elWf=^59U4TJ`zA2&Yl;|v``MrPiUlqz6jWKLG z;Dxk{kEY507)#rJi!EgZr4(GeloIE_XQ-QVHRn%|IA8Qm7eZ1YDV$$1taaTr)LA@T z$`W{n|N8udkn;8zei_+&nfpL6>rUz4v~^5-vV3h)*r(xr>+FE~!6`W~xO?C&!Gb1A zYsZRa!sEK8ilfzON$th;>1^wjs}w*^>ulPVr;F8Q{5FGO{_6wJe|+r#LRys3OE!6i zEQzWlVib8njb^@S;GP6}E{+;dM&GdFC7o);MC(9PkT`t|lB};~$iA|jss%>H4pDRD zur)T~_m9S$N<+uK1eA>a9gYzH-z1SfaqD7fjXVaYCyZ&g-fLIch)ez=$#_gBzrfjF zTx16&sE6Ptw?rVeb8LOKS!tH6H6^=j+jdxqJ>LpRmY6Pu4Jy$i=sSL{!_wMCToIWd zydQQPqnzv>3gWZMiRQ8Yf|hEgVd`Ssn#VX;TU4Zx4&$VLEzWKv_sD)wUyn z?CAkXkE_S7UYI}n>=vYkJkdr_gp4@k`Ah$zuj^7_-m_>wbMJzyU`t|Sz`CS#N15~K zw{05A9DdW*CDG?c>U`Uj^UK}P&Bx8)fLq(Ut*h7LN5bdg`ODnzw-XyWz4ni0-i!y@ zx2Yjew+{gLl{D989uS?awx*<^d%|b=m{(@q^?sQojG^+bpu*M&-7KE6~C#k;JWr-50 zb2Q9F5r)!j&W8a4XSXMr?c9?p^wo}B@|e|lZ~*pGr*FTbdqA%>@(QO$vZ$$Z|)=o&wn?@q)+gV#>7wjJ6Wj3=bE;;!M`f*x<h)6xRzglzo0zRPPoXh>pD?JJ z4*F#uM9ZXq)~uj)xyWeG6Z02)oGRHQ?iBkl|8 zVQHk`ej*lhI_{2PGcOfaeM3d5Fyi#d-t0e!Dt1BqK7g+%^Ii+jy~X>E*(5m0Ykk+- zB4@XdSE%*CfHQhCx?*uG)qWG(Jv~aTsStHGj%<^Vi?yoKpmH2sgixFkb~>R#yFyMqgPq8DB>}?hDrj4>a$Zu3o>qgGQm(bnd`@N3n`MS-`PQOjBeXP zL(cffotL4*k)pia~F>hln0uvl&E{JS=yTPXXqCP?iY+5dw|!3b(O|E z++5A1%QdyFxYYaS#TSOs}Td#QxPcrh>ih98RkfbhW9s0$j9VI zemg_sT98qtT!0@_HL@Essy`pQ%9cSJKcDEQ>x!l`4G5>sBeyv5U z(Y{T$t&nv^T-{F7Y=l0RbO^VJULpsrl{VJ%t zS@TYqR5aR%>!WK~W$dYJY`>~1lm4oVq;j>c#V z)=TRkv6nUFsiMDzmD)yhW2tY8Q*Zghzg-$=a-+HlQju$xd{D#A zHDX>JHZv>%Z9ll#3X|x&X@{Df7+2#Mwh~PuAiS@qrDVZRDYOmYV+~7_&!w740TIp+ zs_Gv?rBjNv^5}7Wkvn+&hVdPCpTl7MYo~L+^QPsnj+qB!2`B&awsC^#cN*YJImM)r z_sgs;@ZHV?O@04M$Lf%`zvo*{wpZL*JPI%+j}ZlXO+XC_sbek@Q~LUkw{T?Xps`e% zo+?&abjCFm{K~!jJVxVhU1wdBNo_^&XL7<%^M^?1a(!wA0>pL z9-3f5>r~}q0yn6+u+-CU8q-Od?fBX=A>n%xt0CTEc5nIEl&;c6O*mmIx+T&Y|x z00$axO~%?uQwp`=Ob_y03E7u}9n%|=sUttF!o;=;kNN~G*Qc$4wgXx^p+^fBM^H-) zPhkAqUD4itW&atQ#rPV&A&Z(Hys4_Ojd2{&fh=u*$Kq(QIl&R=|Kr5zMasA zy?*dzX6rZaW4CeZC=C!+)=}NW*)gY zcrjm#egIxW(^-G?=M;u@$Hq9eu#vLgjpT661BMAAmz zr1Al+L+_gyVh8HfvT-i!gYQ~uUX$Fm7Hx-1OW1(Cs0-dVa{{_6=3XuuA-)$Cf0&HbuyCS>4%e3+=!1_#VM! zvzqW|P-|}b`ysm=R0nK2r0;!sWbLTfKrLWxs3u^2=z~0#1-b&NIlx}GbPTKTm1Y7} z(7H0@c%o@zz(>Ko?VtcIyGfVJ5m&mJ;@@KG*wui*<*Z1&+b=40bm!3Qw9YmGnIbZKB!Q@xBgRsJx;NI*= zNQ1p^QoS@QJ3V;Lwt6K;vPn}MDASwmSfs2IlB9NweM*bo*Y+kBw4m(8k{>bBXToy= zsl<1LYt`mhfcck0Gbyjx!$x5hAm&ORxTo7pp@xr2P$kf7EGJ7>lz}`&nozC;0A(nW z4iUIDOSS7I8U<@JpiU0%Q^oVNUGgx=PPE3sD^KrG?|(dmO}DMU44;++N}dA6vH4A*>X7)ZOJfBu)*61jlB}WU|F58WKQot?* zpHzx|AA25cQRL_5+7U5ZjJ~-XEL&yfjnt8b?c1KIPUeVse^{Ps`8;DXF9Ar4auwia z3OCbNa3b7c$VswRlC7;RQ_OS{$QnR2U$(j=d|4=4?Z`cER_b5OYO-Ka7SEHX4ds&K zLq0EIAB;z%bla+3iyL{aC`((Fq>Odni*1T{qI4dV=gjy$dPyOyk|uXEU8(N7@k_WH z<#r%YrY!9Qpe2WsLPBgB%~R;w>5!d{C~yn+=AN_QF&o4K3T38BvO z*02oUii63yDhu1vJR49)X*WHsP+!e3T1qwQOO*gQK3~)nrlKK0p zo0%JNh7g6Dxcgq}h)&|cMt7E)wnTa4DU}x0Of9Iq5NFNxADvJD-K0gL4`wo1A>a8!Yr7l$qL0I6J>3JD3)+3Q{p~36OtC@<8b%wCFJBiRu{@6A^_Ei z>)|60|M>;w7mn}JICPPj(ot%P82vvuASD09k=_$W2iz&TmPM@AwLcl8rTbP4LGdLi ze)c!N;vF4(Yl|?SR{;D}RfV;tph zbLVA5C9w&7q@>P5J%m{2%(sQP<)afSpx7zXU3*6qK-VDT!Y@^QkR=eR)$F*^B>zIw z3;i!NcE|ruG>TytU)F2#rI@;-pG8$>>L4UrKNC(&&+P9}0Y{FQu3I=lecJ0%=Y;v5 z)F!@6v;r)u!zvREyaz$SRdJf*$@nfM4DX+pwuLMkccpCMr@U9w@dbDeS**t;%O;B` z+xL1oWSFmZWvT%}vL?PNT}WW?Tt~1La?WD&Qd%g?cN3vpk~zquVj#nJ!_Mtd8A+5) zB@5Dy<0UD~7eGXStM&bV#6jUUNC|gGqH~W&SXm*;CS56)xj_VyqXMo`{y*KM7zW9_ zbn!nO{_Pi@*7AQT9$lypZ)FyXH7$N-lFSY+S`-*hmq${2r47xM(Is=jrxocI|6N*> z)5Fgzd#Gga?bX(L7}*jnb*TIsn(rWuUb6BqN^kq$a7;VnDBkt62|h;3K5ScFZl0^X zq4nlHJD^D^@USC9wQY%8;09IvpU8u%CLc+m^HV8bnCl^;)-`k7&omq&ygZTpv;b&1h69z%>wN2jKSRZ4MPpFlI&Ca1j*94xG^_>gi9q6k)>1X|d2OI(iWDOgUQyR|0Mj8hvS)?xijpd=pAC?OE^ZA8PsSL3d~1KrhU4jz1ia0@asyKCii)w+pir?*p4;@3%7 z`HvW28|o(7#0Tl+FH0eLotE!fiaF9cF%(^f%S(zozm?mQ2}Uk9S`5@nsGv|eYQ}k` zUXjgMiz|zDApuT1-eEex<*vP7EFx;kb6giPUI|Fs>QsdqOl*UkuaYI@!d8F32V3rE z39&?4J5&D=t7c)OjjX?$raDO8X_`JVy_bMt^1YOFQartGjliF+$g5T5FnvMCqO^&M z{A)6f&16YFw%^cFckJhG`d858-$88uJ1Ak|;QRgIO+R~xJ<`!1sN`~3iz}&giBxV!xQH{^xufEJLvUNs+tJq?)UZe}R_`u&wl8^NF#BEc7W$Tv=@7iPs_aSSAd2 zE~JxcVP=0ZVHqZvEXle^U^h9S$4-2q$Nm??9Na@(N4|9AiN6^-{cnah>9;`>FwZA^tC%%KtSi}9wyrlE2XskP2ZI&ZAEH;bx9>hD* zx`7PX_KVgm+St#LuW-`q(PF0tMC|hojt*>t6Zb}KRn=#sMy$1I(i2asnKMz<&)%HT{aT9G zal0#+KA62$gWM}G=t4Ga7^5Y2yIUer_XLu*cxk1m*6$E%vs3pV_34HDftL6S8tDrf zT;k8_d%R_H5jIixFK8#ju`g&&mcOBANs+_g{vXiSo&AvQAz3<`9xb9Bx{xOor9DVi zbD7lCzRqWas($T_ByFd>$YI1T!76YP)%`ZAM20(7eX%SCMN`%Nd>wl|NPkw@1(;3l z^DzGae{dZB0#^Y43%rS*2|0}B{{cRuE57|4nY6WT_Yd%1UGZmml_w~bCOMSZUWZxm zV}+I&+72D)oi|9z;5s_@t*JD0!0XhePBY)p-mTQWtlU(xni!gN&FqLe2o!{%i zyvzUu;_j}^Ig+1AYVmDQu!zGn)o>kIYA(1Ca(Pm5f>nAhzo;~_wS9-F;+;n-b*}ye zRfq{zXl~TqNbRJfHn`Byrx22L9%)yusScBwKQexW%& zri%8Y(t=HigrDl*KU4V_g}VJd6FI1Ro!stPm&*UCQT?%SWZ>VD-MY^i{w4A^Q^kGf zVC!7{>OVzFXqL}NStR3vGoF4%;uakcVz7tNUM-f9+RTrZPTA(^?avQ)HeK5Q& z|FNZ`XZP&lWi~Cx4kXy4HiIyyG0v_50Sp1p)8)dqXBp8LuLgIN1pf1y1R3^angb37 z+yVW{*8V4(3x5T;deHTsY_v8HU=xFkD$8T5{m{itrN7XdEw5@_05`#+t^^3rjvn;s zcg_~;Q}p0_pb;n$+5uvKyP*;23EBbBNkY)~LGM9nDVX43TnSv850B_?v!7Mt)A!-k zdjS%F{yBixejUIXy#T4joZkKFvpcsz3(iMy2chYr2-~~0QRr?&cwRMV6O$TRy#Q~O z7p{PugWS+)yPb=XwJ9!~(J6q)2LZ84(p<)!2c^nZ(rG-j-sjYkOoBB_`S)f~Jvd$y-UK#Q6DF7RZ z@v1Npg2NyK^szK|`|J8mqFeJW{#cG%1!2l<+noa6)jv2?*8D~#P1!_;OMr*08B<5Z zliE($qi-N!pbgE%cxbaTxo(Q8z|b?cMz2bW5o_p&OCFqMEXi9G`(9^I!YTDhmp{L$AU^U6j^z&|JCLQQCV5cy5@cZjZQpd+Xkb?^gToQcY#K zoyns!Rx}O2t@4WT{lh;S@Di=lLWZuJch4(J&pG4ZOu2eW^Y#7?`$bSW@)}?MJ8_Gj z5P?Y8n2FhjgNah|L!4;5kcpcl$BC$fNB-W zaFt5uFT}9yt5q<%#MduIL!agbz$SMisxx*>0LYFOpUszT=V|09xb0nUSW+dJ+%b0Mk zS`RweGXw3q5nQ#n7hEmg7Nzuq^1`KkYOq5|rE%GM%P#W6@6FHTw4uNTR=k>9dX-AK zaoc-SykczF4$1_+zX$sEl!KK9R=d&J~0S@`gV8krBK+u$;ONN zCi(p-=ZMdS@_Ke`#Zy+XPJYcQKzkjt%j(c(f2po1*)}=3%UkcW-jDEb z+DIP2E#6+@-#T&o(lfLGaE03UCSg_M(`)^ObQSTJ5 z1e53eujd_?--ZhOvIhTI%>S!5PI=GzgK89`yKrCrW?MUUY=2dh0hHI;_37s8t1#ab zpL5YKc2#@=JFc@+dbJs_siyW}7r{7Hw=w&9*}-}687eeK`297P!i*?wgHw>xerfs{ zM_17C6$vS6L1DY~QUWTL?NWl|Umtlq738_;^l0*ewDj8s>7kz-CPk1YXb&S;w>#@LqGce! z*aU-V+K{6&vc4rE*c9+#(vAAyyDp4hfu@TrlLTec=BjN480r~PLdLm7#zE)liQH!E zxu)s0U8=11fk(0yjB9t>Y8rj(zTWkX1!aTdk&NAT z$=YtddS(C_f{b)VjO6U(tY4OTuvC^NXVb3Z|I_Oij4YIs10K1yc;iadCP^PJYCwR-Pk`I$b=&^1Uq26`TF4)9>@AeN{7#0^QfZF-asD) zlnsst0&veYPmk@+X8AuDX!y_c|Ls$Ae=vGEBaB;Rvv3N9{NI$}o@3Rol(3!FEzQA@vxR&4W2 z6uMm{7fi^?VR_r9=6s8Im%R#;wqxFk@Jc};^gLg0c4T9Y=q%~CXxkX7<8f<*F4Lh6 z=%!zrphA}d2$y}n$^mmLk}8^QHO{!24tF~R);x*pInWoW`p!BCjFDt(<^Q|UGUtN? zwt$~Rrd=QT6GGab=ISj735c}jhV2ElU5-!7v?tzFf*eeH@1o=fLd1rk-9iP6AdA(t}PrS*^U zaS&y)ulHrbNUm(XTu6fH_^4mV<#Rht^T4=tdAO_kRAcv*qmq1Z@d*bnbH-o|Y9;8FssL2T7zwH=ljRmDHw;c4-`8ZT?aL(zoI(;D z;}as@u7{1Y;D;^p#LFd#Iu7I0(vWD9PK}IUF_KkNq!;-Nj51Hx>|@~C&g*Iek6anA zHNKk|oxl_>BP9>%ZfE$0^bjy&0KU;o>4IdV2J{RQv3#lQIUd*jvkGV^Ig1UNq{mPb zk%1}Xgc(#@woh7O#s!zZPwLtKCluWm6h`Z!>vj$ z+TxiBsGNegs+jHkOf?LK%892hi77ss6jWo5PLnVk`UTqcdW7!PrJ|(Dh4fUn9o?|Y zak7o5CP%6%d}l~hrxa9mgBKR#mBS3!(_iHgt71PmEDRVsNPW~@u-4T#`YNO~eB!Aq zkGlecxqyWu{Ngb7vqkM#tCGIaO?mk;LHf|>wr6ih0%08kpfu6cD9AR^zgHB9*T&-^ zAmtsb;>+2_AN=LzoaGi5k?VliZuGAR$p41urltlAMy6aC$2_g7M)#P`-o^;_g&3Cr zdOHwqFU@hP9Fh=HU3)A<#)BHB6F6HnHffcslfjc+a$UI9Ak9@U#Hv=2-Be;dW%1z9 zyFS~dIv<{3&l=Cq6{vNz)Fvl1sd=C>)Jhf*02-qvgcv-SEqH%qkv2f^f;z6q^3lV> z0G-^6KZD&cW`z<8S&EHOG-VgyOiLC$4Ie%2A*${N34#nkh9DW;SZv}BSVZh&#n+Se znx{+QRpuxV7+aZYS`1)aA}*VQE}Ij`5(0t>@eM(dpqRkB+Z@3U^g#uwTyuf!{}A>L z(3v#*w{Wb9C$??dwkDp~w(W_Xi8--t+s4GUF>&sb_kGW~=ls8W@3)?nUMt;I`?vS5 z?pjsVRb47jG`1HL1GWuv#R{`0v~Z|f-WyO2 z6jrii#R3X~=*3&lo$Sby->ikeebHcf*+309EHV{x3yPGmsJgMKkW`K!Rm?giv}M05#5eTYKR|GdT4U zvhlHE5gJv>CA%mW#Ost(Fjz+*7_IT^A2_Pz$^P`3)538y@_)1Vg77zs;O<*oxiUr7 zN(<+TfJ1psIPKJ?aCp>r=VhL2LZMeG6wKuy*wM7v`6b?cLi*D5SP|n(M5x$AS(_bd ztlyr>N4LdhQTSwmM{3g_KpiO4 z-9S50Lb(F>Cc{VHPtpmYu@TvdzhW0#qgx>0jsvQvDI29Z4KIZcX3HQ%D_0a5QJlIj z7`gtTqQcO1*E}SLZAo{u2xPA*i*}2$~6E$O8)?%egbLz8_4<-Xx?|c z!$%_b-E6gC$zSl74iqteX52d0dww`H+g93IA50hd@4=_||~o$Q(W+0dQhKt4QJHM~4R**5j(>`CHc`o;e+qkn z-P6)F{s+Q;&)e5?518X*1p;!cf&jw$?|J)b=1yj!CML#)PJd6~_x_%eFIId0@`T!O zG9aIo3`96G<~@lFGN?1Qd!735$X8Z2|2?fT{zQtZ2{4OaAlnalI7VVP=-lTgr2uAZ z3$x=8eAwf=@4K6O=ZkmCdIj6*pH0{gw#NgT7N2FF%EjzW-`h*wU0d?aweyFF``sP) zI-SmsgQ@+C^pB^@kLUMO*S5Fpsj>C%H!t@WZBB-5P_06e=NMscORnJs>YlhZsts0YM04V{_h&Iw%|SlaWggu7XL-@O*6pBmz> zva#pb!icN?F-GrZLuh;JMXqt>ophRJb?Bpdy4q#SZde{5nl0CnfaK=e2#q3LQT?fm_Psl}>c;&G%zz{d+ABuMJ-Be$l|{txpOb zC(i17EiW!N9v42(hx04$)S~y6CeuH@PP#N}ek3_HGT{p1d4d-XAvc zYyYHj-Z3&hz5CR>J@lRZ?)`Jgv~KrIyrlTUUrlwh1MS)7Ppg|cu8q;Pd6&#$qtT;s z*;E+{%j7cu$8}Yc(>R*#i|jj{PMvEUdnz6!?8$b^pAn*m?PhdRbQ=D*diTd#uh(jM zx%Mu8b$R&rmm%H8vI#bgwarcWqM|_jWco6E)tH#E`L^T3iGa z8GQKnkGl2kmi$o}URw0yN^kb^1~$_A0|sn#+aXemAz}+tk@;x(`N^Nfnb3;d$^$MB z>7m3*b=J+wS=s9X(U+#|P`fWHa5;}YE`j)++3VfGfKx|XfKwQNQ_K(d{GRGK@10NE z60odYl@C*6zwfOjYBI7OQrmRVRtFBxckYkr_QBZ;Ptu;Q9_*)F=Y#{&->WxmlpeGU z$Lyi3MCq&KBi1d{Y@-Y~d}K8?);F8VhBQ6%f()u2J{# zU`O4iaf*E^{k*8j^x~T_4f`Rz%Ojqc&2QaEy9!#v7S3#~pi2`3gdf7ApvDUe>fMPa zwKRI+Cf;Za5_Jk+Fi6yEz{^Ky*FQAhJAY?FH$66AGPO57psmNlBN;G#yfm&XB^ZSY zwLaQ+=vKOpaq}h6fqPDz7k~uHSO0=hCtlV9FGsSf1zALK)$)-RS*`RF40u!P#_AEH z(TlPZKiKkC;bsb@EX7UjLphHg*N=4(w;2pYt`^&pfmSD81K}t~vH_lW)BsrwYxMJw z?$-he73`(;>%-bc>(-C5`?7U4TG9vvudD*NK=~VRf#4i)Ar^3lnczQB{?9BhSewA@e&+oK;gFfJ0mgwa zZvui33<7|${ukGODE$UGp+&LlS4%pdGoc~PlADXMh z>cQu=h&BMpkO9d)rNLV|lu16rKiu9#zXb0S?rV{~R!Jtb1NnH(`_l5$HjUkb4xQ4X zs7_5$=_T*L-RadmISl=g^wSE!Ve~AEnJSyu{#DFx3ma*+$91v!LNA*utjxHH1dI*J89)D7Zk1B;}7q-7r<)7h`?NPaA2}O~; zuPJQnb6&WWbJ;oP=R3?ve|_8K%5>M2@9Er4;CZhZhI4jU@p^iFjS=Nb-}kxIe4E=H zt$nTM*I~nvDW!XDUb$qa$Dy@Buzi?kNsaz?-6=ohw$UI*n0sNKh%ZYxyJf}j(7=9C{0`qBg_s-2#qqLoK7!tZT z1Nx1T%Ot{K*y(qDcAB%s@n5A5p12OS6|9+-lQu@qP|AqRa=a!u4&xlWgEB8jf`UQK z_fYmDNIM{e3s8zqW6@R0jF9(kQi1#~X3dM3*e08|%BwlLfkQlVZ3=aLmvcC`MXsao zQXK_tyUAIdiH;bPhF!OlORnyoG(KDKZkWB$D5vu^?pi$AZc*1Z+VF#Y_O-klPTJ2R za_ft3$Ib0TJ`QnB=rkK=87bKuzrGv{&ot`k0PFD89I1}(@KmHqEtV(Xf+Kn2cJ4)) z5FI$E_E~t@wD|}Y-u^_ktyhpVxF2`BJY7yojhOg;ZKlht2kgp0ucZrK@v|7@RjA-WP%EY*(Eh;U!`*oJV+!-#s}gn+y-P51eFET>v< z;f5)-6NW9u7Y})sxs8(7b6jm|Q+S2b$)VmIhwn8=Di=zWiC5tb_BNbvrisjF6$ynDGB|H>1VM^|6S%ujBsvlzv%GV>YbR^H4^{+gMFcdvCZQ%dQ3 zGBa4zt{D@pbvoldduQ>ciVV)_bi9vT*IGa7Y&3fx;x^aPR(kOEgtcqZsZhjLFloZw zU~!_$wNO7oKVJelx+zfgZg^e2o*1z~e|(G#y>p|C8=xqwdx4Jc+TzT@Y4>jb+y9uk z)5c|_k$=)kIY|vZbj8l`{@1S6aO;iI5UyK$id?O*j(f>zlpFq-w41VzR?9=CgbMov z=|kgpT<{v<`g0GGDunOaAl_9^YETaDDoldj%|RSM_L<`G9&2!0vUso$nhxc+LuWU; zl<)UHUr57+`x?H)=Es{;@guHX@APc*KZG*1cKe=3-6-btdD$yiK6h}hXN)QIo*mzM zw%|Q^w&>i0Byf&BBlf2)G4UO|GZ58<5pap!A7RAh8_pv*v83$^*sZ-i+y5CETE84> z#!mPng!pyWLnd;Bkr9F{O`4bxDom1>fNan2=N%|wh_NxE$Y4Dlrm};P%!@y)X97+& z?#0ti>{D7)a_F2SQBnGJ?PW0px<{>xwy{bLLIp^+MN2y=FnQt=N8QrxO#>=YQF@%QEo(lewadeW9V_yO=86~H*aPi{4oX|ic! z+g#NmN3G|(`MJkqN^av=X3Cg1nRVgdXknN5UER^L)b02YIEj-QsUd%dgdprpl+#Q` z;e?mwGk1-SShTYC>58I0G^6JcJqM4r+US##Q83YZwLdqq8rZ$o()*rDW&Yk3>B_-p zr{A2sFJ|wb=vJ((3rgT#bM9|{-)iE?=Z;lco{e0I!%MJY`R<34n z0@G+M!)qs?EbPk^WidrLoWWYKd=g zlPA@X#zU5A;e7Qo$kvxf=QK3G*TKQJfU&17S&*#pXw}AU9Gq)k>rMzjPcw8uH)RqR zE#+rl@Q;<>Uz}+)65^o;u74v85f#jPbeY)0!*yBFS9ob!yS{({CKJLB%f$Dxa7O4q zovnB|7BX0d-xdl$+e&V??XYn3Xu)S71Rp#gu4h!wicyC<0xRg}T zhOAHav(skEqNBOmc5himYw@}{ELyk~+>-qG9*c_)f3TwAaYjMdX0Jb#)V->Y=(B9~ z(MxcI4~DwAzq%sXQ~5{#B05DiY4;+8nK-qo^+j*XC$OIB#$c{aWu6Jx(;a|Y5VLJ?4R~nnd4j?=MhP~vza1?2pac_>Rk=8dZ*Qn`0k}nxZ*3Sc$GFUPU=D0J@fco0Eak|3 ztfh~1|1pu%=qhew&p7Yv@b?sk*RY=dOKP&6?O#&=6fU)MMfORu=-*h-yP{k~{pu6g z+K2>OOSfX1lWS$au-lOZeXy}}R(LtwaO<(+`}6jC<&#D3Hh@1&e0;y47ERowdRYFl8-h`DLvUSEj)GY zJuO+bMJ&jYe->CdC$*= z?2Z%+kY^E=lp2%cG3ob_Th5YGZ_#FVeAUtTs*~!KY=+C3gFVS4+i}#(T{p|!hr{3m zUw{4!7=sp6ctNX7raSX~k)qZ%#nbXu576I5LAqKzax{#P=ND$O9h2iFc?fA*END{g z*5bpYY;PcIXMHMI;!@IN&tOUSmKkT4i%*ZYow}r&bxkeRR8m^|%7{DtW2`# z$@kM;6V+mxZx|Qh)eiS*S>ClZ@NC?q+5#wUSB#jdFU9e9Y{Q<jbTo|a-D}uJ5jpauZ57`H8gX_o1^Ro& zxoX7O$dMBb??E*e0i~7zjpz7sUPkx#HkCrb zECb+bTp;Xjvd!LKNnTkea>vez3z-Dxru4$j6etq{0SPlR^rOs8!|hVEE{`r% zOyHf%F#ti$3prx#GpPEtPjmwb*zgZKheA_0;y0{<)I>9Q#xr1RNdA-Ntx=4(v<37G+bNF)%}4KLfB zr8N4B5X8}f(h?P8mGV9cQ7}UJC%uT?6v`m1jXngih~71EApCM$vJ;gEke(StNRG#e zxFQEYZE2Csg_)}mm_QC%+8jk_4alB#2o#XRi(nSt^E`Dr+bt zCnK2KV5qay-k&|RpB~Wo7)=9vF2&0QLjl1~bR#Ou_i<#1Bt%q{dz|b?yO4_jfm!5o zMmbq4{2@s)T^k4ji`~$k4K0!<- z$Gt@ptQSJ0F7X;uAPk5QgqsEU0yE!pp!9p)s3j6q>U4{hIV#4}5?c@y7gI2&C6YRG zFk_(B&mJfw_1EDX(1%LWOc*2}j5L43;w-Kinn`k_uC!6W-SD49v!DqE)N)U-giCbg zE)2#e1V$DDwR1iHM{0T>{T1vQlWw+k{1wey*T5x$g&vg%k)5E~%?|5-@{tk-Gaz%K z)6xVNdvAav42YJ|??m+HRmNa$4#tc`^dE?U<b0kg zeYOlAvaYASz~L7}m(EDWxN4P=f1vY>dmgy;XR=DQ38p%Z&u2@WNDWw(A5fWj|C?AKaVr zy12a!y1n^xXUj{SNH-^8C(ajE8OfQ9sWDO1Y*Vi!+&ml8_MV0=ZH6t;^OIuf8fmJV zr0JSP=Gx8?K#8dxQb=!VI~PJ!W%r%_Eo^DCbLkTB1XF2T)rxQ5r!N7R&fz`ux4)N5 z!&hx$RQY1bn+X1(Isay(pp@Pj&zVZAJCf5MQe`ARdYaMzRfVtPORUrNnrP+~XRe=W z?vu+H(uqoibtrA#cWT@F?2eQ^&-{R4>?*VxIrzzRUQS?l-G|Ut9EQ8Zc zLUFxb&N6Oq0M~w|cci9YJ+Jh{ zZ;h|>B{ov-ceeMwa6a|b!coerS-2`qx@-yd29n$pv|M`%^Jz#^0QY_YD%Ge^1g$^{ zJ0$RW*v zczTvP|3$m7%UrgR;k{*XY`!N47{jbyXWQ|ufkQP(rrtXX2!$d?Ko<9Fsok-HYIBfw zatEvf<{s0q@tgMc0ES+S6toaS9eN?+IKj`AmRDyWrOa5nyJ!{>X2*WgFq3;A(9{q! z2owy`H2Y3XF%1H=JdFpYFcZWHg0y?bV01%2-qL>PnQ@(;LM(x1CWkjmz!J_vy))di zh!f*TDFkT?ps+?*d6)`%iDrXpx+}TmRj@NOo|q!cpBT?Ay%CJvc&N3(W+wD9glU2- zb&gM`Km}Zc+ef(OVI~J*(ufl$zz|GuGq4m4QY^dF@)rupzyk!`zsdmG!~Pd`VfGqRVoHBV*uSg~ms&We;9n!S}j z4j$L#J9|j&>p8Js2+uBtGwH{s71mdBs0pcI#|1u_;}xlns60q;Ee^z-lqch-D^m6-V(I?f}SR3_r;k* z-rG(&OxdGn#|obWoummV$Nzwe3FpG6(TYUS88}Gn$mS@-9)%H9rx95vDyBfrz3fZN z0VTaCs+z(^Z*ZaFh7fASTI~*^g3jcFpu33APmt7Rhke~@s_ z)5!20xPMkiR?_kQ%Zjf*KdpFB`WM7QF~Ewi{|_q$_4k4Y_8<;JYZGoPyhz+f$F5hf z29_*3^#eO@z}mVd*Dq0Y$5-B1H*4hBBo4mCn{j1f z@z?@eSjg$Wxo=@sN(EXe8g=(08d_r=yC{8NGfi2FN8zcyVK|0}uMEeY%3X$<>u~K2 z&-kvMHtva#C`vFw{aQJu{04vi)t%h_Wd|r;X$-{)<9$38-uOTUiW$*FqSht64oBD_ zU^L#M04G?W@5i)~zZgwRE^1=!DRR_utYCq^L_WCs8-{b8F;>!i{m+wMf$+H@*RAEO zD_-2R3-t`Jh?X1#^YQ9^w>PlHlcr&;h?WvJvJsBB!nGP>@s=cGA?lx~HDWZhRjBo~ zrv{&><^JmbpblUq6`cHqS`!l2Gn>Y9mx*Sni2)JDii2n&S-xGYx}~5>?WYb}6H=fQ zz_G+w03S%xB9;mn#+m^|i)z`AJgOx~-A1<<28Y>?6~?ORw-BSqu2rr`2^mnL!*zsc zi9zMhimK8|yU4=-Z?1}_L%HR3pfwN%aFS8@_LYVb;Dj0uQ6QoKF-V$Ji(yGZH36zF z-^-D(nLZWO1C`)f7Ic6%C}Jg#a7CK?Z3eTXInKb0(th z5G)Fm6PC!4Uyn3lHe4Ewuu7c@mT!xgxldx{66vT;k5)#o8VExGf=8k0-5btNpjoO& zF&LDlz;pFug-GeiE{xhluudR=_G7_AHIOXY&9gaESf&dBOcPd8`<8Kvq15m#Sv#MC zrXNc#C^?+fV4u7qC+R!7Wq$~)0bD;8ZTHDgaXRf{F$%(<3O%k<7;B_XQ{jfg|0aut zV)@?romW-OU#g0L@}0%zd-`!k-ZtE2wEYTH z)tivBx5c0izEWOUsrG`^zLGk9V`)8c$K_UctoI2l!#$c5nm zEwET&QctD3*zP<6!Ndlr@ZzqluM!3j{6-{-`qBPmSdw2&cM0I1$bZ6#DDD!MC=Z;3 z8@ZQCD8|96FnVIj;#RrgL`pm0b1g*VsC7@}B#I5TCJz(h z$E9uVi713olg39BL`egYRTM|EP`;5=Q%Im1(*{tTOc}$K{_H`({HF5LFehA0X}}#L zq>l3sSe-u=peArGRnLs#l}DwltqG(uq0gt}K>uv1b)9{q4^RTvRvDK}Do|#mP*#>0 z_;1t#=>J9~fDa+XpRXqS38(Up1=`gB3*x?@eOfTl7M}1#aJL+>RqTP3=%J=KkTKsD zP6c7S@lBL4`Qo|0 zl~0PK6osRt9toh`rs&ouWj+<2CYStQ!PkdsavKO+r|y#CdCtXl1Tk+hh~cUP%hrQTf- zd31pX!xYltT!PlZAyRPSr(ji4OTY%rhD1@dJ2fvtA8i^- zVr@;g;Ho(o9TA0n(6aJDSru+f3gqJJS#}bN_6!g(0X9Cr zv=SBd5z}kxG0y0?6QTvdd?NXL6nS3`i)Uh~3h`{Kii5HLgK;h87Z&;yK8_P&kHJ5PP5L!o?~x?Mv0iVi-G2 zO*P%Bf~EMWGz12qltcxfR8D~pG}ewQj&?%=+7v}zYD3fD9-Rb7f+HoDeT^|R2($n| ziPLSCCWeq(q-PHlO@iZL{*)leu6d-nJ*aQ$4|M0Lr4NcH@wT0cx;+JTxj?Ufkn+i{ zJVa-TBzTgRN;`-lVv3!JW=fo$$nTU`JCU@Mc)NZ$C@GE%2!d^=yzq!Pgnow%?1yMv(R;bP9+h zLrz7FS+Vy=?{ZAh+8a2)tV!b|IM;E)Z6L~6I}i9QJ2b#XMN^P8v36%Awvy>zLQ^8g zq&Z%_vI)@TZvPHTR3fYqhw@iguGHO<%On~qAAd%PL?u+S@1+i<0xwL#O5kZJWf4?X z0`;&|*}xJUnZ+I!c|l*rYt)c`8U25K=635f!>ScVk>S(x4>FWrH&=oVP5&n@(9ek& zgF{lBXdDid65GPmxpNA(^*PR)BhCpPGB2YBc)>499-%pKm=nU&L2F9X#v)EN`|KcZ z`P8hdr*!cCdBKi(n-cj?Br3 zht~2MT+}~nLdMl$W@Z;DSNokxfw;DN^#X2wdFmchN`M=Ev%WeBV=Mcb8&6~v^W=Lt z0>#S-mK6kkSm{ z%b*m&E>Kg0f;cyA>tTFAOJRIJ8N23p5uycNx0U)auOa*K5q)!50v-c_uR|%|*JIxZ zam$K%b`Z8q!}#lEDh~o@x(#18;rU}qXTumwk$k%|8cZjN-u)f};W$KJfv+Lw7{ea{ zQQp^?dD_5JqT69G*T*-oza7I6tZdg~%dX?6!@a&Oriy}cM7xF@*YG@``6RaN zr~E020XH8YTj{9kg8@byi92ZUzqNSzKL*D9Tgl9$FksM2GKXX83LuzY__YVh0X62c z3)kiCgZJ$hlKy9Da9U1%%DINbwgZ&L4nm=`!E}U@+@8zoAO?x(0Gx^GR z_^t|9)Y_~L0R|Wt1>?8U7Yn#;h6e}59Dx8n@FM?jz4?80adTQk%Ww2_Pm9;c>6QkYx``~K%p(tpwKBRS^g?cX}EGlEBY5xi$JC_mh^+)9XNBIY-yb0{~3XCrr`bFyG~ho|MLLKl5n;_E16u%cpeQ zXj$0~0zhNRIpVt*(BFi@xAoSH{r<7d;<{{(_o6(MdHa6`vr%%8&JB-00;?FZc3H3^~Wp%mc+U*&${hhHmqV%DFWNv@I4_bAoM_Rp!`mIY-Id zTkN9LoMFySDR91X`ykEo!0XzIHl`f;6TE$vE)goQOM}f;>}) z_zG*6)^^I$GyC zoQ}P6?68V%D!ANr{Cse|Mv)xF-h_e7n%Avyg`*Rr!>Uqlc{=scmkDAL|{y$E1_`EvVK)X5sf<;H4wEAs_n*5 ziSG^ORhERg?{uh8J|ZDHm!=>knh>TwPE|!7lpB{LhiC}0RTZZ7*EGo1+!^n9`k6U{ z?(xGMo@NtX17o(A&zEm4&tMkfASZQLurgDAQWGf5W`X4A_#x61^GbgDIG~aiTZ;kP z?}yzlC}`JCbr4cCh98yO?#-ekC#o2uApZ`AY zrb>!1@cli9-zxhB3HmGGFwI4~gq>i7={ zqEYB5F$E>18X4l8;&P~{9J^e5EdMZUno6WF3PdI>f51x^z~Ocp%A*j8LlLJg_~x}O zaT+R!734y61P>W9Du)`&pWPL-tK6-Mj0-+$>vdX_C7?GJ?cwQm8;v!9jR7)B0N$a( ziryMXq)Ch+dkRvYF}kb_e5G{=5{ zf+n#z*6Z30UD6D(?m5%ab1|T~D24!NE;4yQu^{Xh=#EOF4El_3EZsKbz8sVPfu!6nH}e4(=4> zZ%T4I6c0pfY9n1g0C$Nx=eADbS#G0(Tx(ti*!wVkH8gJ>GQoedKubyhII}PEZ)Y5k zA#>5I9dm0jlHo=ramG!V8y$K*NGQmyDarXOTwbtR_UwMNip0xi!2AeOCGsD$kStL) zToy@c<8p$%7ATD4c3es4W%ge3vdMDQa0|iN@083_^8z~WG&xqdU5slKWZ1H&au+32 zY6{pWCixaTrT8TG2zW)(lG&_6O6}~!>hl=$$6xy$Qb|8IBN%p0nz9TdAQ_DgjP~5{ z8z-Xj-@or-f-seE<#m+552QqB=7MP5ff9H&*;rvxR0PLXIjJQ`H(|{x( zCo0CIfu8q6V3OkNi1{|A!`>a4Bla-ma7nyktTOK2d`zBQe@E`JfLy)?59|sE{Ow-^ z+_&oX5{aOB{vklN55b9wIbzR}=?Nk#FGErkY&sk_mp&^@P()B9B_=569CW{HrxY(4 z+K{U*C?~G39WUbdBry>`*Q(N{;UE=fioREGM>uSbf14GM5#EAn=*nOiO>#SC`WLCv zTLiz1fD9^3aLxrmxl9$ay$uB`f}(AjaD$Y;4OxNxj!#lt@lo|nC62BQ?xRH{|tYJgJ9yY&`n2Qf^8W*?l%Xs&0^C&0$ z6)HX7Qv8K3tt&P*qLwV}Vr`NfmgwB!tvzLYW(J5kIhXqtpB@)b*II?kgw4|^@uX(o ze>c;d)w#%`iu|S_pGn~>(2WK=#%gINe=OI^g<0^yVG1qkqqHufxC&Y_Eizdkcl;|+ zGP4`|3wi+iLomA(`E+$ACq%*%kAdk7geyz)*9zm9&zZtJ%y6$YNu9G31b>Z?)X}eW z6SDFl14opPbtW3ep{%5I69F(pAA&`tOk1lnMaA; zE6S#5YNG%+M15{-Sv6gF#uKR6>IH-1M0#<~=JB;O@kFx7>PFi_)x(|D632-sjdjD* zF>8Kr2GplLJw$NFB9hF(S$v zOn*_p-5hZS7m+xDtIr*gF?ARiuhyl30FP!aL9RJQBn}t`uTzF)NT_>A6>XdWAQ>S- z_Qg+`syhxqpp{(5L8%*k-^rzkD3IU*L(^zRq^YH+QQ{g2Jf~s0>Z>M6$N4v*0`3eq z<%c%nacv-PlQ`?Uq=!F5;@cDkDQjrKCTl*c618?t0pfR6+K)p`S2-?7KT=E`ppuZE8# zoBTXKL%n&L?CNyvACjlffOE-#OETbtp%0h=5}~A~V!NGLDzbXjXJJSV3umCz6Q2mwggR-gnM@uXWSb${-XU$^?`&YR;$BMyUd*SMu z3S#H_$l!uZXKTYx)r&;u+L4^J4J;1UnUYjXmYPC;c4_Z8?X?nq(OAOwvLTUUVH^+y zuP7O}v%l+h5H{b-xm=>w?2ezF_iaTw{83V?LOU!tgiTB)#Rx?2PnC}i=d*ha%wJkY z$7rLju@64bpU!w5hvO!XL-WW9CVRHa0H>d8i;7J{fjtl&H*t%Kd?q8sKbyl9JOsx` zSLDv%0E&n^T|@o?g$*9b=>abd0hW0_7e$7Xx=$J<3vQ{z{2~&*CbhplnU@nhMmtkb zpW`Shb=Mf%YcbNUL;8{I;!m@%+`rfxi_2rNthmfSJG+RbDGrykUcwgpb}ay3+bAxv z5e?0S7GzjsTig|o+6-bLJJl7FE04VTAV=^+xxyS=zH+36mtnYiFvBMhTXB79Q0Z3gaY0j3jgaWsQWCMI1-)h`u0UHl#l3z9SoO=-Akk$4i!af)E{5L!Xn7F^*}se} zJmU3;fVs)<;$+I@S{{t5SZeH51AQng#;%3U#T=oF+F3RsUh{*C#-h4-APqsO)j+Y0 z`>u9)Ec&ichwa?BCS{=GY<7&!Q)9>YM}oEeD{JMMX@;<`(@les%th{V*^n=y^Vpi~ zA6e^Px+CilZ09B$$lzlxo5c9W)JJ$g%*(&73~DA&`N%=@%?3uk=vW|5WZcT7vwFTn zRrY1ndYtAGB|pAh4K}C#@ZI0p0E|=k-h$FUAMWSTMkoeG$ZSg+{dxd2Ezt(mo!mq7 zLyN@l1_Y78B_Cm$1TQ#Nx|L>h?6JVs{hqtbmNxF0)?`^rFoEvOm+e<=T2Ug>IV zp!^>XeAIN0MIQq!(6nb~?_Rv}u2CeTP&^X`Zd;;YBZ3_cDPsd*G1SEKA7%|UjJ7*6 z!ehdc4PUGYx-H4v&-M095UM*lXY)q*m!a#1gA`EQP*G@UXE2H9s|7lx;Lq?vVNv}= z1|>|jl812MqM{ia70V> zGLO~)V=ua22#O=oPK?gPG_K{*9zh-|f+)5R9obGn8T+Q*yyF`s-brwT@Zi;1*DKk# z(<}}jC1PrH$f0!{v9g#4&9dp!_$Zh~jjdh>+dlb;!)7*je|5HpgM<7&ZPfzZq}_FTKMlQZl5h5*kpD zs0Kso$KbI&fxhBYqpilB3$)C>OmbVrFq~IQw%u9BdYn^_lK=-mVLAy*fD&?kOg$NV z+`ZvyHo4N&l8I1JHD7jP+0pcZG8TC4apOOCjD;9dMm-^l2YlU3McQ9$q}QA?p=ef3 zZpkbo`{LzU?!4yo9W@fVuawN7Hwpu0q?#?oVULN1pX}P0Ks}NbcRK7OH3F!)))Cu1 zECNaxD^`t20%M!2V>5|_DLSBxF=}Dd+9PaLWmum^R3MQ_%S7>Dh+*Fn`{*2l5lbRh zq}bAg`6*n9+L0UVI83y0AmAV!2^|@MXlHeB*hW`fb#gL|jnky?-DePjNa~kLBqMsb zK)$@)-fGUCVcY3S4~Depod+A08KDVFS_MglnIfWLY2dX~x}Ic88O>36bYxmF@N#+2 zB-M1&whQ?Ac!{lAzOCL@cEudugo?Xgcf{#YyAh}F zY}gAYFb%Y190mOWhREB**v64ZX8uj^^jB2a>~JQzSv8GWrj6t@yxDLU%x{BtN5+qa z<}Tgwu53OV8Q34MQ#WMDl0V8vu^HUCW7o}ZlKC5Twp8@&_Ii?U`I41~%By#5!9nOJ zYA*M^e@r^RrgV~>7J0~4ij{g_WB>OpnJ7rqJO}{<)J6pag!->r(#g!&+L->YBjaB? zoN3D1uCift{!v40-J5@2bq;S8JzG9sEQCXD5{{`C(XygYBseDNggdwI_S0Xl?t?jN z?5nO2_;NP;mS%(72!EuDLAer6q3CchAp4sXa){`O$E!1yFL6c6|%%wFd0L33Zp z9gbkL5dLB4yumZ@eP9u53*;G|WM2HdfpW)ksp@+(OcfNmJCsE8R8@E5J`9pJWl}S3 zC}Ecf=-yZhk})32O~}}BJnSamNgo8#22)y+|b{P>oZWRP_QV!oX!R~z~=6C|k95Y#w4lb)0x$BWvfF_uFMtViB(Js1Q+dqKb)2+4n|a=z9{ zF^WqP$DxSOB?A zl==zf-luFX)MZNT_Pc=Fj>BCAJV<<{#gx^6zkEc(rwpm^c zK*I^$o4(IyO}bs$eu$F&r&ZZ+*E=hxwtOGAq2!{?a1f!AYe1f1f!s$xXA1IEy7i=3 zwWPVA=sP4%efW+?!r*iP_d#Vn7czwYqJHqRxOUki23ldwjPAvh4X3p~B!-ehn)f}h z3?h_fbIX^3ni4T2S7l$XL0XncpqKsax)jQ7sDeBa1P-w1)(TFEWRt9k@?oOmV!#v} zoe*+~UO^*SKdkiA73IW1c)D{y?P~}j-6+P7(w7sWv(QHAgr(|^7QLr)3+(!2>#Kx~ zT7{IFp^4JaZMuK>>C~uB6H5+TQ>+Pzx)hBs;tU1D7BUi{+~M@Q6F$^_twp| z9#XHbUt9FDDkRWa=1l2$6*@D|w%xxe#^gWc`P*Hd`_kOBxQMn~s_fFpV=4T?_qJ_) z#(7H1X%$;v$YmfgXI0zQPdjb!cx)wq#*Ak#fW03bmbLx)1UcFp*|gqNy2W>`M{g*}$?)i`cYnmW@KLnpe=IJH9t7v+-FhqU zBqz4FP|eRTlK&DrzcDXS{DC1a5hJzx(_`=PT=y6$s-RaU^LZ~-K3RfNwhqgjybc+8 zub4p={D~)H${|wCAp;Moby{#pBc*0&+XihtU zfsG9t#cVWseL2=qd${60_aH6!Y86QFHJgoAJ+m_wXW&DB;%r`=9rKDnE37n=Egv!} zzs^ELM#v7YhjC~pHPT(f6_&D{jFOf$d^2CroYzeH^DW|N1aaGpMW~TM%-w+Mf3J=zHJuk>&iztlTww-#K^Iz31$6*37N+mb4bA^WuU`cxMxd^3Yci6?!l0!eAMl zM8@97%{GsUd&TudHWvuff;L=Vc+M!P5uWX#)DmpMDSM5@BImUOTAptAyLG6PzBXNB zAHP)eI%{Hm*IA~Ny-ih$&zjuCOpBSgM7Bb>BTU`4j_RJ%erEk(#+?)c(CZ9-B9PM2 zro#2Z;`egte6zhy>T~)UtJ7i@M$(ou;$cTIt!>Z)*{>C1$aIpQmscYPb z?CaOL3i2)Y28&ncZ5GvDf9w-;be0=oiJVbnkuXfRjx+YkoG%u*51!%?vEU=k#3f<153Sg-**vkvX|OK4JA%e6A$oJrnr%p1xlHXdQaV|aGS zcgznr0QT?!c5$4t>+juR|F!Pd*08AFav(m3kWM#fU#PGvv4vmEGuopg98+?;P@2$N zg)F46Rae6`=Iar$h~wB#_C1}0X-eN*gU0v2cwUl}rccjg8$_l=3w$mKxC_*RpnDh>(5;XIf{NoY5ug9PiibR`9+jwZ{YBnl9Aw z>9MJB?^rq&Fmq7g%H1E=hqBi?BHBa*D(dL0Wh1|4luJgpEUxCQ}XzFVe*BK}r zjUEx6exQ|g8k#eJ!B&9b%%=?hX|j%otDEPqr<$Em?h-1>aKopub$hm5>?yGw15ypd z?>KzRl-(D>>%={wj4C+}(1b}@fAB$jtq)&jQ@O4m}i?~KC^pk=~F$ttBPCAMaG|W{;e5nd$vM% zv)5D%lfdL9x)f`7X6Q@Pdi9_-3hoUi;H^@RANn%xk8O38Ry+s##K+c`)H4huoo7vr zbG3CVg`3=IIV-fjuLXwV&~s5`I4tr6Tpzu{vukm11t%6D`MRis>|iI2>i|!sCG{J6qX$09l!z(OtLEq|2-wI&ourl6|QpW@b{ z8Vv50(Ek7%&h&p78F+xb;%bo(hM-in9p97OgXkyTt}n_}TQRHTd!tr}DF0Dg*dXJh z-B~_w!!LwYXPmeuUX{Npk#V;wu1`4efNK20wuhQd=CiZVi%)t6c{J5nvizGfwI9mF zCuD;yq*7vvp#nCU)Z0SCO5ArfFX_he^Dwqheb>dxKbmkj#sF{N+VSpunS0VkdHYc4 zy|`+bW${XwAokjlENn{tzSVQyKII!mlg^wbE61*W*D`aqCdRhMeDfDYu%ys(I0~C{ zs3q%l@8o*S+F_;Dirc}ti{yO^!;3Tzzq>nmuyDZcmsW7OB6)%0U>p>&9dg*il^8#2v4uT z(auKj@d>!%e3TVZHo4e93RV7{X)Ew4m6rIDvi|Qw`?TQ){>dnuTeo`HI9Unsjgd!yfIzX!Cm4t7~V3MBmn*``AqF>1dJ1 zLh4{~U7|}ae2niT4|hU!dd13b8-X{FfIwlKAkbN0#R4|&{#gwpoo&r_regfZ?BHI#E7(blKQ0t%h5MDw22$+4rx zter{EUb%opm;4X;=5PD9=>jN3sflcTukBVecDhue-DFE|tujh`ftIRkT4z9xgm%;& z`F{;r-K}-1xj9886dNMh79p8#LU~q>jS&&*FjMRPgMFs{NRp}hs%qiSB=Ma;iO=1!0hfTVx-;0}AE;SChLSOSiWWv#EZ^XjX zHWik>=0q;+_FnREGKn#O^mAhFHpL#L)Oqj~rE=6B)i-AI0wJbc!Su%^&Reo&@{Wb) zBIyllJJ{R)O2p7#?-7uKqxHyBV8aKWaIaR8^UYt$h*B9HG^`*zg(}!fhYlS>H8yFn zBD&e?X#q#Pdl`+wY&v^f3o2F7v~Xt)&pzJqTf?$*A&{3S?3}9qJ#0m_L_%*UHkOK* z{2IIbBqXfUf{-sIghY&*%fEg)5_Fe%m(p%a!bg#4oOD!<0oV#P+TZqpLN==wD$wf9s#7qoe~r3w69}{ zS?~PUW+|Hvo0AvOkJ)Q4!7t=!dypx%g5RYMCa+A5?j5%&$8rpKpUmt&bk_0y>v$V} z5Y$MP+wh}3EJUFt_g(4PXwhm!k}fwch?j<+KXmR~?N(Y#c(43Wc#@Z4+0q$wua>VJ zUsz>ox$Cs;fe*&%aTE4>GPqHy1o95geLd z?%IxC&N2RII8zXaG^29nd>}8zDN@JUHgtYpp`FNe3mPaqBQfR0eU11=u>R zz5eLRI0lwRTjVTF&t~Zt^wV1uo^ZH0_HkCThDNQET2sdGd&JTjald8BT;gDkso5^! zJhrqoira)e>_`}rWLRaU6ng6}G~=6NVc$ixL}oP?iRu&{IAcCH5O1EESbhKPLJCFN z+9Y>YWRGSShJGTl;QoCSTk2K&?Uby#=RNfSBdZ~;0WYytNdw{me%_jEv%ClXlN>E3 z8#|bkIW;}c&gGFvj-a{z$`y`)z|YT%a)K7d7IT90JUd6y&4O$vN-+)JMkX%f{Hh%n z(ed)Qop#*ALxrQ&&bQ`Y+2s6R?)y%CaqS5_oZLTx2g?S}%wn2MzaPaboaB3pHJ?e5 zw=?}n9KjpL?SJ>|TWP&ViJPB2yx&GMeK9SKi0?H?PO=<(p(Kt*2T;Gj-Q*Yr|Hk= z44=Rcs;+ndT#5to$W;GF17`%mdw}Ba82?vjj}JsfQ0dtNm-GWb+Ec(qpyglRW9{nk zD-(?m-<_B^y8^(Sh(RF8DR?l@@-N)d&FxQjeegr+fiDdRM9o8h*Lemo5Wnh#0EM?R zVEdooE(lgSaiH@~pewdhohvZ?1OMCd|C0Q16i}s1mt#agATxau5O6>L9teU`zy<$Z zu=MhCvi()A#2*9v4@&+YjUcdAJq5=5yd*vkex39;&rsn1dHz#G!H44)UVg({5&yvP z$}sp0_=Sky47-p1VK`Nmz{lffjep}K!~VhJ=aBI!@b&j^3Pj8w)i^!@zR>+mU=;gb zfjN)n$1Uuykkv5Wg>R89#md^~ ThriftSimClustersEmbedding} -import com.twitter.storage.client.manhattan.kv.ManhattanKVClientMtlsParams -import com.twitter.storehaus.ReadableStore -import com.twitter.storehaus_internal.manhattan.Apollo -import com.twitter.storehaus_internal.manhattan.ManhattanCluster -import com.twitter.strato.client.{Client => StratoClient} -import com.twitter.strato.thrift.ScroogeConvImplicits._ -import com.twitter.tweetypie.util.UserId -import com.twitter.util.Future -import javax.inject.Inject - -class UserSimClustersEmbeddingStore @Inject() ( - stratoClient: StratoClient, - cacheClient: Client, - globalStats: StatsReceiver, - mhMtlsParams: ManhattanKVClientMtlsParams, - rmsDecider: RepresentationManagerDecider) { - - private val stats = globalStats.scope(this.getClass.getSimpleName) - - private val favBasedProducer20M145KUpdatedEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = ProducerClusterEmbeddingReadableStores - .getProducerTopKSimClustersEmbeddingsStore( - mhMtlsParams - ).mapValues { topSimClustersWithScore => - ThriftSimClustersEmbedding(topSimClustersWithScore.topClusters) - }.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.UserId(userId)) => - userId - } - - buildMemCacheStore(rawStore, FavBasedProducer, Model20m145kUpdated) - } - - private val favBasedProducer20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = ProducerClusterEmbeddingReadableStores - .getProducerTopKSimClusters2020EmbeddingsStore( - mhMtlsParams - ).mapValues { topSimClustersWithScore => - ThriftSimClustersEmbedding(topSimClustersWithScore.topClusters) - }.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.UserId(userId)) => - userId - } - - buildMemCacheStore(rawStore, FavBasedProducer, Model20m145k2020) - } - - private val followBasedProducer20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = ProducerClusterEmbeddingReadableStores - .getProducerTopKSimClustersEmbeddingsByFollowStore( - mhMtlsParams - ).mapValues { topSimClustersWithScore => - ThriftSimClustersEmbedding(topSimClustersWithScore.topClusters) - }.composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(_, _, InternalId.UserId(userId)) => - userId - } - - buildMemCacheStore(rawStore, FollowBasedProducer, Model20m145k2020) - } - - private val logFavBasedApe20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = StratoFetchableStore - .withUnitView[SimClustersEmbeddingId, ThriftSimClustersEmbedding]( - stratoClient, - "recommendations/simclusters_v2/embeddings/logFavBasedAPE20M145K2020") - .mapValues(embedding => SimClustersEmbedding(embedding, truncate = 50).toThrift) - - buildMemCacheStore(rawStore, AggregatableLogFavBasedProducer, Model20m145k2020) - } - - private val rawRelaxedLogFavBasedApe20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - ThriftSimClustersEmbedding - ] = { - StratoFetchableStore - .withUnitView[SimClustersEmbeddingId, ThriftSimClustersEmbedding]( - stratoClient, - "recommendations/simclusters_v2/embeddings/logFavBasedAPERelaxedFavEngagementThreshold20M145K2020") - .mapValues(embedding => SimClustersEmbedding(embedding, truncate = 50).toThrift) - } - - private val relaxedLogFavBasedApe20M145K2020EmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore( - rawRelaxedLogFavBasedApe20M145K2020EmbeddingStore, - RelaxedAggregatableLogFavBasedProducer, - Model20m145k2020) - } - - private val relaxedLogFavBasedApe20m145kUpdatedEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = rawRelaxedLogFavBasedApe20M145K2020EmbeddingStore - .composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId( - RelaxedAggregatableLogFavBasedProducer, - Model20m145kUpdated, - internalId) => - SimClustersEmbeddingId( - RelaxedAggregatableLogFavBasedProducer, - Model20m145k2020, - internalId) - } - - buildMemCacheStore(rawStore, RelaxedAggregatableLogFavBasedProducer, Model20m145kUpdated) - } - - private val logFavBasedInterestedInFromAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultIIAPESimClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedInFromAPE, - Model20m145k2020) - } - - private val followBasedInterestedInFromAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultIIAPESimClustersEmbeddingStoreWithMtls, - FollowBasedUserInterestedInFromAPE, - Model20m145k2020) - } - - private val favBasedUserInterestedIn20M145KUpdatedStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultSimClustersEmbeddingStoreWithMtls, - FavBasedUserInterestedIn, - Model20m145kUpdated) - } - - private val favBasedUserInterestedIn20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultSimClustersEmbeddingStoreWithMtls, - FavBasedUserInterestedIn, - Model20m145k2020) - } - - private val followBasedUserInterestedIn20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultSimClustersEmbeddingStoreWithMtls, - FollowBasedUserInterestedIn, - Model20m145k2020) - } - - private val logFavBasedUserInterestedIn20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultSimClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedIn, - Model20m145k2020) - } - - private val favBasedUserInterestedInFromPE20M145KUpdatedStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultIIPESimClustersEmbeddingStoreWithMtls, - FavBasedUserInterestedInFromPE, - Model20m145kUpdated) - } - - private val twistlyUserInterestedInStore: ReadableStore[ - SimClustersEmbeddingId, - ThriftSimClustersEmbedding - ] = { - val interestedIn20M145KUpdatedStore = { - UserInterestedInReadableStore.defaultStoreWithMtls( - mhMtlsParams, - modelVersion = ModelVersions.Model20M145KUpdated - ) - } - val interestedIn20M145K2020Store = { - UserInterestedInReadableStore.defaultStoreWithMtls( - mhMtlsParams, - modelVersion = ModelVersions.Model20M145K2020 - ) - } - val interestedInFromPE20M145KUpdatedStore = { - UserInterestedInReadableStore.defaultIIPEStoreWithMtls( - mhMtlsParams, - modelVersion = ModelVersions.Model20M145KUpdated) - } - val simClustersInterestedInStore: ReadableStore[ - (UserId, ModelVersion), - ClustersUserIsInterestedIn - ] = { - new ReadableStore[(UserId, ModelVersion), ClustersUserIsInterestedIn] { - override def get(k: (UserId, ModelVersion)): Future[Option[ClustersUserIsInterestedIn]] = { - k match { - case (userId, Model20m145kUpdated) => - interestedIn20M145KUpdatedStore.get(userId) - case (userId, Model20m145k2020) => - interestedIn20M145K2020Store.get(userId) - case _ => - Future.None - } - } - } - } - val simClustersInterestedInFromProducerEmbeddingsStore: ReadableStore[ - (UserId, ModelVersion), - ClustersUserIsInterestedIn - ] = { - new ReadableStore[(UserId, ModelVersion), ClustersUserIsInterestedIn] { - override def get(k: (UserId, ModelVersion)): Future[Option[ClustersUserIsInterestedIn]] = { - k match { - case (userId, ModelVersion.Model20m145kUpdated) => - interestedInFromPE20M145KUpdatedStore.get(userId) - case _ => - Future.None - } - } - } - } - new twistly.interestedin.EmbeddingStore( - interestedInStore = simClustersInterestedInStore, - interestedInFromProducerEmbeddingStore = simClustersInterestedInFromProducerEmbeddingsStore, - statsReceiver = stats - ).mapValues(_.toThrift) - } - - private val userNextInterestedIn20m145k2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildUserInterestedInStore( - UserInterestedInReadableStore.defaultNextInterestedInStoreWithMtls, - UserNextInterestedIn, - Model20m145k2020) - } - - private val filteredUserInterestedIn20m145kUpdatedStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore(twistlyUserInterestedInStore, FilteredUserInterestedIn, Model20m145kUpdated) - } - - private val filteredUserInterestedIn20m145k2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore(twistlyUserInterestedInStore, FilteredUserInterestedIn, Model20m145k2020) - } - - private val filteredUserInterestedInFromPE20m145kUpdatedStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore( - twistlyUserInterestedInStore, - FilteredUserInterestedInFromPE, - Model20m145kUpdated) - } - - private val unfilteredUserInterestedIn20m145kUpdatedStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore( - twistlyUserInterestedInStore, - UnfilteredUserInterestedIn, - Model20m145kUpdated) - } - - private val unfilteredUserInterestedIn20m145k2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - buildMemCacheStore(twistlyUserInterestedInStore, UnfilteredUserInterestedIn, Model20m145k2020) - } - - // [Experimental] User InterestedIn, generated by aggregating IIAPE embedding from AddressBook - - private val logFavBasedInterestedMaxpoolingAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_maxpooling" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - private val logFavBasedInterestedAverageAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_average" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedAverageAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - private val logFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_booktype_maxpooling" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - private val logFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_largestdim_maxpooling" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - private val logFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_louvain_maxpooling" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - private val logFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE20M145K2020Store: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val datasetName = "addressbook_sims_embedding_iiape_connected_maxpooling" - val appId = "wtf_embedding_apollo" - buildUserInterestedInStoreGeneric( - simClustersEmbeddingStoreWithMtls, - LogFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020, - datasetName = datasetName, - appId = appId, - manhattanCluster = Apollo - ) - } - - /** - * Helper func to build a readable store for some UserInterestedIn embeddings with - * 1. A storeFunc from UserInterestedInReadableStore - * 2. EmbeddingType - * 3. ModelVersion - * 4. MemCacheConfig - * */ - private def buildUserInterestedInStore( - storeFunc: (ManhattanKVClientMtlsParams, EmbeddingType, ModelVersion) => ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ], - embeddingType: EmbeddingType, - modelVersion: ModelVersion - ): ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = storeFunc(mhMtlsParams, embeddingType, modelVersion) - .mapValues(_.toThrift) - val observedStore = ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - observedStore, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private def buildUserInterestedInStoreGeneric( - storeFunc: (ManhattanKVClientMtlsParams, EmbeddingType, ModelVersion, String, String, - ManhattanCluster) => ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ], - embeddingType: EmbeddingType, - modelVersion: ModelVersion, - datasetName: String, - appId: String, - manhattanCluster: ManhattanCluster - ): ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - val rawStore = - storeFunc(mhMtlsParams, embeddingType, modelVersion, datasetName, appId, manhattanCluster) - .mapValues(_.toThrift) - val observedStore = ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - observedStore, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private def simClustersEmbeddingStoreWithMtls( - mhMtlsParams: ManhattanKVClientMtlsParams, - embeddingType: EmbeddingType, - modelVersion: ModelVersion, - datasetName: String, - appId: String, - manhattanCluster: ManhattanCluster - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - - if (!modelVersionToDatasetMap.contains(ModelVersions.toKnownForModelVersion(modelVersion))) { - throw new IllegalArgumentException( - "Unknown model version: " + modelVersion + ". Known model versions: " + knownModelVersions) - } - getStore(appId, mhMtlsParams, datasetName, manhattanCluster) - .composeKeyMapping[SimClustersEmbeddingId] { - case SimClustersEmbeddingId(theEmbeddingType, theModelVersion, InternalId.UserId(userId)) - if theEmbeddingType == embeddingType && theModelVersion == modelVersion => - userId - }.mapValues(toSimClustersEmbedding(_, embeddingType)) - } - - private def buildMemCacheStore( - rawStore: ReadableStore[SimClustersEmbeddingId, ThriftSimClustersEmbedding], - embeddingType: EmbeddingType, - modelVersion: ModelVersion - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val observedStore = ObservedReadableStore( - store = rawStore - )(stats.scope(embeddingType.name).scope(modelVersion.name)) - - MemCacheConfig.buildMemCacheStoreForSimClustersEmbedding( - observedStore, - cacheClient, - embeddingType, - modelVersion, - stats - ) - } - - private val underlyingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = Map( - // KnownFor Embeddings - (FavBasedProducer, Model20m145kUpdated) -> favBasedProducer20M145KUpdatedEmbeddingStore, - (FavBasedProducer, Model20m145k2020) -> favBasedProducer20M145K2020EmbeddingStore, - (FollowBasedProducer, Model20m145k2020) -> followBasedProducer20M145K2020EmbeddingStore, - (AggregatableLogFavBasedProducer, Model20m145k2020) -> logFavBasedApe20M145K2020EmbeddingStore, - ( - RelaxedAggregatableLogFavBasedProducer, - Model20m145kUpdated) -> relaxedLogFavBasedApe20m145kUpdatedEmbeddingStore, - ( - RelaxedAggregatableLogFavBasedProducer, - Model20m145k2020) -> relaxedLogFavBasedApe20M145K2020EmbeddingStore, - // InterestedIn Embeddings - ( - LogFavBasedUserInterestedInFromAPE, - Model20m145k2020) -> logFavBasedInterestedInFromAPE20M145K2020Store, - ( - FollowBasedUserInterestedInFromAPE, - Model20m145k2020) -> followBasedInterestedInFromAPE20M145K2020Store, - (FavBasedUserInterestedIn, Model20m145kUpdated) -> favBasedUserInterestedIn20M145KUpdatedStore, - (FavBasedUserInterestedIn, Model20m145k2020) -> favBasedUserInterestedIn20M145K2020Store, - (FollowBasedUserInterestedIn, Model20m145k2020) -> followBasedUserInterestedIn20M145K2020Store, - (LogFavBasedUserInterestedIn, Model20m145k2020) -> logFavBasedUserInterestedIn20M145K2020Store, - ( - FavBasedUserInterestedInFromPE, - Model20m145kUpdated) -> favBasedUserInterestedInFromPE20M145KUpdatedStore, - (FilteredUserInterestedIn, Model20m145kUpdated) -> filteredUserInterestedIn20m145kUpdatedStore, - (FilteredUserInterestedIn, Model20m145k2020) -> filteredUserInterestedIn20m145k2020Store, - ( - FilteredUserInterestedInFromPE, - Model20m145kUpdated) -> filteredUserInterestedInFromPE20m145kUpdatedStore, - ( - UnfilteredUserInterestedIn, - Model20m145kUpdated) -> unfilteredUserInterestedIn20m145kUpdatedStore, - (UnfilteredUserInterestedIn, Model20m145k2020) -> unfilteredUserInterestedIn20m145k2020Store, - (UserNextInterestedIn, Model20m145k2020) -> userNextInterestedIn20m145k2020Store, - ( - LogFavBasedUserInterestedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedInterestedMaxpoolingAddressBookFromIIAPE20M145K2020Store, - ( - LogFavBasedUserInterestedAverageAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedInterestedAverageAddressBookFromIIAPE20M145K2020Store, - ( - LogFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE20M145K2020Store, - ( - LogFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE20M145K2020Store, - ( - LogFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE20M145K2020Store, - ( - LogFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020) -> logFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE20M145K2020Store, - ) - - val userSimClustersEmbeddingStore: ReadableStore[ - SimClustersEmbeddingId, - SimClustersEmbedding - ] = { - SimClustersEmbeddingStore.buildWithDecider( - underlyingStores = underlyingStores, - decider = rmsDecider.decider, - statsReceiver = stats - ) - } - -} diff --git a/representation-manager/server/src/main/thrift/BUILD b/representation-manager/server/src/main/thrift/BUILD deleted file mode 100644 index f4edb5dcb..000000000 --- a/representation-manager/server/src/main/thrift/BUILD +++ /dev/null @@ -1,18 +0,0 @@ -create_thrift_libraries( - base_name = "thrift", - sources = [ - "com/twitter/representation_manager/service.thrift", - ], - platform = "java8", - tags = [ - "bazel-compatible", - ], - dependency_roots = [ - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift", - ], - generate_languages = [ - "java", - "scala", - "strato", - ], -) diff --git a/representation-manager/server/src/main/thrift/BUILD.docx b/representation-manager/server/src/main/thrift/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4ad5aa910c7fdd6f6cf04074ee43c51d7c95ae73 GIT binary patch literal 36831 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 XhXLNKz#Ih1Re}tO!0eIH4dMX+%wN+Q literal 0 HcmV?d00001 diff --git a/representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.docx b/representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.docx new file mode 100644 index 0000000000000000000000000000000000000000..de166194997d4d74098bac5ec531975e040c9221 GIT binary patch literal 36904 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�Si^wh^*ni*(9->A8=3mfG|B*Euv%YFY}}RK9|J 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 literal 0 HcmV?d00001 diff --git a/representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.thrift b/representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.thrift deleted file mode 100644 index 4eb36e999..000000000 --- a/representation-manager/server/src/main/thrift/com/twitter/representation_manager/service.thrift +++ /dev/null @@ -1,14 +0,0 @@ -namespace java com.twitter.representation_manager.thriftjava -#@namespace scala com.twitter.representation_manager.thriftscala -#@namespace strato com.twitter.representation_manager - -include "com/twitter/simclusters_v2/online_store.thrift" -include "com/twitter/simclusters_v2/identifier.thrift" - -/** - * A uniform column view for all kinds of SimClusters based embeddings. - **/ -struct SimClustersEmbeddingView { - 1: required identifier.EmbeddingType embeddingType - 2: required online_store.ModelVersion modelVersion -}(persisted = 'false', hasPersonalData = 'false') diff --git a/representation-scorer/BUILD.bazel b/representation-scorer/BUILD.bazel deleted file mode 100644 index 1624a57d4..000000000 --- a/representation-scorer/BUILD.bazel +++ /dev/null @@ -1 +0,0 @@ -# This prevents SQ query from grabbing //:all since it traverses up once to find a BUILD diff --git a/representation-scorer/BUILD.docx b/representation-scorer/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..b090a5bc745d81478bc69ef8fbc5ef44c597a8c8 GIT binary patch literal 36686 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

vBIyF=UJEdDcIKRpz9 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/README.md b/representation-scorer/README.md deleted file mode 100644 index b74e3472f..000000000 --- a/representation-scorer/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Representation Scorer # - -**Representation Scorer** (RSX) serves as a centralized scoring system, offering SimClusters or other embedding-based scoring solutions as machine learning features. - -The Representation Scorer acquires user behavior data from the User Signal Service (USS) and extracts embeddings from the Representation Manager (RMS). It then calculates both pairwise and listwise features. These features are used at various stages, including candidate retrieval and ranking. \ No newline at end of file diff --git a/representation-scorer/bin/canary-check.docx b/representation-scorer/bin/canary-check.docx new file mode 100644 index 0000000000000000000000000000000000000000..c56174979bfc71342622fad1535345859ea71362 GIT binary patch literal 36751 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


H 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 T6_|rSxk`{B5tu#xbc1*Ry&)$h literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/resources/BUILD b/representation-scorer/server/src/main/resources/BUILD deleted file mode 100644 index 150a224ff..000000000 --- a/representation-scorer/server/src/main/resources/BUILD +++ /dev/null @@ -1,9 +0,0 @@ -resources( - sources = [ - "*.xml", - "*.yml", - "com/twitter/slo/slo.json", - "config/*.yml", - ], - tags = ["bazel-compatible"], -) diff --git a/representation-scorer/server/src/main/resources/BUILD.docx b/representation-scorer/server/src/main/resources/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..5a66b86016f7a1941e0faf70a47dde9a43ca4809 GIT binary patch literal 36722 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 PTqVem2+ST|x=", - "threshold": 0.995 - }, - { - "indicator": "latency_3m_p99", - "objective_type": "LatencyObjective", - "operator": "<=", - "threshold": 50 - } - ], - "long_term_objectives": [ - { - "id": "success_rate_28_days", - "objective_type": "SuccessRateObjective", - "operator": ">=", - "threshold": 0.993, - "duration": 28, - "duration_unit": "DAYS" - }, - { - "id": "latency_p99_28_days", - "objective_type": "LatencyObjective", - "operator": "<=", - "threshold": 60, - "duration": 28, - "duration_unit": "DAYS", - "percentile": 0.99 - } - ] - } - ], - "@version": 1 -} diff --git a/representation-scorer/server/src/main/resources/config/decider.docx b/representation-scorer/server/src/main/resources/config/decider.docx new file mode 100644 index 0000000000000000000000000000000000000000..5b7ee2751b18dbb1fdf08b4c1f8f9830e5e24789 GIT binary patch literal 37932 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 av7OPOnGp*xgTBuyK8PbQJxr3mpZyC-IL9~u literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/resources/logback.xml b/representation-scorer/server/src/main/resources/logback.xml deleted file mode 100644 index cf7028151..000000000 --- a/representation-scorer/server/src/main/resources/logback.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - true - - - - - - - - - - - ${log.service.output} - - - ${log.service.output}.%d.gz - - 3GB - - 21 - true - - - %date %.-3level ${DEFAULT_SERVICE_PATTERN}%n - - - - - - ${log.access.output} - - - ${log.access.output}.%d.gz - - 100MB - - 7 - true - - - ${DEFAULT_ACCESS_PATTERN}%n - - - - - - true - ${log.lens.category} - ${log.lens.index} - ${log.lens.tag}/service - - %msg - - - - - - true - ${log.lens.category} - ${log.lens.index} - ${log.lens.tag}/access - - %msg - - - - - - allow_listed_pipeline_executions.log - - - allow_listed_pipeline_executions.log.%d.gz - - 100MB - - 7 - true - - - %date %.-3level ${DEFAULT_SERVICE_PATTERN}%n - - - - - - - - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD deleted file mode 100644 index fdb60da54..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "finagle-internal/slo/src/main/scala/com/twitter/finagle/slo", - "finatra/inject/inject-thrift-client", - "representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns", - "strato/src/main/scala/com/twitter/strato/fed", - "strato/src/main/scala/com/twitter/strato/fed/server", - "twitter-server-internal/src/main/scala", - ], -) diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4a3761281fa8947f88bbc47df5789a2b7944c548 GIT binary patch literal 36858 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/RepresentationScorerFedServer.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/RepresentationScorerFedServer.docx new file mode 100644 index 0000000000000000000000000000000000000000..8a9c4b7f349bb68d92f5719ebcf5d927a8b49ed2 GIT binary patch literal 37088 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 i=nBp_j?tF>X>IJ)fnyK`}B~A-k~^xa9*t7( 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 QK)FhgArY88rgwvQ0F{LASO5S3 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/Info.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/Info.docx new file mode 100644 index 0000000000000000000000000000000000000000..5a3d00bde5938e6c339dcdc742031cc170cf5049 GIT binary patch literal 36888 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 z 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 StratoContactInfo} - -object Info { - val contactInfo: StratoContactInfo = StratoContactInfo( - description = "Please contact Relevance Platform team for more details", - contactEmail = "no-reply@twitter.com", - ldapGroup = "representation-scorer-admins", - jiraProject = "JIRA", - links = Seq("http://go.twitter.biz/rsx-runbook") - ) -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.docx new file mode 100644 index 0000000000000000000000000000000000000000..0f87c9d1ac530428c8af3c5a67734f2041d39519 GIT binary patch literal 38022 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 UR literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.scala deleted file mode 100644 index 04d8b8cb1..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ListScoreColumn.scala +++ /dev/null @@ -1,116 +0,0 @@ -package com.twitter.representationscorer.columns - -import com.twitter.representationscorer.thriftscala.ListScoreId -import com.twitter.representationscorer.thriftscala.ListScoreResponse -import com.twitter.representationscorer.scorestore.ScoreStore -import com.twitter.representationscorer.thriftscala.ScoreResult -import com.twitter.simclusters_v2.common.SimClustersEmbeddingId.LongInternalId -import com.twitter.simclusters_v2.common.SimClustersEmbeddingId.LongSimClustersEmbeddingId -import com.twitter.simclusters_v2.thriftscala.Score -import com.twitter.simclusters_v2.thriftscala.ScoreId -import com.twitter.simclusters_v2.thriftscala.ScoreInternalId -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingPairScoreId -import com.twitter.stitch -import com.twitter.stitch.Stitch -import com.twitter.strato.catalog.OpMetadata -import com.twitter.strato.config.ContactInfo -import com.twitter.strato.config.Policy -import com.twitter.strato.data.Conv -import com.twitter.strato.data.Description.PlainText -import com.twitter.strato.data.Lifecycle -import com.twitter.strato.fed._ -import com.twitter.strato.thrift.ScroogeConv -import com.twitter.util.Future -import com.twitter.util.Return -import com.twitter.util.Throw -import javax.inject.Inject - -class ListScoreColumn @Inject() (scoreStore: ScoreStore) - extends StratoFed.Column("recommendations/representation_scorer/listScore") - with StratoFed.Fetch.Stitch { - - override val policy: Policy = Common.rsxReadPolicy - - override type Key = ListScoreId - override type View = Unit - override type Value = ListScoreResponse - - override val keyConv: Conv[Key] = ScroogeConv.fromStruct[ListScoreId] - override val viewConv: Conv[View] = Conv.ofType - override val valueConv: Conv[Value] = ScroogeConv.fromStruct[ListScoreResponse] - - override val contactInfo: ContactInfo = Info.contactInfo - - override val metadata: OpMetadata = OpMetadata( - lifecycle = Some(Lifecycle.Production), - description = Some( - PlainText( - "Scoring for multiple candidate entities against a single target entity" - )) - ) - - override def fetch(key: Key, view: View): Stitch[Result[Value]] = { - - val target = SimClustersEmbeddingId( - embeddingType = key.targetEmbeddingType, - modelVersion = key.modelVersion, - internalId = key.targetId - ) - val scoreIds = key.candidateIds.map { candidateId => - val candidate = SimClustersEmbeddingId( - embeddingType = key.candidateEmbeddingType, - modelVersion = key.modelVersion, - internalId = candidateId - ) - ScoreId( - algorithm = key.algorithm, - internalId = ScoreInternalId.SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingPairScoreId(target, candidate) - ) - ) - } - - Stitch - .callFuture { - val (keys: Iterable[ScoreId], vals: Iterable[Future[Option[Score]]]) = - scoreStore.uniformScoringStore.multiGet(scoreIds.toSet).unzip - val results: Future[Iterable[Option[Score]]] = Future.collectToTry(vals.toSeq) map { - tryOptVals => - tryOptVals map { - case Return(Some(v)) => Some(v) - case Return(None) => None - case Throw(_) => None - } - } - val scoreMap: Future[Map[Long, Double]] = results.map { scores => - keys - .zip(scores).collect { - case ( - ScoreId( - _, - ScoreInternalId.SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingPairScoreId( - _, - LongSimClustersEmbeddingId(candidateId)))), - Some(score)) => - (candidateId, score.score) - }.toMap - } - scoreMap - } - .map { (scores: Map[Long, Double]) => - val orderedScores = key.candidateIds.collect { - case LongInternalId(id) => ScoreResult(scores.get(id)) - case _ => - // This will return None scores for candidates which don't have Long ids, but that's fine: - // at the moment we're only scoring for Tweets - ScoreResult(None) - } - found(ListScoreResponse(orderedScores)) - } - .handle { - case stitch.NotFound => missing - } - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ScoreColumn.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/ScoreColumn.docx new file mode 100644 index 0000000000000000000000000000000000000000..bc3d6b2c8742e8b7d26f04d41e91548312c5bed9 GIT binary patch literal 37385 zcmagEWmsIvwm*z(a1HM6?hb(jcZZ-s8+RHH?iL(^yKCd_gy3#L0>Rz?otZi3%$$4g z`+nK|bXBdNthKwU_U=;t01bl;0Re#k(VE7qU8!0ap9~2BF$xC(fdy{WlLXkinA^J; zse3w@I~%Zg*x5EFD=4jqp?^Mo#z|onA@i0*!ztT#pmSh~Cy=VnxaQMYWIdLLy1yM4 z2-lca4uxZh&rG}ZC0VHx?(}J*(UX)qHZaK4%BO%X_Q_xS%5q}CyDJ?}F1H}NLp(bG zSJRT|^LB~{l5MA^PrwK>*u zbt^rEs2+pJ0QB!a?7CUp$Fw*P;p$4GuGDnbF|9*>90P2EX=-K;ptH4J?FDm>Rx}wu zwd?A{sQX$S2FVh5-AbZn9(4!O)7Fz4B*CR~w8vKZ1mE`E-qIJwQityKky$EJ*M^7Fnr9!gU9UgrkuE%8e!`nF3M3DX6L^?To)qdx9^gk8qJ zdlOJ~EBn+@wClPO_|;UNDTQ9|IhnWsqbvU7qxS=Hars**k)Ef8;Per7Msf+EKG^7fa45bbf z3PifUjGq+Q17(YrJ3CaQ47723NcK;6OfBX!@(C9ii)@3mOmyY~^A>uvH|WnBKt`(w zDTwU>iGCcCx4?!KH~9SI91O zTCTp#GXOY%jC>P!L~&*74_o($JJBW=Sz~{(!#D>FwKPRDc09fUR5?eiD@nQishG03 z)=b>C2axh7z4CLGgCI#IHA4@oE4Ybv%zi%02BG5VmYsKd%v6*UT3(YDuIoW6ehyP4 zzu0P1Pjwq(7kv>%ruBGE|Cyk$&&X<4;M;r}oFEKvg3JJ>%1!_WXI4{yllkwPJS$;L zv5yU1`qoE!RzWlT5*1cPP3c(wsnrvvf z40Z$g`7i;>{yJ{1+0T>YSuLtXc?S||7z#_DHN_I>+9*-TcCqPy1_Y3VCsHQVW0W=* zkw9c(l;lB%r}Tf6pEQJ-Su95ka@w+maU-bGRoXsS*JCGGX+l|XscCyKyM_ z|9UrIth$$JPFDlRL3HeP5BmlUl2c42P1U_clVdaD*xAW(W6BNMp!`j9=o{3Ow|UdY zB^6?Uc?hd|ZtH;l!rGzP+3i(kXKH^@7qb@58m#B0F+SSVkHE~eJk%j~Varg&tfbqk zb1U|YBsuJ2@k|)GHrek?ofBUV>iu5dy}Vr{V!Y!$hrvIzL^Y(JahH5~>b)TRXI-vV zR`8C%b+LtkfI$CyT|PQE{81M5G5ZxZ^!7(a7z39GD|m4g{Di=H@oC95f|`WP=Gjq- z_wg{T?At)!`!F2-&#c$sg7t!r4Wo|>;ui1?ik~!a#_qokD?6?sHC9Iq?X67gQ#iwv z!It7^4qzBK8cmH>&cQJwx}<3-SB-j8)SHZ-lfXMTD=|*FETf98H+UC;6dioNJ(-J1 z|8lFn>px3YZd_ddqQa&WQ4alF{i)ouWJ;L(-Olx)PD(NgstnY}XHJ+g&vGler7#&h z1u{Z*CE)PMK`|5zupmk)s{3>KNB@Q(r0= zhx*|L73M)uV(|%AieXt2UY9s7u_+D9uXYr0`HPqDO=9H*v^HeK#gE6mtQxE&F)N~_ zHVi7?$!QVk+OeAQ_uDKL)ldEo_pFFuw9TH{EU0+fM|~=q%@U?E9PduENNN?r?m-mU={z)MG^3=aHx}l7JT5 zjnrh339St(!O%=R4R2ee_|*OtInhF;cOC5+tWT^YXNVd1mxQl#*S|>rd1L%s{>6?1 z3jrZT_~#GS9pGff3jWo)+JP6R-*?7<&Kh8a2i|`Y*7!ujBJt*|c#SLP zwhOB`IvX}Md%SEw!7q=#ms?``5!GdGXH&-OpgZ!56L->f!Rg{tk{OuF5_S1AIm-i7 zfiNcusKI=>{hhgXzwhGjO-VMT90Y#amK?Tc0NvYepv5neoTB}qv|a=#v1sQ7E`^oi zzZ7Y=(o?F^VOXbz&0>8VM!24rfLs5>Mzm;11Dp3A67+VDu_7};pTR9Z#YENhT~H5V z)Z2~kcSP~SbfKwvarEEokGEP<**GoazXS+LPA#uE z!xz5I!ng;JVrP6W5PK0C*fNHX#K&AA28nr$)=PYM>AW6OpHa7O$g!U)9Ij6%SczSR z^;`TND0ar(@Sc!cTJ14FXOJ%lItlZYVq0Px1cM$h7=JEni8TFF5r%Na;-)sPsFn89 zakT@7;|UBOh*$W!>GYSR5~nYD4UaX61n`Txt1wg1ogeu5_0ye}U0e^bp54hIS4uNabn{X2bs>uQ9E~1-8Fy}dK zbq@10jJF`bdxa&ELR~B=PD1Lc+X6Ji_;kPlR0?-vwY{uVg_o;Q9fs>mQ!qJ5 zg;H(~ZL=oK@l_u>T!-ZPsM=Lc)+JHY#4k}*!YO?Qy&vEL8&^TRXZ#aNYhh`xjv~WD zsea5Z-cV?T@7M%JE1VEwzX5gV;1pms!kUM3#!sswhVe@#ExKHUVVf~M_w6U_$x8Lu zRBZTA1kf>JF7I3EE>-A9hY@eyDnE`kxF%A5K`FD9cv?j#-BGU^)k=d~uUtYbdSA2b z1>-WpNIyb}HRTBGNd?6#SF7HPg>S_@O;A`o-ESk;7oj0)q={J5zGYZT}#os4*F)qdMhU`Cmaz_m}Vbv#7L0Y&3!wJbH|;! zPtWDViJ0F|)^5gz(jc z%e|~Lgex)V+}MY!oF=tqWRiq9Hq_J`Ekk;&YxCG^`^~%jodBJ;lCMKp2i^mLXp3jl z6hZepTY4X&q-(1}Av7WzNNBli+oQJxKSQNAQ+^P^mf-!YQgvKo_D<@naT8adj%hKp z_#`>h+hufLyg?M2$!QN|hLUfek8$zF44+>Yu8jUUhuZrSVsd~N*D>(oN(5e9|CmGn z+#3FUCjE1pm?W+g#D@R*^aZImBoVvFKJx9auQVVAnd(BH5SitK8_C@by)`o?$?brh zTOQvWTDzHv8@2g$L43xB_kny-P-xgQA=kAyGBv*^9N}R7DpY$fzZJuH)5((vg}@`0_C{C)>pfL~%Y* z)pF5MVY4Z^mhRlMsaUTW*oy&EyEtcTK*>#QynVX=?fTA)$nP265Xqupj!3d-H{eM@ zKN`~rM)Nikx{veD*lKjgV%`)&%Dqc6Rg$ByCR1$-`l6UKQk;*vE?q6yCgkme4WISZ zbW*>UBBF~oJe25;NK`S=Hb1epjmntTyCdP=voDwdWVCj;&dVj5d&a9D_?EAxt6})> zgTAx=GuP4OxPp(j3@6`(Y2$Z-jQ|H^&^)=t<>4#lhFvQTL zJw$>V(MRu&?AlXK1+qb3(4)lk*Yd|#GOC)k^ft4zPEm6fP&{`{Qd z*KT_XG$M`3cs^O5{ycVc(crmi%Udi;TG7+pq4b$QEUNDH%Bo)1`*Ch%%*#DO^wmKd(1&pg z+PU1j_IP_-KK#k(Hne!557;O|(q{==${zC8v3Fbe_*wB|ZtBEgjp&JJ)(ftPywkgL z<*lL6pgSYhl}E5B_YJ@GW3;iM5);D5TI=8)w4Jwrj2{V5gvyV`Z{QXA z1~hYia^ya?V_kob{~iV2V=36QBj-3KAAcrDkTx?7sC3|x!MV8t{6)mVE3~Ft@?KA>z#H!UrRn%sHT$iIc}`6qHO@bNR#@= zW*?Kk_E+C`neB;ci z(?4|cc-^v7)4trT?78voBlDM@54?iHh-hw1o^YOa~HIdS{5$e9|yhr(1j%1B|wi=*CGE~1051dg4e%+)@&Y^3O+NDJzQ3f~l zFp8?w0Knh&n4bHs-@Y2$jms{=i`Xl!xSB%|Fch^>9dA6h3o(h3rc_V4Pp|66sdDs& zHV-8(R-(??U-$j2+3>BxHr25sZMX*pJsU%^xAGv zH9z%uJoDgi>-an*cXKIvd@7QuBGYIvH+$B%cX|2qq|Z5%i!r2?s8B2VwQtX(j3o1t zP9q3;>D%rdwci=(f>K6vYNR#Hw=f&Vh?+8KJ~51VNGXz!1st8-&!FyeO2Ww1S8a2j zfXAGYD1cThYnD}eTysRog0_Gg-sADh*-tyhOp?Lx7(O`UHwfRweTa?dqgLswQ!k2Q%$rGm?K`UU-j?pxD+`;kQA=dZ#(sK7>7A(axTc z52<2%p40qXO7KNDg6ZXP&8kDN>a@RLDWZm*b3<-X+ip7%y?_V$J%VZm5;aWEzLX>R zVPbwTQ=^WmMBK6qJvoBqI(D}a!ex;^cCe?K7}9b(JsGmydPP>gEP^T}BW9pOLbE?v z<_`nG*m(4U?Dq1IO=8F(E1AECNnv=A`vKSKYcf+?jvwI=uY zFM?AQN^lF(A1YGXVa@XXhs6It#d%#+;RdFHNBv!x8zESaDmvIJcEb;5GGylelE_Sk zKcle47Ld}NBkLs5boD*GhxF6&(p5XP- z;f*A-=aexz(`qSk=ElG(+06;iZ86gwWniU~#cwD_*6zqDVZZfPe*~aE5&;$FCQLWgPb z?hgC?>#ncLDAFnW)1|AQkNas$A{AQUx^q~~{57-M3Nh7aTa?yfA}+|fj&h>)rDrXE zQ00a}z0WCmb^Y+zW4Wt8CgnCa>H7r@Uzdx!+NVj>5!|q&vIY-mm>~uY+^tfh`HaBl zm;SRNrTsCEbr+KGcDd0E)%Rl=n@^j}~$y?$N;WCxU{X&+x;@&cn5Z5Ad9DIe4EcNBthdV zy9kQ!IDyJvrfE_cOQT1z=5$zQn+L9`kY^H^AeBtaDjzZ#mn;o-^(84Y#}H}yT8Esg z+8JBlXgOi%kLlvicu+Lw%-)xRYW9`utc#y@dYHlsCEEi)T zNahO(*WqV){s#}`!4FJBsFNEq2%CA1{+qlk3jlrjE=SN7FQxBO5!C|MskCVoUNn2h zr&SbIr|2^ZOZ4Zxjsxt&?LA3SUX^$G{GX8(T3EPxT=L|2^*>d_BGWrmK?XUap!-;j zUKi3Au_}PJK4AI!AhHvG8X zVQm0VTDGMrc=yvW1AB(FdE=Dg^(B24H0AzqHFWWEF*x7_dUo^#-o7Ni&L2O_{Cqle zVEfqq(juC5!}>He1nczzfwq+4*&+gCv;k^P9l9pJSB-zBdCj{TOkVn#(UTxZxlgy%=4xJy2-BNa+4H%A~Ir`)eG_A^9u8vR0$kL0B<* zNm}I5tbMF{hiddS%Zq_`v9hKhY=gJ45Y#zyZi9W!!k0_gy;O z@(UClisR<>tTn9~3($qUi5Bu^PwbyE%#u3vzS%PV{;h9nqiKbE z<@7XRAzh;{8R_%u-OIx~5njayv`jX>u0;>78jX+K`ACZDRArw8_!i4*jx-09&Tlhq z6{xCz=7y?pdTmM#-4A%>_ocVp%wj2rtVA*JO~;pfoj*X=9B8rEVCp^R0X3UUv(FD) z&sn(kK(9y}YmE7Ld0H!0=o{J#>Gsd6en_LK#8q6?pZo6eBdnDAv+04?y<@Auue9s( z)PrP-*ft~FyaSG?% zFIDIdvu`SS=0;H4FQ-{N3$v;<3rXXvN4DcfO=c68`LgJ0eh7wx*A7FLh(ot#T2pJK zxfNBKO~wfXY4aPhJy%zqsU5P)eaDubG$}qn0%QwY%lfne z;o`!ZOo}DvWms?PmaRyIINTA>ThH>Ugd^pIer;_olVv5>{mse>%9fqILwp^4q}Xn9 zQ?z09I`|(=wx=$OoK39Msk;JGRZ8FGgnnS7%wyycZ;v7b+0elDBxc&l@i|`MBnmfzm}oe3FBMzSQOfS6-cun zs_PXj2<%dEwZP>7EUdyLoYq#PzxzC_0U9w*V7e?xzZ8#RI5pK5#_^J5q}4BFhDdLn zsr2I-%CQG1&n2Qv&#;d_ub}6$bJgQV!J)q6OubHP9j`pm^zp?JbYf(b$0;Z&i|tr~ zS1DCda=a<(Q*U-O=UyJRHY&;Jr8MGkz=?R zZ)Aq*SH|fy80jpj>i!`dHjM;(pB~Q#mEBtgd}fp%0;c2OC!Oo9Cj*z&xA{E)^LXt_>NELl^7pG zWQ)&cpt)t6aDy6-o1M+R=;7Ys`CIYCmIqR__ms;3^3Tbe?@)KtTxWZW(rVC-EQdwNzU5vq3L_={Ln#b81JH{xdhn>A}Ur7SF zW=+4`gmzV;?I%a#>{${Z8&&7|=2T;ySc42nF3xD4E@vzVu{sWJt*^;CzhqJ8+w3n# z66>4GmF_>koN1lTL5EmuOeQ!f(o2Dez72|;NjX=*9k5%_=wjV1ze#A59`z4iY{*!F zZHKgT!;6zHiDvpRJc0jdd&zL~k^fUd4(DUknles7*t)jfCjLQm2bQAq6_2a!f}6(% zjw?b3q7OZs+-7ngrq_&P4Bi=B1HYjdZXRzPQy#BrcQ|SA*$*DUq8_;$YolqxvOw%< zLYra{=#E<6Up6u8gD10fc)wuG+z~qz_Al>0je09PKvff^e9MS&ZujTSoj8Z8L+FS% zN9;(0R@C3Pm63Nav8=km?fA$bi_w8IwP^8`_a3b)z}W1Y{mAX%q8|gXXq_9Y4^TA3BM$7SKCjEr zeC74#b1ZTO;{@!Z=JHyK=rQT92L)nz?A8RYyJYTwa|CczZ)B1HnCVCW_WZHNa$uKW z^#}Ot7Y}b&~71WZnLqFE3smc>lR|WlePpvVDcPl-JfR& zd6?o#CWZRS;te07(8l=%A;YD!Mb7UO6-*QEZw|?luI`XZ8|&^OF5LOLy1dg+6@0w5 zgHv7J3?+!-LVa?gq7L)BNC)ayb^3_>+US)Z$)!$nq0ek_;!yx3rz&h&_?Hzwuk1|B z86Y{!e!0cZoQ}#1VU*jFuG5*}ffiqk$fiH%j~qo&LzpSM5&j0ULK@yL#rc3&Yd2Z8 zqzUCK(~Ny40jWfnx`!^TUuM|wp-HkX3+Zt8I$bW`&?EmX&7r|KeAUqv&h`77$Zw#f zH^WDzAqsdZ0B|_&8(*1@Kf+7?3ZMOV_`&b+AQFj=GGCr6`|r>fUe?bu(z6-$)=jR` zIV!BM?aJL)hlTu7XsKm**9pgQw#9*7o*mKOOYqhg!<4J7{V+Q+2m{))b!l8NuJ7XFou)VxI+jS)oq%6&^}=m5DwS{@hVTYc%$6@NNS_ud*SHGLT9*Zt z@LJB6cH5m&$9a<02T|g#?NGoGvNVf3w#35wkkEpO6sp^lCMgZ*g_=T zfZrPVWCnzhI%$Febgga71;Z(#EWHCxjowX?pu}~SS+&Oc-Pa#DiF+d^3GQKUGWyy&kp?SyKj8O8yqg+Gy@RyXLw3vW* zKrgwV=z*?OJ_Q-9QDTo6ZPX_)RbUjUN7K+rc3MZ76-L~@d0?pi#iO_*hX=V;e6Ea9 zW9)o5$jZi0f17#xdsH;&S{3ZnZ^A>MyP}-t8HgjY)H>gtRk?h zKEzT4?HYb!MXLX>eT?`oHh$OtPd2(?j{x3t+J*S~{ZGZ!*19lM8=sO7t$sOQ<3Nt= zbDg&eMEJMYr_V@>-RVq#lV}fFTu)H`F60^pn^?Hc)e? zwgXIfj9BtfNSRL=L%HwqbjYkg=gdkEhH6D_S+R)B^uC^KCH$Dj;i0TZTI?cPvow29 zM9Wl3?1Ep|rz(abmr)s}od_r|Ef!2cMr^?RZ*xe*jSAA;F?hn`(f0Nj%Bg3X4sslPd$Q;hJOY|Wwib;#bb-`7p=$OY;258Mq1v8#GU zx0+QQUA6QaN=beKygU zDf`)_Y4`wk-PWoh6HTUK0M9ZuR6JCg1ep_r8iLfDuz_J@3fvhST*>$)MYDNWC?|MM z^Vna9oRQ@3c)O>=2M)ZqP1TrWsyX2s&DaO>Pd%96fDk0LUnF=k;S!fJ)n**O6`_Y= ze+x*2;E%(igESFik}*WD{ZdtfA2IGmQO|-NC#XZ=y(jxOjg;l-x++Brd2+vfFA4wl z-4m)U@92AM#(qZR#zXX{Z|M;*B>2K!m}PSpbW>3PQYfr+04xLWv8rv%Bk5 zjCHyxzkl0I$4*+M;uYWLKxwR>0LcxqtDcr2in=XcwU!8EbmFUf3|EwvbTU*p(@4h5 zH`xv}e9*#Xbk$D;rk~MF1LQPiyD%ZYxn8|>LH)Y&d@_%ruPSg}#Cay6=x9_OVLGu1 zbG%HG`W2;y`5JDqpC{Z7bLE%r`ve_Zb3-hX?F{Wf+D@y?k#9T6_?FCN)RS_V^($mS ze8s>vt-Z`SBipiOMp|%VBA?}gYC^x6o$=VG?M!gco4daK0MPwY-j$_&P**Q zKM&VrN;?^D?z5danD$24Fx+|mtM2c95DG__^I@^K`J|4gLr@{m0oqaVkM@)VGamM| z1)&^1+LZHfX97!(D-Y^Pok;6Hl<*9bO_t`IB=cMDvJ<8}uoM1AVIJ`wv8z}n*2JF* z-TtS-i_FW=iTI5Q9xs(V@#B)WP9shw`tTS1dEc3bXQ~R`a_)Mn4@mZ)_LR-5!|T|Z zJW1AUWW~g95dU7G5AHYCx|m);qU|{$D)@5xq3Bj_t4uSj4fhWmEm$ za*GPtUWs**-yq4M!3ARQW?-Ct@!F3()k?RIJqG+tkQjXdVR0cK6zS!tERjA8=<66b zIiVF~pB$aJS(K#Q^)dpctsB+JUQ7>4^FZpB8mfgTcC1KTp?=0tYHbrfCX70V=8tk2 zwKJC5Cb{d=#^9}Zy|A~M)s6LI4a~LXoH1hangwo3x3?W8Q%?wWE6^ZKyJ3smke{gs zv+ra0Z|Vig z?$i3N!x-_fvaAQwekPlVDZu>~xprWC6BX!46f2U_BTNhRLruSfHig-ieP05PY4KD| zzgWjk59aS(cH!G*@7Xthk>9uugUQw4{~&K>=fa9)`9H{~jpa7)V^TL(o&F;4HI}VH zs1ZM-0kuhkzKgly49onQGx>fB9a)u!=k85=aZHwF>oX9#D#wlTO2n@2eJfgx9cV^% z>EF1o3)+NB9Vl&!MN-x@Lq_^NnBxKvuO(_`y~)w3k07YA7RQ-Hj~W{#31HkF));%q ztZ8h3J0I1ue#mp2glAhxO~Ke&mhBPJe)_Ja@y=k~Az~hAggGIn`;0`94)@gx$LLGx z?Pv1zdB}8{Z>!?K6Pt2V7=)`Ukb8_cm%{whpk%RtRl3u`^3N{^ptP`$EH&_e>=;?-w^?($wQ?ajB z#JN^b6J0;{JDUU|0>qTMycr3kX3Qo4LM~;AMRJ3}(_GP?(*2L+=X`d!6uim~OU4Kl zXO>TQO8FJajl`v9#JDQkQ_Bk1KO}$Bh5wW;#wpbu_?jZX)a&MT)wWRaFORynMI!@$ z1H1H|G5f>hPp-=A&cU{shUI^m{GfN(Q5gQG$4qN3t!pYUOL`~Y+0pchQ5+cZorns(bkn^ z37uoyYxWwzAH6ZVta!g+^wH_w18DtCg&#_?M`s#+MsJ*74*?nh$$QZZ{Taz?v1K60 z9UXv;09%$Wl0zQgHDlQe7vfJkWf=t9972UF0N!%3jfWaHMPOv>u;s~y&u&R=498UlXrQny3p-oq0y|#%thR z<)MEslQ6>pTr<#NkXx`|wD#X<9^#eox}oR4(O4aB;3ft+wHC*g`;kkU%Rb|^*qzmR zK(52Zo=K4Z+P^Vj-}*J*koFO+2N|6ny&WPRx*Hjtova-Kk18DR2kbR0D;@XFPc}n; z&o^7JH_Zmw`xCgmhVwLrVjUXX?cK*iNdw4dK>1+22!*@A5!=Z;L{!dS;*~EDs$zE5 zkWORc8E*-USxUJ4ERfO%SNiP|A>ng|1Azb_)Oy5 zW_ZM8lmAx@DSIDD0}zr7_V)$84t#-Y0zxv$x;+Or3$0Q4t0r4 z)4A{6t0Xr*1>x{vygE{bY%kOlZ!E*x`MhDB;?kx|JVD@6O`3kwajP(3`8N+EK-|2v zIhSH@0dkKwYigfz($I}?^a%zIwy~vz1o!*&S1)yKXyj=}^G6N!=oP%Z1s}n3o-Z48 zKY+iGXpiW_@6#ac!|z?cA@n~f|H8aRKU*whvCsv?-#2a?DrVi6e#Jg(Ig{>gv{`f6 z(^{ARrV5~u9j}HS2XHuK&Dzh%2MZ|gfs+?}kN5`J7zmXg_$BA8C1JeUX*HXz3zq<^ zsppAF6k!oZab6Ack`rPT^YZ8`M%eupTUR{Zovrbd{1G!p*G)!B8KbjfV7 zvb4Vsr?yp0wPy*@LcO;jO^JRfSsTfF`P_}GbYypOY18q{)hi+@{hO$Bs@knGWAbT~ z&`0kOr4yV3|9jY-(jy0o*$@uV0C91Yq4Lm>E4*qFoOwlk7yYG^EsdR<;QPjJOzqL9 zPfy)jN!>dCU8<=ZuV1QooR!VPPs^gRVt?h&0lw7WsEDKM;@S7i&UeNlEL)|4-e$GG z!+9Q7g|;?8{7TOD6G8|k;oFp4v%wSvRSMJFV8uoUzFr#m&pf+lva`AoF#Y{;%|wzW z*`Wj&=79mysK8=Mh%B|EpATjBQZvM@Kv(9k8XMIU(jT5=xhn`v)`#zvj7Y(6p*MAv zhA5D~mX?>%ufZA=DG8M+7R<%-{Lrc7^hm0043rKdL9IAI%$heX&zYB`7I}}ZzJ25o zUY*S8=pz2G2QQ3sk6v`OI)b%?pUaWcxegdjS|HpnmdGg$5xF8Nsm4<-MVnhx|HbM0 zpyEn7p~y+OVVyPMUcDN6xML05bs@QIdo8(KviXia5D7@kde`WLozCL1@swK}NZMPF zE$Bc;2(5lLv+$^pcHy=2q<+TPxEY!aeSHnZaF<7rfdnj46dfi0awX88;8X6(v(XVq zS{7T5^Tcp-QkF9z2P^s>L;dW?tEV~|i_Nv?@web7beii`erK@Y!2bvi%qfKx{Znwy zZ^3831y>Osxw^66YaZEldc%sUlWH;EC6kWWmXnUi{{`&PQ=J?X`!8VSHW#xPyoo^w zoTsa6pjuJ;I-e-clRWcX-oBV`hd&aqWUvTKG!t7!Xys-m{14#hek5RO;&kceJ6KT^ zH5i;H{A%~-c5j2T&UHOJNpPzgGVp+3*@!h4?7Fse z)AH~tf3*+rBihGp?aKgh$>xIi#-SJ3&(Itauu8jUsxXigEKLEN64Ul|;~v&CpU_Jb zxT6+lhP$6QSL$byUuJ{OXI&Sch6)372LDye|1~#m`S&J+I&`DksNnqO0$e*b!4>6z z6$Nu#XH&7@(<}a&rRz!A?lKnI8l$lcF})6)tXP$kM;8i?YnBezGAA{U)L%|JxEz)hGQ_Q_#tbVaiE zNU~L@U)|=c9AxDqu`gohMM+D@Y%%5XuzZF>b!`wsJwqB; zM5kCpcp^P9n|wXzEWM5kbwp!(Fc3ZGxRYuQ;5YvLC=w2<9^O~*F}#K2hTV?(<_z8E z+W`r%e5fMw37Z}{n=NPe956$OG42>Kf}Mg5iwZY(nu@f1hV|mV-}Ot!IFj?Nk&!J94THwS1$fcI$~ z{yQzB>i#G!EvrhV zzZ#R`xm~!vn1KHU@eR{LJO^h96g(C_Zg($?3^hp+C)yVEqzp`Ad4SLXTRLW@Uxth~vjW0<$T;yKpID}hVRCVTdxj}^z%F|Z#*KgP0vbzy zC4^40{HWhlY>@*do3&HCreK>KUp(1J zy=+Z}+cX{w<+77;1SK!E-?oc$)pD3=rW`$_r1|U9F^;*qO}-H@DKu>ONbX%z_KsS! zh@J7WqZ?&0QMn1na$h@5>=!2E5glXw;EC;c)i4L)H*k4mtNC~Lih{>>({GLE0LCWf z;6eh>QjR=Dywx~tBy3&L=7$OIZR^I`G)&AdDk>JqGKWSteS5=`$?G{F6)C1hVKyoL zUQsAf2cMhZv}d?VaAup{i&s<#R@k1ztU?lcu|J|?{f*H}M+X{?Mzbi9`a#x9vgsOC_5(q%4oN^wXa$X2eI1CN~1G+j{37KEF4SFE#jTUBw z{v3@u0u$h5VgS&nSfc#>kQoJM({~+#;R>38YXejcP$rMU_oJvit#>Pl1LeI@r?XX{ zDG^f^$1B-<=;Xzm)UcC)^}~H5%mZz@Zk?r^S5T}ul}i1PH`i*cQJ>B zD4fQV)4TI9Pj@B%816R&z_cu+2sIIKZ#AWppNmj2wKZb;fGeA8X! zJR;6}x18cUD4!#K@eo6?5ZorLTNH-H$^MMmqoQ$K+JCD+M*CAmNcSbNV!4WDm9=YS z;Jy++ihf#i1S-yp>!Q#(xx^C#_S?naH>2s_XBUKb$yv)X;-t(^(GlX36zsPdF?UFN zKybDasTte5P|{PhRbAwvXZd@xBi^$x922{=*~{K)2bU$EqDg6j4z#|#LUdq%>xS5l zmdF#kwirGzILshNBt+*a!6GcN!?Q*s9tTfPQ}(JeIzGy;oHoJew(i*S(nR&h_;~@L z(vpbv=R#CFy@rc4ir{Bd=>p|CJdSAWO>c5UdUVwiEc%jTTx&G?yZn1I5!}vGMY52G z939F6Ht>Jr7JU?Z^BVc_63}Ro?zS#$gj0*i6*^!b)xUsnegoput;>c=?MGt=ON1;l$gqS9Sbe0ttjEz7)8-bm4gVY#` zeJHA^D_Zb}4{VtLPU3p^d^T@={Ag?f5AAkJXd6*tgQ=iZoOp>5nPDzfe?Tx*ftYNb zVnJ?`Mu{*u4x{*i{7(nQXta|_&yD!boDtKq;7knY6)Qi6cX*MoRD@x_zY#Brhw>q% zB8Qbga;1Q6%#t_;$HlJAfE~P!6OhAhxZ!aSvqZ@tp$IW;2c){@P?YWmr1BOx+%KGy zzM}o}+`h4A;0!-E1cY-n90b8X&+ThjxqOngurN1u`SS?BuR&_QOx^M0Jx=4{fKqk} z1o_CA?<6MFpyAlgdD_jLNO}3JL3&lf;d_Q=@F{+=9DmH=SlQv=W8fEhvA1!poX$h2 zVRtWnFCLzqkG`#Il{`nc8*g5D?)L0kfr~;_^En%Sm#0QM0NRb!e zsoj%|*Zb4ghnFLF&~whz*qXt`q! z0zk`1b8-JocSgnrQ7ZUHIG)h0K9KV9l`n5aBM)`M9vdMZV2Ij!h|=0pYBok`cJfO}7NUxv+JM_lMku9fyf{5jG)#CkYBY$s@4rBg$H`#eNua4 z)BrP^G|ZWJ_gUTUNM!7njiMYXnN3^ybM%5wEzr=yB}bvn=jOD#lMd^cj3X?3aoJ?+ zm67qOv}<82Mwr)LbzeG{vk;r_T249In{RN}5>PQrI9?x{mKGAtLM7Vn96OAv+{Xk( z5?NrqCyooCf|P0sk+dln^ZdVvnh|LO}PriSAk&^_Eu_j2cPk8ted{quP>s}n~k3$*_Dlcfs231k+LT}AR{ zyH(V6=Lm%)YIb93*HBTI&1_@hny{(-IX2R);-!_PW9#}N*7xVg{@laZ{g0)qC#%{C zeJA3u%Mi8J6TZwzAB?o8Yx7p0Xa3eM_YhOj%K0&ao6YOKk=QY%47=~X>p%P_XWWxg zxlbIf_v~_jQui~bQ>lWjs}d)aqpJ&*8>zl4ZFfoo&6Ph#z611}!OyQN=_HeWE9o(& zC$XL<=cM1CH=mfQL?epfVMvz+f8m^-;)N<~d-1K|&+xz9k1`X<$--7N6Uojp^FErD zL^5_O>-qHwrk)aJ@9Du3Vpu5$-Z{``kvz`(+zdb1oQyS~!3fnV2lu-@cY#54oZBOe zRWTs0D4}VNfN#g{Kb5p47^QA0h<~!fedP|W^=NcCwUXh3y zqF)|FGf;E?kFd7@Zfn`Pgw4#%%*-4!gUrm#3^B#b%*@Qp%!GUZQ7im*1Nqp9E4FNHt4WA7gFS0dM-Kaf*T17g z^oqRJ!yJ5BjMaqs-6i`V4mkpor$+8sggThqNA77S7_<@^CbBOsX@xT{>ZOBtTq#MT z_zUSc@t(1o*msyL@Xj1_uTt+caXYUP`(?wx!ToKUoRfP5 zDz+30_Pv?MSLD-(OMPQ*hO4%j(kd4pLKnwc&RpBC4rcB!swnJ$PZk6&Gd!QhV;)Um|!Y z|2*{}+gs9on3mU<;)?UtwEyAj+Gj5x2ERQdPuw9`jLYRlFI|Cr&)7Q$J*2T==cZ3P zZhEicfbCV!^Nt=eKbORIY=)hyob-I2QuvdJg*GDtPy@lnGmWVOf!a*j)tY2NNK_xf zzN1(RvJ)4LVH;nEZaI-N=@a1f$PAU*WICnu8tX3;_7fEGo5J7NRJKA9Z2`Q&FEJyNT|!Q3}5f2 z3mQaL?%6W?;JD)biO?3=yJ9rxr3wgs`sryg{!B|04P9zE^{r0{x zbBc>gk+{s+V3s-6&E0WV`RJ>w&cxI0XK;DS>(r#$6E*RYeI{2zp**CHF1xFiRdY() z)52--wAr$5JD!Y|Rm;K6hleH;mz`WDmg*l4?r}#G@#(wi@PxB&mMdGI42-uh>duwR zkBMrtzLgVk+J~(@R&46TfB1TumllaBVr#AB7N>PL+e{JHTlr1#tM2Beq3321J?Y*o zRMGlhER2=+=)}kAUM_eoKH9u%ph5Dwogbq$cePBpn=L+tc`kK!SDn1S;2m1@DV1}T ze6`?jwYf0lTWOhOUao|m+7+(-6FL zE%2PZ&%tA|P3WtgYN{qu_=c0~Q|Y1IMAyB_IH6}xI-p6+z^n2y){}Tz&QsM-xAQqy zT8(>_^0`f)5VBFM<=UH~9$8-x>`VQNCX9=h8k@+Mju0LY=Uk~I?=8eV1tNrJ9haJi z@vHko+K;D#ZM#Yxt5LMU5z2ZQ@U&*5xc1OC^s_sRvszRpUvuf6=+Inzo* zSLY8tokTA_od!=}$-L9AC?i>GY=S2rEM(0QBz%%jXE=$)rpw4~99f6LPFwG<&Oau{ zx4(~f;3xkOML|FGmXDcaWrd>3k|QUDiIDk3LUk07@d%C*W^RrmKGs5ntLkDV|0@u| zCz+su@aE+p;Uz0JEqqCatUUX!>3anfws(_qU@)q!7X zvsFW{F4f(>+$=u5Fm2f7qhA>A6g~`E?WMX|eI#GB5BW*M-Dd6dFb}x*dF{(_bjY{x3RJJpy`)A1+cuCIE}Ue0)jh#`#vb(NHcuJ zF#RhbR(i&8XynE>cy|Wv>TE=1<^-v}Z>nO9|eZavlpo^4)9D4GM%x$y+x0YS|x!1dow;pjGvL|In z*qEBJ|EN7l4rzeS`z2&GKEB%gJ$XM@dWrzZIh!e7b^i3*V^09$~2WoU=X-xNDZ7wsxB4 zY5Y)cqZAvV9}&t?Wi2_bpx@ZYQ6s9r<7q9EIsuiS6EfJK`I}Eqs>= z8{qaapN()^Lwvvy+G0gIxZh7!{4hevsp>skrS^BU_<-DEsrPow*yBAGdvQm1+yqR& zL#-76es5(@4*akHX!loibLU(S_XhfiA!*w$|0Ole$?-3#Kg!m6_+o}-IE?RYm_K9O z#Fh>V@9o4uY-QVVEdjc?Z=4Pkz@HtQ+?9Tv?syK`3I6#1X9wVje#rm4<-*y)jfD&z z=yM3)!My>eoa^RDww8}9Tg1JlP~?B3AdvTJFv+CNKt|sT@7jj^1L_8m*Q`}pu93eX zMrWuO6l!yfWGma?;escory--E8rTv$z?M+CnN_Ub?wcy-&C&c}+GM>NBlFXtJ$*1g zzEhyNXRtHRv77@<=En+WS1QrLu>Yv?M~COnd#`RUxwc#%uJFCBppNthuy0M)EUE2t zdHjg++3oRb=Qq{0l-_G1+w_I2ttbv*qz;m%v}1u^6xOLdJV9V|K}fH?@62id^~Lg< zh=vS4+J}=Rqttn%l~v}{L~O>x)V7P%^m~l?z32wo=mwd-X;y^11^8dt6nf8w_?s8` zhY48RkXo)wL2($t#a48yS79FUts&H?7q#kTQghz67@Z6IwdTyW0rY5pxu|u z5J=I}_8#`oy(HL?XJ6o{2;Om4))CQlV4iortsTm!1p$H9@%sDbifL-P2T%P?jyZbr z0IwL|N7~XIF&?wp>HN~0BVJaxoOPaDXDs*SJCnW7j|QFhETo-ZztTtjxi*O{U{Myw z(qZ*;t~H{sCePd$KK)KHn0PxLcF5-?s3FoECAHo%zEJTyE8KuB(vHTIqAh$*R?{uy ze6&9(nu0v3l}sItI~T9ITfduFf4$ZfIeQ|-h(9MHxd|DPeh_*6ZbGXo%-}P#UX(MS z->p_Al4kUk=DD@+~~wXjI5x- z3cN3*lzD(^tI8d2tUilE2p3>wEzyKGf*sk1!GO5@5~<@C-@6NgX?p!63NaP}^E0}4 zdd4Yn)%>Jg`WITWZi!bVN?-@*;Arp?h$sXM>Utrp(;Ut=y~cHxIvyDcd!g&bA|1

z5H^Lpu`W3D!aEibASCU?M_pnNiF>8u4&`LE?0*fvcrxk+3by z$&&H~UY$A+Lr~()DR;QS5g?>s{2ZV+xWzuBRr<|Swx}?f^PP6qm^d$MTp=)gY@xii zs9Nlytiie&gD|LCZxaRJ&vlf!aHt?SS%IV#d3*~DU#ZRdv!;M&!+$r;iVg%w=M%{q zA=#~$7=)lG1XUQ!!QJu?+4*DaH;6l2rp2zAH!N#I6OU*PW=t{^Zjug9C%pg3M^+5N zgvyOcR|it^qZN@fC{EtE4<+!EDh_)`C~gc&;AlJopV4=n#Yz;=fI?gxlM8DCNduma zKMm&he{L`UA=%IId*`R;d*Hlp#?~7!E8sD3{oHkSLl#I60o{~}fI?94;%AibL4RP= z|3sfe;Xb9va6qHWj`*7fJK>i>q@drK9 zukq30^tsJh-J$S@v`wF8MHfDfo)(V24vyX)>8bEgIhcxvy<5XTKH~3&ndJDGXe{a} z<1trnG0U_Q?PQTl_^E1)o#~w~B=6&TCr#rqn1k}`bUNo^qOqm9leH%!`3BF2ZYOi~ zZ-dp`i`B%?&4WE9E~QZY29r568ueyMCe@lv)W_S?IwAhZzxz;s8~Dj`^i8xh%y9J2 z$wt$-Prs3T|7y-SbQ!+38?nYLM2Tl; zrlVz%WoQ*s=(t1zBdK{xBe$#PUIta4KYaPOu(jR3weP?ym`?k)NoxNodkx5RiRgKx z=c7grseTuy-XBlVLL`#mTHQfOCA%+)HRL*+%(sAfNQM%TM$Mz|*QW!ipif>*L%h7C z&^dd0FuyC7-bsHt*gt~jeHm^-q*c_k`KbL0))po@w#=$DsAepaA0dbup^3N9*Q6c)@?ZQp zCBNxbFRwC};q}V;trgl>J~~&Ymj??#ajaSl_Fdmwc{EbxTfXFhV9*o@D-fbrIh`wM zbcE=o^&+_79_VQ~^6hcbHs3dM%FfI!0{%W+7rc%zg?9c~2_QS=wazeHRJ zi*fuB0c7?677;rl-YnN^@V5Zg0@wuv`W_;S&0@9-l-a9L+CQ{BnEVL?)Tk*4ddU$N zW(b^tImV{};WE-JP)Ny0i@ppi58BT_K7Zmvagb&ihpv@K#+3JsKU2Pe&5&kA9$*yV z;{Gkh<^L+iN|WQ4b!#GVw7o1V=(-xqlseY9%*6uKYZ-=`0RvagYw&75T%tutAEZ#cA0EK7 zZg_=-5x``Kbx5kcUhDVT35jWauGUt(e}C-6&VCke{geQfe@qAIf7F`dz9-@YkDVpy z1nb&#o1z`HAn=5ajo`+w&5lCE9W+Gp%;7A|8G{wvpbgC+HogSl zRSn;HLdz_Hsj0Lx6k4XdBZ^tO)pUTOWbpM_#7o2r9~6(Ko@{CV#&TK`Ed^WHD&$_$ zc?e}=W8_}yy08b2SSI&gBi(pf)gTJbuAnCrUZJ=r6c4A@^6Ue3ZNC}{|_t1jE_P`kDyM&o09Ksd?~!9 zrtdcJM%Qfmj1k&D`GI)UCcHCb+stRp*zn56wAkBsLUi|k-TsbYIJ5E2x!VZfl0H#S zvf|6b6L18zu>lyrd+p)Y$p+ggn+=ShnA+o=djR)+WSg^`zc)a;8}d40tzBs0*MpQ?-IG!cUW29L!udNN&} z#j;hCWihErN8%g73zIccSebH&=A1MHY(M(+KWS(N%GQ(6esDPGXP@U3?ISMw+o_-W-tv47=7DCZG>YqCtxQ)vnw=cM zI1-wq_o0BRrKefOPfFmnNcVk#|2X1$)H;vk|4cMXCR6zACgz9 zj$TBWc~wa(CnBh^`rs-M)_W4f$hi>ntwa~7=_6pes-*U*Axx#%C^u3|V8SxMsYqx? z7eu{Q%LLF_+=@wJVxHhs6eX&$##kO^&V3rRD~S5jf6-~IiA}0XM0wK`L~Tq}zp z^}-2j=KTTD97qT33EZo+a$`R!V$wD>2GdzE7t``!|H;()uhf}?R3P=#W@J)JR9R_M zRi#J&iCO~tPgD}5FiPU(2C581wSQTl*8sF25gzN01+(2z$uA_2>(P4^-l!?wn#!X& z%iU3QQ06=8YK_!C>WaD~7CvKA{>AqY@(=QMchtQrg4%*~6%T%Bam0HVv~AFaFeay9 z5}$g_SMl`nD2&WAVa(?Ag(Jsos9@(wvNKH}W#C-!jEuP_kaBX7)c>GN2KGnWTtwvaqOI-t4CvG(T1;E9m?WReID~ zyhPBZRs?V?pJ37YTMb;u<>WlsTSgp~@56h6zq2`+8wJPU8ek|fosW3r@K9ig z>cycVRA0IbWU8)O511)Rx|6t0dZLr~xAX)j@vQVDrx8RLS)Lpyl6|+LsOUtrIP_6g zew>jD=08p`i8*$d0_jT!hAg?>iWjrQt>>{NBWscDud7N$s}1c_9p0lM3GHe^Tfi5u z!r|12#K-JcPjawnQZv* z^q6Tmo;Tlo5^TW3-(krr#k3PK{tC;Nd06>9m4VJLkX1TG1=C8u%B4#97h9+bWLA20 zG@YGr3j$p}s5DP*g||&n2)b0GCR(Z4|JP@J&mk+kCNT_oL8HJBQ^jp-71;3Xf5ipK zn2k3%r6h~y@=qdMlVbvvx|T6 zKb?g56hIyPNL=1*Ux0+Hh976sYk^R{@y#M#G+_TR?ks_P-pNnu@wJJJ3@L(#j88l>%n zcT&RY3V{RUJ zl12yx)ice#ru|L6o;vOI~ zCRYP*gUCktd%X!%$&wG{0O`A~=JEa&k82O(j~DXeGzZ897~e<ASbYagoi+NB;&~d%_gfv}Z^v*%>Uxa0@|%U22=5*$=we}9vF@N}w0%w( z{t#OaQ2ir`g|HYXTji|&Hw&B;Du2k>KehM<{tS-)kCKI-V!%l+nF5} z)Llw01jLQY+}1Hy14wwM95`(HMqZ$rTNWXpd?RoPcu8@UdkNwo3bZX_mkgX$6DHIQGa&(YNz0)v+T{S6qgfOAE#C+8T30t#*G1KKgF)C8{Q8;_DV4Y< zk4`df7adc$f*`tKo%Q!e;-&9jiTGFH2mqwZ^URXZ4FN+K0zsv|P>a%>Me0q*A!hcT z)5W9I+9It}_6S_uxmEEDa-OtEwZ>wWP`jGD`*YB^#hL8Z^4ElLJ*+K+1GCGqqgkTX zZ{MExg#ZS}zr>L#n0#P-X|g^JeM#U-{d(nTnSZ<;yExx7vHY&}wSUvVkVw3kGLdi& zX&S&$OBxFOq$&gV)aO#GdPYHZEk{F1HY-Mdo~eO02ABa*L$!uDYKSog>X_u~9L)5- zWaKVjdq-L$G3+8~<17vd`U`FqnJhw`6l6|_)a5FE)d7icSfR+6IYpgg-zd(W0d~@o zTk#ObBM8SOB|UnXE~3ijNK-QVLwU5+WVO>Y)PF)!14Htjr@Npj7O~J(TY7fGit+}! zfE|k?I9kwAA2zaoUjL5BZc8e{+nK|q&P$76ZQRRC?4ZnR4eqK0I3ih_dR~MQcB7|W zpvi!^f)Hm2GY@t_8*9FcdH15ZOf1OBD9lM&#$iwe(8wZ+^3v*A<+!NOuqTis8aQ~R zD+AzCf4kInhpw8ZpeH_40uLvJIgj$ZxTDDtgn|=mqk%4DH91bqvd>DoG}QXa0LcZ< zBdp!_I+_T`<0F@EYR4rkC81wFd^;qLOAu#7coT#5_#vVHSaD48NY1@iDPR@v!iEg& z<9|z&O~J-WDygV6%99sV)WF0RI2AhM1xDaA)S*Vups?Wu0&l_q4-fM&-essf$^^}! z_ix=P^DrTtU^fzzL}<{l1@w4<+@HbwYdq_z_>f}v-sW{Uf`$^Xo?jmJu{eXcSfFEt zkz8u+nC(Ht+a+1@=b(*Qv!!^4n?%TA4vcV`N(olU_pjmDcj{;=tF_B=lv370TvR&d zd5%kzbjYRf-nQuBr-5vWb=mMKt3)poRYy9^PAaOduS~v$bq4! z-il88w2U<+qnUzkc{Mk71%ulRLy(d@ZLOM`{4Y*i?A|Q_yfoA<3AWV5Qt%)Pc?-kH z!x6dcv7-%kN&t&uCyYi&rd4tgURE()TG~1tAf;uk(7!2(ixZ$|0>s^LagW7IzQ6(x zUNqG2Du4r;XEH9$$^J;-S)#?eZ;*0T*ro*ND$0TQm>_O|{nU&`@=q36smVZRj>Z4u zj0+lcA$EgnVG~Xo;*<=*j3s-U%aAt(4YfTjwNS0cFTBnpr^qhxB!wKf$Pf*(z-b$q zN>$T!@zicUH-tOkvP6E@jqFeCU)Fpb@;+;Oh7lb1$rNe&f?W4moGU%7Cbo&N>^akU zNl>Y@2klf)sE5uezW{y$Z;^E7cBoO(yZdqa{fz$+sP_S_VqBOLim)U{3#>AdhQ$QI zcx|fAi=z7XLtj!vo)hKIEzG2p#5R>BmI%qagx`r-l;!TNMNLO3MM@YG*88FfOM+N8 zpuCWOJyy&yj?}<;V-G^|nhZgW>}j|Xmeyf|S@!%(EGDh>dE*#(ODje}U35B7j#}bd zQH22#l5E=8MUlc^Y0xLF_iHe ze-ZH7Yd%ULgBAD}0jgstUQFCcXO3JSFbPF@it3L(0;?fqZ1vvP0NC z1Y$Gi*Tr3QfbGQFD?^Xu0_Rd?26Rd4ev;*0RyMbh3j=?``d)e|DadU`$|fM^<4d=9 z4QXk(+;V3HJX2PGLPB&CRo2bcS84>ZYnS()^qGYP5cae}{x@P~LSSEO7bPFD%%CEW zng673rL$;olSdb$uC16$<1ajbg)q%&>!f%N=;FgI`ORYqE8(ZIEv~!?UO6xRwFGcp znj(`sfDexy#Qhw~ElWM$kjo2|{32jtxd8QgKezcw-wmbEms&NP`6a2mW>6@ewW`8iXfZ2^d6 zh5|jDG-s*hItqnVd6x*IWu|{n$Pis3EdYU~-GRc;#LS?=HyM1*z;-*_K#@)GA3`Pk zIi9M|-Q+WRAYUvJ?H^O0e~?M-)0m`t8vU0#+@L?|#8CdXIy(fQIv$wbfcFc`|A3ht zy}Bm4mH!RofQ1YFuo0us`EOEe4EOi`$+>U8|3|69Vj)SxesB!KXoFOcR?uCt5Xgn^HO(gLKX(XiP(&VXKc(X6(#Z25~0W`Bu=(6 ze+~~wbmHX}8axa>WDKu2k{lF7?)6eE6+z}PWvl|EtqS`u@u)4?9gE+C%SgSPDY%9NuhbF&N4^oY{G#U@={m_c!K@81v0WanG< zb|5BE2!@(PAK7HN_nz|&skZ+jY8B$mLiDt4B5#PU-PY&!g()X5Zue^;8<>bTWM+MFM% z5AobER5l=|_;glAZ|TBrIY}uoR?YEmKLS_%3bso3TObfi4{u9ikNmW~iGUti#}}LQ z{fUgbE9Bv3$@jS?6jQm%+_w?-R7{dv7oU$k+7Pp^dRD42l8?crp<*-(S*6QFxtss7 zX<|C=vCM$$+PpD+wD)Rpn#o7|z&tY9-uaEQ?#ePp%-`+4)lB}T@U?o}AH{uoOW}ut zeW~H(HWb&j#SR+ew8t(vu{r%25eWNw>8(lQET$kec(K*!B)owQ%52U9Ae+Jh5rLM^Xutx5o5G+aJ2lsoLT8JFtx-Q({l3)FAgu4 zBpMY#gOvFR*Di9yvoWBuVBm}gu^sT*Z?(1y`p@N+XFA8KAixq-ZNTTBqO*UMp!#fX zqWWJKeC+(7%`giB$h=SA&{2}=p;-*8Xc8L^VRwp18?qAtC2K2iG1Tnq4|Z)XobE>| z(sRr#J6H9bW>Z5OO;P(A}L85ur;-v1~t1H|_5s z|LNE--U3%sV3pEea3COP|8~p*Sd>@I*u?IyQl;BzgAU(V2*$pDiK0o*k+n;1#XzMS z3u~E1!uJ6|CuqRhOuQEET>SNw-!7izx2-EOMH*`iC=rC!%S&oUr?li(04OYkGI;Gb(Sn>IyBNc zbE~P~eSK=&x7_qGV_=7?s7!`pao{E!xYAvY*cgPU?#xNFVmJxsBQ7$dK{}dT@x3CV zVZ`tfG|8lK_W62uQz_Wuf~r|#SElT}BR170j2R?^Q`mGZluyQ4j&1SJu5noLqzlC> zY%SPdqEzTz`613DB-%!UPO?$4(U8dwHpeC$47D`Ae$C?IwJ7`W8-pT~EmezQ#f}m# zR&+YrEI2alzT6nZk&}4z=AyGAwcyCArO2^TMlr1lzLU*1l1Z;-IE#vl$*KTduNnMG zH{ZVR0eL-B>8KgBT;8Z37|MGdtm`mVhM=0yR#ek&X48v~@bKP~@L~|i=LstCAZBr- zehXH<_w?-w#@)LYvA(WSk6WN)__8cY(;JpO-_*;U6+c5l!&&Ekl84c&@WBbJVq#KP zqsRStK+inKA#e2je1CIk82R$~9E^PwlMTJVjL2>LQn=u@Q?Cxztt-3|6@gGV@4Q6a8@COg>y$f46q@ z8_x9S3p&UnM83`4Q=!R3)=c5Ec=0D}Ti>S%wHfTG895ydracIzsgBn)95_OPG0!%B zKmHQ=)%`8KkLt4ATcJ*}>dW2#DAJlDLe?<`tPkBy2Lgim?^Dvv%G}WgmIr3D~A*eowQ0`YSX#J;Dz!F>$Wib+v@fL%q9#1MydNX7>Mf!Q6h2Q zo(%&*E9_?LaBi|ReHOANk5B50>d%?-9yy%#@DlsUcS3I#;qW0a2p3Z7ZyLOB&9bag zGUSOE;tWOd^H0Mz+6d>aR~v)7jS6RaqR6w+8iV*XoPi)cf;or4sZn z7*BrHi!w3^V51z6Np91zF5A+{sby)3%{%9Ac$ZXJI$>pbic56dm-y=F3ZKN5Xc`nO zi#P4FtnhHNECdyP-+MPZlvq<)=>@&_`l4aBo(nILps^GkS+L5B{~qH!ezEVd?JGR&p@t}6zL3GDDj#o z3&F7uDBOmLUC+cInS!1|st0f6NdqMUkQND@@+VDnBRW{UDrj3Tnc7ypx4b@R+trF3A*9?a7Ma;u7N_lw94A z3(4NVV>o}?8D}d4q`(9Q3c#HkNufPyX3nzLljHKRrkKQJo6lCi%omn84J)+Ni z-5xewBZ#rF7=m-fRPGIvpM)tI@u(uT@Xo&Yye_2C|6tZFw`rI94rohU+ZB8t;M)#s zF*a^0|FtP9+*R#P>v|i$u*|hTvMb3JIOp@tOOgM(wPi&)V~uR}cQfy`s2l%>?(GHl zIbF9+d}C3M(UgKsJ;wmOtg-Xyjp79>fum^VqCon7n{O#GT9E|oI7ncUqtsd*-Ao82 z@|g6k!x^?sBgG^IdOP`yU+4@g9=p!oG1AhIusI)pNbwP4=q^XDu1uYT78X5xQ9VdY z>FK0fUS6dxmAt;Uu2hc1QIw9CJt1XHDIVhIUlJ zq5%0KkTd5Jqv?`EgxWPPGOnH8;8*I=R$ReSnLhucrKq-t=G#z^W5ssVDmRwfL2z(e z>rMq1gVAt-ee4mTl;0CrC$VNNYEt8Fo892zg3T4=_>V+~U+%6&<>0k;I%&4gId$lZ zP%+U86Wb9ydZ}$pcZg+GTo+T6)vfB*D>}0c9mV=8aT*}QqQ=dLE4km95^h0!$t;6POIv@lME$eDM; z>)HLt>{-fCOVI#n%Af@Y5q-ZE68lv-#+y!kFlQ%sq%ME8$7-a-WxUT8(l$D?^V?xf zcEz&*27cWxSw3{;o2WJoONM2{Gb(O{$&Q*sQvkmsV56&g-xZ9Dvu15|zvFj*FWTzv zaix-KpaIzFVtO+V2IIE`L`;E@*`do~GuaUWkj z@>$#rKZ>DxKn)ePZu24$GE!-*j&|+xj!pEB?_@SgV`oLpFKJ|`w!A-f?P_vE$mk+`I(_PndO;rqh4?3(GOaoTQ~ z$CY#zNV^owM$}N59^KbqqlGQ zlLn=Sg+>khzxOj4U|r&Q-s|;$LjN-t%M0LJD+m7IK>@Q@bl|J0yQ`a{y_UTlv$dPK z{a-(OwK0uwLo65|Kl~&nlP1gfA~2RzP^eK0;p${wzdAUSsY9_+wUp9!@9=~qRRqVTo1DZr)MLe3 zhR_HBvvjINJgbd>eV=f`X$eBF8V!oJ(@gWBYURL_Vm`5^?BDR$AjDBZePybH;xWFi zWz5^A46W~g%QkZfS=sm>x&)_=S9*bZsDZkO{-Nvd>ahP&_g87y*ttevevSgQ*Q-d{ zVpU~sNmHoxj0UzL>O@+dFxM7QirytBz0+5u3XaRRL-_lLtGz#Rb%zL5{6a-pRcgSQ z)1x!jh2^@xLn=v|a|^vB%LQo3>rL^eL7Pr9tGh^X5i;CPmU741Nk$X~^$e1<=@4Em zCeu9krW+H>`RuNb#g~54ZfaEmN%99{yAm8C*quh_te#-PF57?!X1bPcG*h1Nr;J99 zsKFE5b?G^j4-Ex%`O0n$q4%|SuzxmaYqz|@K2Wd;P&m#%g#VGOIt2BEcGk<};k44||l-xQCn`tVWU<1`)rT<3PP!cQP{9O7V9 zGfzjoKt%zgR?S}+mebSE$w5BBSH~x44awUXOgT=*#1CF73eW4Rt(hfIpclG&|t78;wP`&4iX>>Wo8Gqu(RvHvvoj9SgXs)a6Z`+d0cz zS@hC%ah`4C=1eX_gTwwnUprq>xs|cs8I`03@OteVx>I))S-UeD@f)cp>XPEo=%>IA zs}Dz0`4sfehcvRE|6`PvFdrUi3!IaQ1ZH>t8FM(e+nboX0B2?XWOuV#+YSdjIK8{& z!ikc4t&zzb5F9Nru70S%ZlIxko$v4$w*I~U5kL0} zb#oCCjjq0&MvLzo_1*e6>C6~A{#fpap~tiXt=p9PBm0@kSxtHZa-X@;MGwL~GtJ07 zR$0|i_E0-$)#`%cH#RP~!}~?|9Hnhj4du~vLPCj^QnVd|)I(8E zROuAj1z zQf4tW6;1ZnB?<*;+#K(LOvNwU@d>#|Mw}_pl~i=1En`RXegSyg^nQy)U;k<~xpewr(oNNP8ao zJ$El$mD<0jmR{E<sXulU>LbAn<&cZX_pKMb zZ!i*t!vhRq!0bXnr=?&t4TWNk?)~Ar|Hp5n7UD>g2%h9h4bIrcSFAhV0(b!1nYi_< z1sHo}ej}z@6foNjb^c6sxOH+pldV{^;rlJt`Mcu0Db}amS-$&LeePc{eNa?}y(hKK zP$$Y9muJFRzMpn+yYE`nE#F}3kmT#aV)b)*lLx-c{94B}^wjj-CH%s7S{3K;1kEpFRV7a_)zN_n}>9eM5n%rBNL&*7AS=`&Av(^Ue4( z>dD%`%}j#`A_L2C58nC!f~&1jAug1Skr?|7Z|DZ~@4}tm@c->vQT*G+tylJb#bo1IvN{Ztf}a*wQ!c z&|2rjQ!RUi$>j!e*4{a^4`K^ug)mjrylkS=W!EXQ3(pV}#4!=Zk**7e%}an85NxyG z<$Mmqf`P0^y!E@Dd=}UXf>1$vO^|ouC$@v!f_~OY0d=#SH<)J#PrUpto=0jDG%=g9 zR^5|v&zH)q&cO+wcgcz#yms|UXeZ6rNH?ojJg`BUnxMf93Of6oZN*GrGI5CvBXhnp z@+G>M6(zEs8|u4TWuZ5y2~zDgbsDc}&+v7VI(dGCufJBC(l4_kAqhO2=mbSbqj0a$ zBpvm+oz07C?H~d4&T-~VTa)KiBYpE!zVvH57)GZtj$hkJm_AU4iTU@i&v2Z?NCKjb zvCr@?IEEz*So!qnSylFTJhg(hrFh}!nq53es1kFTtyrY zJVAq}V%o@?piq=bjxznSnOg2NON(Jv&Xr5^d8d5N=wl>MdL}!OY>Ps*w3m0Cr~D?n z!gCaaQWHCRB;~C)+S1ORFc&-;0}lZsLMXV65;AQBMx7D_$%;Vc-Ln@Cq66^=XLZN^ zSs45q)EX}auoP;Px4DNlNC;UK%`@%m&53i4RK0z~wg2~l$>MdKRPS;vk8+9nlF6-aTJIVKQ z?q&V^I7^TJmTI2x_U7LWw@ z!pM~lK~^#?SFgYMeNw4RudtK<~f1 zlD%>Fnm+n7z2S5D?XYd@kG%}s;+KNugBlEO9=Lq7;(W3j{|6y8cK(7>kqukx6b!3V zbKY*ckuQ3a&um@7ycZ81%?Vv{Q8;1gf4RKu3kut%n>*jJC3AIa7WD{5C?A%b`9e;j zd*`QB3jY#QBld^Aa-8Fu!0=deYu|TK5uf{F6)l@lz*m zPdof<3g@)9ca`U~pYuJlUifzVlC-p5nW?s!pQg;&z3kkc>T7SB4ppx?x^2=Wqw301 z-?xuce^lL-I~e``^ZF@IJc5f)zq-~gSNG)N*4J{?HIJ7qpI7(n=JR>=3yV)*n;ut} zdVBTyy+5zrw!T-nJ^T5(e!F|0Pu{EjZU6Vp>BI3~Wh|@Ke6P6wGXGr7@4Mgsrq^54 zKYX-)f9$Wn{r3MCl^P!4onn^}dxND-wMDrqO8l@{aO1=ekBdqVcZt1>UES7yK6>(` z#G4x`tG`d+{CTce`PC8Ul{1CYzxi7Edk1Un-g@ZP|KL>SR@GNld@p74ER@q*eil6S z;w#y}zpRN(Dq}$-R^q>L$G1cF0p5&EBFv!SaSn!^GtDE`1}&X971%;O1srn&bvt07 z0Vu}65bX>c3{K4}i4UnPNG*;9wa(BDs8sWI_yJUU4>*p@4bu&z8yJrPjexZA!A*N~ zjU8>=!I?lM7l9fDQ8YdWioolhX*0P7>WX`Iu~hl%Vz)s0z7j7G@>*Y=yz<|^BSaujDVJ(23jS9V)-3l7=X1ye2#1g z)==nOEoR-V&%h8D%F4ixVv+|h)TH8)%A8d2bR~KipdTm+(+`Y1TNKS`$4jD{gFa7+ zFsHBxW)9LM3c7ami5Gkx(EZlq8Na!+ly`%dfyRY*1INj#~^x==%%1|wGgJTwm?G# nrQ?OJAH6+@(7&J^DT|@D4g found(ScoringResponse(Some(score)))) - .handle { - case stitch.NotFound => missing - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.docx new file mode 100644 index 0000000000000000000000000000000000000000..72d4182cfa034d5a95521a33de0b08cdc0598809 GIT binary patch literal 37388 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 z

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 lUg-MK+k*)Gi`$X17;5V)-$Y literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.scala deleted file mode 100644 index e14a67eae..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityColumn.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.representationscorer.columns - -import com.twitter.representationscorer.common.TweetId -import com.twitter.representationscorer.common.UserId -import com.twitter.representationscorer.thriftscala.RecentEngagementSimilaritiesResponse -import com.twitter.representationscorer.twistlyfeatures.Scorer -import com.twitter.stitch -import com.twitter.stitch.Stitch -import com.twitter.strato.catalog.OpMetadata -import com.twitter.strato.config.ContactInfo -import com.twitter.strato.config.Policy -import com.twitter.strato.data.Conv -import com.twitter.strato.data.Description.PlainText -import com.twitter.strato.data.Lifecycle -import com.twitter.strato.fed._ -import com.twitter.strato.thrift.ScroogeConv -import javax.inject.Inject - -class SimClustersRecentEngagementSimilarityColumn @Inject() (scorer: Scorer) - extends StratoFed.Column( - "recommendations/representation_scorer/simClustersRecentEngagementSimilarity") - with StratoFed.Fetch.Stitch { - - override val policy: Policy = Common.rsxReadPolicy - - override type Key = (UserId, Seq[TweetId]) - override type View = Unit - override type Value = RecentEngagementSimilaritiesResponse - - override val keyConv: Conv[Key] = Conv.ofType[(Long, Seq[Long])] - override val viewConv: Conv[View] = Conv.ofType - override val valueConv: Conv[Value] = - ScroogeConv.fromStruct[RecentEngagementSimilaritiesResponse] - - override val contactInfo: ContactInfo = Info.contactInfo - - override val metadata: OpMetadata = OpMetadata( - lifecycle = Some(Lifecycle.Production), - description = Some( - PlainText( - "User-Tweet scores based on the user's recent engagements for multiple tweets." - )) - ) - - override def fetch(key: Key, view: View): Stitch[Result[Value]] = - scorer - .get(key._1, key._2) - .map(results => found(RecentEngagementSimilaritiesResponse(results))) - .handle { - case stitch.NotFound => missing - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityUserTweetEdgeColumn.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/columns/SimClustersRecentEngagementSimilarityUserTweetEdgeColumn.docx new file mode 100644 index 0000000000000000000000000000000000000000..77719e3915da70b626eae54be13d225c475c6569 GIT binary patch literal 37363 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 NL54(N_NeIv@c`Uf missing - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD deleted file mode 100644 index 018cef9eb..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD +++ /dev/null @@ -1,9 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "decider/src/main/scala", - "src/scala/com/twitter/simclusters_v2/common", - ], -) diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..e153443a2e0e910238b3308e8a9554117f564d83 GIT binary patch literal 36784 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 aWiiy&VSqO)Fb9Ehl^{bRFnd^bgLnWf7rr0> literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.docx new file mode 100644 index 0000000000000000000000000000000000000000..5ba2973a96436d73d74c125efe367f7505b282b6 GIT binary patch literal 36781 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 bNLdWEbr|5y3d}*EEG@{82+SU4-5?$SP}90U literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.scala deleted file mode 100644 index 838835616..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/DeciderConstants.scala +++ /dev/null @@ -1,7 +0,0 @@ -package com.twitter.representationscorer - -object DeciderConstants { - val enableSimClustersEmbeddingStoreTimeouts = "enable_sim_clusters_embedding_store_timeouts" - val simClustersEmbeddingStoreTimeoutValueMillis = - "sim_clusters_embedding_store_timeout_value_millis" -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.docx new file mode 100644 index 0000000000000000000000000000000000000000..b1fbcd9832d58ebf27ded044ed25cf5302de2650 GIT binary patch literal 37041 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�~ls=_5UYH(r)^a!KaC3ak3 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

NB(+Jf3bmiu!Yxo{NHQN?L$FQ#KUEIH&QBYp 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.scala deleted file mode 100644 index 5aa4b4f2c..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/RepresentationScorerDecider.scala +++ /dev/null @@ -1,27 +0,0 @@ -package com.twitter.representationscorer.common - -import com.twitter.decider.Decider -import com.twitter.decider.RandomRecipient -import com.twitter.decider.Recipient -import com.twitter.simclusters_v2.common.DeciderGateBuilderWithIdHashing -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -case class RepresentationScorerDecider @Inject() (decider: Decider) { - - val deciderGateBuilder = new DeciderGateBuilderWithIdHashing(decider) - - def isAvailable(feature: String, recipient: Option[Recipient]): Boolean = { - decider.isAvailable(feature, recipient) - } - - /** - * When useRandomRecipient is set to false, the decider is either completely on or off. - * When useRandomRecipient is set to true, the decider is on for the specified % of traffic. - */ - def isAvailable(feature: String, useRandomRecipient: Boolean = true): Boolean = { - if (useRandomRecipient) isAvailable(feature, Some(RandomRecipient)) - else isAvailable(feature, None) - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/package.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/common/package.docx new file mode 100644 index 0000000000000000000000000000000000000000..317943c84e6bc4d0fcd56cfa9ac7aaa5ee8e64f8 GIT binary patch literal 36712 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/CacheModule.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/CacheModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..a8f23b243245cbf6dccffe8656494780660889ee GIT binary patch literal 37150 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/EmbeddingStoreModule.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/EmbeddingStoreModule.scala deleted file mode 100644 index bff5d491c..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/EmbeddingStoreModule.scala +++ /dev/null @@ -1,100 +0,0 @@ -package com.twitter.representationscorer.modules - -import com.google.inject.Provides -import com.twitter.decider.Decider -import com.twitter.finagle.memcached.{Client => MemcachedClient} -import com.twitter.finagle.mtls.authentication.ServiceIdentifier -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.finagle.thrift.ClientId -import com.twitter.hermit.store.common.ObservedReadableStore -import com.twitter.inject.TwitterModule -import com.twitter.relevance_platform.common.readablestore.ReadableStoreWithTimeout -import com.twitter.representation_manager.migration.LegacyRMS -import com.twitter.representationscorer.DeciderConstants -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.stores.SimClustersEmbeddingStore -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.EmbeddingType._ -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.ModelVersion._ -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Timer -import javax.inject.Singleton - -object EmbeddingStoreModule extends TwitterModule { - @Singleton - @Provides - def providesEmbeddingStore( - memCachedClient: MemcachedClient, - serviceIdentifier: ServiceIdentifier, - clientId: ClientId, - timer: Timer, - decider: Decider, - stats: StatsReceiver - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val cacheHashKeyPrefix: String = "RMS" - val embeddingStoreClient = new LegacyRMS( - serviceIdentifier, - memCachedClient, - stats, - decider, - clientId, - timer, - cacheHashKeyPrefix - ) - - val underlyingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = Map( - // Tweet Embeddings - ( - LogFavBasedTweet, - Model20m145k2020) -> embeddingStoreClient.logFavBased20M145K2020TweetEmbeddingStore, - ( - LogFavLongestL2EmbeddingTweet, - Model20m145k2020) -> embeddingStoreClient.logFavBasedLongestL2Tweet20M145K2020EmbeddingStore, - // InterestedIn Embeddings - ( - LogFavBasedUserInterestedInFromAPE, - Model20m145k2020) -> embeddingStoreClient.LogFavBasedInterestedInFromAPE20M145K2020Store, - ( - FavBasedUserInterestedIn, - Model20m145k2020) -> embeddingStoreClient.favBasedUserInterestedIn20M145K2020Store, - // Author Embeddings - ( - FavBasedProducer, - Model20m145k2020) -> embeddingStoreClient.favBasedProducer20M145K2020EmbeddingStore, - // Entity Embeddings - ( - LogFavBasedKgoApeTopic, - Model20m145k2020) -> embeddingStoreClient.logFavBasedApeEntity20M145K2020EmbeddingCachedStore, - (FavTfgTopic, Model20m145k2020) -> embeddingStoreClient.favBasedTfgTopicEmbedding2020Store, - ) - - val simClustersEmbeddingStore: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - val underlying: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = - SimClustersEmbeddingStore.buildWithDecider( - underlyingStores = underlyingStores, - decider = decider, - statsReceiver = stats.scope("simClusters_embeddings_store_deciderable") - ) - - val underlyingWithTimeout: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = - new ReadableStoreWithTimeout( - rs = underlying, - decider = decider, - enableTimeoutDeciderKey = DeciderConstants.enableSimClustersEmbeddingStoreTimeouts, - timeoutValueKey = DeciderConstants.simClustersEmbeddingStoreTimeoutValueMillis, - timer = timer, - statsReceiver = stats.scope("simClusters_embedding_store_timeouts") - ) - - ObservedReadableStore( - store = underlyingWithTimeout - )(stats.scope("simClusters_embeddings_store")) - } - simClustersEmbeddingStore - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..77ee14dbd7174b800c3ce876c2edcdaf7cf016fe GIT binary patch literal 37357 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 A%>V!Z literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.scala deleted file mode 100644 index 08ac0cb93..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/RMSConfigModule.scala +++ /dev/null @@ -1,63 +0,0 @@ -package com.twitter.representationscorer.modules - -import com.google.inject.Provides -import com.twitter.conversions.DurationOps._ -import com.twitter.inject.TwitterModule -import com.twitter.representation_manager.config.ClientConfig -import com.twitter.representation_manager.config.EnabledInMemoryCacheParams -import com.twitter.representation_manager.config.InMemoryCacheParams -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.EmbeddingType._ -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.ModelVersion._ -import javax.inject.Singleton - -object RMSConfigModule extends TwitterModule { - def getCacheName(embedingType: EmbeddingType, modelVersion: ModelVersion): String = - s"${embedingType.name}_${modelVersion.name}_in_mem_cache" - - @Singleton - @Provides - def providesRMSClientConfig: ClientConfig = { - val cacheParamsMap: Map[ - (EmbeddingType, ModelVersion), - InMemoryCacheParams - ] = Map( - // Tweet Embeddings - (LogFavBasedTweet, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 10.minutes, - maxKeys = 1048575, // 800MB - cacheName = getCacheName(LogFavBasedTweet, Model20m145k2020)), - (LogFavLongestL2EmbeddingTweet, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 5.minute, - maxKeys = 1048575, // 800MB - cacheName = getCacheName(LogFavLongestL2EmbeddingTweet, Model20m145k2020)), - // User - KnownFor Embeddings - (FavBasedProducer, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 1.day, - maxKeys = 500000, // 400MB - cacheName = getCacheName(FavBasedProducer, Model20m145k2020)), - // User - InterestedIn Embeddings - (LogFavBasedUserInterestedInFromAPE, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 6.hours, - maxKeys = 262143, - cacheName = getCacheName(LogFavBasedUserInterestedInFromAPE, Model20m145k2020)), - (FavBasedUserInterestedIn, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 6.hours, - maxKeys = 262143, - cacheName = getCacheName(FavBasedUserInterestedIn, Model20m145k2020)), - // Topic Embeddings - (FavTfgTopic, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 12.hours, - maxKeys = 262143, // 200MB - cacheName = getCacheName(FavTfgTopic, Model20m145k2020)), - (LogFavBasedKgoApeTopic, Model20m145k2020) -> EnabledInMemoryCacheParams( - ttl = 6.hours, - maxKeys = 262143, - cacheName = getCacheName(LogFavBasedKgoApeTopic, Model20m145k2020)), - ) - - new ClientConfig(inMemCacheParamsOverrides = cacheParamsMap) - } - -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..d5c0e25b2c671eafe3307d00075456cd95f48e95 GIT binary patch literal 36806 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.scala deleted file mode 100644 index b425d516a..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/modules/TimerModule.scala +++ /dev/null @@ -1,13 +0,0 @@ -package com.twitter.representationscorer.modules - -import com.google.inject.Provides -import com.twitter.finagle.util.DefaultTimer -import com.twitter.inject.TwitterModule -import com.twitter.util.Timer -import javax.inject.Singleton - -object TimerModule extends TwitterModule { - @Singleton - @Provides - def providesTimer: Timer = DefaultTimer -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD deleted file mode 100644 index 3c259cfc4..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD +++ /dev/null @@ -1,19 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/util", - "hermit/hermit-core/src/main/scala/com/twitter/hermit/store/common", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/injection", - "representation-manager/client/src/main/scala/com/twitter/representation_manager", - "representation-manager/client/src/main/scala/com/twitter/representation_manager/config", - "representation-scorer/server/src/main/scala/com/twitter/representationscorer/common", - "src/scala/com/twitter/simclusters_v2/score", - "src/scala/com/twitter/topic_recos/common", - "src/scala/com/twitter/topic_recos/stores", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - "src/thrift/com/twitter/topic_recos:topic_recos-thrift-scala", - "stitch/stitch-storehaus", - ], -) diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4cb511845c55cef263a9f68cb36eddedd2b0d8a5 GIT binary patch literal 36951 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 s!rKB36_kz_x_ sevenDaysAgo) - val seeFewer7d: Seq[UserSignal] = seeFewer30d.filter(_.timestamp > sevenDaysAgo) - - val favs1d: Seq[UserSignal] = favs7d.filter(_.timestamp > oneDayAgo) - val retweets1d: Seq[UserSignal] = retweets7d.filter(_.timestamp > oneDayAgo) - val shares1d: Seq[UserSignal] = shares7d.filter(_.timestamp > oneDayAgo) - val replies1d: Seq[UserSignal] = replies7d.filter(_.timestamp > oneDayAgo) - val originalTweets1d: Seq[UserSignal] = originalTweets7d.filter(_.timestamp > oneDayAgo) - val videoPlaybacks1d: Seq[UserSignal] = videoPlaybacks7d.filter(_.timestamp > oneDayAgo) - val dontlike1d: Seq[UserSignal] = dontlike7d.filter(_.timestamp > oneDayAgo) - val seeFewer1d: Seq[UserSignal] = seeFewer7d.filter(_.timestamp > oneDayAgo) - - // User signals - val follows7d: Seq[UserSignal] = follows30d.filter(_.timestamp > sevenDaysAgo) - val block7d: Seq[UserSignal] = block30d.filter(_.timestamp > sevenDaysAgo) - val mute7d: Seq[UserSignal] = mute30d.filter(_.timestamp > sevenDaysAgo) - val report7d: Seq[UserSignal] = report30d.filter(_.timestamp > sevenDaysAgo) - - val block1d: Seq[UserSignal] = block7d.filter(_.timestamp > oneDayAgo) - val mute1d: Seq[UserSignal] = mute7d.filter(_.timestamp > oneDayAgo) - val report1d: Seq[UserSignal] = report7d.filter(_.timestamp > oneDayAgo) -} - -object Engagements { - val OneDaySpan: Duration = 1.days - val SevenDaysSpan: Duration = 7.days - val ThirtyDaysSpan: Duration = 30.days -} - -case class UserSignal(targetId: Long, timestamp: Long) diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/ScoreResult.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/ScoreResult.docx new file mode 100644 index 0000000000000000000000000000000000000000..b43f972eebb5ff40bfb4e63f6ec30585d3375058 GIT binary patch literal 36706 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 Stitch[Engagements], - scoreStore: ScoreStore, - stats: StatsReceiver) { - - import Scorer._ - - private val scoreStats = stats.scope("score") - private val scoreCalculationStats = scoreStats.scope("calculation") - private val scoreResultStats = scoreStats.scope("result") - - private val scoresNonEmptyCounter = scoreResultStats.scope("all").counter("nonEmpty") - private val scoresNonZeroCounter = scoreResultStats.scope("all").counter("nonZero") - - private val tweetScoreStats = scoreCalculationStats.scope("tweetScore").stat("latency") - private val userScoreStats = scoreCalculationStats.scope("userScore").stat("latency") - - private val favNonZero = scoreResultStats.scope("favs").counter("nonZero") - private val favNonEmpty = scoreResultStats.scope("favs").counter("nonEmpty") - - private val retweetsNonZero = scoreResultStats.scope("retweets").counter("nonZero") - private val retweetsNonEmpty = scoreResultStats.scope("retweets").counter("nonEmpty") - - private val followsNonZero = scoreResultStats.scope("follows").counter("nonZero") - private val followsNonEmpty = scoreResultStats.scope("follows").counter("nonEmpty") - - private val sharesNonZero = scoreResultStats.scope("shares").counter("nonZero") - private val sharesNonEmpty = scoreResultStats.scope("shares").counter("nonEmpty") - - private val repliesNonZero = scoreResultStats.scope("replies").counter("nonZero") - private val repliesNonEmpty = scoreResultStats.scope("replies").counter("nonEmpty") - - private val originalTweetsNonZero = scoreResultStats.scope("originalTweets").counter("nonZero") - private val originalTweetsNonEmpty = scoreResultStats.scope("originalTweets").counter("nonEmpty") - - private val videoViewsNonZero = scoreResultStats.scope("videoViews").counter("nonZero") - private val videoViewsNonEmpty = scoreResultStats.scope("videoViews").counter("nonEmpty") - - private val blockNonZero = scoreResultStats.scope("block").counter("nonZero") - private val blockNonEmpty = scoreResultStats.scope("block").counter("nonEmpty") - - private val muteNonZero = scoreResultStats.scope("mute").counter("nonZero") - private val muteNonEmpty = scoreResultStats.scope("mute").counter("nonEmpty") - - private val reportNonZero = scoreResultStats.scope("report").counter("nonZero") - private val reportNonEmpty = scoreResultStats.scope("report").counter("nonEmpty") - - private val dontlikeNonZero = scoreResultStats.scope("dontlike").counter("nonZero") - private val dontlikeNonEmpty = scoreResultStats.scope("dontlike").counter("nonEmpty") - - private val seeFewerNonZero = scoreResultStats.scope("seeFewer").counter("nonZero") - private val seeFewerNonEmpty = scoreResultStats.scope("seeFewer").counter("nonEmpty") - - private def getTweetScores( - candidateTweetId: TweetId, - sourceTweetIds: Seq[TweetId] - ): Stitch[Seq[ScoreResult]] = { - val getScoresStitch = Stitch.traverse(sourceTweetIds) { sourceTweetId => - scoreStore - .uniformScoringStoreStitch(getTweetScoreId(sourceTweetId, candidateTweetId)) - .liftNotFoundToOption - .map(score => ScoreResult(sourceTweetId, score.map(_.score))) - } - - Stitch.time(getScoresStitch).flatMap { - case (tryResult, duration) => - tweetScoreStats.add(duration.inMillis) - Stitch.const(tryResult) - } - } - - private def getUserScores( - tweetId: TweetId, - authorIds: Seq[UserId] - ): Stitch[Seq[ScoreResult]] = { - val getScoresStitch = Stitch.traverse(authorIds) { authorId => - scoreStore - .uniformScoringStoreStitch(getAuthorScoreId(authorId, tweetId)) - .liftNotFoundToOption - .map(score => ScoreResult(authorId, score.map(_.score))) - } - - Stitch.time(getScoresStitch).flatMap { - case (tryResult, duration) => - userScoreStats.add(duration.inMillis) - Stitch.const(tryResult) - } - } - - /** - * Get the [[SimClustersRecentEngagementSimilarities]] result containing the similarity - * features for the given userId-TweetId. - */ - def get( - userId: UserId, - tweetId: TweetId - ): Stitch[SimClustersRecentEngagementSimilarities] = { - get(userId, Seq(tweetId)).map(x => x.head) - } - - /** - * Get a list of [[SimClustersRecentEngagementSimilarities]] results containing the similarity - * features for the given tweets of the user Id. - * Guaranteed to be the same number/order as requested. - */ - def get( - userId: UserId, - tweetIds: Seq[TweetId] - ): Stitch[Seq[SimClustersRecentEngagementSimilarities]] = { - fetchEngagementsFromUSS(userId) - .flatMap(engagements => { - // For each tweet received in the request, compute the similarity scores between them - // and the user signals fetched from USS. - Stitch - .join( - Stitch.traverse(tweetIds)(id => getTweetScores(id, engagements.tweetIds)), - Stitch.traverse(tweetIds)(id => getUserScores(id, engagements.authorIds)), - ) - .map { - case (tweetScoresSeq, userScoreSeq) => - // All seq have = size because when scores don't exist, they are returned as Option - (tweetScoresSeq, userScoreSeq).zipped.map { (tweetScores, userScores) => - computeSimilarityScoresPerTweet( - engagements, - tweetScores.groupBy(_.id), - userScores.groupBy(_.id)) - } - } - }) - } - - /** - * - * Computes the [[SimClustersRecentEngagementSimilarities]] - * using the given tweet-tweet and user-tweet scores in TweetScoresMap - * and the user signals in [[Engagements]]. - */ - private def computeSimilarityScoresPerTweet( - engagements: Engagements, - tweetScores: Map[TweetId, Seq[ScoreResult]], - authorScores: Map[UserId, Seq[ScoreResult]] - ): SimClustersRecentEngagementSimilarities = { - val favs7d = engagements.favs7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val favs1d = engagements.favs1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val retweets7d = engagements.retweets7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val retweets1d = engagements.retweets1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val follows30d = engagements.follows30d.view - .flatMap(s => authorScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val follows7d = engagements.follows7d.view - .flatMap(s => authorScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val shares7d = engagements.shares7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val shares1d = engagements.shares1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val replies7d = engagements.replies7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val replies1d = engagements.replies1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val originalTweets7d = engagements.originalTweets7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val originalTweets1d = engagements.originalTweets1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val videoViews7d = engagements.videoPlaybacks7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val videoViews1d = engagements.videoPlaybacks1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val block30d = engagements.block30d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val block7d = engagements.block7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val block1d = engagements.block1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val mute30d = engagements.mute30d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val mute7d = engagements.mute7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val mute1d = engagements.mute1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val report30d = engagements.report30d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val report7d = engagements.report7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val report1d = engagements.report1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val dontlike30d = engagements.dontlike30d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val dontlike7d = engagements.dontlike7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val dontlike1d = engagements.dontlike1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val seeFewer30d = engagements.seeFewer30d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val seeFewer7d = engagements.seeFewer7d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val seeFewer1d = engagements.seeFewer1d.view - .flatMap(s => tweetScores.get(s.targetId)) - .flatten.flatMap(_.score) - .force - - val result = SimClustersRecentEngagementSimilarities( - fav1dLast10Max = max(favs1d), - fav1dLast10Avg = avg(favs1d), - fav7dLast10Max = max(favs7d), - fav7dLast10Avg = avg(favs7d), - retweet1dLast10Max = max(retweets1d), - retweet1dLast10Avg = avg(retweets1d), - retweet7dLast10Max = max(retweets7d), - retweet7dLast10Avg = avg(retweets7d), - follow7dLast10Max = max(follows7d), - follow7dLast10Avg = avg(follows7d), - follow30dLast10Max = max(follows30d), - follow30dLast10Avg = avg(follows30d), - share1dLast10Max = max(shares1d), - share1dLast10Avg = avg(shares1d), - share7dLast10Max = max(shares7d), - share7dLast10Avg = avg(shares7d), - reply1dLast10Max = max(replies1d), - reply1dLast10Avg = avg(replies1d), - reply7dLast10Max = max(replies7d), - reply7dLast10Avg = avg(replies7d), - originalTweet1dLast10Max = max(originalTweets1d), - originalTweet1dLast10Avg = avg(originalTweets1d), - originalTweet7dLast10Max = max(originalTweets7d), - originalTweet7dLast10Avg = avg(originalTweets7d), - videoPlayback1dLast10Max = max(videoViews1d), - videoPlayback1dLast10Avg = avg(videoViews1d), - videoPlayback7dLast10Max = max(videoViews7d), - videoPlayback7dLast10Avg = avg(videoViews7d), - block1dLast10Max = max(block1d), - block1dLast10Avg = avg(block1d), - block7dLast10Max = max(block7d), - block7dLast10Avg = avg(block7d), - block30dLast10Max = max(block30d), - block30dLast10Avg = avg(block30d), - mute1dLast10Max = max(mute1d), - mute1dLast10Avg = avg(mute1d), - mute7dLast10Max = max(mute7d), - mute7dLast10Avg = avg(mute7d), - mute30dLast10Max = max(mute30d), - mute30dLast10Avg = avg(mute30d), - report1dLast10Max = max(report1d), - report1dLast10Avg = avg(report1d), - report7dLast10Max = max(report7d), - report7dLast10Avg = avg(report7d), - report30dLast10Max = max(report30d), - report30dLast10Avg = avg(report30d), - dontlike1dLast10Max = max(dontlike1d), - dontlike1dLast10Avg = avg(dontlike1d), - dontlike7dLast10Max = max(dontlike7d), - dontlike7dLast10Avg = avg(dontlike7d), - dontlike30dLast10Max = max(dontlike30d), - dontlike30dLast10Avg = avg(dontlike30d), - seeFewer1dLast10Max = max(seeFewer1d), - seeFewer1dLast10Avg = avg(seeFewer1d), - seeFewer7dLast10Max = max(seeFewer7d), - seeFewer7dLast10Avg = avg(seeFewer7d), - seeFewer30dLast10Max = max(seeFewer30d), - seeFewer30dLast10Avg = avg(seeFewer30d), - ) - trackStats(result) - result - } - - private def trackStats(result: SimClustersRecentEngagementSimilarities): Unit = { - val scores = Seq( - result.fav7dLast10Max, - result.retweet7dLast10Max, - result.follow30dLast10Max, - result.share1dLast10Max, - result.share7dLast10Max, - result.reply7dLast10Max, - result.originalTweet7dLast10Max, - result.videoPlayback7dLast10Max, - result.block30dLast10Max, - result.mute30dLast10Max, - result.report30dLast10Max, - result.dontlike30dLast10Max, - result.seeFewer30dLast10Max - ) - - val nonEmpty = scores.exists(_.isDefined) - val nonZero = scores.exists { case Some(score) if score > 0 => true; case _ => false } - - if (nonEmpty) { - scoresNonEmptyCounter.incr() - } - - if (nonZero) { - scoresNonZeroCounter.incr() - } - - // We use the largest window of a given type of score, - // because the largest window is inclusive of smaller windows. - trackSignalStats(favNonEmpty, favNonZero, result.fav7dLast10Avg) - trackSignalStats(retweetsNonEmpty, retweetsNonZero, result.retweet7dLast10Avg) - trackSignalStats(followsNonEmpty, followsNonZero, result.follow30dLast10Avg) - trackSignalStats(sharesNonEmpty, sharesNonZero, result.share7dLast10Avg) - trackSignalStats(repliesNonEmpty, repliesNonZero, result.reply7dLast10Avg) - trackSignalStats(originalTweetsNonEmpty, originalTweetsNonZero, result.originalTweet7dLast10Avg) - trackSignalStats(videoViewsNonEmpty, videoViewsNonZero, result.videoPlayback7dLast10Avg) - trackSignalStats(blockNonEmpty, blockNonZero, result.block30dLast10Avg) - trackSignalStats(muteNonEmpty, muteNonZero, result.mute30dLast10Avg) - trackSignalStats(reportNonEmpty, reportNonZero, result.report30dLast10Avg) - trackSignalStats(dontlikeNonEmpty, dontlikeNonZero, result.dontlike30dLast10Avg) - trackSignalStats(seeFewerNonEmpty, seeFewerNonZero, result.seeFewer30dLast10Avg) - } - - private def trackSignalStats(nonEmpty: Counter, nonZero: Counter, score: Option[Double]): Unit = { - if (score.nonEmpty) { - nonEmpty.incr() - - if (score.get > 0) - nonZero.incr() - } - } -} - -object Scorer { - def avg(s: Traversable[Double]): Option[Double] = - if (s.isEmpty) None else Some(s.sum / s.size) - def max(s: Traversable[Double]): Option[Double] = - if (s.isEmpty) None else Some(s.foldLeft(0.0D) { (curr, _max) => math.max(curr, _max) }) - - private def getAuthorScoreId( - userId: UserId, - tweetId: TweetId - ) = { - ScoreId( - algorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - internalId = ScoreInternalId.SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingId( - internalId = InternalId.UserId(userId), - modelVersion = ModelVersion.Model20m145k2020, - embeddingType = EmbeddingType.FavBasedProducer - ), - SimClustersEmbeddingId( - internalId = InternalId.TweetId(tweetId), - modelVersion = ModelVersion.Model20m145k2020, - embeddingType = EmbeddingType.LogFavBasedTweet - ) - )) - ) - } - - private def getTweetScoreId( - sourceTweetId: TweetId, - candidateTweetId: TweetId - ) = { - ScoreId( - algorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - internalId = ScoreInternalId.SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingId( - internalId = InternalId.TweetId(sourceTweetId), - modelVersion = ModelVersion.Model20m145k2020, - embeddingType = EmbeddingType.LogFavLongestL2EmbeddingTweet - ), - SimClustersEmbeddingId( - internalId = InternalId.TweetId(candidateTweetId), - modelVersion = ModelVersion.Model20m145k2020, - embeddingType = EmbeddingType.LogFavBasedTweet - ) - )) - ) - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClient.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClient.docx new file mode 100644 index 0000000000000000000000000000000000000000..74f054937159cceb9f9a4ba3b72bd1f6d388e5ce GIT binary patch literal 38479 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 (s, signalStats.scope(s.name).stat("size"))).toMap - - def get(userId: UserId): Stitch[Engagements] = { - val request = buildRequest(userId) - stratoClient.fetcher.fetch(request).map(_.v).lowerFromOption().map { response => - val now = Time.now - val sevenDaysAgo = now - SevenDaysSpan - val thirtyDaysAgo = now - ThirtyDaysSpan - - Engagements( - favs7d = getUserSignals(response, SignalType.TweetFavorite, sevenDaysAgo), - retweets7d = getUserSignals(response, SignalType.Retweet, sevenDaysAgo), - follows30d = getUserSignals(response, SignalType.AccountFollowWithDelay, thirtyDaysAgo), - shares7d = getUserSignals(response, SignalType.TweetShareV1, sevenDaysAgo), - replies7d = getUserSignals(response, SignalType.Reply, sevenDaysAgo), - originalTweets7d = getUserSignals(response, SignalType.OriginalTweet, sevenDaysAgo), - videoPlaybacks7d = - getUserSignals(response, SignalType.VideoView90dPlayback50V1, sevenDaysAgo), - block30d = getUserSignals(response, SignalType.AccountBlock, thirtyDaysAgo), - mute30d = getUserSignals(response, SignalType.AccountMute, thirtyDaysAgo), - report30d = getUserSignals(response, SignalType.TweetReport, thirtyDaysAgo), - dontlike30d = getUserSignals(response, SignalType.TweetDontLike, thirtyDaysAgo), - seeFewer30d = getUserSignals(response, SignalType.TweetSeeFewer, thirtyDaysAgo), - ) - } - } - - private def getUserSignals( - response: Value, - signalType: SignalType, - earliestValidTimestamp: Time - ): Seq[UserSignal] = { - val signals = response.signalResponse - .getOrElse(signalType, Seq.empty) - .view - .filter(_.timestamp > earliestValidTimestamp.inMillis) - .map(s => s.targetInternalId.collect { case LongInternalId(id) => (id, s.timestamp) }) - .collect { case Some((id, engagedAt)) => UserSignal(id, engagedAt) } - .take(EngagementsToScore) - .force - - signalTypeStats(signalType).add(signals.size) - signals - } - - private def buildRequest(userId: Long) = { - val recipient = Some(SimpleRecipient(userId)) - - // Signals RSX always fetches - val requestSignals = ArrayBuffer( - SignalRequestFav, - SignalRequestRetweet, - SignalRequestFollow - ) - - // Signals under experimentation. We use individual deciders to disable them if necessary. - // If experiments are successful, they will become permanent. - if (decider.isAvailable(FetchSignalShareDeciderKey, recipient)) - requestSignals.append(SignalRequestShare) - - if (decider.isAvailable(FetchSignalReplyDeciderKey, recipient)) - requestSignals.append(SignalRequestReply) - - if (decider.isAvailable(FetchSignalOriginalTweetDeciderKey, recipient)) - requestSignals.append(SignalRequestOriginalTweet) - - if (decider.isAvailable(FetchSignalVideoPlaybackDeciderKey, recipient)) - requestSignals.append(SignalRequestVideoPlayback) - - if (decider.isAvailable(FetchSignalBlockDeciderKey, recipient)) - requestSignals.append(SignalRequestBlock) - - if (decider.isAvailable(FetchSignalMuteDeciderKey, recipient)) - requestSignals.append(SignalRequestMute) - - if (decider.isAvailable(FetchSignalReportDeciderKey, recipient)) - requestSignals.append(SignalRequestReport) - - if (decider.isAvailable(FetchSignalDontlikeDeciderKey, recipient)) - requestSignals.append(SignalRequestDontlike) - - if (decider.isAvailable(FetchSignalSeeFewerDeciderKey, recipient)) - requestSignals.append(SignalRequestSeeFewer) - - BatchSignalRequest(userId, requestSignals, Some(ClientIdentifier.RepresentationScorerHome)) - } -} - -object UserSignalServiceRecentEngagementsClient { - val FetchSignalShareDeciderKey = "representation_scorer_fetch_signal_share" - val FetchSignalReplyDeciderKey = "representation_scorer_fetch_signal_reply" - val FetchSignalOriginalTweetDeciderKey = "representation_scorer_fetch_signal_original_tweet" - val FetchSignalVideoPlaybackDeciderKey = "representation_scorer_fetch_signal_video_playback" - val FetchSignalBlockDeciderKey = "representation_scorer_fetch_signal_block" - val FetchSignalMuteDeciderKey = "representation_scorer_fetch_signal_mute" - val FetchSignalReportDeciderKey = "representation_scorer_fetch_signal_report" - val FetchSignalDontlikeDeciderKey = "representation_scorer_fetch_signal_dont_like" - val FetchSignalSeeFewerDeciderKey = "representation_scorer_fetch_signal_see_fewer" - - val EngagementsToScore = 10 - private val engagementsToScoreOpt: Option[Long] = Some(EngagementsToScore) - - val SignalRequestFav: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.TweetFavorite) - val SignalRequestRetweet: SignalRequest = SignalRequest(engagementsToScoreOpt, SignalType.Retweet) - val SignalRequestFollow: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.AccountFollowWithDelay) - // New experimental signals - val SignalRequestShare: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.TweetShareV1) - val SignalRequestReply: SignalRequest = SignalRequest(engagementsToScoreOpt, SignalType.Reply) - val SignalRequestOriginalTweet: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.OriginalTweet) - val SignalRequestVideoPlayback: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.VideoView90dPlayback50V1) - - // Negative signals - val SignalRequestBlock: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.AccountBlock) - val SignalRequestMute: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.AccountMute) - val SignalRequestReport: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.TweetReport) - val SignalRequestDontlike: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.TweetDontLike) - val SignalRequestSeeFewer: SignalRequest = - SignalRequest(engagementsToScoreOpt, SignalType.TweetSeeFewer) -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..8b8376276e29324903bfebcfa447d4caa6fb6760 GIT binary patch literal 37762 zcmagFWmsI>vNeora1HM6?hb(jcXtWexYKxWx8UyX?(QMDTaZ9-_qVh6KIiOx?!Djl zXYnv+)fl6yRRvmCA*2N#I~$V=!P~7@$!dae$q(nVqwN zs)xOqlOB`1txaQ+oWiOI>X)+@tYl^(5-)KStg;<@8heH~Jc;V`8y>AC<`Y?nhr0>B zFtr)Q5E!PojMO_HqSZRVF7GBP9dU^hJ-rN#d@{&l@BH;Vrc-n7J;^vynMLVc!nr}1 znwAXj_tRY9EW0)Rd(+r z)VuVb_r?@mUnYFr$R5P~B(q+Yn5fh!t)jhwZWa9F1YjLRRWo}CnWgb&$Deb&s!sp8 zLt86a)yMKEP#VwkP8>PoxF>*?x}H=o5hjhTBc{?j=&t|njF3U(J(tyhJQG=lWLlkwCgucVu}_m~#4H zivOsh2h}H$drj%Sm{HwvnX8is(QjZ3>d@Ao&WKitNf^-CN+Xv9l_sEFBRbP) zxcD&60$>1AvQ3=f#g(l;Y}~@{g`1qE4gExpV(rmXQsqrqad--lWgIZB#bpkrqswAj zGqBqp+Z8|SlwU9%28t`F=(|%~!%TLd5Aawt2o%q>?0(p1q#&Qv@SHMt*$7nfwVx*X z#ZsGcrrj8`-R3i(1fhWvWC}1*bOhKtF`ED!&3@nHnepTD z{Vb@Gcixh7a_V7MsBn@pbl^wfAEhz-=8Qffjqt*t+cs_ z2rL7wBo{m^dB8|^N*`)=sT@AgaoYyU6|YKLVdro|hZS$N32D{2rtQ(>lGPVTsEri# z>%*X-@_vRHO$`hi!HMew^g9%Ab`hmiWw#b}wyp3JCr5|PX;(HM*=9@77dj6+|v8P2*bJzy?&uUoX4|yYs4(kYw)#1bYtCI(0PEcjg zrC92NXnGC?(_@wMFpTidsTzt^V_szS#uFDru=Y+0^wZ8O$RZmJUPbNl_TJx~%|s-B zxz^qfoF^$ZE^T~OVo?Y$hkU92T<%daEy(#{_vT0|ISC0_3c~1x9ctX8+>&NFR0>Cq z1fSKg^L*knlog_v^G%)UPqZ8hTOAyMS#ptMA_n`**?0E?2tRO43bsUm-)^Mr%QH`D zR>5$>8;F6UHVqrDFKjjsdQIar3-OsJw*K1P{Ob@wA^=gOMm=NwD08 zM&UCxBP3ZnUQ_;YhpB>8uxf~!BAM{Xm>8elg!WY9;6Qv)TTfmm3M-ov56zWwI~dps zz6YR&PP7)pRs7(py+eHW8Se#^>B5%vVC%s}5b?+jh6mVE4^NbG0&nv&8aYnn-(s_w zk|Z>#u}Q%nl7XY4PnVIMuKK2nwrd4On;l_pOFOhqTl-mnin1 zvQ!BK-#@l#wyB)Sk5J6Mb$U@7kpP2me+&`Fo;IF6oiN=mUyXD4!_!R`;@aGFoMPvk zoApR?EP46>J6@a-8;r;d!!UW4((*Puf%pCOdBoDf3QD*n2x4~;6T}?GCUwB#{1;r6 zqRzypk5=#Trc*3Gd?CH7RguPWc5Umd@)}RPRM5n=dJx$nHFKZdb6J z7{rP?Mjw3#&G<#RaN?Vyq_ddbk7cfziLcuxS@!IW4aij^vM^D)VL(Zfr;o^9MG6qt z)Rt_k3}-7k2-SH9p6>W1q}($iK09QXUmZSJ^#Q z@}gv_`izF^jaWJMA)@T(P0;&6hJ3`t#}|#b*zhQf_)rF9E;9U(AbFGbvM20L#KmJm zLXV2q)C})AhT;P{o$f1~8ux`JjE0^Ou}Nd!Wzn{zuiP|TvH zj#|zuvqfjol>#x&rUa)FFE2R~#&{ga?RLC>MJW}?=G=N?e;I-Pj+nZHuik${(K+N| zPGQ?}u^YY^0e=@2=!|Fk)ri6@F=u%2!*!Hf*^eODPBlf27=%D|@MGqc|30)7PPnI0!a6UN<=hKYlLl)(EnJFx~@#z1AE z__3EXE6s2hb?X30>&}h}e?q_c0*)o9!gRJG4oSr0>PeBWU5~yxXF|fKgq z`myHc*cR7NrO-2zBvjysxCi(#-3Qn0qRznHHjSV3;j^qXO5M&JteBcTNQN5>o$HM?Jp5sF2_hHISHOsKOU4vGv3UWhex^hbP6O zW-8inJ2-FdbYrphrJL5>QgsU@SWak|H#G@j%eJiR2yJnz&22qLYXJ`zqM|bsaHk|m zD#+faVvb-fj(TZ|pl&qA(nJi93L=vV?r|hfZ~Yv{m8i3xcU`J^xy7wTvTcsPCd4L4 z_|aCeb?ZA@q0As#8wu)upPTj^9ZwP!D;AwrpATC}syQYl1@d4!L&gIg;b*2M$1qP5 zFd{dr;p>JYe;R*g>`_2UewB~PRBnMv^bMP z5WW-{nBUU755zaO4dnJ@eZGpxpMeaGtNWC-|1^1TO4>|__EXmk8rcJ#Gq5?;tW&P10^wN z<+D7p0(!AV>pQRwyw!W%pZW{Th_lw*-#LFg74EE+w`Hd=#MCU0GxJ zF^T0vXIG2N)U#*B4Tlx*Jl(acEJ5%9OBGH^Y>r>m(%<%tr@v)!+Mk$d`1n=^aN0;S z%CrCURq|~tBl?xL+zBVgZmH#mkA|!SA65lsX2M&_?XP8|2L>yylZs+^(LQ9p^rf(R zPbNu0AeE~Ur`i{5B_kMEuEt!THO{o+R3&02@e(Vgdu7GH5|Z8zD@XZUn%DX9YRl%^ zp=(SCtneujx4BC3n7k`W8*F?3@{dsD*5&oizzzQ=R)z?v?9Yw39G?9AUV829MRza7 z*Bi9l87$+&Ba!=eo(cr4M1$r+6iQLD2fI-H!SlH9^$taMN2AG!KRPaZoel;`;oH$eA88X~DjFui7i~L70@_751Ntmz^IzIvc2~ z83%PW1fZ_wkHzcHp8W4i*q{A*qNqY33+|V*SA@Rc1k574i1)wpsM_hIstdh?rB>o^ z#rHOK)=e42cl>wnxO}pyZD%KMRTeh*ap@aA2Jl2epkU4hE1IDTSfHdF_tZl6;*I3r4s+8j$0c-OJXMe zt5HaHma}I&*~Mg4%VlSU^_K8@np5wVe7$-=9~xBc(!8M_IVYvz&e_4Yn|o6N-xpYY z1oMV@0`a0f|7SVfD0BlT^}7tne)fAq%duVa1rsm{w{Gziakj#m43%xj%VPEjQ69>= zG?gIh;P;c(JXY5;i36VU@XlVa5W>4ck;Mc%yo8$8O5++Ijs^S9zoPq-P}^cVt(2(m z8?JrgS-GC6hT?q){LcK(Tt}5-^G7g)f$6J3gQ5H@*G|qJHfB!0+XT?NXTpwDolkdn zUcSNe58K!vu;D2?uy|JjBd^Y^+B0@J_Ss+GzTte1IWh31Bo!f6Q&v;|SQcN$->I7bG-`X~U znSm?B`pL!T)BOh_DSO-FtH;gdFXP9T4IXPY+{MDg6}>&33SW3bBkSI-E$g+tp5|A_ zJ>9~E-|RI3{b+aXyI1=+?(a{^M?M?eg%mIL0~>{i`YnLVS;JmhcCL#?U*wH)QYMdT zginPtU$KQ`9Y0(sZV!h9-WxElK7mBJZTfDUpo|ZnJg)oje0vcVn-o0J*Z{q{*n06v z`4RzzD151W2j38H+h;FMkKM+1t?D0eKO(`pF9(@)W}if-Kblzg3!jMyRzUh#9l#uEw;g=c%A1z@Yo?zyV_87BZ9N(AMgMM>gxR>ko z7w0tH=NjO0$EJW_rQ6wQNDB997PrFjn~(k(P_Qc7Zt)Fcpes4DWu^N>{$Mo*uyg<8 ztya5RDht1>O-G9Bf%dV7%kz$vlKS<2b>Efy0Fk%!V(_g!lz{5iSjI!2IUlzhUmYQB z2d?hx?nfk}a+K{76jo*8J~d+F3ZVfBpHN!w&{?31YuEMgiRB)3%)x`_~kFKbV;$-usLx4e; zIJtV-ZDvh7R++6Yq(ipq zl`5^(K&r)k;9G}Y)xz}C$?T*3ox{tp%o}{?*mb(|)H64*K9$ zflPRNl*HTaq%NuynI`Ch3_T- z^S%05$1vtXMF(qoKDd(2MRxN`Dc)D@aE8~Xb<0lvs z1v$SbKZ7Q*|1}AFM=~Aa?l9EA1abNpiOiChs6It#d=;=VF#puto|;{6(6KW85I;O zX2TCg5=6%TlE_E`N9}D!8-vt;W;AfY+8@6f(HJZ|&K5Glx{ll*)( zxc+qG(yC`S=q38xzc}HV`+3RzO6PuPHoJP;z53_8kix;<{%GFzeblC~Uh|CvakSkI z)3QjCZuA*v9NycL{X20+k7+|xhP6_{jLpF{lG{_D>r#dr(%@YkgCoO{!~2!bNwcjymZR6;~eWiOKI{7Xq@%tqePq(w1%I7KMQS8v;vIciZ zs9`!a?Cny6h4g@z*MajQg@bXn4QHaT4w zNuN#@d^04_H7JVamQCwCc1#Txju*4V9#BBfPdGVW?~%vR-N)HiRI8rUfei#}743cR^F0Q1y>sF~d?+w%?a z+RdM5aIL?*5(Q4I?!n1_UB3oZyk23>Y#6Zr{RdEJG$Q%ANBKNQ*M>1OMen(=D;>zSl~~JXupIt>GUQc zlj9@y^ef-h^BlCrK&h`p97kVZc^};shdwb3BTsEg!ENO__-%1BEdq39yB*rMxygN= zizpU3&LmB$aH3c{Kd&J%J4T(8S)jh`cOGIM?d*#ab1Qww=ly~x*TTfn>zpgYt^2tm z29egj3OvvW3Dw(j?52>mh*_?E`xAzbH#{q$5wCVp!PtXmh!)0VJ4rDH+OW?TWwM-d@w@+Na$fuZJ&RFNX#_+g}_! zfOoG+Zwn`nvp=7Y>{*ODUR#7SZ<(K`hoL=R!BCddJz9jI3^v=FQ-*IyAC%*sI1Sf= z@=H#goRB5u#;L}$Z&Q$^Bk|ihR8O;%TR#N?zE#aXJ!5otdn@@}aB4rRNjx-=JRkv{ zuxhaBZ{lH^J|fwWzF#^@^T#hw{**S$#916=D&Ow5A0+nc>L{y2a7u%<#zjE+eGL&Z znA7y}^Uv5`=nI|vqUllP!frAGZ?~+1Jb;!-V|Ef%-q`qkFz*ym=!9cjgA#hMilGIc-zQyzbFOG1wtWiz_=fF802POBX9A~!3aVhqFDv!fG75qmjRvZ}f+ntk$ii618c z%mS+J7)=@?oBEH32rH?PN5W0HYgq(5om9d%w8AczopF55#gb||EX+zXe!rZJfxVa# zcQnR9VpWBgIuyZ8;g|Q#;#0za>%LYc$NBssy<0YdvCFY#n?t#d%lMveV+^_~F~24- z?342FRx}zl4nvDkOHw0_=j>usJC&nup!Pm}uaWbS92zYf;yV^zre>JIPi8;=1jXqg z?ohgXQd)+SUQ3kgt)>;_@0)pS$376Njbg? z2@4>jkbdi7)_>)A$IDlAB&4Mi!yhFztvOLCgLsRVz23BD$VU_WE=s_QHDO>{KU3n! z>vr4l`?vn-&8Ah()w8qs#Wc14B!n+-_pgr&1UMC+P%>C}x|iHJYSfH4^AY4#Datomm{*+2pi7mgTJOADJM`$VK z7n4KJ2ZvU^U#U0cDThg9F>OGw;1afm-X$;sT9US7cfi@_j2fm5{4f3E8u)8&k<11m z=Nm@Lki|QM7(+}yCirbER2_=tdD^KSE}rMG445T4MK_Ss*-Pc|P;{#(B(4#@)nIQW z+22*r|9GJWVihj9T`AEXW!+YC&5t5?T+J|f6lPYd7ZS%+kM6{c8PCP9@MO}|{NN7* ztsVMI;YY5`)FxI6^Q+2KTlAA~l4iFg`z|h8)4L><2M#U0sS@(8jD=YSt%6x^t0Vhj zGW5|OD|y7~c1jS{D}1e!3r^OQS6iikP=Mp@%2hY6c0UZuEY*yTS? z@`$qS79g72Sk$K$2o@LKW{@pAtw4KOwQNVo#bS?o+~JVsB!mOxYug?5$z|qm-jZeAHZwE_i@#@5*`p ztZaSwo&p_DO6HTYYb&YO6ob?agXS_O3%iUwH)rvaw*~6VbmRO)>|2} ztst&>uX&+e9$%_CL0unzK|r^Xi#awMU~vs9{;akl?ZcN5wf0fNc!sNzv@6j_x-%19 zK`c*kdTQNLMzFNj*-BrI;cPpA;(P+q%q;7~%PMLPD@Q$UBn^`KB zklr*f({d4~7CD58a7Uyo=h4rkLP=&yR1XYev8ct{dG~reD(&6T;W8rq;4_&3z3JR+ zKkGTKz0ZfRMOOZN)ilZRGadY~f@aFh_wl;}Q^UYx=gP2epwDw|4lrRg5fhSD z$c%=!HmDYp(j^a_BV+C3b0mg*$aor4Z#6eF4*RMGan)`?KD#+x_pk1$l=fnj^zN$1 z_xii+zz;kEZ-lsLLfbsngUu~F_?wh4oUAN%MUM~mFW-tMx7`tNo7MiRbNVPQMT~;OC|H0r%6jZ7qkfX5 zwrhxVcGT4elSdT5F=z7iHl(`}uV-uzV*RM1fi~(OzFYP>$%3+JY=x>=2X0+Jgr1K!M7oya|x#km_t@`Ds7DW zm3Q%Nl4E{BOAYC(&>i5mt~jxhB~c8YMkaAT?=0(YJ@I~y&t`v$Tvx;@2;I=s*}^@H z>co(Dy5@4RS#)*Z#Bzb_g!iU}k=aV>NB5j{h{idGY2eit!OrEbW60$;=?NnaI{(4N zU(_peYh^HlUlxElgKu3d1ld{3{mVLfW9W3Q4(At?sT+K!+`-ku=P@rudx&a+hC zM@=yR-_!-fh9B23;t1KbR5InY`8ytXfz69ce7Y+q^X%U#Dwx4P*cz55UfU&>G}PXM zU%dBmasHsD%>Q&_3!}WU6@nMZf&A=9K^f|MnFiFY>hc!)wb>^-nnRiDOq2tS*F$iU{(6U-F%y{^OfR!7S*JD21u41|o<)1X8!?8Y0ykTBEBLM5 z5@F<^6zdaCt?g9VvO0v1R5Rwe7`OsW%08-~Zkc|=rzY{bOoXGon>3kxefRwLR7ZLf zuvN#`ST`SUBfhmSzZ*F&4VJ@E0)X7H-}y*&{^4Hom;2nm-4B1e2NH>Omicg9+kJ<; z^t5`Jm7Ghjw`y{c%vNHC?ojN(I4b0oKuIaXxrslCwJ8qp^yrNGUV^i+6slNl<%`~# zj_==*rA_66cC%lRX8SN>G4~0a8S^~I(-L{6zwk)1)0CfLwKPXxU!jEKD408lY_5D| zQSz)vvBpJk&Z;c1gxg}?raVz7Umw9e*N=MclT#=WliF3AejQ=-iK-%Vb&5LPO&`7` z+L78xNWL38W9*_zL={usMuu8FqxoZ`C+$`+M3y4+B&lbMYG+A`O^7MK<=j(s|9)7Y z>uyR8$z5Gvst6M&4cdG5#VZt-xlP3nlq5{BG$_45H$JIA0*&;^Vd=uNQ-kEUb>fX_ zu`7xE3h_u*e!JwKI4?i6uOFSRrS_>chEn8}mzmSR2|T>xvune!d(>tpoEjyU z&9Pf~OqB#K$O(&A&Z}MPL~Z140FuJp<^V`+bS0tG0#&Aw%D$R(Mqdfm*Nn56wky@g zOX_c^lCDdZS%Sq~f!`W=qy_~Mx~KyEwXLkp_`}E|Exi2C3_eT|A;or;S+>S_=c|wFdRX`-Md(-e~R%&ONC0gvid7vo% z#UsBfg9E-@e4&U|W9W1=#LPlh0!IT1De?PHQPpb}-nLdr5xqX0$|I$NUItYtRR)M7 zTog=XRj9f1*C*EZme}4a*x;kC@l6S|BQ0HLQB~v?DABS8^9^v)T{Cp^vr7j@^bqmW zmOD-^nBX2E7)79{`r%9AG;4SX)cWYiegn}MZSo{qHzQ# zqU`L@6jRRC%RS+OsjPipLV}CtQ`y1z;x5N>SJ* z#EyXx>h@0QsIq4|H#_4@db6Y46unMwcD?<4?u76ac59`r;hkcso;E_kB@-i56Hrn4 zo!avcIs(hC1ezD)9Fo`3@>hq}$IFKrUqquhpH4(d8Y29t5Bd(|t;j5*ocj{H0q{+QG;%aK5L6GjOp}hL=!v#Z!IoesqG$L*R-ZXiQ5~DgyU60TW0tM;j<*dwTAo2_6EXq+ zqhT81ayexLZ5F|}3G4ZlN!TD}-S(P31678+Ki3K-L>xq_7>Og83Y^5d(7_QzGVEC_ zZ1K2ddD8`G2uE0UvzT8;>=C3NxO-;81`oYxiY`wUKacvcW;QMtb@;qDeF0bD;L3^aZ8SZAVC+_8Xwm00ilD=!GnsXO&F<- zClRAfLsMLGXMa<|Pb{-W*umT@dW0 zJ+pV~A3|7|mDN+HWT@3c{{7ol8fM}e1-Iw{8&YHaWV_4|tMXYHys+!ib!!P8U}32|N~y%JBoHwua-McQQauQ-3<~{7|Q@9(;sK2BE z`}9Hswv+M4I3uNu>;g=a3H4N%nfFe{Q0hBD{V=D6Jni4}?MQ5)PDjOFW>Z=o_JM^! zdq@ZQKgN^eO}SW87X`9;sFN?kobW8zuH7l8v?8qjP{K7rGF6&=n#60d$BLi)$cq0T zg}H?Lgf1c(7?Xc0bp4+SFEg$}CgV0MxIC3|MNdlJJB~V*=)ztOGCh4MDYZU1OMKejIH) zyg4|Gnoy{UE}q+a*tg7&G`Fr}W+^US*5~vjfSGdsReRdsCv(~+8N~}*ccTw_uun3= z%m9$TWSz12R5sP`ue2zU?3Y+2`VJ8t>0QDHZ3V>Y7O(%vRjzb3>eb_A07vWh4~-3O zN0MBL%oOTJgS?4`kr7x$^v>3rpF>K_*(k$f*uGVs>O*%YHw&O_si9bmWW|WU78sxp zq0}_yVL+?1Z#I%iubs8fG|t(WF$A^Z^@3h1mbX?%v>*m9$EfXG!~{~&K><-mww`aj5L3}v<+ zqEj~49RDKkGn9Ey*0@K|Xja1f-sk)s_E4oYj=9r7f3wrSRq(!ny$vCg@U87|>|@@| z{o>Bo&LXJdf+q$|v~Qd@1#N<*_T)CjLdomu!J`B2jIsXkH)1t&UZkj$$6%BgOA`#j z$Bm8Rcu=m7>-2pjR#eu&T_csuAF^zxVOf?E(@-`RW&8NlpTDc9ebC#m4_^QppijzZ zzaWsM!Q@$D8GJ3h`$C$w0G>wmZA}z-YF%yu1$TYj?iMY|A-C{6BwoyCnP$3%AvYUZ z1iv(;I>{|RTTomU-PW+Br!YYWu|r1Sr=O5;#UOE(H@umv~rXK z2_g7$N@+Kv0kvMV4=THd!r%MEN*ac>K}nMrKqF1fU(|y0F!~o#m4Q@Rl`d zM#yW)qy|iBEKO}`rjU91{btWW+_78JtBQ}C21bq#?m(+=O1u!_y;?J2C~P(xz2Z;vs*farLl*$y^l zt~V4QcH$bMq{?Wg_#^;*H{`~ z89*#)F8hMhVtZca4!!{sb1p{u>)_Uyb^F&sL#h!d2iO&EAEGRCI_wpxMI*)d zf5b(J{uYNDbS`#bJu+&%#rvy=Gi?18j0RH4o(b*F*z zEG0mPP@{u|-ijY%6(y0dSCtu1I`Q`L!-)d4t9}HpdEf7rZ_sN&AYWMAgzzrtZXh6Z zv~NUK(5_}S9BJO`1{VN@&C+G{{AwJvhE?~8v~XBBk9IwoOT~iA)M8F2To&}@Fuc8L zjmcc)*)9Gl*w2h_u5O=v+W9Zqk0FW zQL8xni{AX@Twgb7egJXv0HAjTHkCcp_o+XBp z)(|21fQ0^~ElA~UU*G6z(z4Tx!9NV5=S$Dp0^a%+| z{wC_0u6C_VpL!m{_trT=>H_7!?*V$Z^w^$kE|^W&UsM!nxI85I8mF2FYe8PuS$Fw# zTW$9?=%Mi&Lr2uv^K;L3Vvp8;mufoO^OrIXdu8*;^NO&v$Y1%hhb`4RE@JDxeDOKA z^_evf%~EQhwO$+ObXtH`qOSE9y_T{03>S=!|2{d#bSPO)nat!aNWRgYr;iHu3)kMc z^qh7$)WAS&Gl95qRtO%NS%AMJGO(B&EK}w9=VO_j#4KSe(1kHiZL@k(^3$_4X9b?| z#>j($0WoM7dP`ejm<%zmw7iUV9a^tQL7+^&U_OrPhgK!Kdtz;4fMh5Ua>XHh=7LFi z_JTO2&_`6&on!Z~>LhjtXVJ%fSV61@)S~OPQH*8W9JcJP4Zv99BK|?KSaxZ!&^19x zHI8B_%KVb*FLswlB^UBZd3N$mtISEa>a~!gT`TDBOYs$(8}XHrtq-&T2tY#S`$k91 zG$!}W=bYjI;=Y0`etQ~xNY(S%#V5JcOV8bB)pPd7t&l9pn;Qta`&_(q1YnW8@EGCO zYrcVa?{XKe&CUSgvY2wLXS&ZHJ! ze*r7DIh#h~Ob&rzJzw7dRf;+`c!aT@Wf|{t4@7)A{Sbg9Lq#B>*_bkXOIK6De*i}f zAOKSmW=gj{Kno+OKw&-OR=d4)cD~>s;W)oXgVlaA839(7%fLzvjj@|G{`ji)L&G z8I<1~fJ^5VsG@Ap!T^u^OVCjmI@O0foYNf*zu?Y`oYX#jHhlW&A4m%@{F+oDVbvFnskHW?v)v#=U_Fxs@dtZ)bX5`c$N))@*;6>L)?~cWVF1x&&f$+8g zTTs2MQzMk9@+2J*Bx{bpdd!&FNN_h`-Zif)v6um_$VfKC{5T9_UPUg75|sDbNX=86b3m@Y`}nv>pz@ zu;9bthU<0MJ((fq*+^vb0v~orDg_&ksEkLnCs?CO{geKH<1hMR6AOVYXi)I`+bw|h z2=Mm(L5}}+r-dBey??pJMj@c`gTU+V0J?cVVn!Im${=bAz)Hs_CP`5+=GqsYp0#$y zkE#@MeM&BL+sMHxqx(>~CHkqz^ZaY!q@og@uTxqsUDS)>d4#+p=VlZz6_eEGWUa-8 zhcl|Hbik&4eYjr8vk9@>fH|m#b#;;+M-D7f@!>od# zWp^7!hFd&b^EU}&GxVRF#cR5TdQ6MsV|XkqwQQLc{zGHWGu~_#01i{RP}@2-=C4r} zza*C`bSTxSrpLlxY&|O8ZR{s&zGtH!zo{CN6+uo++IyTehiTL*#j(`{qsPEa(oCJI zu)(}!bM0hYRjhHUkR@>qOL9p}ih8~nG0#RBvB{UIkR|KfPfSloXG%FXGeg4ts+lUk zAYx*cb-d~nhunTrUl)Af!G58`Xkm8ru4oDU>#*Tgrhiy32|F(MGt;yoR1Q{9?+6(e zD9YZ$3B%uAKx65z_>d`9TrDYucSZc~hP0NPQWiN0VU=%EdVl$4MsZ2^Bt>)C56@09ZFCMVMQ1Of3F^&vdc5b6v`>R zDB5h47bqO&)~d{DE(J{6+&cHIeQ(#Ci%fFjP81ag);m~iSCW|0-P0IuqY4Uwj??d4)a{Mtu6gWouAhZzoEhL2l3?HJ_7OcnbLCH9;52kiiO zC=56%RN2_35(_WzVsbw_k>2#Dd_x*wxrUcK^T==qj>Ndl39*eE(*CQbO1t{2sHCKRYs;GNCcfKt_QeO>$3+v^)c;n2i1Me3 z;GQc&`En)oDl3=DfCB|yB;C~JaAd4kmnDGkusO1$4Z!; zp~A%`%GvGEqwf;;w!_$nrKIodK}b$hS9OzyoagV)je5;Nu}$t#XRUat9A1@tjv}TC zJkW^0ibuz9g&CShBoc}z+@1vKJ zFI9K)^nlfPG^mi33`ROS?lXlBF{D4fdy#s3FH~MWrA8FY$YB-;;tBu089 z=mhwcR^)wbE4$M$a_If5@2k5<*OO1{dL`HK-R8SDuKRtvR^XCA)k5~B@70;XE`WM- z?c_G%W_QP4t^Fl?dVF2)^6BQZy}BCZ>@52hbhLk?b5&4) z(Ez)>yR(9*DSdr^_7#AVp5m6Skgbj~?q$PE7P0

@b6j{6jJKQOiWp8jx zLz+|eJbha_-B$OU9Q)I6PAzXdPq>#C;u91Or09rwu4)VnLb6tJLRJSCfB04*U9P?E zUVLDl9_FvMbKu#+jcW)SXLh$E1zdSkYn}Tf9jDnG0M(CIy8+yQ>cs_htIC&_S4T^F zEf|Rvz9^;J8CNUrt8L4RG})Y#kTc+O$A%3Kadra#M^Di2&wjl4zAdin)d>jN5%ujA z53XJTQ;2v8R$uD`3Hgcmhy~tUp7}Q_?%La{HyK?~%IB*`UnncPE6~M-Cl=c0eH_hO zmrg9&=gGX-_y|8u3m4+B`99RFS|G!g56{1}XWXnCjH-1rXKilsPfeCSR9*kLGJbjR zc5HpU-6XENOXa<0Wqo)B*1p{K|61w0J7Zh7ecietjA?XeyuN(puZxR46VEBu-{7CsvP%8NYdY+J5M}nLToNc*{yY z_B~6ES=@cYC*FT69SoUV_4M`5`2;I?MwBm1lwAEYFGIIZzo7rw>9PFanz}u*RvaHt ze#}USf+ ziC<;V^)@|(T)E!1MI|eHT_pO3c30g_kFVU=O4nv&-KMr1V6P4yob25EWZHw~E;>qkIKOq6cAFIsNPn%_ zv{Sy-F&TG&vyo)3R)|=)(f~vm^8n?vHr6+r%ZIhS^5b7Bhx(YOBSQ9O_d!PmJD*%0 zhV{$hvbo)eqX|lYJ@B4;#q$TnFM53;#2yTfl#sn|E0%6t06olSc)bHu>x838z>d=}uLf7c9 zn3@dk_jfeynx?s@(@%<{bjS?JF5gT6wc|g3ioQP{PE=AkF6I zHG2||>KF{e&3&+0r0W$CaVa!wp({oi*Wa{XyH+yco9|oB*gBeTvDf2~(Tv&No|={y z6HG(I+U^}X4XWJ6`GpdgpuHwf3LpX%Y6=lF$(MAXE6{A}AQmv)bby~ER;&C(170+G z@Oq^f45REn>~Hy~^0S4|mJz1*W1d7$7{$7Nup0_NuaVl4h1VosgW#z^vjd;J*Me9G zZSwQ{G@t_(BHG93*N?Z2-D4DGkGOR{R@wxHtfC5CN$3Crde8YX3Ntp3-#`u@ zGh(VwPtzGD?;u?p);~B7-^uvt1Q4)#mB&n%Pi_~M2m{_lT5lS@9Xy|g?CoWa_1$4a z;>!rTj{`ScdHx?^?*Ludwsi}~cEz@BRZy{ZY}-af72CFL+qRvG?NnTqRPc74bMJlM zx&M3bZ@XosrL~~u2%1) ze%t8yB|qF+eKx*euk8$6ziwm@&iHO*#28=4dR*TUExhf%($@$^ltM!gedoKx`0)cP zRBqpsdkcG!2j?WpL?AaC9bh7mlWpR4u_OX#;8xLpX#vql266oQVh%DUp9}3A;Jro? z=XGm>9b`((CU8y)BN8^W^GKCZ;SR2@-Xo{ax9iMyVZr8)7%cf@to zYh<=v{)&)$NwO@7Z=sFm0$I*=F8o{q5sUbj?)Zyf%e7DywWwu2JN~?^L}i=S)|JGB z>VfW6s6z)mfonfd!n%cDYGL-jEkvusd~`_Pi$V^;;T2m~w#hY0V9 zid$gMeeuvjJSrEbmj8`(6#lHR(t&L)_9g;WGc3Z2gyEmA98*47`V@+wJoT)Q5M2S+ zCE|FaCO9u3*ROKR9*QpaSYOgP=(>ClaNEBU6gbJte0@9M&Gyij@9#NCxo*tum+ao{fzT58O z_1w0ZV-#QPI4EM5l2Ff2X_rqZo?d-;GROL6BGK`|jWK69x3-qJAbfBP{McWDvp4ra5@>TAW^*tdJdz_NROS=2Ccm9I(>vo?$glhn-rvs9;e)YT&yLhM^5YBTIjPG zfPUqs^)Ee09$36>s&?dAQwd11D>jx51nvWCTyupIygXu9j;X;BPj{d(Avw}Nvm@E{ zG@)BQC#EXN(0{p|%&QY#zGF@Af#ZzzB}7|b>!kVYHKjhgBeKrpV%IHzJ#hcsw1>&O z(U2SV*|i~m&@(pM?Ayd=b65EV28Go8gX^_BBo%+aINtdx6{d$o_M;#Ek9;oh+(e2yJt*K9fDI@~>3!2xMK>|TMUF}i~)szY~%u4>2#VS<{@vpSsuyz|7__JR(YX-e3jY&>U1)@@?{TZf|*SAL4Q>IHgZMf5#R?Pc1?(Z9noVK$WnJa(VxyBrh#is70!V^rp zm@jXB)-&8huQ^jJJtC~m_+CoLVH>jgP`05J`|j;-T3jF^kEOAkU6|6@Xf;7pYvD7& zr@WJ$@+mum@KO7EzJkX0e14>~ODi@;`(oZ>;lb)n4GogV3i)nwr@#C@^7 zv*P&e8TY`fN1>FnXvU1M+3H-Mce!btX{j7~Vn?X<-T1a{D=BiD>Ff**cK=S9AV5)0 z{~C+vYr88ukHfp;cmFfC9y_=37Qq=Co=5pb zv^&wHjJvXrcKcJdqzczG#Z!we0c5>M)0HQAEwZi-*tgnebr>fP6;|PIZ9&{1j@c3k zo|}lfa)by^T258>qnCFFH1CgTzbPU_2AkpI3KJ}81yMF{_xtw*pF&wX`h2gV?-cU} zy&V;-U%L6WvL+PwbWBz1k-Kp;s+?Gp z)Z-1GC5AFUY&5ZNvRfj-F(PgW2l^A0>3a#| zh?3{^(xd)Pi9vYT=oi^6B8k7-EkG?X!Z44`Z!))n!2+=6mT`e3ON)RBA~nve?yx7kegUeZ`JAn6TB$t8-|` z;UW!G=GB3dwma5&9H4$=8pmWa%X>eQOjv+YTg5tP^{B$~IIBdlI(eBF=lc<|=+$e< z!VJwf6T{1%AErK28|A)btzNXFnol|AB};WLV7u_YTr)8JUPngW0w$k#<-l^LV$@pt z@bPbbZF``AE6vbl{nQx(%+$2O;PCbD@UHZli3za7x8IRRNsE>|d(9k?5PNNys=c*r zzy5{*ewh$yOg3SFohQ=p`EuRcxrEs|;=V)()?R9_bDy1$UmGb4Ir#Vqnaf}qZZ)&| zYqw_)Pc7mcWLMI*kRcUA?_q0#3{oGh+tuwZlgDNDoEl``3FHm*YjbGtAXpmz+-Few zA%&f``B+$R?Dv+<>mO1II?zoiehxaUIgIo-dmim;nC;$oC#B2x!n;x*x^V{WU)guVYfxk`Jy!*vQgryYH_N%=0uo zKQLfS28;b=MBp@Si0rORtstU?*Nol?K3PVwiDyt}i!jiA z#!(vsd|a8nre=!zN$fy(y$d$XX6AxyAi~cQ(meyN&CGg1*G(QTE(fp6ZP`F#Y`Mu7 zv90bs8=`B(O+2SDtHKncuLd~HL0;epEz!blTyMwAKIp+@l(lZo5_{Vkyg+WzRJ+?I zY_V<&-8jSBF8sznpjPt$ADfxueLu|rn!RP6Tv=Cx-Tq!8NSd}we@RVou>VWy&yv+H z-l#z-cEdX>rmyJN(Zz#8yW3F^o0&G8i+~QUYlnR~@FzP5SB2jv+wT1~0zd!%*#X!i z?{mLyI&rjdVIqV3dmX^HajnBCX1myvuI3_37jUi075HAu@#nngjWcS}lhQT9JGUVJ zgt|uLF=s!OY@1dhZua3qwjr{ycRdL~MFvebVX zH(0JjN&T{GP3_N(ZRc<7>Tl1nFJ(uQ`nk-}kxaNh=sT?V-sb-6&ZE;qrX|~pGjw+| zpe^+t?0bVHb8_o!4j*D{W^3%~*>z<#h3Bg97G3^IGm2dZiJiDH&4~Xuxiu;`cMuqD z5Rxm;Tazk4ZK13>qCUNs=D~Q;FjWpod4(wzA*Qs?pSA!FO;#1oKGJ(s;|&9iDlBy3*j?@ucrQ7QiU=hdnu60@Gx=297leAKj$CUySY)qH6heUglo>l0#9oto__ z8G&qHEoEQr*Xm8G52WaBeFuBsS`=u{y~qDp0B=7nZI9^OH^(#A(h6nJgn&R}fAwQy z**H1Xjl1?b%k)!XACCy{d&=T15iXO;$=u?rJ#I#*jAf2Ydo6k)&pNHQ45aPf zzf*^OIX8&RU{MxEQekzouGAtg$4_18KYt|YjlCWX+U4@#R}rcYlUQyVo-6sB=C8vR zXhvd4(BwZQs%YnPJlO6ROh6u2izg4qoQYQ4uHBBUy3_uihtL=25D%z3)+Sb~rwOkB%pfpJUz~A|nAQBcru#sI>;%VLLt$uTBFsb}&?&@F zNyqd;5(+|+&`qDuIuKwO38^D8w11(H*6Dt#E3MGA4C~8kaMOYuajRe?6`k8h7hl$! zG6;e}Aq63*b7VME2?ObyLqK48WRDQxGQn~gC%OWJ{m+mnp#Khev1Seo>3aEBNZzNA zrF!#!h0KCNAr%ViLz3&uQJN?w0duyZvBtpOpm~f&5sp+&V-hu(MIS-1GlU`&HMk`U zL|W@iaiJ9jF|dFN$@4syP~--xtthp-w)px5LMRV2W05+v9_-LI1O~+Ew{Q)g=Qe%Jcjv#*Io81i~txC)x>{PH5XK41~Cq=&(Zsf@~Y5ABF_%lL&+!bLOm!m0B#E zPk<;bi~mY7S~zSIQ=+(Ro=3YD!~m3NW6~{-P#6da7#}<6HBO<|aD{H;gf%Km`dqt> zB?k8MDrXQ3FKaN5HL3<%FiW6zT0ab`#_L!f_)`r_PGWtc=ap7K{^x;y)aVz-#bBYoQzk z)Gr?g+vwa9UtEv7?azSu{GSI5KtTFy^v?0|=?+-;P1}40W(C}O&R;uDuSxysAfOwP z5m4~+o_!4B-s$$OdSA(uecswqARYS+L^m}x8Fm-lgT6-Y$K4rtJQQnD{y{n16r;WY4OL8JKSO%u-e)mS- zpO@%|emWT*1{$+!(rDD>Yt$0WSSxAxB3`lzLwjobGx6J~&T+$N6h^=78m-ou$d~Bi z?D6X3p=*Ir8BBx@gUcK?GDYaS?1*1y!2CAd2Nv$AX zdrwq7-|vGlX{)(!lE`|!EP5aOgwO{GMk;_KD2nDYy7a{LyJQ4un_tpTMO{9ckvA`U zk6inYlk(vsSm~H4>Bm^O#-|(J%((70wL6ODRyQv^T|QIO+f#DxZ`EFJidpVefboFT z&v3OnU3x*QxleU;$B*Wp-Q3?s+~559a^a5iDdvxoGcQ2+4 z0~evIJ7KF#f)u#=CR!S18TuAc`Sy#%FyiVb)G|9dt|d^lxq}yf3tQdkS^WXLf@w8x z8YK1}GgpC37YUz+y56f~kZO0ZYkhI$&4k10uTfFe zYKioG$@F?(lPtXBEe+ExeezjCdN62lPh>0yFYE{Y6QyI7Xk?E(BZ=O9z3}E``a;b8 zZIt!P7rl?-bCfQh#IE;S69JgdPf#2cn|Vc?-zc1wh#t$alb(y@hjTW+z9nGpJp%ED zE>d&RqM2A3=-H;3*hl7Czr+uCyUM!10bNVW>`u?TdD-~+QeEp|JJ4e2t7sb8{hqMU zZK@|I2CDD=wmxYA_X`l%-)0hcN5@57E~h`9rSc64BarooSLJdX12m=S|Dxv{=?Gr0 z|DSs7eQ{*SS`aTT$hA%%?@ezDCAU)__xBFrd7cLw5NYJqt-dPFxa|rL1d=}zx8Hh+ z2x!VsgATxhRA^Q!f>)!4oe+EfK3MUl@kE4Z30|k9*HW&9`MrH*a;ZNL6x*UnZ_oLynOiMcw&`0A z2s(A1kQ~9M3WqZVwYDIglx_qkoI}I;HVQhm~Y1l8!jaVfpQ^aZO?XRvNO4)G^ z4>9bbY|cXzVP=mY;OQY2Q0Ukc8IC<#;+n*m1)5K+VP+`P#2Jsy!C1zApDTu7=cn}2 zzOV;cn4R3Mf=ar68JOo=K$)IGO(o7)21hW#Ex=JQNU|7F*I&=CszsQm_rein`-Ab) zJ`l;$M~Kl7Y+=SEOOheX-st>%0aC?o=cn);fjP$KKA{ql3{Xh%aI>B?3pbjtKt6xsL$Q-&7zVEviAR<8 zj6PAkf=!WRgzuvl;Nbi%#_9hm#zLL_w`FrBO?tYXuo5NPZ!Impa}B}b*3oedIbH-rgqn1v9UZ8%-Rg z>@CxoKi2J<$8w?oqYL-)XTekY0+&zegZ<}@%MrO{h-O203?ha~PW2)6Tm+$2<_@^q zff!!v6^bh8`ga>5BG)`ZLI_||L|Vj^9xt`Ktpr3gUYD!Oo*(bq(bHc=n?J{a&m(cybHMF1Y=jw6Dt|qnoWr&r)Kh-LpXXYq{e4?&bOvJTK*|{p48eACY^Jqq@n!F-#XsMHyc<<{~sh=3pBHQhaX=QQk3+*{bj|cv_DonDg7JbsSIevr~ii)BZh~; z!-r5Op$&<5R^H?u6O*^=xWlVfJ%$LapM5~ws^i}1Gp*(_rmT3Rqnd1O+aWr8XSRNz z>rbt}aqQFsI3)t*iisZyviiHPV4LiY9$SD8{z9XKqR#c&xM5648We zZ`jTu66<4e7l0q3mU_I0WAnZn7cGaPfA51NC{3cfV82hL zBbgq{!my#3NjA7eG~$am1xzGZ72yX94TjGt`HR!H=VK%_T%bj-#R(VrOBOqCl^0=QRMijV^7+r`tN!#J{F7%;4d&?dBn={gx#!VqzWaKkvX z{FY-CxwNYkX`lnj^>|NFtg&hRIWSZ@7*^N?|HD<$d^EqR5xgGC2vI7U$g##)5|TvI zDH==+CZQXO zm?5A>h|ob=Xx7}cLp(_s`@}0kRV3vAs@w5aoaP@U;~df#!c}{s79KOW`J{Ska}za@ z97ZBgz~IrC29L%|)0oyO(#%E`sYtv-xFOO8a?2BTksQ;=;6u1bFwNvE4ojS_)Yh3_ zfToEksjFsPU@JANrsxz>(+}YSf>I(ljE<SjtnC52we6FpsJ+)b2tq-&TUU1u8xxKQ~J_>kbc8FjjMZqkq`+9#u z>=2D6dA>|ocNg=1H4CYBEKCqU`gxdvu;81OXuX-!I`pEX6S zNb5(&QB_GZ&WjLN8uq{rY2^6{(dbVLoC#bjG_s>V%VW?q)Cba$qM3sM8pi>95ARZp`j|J165sA;l z4{MRTWuB->p6ZIjSxcP}v{0tosw(wVKWhp)#OA+ZQ2fRB0P+v=R%gVWGlI&zWCb@~ zaADY62()#;x)273KmxC7)r@FrX#{%usSrkE>inU7CRCu~IO(Z6kTS3qJSAo74y2q| zAn{+6Nx}X}nLBOP%tmiG!+=vkEIO849)m}~JpWgO=>jjCXpE6D52FN8Rt6?j)2r=d zo%;IXtPuC?I(q76lD zAv;Vvaz(Yi^nyr3%sE`i%}xEHo3>yq6m+f;>zem{8o$zSH&e(Tw@#qy1Ttf;YKW84 zVAr26bCc0^=0QM-@rVRvlxXQrSzpu7@F%8RP^^fTlBkxVsRr}dy^<+KsP8 zClD=6;F_{cw!0h`l&0NwNObgg4$1vd3Emj2co`iucprgiI-()T9p^A{pN1q3UTdQ0 z2p1(xx?C-Ep_Fb5`8`$2gl?`&XIskZ0V0(#{pu5U(bG!XfdBX`lTrF?N}L^_HORKf!WqS{}nTSd@FzI5D69< z4dAgb23%-R&^&B{8OM#$(av?K;41!68UhDYO0EJ_3Q!OLk8|LSXV{j6HAk11-qtdD z#3IL+rZ$t~3W7cw56OlED_tumpB2@folxM%;B%vw+n1y-UQu&yE%Mx*@=WtndYd#O3BxOShUOvS zOpD9~Z7R{3in`Pvae=)R(s8t@o9cKBOBF&Y7H%C;rI*UlTQ)~#9K@&3ch^XHV)3eJ zxRPo(AT+YAK$KTIv!$S%*vf12(xughOliQ)FRajP47pT*@a_#51l$#S>7UU^LYk=B z-kgVVR({G)Ahn5o_B|Pg`0Pg&_&`+JXq$(Gtb!L~)oq4Qy8hiP^^4!$L(FL$*_?xq z#KTJiDJfDIH}Sq-m`E!rQa;`YMfn=4GYFr^RKJjwYS~71ZetiP@%fx?Dx5Q>V<;x2 zitj$s%g>aY0rYri8Rm#JaOz+;nAs6w{JYMrFaeO&Fo86d-lYTN7@^lar6HVK=piB$ z-#qq!UxA>vq0~rQac?99m1X?<$h+oYf=#kD$AR;G#=m!v1Y;`}!kEobefzSS&1Xp8 z{eA@^a*Mr!-a;?3MEn9qdEZ>Swc$5T{bAC+6($G_B=~nA{_vEUTWAxVFTnSP@(mGn z;QHPaQctPtax*PGFOY-@`sI?m8$h&YKnXJ&nFmuyf<*oT-$zbsbeq=v!>taqG)$2A z-GEmd)fc3Aj_3>gpu-5G&X7|l@b4N_UuI*U@=+pw|6d}U+vlnEns3H9zG)l9&k!fwGlOYd@IbBvAQ+M*gYA+y7T!?0=NZ{}KTf zy`=KEXK#Rl1w~%_VVp2x|19BpzxfcV7NZ*e84Vum**|h_q46Amqp^=%Vhog{0QZK1 zbljLA@2+9TwU6A#v5#yv#RLRwTl0CgY~E-LL^@mV9JD;*9(0f6*#cyd$fq1ysK>bA zV0QYsXJwiO4*CXbw&=gt&mxwXCAU!|%<$?rrz3D&QI;e;c-oY;$3ym65VHo6Q9|Kc z6EsG!%o6^-X>!+Dh|@~BF&%rTB@nZ zwwBJh&pEcFn; zM&xfDs+LXkQL>LhTSIM3n&unC(2xThU5GF>w~q*MEV#1Kl`nfPv9 zE~BAM>A2xN^(y>ArzG@dTT%nb`!`_z|(A) z3+TIi?UCLxo+;VkoH1s+Ia$ zTlM;3m+@+=iX@a`9^KkWxtz3&;qn4#2esDT9*7oy%n1Et$kg5$u%%OJFclKtXaSGGfEM>0< z;JR3v2>Pa%qK7lSSiXLL+7krm9sL$XCTH}5@utprKkz1oEB5J@rD6K{dgSDI$H@Fq z?QQ$2hAtL=K4B#07}U^*t&%Vh{8?EF?y<+ITKSZm^h$=Bf^=Gh?krsmZ3Hj{pn_@+ zvR4yf@YgcR)!Luxeoo7t$MOufM55n8(!^dE5bzb)EHGMtI?hWU6RydYpV0ydvs)%l zn>siqymQIIZJgy zlP_SVtu%MOLb7s_I2$CBAYddFi(3Hrz#H(f~8?M50RZBk0rRX z0^pE%b>e9OO2~zdYMwd`;u1oXKEyQ832mhDHtNlT`XW9rD=j}OX$hNN89*(K_=Sf? z$0Ex~iJC2r3{lU{BUKRqm;B*W-5I=Mn)E6Di2`^y&d+*~<-r+F3?mR2TOIayBCX1D zV3K}P(59x+RRoC7yB}iiwAN6EK^`4CeOEauVlE2)_U_##c2tBoCCn2asKW;d{l|(U z@&_`m-Ew}5SSMCw;2i%UNjd==Ev}%XR4+@GS5^fRo#&A6i0dDQM_+>)MvcOX>kqsM z13cW%!FZOSax3CD2H(AQCe6VFae!TmjT53lN9WPu`g45+@2zsLrQ}75-hG|ZVh>&wW{V!Kvrzz;6*{2TLo%+A3G=Xs@X*lIXaOlLX$1dGNmLXc zMI9jOf`fA;TJ#MTc<`X6dQ$@IQ$LY%s*m@E1J4o-o;|&!%lsAvKu19q#QPXg9qi{u zG~$1(Kl+&OOYG6yv8Mn9w8_2xtTVytFsml{X z&r@7B4Cj zmlBssiwgr>gB}kYloF&uoAWh<0TPBf38H?_lG6!`9V(rgPSWw_ScgpxBx9CD_c;Ms z5$!m}Uzv?#$nPi3{~}d!kL;HfkVT6F$+IjB$X2m9+*Yt5F5RP#FiQQ~kadJVe3F3( ze;HDe0uJOOwVD~k=EfhLKDQ?7qy-!&o^B~RBqunh3KO795_jXwchb_?^_=KBd+=Rw#~^7&qg zmK{6~Ofr%q2}VSC`ELmH5nWWIhk|mA&m#wQ201Zwm9X zA->ip_bf~k|5YJrWLobd;SfLrjjWpNNivN`Ur+5L1!9Oj1&c|WchqHzi5D86MYR** z(=WsUno`67pI5)GM`fm0SI*KmL<4b12i-Yy>U#-Ir!nv}ibf*;1Zu-3$(OvZSlOmppT5BGz-&qfEU0&A9`Yj$;(X}T z`-=g~AYho9sk79Rq%?Op{$jwhIr0)QGHIH?kS{W8_9QSty;l<%3DZ)NN^6o-0$2ub zR7PM)qCd`^^I1fW%mfyz1Xqf2k=hH_PN%BKrYPO-!H!#sF@s0;x z(X-wR){$r8|A$Z!UzWS_QzzM!4#+pNc-x2Mr=O$}d(=j$?gsxu9ZtX>bs{MLTb&I8 zP#rf+x8K`2#(%&}4qu$(T}uB3vctrIzF&`$YyUSXR{Fa;-^A?KkN@fsStuy3-wO@` zasvB5I;uIFy0}={ng6xVs#$Hz={q-i&rYd9+nyP0i=*rT%^7*!wj8Am@F4*p4c|a) zAGi__^5u8PHX_DT%+jtdG47scdV8FQM&+5Z5Z&?+lZ^!6m;&ZOL}}<~Iq&CJOKn~a z*_l(qBA96m1bF>$zID7`9SCq3Fj%F7dZJJs9eKAks}(1P)3o-5x5vRj1X!2z)c-2y z`UH4zt{y2qjL^_h5Wg}+gA``H+#GwZTOqyDiQ-{sW_Pm9mZDv?*81}EfZ>71Q9H4i z-Wq9u6O{@V`s`N_r0o&l_5-8-VCv#(a5u{7r;>Ut=1I{BLQ)C^b|BVJ zx_n%OfWvEG;p!R|b|+oEWAL%zT-M7JA|F*ere|I-<%>fWB-3JNbX*2H!m-GdnR|59 z3nc~7lME2EUG$nre5k<5dq_q;;Z_$WN z>7%Wgg1q2KhWVnVJZCZKhnBbjtMM*9ijNdGfBNOMp_PF+0)DGC#Wlf&g%w;a3B=^B za?ZH7TOp)|775Ai7+7A+Ame)bvfc!YHZUu>+1}WEd9;lu0CBi-wI!r{&3OA~=CQhw zET2F;#jVv5rH3_yJ|>eJJuqUO!&%A5(!cxsMOk`UDF_yAer z`MLJxH}0TqOuN|Q7XyI@j_}w3>`4cm&nQiI5xC7kuFht31zg=b0Fm6JeXBO#M^#dJ zp^tLYYAu)AaI3Qe)dB8n`tmyDB(L`J$W3k7O$P}DhKgCftq0()Ux8-HUNZzD$-ymg ztf61l*J02@Yj`5#-oKD>b_CsA%z3|71!E{yn0nX4o`{HZY2)#-Me1YpR8C9Ohx5`~ z)s+orAS-nkDR%NbG>lEgJe25hUYXXX4tHNJOfq_D?wf`u+B&{+)LfcpiTJwQHJiv@ z=f6~r`l7f_Zp!_Xvn|#i--6=2GTTOjoOIhEBQm8sB?MtxE50$RpT-cN0xz@}9*5Vn zLYdCG2V`=1{f@2~%xdtw$R|zt^>#DTmLBeVw7(6kQ~2J4GrgP~6);3921d&6$(R&B z0aHuN5e*lQ(8ADCal&C?G)SpmaIM1E-0OWx^LmcB5L;_=BqlX&Ij8#&nvnqa?k)6 z92XHua1x%6*=M7Vhc^PP*01ypl%lk>Z9n>O9q0$ZS&F<5`G{V+Cqs;BqMuPD0zU1e zqaJOxFljBCQMak3v}adR!h3sFxo*1XVno3XR!|xZL}SB^*Kwvg9kS93Qr?;pYeaDn z%!Qq&M}o99IOBPQMZ$>S#;KD^V(;;G?;=n<*ZT zG9OvvonB$H;7aC;mRXyzJx3_fIrBlBg^9Hc2OMXjVxb|E?r)5Y+39Pj&CFzQ@|cyp z`;0)5N*Aj{v0z0A70NptZsZ*rcV4XbW6Ov=cyiKOkeIP&RFh{}D54lw1l~$#8c3y9 z(w|1eL}iqLu2uEV(9X5)xj|k{mD{TaES1*l`Umrz1!~)klprYQvKCaenpkyzLb!kH zihI`c=XD3=zZWq(RJ{Q!-F^Ii3FGS7jaXY#uEWLOHh57Iq3#LGmTT+1RyH=St=8pw)Td*bWtTI2cDA>%IEZ|4dtW-rr2nCa#rd?DVCl|9i`BvO zX(4ym1bHxSJKoUMcmPpo4rJ9d8ukMM<#Q`bCwBp*rK<2nadgbK9lb@iozxtX z#aJ)gccXV_mXGGPUj3=wTmd^-gz(qdJ4!UE@Tv(sW)Hr&Ez7$U!4|z;6$6LE{*-%x z6y?#Xx_x^{FsAAHA4lK9XIx)XdnhkTJ>_b|E56r z7N)kQOn)6&{_1e1C1=0EiQV&49i`)N>1D$;qC@O*?P{e25v^4uwn3CS~I|cM8=`+7~ufEdF@(oLMPy@+Zzp|`Ale$7>&8$(2PY! zrlCn`zP4~lGRw`8G^UIR)1&~JNNFYYqG<~jeGS?OHxIRmq6Qw8kky-9xDBp}HD*h_`9;jFbZP~EG#H_Tg%te(f5?O6 z7h|Rs?N&mwqp*o>e0ixzTAx>N+(z62xk=)+tL`b}u&3dUT!6s77ppSyT1kP1K*dR& zXG%=)`+itQY`jLpm#snLRs1L`vjI3~48`sc*>RYHA-4(=GtbQPuWN#8z4s=aG8;C@ zZ-AEg)g6JiKHja6CPTx9(%&0jggPo+X`F9D=a)G5hIYhR{b#+td&u+surx0#WvG&_ z{9)p`8gcD=-?=sKI;-unfoJ%|Z8#}!L&x4vCu8Jna=mcgg8wj*slcDE*Xnyxltwr{ z8#WS{_%M}5TPGtzkt_yX^I)2F!%!h{p3ZhI!#7&}vWJe-H}sSgBrJ}HpAx)8=-Nx+ zE6Wqd!TAOE-<0=LlDgVymzGwjip8()EXx(cvE?OWr4Q0P4}V?hpP@z<4ajD{9Hz^s zNYcnP;#yKQqM;p@G0QwG@^ym#5DCY$~YkqW(S* zU|+TsvBHJvvL6`O(!5>9NpCQiXB&M;AmQ@})=s2ejhaxu(_+)VFmH7UIr=l+?zgLR zK`D5(jaG{FQ&!EV1*oVmAok*DJ*dlu|p zTA0N>jA)x(*^OyCT}V+jT(iNM$v?G#7rUM-^75ulf@`|I_nG*Y&$6mA-5i6Z`24Uh zbKd(R35GQT2cYZS7Ij&V3Okbb>d(8IcbE{bY|ye@)b}r%)XZt-VNa+yWk%a7b`5@f_JH+{$~|W= zPL8V8mA$r)-fpy&ouhIE<$Rxn&|S}YRa!?BZ9xWG`TeO}g(6ScR#iMmvFl#KV{mGn zJb^g6h=-98lO{0 zQLTA??$}gi2a(c+HHVNaAv}NUl2kS>@j=xCbPr8Ra>PBGrtyLz5=p~y&BFjB_fL%Y z<3z%9h5~KXr1_D{*_I_>Vm&pTqRf#jhjxU?{IW$vNQ(*#pBBq6k4#P^8`kDntZjK# za6sL2rsv&D>0zB>x!-DafBjbj)f_+G)l%RG9uzQp{RI4N z?CR`dZ>wQz!({1VYWvs6UUgJG+yFB=$WI@!@r3ab-Z1n%3rQqB%=URUA(qM!H2LiZ@a7s0~NSv4pY%H|T9u5Ip+ zB=X=`wBzIG2Rba6OAu;7VCD|xh^N(Iuy11y*i8YSDux3hZPZh|D4W@FC76yaDSFp^ z)d;W^P+u5pptudMsu^;&D1vL-;4)2|f|l3+OP9dJ(Q-FX4;4@s;Xic!-5vHn>i%jC z8$DYO%+FDvcDvp3uP7zc`Ro#?7{b6@TiGk=*VnPzJ|g-6r_>>1^wZ zT-hc}89QHAQjzR;>hR#md2YVuYnM#i;@Ctd&U_A9^m1MJx!WbBAdS*6=0<1+?J z_5%~RtJLXLmCG^1RPoD&^THhK`t_+yni{+9zOH7jykav$uOljP6X4~_J9xY1FuZzu zIP3$dE8>Fu!QdDFHj5W~L+J$culp3zU;njAi<=7#w+7Z^!hzY{f7Tp!uC_*|PQa?n zUv2I+w(Rz~vAcIlh2q6^n!^*>A=sM=gw%AS#mSoQK`627&U43Dm^ZIwu8gPYs~e$ zGOyX;1vi3S6ZP<27HQ>SwqP4*<;uLmS5{8AgS!RSEQKv&HOH>nFsiWf-3WNN;tmY! zV3gX8Lvcq+g?&g$4MKKxh55^o6}39Wen;iyd=@g*J_`w{^r;J{`!A9CqG2)-QzUGJ z_B2MUbhDUYWdS@gT--e8D@k&YToh7QA@ZD^@_sur59xkh9Qd$IG`{J9)Z=uu<`6TG zF%}VUj#9AptMqg{-+nz!7x7?x-2!X~LhevXaBjw2g?FpzRD60xQs0|DTUl@$=C?N} zKthR@khdOz)Im{=SL!OwmAuevrfQQc_N#yGDDLL^DnD6&WI{tfEQ7Hj%-T|L$(E+o z5;MmT{|o**$(@s=LV6(mG~^il@GpwP0{$CT@3p`kxE2)mXNQ?%a7w@FM_47Q4a+Zr=!S()xp{X4%#2DX z=0wFbwrq*DFW&7vgwu0wH`edg-3v~bhM_3y&7+5Negn8&bUs8PuYNZhT{!$S>ZGhc zi5`w2^v6T!mXa`{n!OXMNbcQLNv-LTa$kKIfVJ+P+q>?*k<}B8?!Ni51KqEyt~+uV z>?OtoWtWY?`@Q>9Pk%THyBionpUJtLR#V<^3JUow?c4ni-}eusCZceoFz&>1HIC@| z7tCAlJa_=>si@_P85mo6Zas!d1TfnTcKk|tuz7qnl__7a?)^R5@rV4JG3Mu;Y2LeL zU9R6SJy4YT-N)6AP{)ew7pFoQ-k*1HI&Yg*&0k?^kYsB@qII)*68pYQ{a(Y+cUSk` zA^667QW4|!(E~3hj(~@^hXf6(pr`ZGUH8_d`EE~;SC^hGG5g)l^T4LPwl2@u+@J;r zbE%J??Xm{y>3Z}D^?0@Kda6zsk)C<53wNy#!P(j%9|y|HK!k0ICwQIeBY*n?{+}~e z!PtsOqpP@NIV#Kt z@G6N3NkF5(qhpVdTHSK+qw9m;Zf+I9Dg?#r&s=V;zx8C@Z#mEMc%9f4j27q*&fTGT z!7?L&o4N}>H1$l{HP<+BS4v-EaJqn;wzd!KfmnlCAWRfAE*WWc*tARSz|%(su#bhX zr)tAt@!(_l1zPQOIG({Uqa(``ZGO~}O#^2^5K2goF|u~N_*Re`(61Uvpf2WfdUN#u ztF7}6YAOi>co3vY00UA*6axnqnh2r<4mpn#5fnKPq!WTPIf{^k5<+hhdNqiG9xXvV z;6zkfJc@!8sS*`K4MZ7DhFL!}p=N)H8wo|}q{Qwv>)_qQo( zb4bD+HQ_k27WbTgNg;;A30g6tn0dmvu4(pxg?vG5aF|uK8PkQP_luN!0>N~rLkyad zYHiU;9iA?`j6Vf?^pDE0hZCdE!4{dJlQrwfd&KAYG3H3B7?%4(O2Hx@gI{wW^pwH< zB!rqKRqI2#yBv3raE2(<#o>Q6@2LI zYi$}{xIBqM`xSGA@>h)pp)-P#D8R-0^IpV=aAdo~4#jl*PPJVJFm>-@Al6);`P~*Y z0`)nExcg6t0!N|7W02SNZYGuOB3-c5mhOo(+M|{hTsJ}BSI-h97^tQ!(-7*(qIaqY zFC??+M%D$Sfa`J{%CQcYN^N#!ei=;3Z^q1y@;_tNr%jM@_tqXo?I)W0^5{20n=^XS z=x_TOt1X6!vfTk|?>~olnFTytT|_N~KIJKR@?UEtUaz5`xlBA>wFZ}ZL7o~47gAD+ zph?v(WHv-~B6_1z{Vgjd1xcOfgWMD&t1_~b3q!0M-4X7qgKwOvo>ceMh1{b;LvU|c zO#~A++&Vjo;DOcT(Z>-q2JrNrgFh*go=Xl7B=<^_GcnxsDhNjeMRiEE!OT;_BirRq zqh<{kNnb%^w9=%c?mRWM-Rd~5X|Duje*KwE<7{XxeV3 z=HqJI$FaW+P(5Pw`1+!}(nGyt(``!06Zi7)PYr^HNJ9Z1r7y`HEJ>y3lV)^kEvIG_ zD2n00ImPO_ZWV>|?p^kCX(njbPoCx?p`~1Dx|2k;mo$E^bMeONarlF=CU_M0tGQbk zLwkSaw^|CH^cxjaxU!i7#LGOe>M;>qKO9${!)F5}#>v}pP3Df>h&8#dQQ-I#La19t zPm}!xh$i=LcO?YbO=<18LKRM09g$43qv97#cg#QynfldLOHUvI;@#%^F5*-N>w5-+ zI-So5&F@y=5%OufjH?QjQ^O)XXCDk)6B~pcCpi!&-;L&56m`KIiq~YlJzmMxNJqqd zeOy^EIPnsb`-vZ8If(UnfpXerx}_1wNLlO$cECos_3%V;17525ktoZCx~H% ze(il(cA?1OGV+taEPQH`#xYIe{tv8uWJRT1PN*IKsgZngtl(eOxljJ0^var5w$`47GUP4RoCY|EmPJ8jZZ z9S1AX*slb>E_cVIWQE%M90+FT={WT`)rkW{wkWP%C=VrQ`v zBE)8DfNq%l{L!AsZ{U>sa{Vc`RT z8#t&812%vQ5iA2gdc(k0mH_kMtTBtfiQVAAIb^T`9DlPEnfPs^aj*a!=&}Uf5nBb@ zg}q=GICf;YP?1|*?2#nc0uHrUme8n;Sz!yjz&vz>% literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.scala deleted file mode 100644 index ee9f61df4..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/UserSignalServiceRecentEngagementsClientModule.scala +++ /dev/null @@ -1,57 +0,0 @@ -package com.twitter.representationscorer.twistlyfeatures - -import com.github.benmanes.caffeine.cache.Caffeine -import com.twitter.stitch.cache.EvictingCache -import com.google.inject.Provides -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.inject.TwitterModule -import com.twitter.representationscorer.common.RepresentationScorerDecider -import com.twitter.stitch.Stitch -import com.twitter.stitch.cache.ConcurrentMapCache -import com.twitter.stitch.cache.MemoizeQuery -import com.twitter.strato.client.Client -import com.twitter.strato.generated.client.recommendations.user_signal_service.SignalsClientColumn -import java.util.concurrent.ConcurrentMap -import java.util.concurrent.TimeUnit -import javax.inject.Singleton - -object UserSignalServiceRecentEngagementsClientModule extends TwitterModule { - - @Singleton - @Provides - def provide( - client: Client, - decider: RepresentationScorerDecider, - statsReceiver: StatsReceiver - ): Long => Stitch[Engagements] = { - val stratoClient = new SignalsClientColumn(client) - - /* - This cache holds a users recent engagements for a short period of time, such that batched requests - for multiple (userid, tweetid) pairs don't all need to fetch them. - - [1] Caffeine cache keys/values must be objects, so we cannot use the `Long` primitive directly. - The boxed java.lang.Long works as a key, since it is an object. In most situations the compiler - can see where auto(un)boxing can occur. However, here we seem to need some wrapper functions - with explicit types to allow the boxing to happen. - */ - val mapCache: ConcurrentMap[java.lang.Long, Stitch[Engagements]] = - Caffeine - .newBuilder() - .expireAfterWrite(5, TimeUnit.SECONDS) - .maximumSize( - 1000 // We estimate 5M unique users in a 5m period - with 2k RSX instances, assume that one will see < 1k in a 5s period - ) - .build[java.lang.Long, Stitch[Engagements]] - .asMap - - statsReceiver.provideGauge("ussRecentEngagementsClient", "cache_size") { mapCache.size.toFloat } - - val engagementsClient = - new UserSignalServiceRecentEngagementsClient(stratoClient, decider, statsReceiver) - - val f = (l: java.lang.Long) => engagementsClient.get(l) // See note [1] above - val cachedCall = MemoizeQuery(f, EvictingCache.lazily(new ConcurrentMapCache(mapCache))) - (l: Long) => cachedCall(l) // see note [1] above - } -} diff --git a/representation-scorer/server/src/main/thrift/BUILD b/representation-scorer/server/src/main/thrift/BUILD deleted file mode 100644 index f7ea37675..000000000 --- a/representation-scorer/server/src/main/thrift/BUILD +++ /dev/null @@ -1,20 +0,0 @@ -create_thrift_libraries( - base_name = "thrift", - sources = [ - "com/twitter/representationscorer/service.thrift", - ], - platform = "java8", - tags = [ - "bazel-compatible", - ], - dependency_roots = [ - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift", - ], - generate_languages = [ - "java", - "scala", - "strato", - ], - provides_java_name = "representationscorer-service-thrift-java", - provides_scala_name = "representationscorer-service-thrift-scala", -) diff --git a/representation-scorer/server/src/main/thrift/BUILD.docx b/representation-scorer/server/src/main/thrift/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..87fb52cdddc45adbf7895932ffee021ac5e79e41 GIT binary patch literal 36862 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

UtO^~!3Z_{R*Yye& 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 gSJ_*!%V(ZU3-DcfYbi*Z3|+AW7fM~|nF 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/thrift/com/twitter/representationscorer/service.thrift b/representation-scorer/server/src/main/thrift/com/twitter/representationscorer/service.thrift deleted file mode 100644 index 0e2f23a31..000000000 --- a/representation-scorer/server/src/main/thrift/com/twitter/representationscorer/service.thrift +++ /dev/null @@ -1,106 +0,0 @@ -namespace java com.twitter.representationscorer.thriftjava -#@namespace scala com.twitter.representationscorer.thriftscala -#@namespace strato com.twitter.representationscorer - -include "com/twitter/simclusters_v2/identifier.thrift" -include "com/twitter/simclusters_v2/online_store.thrift" -include "com/twitter/simclusters_v2/score.thrift" - -struct SimClustersRecentEngagementSimilarities { - // All scores computed using cosine similarity - // 1 - 1000 Positive Signals - 1: optional double fav1dLast10Max // max score from last 10 faves in the last 1 day - 2: optional double fav1dLast10Avg // avg score from last 10 faves in the last 1 day - 3: optional double fav7dLast10Max // max score from last 10 faves in the last 7 days - 4: optional double fav7dLast10Avg // avg score from last 10 faves in the last 7 days - 5: optional double retweet1dLast10Max // max score from last 10 retweets in the last 1 days - 6: optional double retweet1dLast10Avg // avg score from last 10 retweets in the last 1 days - 7: optional double retweet7dLast10Max // max score from last 10 retweets in the last 7 days - 8: optional double retweet7dLast10Avg // avg score from last 10 retweets in the last 7 days - 9: optional double follow7dLast10Max // max score from the last 10 follows in the last 7 days - 10: optional double follow7dLast10Avg // avg score from the last 10 follows in the last 7 days - 11: optional double follow30dLast10Max // max score from the last 10 follows in the last 30 days - 12: optional double follow30dLast10Avg // avg score from the last 10 follows in the last 30 days - 13: optional double share1dLast10Max // max score from last 10 shares in the last 1 day - 14: optional double share1dLast10Avg // avg score from last 10 shares in the last 1 day - 15: optional double share7dLast10Max // max score from last 10 shares in the last 7 days - 16: optional double share7dLast10Avg // avg score from last 10 shares in the last 7 days - 17: optional double reply1dLast10Max // max score from last 10 replies in the last 1 day - 18: optional double reply1dLast10Avg // avg score from last 10 replies in the last 1 day - 19: optional double reply7dLast10Max // max score from last 10 replies in the last 7 days - 20: optional double reply7dLast10Avg // avg score from last 10 replies in the last 7 days - 21: optional double originalTweet1dLast10Max // max score from last 10 original tweets in the last 1 day - 22: optional double originalTweet1dLast10Avg // avg score from last 10 original tweets in the last 1 day - 23: optional double originalTweet7dLast10Max // max score from last 10 original tweets in the last 7 days - 24: optional double originalTweet7dLast10Avg // avg score from last 10 original tweets in the last 7 days - 25: optional double videoPlayback1dLast10Max // max score from last 10 video playback50 in the last 1 day - 26: optional double videoPlayback1dLast10Avg // avg score from last 10 video playback50 in the last 1 day - 27: optional double videoPlayback7dLast10Max // max score from last 10 video playback50 in the last 7 days - 28: optional double videoPlayback7dLast10Avg // avg score from last 10 video playback50 in the last 7 days - - // 1001 - 2000 Implicit Signals - - // 2001 - 3000 Negative Signals - // Block Series - 2001: optional double block1dLast10Avg - 2002: optional double block1dLast10Max - 2003: optional double block7dLast10Avg - 2004: optional double block7dLast10Max - 2005: optional double block30dLast10Avg - 2006: optional double block30dLast10Max - // Mute Series - 2101: optional double mute1dLast10Avg - 2102: optional double mute1dLast10Max - 2103: optional double mute7dLast10Avg - 2104: optional double mute7dLast10Max - 2105: optional double mute30dLast10Avg - 2106: optional double mute30dLast10Max - // Report Series - 2201: optional double report1dLast10Avg - 2202: optional double report1dLast10Max - 2203: optional double report7dLast10Avg - 2204: optional double report7dLast10Max - 2205: optional double report30dLast10Avg - 2206: optional double report30dLast10Max - // Dontlike - 2301: optional double dontlike1dLast10Avg - 2302: optional double dontlike1dLast10Max - 2303: optional double dontlike7dLast10Avg - 2304: optional double dontlike7dLast10Max - 2305: optional double dontlike30dLast10Avg - 2306: optional double dontlike30dLast10Max - // SeeFewer - 2401: optional double seeFewer1dLast10Avg - 2402: optional double seeFewer1dLast10Max - 2403: optional double seeFewer7dLast10Avg - 2404: optional double seeFewer7dLast10Max - 2405: optional double seeFewer30dLast10Avg - 2406: optional double seeFewer30dLast10Max -}(persisted='true', hasPersonalData = 'true') - -/* - * List score API - */ -struct ListScoreId { - 1: required score.ScoringAlgorithm algorithm - 2: required online_store.ModelVersion modelVersion - 3: required identifier.EmbeddingType targetEmbeddingType - 4: required identifier.InternalId targetId - 5: required identifier.EmbeddingType candidateEmbeddingType - 6: required list candidateIds -}(hasPersonalData = 'true') - -struct ScoreResult { - // This api does not communicate why a score is missing. For example, it may be unavailable - // because the referenced entities do not exist (e.g. the embedding was not found) or because - // timeouts prevented us from calculating it. - 1: optional double score -} - -struct ListScoreResponse { - 1: required list scores // Guaranteed to be the same number/order as requested -} - -struct RecentEngagementSimilaritiesResponse { - 1: required list results // Guaranteed to be the same number/order as requested -} diff --git a/science/search/ingester/config/README.docx b/science/search/ingester/config/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..d230edd25a26b104236823563a4f433fb59c1aed GIT binary patch literal 36848 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 literal 0 HcmV?d00001 diff --git a/science/search/ingester/config/README.md b/science/search/ingester/config/README.md deleted file mode 100644 index 34f69d6e6..000000000 --- a/science/search/ingester/config/README.md +++ /dev/null @@ -1,2 +0,0 @@ -## Ingester Configs -This directory contains pipeline configurations for the tweet ingesters (realtime, protected and realtime_cg) and the user-updates ingester. The pipeline configurations define an ordered sequence of stages that the tweet or user update goes through before reaching Earlybird. Source code for the various stages referenced in the configs can be found at src/java/com/twitter/search/ingester/pipeline/twitter. \ No newline at end of file diff --git a/science/search/ingester/config/pipeline-indexer.userupdates.docx b/science/search/ingester/config/pipeline-indexer.userupdates.docx new file mode 100644 index 0000000000000000000000000000000000000000..fe11d55a5ff8cbbf7f4ec3b42b4e5e69dc6a1c28 GIT binary patch literal 37171 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 Pxk`{B5tu#p^niE(Ujuw% literal 0 HcmV?d00001 diff --git a/science/search/ingester/config/pipeline-indexer.userupdates.xml b/science/search/ingester/config/pipeline-indexer.userupdates.xml deleted file mode 100644 index f422b511d..000000000 --- a/science/search/ingester/config/pipeline-indexer.userupdates.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/science/search/ingester/config/pipeline-ingester.protected.docx b/science/search/ingester/config/pipeline-ingester.protected.docx new file mode 100644 index 0000000000000000000000000000000000000000..7ff79d6fc6f22147fccb6a066f7898d14ccfd7c7 GIT binary patch literal 38374 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/science/search/ingester/config/pipeline-ingester.realtime.docx b/science/search/ingester/config/pipeline-ingester.realtime.docx new file mode 100644 index 0000000000000000000000000000000000000000..57381fe03fa3a67f5fa1f7a0bb01aa18440385d9 GIT binary patch literal 38612 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≀{JUvU9|D;veWhULo@Yb?8Hs6yC zjA2@@z3uSYz@d^LRsSOs2!$e>UmEvwsqL|xO0&OKVh5}}<{s0q(W}<>0ETXq1oT&i zI`l%saf0NPmKP@=g^Xz1yGRxxW`};#VB>or(3C(^2owy`RJ%?M5p@EzT=fU0U}MAy zg4BD50CWTIFQxs^GvnIHUs?Q2jSp{@fW@4?_Ret6B2J7WB@v`9fWjJLa66HSHaHExMK=2e_%Yf^oB8ZSbd5vB^T)Hytz0_AfNZXe;A1sfj(OCnC3 z07Edr&A?JHNU-cu%U;MOk_VXrMCAU#_*=vYzaYzp2mq`9T|`8`P@QCl_Fn=Rv!Q2T zsoU|4SM!)o5GT$8C_iX9(|O@~E0L4nbP&VMjN{k=+8AHD`3nhCfx$&Wj60J}ohiQq z_0LG78#%&6B?SBKRKVh4VWk!;J;N$B~jC@ue#K2T+VXVxT{ro zO1Is;zK-qirJWXNJoR&ECo$2aN0Ro;{@W^_$}6Gh+^h-;UU2gB!-9z8YY>#VK38ou;o?)epDiu8 zy}xZlOnet=_!140wNC}^wbu~uv?XBs2|ZQB_LCEb>P|$l%!|vbbQQ$B>caiEnBRmdLzOP?7`Qr`0mW+NU+Fo}{J51K!`a#E(ah|4?y5#f1Bp3Rhr%V{Oae zK5?a&x0@F^XNA9YC}tl5bi6tIO9x;n;aVo5|AmB8u6nxH!2PpaqJs91KUREB{;=Xf z;a?CB#Q-Zl|1VYy>g@##>_Hp`)yCbJdyu$}j$N-{4J?^=>cKXB@dR?Nh<>F>GoMZ! zH|LZHueY*l0c-1;T)#xo8DDv2-K>#e6FX3jHRa00;;{iXH2ZH|*|5 zG_b-tc2;=DW}31PjlffR#c&7|T^Wu(mAMQu)8^V6p7B~eZQK(gkr!ixDp)zDRE9tQ z>`HF;dj}|1VGP9)<83?z-snIIiW$*ZtkyZS4oA@5cQn>KA18pnFJxN5M}(#&2Q|L- z6ggr!S|Hy?EDv1m6~n2{2rFT}KKZ1;4?ZXGy0x5j#e@ zS_7dECmw-sS7{&yPN;4l0U`_#gQP*V7@Y96##hDpTR9Ro(}$vZpfdbC>qfOag<%-Q z4##Q2MTX9yakRhD*Z{R*6%A z@@*kg*Ga4#B5jrF(aJDZeL)C7@CY>BdxQB2Gz%pO2K~|`c&>h|KnY#xg;DD;)(HgA zek^#X29ibFc{V2si?pu*(*zY%mD5i#6dIHhwel!v`mtpE6GK_`_sJ`=6TYEa^asM~ z!}Vj)cApFtr_nAJqaX|_(c?M>vxaLo6>ix7U$R&z7H^&3zNo1BNK_F}zOh(;OFK@_ z-G-a>vQ$3wxZ?Qk#{tPuq8r)HSdyf;H!;$WwqJp&auay=y6E4*TlxjzsX^4?+dywA zT?N|@n!7cRA(e!9M`-oDR-p*Or?c1<7h#VV2LyjWiNUwf&rvtH?O7HgSJ({G@Z z)%=yI*`jP>>Yq{S8Qd|UX>mRpd-X~voQz6L7{g6= zQ>MQ3SZ0TQ+`p()mIOx>g+tvavO`zK#ESK|CJ*Cc$0e=ri6{h76UIm6gh~C7mE=b< zQItulDa25XXnmo|Xb)%j2X?gUPyY8eqGLQ#&_7ygU1!Slz6#)4O5@@Q`HGAbii%|?Qd^K4zoYLPG zXjKC&i1~!}VZlUOXxtOQ-E!Dgu^Upno2vXk`g~g`6@<}-vQiECugct3;hFEKq<{GC zf`1^dw}sv~z$(p%m2zMQi$MgNO35y(F&b0kk0TWSxa>axiRM?{gxqH^+@>|>0yicBa`E{rD*;7o1_+n{8y~RDH5K&{(@V-R&gi%!qB+5QJo$VC zd0#e*dwi)9@ocM-y^+s@Q7z>s7WyP!^<{6y+uadxgxfmxSjpmhQAXA%B=x1n%G zgKA? zlcu{M2gnbv>qOfU0G6WOupPodhK~k;F1p;Z>m`7FeDVfIj{M@e%35u-5hKBwDM5m5 z^GI{Mf8W$E=+09MPZW3JZCfQZI|}M@{$3w{#gkoGh|VN&@B~ezb`S%^BwHbkq!?SF zpGncSLa9lyw*7EW5*+Ce1lx|epQLr^2wURD$hQ|jF&+r2@C=i5|;H2##gj13)>catKh{sfB*Pm+FPNcl04yAn29 z+>JqEzYSGSm+(n6`$viv2gttU&~fWH;`R7Q-BUi`#UaB@g1ZhaW$Bk*+t6Le#cTE zuI*l3-d0pjEjH`a*pr3!5B@E{C&LVu%1#3x#5Ma2ebRt;Pf%t!F1%O!&31ynGN|MgR!?I4|2zkM6v|4Jk;1_RHMA$%U6M?p3Y z?~fxtN>3L&3StDsnf7WGe;NE5@d)~exr0C(R|a?tA`$B4`odExLEM`TpzpAl$@wQ9 z+ZM`)7g9qMI|$h*KM8UAdl+zR0iOMb6k?ypKB&JOR|fmb zF${sqc3rltIzBqw>)T?g2q*`%YshhR_XC;_V$0r&ACeew^8m6Hj;h`nU__C){RjW4 z#lz>(FY4b)W*!9rgI?m<98*^S!F+-*Jy7^lhEtUCzC z*vn`0`|^Sp`6vVT73)-YGniwDsCPZyDQr{^^6_>>e|MtYqUe)v?3aJo8DY>>Ee|Y% zRmH5VrLiqv55k>_`0?PLWSfY&yKH8%axZ!vp8*DTVL!FD&sGf-)FKHAowSnaqvV*1 zD^s-MGY7b&*os_vG2nO_=gtg+KFctt8*@zjSPuCybdA$wDC|AAMqlK5($aZ)?FTI5 z@IB)I08{h=IhR<`{C(3mm~_|E$DH$m`iy)|P$ zL$+DIFPq{0RvgN>{hz_U$P{s&&h(lE&RGV`jVsEb|4nBlWPKSoa{1E3wLAku#vv%< zK>kd6h}n~&+w7upZVdu$i{-l+!8Xe(b9AVTgLuv@c2P?9Fz1I9IIp>Jd2slD17-A> z?nFtdfN@N`+NZ8>_oqR;=mJE3D{6tG0iezD_nI}D5TIrp#Ga(H%PA8c~C!A9!+3#GFn+o~c26hP6#?J7sC|0q2Q}RupAXx7GTQsUg%C*S+@U-uQr~tx2w)04 zJESP-f4%J6+uhJHyjOTwy{MoF$DEAn3)}hEc4H{T_6B@W6oiW>S(9 zRg6)Pe}p6lgycL407C7n%~ zlM>cUuY(icTAtGk)Im;Wk6>x^VHSelk(zvlA{p!qOo%4X$j=^muglz~&$){Z5J# zb097lmv?w+z{j4bJl&RF;z3T6g8ZAjjL3}39@=J8B}Fj!{+|6$rTu({{D2>C9?io0 z`EcU`oH2e{+~ANOR_v495wmZV@R&x~Ga&%(@$X_pqtFo|ataDHQpDNCDl}N!9h)h^MfQK-E&FwUlTOksMJWgG}%}ZPSG?YIp$c69-9x`M^HZ_(H`*+Z; za+fMHF8GM8muU?a-`;4nho{?ZG*(|W2FM70c>4-VdMhBICJ~0LDM&rWG*QmJS^;9H z9bJst0-QzS?Q$w zDJd&80F>s{0{)^TB!q*gDkJ2GiMcP7{{tGZait)CRgl@Ccpzd^9q9@IoF!_U+uHGG zIgN5Mt-0x7Z^QW2&|m713I53fEg=rz%)ZdSov}xT%t5bq$f?Chgc}vd88=~WwC{Bz zp&+-SB??66Js?`6ro2z$22DjAkWL zY9~)t&&Q}=K3Z>(3VJ!|0kCtDlw}yciD-0SwC4uOoQR5ly}pSENUh=e1yjvZn;f8L{J^S*ruAYem5p zJ+}<)$FSvZJTXlQ!M9@5c6Cm4%;6%k7v17?_ z2N9N)A}IbJJ95%zh&GbzVZNW77&R`Hpayw@7hg9h;f_J)aIu#~3=YoJthLY*thMXlq z(Kbz}e$rottiXQoNdO@HF{CgN6u?J(Db1hRnI|G;dRfR`15i(#9pcpR_AvIPh5(mD zZ$=nyBqTCw*if*C&2GfzVtpOQMa{j_-+r{Yl@k^ONzS(vf1*q6ijEGeB}=_nn&eHt3!YJzFm%=>Ea4$6powE}Je?~~^=vTT4S$UCx!^+1xi7sZ&Z@Sm@A1I)VZLkC_y_}rK|s*dlcp%fh$wF`eS`sLbJ!VNSo{R89(P#!)S+Lj zYL_|!JervpxyBfgC}0@8P7#(NuI?d4xN!!6WQYja7dvI5<}d((R&pH!rDphTCx<31 zUyKI~O}!bBrk0*YfosI?oQCPDubLzc=ih|#xzk+~AKHk=wSayY$5`DZJp3XO-KNk_ za?$+{b(p>%>I4!0uR2RufI1GS4)50!)PI8+?mauiI2Qc{WQ~RidAkxW-SRI|Of)w) zUU3;O@Bfu`HIGk3rwbGa=n#;n@FS_{pQJPnMvjhV)+T@ESv9Dv+yCT1>D(;RZQeG9 zZnTryr9397-jF7<1S}E&RQm(S>W)1YHb-`ocr|n+(Kz}14E5$|va8dfe@K=-9nLu$ zEmzT>M^GEC3`7ST3F0FYAup1)T{=P?Z zgGxbM2xU`uNJ}&fn6E_%XU$^?`)8Ruhl;_1y-+m`IgxWcWN-ndv$f%;>P4b+t#D4- z1{Qm(3~{O@3yrV8c4_Z8?KI;GXe{7+*^tPwFb)U;Ruqid+23?J2%GO^oG(#pcE?Z8 z`?kXEe<`R|p&jNQ!p0|(V)&u=r^rT!^4h-m_fA# z+`rfxjmu-cEWgY*JG+RbAqtnUUcwgrdd&}C+bAlw5edzO=5J7AQ`{Ac+6-bYJ=GPJ zBa6KHAVUzMSYZY(TRGD5g<-gQFx}G+TYi0MP~mPFwwvDYN*jbgYi~*{tjNz7HuyB< zDa)4?J(00gMaiP%QYawqsjP==Xeo@kmg((ESmIRKZ;LH+q7b(R=O=Lwi%jnxNi5ii zqa6%1y`Q>=J4{Gr?D4`43R6Vv*@+3CQbYi^lzk(?}>k}DVBX8J9Rk<(tkUAs>hG8kjFT3-dUur-_;I}Mcx%^vz;5&Bn@<&&5qHz ztM3?v#97(BuvVU#qzigE-ZU6WUF1BM4S69tjjc)llC~<)8Ci#5J2&1y1|M_YB*r(Q zKEeZHUM{%OubDvQB?rwj9T@qfZH_pRek+s4>i#>TvM;^X?KFod@$vO)usJ2fYky}0 zFizoh3rhcdxSvZKChr#}wJm8_@BnC9q7AA!x(4M16^Y;t2q1%tKf*K#TyU&(E6ixy zVS%lCKX;ifZ36#udgYPEz9JAH1yv*9?<0TqpR4`5k-p-8T<{UoJ?4E3ut3x9oxOXp zio1s4j9+7!FmT)A1sV}-aYz{(0F$96o_{f`vthK|kr5sfmTY)oP0($L=X}h!XM#}K z$v&Gm#J>z$HyEUV;)aSqOFe^$KVQw)E(L#v{~8?8Po!VMR4aan2v{n41T#Dv2X|Qw zX9gQd|AgGypD$xwCfAOrSlbM>@}-gjZ#Lq(iGm|iqL+EJ4j6mU^+G@tiFRUiCaQ5Q zm-YzqP##3Sedx$$3d+bU<>n3FF#b-ABajEL&Z=I)uAOFa_$VGzy+a1A6@1TNE~D-* z83Xc*E9vQ5{>i$$p4emklL2S&@<%8|Qo4j?TmuRc)nH)#7(BK+&}W=#wAGk%{+8L_ zliZe34CmG2ZFg4DZs*kFB*4BwxVV90nzb6|G7nhOy1nv6(=^6zN;W z7_l&F%pcFBX)J#*#ISFHeRPh&h$WUIRBU0){1mD{?Z6Fo94y>8;CqmU zgpQ0rw6i)mY^|fFGC7&b#%Wym<~ayKBvGIg&WIk$pC@a(x0=0Y(001ggCQw==f*~5 zN@&cIT0xR-DvxMT>US-XrYoLQMspMz8J=1UyjGp7Iq)(boOXGbksw4!Eky5-oO~ z=DyRyP*pc*<}3qOCr0dKVHG=#n-LCL*PL5hkmBJHO_g@1{cbIzbnDE4)WCsdYyN9bhd}NSTh%PD)d(R&$C$rh6sJp8!>uL2EB0n(?Cl`5zy~oh+mo*+cgV0aZT<-q}nRI$d>LfcYa+9tUDgAN% zU-_ov1&Epl0jciWsDOY_|8+__ni^Rd(f`>p{>gBrA#JnDhSB*;6|r@1{(03Yv{m?Q z`Fybu4!KD%s$NLbl0u%~n4}Z#+^*YOZ@sz?=B%-=x`O}H+3ahoHEtvPkq!psN+^ZA z{lS3rPg2Msq9-1YE**udh0`EB;NQV^Qm+ph`wFgb1e=BM4@2h-?tX6ri&$GA&+sJk zqUQ~iI~Ge--Sqsu5V2DLY5Seu}O9S^A6M97VOXN#3eeswoy`sxhzh`;A+jb-o#y zsh00+hX*oh!!iFH0Ww4Go-w1OWNp2|OjX{zSh}+vQDiYanqe*^zQSVCY5h7h$}*%r zRyI;SY2_zqJSGnkfo7PV{@D5SiQB_?HSbke$Xu%*IQ;7Rk&B%_o_1H0rh3Xm>9xN+ z?=S2QRpGsAfptN@+9AIk{HA~Ne5QOnefn;b>Cpf*9M`?+^?cT()1~E&DBgcsmGyeP zvvO*~`+gflF5CC`Z8Qje1T1?q+S{ouZlo;5&?}nuxrZAgRz6{h9k0HJ){c;V`vP=TK z>|@&{S8h$^?-s{@fJL{Ke@Y~sU`3P%6B!c)Cg&0_wokggO3<+Nt3oq0Q7XE1cZj!kjmk8!_^=hl z+E-!cqVYwXp#a!IMk16uoPJlrN4hj~s`c0gI{`zhn35vFKZyvj7jEN$|>c5|%<*6Zoj7X4oR%HLY%MCou9G&9e( z-M=ZqEZQY4y}Ynx@)+?Qnr&( z(y|6+vjvTLjf7vyVMil~+omjE8yQ4g^{E=1SPZDz9ElKDoiacfNIo}$7C4>Ab8#h) zfvP*bbsPGWOff0bUmbuXdS2QTJ8XXy13{mJk)iI|5OQ1z58jt`@5#QIu^kmDtNnJ4 z`;)GyHhuNt&WgPZcUY8_+yF{bTLuHHl%t+@)L+u5?UR<}uax$=WTki&pxR_gP@u1` zSA2rMO9nZU$akhJCHIu2&bAnJ)!6j5nfx0E#y8%rmn0TkvY|dLTgFKRjQ{+qPQj3D z68wOKS**XIWL@jcZ6mYNTDI)~!p2&@w7A{;-qnG;xVc{bRLQf=ZnU4N3 zG1llOqhu~%ID83c_8BM{v7JMGo@l|4%zi&B6$u`M66OU_s3Ma-aWeoSW7B!ftG$CUjNDr5Lf5_(;7h!o;TLkbdD zybNJ|`oKn=7TKiw8IY_*)q^=wgDZazD)^);v$KJ#m#h)(g54b5YVP;#6dGvzD2~^v zZ;z1wY>Q=jb1fACzVILbt=G?hcLOH}M;j|OD@%GaM%VUVcWt?Rw;ejLl70ihXW^1*5*Bx`g>gR@k-`6U zd%%B-7;qXO0GVEiXsT!;s_xY60!}CkicU2$g0ic{h&B(V;tyhCTLO1f5e)r0Y>QFv z`?++$H_TEs(VeV;1xu9vz>KtO#Y+VjLk{Vgt`dSn@4SLGbDcDxsu?ED(B6Mx<-c_C zj_xmX0Q8Upbm9F&*I(IT|E=y%YS@UW8bJFT5n`)DmayKm)X0P)N9_R_WaXP?d0%?WTMSLFLxco~Fk2XkY$`@*5owf@2@=QrIo0S4GM#EK^i8JITHj`$x(M6I z6>&s}Z}lwmG4P-_YV1f4YFID+nzYgj^i4ltL+rV!s$q?M&g+En;n zmtH~sS)mPWQqtQ1!TJE<82=FdAz9Ae#@69at!6~mSo<-c2!HSFz1bOI%my<>2^IsQ zv{;b%hU?-@YDv5*6jA!-F3rViF!a6B@nV4+hi~8CTDN?fihPEQ1WKulJ0~!`y^EEF zc$lk_i`NXCv&D~eh={|{dDCvFVh(~1p5z8^KV{_eBzL-xJR6MeEVV_WkdL>CM34W~ON*Wk z3b6o;$%Ft}cmM8lSUXwi8`%R!WjwE+o$lCaB9Z_=-cBrI4M+B0hUIwCv!r2xHxj66Br?8R^PzWo+8^&4q*795$Xs)$03>nHj3@=vjp za7*q8_Tb*T#2vM(_^Lgt@sbHuY8+zssexH%+$}@ZkS#_D#R293OGw4C?7SByHkjR; zS*LWlbpsW<_Nrj=;F7J-PcQ|os1^Z;RjYd9>)$%=diVHc6 z#LC^KqT(szr}npB!*YazB}2yvnel8W^_i%r(1MG7IVIUSI8PSi|4&M0=RD{A`kwQBp6~a3KA-n9=WEWTC1c8rx6o{{z)tqPEx=+lB>0r& zq6=aUKT;r}Is3TMJd^qTP5G{kC@SbgZmd79)Io$yoEg{Wnna$`e38aXB44nthJS+D zObyNtKe z8DiW}wV`5BE#I~wZ9s{z0UbNI8en2s@VhATa8cjWL*^!8#o?3!i%6~Xj1ri$Ms`XS zQr^8lU{&#%k+iM(k+Z3ChY;=1k7ucRH^#j-Nx(mFJ!RJB=|x@q=U9plRZrErR54-| zsD^Xes7bxcuD4|dj89ygxGH7G*t`~ISWvn$KDs&@S~06kY<7 zR=q33@4agavThbnO_RJKEdTM zve6_@yMv9xLwX$Mgfh2p2?8}nhPSmR38`Oa7ofN=nA_gJNzD~H)Gz;eZ7F(l3wHlN zl53)NR@DU!eBDQpm57_rGpcjOS3X{5SF0+kL!3_rqTM+E5ajC@GtAy1i;B^RF}(kh z#ekd0vB}4%)p`dl7H=Cj(uq7%>(4!NR-G|tP#AG+QmkdA-WvUhmk2vejK@2a=wwkM zds)vBPN6mtllvo4v(;(Wx7wiQCk4dCr(is6mX7xCLmgIv>Q|@qQ4We~StXmk;jev~ zNcV2Kp`D3hB105iwM8QL`kQ~&ch8Ja-t^ux+@+|}*}CsJMIg}Ixm=9f%lWukuTI>k z>{dB#3%Ya0s^}U zjF#Nh$3lmdgn2qzR4J88MhfhjSH^B< z&j%IzTMpt-=S~=$;t_%h?|t}-*NTR&uoK71i-}4;%UFU_-{QpR=eFXtiNJmx%&c$4 zKNU`$1FL&5d@2GQ9-)SB@3-~%))W1-YkpfqXa+&%8k;(%Al~er0^JpV4!PPk`!tzO zLKRbS>Rs{bd3OAwIuZzMjMr4N|2(gXu%N|(7h5Fh$G|KIL2`w4NjHfT8X?PUAs4gR zg3tqw1BwX*#*%UAL04SYUa;=2 z!w4L1E~Lm)S;Do8A;@bwPkRuV^7~PtB$5{QQczWSIGZc1c0x8+$E~%K`G>W1Sz<)= z#Rf~3J6-?8KChGv3ohq`Flwf)bw6!}!7vA)b^0>F_`mnQuM-D2F>BFn!_fVZR zk%_=?zb2He@~!i09DwN>)#2BnAND#`DvFdTE0ttS+ zPhJB}wBpT1J==IeySJD)O?k(|k%RC$?J9KW)=BCSmRI*slY4He^4SuzT+C;g_53y^ z3Cs0gW==LF??zue9XKE}_S-XUI!@>=o=QIzZcn}6sFu+mLrsNp@*3{fn-Gfaab}mz z#&I1L_$9pcWdg*O^DV#Uidu*P#~AmBjxewkYI3;8b^Q{2jR5hijkfsHSQC+>SrM(X z8T_hw!Wl*?gb#E*)pX(C>oa=A@);(!WyIj?QhoA?&gZM`1ajYv5{e&$Ghgxl&7x$@ z5)1b?A3+~1wFuxb=zu-Qd78zT99iG&GES9z61+9_Hu9=v@SmHj=#8j0o-*>MN3l5l z_Ob^xqRA?a*vzxiv?v)tIk_16zUGzO_PBn%p}5Q-o7%Zu#Qrm(p0cs^IeGHsk+vOP zdS08OFWhK8G_TE-!XtuXGQRM}7#4Q?5%ZNE54^F6F{4Lc2j1RGGUOWZrSuyiq#NwwRT)!hxAfWTo$vlXlLu<VxNsHZaw!=ji>KnX|yz8-%S5ygno)(BvUGjsuhN&7rN!rXYUl@+KeK` zh-1NT#Lr6|s>);(6Bkj|Dv*L_c>zuQT{PgD+l4ux3(mGy$7Tk#bc7*aJ%uR$OWYCz9`)(Rxl^IH>GK{T58k9<6_z}DzZCc zNL_ewFTY}^zv5JAsq>XyjyWDzdIG*j>B%l9`jd30975ye&Y5h!T;_yyaYCPYF9|-L zPULxn%mDTLxmfL-;nBhfS2j(udA@hkUCM?*T`ATLZd_uC_ZfT8_O*gR$>{%F2 zkc^@a)-xnA5wCCGDUF&Loh^+n59}GvbByvBuOX2?43Gax3v2YAC8q1q)*jI!S^A$B zdpe!oN$7;%eIGhGf2}WqHSzv4I$Aq=>J{m4hmW7r^|va5k5YDJ>v=jn=Zu$$l@7NR z?bNioL0Enr5Zsw8GVf3mpWbhmmFY5iFAVcOgYQFMp!C9n<5dN4^tw69!pus(rM_cq z%gTczPG$iGo0ss_mPW^Z@SFY(7IaVWHjaCr=gk{G{n=7WT<_4gG-G2I=J-+`=Y=#E zXkDy5cZ-k%M5x_B&FxFt@qNPr=O7Tf<3KUk!#Bw3e3+j{pu?Bw3=9ZEni*^Wm(qYb zGW5F|*kjoq0*HTO{I8)sSeO_OwYmaaG6)F2m~-DZEZZz_=D&B3+qHnNm1wa1?fAGT z1CaZ0LLfrlwZI}dQBa4%ow|33MTke~JfzDDHN6lDm+(V7b)xPt@-qT_!J%b+kHkFRzm zxDUV|l>Dy8vh^755Q9E13Fd%((ru1z$al^UCJI;%HeR;n@|bUOkPQPSfQ^W4f_=m{ z!VX&ktOr+(xAjX=-}K-bG8h5Qzqb){aX-z*!2ocgyA7bk{|NY5+6!iZbH{B~Q^Jp| zotY$<0#3EIDFcb$dSyrA1=fS(!EL>F>JLL~XLM+3#s!R^FQaNV#03~04w+w${tv&a BK&$`& literal 0 HcmV?d00001 diff --git a/science/search/ingester/config/pipeline-ingester.realtime.xml b/science/search/ingester/config/pipeline-ingester.realtime.xml deleted file mode 100644 index 65700bed2..000000000 --- a/science/search/ingester/config/pipeline-ingester.realtime.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/science/search/ingester/config/pipeline-ingester.realtime_cg.docx b/science/search/ingester/config/pipeline-ingester.realtime_cg.docx new file mode 100644 index 0000000000000000000000000000000000000000..b9dc5feb359da6927bf6debcb391d0e0bd11f8e4 GIT binary patch literal 38339 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�F}AzhvMt7|K&`x_ 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

l(tBT_eYAytMqkb9$ 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/simclusters-ann/BUILD.bazel b/simclusters-ann/BUILD.bazel deleted file mode 100644 index 1624a57d4..000000000 --- a/simclusters-ann/BUILD.bazel +++ /dev/null @@ -1 +0,0 @@ -# This prevents SQ query from grabbing //:all since it traverses up once to find a BUILD diff --git a/simclusters-ann/BUILD.docx b/simclusters-ann/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..99307005e203959e006bcc1cf0e36eab963a8567 GIT binary patch literal 36686 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 W0B=@c4g%#WL54(N_PE{!;sF3F@Q}m+ literal 0 HcmV?d00001 diff --git a/simclusters-ann/README.docx b/simclusters-ann/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..407662cc761bb6304abf2f5b6c6a82b9dc1a9c26 GIT binary patch literal 39191 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/README.md b/simclusters-ann/README.md deleted file mode 100644 index 69ff6cffa..000000000 --- a/simclusters-ann/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# SimClusters ANN - -SimClusters ANN is a service that returns tweet candidate recommendations given a SimClusters embedding. The service implements tweet recommendations based on the Approximate Cosine Similarity algorithm. - -The cosine similarity between two Tweet SimClusters Embedding represents the relevance level of two tweets in SimCluster space. The traditional algorithm for calculating cosine similarity is expensive and hard to support by the existing infrastructure. Therefore, the Approximate Cosine Similarity algorithm is introduced to save response time by reducing I/O operations. - -## Background -SimClusters V2 runtime infra introduces the SimClusters and its online and offline approaches. A heron job builds the mapping between SimClusters and Tweets. The job saves top 400 Tweets for a SimClusters and top 100 SimClusters for a Tweet. Favorite score and follow score are two types of tweet score. In the document, the top 100 SimClusters based on the favorite score for a Tweet stands for the Tweet SimClusters Embedding. - -The cosine similarity between two Tweet SimClusters Embedding presents the relevant level of two tweets in SimCluster space. The score varies from 0 to 1. The high cosine similarity score(>= 0.7 in Prod) means that the users who like two tweets share the same SimClusters. - - -SimClusters from the Linear Algebra Perspective discussed the difference between the dot-product and cosine similarity in SimCluster space. We believe the cosine similarity approach is better because it avoids the bias of tweet popularity. - - However, calculating the cosine similarity between two Tweets is pretty expensive in Tweet candidate generation. In TWISTLY, we scan at most 15,000 (6 source tweets * 25 clusters * 100 tweets per clusters) tweet candidates for every Home Timeline request. The traditional algorithm needs to make API calls to fetch 15,000 tweet SimCluster embeddings. Consider that we need to process over 6,000 RPS, it’s hard to support by the existing infrastructure. - - -## SimClusters Approximate Cosine Similarity Core Algorithm - -1. Provide a source SimCluster Embedding *SV*, *SV = [(SC1, Score), (SC2, Score), (SC3, Score) …]* - -2. Fetch top *M* tweets for each Top *N* SimClusters based on SV. In Prod, *M = 400*, *N = 50*. Tweets may appear in multiple SimClusters. - -| | | | | -|---|---|---|---| -| SC1 | T1:Score | T2: Score | ... | -| SC2 | T3: Score | T4: Score | ... | - - -3. Based on the previous table, generate an *(M x N) x N* Matrix *R*. The *R* represents the approximate SimCluster embeddings for *MxN* tweets. The embedding only contains top *N* SimClusters from *SV*. Only top *M* tweets from each SimCluster have the score. Others are 0. - -| | SC1 | SC2 | ... | -|---|---|---|---| -| T1 | Score | 0 | ... | -| T2 | Score | 0 | ... | -| T3 | 0 | Score | ... | - -4. Compute the dot product between source vector and the approximate vectors for each tweet. (Calculate *R • SV^T*). Take top *X* tweets. In Prod, *X = 200* - -5. Fetch *X* tweet SimClusters Embedding, Calculate Cosine Similarity between *X* tweets and *SV*, Return top *Y* above a certain threshold *Z*. - -Approximate Cosine Similarity is an approximate algorithm. Instead of fetching *M * N* tweets embedding, it only fetches *X* tweets embedding. In prod, *X / M * N * 100% = 6%*. Based on the metrics during TWISTLY development, most of the response time is consumed by I/O operation. The Approximate Cosine Similarity is a good approach to save a large amount of response time. - -The idea of the approximate algorithm is based on the assumption that the higher dot-product between source tweets’ SimCluster embedding and candidate tweet’s limited SimCluster Embedding, the possibility that these two tweets are relevant is higher. Additional Cosine Similarity filter is to guarantee that the results are not affected by popularity bias. - -Adjusting the M, N, X, Y, Z is able to balance the precision and recall for different products. The implementation of approximate cosine similarity is used by TWISTLY, Interest-based tweet recommendation, Similar Tweet in RUX, and Author based recommendation. This algorithm is also suitable for future user or entity recommendation based on SimClusters Embedding. - - -# ------------------------------- -# Build and Test -# ------------------------------- -Compile the service - - $ ./bazel build simclusters-ann/server:bin - -Unit tests - - $ ./bazel test simclusters-ann/server:bin - -# ------------------------------- -# Deploy -# ------------------------------- - -## Prerequisite for devel deployments -First of all, you need to generate Service to Service certificates for use while developing locally. This only needs to be done ONCE: - -To add cert files to Aurora (if you want to deploy to DEVEL): -``` -$ developer-cert-util --env devel --job simclusters-ann -``` - -## Deploying to devel/staging from a local build -Reference - - - $ ./simclusters-ann/bin/deploy.sh --help - -Use the script to build the service in your local branch, upload it to packer and deploy in devel aurora: - - $ ./simclusters-ann/bin/deploy.sh atla $USER devel simclusters-ann - -You can also deploy to staging with this script. E.g. to deploy to instance 1: - - $ ./simclusters-ann/bin/deploy.sh atla simclusters-ann staging simclusters-ann - -## Deploying to production - -Production deploys should be managed by Workflows. -_Do not_ deploy to production unless it is an emergency and you have approval from oncall. - -##### It is not recommended to deploy from Command Lines into production environments, unless 1) you're testing a small change in Canary shard [0,9]. 2) Tt is an absolute emergency. Be sure to make oncalls aware of the changes you're deploying. - - $ ./simclusters-ann/bin/deploy.sh atla simclusters-ann prod simclusters-ann -In the case of multiple instances, - - $ ./simclusters-ann/bin/deploy.sh atla simclusters-ann prod simclusters-ann - - -## Checking Deployed Version and Rolling Back - -Wherever possible, roll back using Workflows by finding an earlier good version and clicking the "rollback" button in the UI. This is the safest and least error-prone method. diff --git a/simclusters-ann/server/BUILD b/simclusters-ann/server/BUILD deleted file mode 100644 index 9a62359c3..000000000 --- a/simclusters-ann/server/BUILD +++ /dev/null @@ -1,23 +0,0 @@ -jvm_binary( - name = "bin", - basename = "simclusters-ann", - main = "com.twitter.simclustersann.SimClustersAnnServerMain", - runtime_platform = "java11", - tags = ["bazel-compatible"], - dependencies = [ - "finagle/finagle-zipkin-scribe/src/main/scala", - "finatra/inject/inject-logback/src/main/scala", - "loglens/loglens-logback/src/main/scala/com/twitter/loglens/logback", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann", - "twitter-server-internal/src/main/scala", - "twitter-server/logback-classic/src/main/scala", - ], -) - -# Aurora Workflows build phase convention requires a jvm_app named with ${project-name}-app -jvm_app( - name = "simclusters-ann-app", - archive = "zip", - binary = ":bin", - tags = ["bazel-compatible"], -) diff --git a/simclusters-ann/server/BUILD.docx b/simclusters-ann/server/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..32d1c77d1b0c1e68128012d30128f0914130fffa GIT binary patch literal 37000 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 qBQ#V{I$r4d(c6Ov{oh-VvKVUXFu0=A1Kg?!E8( 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 - - - - - - - - - - - - - - - - true - - - - - - - - - - - ${log.service.output} - - - ${log.service.output}.%d.gz - - 3GB - - 21 - true - - - %date %.-3level ${DEFAULT_SERVICE_PATTERN}%n - - - - - - ${log.access.output} - - - ${log.access.output}.%d.gz - - 100MB - - 7 - true - - - ${DEFAULT_ACCESS_PATTERN}%n - - - - - - true - ${log.lens.category} - ${log.lens.index} - ${log.lens.tag}/service - - %msg - - - - - - true - ${log.lens.category} - ${log.lens.index} - ${log.lens.tag}/access - - %msg - - - - - - allow_listed_pipeline_executions.log - - - allow_listed_pipeline_executions.log.%d.gz - - 100MB - - 7 - true - - - %date %.-3level ${DEFAULT_SERVICE_PATTERN}%n - - - - - - - - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - ${async_queue_size} - ${async_max_flush_time} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD deleted file mode 100644 index 00aefb800..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD +++ /dev/null @@ -1,31 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/javax/inject:javax.inject", - "3rdparty/jvm/net/codingwell:scala-guice", - "finagle/finagle-core/src/main", - "finagle/finagle-http/src/main/scala", - "finagle/finagle-thriftmux/src/main/scala", - "finatra-internal/decider/src/main/scala", - "finatra-internal/mtls-thriftmux/src/main/scala", - "finatra/inject/inject-app/src/main/scala", - "finatra/inject/inject-core/src/main/scala", - "finatra/inject/inject-server/src/main/scala", - "finatra/inject/inject-thrift-client/src/main/scala", - "finatra/inject/inject-utils/src/main/scala", - "finatra/utils/src/main/java/com/twitter/finatra/annotations", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/exceptions", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/filters", - "simclusters-ann/server/src/main/resources", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules", - "simclusters-ann/thrift/src/main/thrift:thrift-scala", - "src/thrift/com/twitter/search:earlybird-scala", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms/view", - "twitter-server/server/src/main/scala", - "util/util-app/src/main/scala", - "util/util-core:scala", - ], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..0fa5c117dfcdc9f81a5788308125f1b37695a4b0 GIT binary patch literal 37070 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 MiNNd;-UH$R0QFo=H~;_u literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.docx new file mode 100644 index 0000000000000000000000000000000000000000..e3b5d0b93f49b43cf0f8e183b4db3c877cd34e53 GIT binary patch literal 37550 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

y6igA}pl$HP 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 G!~+04$WEI8 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.scala deleted file mode 100644 index 6168a871c..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnServer.scala +++ /dev/null @@ -1,70 +0,0 @@ -package com.twitter.simclustersann - -import com.google.inject.Module -import com.twitter.finatra.decider.modules.DeciderModule -import com.twitter.finatra.mtls.thriftmux.Mtls -import com.twitter.finatra.thrift.ThriftServer -import com.twitter.finatra.thrift.filters._ -import com.twitter.finatra.thrift.routing.ThriftRouter -import com.twitter.inject.thrift.modules.ThriftClientIdModule -import com.twitter.relevance_platform.common.exceptions._ -import com.twitter.simclustersann.controllers.SimClustersANNController -import com.twitter.simclustersann.exceptions.InvalidRequestForSimClustersAnnVariantExceptionMapper -import com.twitter.simclustersann.modules._ -import com.twitter.simclustersann.thriftscala.SimClustersANNService -import com.twitter.finagle.Filter -import com.twitter.finatra.annotations.DarkTrafficFilterType -import com.twitter.inject.annotations.Flags -import com.twitter.relevance_platform.common.filters.DarkTrafficFilterModule -import com.twitter.relevance_platform.common.filters.ClientStatsFilter -import com.twitter.simclustersann.common.FlagNames.DisableWarmup - -object SimClustersAnnServerMain extends SimClustersAnnServer - -class SimClustersAnnServer extends ThriftServer with Mtls { - flag( - name = DisableWarmup, - default = false, - help = "If true, no warmup will be run." - ) - - override val name = "simclusters-ann-server" - - override val modules: Seq[Module] = Seq( - CacheModule, - ServiceNameMapperModule, - ClusterConfigMapperModule, - ClusterConfigModule, - ClusterTweetIndexProviderModule, - DeciderModule, - EmbeddingStoreModule, - FlagsModule, - FuturePoolProvider, - RateLimiterModule, - SimClustersANNCandidateSourceModule, - StratoClientProviderModule, - ThriftClientIdModule, - new CustomMtlsThriftWebFormsModule[SimClustersANNService.MethodPerEndpoint](this), - new DarkTrafficFilterModule[SimClustersANNService.ReqRepServicePerEndpoint]() - ) - - def configureThrift(router: ThriftRouter): Unit = { - router - .filter[LoggingMDCFilter] - .filter[TraceIdMDCFilter] - .filter[ThriftMDCFilter] - .filter[ClientStatsFilter] - .filter[ExceptionMappingFilter] - .filter[Filter.TypeAgnostic, DarkTrafficFilterType] - .exceptionMapper[InvalidRequestForSimClustersAnnVariantExceptionMapper] - .exceptionMapper[DeadlineExceededExceptionMapper] - .exceptionMapper[UnhandledExceptionMapper] - .add[SimClustersANNController] - } - - override protected def warmup(): Unit = { - if (!injector.instance[Boolean](Flags.named(DisableWarmup))) { - handle[SimclustersAnnWarmupHandler]() - } - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..c57be5136dd6c2986da6a1a40b85aef11b7dfb5d GIT binary patch literal 37519 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

dmOcPfJ*n(i+L=7MHW5moT_ZFa*g- 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 UtiT)u%2k34iNNe3(FfuI0Ly|sh5!Hn literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.scala deleted file mode 100644 index ca1078b75..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/SimclustersAnnWarmupHandler.scala +++ /dev/null @@ -1,73 +0,0 @@ -package com.twitter.simclustersann - -import com.twitter.inject.Logging -import com.twitter.inject.utils.Handler -import javax.inject.Inject -import scala.util.control.NonFatal -import com.google.common.util.concurrent.RateLimiter -import com.twitter.conversions.DurationOps.richDurationFromInt -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.simclusters_v2.common.ClusterId -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Await -import com.twitter.util.ExecutorServiceFuturePool -import com.twitter.util.Future - -class SimclustersAnnWarmupHandler @Inject() ( - clusterTweetCandidatesStore: ReadableStore[ClusterId, Seq[(TweetId, Double)]], - futurePool: ExecutorServiceFuturePool, - rateLimiter: RateLimiter, - statsReceiver: StatsReceiver) - extends Handler - with Logging { - - private val stats = statsReceiver.scope(this.getClass.getName) - - private val scopedStats = stats.scope("fetchFromCache") - private val clusters = scopedStats.counter("clusters") - private val fetchedKeys = scopedStats.counter("keys") - private val failures = scopedStats.counter("failures") - private val success = scopedStats.counter("success") - - private val SimclustersNumber = 144428 - - override def handle(): Unit = { - try { - val clusterIds = List.range(1, SimclustersNumber) - val futures: Seq[Future[Unit]] = clusterIds - .map { clusterId => - clusters.incr() - futurePool { - rateLimiter.acquire() - - Await.result( - clusterTweetCandidatesStore - .get(clusterId) - .onSuccess { _ => - success.incr() - } - .handle { - case NonFatal(e) => - failures.incr() - }, - timeout = 10.seconds - ) - fetchedKeys.incr() - } - } - - Await.result(Future.collect(futures), timeout = 10.minutes) - - } catch { - case NonFatal(e) => error(e.getMessage, e) - } finally { - try { - futurePool.executor.shutdown() - } catch { - case NonFatal(_) => - } - info("Warmup done.") - } - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ApproximateCosineSimilarity.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ApproximateCosineSimilarity.docx new file mode 100644 index 0000000000000000000000000000000000000000..f29a575d6db040b13d06b024e63faecfb313b246 GIT binary patch literal 38426 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

?K2$~fRV>(k!^!?*X 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 Unit, - clusterTweetsMap: Map[ClusterId, Option[Seq[(TweetId, Double)]]], - clusterTweetsMapArray: Map[ClusterId, Option[Array[(TweetId, Double)]]] = Map.empty - ): Seq[ScoredTweet] -} - -object ApproximateCosineSimilarity extends ApproximateCosineSimilarity { - - final val InitialCandidateMapSize = 16384 - val MaxNumResultsUpperBound = 1000 - final val MaxTweetCandidateAgeUpperBound = 175200 - - private class HashMap[A, B](initSize: Int) extends mutable.HashMap[A, B] { - override def initialSize: Int = initSize // 16 - by default - } - - private def parseTweetId(embeddingId: SimClustersEmbeddingId): Option[TweetId] = { - embeddingId.internalId match { - case InternalId.TweetId(tweetId) => - Some(tweetId) - case _ => - None - } - } - - override def apply( - sourceEmbedding: SimClustersEmbedding, - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig, - candidateScoresStat: Int => Unit, - clusterTweetsMap: Map[ClusterId, Option[Seq[(TweetId, Double)]]] = Map.empty, - clusterTweetsMapArray: Map[ClusterId, Option[Array[(TweetId, Double)]]] = Map.empty - ): Seq[ScoredTweet] = { - val now = Time.now - val earliestTweetId = - if (config.maxTweetCandidateAgeHours >= MaxTweetCandidateAgeUpperBound) - 0L // Disable max tweet age filter - else - SnowflakeId.firstIdFor(now - Duration.fromHours(config.maxTweetCandidateAgeHours)) - val latestTweetId = - SnowflakeId.firstIdFor(now - Duration.fromHours(config.minTweetCandidateAgeHours)) - - // Use Mutable map to optimize performance. The method is thread-safe. - - // Set initial map size to around p75 of map size distribution to avoid too many copying - // from extending the size of the mutable hashmap - val candidateScoresMap = - new HashMap[TweetId, Double](InitialCandidateMapSize) - val candidateNormalizationMap = - new HashMap[TweetId, Double](InitialCandidateMapSize) - - clusterTweetsMap.foreach { - case (clusterId, Some(tweetScores)) if sourceEmbedding.contains(clusterId) => - val sourceClusterScore = sourceEmbedding.getOrElse(clusterId) - - for (i <- 0 until Math.min(tweetScores.size, config.maxTopTweetsPerCluster)) { - val (tweetId, score) = tweetScores(i) - - if (!parseTweetId(sourceEmbeddingId).contains(tweetId) && - tweetId >= earliestTweetId && tweetId <= latestTweetId) { - candidateScoresMap.put( - tweetId, - candidateScoresMap.getOrElse(tweetId, 0.0) + score * sourceClusterScore) - candidateNormalizationMap - .put(tweetId, candidateNormalizationMap.getOrElse(tweetId, 0.0) + score * score) - } - } - case _ => () - } - - candidateScoresStat(candidateScoresMap.size) - - // Re-Rank the candidate by configuration - val processedCandidateScores: Seq[(TweetId, Double)] = candidateScoresMap.map { - case (candidateId, score) => - // Enable Partial Normalization - val processedScore = { - // We applied the "log" version of partial normalization when we rank candidates - // by log cosine similarity - config.annAlgorithm match { - case ScoringAlgorithm.LogCosineSimilarity => - score / sourceEmbedding.logNorm / math.log(1 + candidateNormalizationMap(candidateId)) - case ScoringAlgorithm.CosineSimilarity => - score / sourceEmbedding.l2norm / math.sqrt(candidateNormalizationMap(candidateId)) - case ScoringAlgorithm.CosineSimilarityNoSourceEmbeddingNormalization => - score / math.sqrt(candidateNormalizationMap(candidateId)) - case ScoringAlgorithm.DotProduct => score - } - } - candidateId -> processedScore - }.toSeq - - processedCandidateScores - .filter(_._2 >= config.minScore) - .sortBy(-_._2) - .take(Math.min(config.maxNumResults, MaxNumResultsUpperBound)) - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD deleted file mode 100644 index 21411b854..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD +++ /dev/null @@ -1,14 +0,0 @@ -scala_library( - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/com/twitter/storehaus:core", - "frigate/frigate-common:base", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/base", - "simclusters-ann/thrift/src/main/thrift:thrift-scala", - "src/scala/com/twitter/simclusters_v2/common", - "src/scala/com/twitter/simclusters_v2/summingbird/stores", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - "util/util-stats/src/main/scala/com/twitter/finagle/stats", - ], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..98ca7c8a3f8a9e562b6b9634c18f547cafa44420 GIT binary patch literal 36863 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ΞG%!U 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�Si^wh^*ni*(9->A8=3mfG|B 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5b329072d930e77544f81d2dcee33284a6726bb GIT binary patch literal 38269 zcmagFWmp`2(l3l_a1HM6?hb+A?ruQ`cbDMq?(Po3-QC@S1cJMt$$jtcv%AkZ@B5{> zsP6hnRZn+y&wmu8!6DE=KtNzX+S52Ss+5Z2l0ZQ~#-Knz(11~GQGl(JsjZW~io2bu zqb`G+jdfF!to*tV^7o53jATXuB2Q5yjPgA@Dm%J39I={=J1)%?#xohPr-uoiFx6Rw z5GaPY%(Mq@g7td-F0W<^ZBel^UENIe0ut~NuY%2dhI2E{1MxUwsb$H1{DncN+SW|3 z&(j>BO#8L{Jo>1?7b3Y@0ZAH9AkmanF>0uUL%}dg{9}-zH3hSrc^#y7DoQ6Kl>4;b z4#pH*-X?rqNuEUg#IxU47%0@TtTNz!_;aO(8C0xjkS7$wesxOPYRo2=NkS) zon2M1PN`iuCV7;VoAbl|M3lt)E;mSfm0L{CyF*N$pUPio!1M76@#WAEat-_OlYjMt z%))2a^03bXh$Rh5zWH zJB75+Bd~j0U?3pyz`yzqrq+&(41cy&@snS{nUVc21jI+kOKh7}#R^yT#ExYP1$t5^ z&Wmk*B#YO&Iu*rqH86V#jxP3%&6Y9>a93!HtpnAKG#3N%mU}g}sjnK_^*3OWVLSYZ z-Bk91G_BJk?nn`ZOer2X%+!bkXt&S?wW%A(v34lRX>umaSX_mOQub)KqEbiG(dDsinV3JG z+ZDcPS6ne12a3uo>$#ELLQQs{4se+_@|DcC?teL?CnKFy_n0zs-U?LowVNjR%~Y3i zq16<#;tex8tIcuop9Kp24zFwhJk4i;1wsK9$OK@l-~h05WHbginEpA*v*O3)`k9c$ zAH2jDWYxlMkYU87Xh2WGze=L}ue9B>vCCSIXLC$$?-$x=<WMHno5o z2ge5!hQwX?n}ow_V!W>#VQ#!+i_>sdB?a|e^gPdBQ<(D@kM%?-;(UUu%?6jsVAhpc z3gsaksAp$e_&!CP)v8pScPyfeBD?xsO(>q~2Pp#40Xp?Be}96o1k(5hl(Lp$0+39U z(mc?x`Mu*UZDySHW`uR8+8@ux*UY{?_*w`-zrPF` zC>>^+Qq@AS;GMZVL4HC4Wff9PQ*v!pW7!Emb9AuZo^}D(t@zXu@(D5dbKdM(X{As= z9?XWe%NAgusBU;+VQ+)pk=#$v$)uIF7VWKhoQpEW&?j><4{_L)-#i31EAip>%7Qr~ zQ3}08I1@tZhvXbx*JS>2gYU1E*_Ye(b*xih zU#uZOK#>2vFNSt@f3-zr+;*J_x#NWvLf0wW0$NxRJ3e4Zcvf^1r#3#bWnqluYaB!y z^PZ3QQz!=acgDLg-Ui;6#<7=WVKeAPxo@f%<4^e`3ig|DO*P@ehwGC^B#sc}kYyNZ zgDAT8`qN`oi%|5iPHE~2)nlF{4Mr1J1kiSl^0d=VYluQyjh@Bra&}%buckuczg_Ac z2QHHonpU<_6`AD2E5P4szE!xFPV=*W*}pr{Oin^TlmIh)V}%%Zudtw64VA!>CBkJk z=)9cx24M;B>2z0b@(U%`+(sLVZ=O`>lz`6edj8Yn0NhV3o z@W#^yBIWur_0a36v)FD8;o)3vcJMb*s>snf(j-emK<_O|j)wn+eQfJ}Lm6)@qVzo? z#51qR$}6TA&6+5*7Jh6(a~hg&-5B8JHz(JpgsN+B4bbrGpD%}5wP=Y#7I>>aP{_Qe zW(CCS#%n9S?lDvn^H&d1k|pE67!l&q8dIOEA03GbH-imW7wW?a@bn_3-~q|Huzqq}(>9#71JjSGj{+WsAM zCM)JfW;B-YeweX5%q!0sH<9@8%b4JtbN7$dE=QTg}7KEm<#v>rG^dqPbGU!OX}#c zdE53k^lIvyc?}6NmcHFX$q{s`)$sA7otOB#l zvN{(NeaNoR5ixq(dt!7;61ji2DF1G}$VCw~+S+G8#&l1XJQ?Eb%=vcGC##llHm&qi zQ#`6#;w;EFbsp@?C3hnn{$fb68aON7{wE3roI5#G2C^;#KNzy;NO4;{Ki40~R}*-w zFOC$GyWT;?ov>zaQShKcTRd)C>Dvv0&qV#R(3!{(*dqKzT4B?|&7r)~HCK7w+ACP3!2p0#0h^8ZkFJb+H42uHjBix#U zx$%>W2`t|o2+&~hDIu!S zcr`_0{IpMNb?mPQpuX$r^o5p=#xu9eO8rzqBcOF!XZ7_aUhfi?`zA)rMsgf3$F-Qd zBb>I{(YJ~`fqJKC?)&g7TToZ?yyo)2BKuuVWvbC5!N12B)qv%@XZz;;NCzs2P_5LM z4p<1Rrr7n*kn?hlrRpA;xv;cg=Fh~JYvJf&YC`2f1tHb)V$B{)FEH=T$G3L~Q8PX*bqJBS#1bzf~@s zO{h3opVmp8a~j8`EH@&@t4HKn6A}}$5e^u7E3T_sdZl|4Y@Em(G!|`p8*gdUzO=8u;Xr zfNVQO_1YI|y=vh9(2=^6=9q@Y(|~VT3GZtRM(Y9I)?f}|+reS17@Ph;q&vAar9QE4 zO2SFz+l3I`QS7jBA!7uMFA{I&u|zi~N`3X4qV@ie64Y}5-mpJ(qMW^%>Gi0G0)EE` z&Pzs$GD!L2H%xM5-&i|x-&B_&*1+5E>q{kSW(c|)`OvS$!3CVnSv_pD?|i?G^<}kd z8{YVY8G$DqHma72{FdPb>PYjg+sloo6$if`B@~NO^#vxM225QQrev?Gc#JSfDZ;Dg z8hTPs(M&eMaRo^}?-0o;6fB&8`OO--NpZ>$M_6axc%R^e1rb9g%|^wsn#8f#PQrv3 zVJ7f{ymDSdGic34nu!TS1sr!KgxV%W7kwszY|ql?2Bu_{^=00V3MDw?i^DyeELg9ARszy^`dj$7pOml>7LMwVJs36kc@d$mwY=X7F>ZSfpv>pxSlaz0;;%nh$%RRH8hH?4Y8REESi!i{>5n*bHz(t)LBtb86Aulfk|RI*&hO-X)J&srUHiwkMvp&8I%x8ob>q zYWL=$A7EvgS=&`2f;k}qF-K{;ue= zUSdB;z=B%Yi@2^A+daVoWoBgbA#boTnSSq~qs)Gg1Mz49ki#s@F|2~&KW5rqom8%k z%t$IWIR*9xcwS9mROH$B5v*1gWV_dPAr}i(o10=gRj-FZ{-yI)#)&j3z8HanZ$9X=fi@&(@{d+uOxcnRgqbS=9Z zh0U5&R!IAmi)-n!vXpP)qv4?m-4t4l#stkYjgu|k*Bd||7UVW5__+^p43j)-&aKRR zS6%(Qh?2Xp3BUq#n5!*0FSt~@>!w9~NBYmX#nulOl?6D^jspi;JmC29*WB{=cqNd0zSYj>yUi4sFd((tYbkBePfx|n8 z(q?}0UU_MY7n`>6YXDay7!vw?u!1QnpE**>X-|Wss<2fR5iCz_FGuGJpNQ=2SzXe% z%A>D|vafJ;ZR7*>aAZw+wnA+f)lr4V63X%4>p8W+G{t7)Qw>9MvYkBINveBYq;;LI8q@kEOc{9k2tqEPiA z)E+Xy`&l0iEXMZDmW)BfT)Rb6L|KYzGnIG2uS-}Xgt^G;)0Km)f340Rt-re2#1^TZ)ZDNB!hNo;n;$83z zJv+1OE?8w*=YP-4V10`@)AuDO79vztQdRp}9$(MfmyM}FeW0F|pkn&=mgC!Dec_`| z7@hHUzRB6&jnLJmeWCVJGI@T}4)A%y_TqgyJa^MN&rV){vwb_y5L_Mxyg$W!JiRPm zM3)G*obKyBK5bsLr!2O=9L@i_YYz$8KXHGn=Xt;@3EcR9n{l*yA?!E?c^cT52phc8zOyTc)Y zkNS-3FF;YQ+rC?8NaMq2&zs&{GjD<-ll*7uTfnDQ8&4hyUjiQiGG7Yc!4LTR_W7&x zQ`hl*%Z4ZHuL#g?t3k${IcL!sFPBMo*KXZFHwhK{)Xwf*?rR%@ zVj?lV!Hn-+8(r-!mE%c+%)U158{S6`NZUTC;)Gt3*=NKb z12s?GM!hxTixkNXuTEMaJ}BwrI8N=botIlU?J0sj?hz{OUc6^$#5G~Dx3x%+MIq;? zJkuc!NFg=Vf^W6@-kO5mT)~VT?J=goSiW!XNBw5LFmJb;Z%*ktueCm_9ou~TRjwE3 zAt{{a*_`sHAKrQwKK#`=w#y%A16|3Ht!v$9a!2bifW60`A9Y&Y64|(2KeQz{o~WOD zI6NMh$tm9-*AHDdkKnn>t_DBaL-8o?jilW57z?nwan<0`_h9N%_rD?-Rv_(`A~7ow z_NfvYRSFDJ7yUuQC#VWD%g|rMO ztW+T`+TQj5s@?XkMmN^9G0K02^>ti&uVeU3r7YN4E*TOtzMdb zIh%jBd$4~Smb$+YJi8FcRFr7aU0k^AKfJm5b>8oo$wnL8hF7E>_0fOmR!)$4L!}xB zzdCd9NbY+{xGbO1k`iGFF%xP<8(v#3&LxBr2P#HjSjf`V^VZ&TMT#4-@u6Yr<^PgX z8VOL3Va&4Vh;0cEUe@4o!FoA+zx-uGn@KPWhKG)$m$o)@`X34V%3LV0Uq`5!d!5HdX$iXUeOzW(i6ec|CdC1A{a_{ zc$mLbFC@4&A$R;a>R+KkN72S9m-a3+y=)#atwo|P0ySsviziTDOst zE_vTp+-|fVhvsu?cHL@zEegmV9UPA4?>FG;hP%&X{s~6o)xI{?nKfUT2G0)`h^NGcXTl8(;1)%rd^yxa44; z`RU`pTX78Tg8B8v+1JbUqBVgGsc6eFw07x^UU?m#Z0tv*`bq+3yJbD;WZQf1X55hC zJ&j7gL(<09$(h?)_ds;=LvG^SH3e6DcrXG^}BVyNn5#S5z@ z_3nEn`b($FIU-L;!0RWBtgqL|^XUHb{5!H`Pujqiy>rH+%}a~&PX@u)u1>hGyfTAB zdk4PK9GG7i9XK(~1>Dy)@N~Ou=zRD-Tu@!C#)GazU!B{D9eEo zsRV2%-=Vpm-4uqT>4p)fwk2S8^6dR~I2o1!Ix^k%?Yo?$-mk@E%WN0o#?@F+%$?sh z5EvbzE=kOh-wr#E(NFdcMF}|-zZ7tPhnH<-VC!|tlj79*Rv80NZC4E%=!k&qWifVF zL|x1%+rBG}=IsT`jBm)TRa`js}amwg8MJYmcB1+|jK_51bEphx?gy}QrDd(y|!+4KCb*AqJ? z!;be>!K{16*XdzMk9QEH)eQGm0SNu=_Lh|4JK`s$xEFSVji7?kb4N!+aoKT-@tpe< zM9E0p9~~;^*-CBFfqj6MxrMKzzaq#Chc83RP$E^YvRu< zC+YsU70J@+^9<}IQ6_Tju7^P)zi&>mJNT#6nQNW-ls?xIAc8nfpT7Qz?S;J3E-0QJ zRVwNx!Siy>F3bmL8aL%6QRI(}KL&G85rj@S#8v7BnQkYqn;b4eC75qmav@R%1Tf_D zwzMYnsFJs!Y7OWjs$;duA}(_>^C-m7ZM-@-vK6ydP$a8}U3zOwHyWi6u7;hgwXg%W zPT{eCov>(F3x@yQ!?URUe2TD? z7p}|0}GUfHl-5NNEDRo1kA0$+ff2&90-xhrP z+#)(92)ONQQ*>A?DAv7a!5h0CTeUux?YNHbnHi(gQI7dNfo7MKkF%!Uq<$P)f?S#w zak^j|qtdAqbq8@EJy$F1Ej~0_KE!h>xJpSki<``PDGkByE^1%4dRA7Bl~G5K=cTF{ zBt9!+btya~Ly#P*5g{=G=57$b0?Wx+J{MAFIwJcf9 zuiOwtR*xOA;io~5g8uX$_X}tW!RwJUT(fbd`Af&hYJ;t|s&su<9PKSev&>6_cZ+7u zz2NKO2CCy;9`2TMl{$L1d|CqwO44Z*RhV)cI*W5oKSRsNzZ)NWJlVJL{7$>8NI6a- ziTU9J5?spC*t-IPM@{tO)D3X)Ewh$k3-^2fxH|5JYb2w7$mN#dDtO5rKH3n&&k0^@ za~1m%Ij(k!r>oZm41GqiPT?)Y4AwF^93-7;GO=5@nOe-9B)f-7+MjQfJ{Uzyt~ZL* zC)xK^9E+of9XGQK?nPNOYDI)`HKTiRV@3<{Yg}1WwLf{ofcFkPhVT=Y7D{7F`Nef5 ziXGZX7;)2kqC;nA&FOujsw4Z>-ZU{e7y6=X{WkvWkM)s55h>c}uT@+k^?Rl8YL&iL z$%SVdO6zTs&5rE`?Zup{Qd$l=mZQw^ej( zkn5p;Hd|jft*|yTlBXPyMD|wGfso76!ar*)M;AUpw|C{fep9kK{!E67BOxWN8k-jsc9#L}b;vg6=-J3_kux&v-*azc}5#P&-H5%FCkBQ*zMTCshY5NAY& zQaw@ag$({32*)li2 zzDAhpz*?*ktjMPQf9 zYOtks4|kg!ik+Fsw)pwU?ro-Ia@P$m%5&Oj5dPQH{T$dMc?DbI#>y(B+Gvt$Rd#GP zm`jF@&3T;kle%J?PImjd_W84@1R)X@J%1s>DD$a{l-gOg>b?QO#YtBmR6aof+k$cG zeMol|(os?b#-TY5ynaodcTNr3xn;W^!SyA@>&?6wE?VdDgXJAjS85h{fz{Dk1ip@` zRN2wn`=$EDB6zUb_Efxs9JN?G-pr7|rI=$S)G@Oeg%;Z5+Nby*;$wb6D~%cJkR6~l zE?BYRrBQU!Ba_(Q_EzrWf z!g^6dN$n){qk7ESM`K+=HFE0-Vdinx)8%m*_kF<;O7$KSFXV zkxYJT_K6FYZ~N*Rm*&RNEay*&3TJVTc7`PhH}(m|4YUqmmmj^IoxZ3l@xI*IKq;;5 zgy2N7A-+10k%#(Tr~BwscXcTln zraoY2&PL`1(@O1%*K5vmfD5mLXH#EsM~opT!_1f8^Ut(fz>OT0VMt@u*-VwMs)2b+ zw4h&#fXY*)93u1UlKY2>sl zSQbkW08GdHj`^^-eHYwgTfMu}7;)XK9LchzYO7!b?s6VOXHceo8LULw#SG5Cc0E%4gQ) z8zkq2ZG|u7L=4bWNWDI;JQ9I;>KT*6l0_Hi`pF-ggj>@hH(~{qqLIwJw#mP+-hOJ` zK0Dq@98#(eE1z6@-84#}mxUTlMjq!)5l>p}uezw0n|(`)Qxx)kct(Yw8!C+&2eT;W zc-Vdm`%)0Ae9*d}TyK*hwV;j_c>KU)`vcAPS&J2aYLrwa*LLkWP26WmR#3ERQT0|k zYAb&WkQDB^06<`&DGjCMt2T*L^3|X*OvT&WFv@1wtx_8=ZMdUIx-DI03Kn(onQ7vZ z803fRq6qZYva~Yg4I_y(_w>Ke|1w2@5ZhI5(H7%Xpjuv1H@&F-Oqw%4aCAZicD*)T z65)4wf1?6Hx01Ow4HpSV0|pmE`?+X=At#)G;tOXBOsTY6g)0BaZ!tM>As$cvK4MSN&%(T!0}{= zk%^`hh6-pYaqgF}$}JQ3k2Y~3-9GKA6UC!mIu!^NIa-h=t4d7v|3vm|km` zprbDF%?Z>atz8#U)uiS~(K7mrjWCj3vowqID@P}^VDZxydydZNpza}P#Xwj6uw^hB zwcPk}WdFlv82(>u+|K`>Y*Zs|{+w5o%W(}y-%4sMwIIm0za^bm{C2#<03AJIyK3VJ z_v>g#pBEQ;)SLts(H69%0jJ_i@Ers?zPii2Ko-5MI8tCi#x|Nl!ljyZfZBdtCy?+A zw$zYMflC2Jq5tJ#*rZVN(n1@8Y+Y(iu9(R9sex!c?2N{|Ln4xqANznbVvtVNXno)B;1F2c^;MyEuS95A9ZbhB#E z%U_9VwdW`4FN2TF?KcWe0yUua6B0%L7o2|Hh&3h4X#hx@v3~=!#6wzJYys}h@qhu2 z;EOINV!>+IgI0a&UhgR%Cb*zamWB*5E=SmmJW6o@l!i zOfkA*TDtEf4Ot_VHL+>j%S@hora79QxPO2~%h5?}gD2pAHAu%_tssw}&c+)zX1=^J z4jV+T-`&uoqsWx==U77rivvp&A#wmwh7tP|IyeGPf;o?YDH^vbXR-td<^auV8uR;v zHG=pHXU}Zd;IZePu`-=R4J&k$3G-mVg&Q4|4+ueBst89WRKjYe^1S^_F>)ySjDG?M zcPttesF4tzgdTETYIQAk_=F2d0|Rm_uO^A-q2#}5B&|r-QY>E1lltR(mH&_L-VhBL zd+#$7=1V*m4!pm8i;n^!fg9#pZ|1px&_So*K?Rd$w6vzPh|%VuDGu3-e^YrV@kgaH zVIxpwKlC4!5TJFbM#F8tyqFG6M6qn({3Su1U%*HF8$ZB9{qc>7=tDJR)HObdoAJhJ zV!@2u-A}l9pZyQwI$K8>M6vq1WtE1^LAB4LnNLY~VX&vx?7_W%2!2s^c2B*cfo2cs z+{{iodg2Bdr|=OALQ}(JyVMY~(nUF}pv%f_TPaUQ7q*JqNM%`R7fq!jg=q9rv-M!3 zv^qMivrd9f`X$9IKuS%r8x?fM`S!CDV*dKu`4Wnb63!paCy?#x&@#GG~*&0Pk zK0+=19n{JIN0<%j`fshT@tW4AdT2&_85%>BT^5<6Gy6%{=Je&{Q&O1?>qLQEB|bmY z4>K3_t;<_zDS^QRF7suj_yH3egYj>BnZTr}zmvHBcT&>i0sYr2^8wDHFQ?kLvJ9v!GhmEui*_PgMkARjHrKa6EITvLHazfpngW&RbXCzq00f@(IV zoC-7b+RGeD`^2vo=D3uv^=E%O0!yglNr|WFl%~5~V3Cgvt zMaOO9|G7gSKW%Sz(|xoHcH{&rVoT|SAX~U>(9JVGk2W3O9UVta$X7>~EF3%?S`SPtrrp0uaAvUod%BH8&itwJH)F zmRctI4iTK_Uc(0M1jOo;Z2rtss&X;x)#auGMd|ksjSX%`5MPVT66i+(zl(;F;#-IJ z%F$e0KuFBpD#xMQy;qv*LvW`m z%H5hZ0FL4f{GQ4d_m(fU5O->e2CyxgW|+x6o;Ij-y}{&dKDucdjl0Bp+;qLD{f1$G zsHOj+Mg>wsOaGa^C)&1_5Rwi4qINME2U7EL{7pSajuwIV|De9=8i4Hx%hBKRYWvb@ z0DDqZ-ivBGpG`;S@A{iqBcP+1to>9FErQf7R2@;ecEC=9#AMgDKc2(5WV&`hsB^y; z_0N=D^tr`z;nP3J@0~}0tlSpI*r~6#-Ra-P|Jca-11<~ynpI8TPxv zAN*x@q}C+@$(w4yqXTaAvHq}kBDD*i#K`2QAmnH(6Lf;7O--UW5H8P~w0%UD6jna_ zhRRt#WmwL`vMt1>A*{{I4{<5K%_*yX(cQ8OU-HpMos`mggCj|Y%D2GKPc3`+PMp33 znocpZA?$N*RbdPPb9>wF8ZFEwyYxCFTEb(IZnA+UJ0DsMyE3IR$tgEqSW+JSqhpt? z>PKD5}`uNaoCJuc^E?Iaf*jQ{PN+zeSZfxY``rc5rK z;`4*pJX^j6STn2YP1HQwud?z21^|z&RVN_poUO_Q5=9n#w()w)KiT6#DBl7<*8*&^ z`{z+tGf%j`kbJi%Esof{$s~Z!sXU=rYKVW9E$Umk-o?2ST<4lVS1zr;Z))P&^P3zfe#^h*l!0L?XsgN-p85JCl$& zunA)rTBc5Gj%?`c)|93&Oa*`{0;64fjM)`f#|zbNun}W}0Ux0w$Efy1Ewr-?_@CP( z#E3uJJa{PRE+i1G;}4pfa22#x$kiV-M!S2c$stztmGQL!_|lg0?^vxim-TL-TTn5V zBE-Ls?v0pte=jwr86x$FkJxxwy(mto9+z9BYmA{+l7aZ$p5#9;?ridnQJuSHOhFsVt+WG+cUBH8-Wd$^h`)6!#D5mgCP(KV z#jEYK?n<3pNnrYiLb!hTgHycSaa_vD9&k$oWy;(#H!2v9GCWi;RT^l>o%k_kVIna* z6{!KmGcRvHtSCUc%2&|Z&;70i`n~3Oaz!Q0aG!!61_DAy`$lB=ZENSl5f(k~umKR5 zOkI|*??zD@81>S`MZ<#m)SJm1%H|v<<_p^4GQcl~VeM3EjTfpe?s3mSer3+MxJrAs z^Io+hUh-0=emdIlZWj7Z$wXDkFMn4X>%+HL(1&vw8cn-yUt+nDZP$s}Jk`>B-_ZlN z0)HKPfwE27RT6~~dXcv>nDIh76;85=t^Z=fzQCPB^A$7(-X-?A$(HA);!#At(;k+& z8s!Da*bO{I*O6zR zywt=rh@JFAO@su|VTdu-c!sCrRpS=Pja9dBJkO1?IQ5SGZjt}mA0AqOuxVLKF3I6C z=pkp;^bzTlo(t~SD+Cl|Q)?*!=G<()hl&O`{H(p{i>gZ0I@aN`7jFee>NeF+pWkql zr_^CjX&|;?PtG$i1Fs6dQSXp1SBeV3K{iltPV-ShpLUtLlm(=_6b54 zum*llko#q)b|eeIEQ0>R!U)3^A;Gs;H3S$-aym{rtLM9_`}aXlO*3>IQ5UbTJ-dlL zn*ZIZ=^T&WN?5E_EhDdMf|5f2sGl8lneJ&ZOZWAg_oa>Zyjf_rVk5QH#z3dz5~Lz! zoxkv{l=U~5U{u`C$+;#&$+Ai$#t%VqO?F&;6wu!}4lX4Zw89|<24Y+AM2)gTa8OJG z{KXM{N=QMnluv&>m)nZXJjv@50^dUKXvq(gz~`4$ zlv8g)>K4oMmCF?_#&P`AtYURbtZNDo4<$gXJci9$GOoy35+xV-imbAC>K0a$#A@#( z{Co(_kMV?De7iAin$eOgbsY zO1f>CHR)Qj5puF`3E6!ux@LVRx>maLg*pJv2cPk=$pJl`!EO6BwrUK)Y z=Kj1qXHp7M@GFYS<*7$+O%xiFbMMO^!LP^^cN^S}K*0h3BRC+Z3{voK!M%S3U;YtX zjeF|s!u+ImYTe}tDX2oIPWzZdIBH!%I4biGV7K0yq`;Ve0xSG*GKt2T90I|3y}k2M zF7DXk62y3wp?}Of67uf!gYzjJDh3kG$CTq*xR~(&2XNE?oKH%^Y}w8iNI?W;2#iKe`|U{o32=a^eTpD`Ecx~^=;{N%P^ zqaW}y%FAUlbr8RFXIXgr!~^JOcoEL0TBCQmD1Z-!)HAN(JR|-Je8Spb{%GckznRL*kUt ze*1&{*l>1uUdZ6RR|38EyIYn2P@o++JAm&9=C|VpZ#5i(X3m4f3Dax8e>O|VwUx-? z2|8?_R0c8}Q56qwhqpnI_BZ_z+dt?_jLrFWAc5u&cUuAN5uojdgKYnuP7OZ1|M+%` ziG)Yt2Zqz#;p6HKjvk>OD+RB?2Q3+&m?S|)pJ!Kee$mz$KdM~BA)Q?0x|NGjPV=Q| zM_9Vp<1)2qQb7^N*D*bhChAS$GD6OQeLKo04V~EgY@^kgi#@8VY{0sGbGSjkqZz(J zpE0P1d3}-=OBN(j;ps9D%A-WKWbTJq*5yp3$0@kZNkZ>|kwgtW=MXq{ioI>%uV$OP zcQS+`VKVs+BeV|~xj=@?*AP@N^15rTXN(R-Azh1>XgkQ|Hb~Hp*uoliNhKnkjp$_e zy`rs^c;?vV#ypzfQE`)$5y6ZOHD`|Xt8N5tU6)m;v>gG0r9YETz| zuay%JY81fxWzuNALZf0>lEuVWK-k4o2Se-Ngj{8$h99O!P8~4gj zTZhRSpIK1$TWr$qD zlAIHhqF%2?%yN)MtP7+nWk@;?6EiYU8B$J7O%bqDHPYmkgp5tIPuCse5Zlih>VuEm zS+BI|%}q}}6|bPC4jb%b`G@rqv0{V1GE5sl>2K$|S7?o5Opz@JY1 zP<_^u%1*-I6}{2;+#$?X$6}(EeEOW6=BGnNJMQc<^@+!*NUzb5*t53$3%Ob`Gwn@h z55h`kw%)(Z&cb-D%ysjbL)xf5f&Jhn8kt^KR<00b4v+14_k|@9H?V-pkxY+4?2!C>N5KT` zyzYb2-k_?0m2LhiTv^FmX?-5O0gCIv{DO@3Z;T$An&40rYQ+icGa8yq51HKUtWZG4 zge1tD!AM6ro>R53q_EohV=)Q=j0pYUxtj4Q+kE{jf!wmI;_W6mzM^4H&8pm%GQhO; zy;I-DT)W0XWRfFiqA*{u?$L6)qS%zqf%@(4kz>yCdt2L851j2^Eg_ zUJe%c)IP#l+@^6`^l;d6Tq<*$S zy%{eB22?&3&LY9_)#(I{g*+^UykL$n2n-k+WEG-PBHtb>7nlAfQRERAKIf9sy&=dkco<7MzA{yS)OSKpctfOHy~y;8Ggfp7%+G%37A9R7gP> zt90kNixYK9)kXx;7xNQ82e|Q;WtKu-VTlqBO%E;&ipnvx%C{~lx$WG(l^h1VFbdZu z(cldP(_E1}BvN6>0JwA^NXAQw%q$0>2pSb^cTjUd$Q!lOAUN_UfjI@xt%JZ^5yo5* z_$=IKC=4(wYowKuL?-o-Wkd`IPL-~(z+5n4NZs53j5z0Aoy8Na;Is?q=EtffSd6bO zIVE{uUZ>o`!Foc$n9XPp2sA5G0~vLv#S@s6|55>u^tX!Oo*R6*3PrVQOXsS9BYAEF zowSy4M2vUm6}~HCkyje@&nrQn#?t2&miZ5e8Ot+b#Y``dVPX?yZTDzV_X&I3p{zwx zGWHI@#HT5%yNN?C3l0}XJr^KYCJ!jH*F2SvZ%V&K5mE#mtIvFZbfVAnfb2zye4ezOC;*Yf+rIJ%&rSLqTuHoP0~Up z;CJI@{UnD=ss(W(;7Ad!)=o^g(<|_mnm{0>e*j_p0n+{#kj)>U1>cEIAIZFT^CcMS z$jvg-2tI49*uN0?DuCA(dq!(CYT$c65+$lt*fa^a%dFTSbQtP|aP-7`xTX;F6G1sG z!NR|MpiB6(;y1V!FnQ`=N1@}mX>^c+TM6RpP6uva#EFbbjIb&B0fNX1g(UOj3UixP zOZkC$C?(Ite>*ThqMS;6Yr=M94WE?+R$@@QMByc@(}RGaG8Fymy>M|Hm=_@#F{B8b zGYMo`3;#dO(g7cs2_SG$%zKNTenHoF&y@cOeH>E(L{_N!mqv>Q&K06tNcy!!* z3KeWfZ+!nM?fy}qqGCZey*mEnD@_Y<6~9o9AL>Yq_K$9La% zH}|d=@3zeUIorNB7yA1E%I%G_`-r>!J@*E^u8+g%gY%4! zr;Cs0_fyyQx18zmP2KC4yYu#%8l;PhoO|HX{;ke+em;7A%=YfiN`mH$&BOV308&PZ zYleJ|8q&C{KIi(d>y!Z(*K7Ck*`Z2=37}?3WB~BV?@Z!hci^5)b)d< zx5fT_G)K+2v%~eg*-QNjrLV0ZW%r7YyXPB+#f@{FzPAp4&Ao52%~Oh*kFW1Xv#zhJ z<^KA(cVYJvL!1AFkFUFcen;7ld$)p;5AF}6amR$=oS=-5mXrez-_}mo^#ezT{*1eG zi#v}q&ef&(1oDEU+YNzYn08T*7@{*cm)m!Vkg9WW7l-L?il;ZuYizVmHuEkZl zOm0fZh0klpmNgb(P6F>&k5>lqpKrb&%bU9OeEhZqeFr6j>o-0r1l)M*@AdrnyaYUi zd>_uQyjztI?d>(&^e#vhi#4Nf;ai$Sae>&N1dl)6T-)+Sr$D$K_Yjl6C_j;|Bm+R;j)R0Gfe;L+q zu9)P|+}PfhFDVHmOlGVgREvojzk7Mved@cLKe2!M$WA`>y-1E(-v7WQJp3pd44GW_ z@b$`-hUUK@C=et_uKAUpsZ+04*#GMITyb7?mmx%a|7h6UZ7Ud) z;it#?Rqf4L*~CHKc*ul{1sEo`9456i7h8yyUzkcQ&4N|rRUUM?&j=w^YOrZl&d%8s zioP)CgxP;tMaX^haS0^s%GvA*28NDzfFW#Pi1q$X&{G5Nz3XXL@)LV^_5Jkt+MSJL zU1s)uTDv~x`ry&o-rX;T14z!|lk}&{d;4kEdC`E3_u6e+rF(7TaeEkRamE_?h)qj% zK$H=ekF4g_=5|ZPu$E^*{9DyfALDdH$ie&}aH(MDi}Ta4UU^&&rz>GJUa3zHtj9sg z;!(+)ZeIwYJKZxmc(3Wtl0{p6K;F;)L)cqD#j$PO!ng$w?(XguB)B#11b6pf!QI{6 z-QC^Y3GPnt00HuvoOAEH=l3;+@LQd~ zYEx(G(_n9`XL4VZlI^fkZ9F2}bbmxbq#a*qwE-EvXBH(kE$)tMTxcCi^Jd684LU=U z?&IOEx=qtG=XCl-akJ^AiZLDM5u?i^ftbyA-3Yr%dc#)kY^{JFCP+x3!eijZi;L<# z38!^*dSNEtFqkCj`QsTNJti*-!2IQE3gOgASF|82P^{{}me9Uxc}a_`Rrv_{y{h%# z^or5xMcRoUZhuqeWeKJ(!%yu;yNH_5k8u&V845ZAAR$JxQ?(T}wIuzfXF+602Aqzv3a{T;Z2=mNMS2Dqa}tOe5U-w=39 zFwG#ZX}I0wyYG$u_38IUu9McFcts`eC=KuMe^CCj!GEIs&n&Rmn<4E|^1g#{$;{e- z;z5}=gCP0`0KwS*!S!!S-@#7lQEY+DV1dmn|8CY}Yx7~7Nwo1DX9J82e(oLTKO6jq z<{GgE$OSEuO<*%rV6%5=h?WlJlFx__w>MG00uP7}v?yMxCF46lygV1Y=>_PU$M3<1 z&*;%qr>AN3l6Dd9^y;4+hJQ->X!+qWdz42{mrw2#mI&CwM_6v@{XTlR3_du>9P9h} zF#=aoz;)bf(}m0B`I4vA^Y@YE+^OXQd*$#R=ZE62<4BlqkFHNJ7Y-gLuj`pz=zN*& zo4-yNs-TDz#p6WlVXZq`ur6w|c&Ew|0LGG!&>@8vpXJecwMC zJua7SJ@;*M-)Cz6YeF*nrQQ9Zb+(tt)BKO=WZu^G&zGcQ>&ul}$=}x69_0p`D^Et} zY_%ML^jyk%&&?p}Ng)njo=rhULk%_8nnW;8 zQOW&6JP3V~Uuwg$6nzy2s~Qvru1@w%Rf;MdFMbGySDJW|kBcmW>kziTQWcoxm+e)) zW(!7>y{|25?{{9j1-R^92=E`}q`$oG@npK`%Jp{b#q+(@jvzQYta?7ZyhMxgryqFT zYQE0zjn%z02~ZY8Ab`274XRf&tZb=(~!(B z6d|F2mU|fcQIuUU;zbw*r}3z2C1&V*S1Er17qgZnY+RGATcx!eUH@Ue`F8pG{vY#r zx5Zz_-lRGU+V_&Ox)L0*rVP7pr76EK5xt_Fika#)7He=Flo@XRya}|C#9GPv>(*f1tuRT^B+vTfFm0GHZ$A?7m z!0+0RG$A>3Q0=$yv}yMeD!NTUwQZ1>G`OE|{c*OEm>NF$<=RY_RS)zl7maW6USi+; zbwi~+_lmM#l1-tZj6ZN4SpAAKl)(7`{bE!VwpgkiwGr`w?uiZYw!0DS;wcejQJU`a z^>|K=(BchCY8MruF(0IzM~m5$CdRAvtHt zBGusR$O!aF>0ov9H;mBkRZ#A`(sxush6&+UwV%{z=i#2lAK!GUaYn>UajbL zC)Fo7IOK^)9`~jhQ(Rsjv=t9NJ8F*HUws9aA-_nBt2|T|DcE6f#23gyY-zJPZ&)%W zw>-)n7fG5dYPaG_X;?DtUAw)lGjQ0*0(R@5<-3wK&FD8zSL4DwVL43o#mxMq_Iisk!fG?GFwql^os&|_PI)o+H^H5&=xn~WzXsIa>?O89;XvbvX;gkM{o*|_cA z?7#b-uy)zFj5Y~OSt%u|AqKD7Io=oUS&g*aC=TPhb|eGpgmv6X&mvt3$E97BytG;$ zG9{EbC&?e0zTiXF3O8K1lT{;q(FXfg{iFut;HJzX^sOa;3&cKCJkEU`VOy2}{z22B z;&%A_W{>*qKIIpAm~emNhnW00a~c8U_3Pc<9f5~nmbM=6i^v;=oPJMxdCTWc-i?fL z`M&d$TaQ+PCy!R0d$4%!@n__Lv}G3l!#5_9`Vb->vHN4J*nGnUBqz4CJwdzm*Jt~m zqr)3NhFfsse||>(xaTetG0MygMUf^=N(>Vs`H6^P-zVh`9689?7+GYffdE^{!ARzp zFT6)QUJd@`({9XDT4Yl2yd+6+`gPrp5-3dfIu~tYMgMI=JdMiYq=vMHP|55>`29uP%3i#>J{8%IFO0AmJIT9ltf1I);q*O$X#XNJU|Ms z8rlrSjInL5YO$l%^WDPy;|VpdaSSVU^sCHoW5Po-9Is`T4jGc)!od!?KRs@bTWI3KW*;wl7PEP+w7t@5n0*z-b(W% zuk6K8ZJIIH20(X{U@^{y5g)R)H5zMEXHOg#I687yn(&&yD4@BJ5MyCf@b1W@OKU!1 zC|>nCaOXUUyT1Bfd=lGW_C+$es2EA~V$6drouamEOAJiN;`zlfIB0*K8Y=x_&q2!- z^E3ufJ2Z)Hw4UL)n@%dkPobr38L)g%W`3Aaq)?f-$bNHrD$%7`kRsddDjnP zuZgu%?~-N@nqiHHEYqTenrE=>50B1i7(OpUL$7}0PusF!SrbvJO+9#c*WT7$P{5I9 z@S<+=6h20BN`GMJ>h}-MbQ=6;Vtr#mkHLbt?f&l)Q5OG8% zu8)m7T>t5O)zh(v$ujJ=ND$Uma;JTljh9agF#{>^@BxWaZxL=ez4B|Pdlz>#!VF|b z!ls};C4KjPbDT6{4~@&k^){p1dFG5NWX}=g74%DEaCbjg3g65pP`Uy6t(MtnSa7Vj zruEAolJeTn4M{$B+ALWNbXPlWtt%L4ClE1&i;1ePqu4=fSQxUh@>klXP ztmz|rtyul;BRVF8K;Jr8Tb1ms`l){zm8_b$cNxS=np)j?dkJrvqv8G=9mc4?&{tX* zPQ$uD@f?vZKhe(8r?-h2X1Qp&g2$tm3IQtV*??&aiy zeA6guCw%eQX!m7B9Xzk$RCFJY4dNtPYeVr%l)ltAF)#++z zB&i)m_jT4fVZp4Y&&l}1|12We(c@fCuN81!=l0;V^Els>@h8HP9e)X zbr`Y8Pcrzbhus+90S@03Db&LGdbsF?7D!4_?cylDv#HJl}dEqCxl^h>ho-&iny zMZ1hF>=)eLjDT2Ax8j%wv~gbA?aG2b*w{JC|2o=q?X}|n`Tx%jz!rX+{dL`ey@eA4 z3EbCX??VgcDx5;5lP$?|Hj-2x=dx^`_oXaf*0atig9aT5ZT$zwCZwNGmk8WOjSAAW zyfqP;eVw3CYePiq={mQkToD~LDK+K5p4bHTgyQ9-T=_=VSTT2o+E2qe^Q8#MN1Nv4 z-t6dBzWR>d)-2m%HdM)jgu8%iv?QYUdnI0U$+v|QU$+uwN>&%%F zo2RpQ5u($ZqnA%E%PYy9adO>S%n_N%c%J!{^Syonn#gJnrMI zpX2SvV{$@lxF`h0q6ZgV)GC+h$-G~pseu9l7+4a4OGgjsCI0iVbo zf|{2KnpJzW__3)w8Yw#1p9+?F6g4?B*wWo+1Dj0>n}fLZj`7Uaw7{7(p@PbqRa52o z&MFniJ_a`@byi#}Z|%-c$B69KDIvLy?NqX#RH9!cO;^I%R>IoK@&`9Z!EYcOffVaF z?Nn-}o0N zZV6mFr8L;5W!a|{FDF?=y5rhUJz0wR#nn>P-7*C{Xv(*#lN}`ASg*w0GI4dYeiKKu z?5nHg>Nt+v0K+v&9k%(VaWO&NNWYflU3(+n=1r!Kh_ov6O&!IsxLE) zKgRcP3-i1s&0iDZFe)F-%)i*;qyWieAULtFU<*;ppPjxexKm zTDk0Z*1LIQkcX9GiGxumB4yVr*CQ*>7g|Ec_rz$?Cj>;70eup;LeD=8sI>&?JSJB1 zGJ3wWD;Ei68GzQ{gW&d1Z1oi;dS;yhPMi}KGl?!t8HJrGh0AzrJ8Zu|K_nwC6pzt+ z#yna7yuYAkQlz<0SJD?Lw^{*!;=#Pp1N714`{9G`kWL7ldWIScl!$@PwPR%(K%1XI z*rRG&8C$NLB)9-Dfxs+$cEmYgQuXPW>;Vz95g2g}hM|!TGZBVBBNs&>8PN%f%L__C zGk!X0gNI=tpbAUVdPF9v`SP)*xa^C0NKZzcizeidOBn-+$jmO9*rLvaUH}X-2?&0T zJ^hJt2uRNiJUsI~TbMAX5vJ29;RPV%KSLse{ww6!iYYLp^ZB2UJP$z&wWfcE%z#2B z5e(@;l457o6J}qsb8V%>=Cql#QyHto8 z3fsUKFD8@Y)~X572PIOUaE&b(0zwSN%LaOho$oPN_N9Kz5(Or8rq#+E9qVbCBLIen zC6L<^MV&Q}*5=~D@6wN$;HMpI5o!; z)8T4)?=Y|bxx)bXB#*;4_V*7rzYowuO zf~|W7OL()xl?A>kItC%Ociwhret7+Say?*pt8JLDO&?E`{DaN|m8aLOJBp6?_x`Aq zz zavWVFO?8trU9*T>+j$}wF|{Kq=`C&NBB<)@{0NQ$sr0&|IRin}Msj0k$&E18ggV}&I^8b` zW}dO;`l;q#xy(Ub=rlM-(&qhVwtfGO(zZ-Ev_qDbK04?@O@~o(kj!v(~@9#$oK-1MvpVlCx1G8CmG* zSSK0ThGv>S$M$(T%ecM*T}w&tOijOfUiQU>x507B|;vtRo-_s_Xi? zI&KE{2=MQ1G4j8m<)kW=)g8@H{)UL|&vL+{d_IZ}n$+`9Zjj!`1Hk0pnclJMUKlRrkP|K-Vd{vxs*%s>aC%Y$Vz4j31*N~y zrctQ?UWpQNMCAEvZ^@I|C&9n{KrMq*LK-szV;%h?rsR?Ys9Ge07e0tGzJa^IRNSU_ z@h{$tg5NYtXXmL4AGC|Q&1IXI-ddN&7kYC*vCJBDb{tV$W|-e(yxe%0O?#L|nFg8j@?k6DB~L6oxE`r-_tm>FYt7sV#R>Nr3i zVsZ}xo*HBZg@#3*X5XbLra^>}r}4lNVuCzLly>hJh-v8ascZmtc0woRGn>De$Ri-;T$sh955`AYzE4(u#EZ3ltLT0YAu^5l6S^*b#W25)>HWlA!< zPEv%~2|RmXj`68Su!uMf6jChIq$|bDh59Ry&wG3*HsUn>z~ut5h~lo{2l5xN3F5TS zU9>!G?7ze~{6EE*sj>YsZ!D)yP1O-nq+tD}smXh)PEf~vg;}PV-IGmgnF-!Gsi}qi zo%`9xkcGMt@k^CVGA+Z#nrr>$k2&sI5A{kf+4j5F*YRC}^b4eVBYR0(^Hiqat2T`z zSrLHYxm&rDzzJRc^M};_-c$RAtKOKw3ycrZyqO`>wQ=j!cdd_roE^W{bN-*20dlV3#|KgED$AJ9O0?>8nmZwuLd zz)Taf`{2wa_svczM9IB(*NTt~ldKsf$M=wi1@F?U$%;(K88krb*ycFM9*r4XrwLUj zGP(fZR{o*&keX2xT}^(oFR(~q^D}zodfhIvyw22vkeiSjE+`IFHOc(WrRlgBY67O9 zS-_2$eIN4b>cEZoMQ#TUp=9QbYO?;gl1>7+<9Dn_3f_=Ed=Dm><=Tua)6#h((V3C(RGQdu{O%JQHG^x9@P2lPfY zQ}nb1pa%z5gbA1l?<#I+Sn&T+;RYIDqGJ`(FRA?UcJm_dqWHHCrJN(6jyK1D>3ADm zuVW$kUr0FTX=Hd0-apGHDe8RtW5vgmcPkzg{{`_-0<_}e|6;|E{(j)#KGacgUHpxO zCz;#W`1LBz;Ic)RK78{hFA$f?m{+=Vii>a9iIJ>S?{&8rhO4I1qo)D!qpRM6~v2=Zj|=Fc0uA4$I+ay-X>BJjSppDSdmR6 z>RiI=@q``x#^Njr@B#(omsWEXl@$)ZbBS z#pvj((HrW{4Bk;IeAWL(9mGj2IQ@fK8x-3+m&SLOiD9XU1r@@MhioBPu~VYDEw4)J zqYhphRG{d`wai?A=ug)wmI@uho&iITZaIKDrX@t%&af1MfIWZ{!mjDF7_GpmRiQu) z?N_S9bBt_>MdQnkuG~hy#3t}>t_r5ZxfS)`wNM5Kl97b=RfZCf#2OBfV4^@VD4H}& zA&H-B{Zw7PRG{Fpyenz|DJRUgX;RNu9D!5nbebVvV(RLyEqYKZ9!$ds0yRK@4$wrk z|}e5v)qf5$BN5_=wiPEfo;)I5QN9#7k{?a?h!CGBQxHTH z_DD;W22aC`+{z>rV&RpUJ+Ni*t6lLTq#X!(7Q=ItzrdqADkgR*!;d9cDAZDlqQla` zDT-=@=Y&0%OZw25TnUSzqaR|G_oV?|37pH+Gb2CAp;On@`qP*&=2LTFzGrIP=PHbTijdmM6OxGq zO3YMBN)m(rL@j{*Cn^zQ5INyO4Mhrq^4}I{*8nYu{ebaq!DM?_{1egLO89n(J4%AP zn!;elLVFkul<}sDaxLZ0s=PMQ*{|s2fB5b}z9Vn6hut{BE6+-lap4B$hr9+sTl%dE zqO_g7(6Pns06rb)3MSkL33EVAMQ_vE$!LT7yQ0+<0 z3)jb(!I4;B*Dbhe3B*K3;~cWAdfTP;DgJgff%N;@0aOiNdc;{3VO$FA^5c1SBAWIr z2q+OQp@6g^4ec?@OX>;U*n|_Z1<^tRXTcqBsrc93j^cM)$KPh>)NM3F=IzJawql?VWCk0ZgV5Rfd)DC z-8z_I%m^*bOq()}!n@KSIG|E8WuQ`kJU@7h9ZxL%rUa}hnw-?8rolZX8J+}JaxUjO zb8rB70gw{6>l|G)F|SDPJ~)O1*TcdYQKDVTXiG;x|MXATt}{z7G!N1pJ7slyD%uLc zKHmVP(>*z;u4GBbL@nhGFhk^II}y#~SUZvL$uV{!X~}VR0|+ouTp3VAJ5G6F;jySu z9|xIvu?9{V-<@I*wrw#4(wFcJn0LGq$!CgM$zq8|QYYG3Q4$YV?%Sc*yFo=1*iwTw z`H;VY3mcq&lPaw71dobHmT_Z5{XUVq8a`IigGJ`B1Jl5e_(449TdFn}*yQ*@9|{Li z+K1q25V8z_vKp&GUufS-bn*HtB+#rW<70%c6T~|p)G>DMh*@?Rz{(BN&~!0&=cTri z=^uiVBgUn6P71+uk=SE9gUYSvqXX-y4ja9hcdxmEP;xU zY02f`G**HQ@HE+=5?q-j?iP6gAH{3cPz#OzzdrN2_L-h#4%59h{!Um`R z9Ty~JGTPvX94`uw3$4_)D0TjVieqD*`{tN?l8?gEs1Z@pTgX|u!j^S__CuofPD=;K#1&}!{+zs4|*L; zg}4#(N{nA#!ncdGZ5krbAX9bdKigyYYYR~zx@<0l$rQ!AC!^7Hisa4b(I0_J^ab=9 zdY(D#5g6rdedXGU&oKFiQR_yC05FiiUxD~SlcuhrjkG@l+XnLv5VqlXU*%IxsD0sL zTzHxz4iWIlCVta{Xib9>VlprdB$ogQe+1t}N~w35)OhDs16mv+K=h`^BZlG)QaD5S z`9r_m5QFxBLp$*QDim)fL$A_dLO$O|VGb^z_fNjJo+*43#tM!%>(egzH1s+05&RK* z7l}T;9C#Z8F_>x|y!6v*>i1>!Hqu!O2Q^fY^pecsn!W-G77%{v zg>gWSejmbhfAb32ET(71NM-q=MdG6c$zhkHdvJgkqCb5*zD+(qhP z-$gQ+U<3lTtav?{H?GzDBc80b_nRMZ^}EJ!ZvZlg<&yTz)S{fQG1`4xGt!Oy`@I7- znsnc4rxA)w5?jdQrg(H4Q{mY!D2n3l+^tGlVqs$ZdLK;dC`lu1vmBB&f*4ZEt2&aPr37=JqQ+k;24T@v=*in;0P zz4&!PCIrN#!}R(AM-51Dt28)l@@kf^vQrv9pm^1H9(YP|6ua?bA@DWLpBn{#1h8h9 za7}(&3H>&Fjn`}>>NCI2SnPJ%+I4pA4+?Pnnt2F>DSn43{tM;{p!i8~9RK}uS{aAt z$PoF|j+?EkI{`pwY=9%7ivi8yrstl&qj{P1+E$ixCT24@~BoXZZgdNK8wUslbpLt$*QeKjZAVOwL3 z2?IDv=HB8Kr{;`sze_>zo}W;FMEo~UX0O?9w6rP&*W{~1+Q!a6I@F6EP~?~5Rs=dA z+MHmYd6Ov-dgfu=X$B{NRmd2?HEEZY?wsZ(mD~d)24CFD$b0Q{9tmws3zl){#XT8& zHVu8Q4)qb)r#iGiC%z2%2kJFbeqE=pT~Zr{Q$<@G zQ-%yzNAo)NN--nKx~Y(W>$ru$2906>)&8V`%(~~TaiyaZv*VmnvraGUB5rj>fw*GS zy-OLyb=#8lPXGC)At-d!9<&L4c99 z>v;YkrG`-Bm^C~HXJ%P6owO@8Vx_*YDb$wQ*3L9Ec77_Wxy%JVTnBRle$V7WXaXd!9sagTeqH&2z-mb>#NC>~p~6iKZ?50TO=zRQZ4T}z57;MK9($OB5_F=a zoTW;EIEN6S3o`b1Kpm>Tj(ByWI*ZN8NXgAeSiquF0#HdIeCDRsHp_5Oq+*RBMbNQv zOI85DCH{7(Y!6&APWTx6Kn~m-=4RZa| zy6$6aHCIuEKpyNnd{;gwU@8dw_U73ldQgBcA;cZ)ugwby{cgnp*&Qk8b}64(v;zwg z@EZSHf@BOfQcPY^u~vpOr=$WVGRH309>+HXm#zvWgbJAj#}{}L2DrJMfpITF;Zne> z54?G4PndxTU!G=gYocmyMw{*$H4?0 zDTwG$X~k#_BGN3zlsyft&zvsK-Crj}3bU(+Rac0&M7nbU$GTZXRa&l5lp&w69N?hX zGQ)LHAg@U(j`Om9!;m;js(Zn*{9FP|7sZf(=^~3e3>(rxf$o?j+K|`8=JIW0PEH04 zE#-Q6+@}SMF-f(AkEZ9-L+3Eq^)Pq|@#E%7iSd7P;$U@e@ZqMSbcnH}%oqOvGMhEq zkJKNM$r?FWVBnnkUFbm&u9z?NV%$5Yx6j zjhiTiVzb|737JaZw89hM5qOKFHM2#ToYvWk-Rm*>r?2)Kw4#1)Mj-sWG<7+aUlIlb z1pS4f3OBOSU#~A>LNe^g@3%1H5@MSa=b1vpu48`3rjZvrH|EvtC*;YajhOFzj+y7j zxCG^f{PS8gM%z~g=Z@SB$g0x?)w8DJh?!r3^=I1lE-)E2|H2(b$6Z)529$=z!GGxVprX#WQ>2tzF#YDwYVnP7tfcrf= z#W=~}#$0tFfVjSPoQThp#AMujn{vB`gH)_3=6-`6@rXI$ZI)j~SSz;SS0=+KvfFXf zKcvcTk$f`zGH9?Nxfg{1naXDSoAOpf#XEFi2FZUJvI_ssClQG7$B?2Va3CMa<@5kn z7rw~UnH3QSO<+H9cS_PCI>0%U83A1qzZqq^k&?=+C7w zUO`+KEWOZL@_`|(J0>Q)jw0=HeTovE#BY9$W7KAk^m-mH`5g&N1wF;97S)fzo zOU=IjVx~E#bD2dGp`sy|N#!lrg8@IzZfPfX0%+sGF8Ix53M=ZRxFMpj23|TNGF1RL zDNK;e?7{tj>BspH$SFlRQ+fn zGp_a!v-6{ZhF6StB^bw|ttR)705L=#0!5`v+iEgJ#q#w~BU%aZ=;mSo4N0PaPs?9d zBhphV%ctq;B7rz0{jMBYwcP~9ljykW1w-N_da=&tadmWYB(kXLMmwKtM!ISwP7=_X z>PKdx*L_|MXwQ0kNf1s%EH(C5vUwQfbbUpe=G59W_W9uZv43mV`icUlLBKFHlBcQ0 zNvLnIeMNysbND$zc)}#UK5ux&^pSs@TDJxgB8IsHrRF$^IB*)gUJ0HlzWyOqv}qQI zWP}XeA2)5P?l=gAQFV%R1uR1GupgJy?PM_CP^nZgH z?LRxlIu-u~WP^bXeY+YV+xjn3EOa+F-tn0)zyGT|Xug1$ZZ|jx$Pw&+6w`Awc5*Ve zG5xd7s!?^r;X4;v*H*D!%Z>?blfBFy^$A(crYwaO@F4*pb>Bd&?>OV&bLF;3*TP1V zOj0h+(Qlrny1N_)hUFMD5L|K)5)Js_82x5JM5t+LIBsW`i>+St*_e_-!kDP__<4M= zzqP$x?D4bf(OaZ~x+7B@9C)@gsusqFQaAU6w#L9g_*s^6*FKhVegxb(Rt^>JhpB7I zi(TlWLJF~*ua7*{ERkGjM{v_OvN>31O42M_YJUE?M}Nm{uN7ZNXNlOyfkKIcbx0Jr zs%YH7`KH@R+;R_a`GH=$H*t2+za8Q5Q&FuNWJ|T%5%O7(fRW2rs-|odfe|ZHH ztDUyiKJZX~CgXVmftNBC!#yXE;@K_(l5xI0GA0cT{!n&uu2oft@ zfj5H-Bs}(P9rXhYE@T9^JEAlcMCQeOBn4jT0ePe>q@^P3FOjfyse_HFyqv&s`q_ep z97j>9yQY{vi_s1p^501=zI2N#1514|_m&0l6Sl+HgrOs6R zw>h#Vi|}jlzLWN{0s8jI;vhzy?BQS;{WUy2;6kh7P8M&_SR&)jPmQ2BId^XQCDXG_ zJ6jOq$oK<|!uKuGoI6i=`jnb~5i|;Lry;mn))IBhB*3fM@B%W#a_1=uu*U7QKOr~VgyA#>I6Ioq=5cmz0fe&?b}d@G?^Q_T1b>$rS86&{hgzKM zsq}GO(v{XAC3v)!hOcYEuG@*r)0a*2ZrlM^{qi?Tbeq5vO7w4tVGcZ6UWPyqtl$cd zdOjjyZwa_Kneu$C2t-#XGxn^7JrWk<)WYRq4cA5QDxVau4dtP;s3{ptLsD!rP-y49 zs~Z`Qx+~J*xG=6w9_&1y8)xv)*fkD~x3+&_uR1r)5cYPuX*80#%zZ8&_C|IdUzhzU zYh9>2x&g&;VX}z|IqtGWN@z@bOaQ{VQg~%hJBiLu37&5@IQl`y0(mmy7Ld;F@hh^b zKcmk5ESDtd@%3t`B{kIhV0RNZPvLzF&iH(EkVhY`;2$otBW+ap08A}0hSZ(hg7brm z#Rvw4P$4BB;hKdmxmJ4=XLamxAU1rSyUmujK>t}5=~(kX2?SVzstNe_Ug-Hx397Hg z21@^N!bi^ZTJ$r)gUonz_3g(g?HNTde~x3p!f#IyYC^KZBWG>|E{2+X{>iGrfz^IT zL3~17y6KHG$*?V%`@Y_u1xj@{=X}A4@JH~5;Sd!JFH9sx+Bsap#ae+*8RRqK=a9$& z5`$8fI>{qs;G>d9u_JQu@K@CFW^qvrPAP2y1Tr@OdG;hFI_BtAFI7|obCK80R9sO~ zeXL{kptwtJmqOww^pj(=(M{`l^vBRg3SbHy!^gJMFvi}gH*bVS33n1)L3{-D)(wjG z9dt`0#|hXPodAr^V|F(4fH@9*Ixl&%$nmx7K-(uDarn%Zo{!G<2nf)H#2A)uM{CwM zkpFb-7k7@MA+R#=FE|ho)PFf<0xX2BtZ!iTr#$dRQm@T-CcL2^-@>SpGo-BI8_`f` zhJqT#5pg|0KH}A2ti@gkw$A;U;MPk8?)^H>{?6c4bP+S`msYkHm&xD+&hJ&=!IpVs7 zgu@8q#Hf)-VD0d9ZY7ejMER97M=p+8yN9ePkLc5h3MQ~dDV4@q#b;(;bIJMWmI0u2l3+ z(abdOxIkV^l-jEKEfm*&@eSlY@z=5$DuP$aX348)HnQma2!H$95%Z+u%i{{lcPnhN zuW|)eynX-u9LCwb6QR1QRGX8prT?rbOwApZHQUh5nHe`lRMlSdW|WKGE%(+AtYl6%vFTW3L``2MlvbQYUs=|Z6s$9%|^Q6z8kzbGXHLD z>DHa-&gQp~fe(F|zM(*s46PW$Wpd+<*)YFJ5@^!dR@SrI?@hYpPf{ALsM)oJ1Y?}6 z{c-RubjtZ9xr^eg*j=_ttnAzMe-%bf5F%+A0@h@2rvU*$|JNbuWM*t_%=l-^{HMa1 zrmXE62UgclHRQJah37Trur|^2m5Ze!1k`5X=mrrjD=Gz|6S6LZ3;P}){f(M_xbvp| zno7YB=X0-VHuz15$GTY5t6@|M4u^xX-^rneNuKyTyLA<>7SDnSK!1hU%e+2l9w@pY z5N#D9J`7(pdicK$F5zs0JtLAWh+i~P?^-Tbe`$fMhQV}$k!YE&?rA!JL(!&AY@rV( z?iK;xA8$o5CP2H1jg&_8hmKn!EwpG|r*lL8g>jV|{C#O-7G@0w9<9*%0u03QjUbk= zYukbjuMu{wu|G3jf;J6FjmsnPN$GK-xI-FiCAh$P^cCNoNiet%48nn!^1CYcOT84c zxFl&Tnh0H<%*=hiKqi9_vXuJb$%-r1t;+NL{dl^$d0848wWWSrA@q{D_pd}2|OT>a*W6V4e$nr2W@mfSoI=NYcbN7+xp^Hepm zrul2uX=XUsX(s%#zi-^@Z3@gO%(VSpJ3Ud+8&3r1iBOsH_Dz_jrRy3LXRGrUBr;s= zNuo*^F^uw{2^E);&l)yh(N>@haB@%@$g4iU60mrZ3AMoW4#X{FOx_+PsQawJL+4q4 z!xPjnh+69U_O!Q_Jl$I^&ZzV0`CxHxxSHTq8=@Qb)gJZj@E7Bo*E99w+0$3sEYC)e zk@%i1@8|Po-EM6kWXXZE>g?C+-PJQ&{@=I3l%g#NP{ESxARZz9yvHEt@^Un~4dgg= zXLX?x!%0Cc2ktlq z;fiy)6)Pak30RVAvM<+Qtt(`(E53H!@)b5T0q*gFhd2!D1!p9(iPj|fa8a?*5b};r zNVz00;1TS0upxKCPv==h6 zjx8+~PU-Ooj9H7BBQuJ>bpCP-Iq0sxCF{q(>%pQ#v{IC(&R=#^;wzvjc6p2cwTEXT zs6k)9uK3s5XTi2|XKKf*;MoO^oq;Ve7T;-)?{0FuKg>-_is>t)%6}NSFNa-v-?nee zI!|jkt>Nl_b{R~_S<|-l(M}sW8DGtxHRIb4XUy}Z?Y8)y5TPE5$BKmrCN@Z^-qOwh zUm$}{+t{CCSvQbRl%u_wP5+HXx8$zv_!TWF2@#Y1?x#2pA)3}g=+ffYVPJ0F?Kh>} zq=b%EnuUcW%0jV=8}m|yP%Jr#XsNvv_x;BU-4m3^fF zn;JJuIOz2HbF3rx@x{IF!CDE`DpBHUx0V`G%D5Wn#{#5{ z+dpVq{Y>qcPf<=#1*uD+1_$~4dL?UOhX<}uuBX!m2K*Lcx?fzZRIxif%S$^gzq>n8 zm$nW{<&|>1;)1u`XH{tIk+lTqt>tznvgHfhWtvrRAw@5{2@b)jv~&3P-QZZ$iD>h? zc&d?(qb7Kfbya*SC@{6^=LnDx3nMi(Di<~_!hilCv5+4+&Z~b)B0;g_{<&pUkr_Zj z8`2m=ya507twTb|u*eHV2hce%F2Nr2WSqhSia;m@%Q*`Jkk~yk;ENFs%^L8xR+ZvI zDrH?1hlzIAaELHPG#}U!BK64>7A7gk(|?#RJwGrylBipmVYam9UcwIE5yWOyOE!$s za7sNWr7=O=B4gB}gi0liGNK}bC&&~vU<_)~ZIw%Im<7vDQahX{H@ph)q(Mx+GCv=@ zddVKuDcsA|tKt2k{pAt*pSf6;56^Nj@Cy$Ln7w`kz8g9_I@wyQTU#-j zI~iO5`P!?DsDiv#6w_9h}F77=ZBS?V;c;a^P8@5OhWrvYC>pxQ26!D%EP0e?hAJp7 z{fkQatPS$O>K3?kBZq*+)&J7PKX$O#3DiRg)J5jwlu6Wxd5;fU3(26mgf)+eq=6~w7Xf-ms4iyn1!ER+LwyhkcN2XIrAxat# z;8tfa%yO=~G%%e>Z+n}2>LzZdRKgP@z16oWz#@R%thG<;@W*en^ci8KX=q0^TRX=;y_y+Q zYva#^Ci=Cj?`C(DIS0ZFEkpu@+Hz6q3%;ulxfSV}NMzZYhb#}f;qccgr^`iNJb{A% z8@-Ad8p>G;G8pA@-rS&!j&61~(h;629)5F3?pA;DVG=GUmo59@%6TXTM6w%#gVf3E z#m3hzZCe=4=cDb-R zw~7U0#k3nkUrJvXPSRFn3Y3Jg%AmT8M}G9) z;(qf4yg)v_T=~asB8H+la$Ndr6>kaC9ZF9u?Y;d>KBhSTsR+A@iaIsZ;w@~B z`WMRD93(1DbupDX&v(k}mG2U%5mvmBoFRR8NxSM-3Dx`76Qz@Cw0NW*(}Qy^_}fNm zq1((-N`tI{R?tf2Ir%Rv9B_L#bIuv^8-}X(9n~R}A*I`4AK(hx&@BUztJn6$>?!1T zAt}@e*wo}_&xe*&YZQ9zl@@cENmY8x#3fTF&Kzz(hv$lfNQX@jvl7@+8?ew$V}z9W zaZ7V@ai18%|r;orX{-PUV5wFxQJqw^66guYO+2S`bC?cN`5mn!?Cek{4 zvvm_n&AMJ&y;*h5J7OG!qNp{E9L)L!;BwObEgXLFtI^=h?x#UJMeR}KU=)EbE_|n? zxB=z#jbK?~_qK9!RhOje@?9USW#`P!W#^TQj!0zZ)#okf|I^l)heNghaeQoJ84a32 zA}P@&vWK}@T5ly$k|M@74MVbw7-N~nPGaoI5?A#@X6hDx)@v=KYtrE$rZ?1zS}3yCX7N=)<ZYFLbQhHgT2Knv@wDB9P;e`r?#YCQkWO?DN`_@tnuZ6$TP^72Vw)`i#n~RyXwePr+t1FXvtgT8tenOkY$Xo_5+VbEhyyDYuyObLG6h6l zfPK2zIlCUjxnr<1mt5Qt=1Bc=qPD{IR^i{2k-W9#>eac*M-Olwa_)bacqmty<`H%} z!5EPyZ|BpMd@h6X4e~ksus{1L@*+On!?cr(x^Tkq4_;vya>t9kxOuI^NHo{{yTM$3 z(+~=}ZF;b8r7C@K(5qdSIPRA7G6!APv9O)UuPVre@jdeCc~!Gp5!GF%;LNn>Av}ax zQd&CZS^!kA4Kh=aIY1+_Pd|tL6 zhdsP-aDTF{Lq*-pU*@t|5&l7!i%nUM41*IpanW%mJhtJ4hImW!cKX0%!4>jhMCnVF z0T=tF9$RZn5-MfJl~39Ig(hn-UX%#^K*?I*UlP#T4L^MJY0MIAc?UXINi6F?N?QK) zd7VOimj^q;5f)`lyBeQSXozENidtBz8DApm&DVGIC({w5)t`B}l0|}A22=@9}uMWBXGjDVlWZ}m#4U9kht~NX` z(THmgZnzEO<~y=We^5B2*_LyEBAG``aIas*`*4UQ_a_0Tc?};!u6}5*E)v)ZHOdcj z(;y?JK#+RgLPxSI>iWS0QABnymT)@hH_2Qv7*YdZ3(;fE_vq%H4W=8aR5heGg z#`GCWz}I_LuChRKHujbety_|o><67Hf^Y;ksP?PYn7Zz8Np<|+sd^1Z3D0eqFa@TB z-W)x?*NEC6)I29KJNe!vuMF7uD*H;F;RTdb$eZ42_FGr=FvfP4R(Ub$Ty@mHpW5&JQSze9zP$LUbm}y!%wl3%zG43@V4q@jJ*UF# zIb0`tHo=&1ZPC?CBru;lL64cK*2)mzJ{x7E9!cI8VNAwCJ7(|u9Y^C8hqUDv4Qu69 zxKmlM%qzTz;!zP&uN>*|U4AQgW~8hQH#2SYPK5DOjV!w=NL5TTZ znb79EN*9h<9h8W%p_AuLIH%#qS%$?$Un?On@z-X%FOXFGs=NAp+Z|2{&25+G6>@L7 zLMjTBQ6pkpXa0J7L$nWmh-#b3d_R(Ip4*AAeZZD>bLo&NkqnOf2z3yMR`9$na#^-c z;x1EqM|9~zzRao}=JK66R6tW)w9QB{vRGb$_yOq8_x{N_G<1)u?fTs6woS{ zdj@`|6G~jhsj>R>#aHwImchz&a~=A#l&;_7FTO()H`@GJgI`v#K{`RhBecJ*zpca? zuyefCs<$QTJ6XTw4wDO!^|KVOJ7ji?GWWsLyDmy>!nz=uW5mx3)a7 zH6oU34NQ$VIFVdy>2W?t`CaYHg%=)Bk^m323COvvg&jW*63_;LSRDhB!5B9@`Xa#{ z<7K_(oq+`i@J^z@4W86R}=703^Jx z17qI`cOyw|R|h(82D*~k)VZn9cl^JR|0=TOEW{Lu{T{6Xf!LVyKmhdTLE@+YMz#JT zUU-5lX1!bqo&)d?C4bN)4!q$e81#EdunxFRx}h`b{X^%MA_^D>7hX2-F2Z*lRE7a7 zfC~{D3OvN`3Y*FjU>=+`-r!RMzVqN5GFSo}e{V=oLbi;?!2;kwcSFEA^jCqc!d|cz zICk97vJd-JYjY$CRsn}v8!CkG@3XQg@B;H-e{h3GM*m`Bo4rF*BObtl)~redVh5N9 Il(KgBFHbm@E&u=k literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.scala deleted file mode 100644 index 7be2728f6..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/ExperimentalApproximateCosineSimilarity.scala +++ /dev/null @@ -1,131 +0,0 @@ -package com.twitter.simclustersann.candidate_source - -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.simclustersann.thriftscala.ScoringAlgorithm -import com.twitter.simclustersann.thriftscala.SimClustersANNConfig -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.util.Duration -import com.twitter.util.Time -import com.google.common.collect.Comparators -import com.twitter.simclusters_v2.common.ClusterId - -/** - * A modified version of OptimizedApproximateCosineSimilarity which uses more java streams to avoid - * materializing intermediate collections. Its performance is still under investigation. - */ -object ExperimentalApproximateCosineSimilarity extends ApproximateCosineSimilarity { - - final val InitialCandidateMapSize = 16384 - val MaxNumResultsUpperBound = 1000 - final val MaxTweetCandidateAgeUpperBound = 175200 - - private def parseTweetId(embeddingId: SimClustersEmbeddingId): Option[TweetId] = { - embeddingId.internalId match { - case InternalId.TweetId(tweetId) => - Some(tweetId) - case _ => - None - } - } - private val CompareByScore: java.util.Comparator[(Long, Double)] = - new java.util.Comparator[(Long, Double)] { - override def compare(o1: (Long, Double), o2: (Long, Double)): Int = { - java.lang.Double.compare(o1._2, o2._2) - } - } - class Scores(var score: Double, var norm: Double) - - override def apply( - sourceEmbedding: SimClustersEmbedding, - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig, - candidateScoresStat: Int => Unit, - clusterTweetsMap: Map[ClusterId, Option[Seq[(TweetId, Double)]]] = Map.empty, - clusterTweetsMapArray: Map[ClusterId, Option[Array[(TweetId, Double)]]] = Map.empty - ): Seq[ScoredTweet] = { - val now = Time.now - val earliestTweetId = - if (config.maxTweetCandidateAgeHours >= MaxTweetCandidateAgeUpperBound) - 0L // Disable max tweet age filter - else - SnowflakeId.firstIdFor(now - Duration.fromHours(config.maxTweetCandidateAgeHours)) - val latestTweetId = - SnowflakeId.firstIdFor(now - Duration.fromHours(config.minTweetCandidateAgeHours)) - - val candidateScoresMap = new java.util.HashMap[Long, Scores](InitialCandidateMapSize) - val sourceTweetId = parseTweetId(sourceEmbeddingId).getOrElse(0L) - - clusterTweetsMap.foreach { - case (clusterId, Some(tweetScores)) => - val sourceClusterScore = sourceEmbedding.getOrElse(clusterId) - - for (i <- 0 until Math.min(tweetScores.size, config.maxTopTweetsPerCluster)) { - val (tweetId, score) = tweetScores(i) - - if (tweetId >= earliestTweetId && - tweetId <= latestTweetId && - tweetId != sourceTweetId) { - - val scores = candidateScoresMap.get(tweetId) - if (scores == null) { - val scorePair = new Scores( - score = score * sourceClusterScore, - norm = score * score - ) - candidateScoresMap.put(tweetId, scorePair) - } else { - scores.score = scores.score + (score * sourceClusterScore) - scores.norm = scores.norm + (score * score) - } - } - } - case _ => () - } - - candidateScoresStat(candidateScoresMap.size) - - val normFn: (Long, Scores) => (Long, Double) = config.annAlgorithm match { - case ScoringAlgorithm.LogCosineSimilarity => - (candidateId: Long, score: Scores) => - ( - candidateId, - score.score / sourceEmbedding.logNorm / math.log(1 + score.norm) - ) - case ScoringAlgorithm.CosineSimilarity => - (candidateId: Long, score: Scores) => - ( - candidateId, - score.score / sourceEmbedding.l2norm / math.sqrt(score.norm) - ) - case ScoringAlgorithm.CosineSimilarityNoSourceEmbeddingNormalization => - (candidateId: Long, score: Scores) => - ( - candidateId, - score.score / math.sqrt(score.norm) - ) - case ScoringAlgorithm.DotProduct => - (candidateId: Long, score: Scores) => - ( - candidateId, - score.score - ) - } - - import scala.collection.JavaConverters._ - - val topKCollector = Comparators.greatest( - Math.min(config.maxNumResults, MaxNumResultsUpperBound), - CompareByScore - ) - - candidateScoresMap - .entrySet().stream() - .map[(Long, Double)]((e: java.util.Map.Entry[Long, Scores]) => normFn(e.getKey, e.getValue)) - .filter((s: (Long, Double)) => s._2 >= config.minScore) - .collect(topKCollector) - .asScala - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.docx new file mode 100644 index 0000000000000000000000000000000000000000..41dfc75d15683b2fd47931be77f790e519fc22c6 GIT binary patch literal 38232 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 b`^CgIdWV)~JfH=wT9qi^44TJq((2v6dNGw6 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.scala deleted file mode 100644 index db2e7613e..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/OptimizedApproximateCosineSimilarity.scala +++ /dev/null @@ -1,112 +0,0 @@ -package com.twitter.simclustersann.candidate_source - -import com.twitter.simclusters_v2.common.ClusterId -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.simclustersann.thriftscala.ScoringAlgorithm -import com.twitter.simclustersann.thriftscala.SimClustersANNConfig -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.util.Duration -import com.twitter.util.Time - -/** - * Compared with ApproximateCosineSimilarity, this implementation: - * - moves some computation aroudn to reduce allocations - * - uses a single hashmap to store both scores and normalization coefficients - * - uses some java collections in place of scala ones - * Testing is still in progress, but this implementation shows significant (> 2x) improvements in - * CPU utilization and allocations with 800 tweets per cluster. - */ -object OptimizedApproximateCosineSimilarity extends ApproximateCosineSimilarity { - - final val InitialCandidateMapSize = 16384 - val MaxNumResultsUpperBound = 1000 - final val MaxTweetCandidateAgeUpperBound = 175200 - - private def parseTweetId(embeddingId: SimClustersEmbeddingId): Option[TweetId] = { - embeddingId.internalId match { - case InternalId.TweetId(tweetId) => - Some(tweetId) - case _ => - None - } - } - - override def apply( - sourceEmbedding: SimClustersEmbedding, - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig, - candidateScoresStat: Int => Unit, - clusterTweetsMap: Map[ClusterId, Option[Seq[(TweetId, Double)]]] = Map.empty, - clusterTweetsMapArray: Map[ClusterId, Option[Array[(TweetId, Double)]]] = Map.empty - ): Seq[ScoredTweet] = { - val now = Time.now - val earliestTweetId = - if (config.maxTweetCandidateAgeHours >= MaxTweetCandidateAgeUpperBound) - 0L // Disable max tweet age filter - else - SnowflakeId.firstIdFor(now - Duration.fromHours(config.maxTweetCandidateAgeHours)) - val latestTweetId = - SnowflakeId.firstIdFor(now - Duration.fromHours(config.minTweetCandidateAgeHours)) - - val candidateScoresMap = new java.util.HashMap[Long, (Double, Double)](InitialCandidateMapSize) - - val sourceTweetId = parseTweetId(sourceEmbeddingId).getOrElse(0L) - - clusterTweetsMap.foreach { - case (clusterId, Some(tweetScores)) if sourceEmbedding.contains(clusterId) => - val sourceClusterScore = sourceEmbedding.getOrElse(clusterId) - - for (i <- 0 until Math.min(tweetScores.size, config.maxTopTweetsPerCluster)) { - val (tweetId, score) = tweetScores(i) - - if (tweetId >= earliestTweetId && - tweetId <= latestTweetId && - tweetId != sourceTweetId) { - - val scores = candidateScoresMap.getOrDefault(tweetId, (0.0, 0.0)) - val newScores = ( - scores._1 + score * sourceClusterScore, - scores._2 + score * score, - ) - candidateScoresMap.put(tweetId, newScores) - } - } - case _ => () - } - - candidateScoresStat(candidateScoresMap.size) - - val normFn: (Long, (Double, Double)) => (Long, Double) = config.annAlgorithm match { - case ScoringAlgorithm.LogCosineSimilarity => - (candidateId: Long, score: (Double, Double)) => - candidateId -> score._1 / sourceEmbedding.logNorm / math.log(1 + score._2) - case ScoringAlgorithm.CosineSimilarity => - (candidateId: Long, score: (Double, Double)) => - candidateId -> score._1 / sourceEmbedding.l2norm / math.sqrt(score._2) - case ScoringAlgorithm.CosineSimilarityNoSourceEmbeddingNormalization => - (candidateId: Long, score: (Double, Double)) => - candidateId -> score._1 / math.sqrt(score._2) - case ScoringAlgorithm.DotProduct => - (candidateId: Long, score: (Double, Double)) => (candidateId, score._1) - } - - val scoredTweets: java.util.ArrayList[(Long, Double)] = - new java.util.ArrayList(candidateScoresMap.size) - - val it = candidateScoresMap.entrySet().iterator() - while (it.hasNext) { - val mapEntry = it.next() - val normedScore = normFn(mapEntry.getKey, mapEntry.getValue) - if (normedScore._2 >= config.minScore) - scoredTweets.add(normedScore) - } - import scala.collection.JavaConverters._ - - scoredTweets.asScala - .sortBy(-_._2) - .take(Math.min(config.maxNumResults, MaxNumResultsUpperBound)) - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/SimClustersANNCandidateSource.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source/SimClustersANNCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..92cfb4438f0c72604601a0375cf9a0f1376789d1 GIT binary patch literal 37895 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 - for { - candidates <- Stats.trackSeq(fetchCandidatesStat) { - fetchCandidates(sourceEmbeddingId, sourceEmbedding, config) - } - } yield { - fetchCandidatesStat - .stat(sourceEmbeddingId.embeddingType.name, sourceEmbeddingId.modelVersion.name).add( - candidates.size) - Some(candidates) - } - case None => - fetchCandidatesStat - .stat(sourceEmbeddingId.embeddingType.name, sourceEmbeddingId.modelVersion.name).add(0) - Future.None - } - } yield { - maybeFilteredCandidates - } - } - - private def fetchCandidates( - sourceEmbeddingId: SimClustersEmbeddingId, - sourceEmbedding: SimClustersEmbedding, - config: SimClustersANNConfig - ): Future[Seq[SimClustersANNTweetCandidate]] = { - - val clusterIds = - sourceEmbedding - .truncate(config.maxScanClusters).getClusterIds() - .toSet - - Future - .collect { - clusterTweetCandidatesStore.multiGet(clusterIds) - }.map { clusterTweetsMap => - approximateCosineSimilarity( - sourceEmbedding = sourceEmbedding, - sourceEmbeddingId = sourceEmbeddingId, - config = config, - candidateScoresStat = (i: Int) => candidateScoresStat.add(i), - clusterTweetsMap = clusterTweetsMap - ).map { - case (tweetId, score) => - SimClustersANNTweetCandidate( - tweetId = tweetId, - score = score - ) - } - } - } -} - -object SimClustersANNCandidateSource { - case class Query( - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig) -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD deleted file mode 100644 index 75d63312d..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD +++ /dev/null @@ -1,5 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - tags = ["bazel-compatible"], - dependencies = [], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..80f91312e2248513dcb1c6313c3210ed9ae6b642 GIT binary patch literal 36718 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 qK|=+l|xsj;sF38PCbbL literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/FlagNames.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/FlagNames.scala deleted file mode 100644 index ae2c36177..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common/FlagNames.scala +++ /dev/null @@ -1,31 +0,0 @@ -package com.twitter.simclustersann.common - -object FlagNames { - - /** - * Global Settings - */ - final val ServiceTimeout = "service.timeout" - final val DarkTrafficFilterDeciderKey = "thrift.dark.traffic.filter.decider_key" - - /** - * Cache Setting - */ - final val CacheDest = "cache_module.dest" - final val CacheTimeout = "cache_module.timeout" - // Only turn on the async update when the SANN Cluster has the production taffic. - final val CacheAsyncUpdate = "cache_module.async_update" - - /** - * Warmup Settings - */ - final val DisableWarmup = "warmup.disable" - final val NumberOfThreads = "warmup.thread_number" - final val RateLimiterQPS = "warmup.rate_limiter_qps" - - /** - * Algorithm Parameters - */ - final val MaxTopTweetPerCluster = "sim_clusters.ann.max_top_tweets_per_cluster" - -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD deleted file mode 100644 index 69ccce158..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD +++ /dev/null @@ -1,29 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/javax/inject:javax.inject", - "3rdparty/jvm/net/codingwell:scala-guice", - "decider/src/main/scala", - "finagle/finagle-core/src/main", - "finatra/inject/inject-core/src/main/scala", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift:controller", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift/exceptions", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift/filters", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift/modules", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift/response", - "finatra/thrift/src/main/scala/com/twitter/finatra/thrift/routing", - "representation-manager/server/src/main/scala/com/twitter/representation_manager/migration", - "scrooge/scrooge-core/src/main/scala", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters", - "simclusters-ann/thrift/src/main/thrift:thrift-scala", - "src/scala/com/twitter/simclusters_v2/candidate_source", - "twitter-server/server/src/main/scala", - "util/util-core:scala", - "util/util-slf4j-api/src/main/scala", - ], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..af1649ad36833ec239da571c2ee27dbc88884b6d GIT binary patch literal 37036 zcmagEWmp~Awl<2pdvJGmcL)S`cMH0Z;IQ!E9w4~8ySsY`?iM5v-2GeW?!9;SKIh!~ zr+Aoij912}nl-CdDa%1ZVS#~x!GX1>@@QA87RD!mgMp2~fPrCxM)f2B4xcO>J{hTd zI$F3GFnieBH6|%2t%{<3K6}AVW)UX!mO#ZW+i|3IWQ@m`tWLk-)mdUWk%xG=o8S-E zm{AUeVUEv8z4IkrtrP0r2POELsJ>6i9s?H0;ei81|3$NKf{yTLE)&bdNe|_ z%kXh;Oxf*a!q1)jLBd}u>t%_VS~Jr&9ic6N_iMQExrX#-%lImfG-3?Dmm zbz;3FAosn=3D#TYlT`HWkTepa4Gp)Z>647Hzvxk%Bf46uqB$EbZvl#|6Xvyq?7?(QSzK!d zPTOO<@<+Y$3+BTh2_-c{56Wwp$qtMGUaJPd;+dA+_xntg6q8zBQ$~YSy6Bdn$gjg57u)_vGeofxT`HgB$Ut!0?r$@H$Up zGo)EaLI_D{{8@l`1fmZ1>#8Zv+EbPkJzr%~aNk+aD7w6pPDYDEK)uP-(aW!;><p66(=Qn~R9S zGSEwM!NZdWOys8wp=OuL;e(vF?V#N7t8|ri4mb4J@K>9VS3lLXJ(^vz`2mS^k%ND| zA2e3o&#<7afng^+aeIJ9LIvj#RY_HKZ_#Amia2p`cG{eFgES~dY7Rw0Nq(0*b5c?v z8kh^WrsuW+7$~eAo}1fQV{)PL7x`q~!cl|y(lpLXlVSqQSkFZnb{Db=h0pwQcYR^a zmi|Q+t5_@pO14erJ7d>m-eJAp+xypdON0#fJQq-SM^-3?bhGXfug`s#1pn;I_3A3_ zF{m$gP+(wafA5QlqvIcKQ6G0$Wku_FVt_LE6k!c3rh=CcxF9wov5sGpkkLFhM*bll zs+DaA==%_c&G(t*CS0Ii;HhEkX;I7)wn6cu2KM+v-iWf(IznT0#PI&=)0R2g(B zw&ozZfs@hnSmitn6a1%CE#;~)Z}NK6i3?&_M;9fA=}#*tq8km~MeT}?KHr`#M5TVY z)!q-BCn+~BZG2T>Rf;Hwe5w9e?pZP|#Pxpn=13zEK=s8yQdbonK6r#t(jEKXAPof3E~8K4y0yiIbNIL*UnFRwM!!=e*_Z%&uhFx$1J<14T5ju01>#WT zZc(5f1;m%0aU|(iBw%%k;u4!uG5u=C09U_wc##q-FCn$TBQAeD?Pu0tei5}MTy8_B z^qra!mZ}}EDgUs;TtOyOHAF+1O!Q<*Lcm}~cdB)8AhD=xpr{v(oy~=h?nbp80&E4} z1JFQ!u@%Boe($EcLvr^K{{@Zt!k+D5>%mnB@yH#97uZq{Pn>cBZ}&19HBKDRVz-%+ zBs{6LNhuJTfve$drxc$uuqrE3sPw+GBc0`$h4>sk{o#t>ZT{vL$v;nwfL{2O7DzBK zS)4yFSa*Q4ISc5jb+rfGoPM7fliG5CRbI5NvudJnZbQRqfv8{pPF^0i^(38#FnoMcd>3_80H7?;rOOR$zd`ou>;kk?F< z($>%Ty=_RQdcaBu+jLmZvMmHru8VM zboZ4gViGAV2gK}{Vsaf1>#gd#@6!%KEJa%OtZQFNEGpeTUUN1m?X2P;V)ULFySg-p zaJt~9wj`xK;&Q$@*m>*0hA zczPaZMv_KidS_r=K=S(OWx@8R=G`6odYD>18cg5^Oo{8y!I5CZDUP%hUUW&TgK`oT z@O4{q+N6<7bz-_bG79%M)wqQwD$8vKxo5%lv!oO(C%iN@mCn3&v=>l@bE)2abc|#L zWbM^Ff^Ov%U+T;$i%b=26vkI9_ELzhrv(>22Az5%bUDp%!&s4rMXx4ylOa{CX@s~sF@V<-O=ODBh0~61llq1o%K16^Gldz00^(Dc|0Y*c z?n0kDkxdpyGnSl5qj{YDbgHHNDceP80H19dv<0aUAVzk4%}s}0D8vCZqT;>W$tzz&yR*VLv|=n$n5I6;HdTF>ZC5@y|42_ zC)057PLk)hj2Ymc+l43NspKeZg(jB$_^n4DL}z{I=fM*X%&KDVfbP6aQk-iT&~Hkg zty@z&#@K(ANWNse+Sr6{fy1W^p6(^eJR$&*87z`YpdUQ7-3xZhX8 z7}$S&Rl=bjoxFKozoz~r)w}|q=*gaKc-JSudinjQop9DuHhNjd6H2E7P7F<=&JHI- z$(t|yO^e2TR0atH_K4MPGjUXM(mGc_S(4A9Wx>*MC0yXD8ctWH$G!N6_C-e9i%sM@7@V*?52~9>-;+M04MG zO^$cvdZrqR?;+?r%RiUY=yDu^NER?KLk(y!)PL35<&&qKh0E^+6|_rF+>x&H?e5OY zH+ueI9~TTZJmmnE;6`ZT-I-N;#-YG5`|H~`+>fy*Mt)Req9hus8k!%<66yr{vT&5? z_Ovn+)h%9Lvi&;j&VWWFG3hU->pcD4$X%^^XPQsNlc!hh0N@LrkHEwJsfX@qR`TkL z!^>&9$l@^I^&$4{;c4+KrdXu;c-P?mVf~^#WxoCCVD{%tduZtHk>^XD;H&*x+eQcr zaD~J$x%hm#{~$DFZ+m?8xVijg{P?oLbIp#YScIgax2IF-GhbL#-P^Twy{`Au{OY)u zdxXfFqc)%){jPoYYX8RL-AVb#N29yY;>CVoqcCy56>vFg*jvZJZPDbjqDfB5p_Tu!|eSFuZ{sHd;GOWjPuvusJNlg0FdD6|LM;Z~&_;n=EnaS&g z&x_(Jv3!@#)w9cUWlcmU}h37PjN9p*@*YFG|RF&uJc6kJnA0iIBDf zSNC=I1F}gu>UIe#n<`1428n5f@PMRm7@bepEYQ`h>w5UadXNUeQ2il1a8@0dw?&bZ zP1_>5M}t7D3>xZX5K*ZCfd1QOd>OEL_hxWEA+rQ4?4Y>nY5{>yU(`l$S6XR zTs`eRv!)xT%H9{+Je;^xi8AkS)Bm$()3*xCOvlFbIc4!+&&j0%r=a997X7^SY0>0L zoz7+;)#^Uzt;3*dVfyK0_R;aq>19~<_DbaBOgKYDy3t^M?!15h>gwldze@%uLr5!O zp;q);|Gq~VamE#`MiAoix4nBRzjKmBrS#^MNE@hcVYUnrHDyw~qUiD9lEfwj>|H%C z?L8M11d(fR+7>=)SE551`pNbiZ#S?L)Pj&<1U)U#{37}L`P#oPKsk$Jv5D@M^ zQvalaDy2EIA@lezf-@Bg&(&2#^U#Q#9Wd0kfF1g3zZ{w~ao0HjA14dfN8 z;Rh2bBGZ3KWFm#5@kE6CL-kyudm~!M@2Gzd6}U(=Ou4mpVH#%fOX|*(b`fj3`kp<2 z`|0@Uk}R|*^?X2(3P_>(5?9jF@j*P!^!N`m9z^{OHU&3g^Uk1L z{7oXo{cxLvPP5{@UABj}JzteEgfq71D_1`s_p_EnO4Py)m#~_J8z!|?BFeG0D6OSL zoOYW!ipkd3-u3t)m0NoCe&?jMjiVEfmF|I<0?`e8hM>p7u}2bxY|;Y>l6pM<@B*3(uj zN$zC9FGCVTi?V2L*}Tqk$J}V)crjc20Tr}J@;q|B;tquDw?t|7BHN1u~hp}p*P9%3Es>`RdFsJzeT`;4g2!pzzGDOZ+9|6@fg zBAsIuc#sP+nveC^O(9(oi$eRh9Hy@iJR6Y-pKejX*n?N74(4P#X)z}Huw|#OvTaR)`=3tfShFO}n`h*2uW57b)9#Pg!EYH)!&|a@#sLSb|Ey7Sno9)dh!#89Ps_{=;#%sa( zC8sVfC{haJ)Z^K=DJU{g1Z^Gar&+44azTJ^Rr62JnBCnzD*hK-y3ZPt4-KRb$bcv8 z8XSh31em4|$aZA!mX6W_2+EV?(q@^tilfaH+uiqr#eZELWpxNmX|dI~3aY-VAw~gn znLd908P^Map_gAYJ*ryRO-|_Jo>hGn`EoTCsc@j2FTOx`Z>=OTnz zK+_+iO+#eY{P7TJBR%p+w5f0{kASb2O7wBf%T73UIks$fsL*kl(DQAKQC}_g*94|x zQXc+_R-@KoSTR~jYUJ^pL#%qIYV-}%p4|5u1z)M5(Xt`_W07SV#u8)k z(&dxVGTii9;#?mMo#+6+%wq?RfjAWxJn}`tx@m(v1xAwXMIw41C>^n9x-Wb#5c_i2 z09mE+}du<~{0#5B{}>s=#}4})^Y&yfXFnBX>>DmjqDrKxO?&IZYqgbJD=pd*&FsCY)N?nPgxTZh<{nL-IQmW5p zhh7g(t^B`IZ^}~+lgMM+fM6jd>Cprmt@D&nK+S5Zn{BYdmD*-CP} zt6=!?LIcDuTyVcqp*zaDt>m5`Md`SjVfHM{tkx_fiLV~ri61kaOIYE}q^-9Qy6Q~tl2#r#we+S+D!MThW*M~#WxcJA?2F4X z#C)ja6|dVVLDa19vrR5ISyNqYm1%NmH*PQDS(epx*0&jDOQ0GiYNmXZ=8@%4{4mKY z#=cvCXlZ9vpIRVPTzH#7zU;CB?QPSt9jOq9GwONgSzeWJteh~Qt<7n=qU3t8RarsN zvb%qTr-O$O+e2oCI)YXQ`=iP3?9&oQ6AM+!9(h!66(bmx0t4cs_F_!I18jR&&htlA z+rxL182Hk%a;k2vWZqMZ(#vE_RTYoMi;cxSV(V%>8%wqdcsI+XM0bbLcYIlIWhnMS zc$U4Eg${ZAsg{IweF6o6-72n@IP8GMHK>HM+KROIpGP#>M~xF0uS(Lc#G>fW%=Cq@ zy(AcD^h=q*(pqOL{WyoS9RSMniO4gvY!ff5XgO@0^>|S*DDOE^Zc!AcZj1WWo1HAURz_^hOQAdVE;l3P`Y$^WzE4i*@Q*mWPa!3{ zX<(t_CP^)F3K!*xOjpfgm`R0_%9N}g7{+GRNO17!^?X#>yQ9ZrLjJ*THUWClx!Ha; z__X#eAHp6*_2X63B;K=hW?YhGt-g@p2DZDy{li?XP;Lj}p=(sJKi*1<0dp$8NHkCs`W1 z#>i(!U41Zl#DSc1W?yeZyDL!-k|MG9t?&_zs&jp_t1(Y)+6{>> lUW-SRYI}h({ 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/SimClustersANNController.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/controllers/SimClustersANNController.docx new file mode 100644 index 0000000000000000000000000000000000000000..766c262276917260520614d65e88e975743f163d GIT binary patch literal 37637 zcmagEWmsIvwm*!!dvJGmcL?t8?$AhZx8QEU-Q6L$y9IX(kU((ve`jXSIWy(27t^;kAWxT=|`3j%q5$qg4BJ zRtMusZm*O6?xc@m0TMZ{D~yyH*|wQ*UjwOJDOMW(LN*r{lcblSXbhcD?YFO_p zM)DYj2cUfWZr{u3KB38W4AoE`eWR+gg=Q1_{S;suLRmNe13X9b-GMLfWL<;Ks#8Zh zR?XM?I9LkT>s|~g>!de`hN_W7KN%{6wKJ~TC**$M{+^~dj$H6@CEVbCVP4*TQaxZ4 z`7?*QP`yfrNL=a|8xPmJ)3F$-?`>X)?kbPCf^Vm|p#XKD@Syj@CDQYuG2|M~143ZU zz0^xr$${&7P=To&eJYLaYYIUTYEOdkv-cBxY2^oT!M>N}(#->*@q5yOXAF4*5T$=~ z(UVeE_yO3xEie!ec;H_{XLCCjCdS{N)rnIw;4CNs=YkTW6r~O=>f%MK2I4>Div)YW zOrDiE_(_$lb$2O?>uX{45gwiIn_4Vo7UHeYmDmMqnrJTuib6RK+3({?&59!i0p3RBWh>9E1+Djpog_I|u-oSsN)^zn{ zm0&HSjW@0~QDsSRgZisgg6m(S^wr;B5Z;BF|2oP#9oF zk+}DfSdiCXH}*T#HXH^JI?&XJ(ysZI&$Kkt2-zoN9{H68DbQpQDqtIGkG&ScS- zTMFkT8*JcUU-&#tlHI0KlK(?g6;*!qvxaaY^;a@P;sXqtpMimd5lLi;ji}|VC4?YZ zsAc(}5vha5a?=J7^DC9G!OpvO5N^0NI*NNgwscu=*IN+RKh=GGGQDE)_ao3j4EgnO z$VlZd%bdCniWUFV?GX|I8I(;}IbFrQO@nnO^3=uIX?w;ET)z^bH4FhM^+W#LX<3zU zP(I9tuGjWt_yIC6PI?P29S~tk#8bQkevZ zc9uOq-^XxFp3h9T5qyn&&rRdc%OV!gO$t`(m=li$qe@PjaLu)mBZuo#N2D$g6_Dka z8bhf1PKGn%)r(LJu%FU3m1@SlNgGWjFA1R?T@>kNKCK}MZ#8+BbSOCb%)XclOZ;-H ze;B+-QEFb<`l8IN7+DGaT5DD5SvDiU@p1q5SUWWZ5lIrv_>~P}!n4wvdNo`UTb>w? z#i;9I(h9-`-uu&SgV|5iJWG3BZ2oyN;S)l7$E$gShe5dS*rr80!hW;2l8%+xXVmK; z*pW>qjl`-A<(lDFF{kl8S|THPJRIP!V${)N-^fyIi~)T&sJU8!8&2_Uca7zI@kp|F zNDxnaqAM?0;t9^l2uamf;98)OSKprxv+K~4g{|>dzoL@+ zPR|KS)KAn^%Iq;#kqFcbQ<0|%X>_Bc$_7imT9eq2kQA$Lxsm?W;d=`* zp&}G12^tH`EC}_`>G$mp5T>syshF}#h0v(jCih15-gN;tho?u;g|O-w(kv?{yJv(2 zq=_u(V@BsQ6Z2`c_wk(KgCVja(BAH9=UoC%XH)Fa=4xhYI1p$dNTr_aR>i~LjY|s) zlP$#eqa|c)csRKewLiv=&=+Kvt2tTrte<>UsWB68hH@PdmkW1L-(zjhX^Iwib?RC7 zMRcXa{cw*umIe0%Up565Ts@^1##Qw@lZb@^0v^lsWOm9TU{DUKS~Q|A@v@=Mcq9ab zILoZlPrJse6+%bg7}bU#{vbYS{5z7tM`fgd;#ryrOE>Qt_8)S#By?2#T&vbwd>eLi ziWuqrrj(8Z4^BMP`xIA;Xx^I~8iSEml2zcw%9b%^TaP6(Y*U?1NmF*u24keT(x#cx zeCS*;^u$563F_5zFAFyoMxSZMNCFzD`DH`Y%mzVGweYp$>lV$6IjbK9T4D&1Yu zh|W8TKICyE?)=Iwl%CGF8Ns8H zNNMPnF+KWVDw9kG8!!Y7s&Yx~KHeS*ASDp2C8K<z>Jj zC^$YTdZf_odXUY&e$+I{RtrzMqM4|mDW%}t=nmWc1x_z)=}N8Uk`8fbNVbbrkI-y* zLj+ernH}^rwR}3^uBt-fW}Cm-^ZiE#cu4x2bF7;+dA5Z*wm!l%x(eeys}q>~p$8jL z+aK(OefJTMu!s!jRbBu*x5oyu{c-xF{^~=XF}I;3(_#C|z}F%q|D(myv*u0F3_~rF zH_}K{<4!Odg#Cvm=Flq%9EE|}-k>!4YrYr;Y7ajsY^Q=-X9zAH3@=R;|5?evk6@mb zVl-BJPEgGt zsRJpYx@jxsbBK7Vi7Y5eb6hbs0^M;JNYWxBNAbF<{dtbVUEGN~66YdhX2|RUi!|71 zT29CYS6$uN14+gG@xZ<{^W6&GZM{uPl9xuAn_GCb#<`T`S-fxSmFgp%wsC8J% z+EiL_3xF6|8`9{XZ5aty>6)ZPGJbG#s^SNz5`5wZ(gzj0{Zv0~sIvO!s=MOh6FSns zLsOcWL8Ero8T6N`CG#{XA~zhAYAO0{V5Y})FQ$T||j&QXh;Rjx0 zotEaf#ga$4?hPVt4c)X-&t^2ynjGbGlF4%%m)W@=Bf+*)F~DWNK*Wtg<3$u|y9Eoe zZC&{4b6GnGx!I1b-5z0}AjqrK_z2mNzgsRPYfT9J*C^A?2FFKRIh-&%)z-CmYz#0MraZbc0cP|B zxR()`ba2ynrCFn~m{*(a;Th4K=?I0pk{(@w_dCPbU#D;T%kP5wLnQ!N2b5`ts2o9( zzPm*;JkG8>ZHKd#T`65Xq&yOr{2l#b?HA+OV>iXPXCcC@mg5q5bG(jMhxeT}2mF5G zWiQ8-^V`kb@GG+iaDjovMw34;OKB1CpiFaZL+q#=(^kRE~`}dr_xm5P^Q+KLMTYNZl zO)^2;(O}3J^Px)SX#AGQX(zpnQtBeM)x@y8b$y&&EBvDJbEowwR#itb$?`97_3adc z4RGYm`3}PEm^Cp)KO|KXKR0mcfN6`*C4Mmu%gy=Z)j@hWRnvCWRb{&)w3*@3x1-Rg z5!8(U74UVjKEl%9h*aW-fWqO9A$iH#C^gzF>4I z{vHp3maX!H=EoC({);bYfy7kyST1X28iz(3vfOJobF~mWkHO!V{#omoN-Vx8CJ+z< zbx088f7ROMlc$}z%kPyM`1qH!C)wcJ(^F7r`10L8J_KZB+5sfd4d2+iE2sXPO`dK3 z*X%5|RotneKLv>}k-CbyhD=3b17Cj*mJ-c@W_FUA`Ri-0f2ZBKpCM6f=Ihxe*FXwlN?-j>~@A2@=L+30fb^X=h^(<3pc?9tG82A48ynG&8D%5(iumAA4 zdD)S+*ztTc|MRvZENuVS^RBY>zQCQl+?!@{@Yvt?2$yJl* zh8S5S@OK^amuDyL6ZpKHrd_$Gv6;^oDYsW183bGtH&K4h3|_B1US!uvmHRZVp52~n8$#luasHu9Z`~W+ z9j#RpDMKv&_8l9(-Fmv`-LJP|PZla^gac07n@q^teqSVre57(tN!|x*AA3ytY9|&c zQyX7C>4f>AW>DaM>VWOK*uw2d6Y}$nQtR;HJ4Gj{jflUgLxwC4J455032Q_StE~}w ztuyr17V_l|W$NsRGY`e~e|pf8d-(oduhS!$gV+64SCaFQ=Bby{>z;*z>g{3u z(2eT|o~QhB=)EHxpYqN`+S7ok5T^%E11@6^rs2!J45D!*@@^S2iwaS{I+010;Gno~ zIE_#Eyq~LE_sz(u^$-=Df!bq4(7c*o!46qUE_Ivu0Tmpf5^$)GPDr^90Q~Qe{&mpi z!@K^&q|^$upo7A?t2r1hZOK>i)9u$zetIFI)Y=*Mxec9o71sW+){&%@YNSPn+ku~T z+rBjzrrI_pFKNq12Tm?kSVd(|ai|yV&&$TwYBV;3>6Q<{@16QJOEb@>^G}ZVPOl@< zch^Fv=Ym z6*F7YqHG{$!)@sz>nbF;g;5hg#R-jzSi5^)J9;n4@S--}wak42pL5Hi0h)14+18!$ zt&yS2TD)%9&!=w}KkezV2#3F+`e2gW!F&_(AuyztjxHwSP7*w~s8k=_5Pwl4iIb61 zmMTM2NoK1Ip+CT&BavlTmVrrB_}WwDzm3oIpfTP#g0WQ9$&y(Js%&?e+xl9L`$Z>` z{_T0wx{I&oe6VOWvW|sqTY5#yelH27h!b1}MkN!D0;2Co+==8ksW61TSzARke(e(t z35?|yMz0~vbx8n5h^MMB+*&6MF}(d&Rd%5ij0zbYT99L6YXEW9cYVIN1eBtj&dSgo z3IM1!_n59Qioz8ZN=Q;CYr2)_A{ViyX}6AUbb}mTah*ltZbA)L-}6UMe{FvqqNR?MUKu!vz%;7l__DSZkM3>% zc68kpdl!6ht%XCUj@6L~yEpo10Y=@_m-C^`=UdlyeTN}$k(YtxNw<8f6_0D(hvE6$ z+Fg&@pNoQuM+b*v1-lP1+d}%Sx8g*x4ttEN!YO*O=Nt*R@6V11Vho-$Mkw?f)nk0Be_!cC(emS?Y{;i0kwO9HE}5AcD~g7{nwAq^v6yg)-JaB zmgeobI+)Tab}bn`(dS+e{c%zN1wea8B9SIzIJS z>lutqz0XVjc16kE^T}P+Y8q(_EBvIQ$pai>gjOAEx7=_kGwAhg@S;TVXo7X?6JbQB z^mwL<%tYqSOJW5VB#qe8xx6$l5o_bTr>#he?CFw!mN=RwdC9`6S%c@Enc>pOa<1qj zGVuNhBk%7s`ZTuxH2;QT)0;lH<>Z?AVE^2z`khherMnAGhEHy2c<;bpmJ{nElQS2V zrJ(1!7QTMBJ-r|QyStNLfqDoPle=|Cp%HF}#mgLy?dLbb;K}s^7=@2)eo9~FDAVZ5 zW5&@JwHX&$hi=K?=ac9`6-~^lpR(vyE%gud#K^KHU?~UMM_g(;>Dm!Aol*714!}v2m{B+91 zm?vu8J|}&D%UI}`aeulQxq7=A9`fpVb@KGPe@l5^I(?e|`Eu;YY~1GcMJyqf9RCJ14;-O-vha!c~4lJLx7v=LHRcIM)OBq2XRIgxvph9nh@_q9{)EJvkX zHW)Blv-tdi-qYiw9B|2@^P(>P*hKt@2zbV-NKTYF_q#TQhXoxoT37N zwrO*23T46g#6u|0G-3Fpb3&DVi1~Kvy4m3(RFdU}4L1^1P!MAQUu#=ZuR295n$Dm; zk|uV$Jkl~33$Icf{l<&43wsG$C1t9b_=T_5Op{5*&}zi-S}O-&>jWO>=P|36^>9$$ zLA+wtd;Ka_kB6ec0+~pe&xyKY>TX#82R_siirzSN20W|A_s1w3$*ER{Zg+@m0GY@|{Bxgm!g!VN1ZG<#Hn?u#N0w0 z$bPGn_mvnPs~F}z5n839pTkRKyO4$8@Dy_@Up+0az|O2E%=b~(jtTV7K5<|hj8}HS zAzj9An9(ngrzhH7CZP3!&=z^2N#=0@JCwx)NGoREd72MgJKyv0mK+Oe>&EfLNX}?Y zR!hU*;pT3(Y#8xUha$xAd$S}B&KP8iAA8^J8hx7`nAvVw=U6{KPh8GWA4q}w{QmIv zw1kgcC5xQJ%-yr%!Ct3s%uxuZphjL{#ml`?QFo#-q)isnQs{a#E%#hPS;5i|6pf)a2X*@XOU{l~lR1{9q1#0Z*FNxd2_y9hA1_ZE zg(^J*2Y#Kw1r^zJ%4#fy4ZX#0pT38eQ+zi4;q~a$&igC@3xsN)@;}C?79h z7BCH&#JfbckTTiI6>yRDYRJWJ;AZQvc2XSgtLVPJQu$#PFS%bU(;VmARdX(mA$4BQ zF?tqf*J>0KCDe}XC5)RaB(8C1Q`ddxivX@228@x%Zmm?NHj0buDwI2PQ!okZ#T+(a`GE>|ltoudq7Iv16=|uvi#dlext1fGh-ZpK! zQS$LvW1jb(l{JYcN{NG7TI?okimpdH)m3C|`-jIk+Bk4=y(Ff{qbLo~-&^d?KdrE} zFj1r(kVf~_(1TFO)4@M!Eyor;LU(lMy;!N({`f$ShASy8tK!y9;yq0-xk|!NQ}txD z++5l#vZ>m;wPGuebGuqjaQ`Fbo+szM0?A$g$D+@o*r9+o-2%U%pRXvWN7>Z^ixsfE z0g-rKUzPFk^Qd~qm{B7Aby>!>NHp!ash$9)mlz$DUO59uM*DoVKl@0o13+mp32|7;^_hl`FD9Qe9i1FzQCUS?*DADfxw4|uUCDr2tCKm$ z+Nh0LIb`R-)pnHZz*Q&Qx2Z{O-cg5-X~ZPAO-wYLMCm0?5yD(inJNWzbLkKg+2XZ> zBbdzUi4Hz}o=?gL_p~?+h~IflCxK5ox4SR;pEf=eg4rXfSY5YFvH#2jeX63KHurz} z<^+DTJH^;E_|&yF;vek$lAq_7w4RIsP9tbe%~Kyzk3r#DfX1G+A@dTAt`Ihn!Pr;J z#e~hau1Qq0UsT9uLEH1IXF9E;6gjh}=IMjMKAYc1ZvJ-y98|$wZrh>OwmrOU3MdX1 zW`~leN5|LM(y3h!xESx5PebrOr|-UjJy2A#CvU8*LTZeqs8{F2=YY9o+S{Kc$UbT+ zx9jC}yy>1jiAfS6V>1X8A&#+}xJhfA=BV!*A)X(1_d^vB2C*-gez^o1)P6Xf29B&s@6v==JSF^L!CJ z)M9%&(OH2;yaRuBSnxvJr3&f?iv^_)`okJR;#Z0BfRL4@%yr04PnY7f?++2EthRTn+U3T&BGdL?IX7Ir&QZr0;AD=kO|mFy`=VO9jEZ>bZW|#%>Lt zEi_>Nf-rN3?UFybezY3*R&oTZ#ZR5hjCJV@;L4l21Z#llN-&4*N(Wca+rF2Sb2PE6 zxx?x*rj?d-Bg)l9UBp-rP*3F>+Rqu|2Vx+uQBYsx`g%a0Y*iL6HQ2_7sCD>K~=Lq~L>5XJ6#f=35H!T15 zY=<@6=utVQEOx#9bj7L$n6G3j#)T-TB6Zp! zihy2)L6dBYSVK14@xg6|bfJMq;RniN{YmJWlN-!inY*ajj#Y%wlk!k`Y-Ip29Sgx% zvg?oZvcJ+7{+<5gcX}|PXjg?V=Z(WR@GCEy*LjJB%to6QSBYF@Cdf{uUi9N)9&zNf z3hdj&(|EhmATQ6Zm~Um+TPxv8wKo1}U72`+ojE#`uBf+%RT=h=bCwITpiCGSAzs!< za|6Z45?y9|Qi*}XCf`tZf9{B-O z3$iZZgpBIfUkw@vVo%kSm}=8BaButZtWl5EPs0k`*%;!NRikPc3%0V<8yPH~qP=K# zLcwyBn5Ia)+SIzr((J;__^cP6YX=S^g5CDh@`&#n`qPCOIjB)Tuq|IByDn@ieWV~} zgr-LB^K<8w493^YoEniTK0h-|ecvS7ni0JgFRT)aX5n*4{fYhhUFYV>mArn!YA}YN4$`f7}7AQ zPnas&3P=?cP2|xsa+Z_cRbh=9|8E`$@_+Ft>`P;V?v`FEq1G9>91k-w)0V+d11%+g z`zfM!!_4!wT|!vDU$^>L`KXUx4ML3`>=*|b14#{H;o|L?<%2br&l(o!m|J2?63u8^ z_jybWnI&?poZ(^uZ;*9m4iz^1GXBc`3(A5BJIgC~v4}k*tf7py8 z|BH>s_5YKNdekG3>ym0Yq4CJ7wAMxkf_&R5<=Fa{%Pl78*b)0>J8xt_XJf{^gz$s* z6tIX6prwttl^;WIAutFu-R1?e8RR99g9|ga(Up=eH0**j_UpTVgr~4&#{5d$N~lT$ z&*vj%McNnEx)9{+(rXGO#HNpp#Oo2KoQ_WwB@)6{F&gDL!-AToio#bs0zNgdq$N-_5TuuNJQBIoTE&)~?lwglfT4#+TO+Mli->-^!3 z7ksstjMR8ubZOq1o;QNCnCf zpzs8Yfs;ZFYJ7)8HT(%@m_KSq#d;D1(ry~q2rYS^-X33wxASAr2v_J?p9`sQHR4{U z;mcm%2|pINkYBcz90?v{(526$b(3wrJP8U-UeYv(Gx5h<(81nV$22T)`Vu<&&!mmn zqgA!>={(EK-h1Y`+6X*fL1Pu@CAYzo@MMfK2v#d8qG)pPCrnu`u1zC`FdB9@4CpDd z6aqQdFu)SP(nX1#K~!PH5yFQ?;YqRPF|ouFRu#;aAix34|veof_0cm|oHV zrT$Az9Zuw=8)+jWN<5!7srRAO-!zg{X6PuFEayxA_Pr|b+jn1>mYkFCsTs=!z8fe0 zpS~r=fRMlsmO5XSZ$aThpF)R}%v#XXn@^+0T85`N<!pJpvnR0-zp(M z>%W+cwEy&BJ~R`#t`^sCp{AmnCc$q6$uiwUMS%I}oR9lxYQsbqu#qD}$U7 z_Gs(BbYv2>?aU3(P4+UihN-%(v&LrkQ*bO9Dk!F=xB0ZTr(C61N+*GNT5iYovtT!GM z)7nuse<2uCGvu|}v9NRmFa#o4>I#0incoPCF0hOD&VUtvMs$R=iQb zTh;o`=D7~yR%6i!wsq42E4A0#9*w>)l%m~FKV7S7m&AaFz7K7{IN~?8>>t!cNp*hUw z(9;LH|02-}>TDtJI1xgRBJ&8>M3Su=bkrg>+jSU7nM<175WeIRu*>jD8~PTe9lOE=P@>Id&BuJ@_r-fM-|NnIL%gNjBov)zCr&` zZBJn8GBnuk3Tzj6Xkz;cmrd~g^~bnO!R^EH-j}Wth|;2GdM%{LpD}>?f=lImcw{@%Zjae5FO>yW;sOySNDN+&E_s-!-kAmj@zQI0_BcmcBO); zn;M~GgB}d=fv~rtbqn4kC=@3k6zD6H^g<`i&0@F^Zcm$Z{lqquwtoA@s@dP=SkEGI zti@*_>?|t|@u;l6sj7d}-*Svx@-sx6lGb^JBh7#+u*Nj}QhxuLBx4CQgK~C5#P7_u z(i8&b=BC3vR)k%C>19}~l-D}LYy(|>KD-2WWm;{DOJTmKv?BIv=PrBotDtF{J6Kd_HkE3c!_I32`qa@Lhke0aUM9B!0Q=>1&VwUN6+PKxk3izhkNmP_5y3L z7B=-pD{< z#U5`uT=99cDFFYcilh?hVSzdJ7^{qcQ@KT-eRg@TisP~gJcaqS^Zjxj`AS0(@p)nP z>dv%^;w{+}D;;R73}H6$-k|qXUiyAFubZ#SRsZs+b6+wx^f$0;?|HL7O#WoAzU?0V zI^VSRFO#ym$6dt{f0_(S`E8OL{QkYsgQjB4Xbcd~8LpbAiX4h3R z+lI!@j~;$Dv&uYRVtv|kDD%3LJi0L8FmT>0W+<<4UMp=w!R{yk3>e6Y48dHIK(Ber zeyGp@q8ZCz$ktGDEMDNQV+TAOA4D`D9Ml-1jaWLFn5m44TcrBdEGz+R(iDb{xyz0- z2Rf%MtvLcq380S1OuZXw!qjNQPvpWmraM^&?J5WUdzpk74P>7O4+q_a z1fq5RM)MG`oyyUqTh!2@&)D(*s*}up{Lkg2wEo^I?(Leu-4Sfv5=E+kiR~>k|XF86KdFQfN%0 z@W-$QN+)o0#+@M7IQ{T)OqtNvB$mzO6aNtxBl24uPRNDmrS0gL$qvu2IwF<it!`x-Pr!FH)XM1*@1MyNA(5a zXv4Qf_%jtVb(w(TZC$({|6*Z3?nQVk-MUk$%|?!67go!3Yu{aGFWd_JRropTHd%LR z3~Km!{>o71Gud<`=_ZchvpvTGPcE$tXdJv-{8O_7?{(#asA88BEK3g(bI*_wyCXNM zjYxWKZ(g1x?c#vwQ;Av}oNW>*Z;hR1a)pz3|BH@Q&^NGac*^c0?|wz;$r%tw*~!`{ zN#esWQ|yUMZ%THx?=PUg?*YBB5Bhs!>Em7HI;slWUEf}=X2iFiy0afo(1ml$xvsp9HWv zW-mC*%Z2bN9RiCN@(7CnZ{!D781yCgqAhW<)_Eg`xd#guy`}GkUI=CdQ(;LJ?V1f_ z1MT{x05$w^m$@ea`@zm=M(%`xwdXD~wSrAZJsFG;`xo);pHx^&Dgbz35x^&B(r2*X z(+Kj(sISp+Fq&p+y|hLJdybWjpI^jBQZ|n?IUEeX7+y12tgjv&L83J zbRm>gC{RQMailUV^ai_@5OYaE?~~r@*{=HjUC3keEPZFp`O8c1ZgQ{of46ET*Xx%G zHd}S;=*yarl<;5mbA&F}KPh4Dxq9`zu=ky}2+vV&qOsi=>~dLxRHmvA6uFVMvw{gl z!~2k$XEvNFuR>~iAEMCg$lXr~{h9ONLTW)L5@K*Lz7=20Bqt0P)jTLr0?DtG3?y6i z~6)@%62}|1i|?cFg-LoV`MOTY`^4{1`+iaJFCc@l71%>iFX!6SnR1`5X_gGTR+v3&Mj^s%ojO^ zhx{X9->v{Szp~*HAklnW1)jB=nZQ4QV+P^;(vs%NcRoT2A*w=PzTnilzjk`-Uvxi; zC_)NFb6Tvb7B{j8LkjtJZ70*za!mtARpI@9@F*EF>YFJJA_7X22bRRNbIYiY>B1-M8WHNG&4u>iC+3aXh1i#c z;L8Qqm6ws?pxohqHS>S1ja%WP$*?x{_#P6lzIg!Gt{q@USs{f0o)1^RqcF5;j|JFg zdzt~EU6*<3{RXUfbTi)(m!SBxc0LRW@jwd_u~zGii3IB{N14+&g{Pxue%1@Jh_7ZA zE)`eThr>}sF4HZzziCFEnJDFeDKMi32pIP+k=KYcvybR);aeX^jDxFV+W9$xRDm9R zKAxMCR|hLo>QRRk*%-S&5fi-X_G$HlwGY~X=wq24r9e?2?u;VdaQ@Y6&csTLvjv6F zx~a@;4!9;I-VzO9H;Q``zAQ;zg=dbfl!N3p;BWW}GSWAqj*fqhj*l(a7rVpVcgfiA zwA_F{aR>p@cZoHv>Ii(}KZq#mxZ&Y_10Bm%JZaGDq-Rdsd$|{w2+55kD3`e7k-O7& z@yH4>0vqd&8q3$s*R&#kXRo0^#cj|i^7~!CM644D_ZH@V12`%E1~`uR1Hkd#J!l_d zqyuK;w3je;W!rBTgyhAR|%L ziSUm28WBk%FNPJH>+FZFgV!F!*?K(C`8U?*t;42N8LV8)&r|7Wd zL86r&FY=+hO65zxeYMEGn2q*20oOZD>N_xztYzRD2FFQratQv}VxRv;j#w;0uGndU z{tlxM%y{ttxN#nPb)?Zl$an5ydFAk(H- zlNQ5aWVC0>s|_BLFhvy=%H&*o>e8_4LFmzaQH@5IWNAJ$T*9vbbqPS4gzSE+qAy#|Ds|BQsG4Zrecm7GTEu0;W7o#knJl_aGWOv@v! zbm3oUbSKnwjl*YllQpBPc(cIvNY(Nj9F~Mk9Aw-ZEdq>8%z=#rAg7*q3VN%u+KSq_ zA}@{NJ=!%)d{s9wzpAQQA)LLd{g#ZkkD^TckC>@tUlpD-uYIN$m>S>eC*6V2f@ zPdH#i!dBqnl+HMZxHD14&mzaq`h3(0f`vebp+u33Zz;3%1}!BEa1idxd@eMi_N#Oi z4Na`cur31uluIk+V=Lu{az;R4!qB3q5tkAB_u8TaLEdSiRp~8Ks=?3$&ZdR{%?f2o z-;Nm&F?W2oU}$f^Y1y|sDgjC)(K!C3_2-RlW$_*P2x`=J@|0!5N+Q^0J5SwQXw&NU zqLBVr2m+kordu}IO8G^lD!8=0c(kZ$KcLmDx}_Di^ZHkE8Sx`1-J8WiHxSM9MDvl! zL?DCUGK3+SE-16Ioq-}~)o?sPErlSjHBLg{C}IS^DS>Vs1m}q|<%z;)<2^xPg4x<3 zuaqV;YmP1>VLEfEbw>o}fr&us=LKOVxbEsL9_xgrpF_7iR4>6|%DCm0=7ag1@Q8#O z2!~>|px-0Xu1pVR)}NG2Vp08D1w8VfDnfg&2^1=oHEL{JtAmadc@Xu|TO*M$-&|Mt zFG)mSXfZylgdmJ(d|Ox+I3QuF$cz^^KSzOyPnLJsqeI&#>g#~A6HUw9I{=fIp{nU2 z3A-pfTp06SfMA_EpvqbER{e2ZW)(w38T>>#{9OZ8Ji5YKZ1-?of2&D2C5aw?n-G2kw{{~v{pX~CJ%73$5f}x4tEH{thx5JMA z1A)I1cyDoHvO}ijt{|rp;?H;NWOz>4#PMWQqU19`ojl?WFQ+s zqkAEEzdD92d68IVoTzhIC7no+G-v2pOxwF=XyUN)o_)h{#DGMd4gYA)B*BPl0)H zoAW>i?~}MBklSw9tOShFl5mLp^m~D6uDPV;M}cWvMUIclmqhQ#|2(&EfXlJdjBq#vv$JO z`D)(cxnYIM-$96~XT{Ic`<2uB+O^)$S5Kh!&cDR|G0noy-~YWu-{0M4e|^HYsOOQf zJ@DMm-&4@Av;6CwM`7tZ&%4QlOVUVgNM=}T+JTpUTbKL#fs6A%=IxpFt=B2n>QZ8o z;*lgR5%+bSpnob)^e2q6o`EJh5hUlc@1=9g z4x1=9iBHDsg;C=BtN;7*rhWszfCFLwLFv%?wO<+`5B~aFg8%^^AukdCyXy$D*&ZMf=LBWyd0^H!ClJ?2J$`Hmm<*-MS?bbmhq6 zYe&}Yrs0@+4^z(eHsADA`D4w^_iK~aM<3_*x4UhkhWm7$8y1$wH^2JVyMbS8{rBgr zn~qOp%gPafni|_(SWgc3Up=%49Lz4Qd*qf{%pO!LXDTt+r&omDFKb&rO=1C_<=+?$ z8r>7P(g|r0j(6Md$4KvX+psCH>4jdKJRcf-Ug{JTI(vk)6p`MZM+{pkr#Q7Ywzm~a zOM{70nJS4i;^HQ5pPzRh`)}uuogUwFQcwKPQ{$HR-|>hJ-^+)>rq;dueez_X1ovH5e2Pytq779^FuNMAwVq0V+=z2#_)4h>+gi8#i~`3&-UI7_fiV_;OV> zb5b-NGUH(bMks7X$ZRad7h)9`roWVB!z%Ns4!PZBhLNc>+PA6Z_4v} z<~{hi1rv4WZuW)(hkon;hj4&HY5>b4zJ?sQEjoM7xEm}(WHHf=NkF(%x8^4eRQ z+pU!&I^Kneuhql-Ofyko2lI!(qk>(}u8$)I6$!aq?nJTpWq!S|UI(R%N2Ra&{b59& z^iLGvedgaw7aa@%`QP)~=p7Mj48b;W;or3cYqkug1%~<(eA4=3RRJTa^+`x@GXv4d zF^>EZwI<{QJ~>n$=aMyxMng>OIt0^)XnL+j+opY z2qhiX45J;Z8BE)Ga&<$_Es&8T#KytR7Z6zyvSC{v+Rj-!Tko(o6Om9&Sl^#pR+p2^!bHD5ICUA;xKHp2CNV;KPn{Nl1uNDS z!)cMN=t5SZ+BJYJVYuu1$%?Pn1c(H^YWCvxNzxm|IDS0b@m1qv4Wp?bNFTsBjh!@( zcl+ot9EMgWxg!UwMYaLPU4`lZI`yCpwiMnH;3Ye#3lb*M&k!(xyNlIp9ODSTb1`1t z0)nKf2ArT-15Oa10w>~u6LpepkdFU`z+ZxC1$oWD>!H~D9rUm4-$5Qz_MrGBWxr9H ze#8HP^7nwhqx|nGa5!2a9lsQ;fpN>tIe_9rS+{~91&08^IR2saFG*`)#|)?dU>Gbg z%=WLaUVsDq4zon_Z=6jqZiH{YasD3gH_vsFO^^$^q+7r+G+@|oYe=@vmC{d0ch^_3 z&!Gn-2fCCmwbDtQAbvgz{tQA4trNH4BPR?P8Z$GrMyY#EZ&uI zGnG@j#brVOglOAsqxYkiv#^7M?D774^k_V3A&&{aEjMnrr!(GmpZ6o%Z^yQG9MvQH zT=1pt6Uf+a4<3&&r_SC#UpKP5G5NDQww`}7)| zCwMVVE-wKI0@-d@G|{v116e42RtzIyXwT|cGgOb~t@s@i_Woi*)) z`u_-f2k6SSty?%&#TDDORk5*S+cqky*tTukw(V4Gr{b!lg176Od++q(Ja$q(({|z8_MzX*;@6~9 z_G^d7W7}LG(dWeM$Q2 z()Xf}Lohiir0xYM{fRxK?l$}Z%fTT+d!phNSaZT2S_ntw;#Bg#5s$*36;?X1ti|3$ zz-op?SP;?u)0Jb&Crh6~;gzSJ6%wK=;JQQ{Z`1_l`Q`dmZrMW7{1fy`6%r23B=Q@4^O7K zPt?|{b7t>nFq7;AYXbf{kmobFaLSryn@Vx7exBIQU}`@4ocw#JhBNQRhKQPEV3E z){JrQ{mklD4=*~OT|{^60a&z)rFsu-zFha{TRR=ZkwM3XFWW9UFQS0075B5YE)pN7 z_*P81?aQpxT(06z$7Ay?26~`+{Pm}56Z?GC>C!7ziTIExUidwS(PkvaPHKZz-gccn zLM8WUsP;_?Qbvzc?msTplG7unb#E>7Sq(tHa?$vg9wZMe-ZoV`a<8cbq}UZ3%LW4X zfi7UsV?|PchE}s)omSpI^+)n1z2`%5Tr1!va#QGAT zF0gh|fAN}9pWP8z=XSB{=EoYi|8CmDXx?bZ1^evUkU!`dn{D=O;)}Vf`~tl~YW~6X z+8v^bKVTg9e3cTzLn8ap5AR1lCwOiouIr0W0dYS24w7rO98w+5o~*!tv>sM3f72N4 zK^5hpJAGF*WP}iYP3KviP66(D;^|$t8YkO>dsY0|ubVZ4-jv29C#M2Ysnh-pQ;O@` zqmI(y7iX=p$D6O>cv7B9)(%EP=L0D_yGr_C8lb!N8JA>d+`+B~D+V^~Zq_j&bHb(nm z-ecjx>P-z5lH29%2(_`JX~NZH;W5O0vAwh6`0W|zz^q51l%r_IjJMh9T%TvTX`FGX z9C~6$u=d^fwr(paa+~q&3>9|&P8mNyQBMCFlkjW1D;u}NyW@BNGu9qExA7K%85`wf zb;Qth2j|D)1DmmqJEc*4_pVexgNU9-`9-ul;iQbavX6HAQ?{fE=QR0Ki!MH7y-3rQ zCs{3$t`69@+GlkbCl3`Cp>J(LTp*6w5(%E02)l9w@K0J!RrjNpcL&t(k7>WjBSZ$9 zKgAU$Sked}Z{F_r?+HAGvUK$MUPa$2<_&r~DprJh(DfU#TObcA-S++90)pWzP&j993S2KG1`Wk_){49^MR*q z)HpLU6h(#%DKSi#)E6R(L%*~KaO4nEQ)JPRCIW0_CllG<{_tLjcy;*K&--!D8PO@B zi&7+|nYRr;%Ahbk8{BkERqBztu{ElkSd!G^4WA{3MTTP|YIndcTQeJKZ{<%+)L}zd zbEB2Y!l}sdYu9j7;XtO|+p@?nQIZ+S+aC~zA@@~)b$~Qpb+kE(IaB+5wNhv8mxrar zUuV?3rg5y)v2U_lBEc~tZV3na6P4+E3F8Qo=k?N~{!WQOxY=kI*~}t|zuPW7G`r(4 zD!b;YO9wGbUd9caJUbg=&dVnt#G2H9-pOg=4%o^Zc_~%;f2+<^4!*olb@_I^@c7KI zZj<}@Tz@*Bn$dmId;r8Zx=~;Y} zg|1X;Nhy-p)r1#YCPjV4jyRZ*)yu1MXvpCrHB{!+fs?j7=6M{Teqwe;cP-TK=0Kmk{pq09QIGx!*(X@kMx>)$`Q z(rG3pzz*MjM;aw5TJr2Qb3{bwwPCFG*0TNj8v^)cLc}rIgaJ10NWP2y>8KN!x;kl=QuatqC%SeKc-Y zx4VoUm)Ub_kbNhRH_)%mp}m7(X?$~EKLPF=&u+I( zSuI(u;&B<|ih!%?7+c=m)Zl}MxR$f@`5fY<9DiJddp*76{B4!iYooCD8sS8nX`z$p zhc<_U{qDAch#GD)S||8q8TlrzL7gr9K=&DYZ4B^jhjlxxF|Yye_w81BtNYCSSz1y7z1duMswJoyM#RQ;fbEU^fSOfy1{% z3$<~+9WVQ!1(Qix-E2L4{y8h8UKJ<%>#UFW{&s$Gy`b% zmUVJwT@7~odx;=w+AjSiHO0aHFR4FER=aqj2Bp{x@2nWVqFqN94+`#XM?q|6+Hfoa zIykQ#_T|8z>>OMbexGc+_uKIQ{QqYMV2ixZ{krMI-o}Z61n%#3@TrY+9ZoUZ#hzp} z7fHH+b5*Xu_gaoG=S6RvL6eSzw(*m53(`-hYXokSW<{BL-nuBQfo@Q!jS-^FOuhSa zuBfiMw7N>*NNfW~Lg{*1zH+N)qLe#J{ikt*8`p}+1X#5 zjT7B(P)72Y*sEqgt46;`nXQJiuZFdk;}30(f!{(n0V&mU*{jw(t2RW$;(`ADv;q>9 z;-7zBty&^6>uHVFKEGFO%4p5!-2Ur7M%_^>jI=uDi9Gr*#^5$c%qWH#{ib@KXl<2H_1#aDOh^+_E0A%JferzloC#Sk`)m~?reopM;7U6kMS-d60VN^Mp zTYR<0$q1FP%#mr2=Dc`gu=V;`r}dVBxc&Qg>aZ`z2B8@&^1?_etZvqoTIA*UsSDkg zk0iaZ*P}tZTyDH70`*~H%T2>`C7;v$b=U&UNOTG6{HH_}?R@qJ+x>zG$m449lDkVZWMxb^0Ah>-L zI|IeZ-Z|%hGuNc$Y@#c3MiEy^kqX}WE_+=lh*ZR-(g}L+xM$m+k5|-8N;Hp|%7&tq zHfsP-JeYTSfFYW~AbiLJ(ix#k-$-+jGBF5<2rJVN+Tt9-0aeG^#A@|4!4-fB1ZGLt z8Rv*e&97^^4@A&TV9YfXhDIjBOauarTnvR|OfMv%AS4OR^!cm<9)^K{Dk4Ms7cxnm z?&rGF3SG;vzN`i}EyxkK3I-Cf&(var5RX%sL6Be!Dwpkbm zQ7hqLhX@4eHgZ1du=iHEJLiLIxNt-DKdA~aYArtE(AM&F-@@P~dnDK0uHlWNjv)a7f`67^UsN%$ge zvI>2BYWp+M+o;ZQ!)O$Gzw8=~)|rTKbaD20_3==y-qV50@oepDesZ=ZWl6g}VXgE48Vxo?t4dcDkgAAAJR2MIhigs$#{tuhLbX=b*E?b2k;7}(Y$Gp*n7-e1u|VEcpB<@uaZHm-NCB$#gR7? z3a7hLwNp^a>`CBGr`I3P8w#m4k)OCoZHB2O)bl0P>wQhK@Q$}MOtr@=Xq zu^haxANWs{j#a{uJ+h1>I`{R$o0sVeG55Do7GYt%kK%LWE}z7%_gfQwm@iLI>=m1N zMI7JAos|e5%dwK4i{yuMHov|lVC+2t@rEu^b5WxiS?K9lry1Es=30g02fSTn-QR$& zrDb-fXWqPQ{Cugd^{^diG4xe5jqH9;Sm-v@6A%N{cYj--w1E2s2<&e&3B04_q$-!w zAJ0a>S!@IgSpR()54PbB=iQNw5E(dhC6%Wk_2PE-uKlP9N`0Zwn>2Qy=&D z4nJ`}4>llB%d1;`Rhn_z6&eU6dn9VV^%CLNl%WD0_ykg+S*-|OjS_Z3Ff<-8N^D%3NtlgmLN|NrLDKWx`HTW$2mO2u!*ud50QtNJ%WIzhgd+NVUcGz_GpP~ z5@8f*KCy(EAx{%!JURzs8vA{z7=oRj(n}L&3$!phxmyL5bQK<$=UqUao&#$V5pQrP}7G?c|@zOpJ$=pYP-VkhI#wbgiA;i|`{CojY#6!Gy zifBDMWcB|R5j`Z@ zDATR?w*clm*m-!`E&{WSLY8yn>C0g1KeXH!eDVEMD9P};NfG9!@En0T#+N?965aRdPf8s;25oZ_%uNH|%mG+E2k-vgX5od(&qZMFd|1HMp|0>2po$a?} zb0u|px}J~{1?z7uE#7ktf(Gsz%nGgCzFb=CZ1C=BEp6=Y+%JB{EY!`2x;3(?vd{P`W2~*G_=uX^m0C|0V=uYA)zYB*@ zD*H|?)o@Z-F9OFVuPgYITwzx*4pzJAFnL~A)>YtLz#Rt|n}VKL$>7#(N;DZ2qu(6- z(PJSM9`kd)HSN*zPs#J7){ZdgoI52I1<)gU9SfWzdXu^tdRhX|qaz!_B+R5gD(+}l z@c&lf0UBhcXA?FkrSkfI_p0Eg^e-LCc_%;}@6P|$@jkxUz(Vr>AmLh|ndLkD_@a=a zr1$MFD?X?FvEoVT-w;n_Kr24~KdcxrJPaN_ggOarNW8Q1Ci9q>yj{l`UbX5mgm3-g z1L9U4_ePg#HJ34E#VsAxWNX_F(b+q*^#e_RYW#71>O(!7ZW@PsAx;BEhN%FIaFe zd``((xo&`gXZasuLp)Ew)$*>ZJfIWm0#;)bJ9IMEwU8P739Z;^vbBb(@MdQzouF^rj z!Y1$^u8QWP`BjbJ^-x9#QqhEtHO7*V#F|dgU}8WqC|WctVadYv0cvi#RVcVDe-t%= zR1y~2wP+M7jln5*yUY=NbI}ZOC!y~Xtq4{Tmjfto z$6K+Rf0&H3OJ4|8?TK1=%;4mc=&8+3)I_oyi9i8^M`IW~8ZS*_SgS}g8C9er@(kgG zNE^s4PuNAWPa}a3;UK~^ldU)`akx@hX9@#N6H!uE&APx+YF16rDWsws!T|)OM6eqj zQC8tb3Dg}@sj4B^oCosX7f(yx@EA&sao;=6>gN9nbeY&-pLvN&kg?>)L-)YSc@ zYl*1e+3a*P&$0^k5EguGR8PEbxV{E*K{J&b#B?#2rz#&#j}KuSRimrjgoOzFav(U zH!IP4GpBX#9h|yOuqGo&!qQ6Z@q53j=P zg)N6)>y8&C<3z}_9GR!03y)cDiEc_CKyyB8icpc(kA$tNl4hJ2A+9v+ffdro{S%_mp9VM+ zxK?OnM}Lt=r*5bZq%mVGq~^l>ld1Jysxk&BLF%YXNhKF4GgB!mOAh}NwFvf~s6>b% zl&L$Aa$5`%g7=Fy6txBIFzm<_)%wy4A`LO-a3nW3^^0!Wf-#ZN zI7h5&-uJ2fO26GqA${CBfvV%njJc{IOiF`Yf4}JO+Uk% zm~uh3B3eqKT#BX~%wzLPs!$^h9p;)aSlX#Iw9K*qj;!@abU2eKXx4lh~R%c`$3|{eDUa) zBFD31VPM?5x&H=cTmSr5%=q!G{Ha4kSZGv$$HEwJp+QdlunA@yH%3b{*P()=_(y37 z98f8l3Q#FPfge21fhV4RTN2hBOuKqNDA}QHysax}aP}u`&xN%QniuJwgNlYD6>XK^fPawk`GGuCPpTATvbIVW zm@#sygQ!+&yo2cX)HnyxjMM~&Ap{s{t}G~`J(q%r$avJ4&%?~TSVQNGf1F|vv2Qa5 z(wFoPT6DeLes@LT$bBQWqt}xjhd91cfXnI)5y&@FT;oGJu=vji(aW~5d|(%1+#!PDe|N^)hF zd0G_&eU_+KM=dt_|N6}9K45{xUFwfG!QKjK+1u1jbv%Zp z3LzB>w~i>&OXcV+n|!Hu!%HiIu+|8ABl?6>z2a~elF=inpp@X|m+f*8g{wC@)t(n^Auk2^wMzJ}rq z!YeY>FKDG&wvnCN7{)_%KBt=s=ZxVPib0{`yN~$tGbLvLEgo8iDPj$rD%cHXc0>s8 zu5&AlA7nL*KaII}=>RE4@O4jV2>TX#h!EK~k1gO=An0u<72;Oh8!>)m8Q(tAu6dY1 zlWfg#;C!F)?;S*e*ouWPCUX?uzN}{R8IpIuUx5f*Vy~dL(2L9wzkpHRH`i`$_>5D3 zn6z(&2>=5L{2hodJZ0t<+C)bf_})<7A;JzE-ax!G`)`L{t#R9Q~o1~3BM31 zTj{j+g9%Oog*RyApIW^Ae+9<=N6Gvz5n$0vDvxXS1}IoSiGF-w0iu*5Zce?2H|*Nq79_r`s7rQf9* zRBRbieA*vpGElDysf1U@u4$lisM-p}pN;f_<=NX} z2NK#Y0}h+Ip5w3Ll7SB>UH4xEUQ!&T9{gAcd@YNYCZV4JtXXDU)8E#@zm4AFwVH_e zEp9TFdYrfST-*kN0-V2Q9|K`Z|G<>~4WkPveO8*p|MP#^S;v;h5QWsv+wJRnK|pA1 zfHR?+5#wDbV&_2pv+w`UU|#^G+!yl$mLZEa!HZMM3Yh<*vmU;+ zh99%`!`q`O8w=nZntiNzDL2aM!_;SaU9-3eg|W-_)skqBZG$x~0^lr_e~(+5o;Sw* zM+$=P;*=sJ;(vg$`z`ikWz-P`N_IGAj2UiD7WEvJxG$9z)4zsGZx}#2>z(3s7oi^ zNm$VoaYAZuAcvZgqR3}vV0w$VDbN5bIVQzmXup?1;dovo!gL>Al zYd;WJt%-%W+p{=SxvAkT4ZFDs?G(8!!JQQVheWFrPYY0jF0_>MRA~^G5TbM;rh!hV zBaOFFZyr<^@p)Nk`B_OzSaiw&Drp2^ZfYHiEGH!@);LlGJv)z7MF3p#hf{TD@QP{D z=lCab;Ndtw>p_+qdpI!+pMPw1*x!kyD$9XU`bj~Xic(h*AU^MYh_TaJLlp*jbm;V5 z<*10MDEQmEcbnKz5yF%ZcYL4@FC_FID~`w>NI7@Q`7C0cSdf5o{D&mT1Z=dpf|63b zENNa@6-;!VL%t)9e;6)Z4N4dlG7FAB@FooKa6bp*S%Si)h}Rf=_u82>2NT2&b}cqe zfC?R*M~man`4zmk%Dt9?2Qhm0bxw;dU?2|T>G^&SgFS$Q2|8L3(W%;o(H2CsRh%hz z7TS!?UUi&O&Vb@PrP zd7f1Nie>es445v8BLUMz7Ec&9q@yDJ2`RJ@pQ-KD`{um7EErnK&B%l=OBfSU>Per? zFK0(CVXzxv@RAZIEtQiK|HX-e)w9Wun~KsY&YH4N;uFYx&io+KU|2S5^l+Vx0>G@$ z0j(aAVTDwPn^}aLnz}{{NNGtU_-{(0qIk&a08tlg>?6^lZ?M3F2NmU;5@4U|iG)La zyf++pmS}MA=_Os}wCEWzO2-G~h`_MQKY-DNyb98>juyA-qF0K`sj}JV=eif6_{-T-kU{G`W+<1^!mB zB%arKJ@X6ew^eVuoUfYhA$UhUQU&VXAXhzRXA1W#@hw73yN)y-ViZcP0o!F{s=>30 z&wyXRTO{q-Z7Srnu0HHOzhZy->%2oN8RlmN!!OEES7HUEU@$#V3o{`pzC~$~DNOt}?jt^fywtV1py4p7Kml#ca!)vJkssq4lpFG|*Rmrq)2?rk*|?=HcMKhOaoI4alU5t@VN+}~iXcEtoJA9}AY5>U z>hrke9=6lr1BEm081-0rf?}L9{^3$=fx}RD{+b}5P?HaS9SrgQF9IIBjfY7juzdd_ zKyd`cjgCF;$d>H|CMGXSRvK(R7QdLeAVO41R4Oel1aJ*{JaAA-kP20Jg;s5YS1|s}rNJ$DfkdM@AW)Q0zUv&E1ny8Z&aGbci zrDzeI;G8Nz-t z(|EM?)IJg*hS*cEn6!CEUACBbp#f@CJ0Tw3LL8teMGWv|_3L_6W_oqyEL}r15Qk*Y zog=5dm%wxy9ap1hM1sU1-qkXpfi8hW4pqZsPq=QZr%v)L39Y4ZY%X@w@6CwzqQ9R6 z;Y`$8^KdPfhe2N7U#w+8y+iYm4}K8)L#N(f3|IyM!_Z8frJ5w6zQgtx1D?&1mk5zb z)A)wGky*1RfeGrpnn;KkmXefOlOz(rGI*mhJX2!hQ@U8oJP^qQ8G0~b)?CAR7z(5O zHXcU9M0Y=*F0x3H4+2B84VkWikxq$cJn)K+wf_#f)91OBKJLH^(BY~X?FxL~^d-ppg;vDZ%`Ztgr1~&Bl zdX!xIze%ys-QD>nX1{*?SDVH{0df6aa1f9a*#FVg%-Ph%#nR6FuYFd{YFkd@yM24efbnE;V(loA%fL~X#&txiD5sxF>a`drMJMn{Ddbpzm_zCEaS{9uuYrZDYnWJ_wDpd`$A)uRFH;D- zl<^pzdBGGf4q1?li=EMN8EEjwB2#AW(NQlHz@Y0XSqvas2l~{j^Mr=wSZOs(q1y9n?7d7QMi%CDU#0^-Dcj=LT zq`3LhEw2r&48-B{S*pNBw90Vp zKI0isZv9QrEWn+C;BH+{)HRm`uV%*!$P&-bwJ*PM2W?~A#TvgD2t087gayEwbkO;N z+;kU#(;VdLY(`ta*}Vf0$xYg~YV&Cl=3kiEiz|F;+=WA6k zx?+W?cRlQhh&ZPDDuQiqXZC+|bU*ksH@i5|z5X?^N& z_vOMQgO}#MX?UWo<12g3rFoW!ughJtiR^X$OXa99vg_og+)p{%V*T+gD2^+$ZB)of zw;fVKQ`%Dk5Z1Ng8>9MZbbda`Om?r|(KUlv4W1YIBq_h%ZbsVD z!+nqTw}EvE-+OSzmy@Fc`bfpVNZCCZlj0{}YKbwT;o=cm7+NY$Ff4=$DfJ7kRp^>) zy-#Ug&k+Y=%kQPvVs!`fpW7=>wT_fQfGwz6fIoj4?*7$+>Z_@d^8dKtqv!gq2ASYN z=Dd0a4il6QOrn^D6IihDJClT3kR0&HnVW%|p{8GcvTAZ*bv{rKpAnaD`{GP9>`LYT z*>BGRrM91Uxnx54BXrAngbIciCK@B-5-#a#qe!m;@&!>iEP9BI511sN`|% zs60IUH4VIZToj{oO1mI|>@7fnBT1Q_C3?+k4Hdyc^ld8@SB&%k>qH|c?uy5?kOT_- z^u&B@%Vq)nDfEdVm}1xHsr@XBsc-t-JE2L^gCti7A3>vSlagZ>-OAW$61HYH0Hgbq zoy{_6fy0o_N5LX`a^p7G{@G6gKD({&v#TQl0(3DkhV}c&hV32XKOOtco#$)}?9lof z4g>`C-;S998xpG+8rl5SrgbZ&-|jmT-pG${5mc#J(l&|BXecxzAx)ErxLzQi@#-)( z;;#hT7k5#>kkRzJ}V&Oa=$HS;@Q42o#BQu}Ty(W`tm&yu;x}-l1{l#d<%M zjM#%G2aN@>8Cym*S(b$&vT;S=t#qb=RB9#NX+%s^Mj7Z@RsRglT zX}zw0F!x!Yw%texymBr}K~<}XRrhE3`?s#RXFY!&cTm225wkOtU9LxcI;L56Im2gX zdmD>`NEf&FrK61cABvb9Pm2kb?wmB39gLqBa)(Wj2IIEl4PA`~5CrEyR!yT}KOm65 zv@&;c6;N2J3SAUOhb@d{Q(Dx~S!CNu%^_Nh^}>BOdUt02Xm0D(pX$x!x08hrf1SOf zK$Qxwn!si9;Emg|yh{;i(c4uqa5(Hwx#v$&9<8d|w}%8{oUZ?I^eueG^)I>IUI1TL$Z@1wUObyk*$ow;-PC zV^Ob1P$@bc56gWghaM$)=JW2=SGrlg2qggh9p)(e_M~;Ba3zHe1`*as-E>L!I14A4=RS3Vt}*j$%rHb{8Kl zgBS>%utHjF)xJsRf&3feCO`E1%GNy01`Iq}vFjBWi1Rx^JYmnS6&+qP>_+oocA_M0 z29i3LSMsy+uc^{58LYL?BHQsdd`~99&;c+ACt}L)YTUs7j?5BLr15B?bOo|=kAni) z3_{4#8p~&E?pXJ#FOQFtnUG!zKASR)ybI`ZrEm6;9zH%@ymVO zc{bV=SyEW&1iW>7qoOyT2`&<$G8G(}G0Vs_G%3y37A{FFQ7sA&|l((~>4U?X+5 zzfyux@5{^4^1)~=!J7_5FYKEm>ih9;#&@3=>R%VnU+r_en?c4B`*wU^E?f0`b^MT} zhAwJz-){HUFYNh0?n5cX+7O^Zr8Ysl!UB0uK`s^KY4n@OaT>_;!7=yATm}i9PemXZ z0v>}Z`>$n*{l)wc7w{c&$BneZ+L%4csGBbu!X-yjLfVczaf~9B7V@jsKw6Wqq&DPU zZ^7Ev$Y9s}9eNe2>}Y~K69tcP7&eP8NaT`jNeba&;$tBcoL!LeNnXLD*gtFxGZg_6 zV0?Xf;Ewgg(C$=Ir<(g_mOge;>+F(gCFzx!n{q*Y9 z=18T+Y^gSd#oS7#R`5oH;Y*lF&>rxHJcxfWWLnW|B{VwweNlB*1YSiw#x>tp|IO@H0y?;LZUpK z?OghAH2P%^9j9+-DJh7U><>RBcnHz7m%>+;Cys;j3+}%u@24bnwbLvutxy(=U)@=j zD~4mqOU6ncq6jB5)l9APDRyfqEMqE9o%`8TP~AoKeIUTTY%5}g6T@XcFtDY0yNrX*U@*@%`Ve2j z=Mk)(P`w%@p?;^urhj4H>JoDFXT05SSLcFK@M;^a6ziv~n$HVRQIT?ETVY%}$t?`G z2qhI9=M&_W&8n8mT1#5VKUE`7$C39e*o0e{#665?nqAq9X*yjD)0$19Z1B`~ zVNEKgH1n`06znpiZ56u)KVEyldPn7+GZ+VZ)#}P#+edFV>dMYhxq@=OPeSOf=e#P7 zBeJ#ty{-KIRIWmir);Y#E~MCXFTpW5l};Z2p$8mmCJ}964^J)9Y0MNavc9Tc6$Pet z;{pK^VsW&VX7$pxRpiefBvuL|rv;7ADI_S?+&_10szja9}8<+T? z=mENiCMDV9o=wwuKoJO~VL9hv0FwJBMtpH1;WZ!&tnl9-_tnAvsvd5D2@T|@ zkJxy^cnMD!+M*INB}zVAjnvC`sD!SBBBPJ(u-;wwuMVTfwsP-agls&3Rxv4O2RN@Q zaRA}Z`(wd-!M+>1 zF$b)sfX@}f0g*Q9DP9!KY&a5($Cl*1>%MCESPCdF3^h<(hF8_}Ia}nxwQX>jCQd=i z>;I*Tf8uDl8>oj8sEgnqy8iAC`yX|GwT6wJtq11k$WXi8^2ALR6{hA?`5I5CVC%vT z#FcTgEn&r~6SX)t z(TX#jgBHD97k=rtYB#aC4Hp$6!ER?NwXYthN2XIvBTAVJ;?`g=&T(zHHZq^f?08>z z?j`P|RK^o0y*IQe!Xkj(u6NAn3dHZQ_8ViQY3f8Z<_djGt7nVoKgM2@oJD?DlT(!~ z?^F|bTYUrjXL8-#DJ!=J6l??(j`a`We%?wXkuS`2JZI9ne!kl z(844^sI8Z!b@AQ($ZbeBM58O-z2tbPPkCJe?xa~NORxd&^Ad=k?9Hmd+o^E!TPqmOr+Hrb99S!Q? zj%N!@_qpsuV$f_cpe7kRVo_A-cFFjR!IJ*K0PZSvdR66g%rI3HzHnZcV_CmGl}S@$ zv)$L#%#~Mcrtft`A!-7=TzLm?*BpjdZx4rkAa+GukUbdu;@f8SVrwX!fc|x#Lh|ds zR%vl_q2boRnoKw_yZg_Y!_L*#$kYi~mHDgFyvCN@J{MN^PN`tLxK49;A{zu-Q-PqG zZnQXQ^F0U!R^55-7&Fu6wak_AG;LM3Kv@Kf1_+HK%&yrmQrc(e5br! z`!1OtWy2fI88+~cvafNIRC{PURX(jwi%04;JG|hAziXl%zRN7FJj@zw1Fc+{SNO`p z0e5h>;F_hdWvu4dRU1YbR=ykY39h&U-8vY#cH>aokwRe~l0t)kOMBH@ zqf_2*XXYW@&x;)omXX>wJ&bC1~SGX0?tti)_#?amiybUr|BYY^sifh4FSj< z3JH$Qn5*z^HJysjuZZe<^JgmyZo_=`1_g-7(Gv33Bak}Cs_{x)rMZ$9dd-w=lEr@Y zuN}qRoL}W9>yJ#R>4s&{H-uPP3NBgGv|3{3=;MEV`c8c3B&m>Ih)F?}IkQM6CyAZq z*_ST=jWaeb8_|G0DYBe`#v~p7j&50)R7;LQF^ZZDz5mmT;xNDehShs5a0jjh`Tf~p z<`|sPZ@Li{iE6|0iy+!zp;IoN9ey*T67o4wF^w%-BJGQJdk>-XoZF4{yLI=16UJdE zihA?t;hf(9E*G5-k;tpx%|;gvKaDym>QADFV+j0l;k%_Ij3{UC1S^tzcU4krdZgS} z9|mBpyXW? z8%{wco27ZX|Ka=of!IVCZWP9qSgyt%UH^h{>z(%rz;Y^T`Cxc7m>NXcnviJSZ0^LqZ&Sb5(DmKby?5}x@tjn|xPA0|k`sr=#oa@M23640`RT5E z>(YF;C%~gi$C{Y^Zs&Pm(_UMbXKZdzgN?D&$H#hE1NC%0`h;@4+IKxwCxk%9G}wi+ z)(7uwZIF)*Wo013I>jBlPWh3){qgCaGgiUaig`CA2uKhS2nZ%{#sW6({%e{7uDpQP zr=6jt4TF_~sri+fwZmssH2zL6PHNj}WGZ?z=z&g_z9M>IS}+dF?7zb>W#vg2Ps9z*%OKkCs`T(TS$<^yyuhQs8>L-z}`+UsyUgJD8Lk|*5!s3n~S z&VnEmkRD^C?YQx+AUB|2HIhJG%;)sx=tAQ!eu(A}8wHF_C#_a?rQPu)Gpe$&18AKx zBKxnLJ>pu4bJbE!YUTH>5GTf{&;tTazh+u6;u(!yAi+qTZ4Z5mEM!IwujPdL;ZmOO z32KB`y+xVAZQM0@)u2k68|Lk+(W3C%m%eb#{B>yi)Ujt;t4s z=W+ep*-787CB&vqwVM7mheNmEn91+ElSHf89#5SAiSrwmsXU*J)5hL!+&?Aam*|Mi z*PcFWRqjWNwRYJ{rP_tVcb$?wv3cTpVdryNrs?Z~Ii^@${c-2shBqBg4}4{3o+_H< zlO&+B)a|I=@2pc-cBV}0(GQ&KJ+1n$>bDvDbY%j*DLr%B)+Lyp>r;F|^_JIFiziJ2 zYkH49aj%Lwx@EiZg!9cud$?IR9A)k93bdR~U{asb#A?W+RJG?pJ3|!97p{zt#^nyo zx7e;*iU6-d?W#&Gv!C0$nrB^LxP|oP77sDQ$u)bPPvA0|E;7N%VB*gwc1Haoi?>cV zBRS)>N7VdvrDY1|v^o+(Rz>qn`+9TYoFi3lA93yfePHtQb+cr5>7^^q^Dkm|IK+2k z>gCC=?_dA+?}ST_+@;e055Lsr29$38_bL5H-9GmDd;gqlX|g{!|Hx|bE`#k2lLD3R z)v5ApYBoQS+VyeT!PfJ3S6U~Pgs*+UyY9SSMTUCI)~VCA7S=``%CgJ)ck@p2y_|bl z|31#rwI;GkFeEICAeNHvE z*4-+7Cmo`ovU1YvIqTk7?FxVSM(wD2Bk-PLBioF%3qNFCjDJ7bw=(T>POxCzDwfH% zFXkDZeZs}!)8%c{*`(6p+mz0B;r)Utm-rH``{rt&9S*7Kv&{I-Jui}7c-vFKhU=;g zYi4pr^Udp2j$?T->uFzy??&VKiTfBP?D<*wYJCa!Jm2MuE_PSMy)f*F?8g5=NR6Gp;8bM8);a~l>eQUK zn{MQb-sCe|moV?egGX~hms}K1So&WsFZ+VRcIoEMcWlXA-I_%`f)UDxC1<{nljz?0 zX_dmi#MFqs4_39OCR{NQc_YE4bGT6FVa2?J%rnd{*pr^L_ny|h#2f$QQh)r^iQCf- zKbyii?d@IVIqm0s&#V`|-M%C(tygBMZRV#bb9OH~x2O8ro2En6YmRQ4bjhf?veftO zBh?>OcjXR7zyG{`$`g;^;?u9Lwae8#xw!SUTy@RkWy|N)J-hjQUj4%2)7PfQ)urBE zy?*b{YqzcMRc_CIzOLWy-sh9|YJc1ReRKM7{8t&vsx{v$?!U}GSM&Ss_rK}&7WEGw zt=}K}>uTD!L%y7fOemAO^*l@;GhnLG>S^p>9mPrdj` zHt;WNVw1{P(1?}zZ`|?ikbQtRBa;X-Xn351VfRe)h_yjWCr$;nP)`BJ+(6w97-#^B zF)&0s0|$ds^Gf1FDhpDJV?nJmbOS2Yyd8c3mEHr6BXh%a1L+3FV?ZMyZG3Rk9$jNc z8+ULfP{~E0MnM#f&w(QFx+gim2s{#vuKmmH+v2Z*+H+VK7z9wX*8@f1+7k;3u(>)r z@W*{YpqCke!;Gkw&j5;oXAXcyl;#5cj!k=BgS3zl(DKtjt7K3tzrh354)Hm%Ay`A9 zceR*xw>|?yTqr98KZ;2%d{C2$ODc0x!PAxKVSs+1Busw;;~!fT&1lC SANNSimClustersANNCandidateSource -} -import com.twitter.simclustersann.common.FlagNames -import com.twitter.simclustersann.filters.GetTweetCandidatesResponseStatsFilter -import com.twitter.simclustersann.filters.SimClustersAnnVariantFilter -import com.twitter.util.Future -import com.twitter.util.JavaTimer -import com.twitter.util.Timer - -class SimClustersANNController @Inject() ( - @Flag(FlagNames.ServiceTimeout) serviceTimeout: Int, - variantFilter: SimClustersAnnVariantFilter, - getTweetCandidatesResponseStatsFilter: GetTweetCandidatesResponseStatsFilter, - sannCandidateSource: SANNSimClustersANNCandidateSource, - globalStats: StatsReceiver) - extends Controller(SimClustersANNService) { - - import SimClustersANNController._ - - private val stats: StatsReceiver = globalStats.scope(this.getClass.getCanonicalName) - private val timer: Timer = new JavaTimer(true) - - val filteredService: Service[Request[GetTweetCandidates.Args], Response[ - Seq[SimClustersANNTweetCandidate] - ]] = { - variantFilter - .andThen(getTweetCandidatesResponseStatsFilter) - .andThen(Service.mk(handler)) - } - - handle(GetTweetCandidates).withService(filteredService) - - private def handler( - request: Request[GetTweetCandidates.Args] - ): Future[Response[Seq[SimClustersANNTweetCandidate]]] = { - val query: Query = request.args.query - val simClustersANNCandidateSourceQuery = SANNSimClustersANNCandidateSource.Query( - sourceEmbeddingId = query.sourceEmbeddingId, - config = query.config - ) - - val result = sannCandidateSource - .get(simClustersANNCandidateSourceQuery).map { - case Some(tweetCandidatesSeq) => - Response(tweetCandidatesSeq.map { tweetCandidate => - SimClustersANNTweetCandidate( - tweetId = tweetCandidate.tweetId, - score = tweetCandidate.score - ) - }) - case None => - DefaultResponse - } - - result.raiseWithin(serviceTimeout.milliseconds)(timer).rescue { - case e: Throwable => - stats.scope("failures").counter(e.getClass.getCanonicalName).incr() - Future.value(DefaultResponse) - } - } -} - -object SimClustersANNController { - val DefaultResponse: Response[Seq[SimClustersANNTweetCandidate]] = Response(Seq.empty) -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD deleted file mode 100644 index c557c50ac..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "finagle/finagle-core/src/main", - "finatra-internal/mtls-thriftmux/src/main/scala", - "finatra-internal/thrift/src/main/thrift:thrift-scala", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - ], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..7cbb7d855fcf5e410895244cb0c01c5dbb707429 GIT binary patch literal 36835 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 X)?t7*D=-Iva+M%MA~1X8bc1*R`CQhP literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.docx new file mode 100644 index 0000000000000000000000000000000000000000..2ab5a22a2411c0d371e94c5069532e68a4bc7530 GIT binary patch literal 36946 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.scala deleted file mode 100644 index c9b046253..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantException.scala +++ /dev/null @@ -1,16 +0,0 @@ -package com.twitter.simclustersann.exceptions - -import com.twitter.finagle.RequestException -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.ModelVersion - -case class InvalidRequestForSimClustersAnnVariantException( - modelVersion: ModelVersion, - embeddingType: EmbeddingType, - actualServiceName: String, - expectedServiceName: Option[String]) - extends RequestException( - s"Request with model version ($modelVersion) and embedding type ($embeddingType) cannot be " + - s"processed by service variant ($actualServiceName)." + - s" Expected service variant: $expectedServiceName.", - null) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantExceptionMapper.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions/InvalidRequestForSimClustersAnnVariantExceptionMapper.docx new file mode 100644 index 0000000000000000000000000000000000000000..273f1f9834d73f8e5238634b4826aae5244d1503 GIT binary patch literal 37062 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�Si^wh^*n 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 MArY88CU%2(01w>hEC2ui literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.docx new file mode 100644 index 0000000000000000000000000000000000000000..222e06539154cd853a75e55a237f2cda468ce955 GIT binary patch literal 37228 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 VfHx~J2Z3^xAVVTBdwlHy@c>8yq$U6W literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.scala deleted file mode 100644 index f9c9a354f..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/GetTweetCandidatesResponseStatsFilter.scala +++ /dev/null @@ -1,43 +0,0 @@ -package com.twitter.simclustersann.filters - -import com.twitter.finagle.Service -import com.twitter.finagle.SimpleFilter -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.scrooge.Request -import com.twitter.scrooge.Response -import com.twitter.simclustersann.thriftscala.SimClustersANNService -import com.twitter.util.Future -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class GetTweetCandidatesResponseStatsFilter @Inject() ( - statsReceiver: StatsReceiver) - extends SimpleFilter[Request[SimClustersANNService.GetTweetCandidates.Args], Response[ - SimClustersANNService.GetTweetCandidates.SuccessType - ]] { - - private[this] val stats = statsReceiver.scope("method_response_stats").scope("getTweetCandidates") - private[this] val candidateScoreStats = stats.stat("candidate_score_x1000") - private[this] val emptyResponseCounter = stats.counter("empty") - private[this] val nonEmptyResponseCounter = stats.counter("non_empty") - override def apply( - request: Request[SimClustersANNService.GetTweetCandidates.Args], - service: Service[Request[SimClustersANNService.GetTweetCandidates.Args], Response[ - SimClustersANNService.GetTweetCandidates.SuccessType - ]] - ): Future[Response[SimClustersANNService.GetTweetCandidates.SuccessType]] = { - val response = service(request) - - response.onSuccess { successResponse => - if (successResponse.value.size == 0) - emptyResponseCounter.incr() - else - nonEmptyResponseCounter.incr() - successResponse.value.foreach { candidate => - candidateScoreStats.add(candidate.score.toFloat * 1000) - } - } - response - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/SimClustersAnnVariantFilter.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/filters/SimClustersAnnVariantFilter.docx new file mode 100644 index 0000000000000000000000000000000000000000..67a82917a163de715217c36b8bb439d127d79ab5 GIT binary patch literal 37301 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 yn}XieLYT6#85$}m9WQkK= () - case _ => - throw InvalidRequestForSimClustersAnnVariantException( - modelVersion, - embeddingType, - actualServiceName, - expectedServiceName) - } - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD deleted file mode 100644 index dcca09b7f..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD +++ /dev/null @@ -1,24 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - tags = ["bazel-compatible"], - dependencies = [ - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/authentication", - "finagle/finagle-stats", - "finatra/inject/inject-core/src/main/scala", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/store/strato", - "hermit/hermit-core/src/main/scala/com/twitter/hermit/store/common", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/injection", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/readablestore", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/simclustersann/multicluster", - "representation-manager/client/src/main/scala/com/twitter/representation_manager", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/candidate_source", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/common", - "simclusters-ann/server/src/main/scala/com/twitter/simclustersann/exceptions", - "simclusters-ann/thrift/src/main/thrift:thrift-scala", - "src/scala/com/twitter/simclusters_v2/common", - "src/scala/com/twitter/simclusters_v2/summingbird", - "src/scala/com/twitter/storehaus_internal/memcache", - "src/scala/com/twitter/storehaus_internal/util", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - ], -) diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..86f66e8940755c2e3d39f0825cdf3c0cd9091d2c GIT binary patch literal 37046 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..a501617a13a98c9f55f3cd2ae42a16c64226a51a GIT binary patch literal 37115 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 H9uN-zH}z=J literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.scala deleted file mode 100644 index 6abc37b8d..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CacheModule.scala +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.google.inject.Provides -import com.twitter.finagle.memcached.Client -import javax.inject.Singleton -import com.twitter.conversions.DurationOps._ -import com.twitter.inject.TwitterModule -import com.twitter.finagle.mtls.authentication.ServiceIdentifier -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.inject.annotations.Flag -import com.twitter.simclustersann.common.FlagNames -import com.twitter.storehaus_internal.memcache.MemcacheStore -import com.twitter.storehaus_internal.util.ClientName -import com.twitter.storehaus_internal.util.ZkEndPoint - -object CacheModule extends TwitterModule { - - @Singleton - @Provides - def providesCache( - @Flag(FlagNames.CacheDest) cacheDest: String, - @Flag(FlagNames.CacheTimeout) cacheTimeout: Int, - serviceIdentifier: ServiceIdentifier, - stats: StatsReceiver - ): Client = - MemcacheStore.memcachedClient( - name = ClientName("memcache_simclusters_ann"), - dest = ZkEndPoint(cacheDest), - timeout = cacheTimeout.milliseconds, - retries = 0, - statsReceiver = stats.scope("cache_client"), - serviceIdentifier = serviceIdentifier - ) -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..0bfeece9b702c73e09aba35c24d293def50f1d42 GIT binary patch literal 36834 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 ZhT1v|@MZ<(AW*InWJm;NkL+#`4*>m_(vbiF literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.scala deleted file mode 100644 index 84fec3974..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigMapperModule.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.google.inject.Provides -import com.twitter.inject.TwitterModule -import com.twitter.relevance_platform.simclustersann.multicluster.ClusterConfigMapper -import javax.inject.Singleton - -object ClusterConfigMapperModule extends TwitterModule { - @Singleton - @Provides - def providesClusterConfigMapper( - ): ClusterConfigMapper = { - ClusterConfigMapper - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterConfigModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..de8920c7962d9f033f0c431f1f1285714084e0fc GIT binary patch literal 37006 zcmagEWmp}_wm*z(aCdiicL^l8yGziGI~xz~0fM``ySs|tlym?W>bDvJ8~>;)^CMVQoE0tKsV$AQ*?F&VLiCR}e@Rj z!v}Ag8=Q5wrk~#sJ>*P0M<*~z>j5l=rZQFoon$BkPDN-8I;=W>h9|d!!a+^tXoO~$ z;nUujlH1FKpF8=3guhhQ%MvrSMy5?VLR$du*KnhAb?MJW4G9CzwQiFP^-h-Rj&-ZO zg~%R5hyc{@KkRy#-N!XKj$rCaqpnqTHqfm@ew+Yof~jj}43@MqWABKq^a;M}zq_L=jHMKQSPC<^o12xln^5;3 zLHW$3E>f$~E*6_S%E8C;=6EDQ?t7CHth>x7so>ioX(&V+AUfcEe}Vk8Zw$SHd;cz= z>Q3glvuMwCH89Uqjxm`|_a%v_0IfUT_{sYbvA7&hQn>edv3Pw?WbBSS?+H`h08Hs0 zRrI9(D0&a7-Ub917$WGep_93-GYj+YYh}XZ2S_$l|1)8!5vpSQCUwbzWdq4W`2yjd zuM?+5_CT4Um99=@NqsHsUgCqZT~mvN^n8LPh9cV_O%v_;z}&@NtxdX%hIYd>xMcW_ z05T7?onUR-w8$F@WKnbKJ8laNQelP-j6q$x`qLS)Dsf3edOI29lHk%rv};5cT1{79 zrda?CKw7SeE26lv^@pu{#Jxz9i;R)K=uw;lnrfx6`%IJ+lbT*r7OopX%6<;h#J^Z; zQ_gf6W0!p4MrU-n&;FU9u+NC9R-oH_29zK)P=d?=rb;gNT%n&8 zRqD=1YEE7w{0bFLN|qk{DB^<*X24SGEhm?}?RXaV?O4&zv);{q%!_Hgqkc!*>pC2 zxrH!(ih(*V&biN1WSK20MY)IKs%Y}dpEX1iXxk`|NcS-5eg*^(hbK}b)T5O)7ZHPH zpq1o;hbIph%S{5r=_u|TZs@Y%uQnmAy418inqIQ`0f}^wf`7dq zG*a2mFsH47VJAFsdw_n20?r|-oT}p9qQSluapLUcxH;_xsbBuCIrJTJGG6Y?NlArh zU@qL6uGMG7L zs4lipU|^_!uZyvR!yjc)8@FF&MeTTEfYNt~u!0p+#!U!Z5Sx)$$FE7qXr3D*{}2z= z%C-aaeF($i`^<6^E>JJ<)G+q6C}siMpzui@Yy2T^M9Fa-p|Lt*cz<>BfZQ3X47wCc zV-QW>(QtaKavp{W-X&F2scOudyxwHuf*97pS&?DdWd&JuqrtnVUBSWU+q1c-)GxQ% z`+@T$rN*U=uga{75#^9C)t|~eOQwam-tXQVX(uNkAxlFTzi>c}dzM?#E{93u$deMV z8Fijde1ft@^me(aGy92_V`-<0BRESTdQ8mda5?+#egNSIj%mS`DDc~jv_pC3DeWp4 zPDI0TJ*jG4sb<(^^hsQ|me_C(9~b0{1Z~vlcZwuyV?ggUTDDfenqyqcZGEXg9P-Co zWT;00@ug>MN%|EDSRJCc#HLgXzuGat)h{02cZrpkkXqmomp`8NGixxuh*}XYx1mw` zPR$5Q)sEMcf7oHJAQP$@qM=MCdNLs)U@)aS)jT+mSk%#1(2d5*=E6sFquLGuwu0{g zXrRB?2;nNdchlJ+x%-6wg35eh$9Ayw;3|Z8A9(a7+;R~PoNg~@d4VHg z;gp0gH$V5Et%IWm$@@|Dbb_zmp0O$3reVr)jIM~ z=-}h&rpTO*@>&FY70$);Tnq!(Rdvv<-+fItRW{mfaL_vq9b)_0hOyZl$cAAPr7x|b z44zm!N2rT?1jTtRQ8fjwYCNvNXnI@PmsVvQ@olsbPABS$EA|5o7=&1Fy?w2Zm7PR` z9Y0bh%Bb|7@9||?R?c>mJ4Go5k)4B3AKZH^y)+lZ!?`5vh)$e59U&4QoUwnsz|(fNXJj^ zkEM7U^8vUcn3$S6Mq-B|2xYde*Y203(>>tPJ()ZwdJ$i#HpvPFD&~xgJ%<8?(aVk^ zM>|a?=QoO-C~guiG|YfFJAev2?Aus{lVHX(#{iP{25pGMs1;KrLZHiD*-k(cq$&+t zUTkv2NKWOPbhhGFMA;7*m?L~OnZnY5{12IU;@z1eL@We+#>$Ur(P2X}jTTLMPZpy2 zaH$7eETRJD=fz@paqE!8ImQYvi!vEP9ASN8&e&v1$AWKY&Iq?|J6lZ&0GBaCEEb+z zHvvoUbODL;R@v_XLI@o-xu59xd?l=rEoqD4=_DWKc$<#9 z2Yr8KCw-)=v3wtRov_&x-T19Wg8=&lkH5>0Bm33Kan~g;q$>DzF56&2U>p65_0PdQ z7s1NzVfDIa9E)v7t}Hp`7i)8bm+b1CGcLqa2lL?%9*{9C!vGuB`68wm#ESd*>=mIeBoVX7 zJ`(R&9(6mtbakOmi1bRrt;F7@?z$PH#7@BO9k*{bjos|zt?I&t04_trhd|ya2o%iO z5G8YTK}(dBz+liH+D6$c-_$Uh_0wo(n$Ay78v+KaYg zRYeyZN~(j3?CYXzbmYReQ!E&oTS!+c%s~u_uOp zRAizg>MH6QAIcKy1p2bDmFV^~GZWR!UtY5PI&9B?h9oiRFQ@A~{oP1it-5C#PsNj` zSM31c3$BmA!~Us<&S_Ti>Wlr$X}ZYbFyQqe_U++m@hqlTr1^MP|Nde9qCI84{pn!# z=S_QP=Jvzm`=;N<3Cj5J$>X{& z@3$8b@kyZ*%?;2t&d!@(+K(70OzB7MH~5Bl+dg}7dh9;FYhC|<`vD2oV>#HgGy5ba z{pmdE=F%gLh-dsd66nO_^}^>xag|uUOXup@<+-vZA}Jp07sB$|wbs?%Trr+B$mVC) zzUJGdr+e1*awG9*p^`$}@3^_ng0czxDn;TWlXXJ&HcyhYZ%+{cdPb_X`v{z1kX47rUDu#M7lxjq^G}D?ql8vhiM-Sp`f7{#@`kW< zw8xr<;P}0~9`sxI!M$9szqq97J=Xx2J2nM{D&5acLsNK8vv?Gb-+T?ufI?N-_KR;A z16|2cEi2t83J0sPfSvmvZ?!tz(pdyuZMxFj4|I<`++KHVR5Y*mtNU&|2Z(&77lUu@ zVT9DTCbFIeEcv+I1R4lwJ8*ShcRwH*m!oW#ps=Zs^r@4WR0t19`i9Z@gv|n7-MX%a zPpk%M5De5F!UJd3fO%UKN!he5l6y1=#7dy1UIr268UX0Oea4poYrHr8`w5vPSYdmG zRabKeeEOm`%9G8P4nal{lH}@X_n9@FI2HE3(B|R9rAp*^`Pc z^K<9@`&U;#Py3xSI2l4(2@5r&-}?7G%7`#tpdg4`d($%a33$pbi2`WGvSeCy#5G5RENbz);XIwZ zp8vFC$RHm2j^=|!b_@4i%!kO3RyL}Tf;Un4%%WUTSty^^pRGkeJ zEJxI^acs&iY1!>0q84yNet=U+N1%f0J&<%HJ4(zCW^B|}5szDOp(BH{+`#NHgu5#8 z#|-vV6-8L-pd&@J+o;IQmw{8EU_cLaNNDya&G?}&5F3wLkkwHhvPA^|*XAA76-8CJ z#6}HH?0_C&62HWb3ykZ4F39=a`3cmC{jW}_ZAt*R*k9wT8u6)^p;$Z-NBU$pApV7Y z!kGXHB?XP6`y*5bgcbtA{YU7ZR8XZfXVzpM|3z@7OaW>^_(Mf<2eeu4|B(0}s5r07 zD(t`%(5Sx)b0YxhQ9%WH#ccS&M2g7tUlN%};b=S&;r>uPm+0Pz+VOkTznco2B^svO z+Pg3eviK!+=1IGVHC%nq9>D#y{d7nc+LL-dAV>wI(0qw2X=(E4+VpG1&|R`~CY02g z+jneV9v-)SWsDMH)=hps8(e?7ac$MNAM_S`?q8g6%l)+Eaix1dG@D($?NR-6URd#9 zZ+|pz`#yS8M8Ek)k|f4{hk02vNiXJ%D<1#t$>E&@ljpP%D&txyQO4%r8tLsR&}}Kh z9cgg2i`j2DTgL9#DdC{?*FXfIdMBVN7PZvYmsYUv>cNTe$PsVld{bay){dv0CFS@a z9(#KHhba%D-Ugez8?jkuP%i!^k-~nsbwa0U@!l@m!`q&(@)*Jy+w+yHpO5=lOClvo z;f8Zq&B6_n>M9ZCSX-3lQX+P{bsfcI>uc|N{E+f3y;{Fh(%Qz+iN{L!Kuq#o&X@0( z)V$p;?y8@rkVmn@j>{T6Afblo)v>or4Hwb_UtR~!ixdyW**9E>!#iZh(p5f;r*Azc zl<`2*Ni3Yn%kq=3*Ux&|h$VeIS@6q{MAxJ&np-xj^V~5rTsU6L7Jonit)Fo6em*0Q zqq~o@uc+2NsRJ91uIcx7PtB@7m_?quIuSky$PEtd?D>7<#(vM@#Di@q?76B%sNZGB z2o!vCcLe6C2h*^)TeasK;kR2n&*0j8ekBf?SlxqDc+UY;`Z`0M!cZDLhB2?rJl8yU zLy0(>$Ox`zVpjQ>!LV$pzo#cbkueTW-QPOwT-CwQ`cBgcO>cC+Eg|~nho;;rGuQqk z%*=sp{_vomlrjE^YclCg!luVZ9O+kntLHgri$T&~i8+rx!}2|PC=GpN97dknl!n{N zb@bojVO|92$#pxnZ}U+2J{M6ga-K<+3!5WJlffpAmLGd zpU?LhQND$lv)3h8mPhYXMJytnLltV8WkUglxKXDnY1?QKXIy)mv$&XWyXWynE%R~{hb*P*^@0Lug8qt;SVQ1+Rt}8O(Y5`1xmCFZ6|Oe$n)(N?|uSp^tl3K^{Qcv@tu0I&WW zUn!Px?b*qhvxuXdI$2Hf+*fP5!6a>PIs9m)nG3LSjEMX5h+WHSC@^O)PBG)Hb{V_d zL(yQ4LafB+SluCcyTqT15M}{YZ;Un#kzM1*L!`Cz$Rp9F{IwhczHTbf8(LwP>&`d< z*J4REJr-uAxqyGp#=u@|i3b|fAc>mdOC5^PrpOCkv&57L;JU9>*=at%NdK0daO`qy z+4fMr<1(S=+ZdysYV5BG42PsV{1wec&BL%_)RNT5<2n0SwN91j8>qdH-)rQ3rG`e! zhWL*~mT4Gg2$DI@KSFVNN;sA-pOlv2q}LMX`lxG12l!*vWc zl58&$(fdGYi#^kQ;d6%A|A+;URZPG2H1EH1y5r+7Iuh2_jTMNNp4OVEltsM7&t7j@ zGvcQWc^56{&6YSYZICH>!eW|we-gsyxBJ(}1wx#Pk0=?e zyxmJ4oHgpkT=@tJYLsQ4_<5JgYK}Dq6))~GY~?Adf98aO-t)I4haU#L^83@;Zs#zR zLRO>bd1vBF@)izJH3nPk)fxLPxZ9geX4n=6Z{{srdm&e)jMT?{ygaQHD)bEO1$74I zR6eFsS7Ixy>CJz4`4Lu1_1W~$>%p;=|5xfwdCFlDd2AaHETn|Jp?3+4kdCzN*aL9( zDWisYgWz-jxF*4xdlZXd==p~6GGy@%5ylYnj|l-=OEt%01>Sb*hl}SqEJGH_PO%N- zbdFL5d=$MZO37=4Z#CFkNe*`v3_o6IfLMhK?pMlmM_IR(-1DQz9al5Vo`sp!8igeB z)uTJ{VMe#zI4Sd6(tTG~?de_8$^*xi z-c(5iH>ScY!&afJx7Cq-aao3#50$*)bvq@98Wnyv$pt5CDyywBP0sB`?L|DxvN}$B z)}w3*RKrBgl&{h}vK$H@CV9o!cMA|LY%S|k3xtXbZ!^f3omZf}ty{Ju<>RnNJ?}ir zs}hct5(c!iI89a*T@SV@D=1oa_m6P3aS>vB$V^d2Q0riSG})fHEO9ikP^IjVNA*@Q zf>FscAU#uPljws++`e^RkI#G^#VmzMpg;?_#$J;f-!OvY4I@o2QzSllDFuG+J) zWFwDzvs_AacNl%gm-SYLY$t?k(Q8p?pU0nSL0H!(P!QOy>}r9{4p>}+N;s>nNPGWz zM7@2~D1q^+B<)HpivG-0PYBCPf`LY_lnE@Yb+*!vb2!@`pfsO|G&9RK@v@4V!^T;U z8wG>>o+ITZwRNKMRKv#?OTdYNK@O{+q%5{`8CJPeS<&&fs9&ww(VS~##M-PBx?}Hh zGxB5qWe39d$q8-#5&QQkq+~Y@EOgu?sYQ|7c43-W!=%>gE^e!+yK6E>&is|~Kjq;kze=ge69@EnDq5IUa5+*{4Vg2S<@Nm8|2 zkk4U3-~Fq5Dy6*`CB3`q5zk`vo9K4>bp>SeXR>YhGI zNRy!8FbNePjj|oP$!eTrsqY#gogH=c!Q>GKa?Y84y$$WIL^()`#M-ySM>MR?_06uv zIJIs!Aig}Oe!iNuAi(H6ytBR`?fRNYm2Y#f5=o?IE?au=@_Md$HV+wMu{o9Cq(CRx zPWWv|_*~Mt0_Kp-f?5aTe&t<4o79+p@KQtiDs%_9of}S^R7o`B$B{|gPdm#7TTgtS z60$j-qSlqL3c@zDbhmI1qdPGaoUgfEZ5Q1KJo*Onbsfg3o_&3l#Or-dY>Z5R?UC&JfrX3qy9+^8B)i*%&&VtHb#PW#$gw zDSvSF@M+9j$pNC8F!@`0jB|%SPtN28L>*jbyg7VlDx`wm=AE>hgNbF;Eq13dy$o6> z*7TA^9?xySYFd7?@|N5%hZ{s&(hq+B4Qj~6RP7E}XqxjeWBAUWyu*kdkSl~Nq>i$T>Wg!n%xl8$p2> z9(y&x8!j2Upd0~Q)fySa0cP6bfPH_A@oea2XuUzc`o%*eRS?W1mIRj5tDmEuBntZSjs5UU2i`l7Rlo*&_RQ ziV9{34z`A6NY-{qq>Oa-;1}D8>4SQ)@R>wyXi+E8UEFE)K3po3f88q*rFp@Ucmv zE)(Hs?E_0~c!W7)OPCk|-%(t^LqD(+L7PvUI3j(QfuD((E2)EayIgvtXVFds!jR^cNmUb(#rK zu9oH)7$}x-9)<7(lh2i}EJ~dfDb=_N%~_WPmGD^3+m?S3&No2t$n~e0`{*1-%&dOZ zW>7~IbE2liQk|lKf73@`g?6NV5}NPM!4$Ws8d=4hw~?V<&t&l!^Vv3P~zI=89xo{E$imKLQK=*}-4 zM5viQIV@9nc50aXwobA!Eq*1LUm+32CSafZ6X)fJ&h?}7we&uX=CJC~rO#D^EM{q# z$z;@F?iAUi&F-?BW|_sOq9TX0 zI6;SZ{Pt}a_K!LoL{p;_ayj-ZkEv3?1$hyP%6au`-ROVx+jPGON~DpM3SQ;@atX%}0vt*@1&2T8PV)>EcNL^V=&mD8{9Xm1%@11bPUB zSO&bpIp*vLV(Rxi&2S|jJ<8REj($lhNQv@$2lSB%h#cxj=97~`8z%OO(nNg%Q3Xbk zcr*>4W~FwPS)s-Kn+J;WUpxxCvN+(|#TQCwHAc=yLoBTHC2+JLOJBbK6jQrqaS!3H07OK3`@8)@k}i>{)uM2V3z zoNs`W>6)RRpItgQVt`1Pw%T!a#RT^Z#V7)~>W43d)2iVkQlR_~n{mW{vGKY7f3nez zcm(iV&@9H+AABmVw$_27-29YuWcADW1`B-jfb*i2Kf=GGK5bS?^j>=sltg>*;(Gk@ z_aQe>m_(Xxv%;B7@=_>4`RSV&N{Qzhwt*VEwVfcs6ZjHiK_y-#G^PHhvthFW?Q<(# zD9TmY6@?;F(}#M})$kK;hsUxaDbdSljnb?kVNFv-(MvudpQ;%090nz*4nm-ulxQ$H zDUm+Yzs(^KHOfo%#NY@`MBCe=DW#lilzYL2&|rbD(*2*=q#c3EI`arR9{Cv~{O<+!^63?AA(K z!#kx?eI0~?OJ*jhCZLkaJN4%u^n_MjiL@^!Ii#B-GW#f+0QF!hosZ8C?tS zr~tH9To)64UuuvQKPM)bd5UxKwKA%ZCI^nF3|%c7^$Jy>+wAzu1jrGg^7)TKlEVyW z{D4L?{E1+gJ7P=2ejEtaY8p@vD}9&R8kbM7bvR&zFY=_%gPgw{ey3CSb*J}O5F1hi zn5iX4M!+0+;WJ^?V3R9PhDw){I0fcJ`aTEG*XnO=_nU1=F0x|y)5+GcW96skyb z)w)tkZm$Y>ZviasE(r0~nc2Gy2qh}a%Ic|8Hq!2)`2KAx4fD$yC6CwvJ5po)WV`GT zo61=kyolSf}>$|gz4lK)X55UN*+=T(+$kh0C%_@`sy#84++|~ z<^~uhJLy_OG+kC1qu+Lua4nh2sHS8y>Q_mFc#DB;n)?~^hPGwR3^bs|L|)59m4pE^ zJEQSWI~ky$sXv2w|7TFrp~qNVezl85raD1ANgOcwQao2NhC{ zzx&+?%uo;J6z|3|>Mv=*KEBX`?PUDX&O{|Ew*b>*N;4I1?z59Il=@D{Al!K&Pv>`k zI}&@C^HH(4`INS&Lr@{m0n$<7kM`sQGj6ujMZs)dn&gXcXM9WcYY(a^?MUlClyHxb zPL*b#Ch=MBu@NLcvJw18VJ^`=k*jD1#^j$0-TtS-%Z#hg$@t9*ZZG9rv6B)!r%|U8 zJ=n{E-0w^yvsDFn9DAN>gA%>Sy=4n(u-djJ&k{A8nKAL3M8BWVhYy?U-HdPTA|2Tw z%DA$6p{Q1FYmBojkE4x;HwTB&6N*(a#dCWP`&Ri;7B+P(ti{F423%f*FjFqSYES$7 zWKY|qqWNI!ZVW&R`y><03;_9a))}jBWmEnBN{ce-eu?!Lzaioy{Y&`Zt-v_F;`JZ7 zDwS@=z50BN;As5;VR0etNKz|NnZo^OkT)?fvVyCKKH1vyb4XuuHp=iBw{KOZ`p`Wn z%mb-fYA6?@*f1io1qT>HskBUZ8PVz-nvG@CYiBLBOma46j6hrQdLeIBt6S@*8mJqM zc_aAdbqnm|9&bBz#@-OBR-k^WR>L-#0Uu*8dcSe_Z|aYKP@{vWVL$%feNVJ*EFdKt z{Xy+!HV&c|;Qo{PI~7JG^8Z17(KP_y5uR_WU|@40t>k>9$GfXG#0 z{~&K>_gto{o>Bo&LXJdf+t2TM4yz^c|jmggUPePGW=S4_n9nh0X&WR+nN~g)TZ1N3hw&4-91K( zQ-0xjNTQhED$Q&SLw+`_2!3fwZIVY}wxGByrmbU}v+_k)K5e$)5lfO2Npg0~+g$so zvo5U2)xQXyvpqihY2_#f5<=+Zl*$5CK9Q^Y;#;Xg8a3XX zu%FUIIV5`m-;((m``o;)+ZHSSOS_XsMQ3056&}C`D*<=A;vzC1@A^s%OmO;?X zA(Ytspk2onWEdfsxPKV9F;okw>=#m&5*l8y${VxLc!&v8I0n{ETkb5_td^9ZVEhgc=7 zPUyvNG!}OLP=@3DfWCodq2=2B$!g&5`EDEfwpl;xU=q8}V1e2|v{Rj{qvvG! z%OK)8P%aoJLjFE*)OIQt9+~5pSmi62im076xD%;9DQKJF0nRLg&N6~{1aF{pj4)%| z0d|GkhbYIA4tqsr*+@D5A92xQzs2DOpNn7EjEtIW@%^eHVe2Pu0D_Z3|GvQ1fi5sj zKyXGGx0k?%oUSeC!jn;=Awag$cG-G=C9kH_w(INUQX=bL3K9Ad_l^m- z#|daAdmyciRB3WbJ!s*)N(s>+)ahZNw-UzK#7HF_)MN*gPkem+aiRh3Y9GLB@cP~J z4SOvK6$*=+5Z(pf4Frab_KnC1+1JcQAkBN<-~ynqS-Y&CUrnOduXn%Sq`1pO;gRiw;eqQONf_YXK0%gUB%I8VQ0BZgXvEc zQxW9rxQ0)5TyuQc^dG=u5#8b*8}0e8%J0P$J00QKx{+DC2aPx#c+srIQnPzIePa!>wF6Q4snG@-F4vIrzkry4d(E1qB>HVbU)M-XFT28 z`J!Qi{K}?VEP?+@Rf=xQal0^J=_CMy0N8% z82kH7o|l>yB;t&t`IEX@^eWE&qK`m1_t#C@AHZJ-G{ zo-Y+LTj&7d9~w806fz%5^Dxg_&ZT-9ZPs1(H8DCaNJP0PGH#bM~`x!Td`5 zpyUNVz`sK@0z%{me$75_Ntmd1TFYYX#>U5J>V0Mufm^~-SWrd3;s9GizdFuC3wzjR z?T*K}w>6rUJ7!|j#=#_J&^#ub3=Wmk$nLRJV&M_btI%sP-47C{V8?Y9o2B zUV5+z4`+M`iQK^NNU! z=wJDBfGyQOE@JP#eDOWE^PRN_%TjKjvsoMHbY6f~rl}1OyOy>61Q&u%fR~(OHk2%{ zLT-8&tkCGd+eZ!inS1YCW=GTs{-F-W8^{6kOcGe;$w7iUN9a_IgQLs#*U_PGvhjt~0 z$Cuj1K&dcd;(xb;SZ>4JI5a3)kz$VE@F@SutHc5s72RnqZrG$Iqcb8 z8-TGdiv$P7;@PDk!qN%{)11RQ7yAl1%i7oX%)FTHl3)y_E@w?eZZ zZ*Cyy?{o3f5r9PsB4b2fulWZOe9B$9H#-AK%3{m0p6PE-%d#hBp+!ERshuBt^;Sn? zu)6j>{TBR;N`14&=L`}Y_#eT6*`?4Te+usXE%^Mm;3|S+S2wl?jbqy`Z)g!U5>1Bt zB$83va*|QGzkoe@tCNCa{{^hn=3*9uGdTo?^?ZE;R4wY*;1$7omSeilJrMQn^hW@e z3>AThW@F0;tlZ3m{sA04fB;NMoGIOU4=sYE3WfEITkZbR;jMq(^&qAQEfU3Tv8-BH z&n5~j;@i3Tg|3=s3e>8K2t4FdGGxgCxvnkUvOK!ZU+V|_i1u+?|2jxivb89-dE^E1 zGdzy~tkUY8E(|0ANs|Yq#I$3>sF&s3C-e#l=D5X~{{AP{wc5GF*SVmJIoGA<;ljY| zp??+gf6a|s{)5SoHtpCBGAO?}0N2hfP(|6HMF5`nm!P9C^lA@zIHx;w$cKadt+1hlsB21NK^g-O^e^+v^l^cEw{=^VpSG15Ql1zN;avWgZ5+v)v;`W4qz4Fd!LVHX5`f&N|d_Q z;lC7)AwBL1SCN7A`8nUYwjj`q^Zc`$~yaC`PH+VS@1nrx3(^{v3)9 zK~;On`-s({EUItS9OD4J*a{8a5m!*nC8I*Bw-%G^xl_2Ylz{sc{vG3DJUd4T1S|$F zc26IaG!=0X2g(%$gV7m)idtH(B42Johc}X~T@}`mO`SPe)!zO?i(XYqG?$Uljw!!3 zWOV!_O=Jj*Q}u~+-LeOtJwU#}zB4B9j zdB%s`62NIDA7)p_&hj6}Fg{>~5V*t4cM_6>_9*;YqGvlA@n4Ml7;XMr`wCE9A&K z_rIj4qcf)*o0}uye$`4ERx zmy`n+{F!;$2r36FxOaq{8|1S0aKh;KE}*gWS3>9%8?Lsr;=3Y&cSG7s&MAvrM6fD1 zDZM}bMa2rD!j1Y(#Tq$ivQ<0HV+yj#{?(I}#LL!Xq)q+NKsGB0OF-gE3$H_rvzFaV zBl-9-In`f}mSNo0ZR#DrNufc5F`0Kw*?TIDA~uGr&K{(tM5QJy%LA=c(O>8c$FvOf zL#MVARU_;K-$3P&spi|;FA5&tOS?0g2N;={g9-^iNj~-z_Eu%L5w~?kSr{RBu&o6D(tHCH|1^#1=@TBmXxvrxx-Y5~WhGd>2o{K^u1|5iyCJN1R zPMwkI1QJ27hU*D#DFS_^aU6_56)pT-34CKOC`X(nM;tMe;1LE3!p0V5srU=4=Ex#4 zmJ^R!S9nkkgc!7bP9Rpi>$cwfkxoeJ8En&i2Z?gXQ*&-U*zp~7|?e~dfQ=a#Z%IE_8_FDX{x%(LeKN}=SIEf zpx7t(XtGwkRS&O9K1GvI2OVmDdjspl{MG}u6D^)AdSfwisDG4B22X&>U4lVSVuxdm zLNozdo~G?pX0?5k-Z*T6QElBZ<)jGf5pi<^LZu|&>n{W;cl!*Ms1-o(s8R(=bvW$N zm|Nat@N}puB^Y!iC)m~~bocoWX2RHAX9}btkJ;K31+1Xo#x45E_ZQUjCvx z@jbLUC?IV_i1ep}*0AEmN2NzNRr~?Llm((Pxe5h2P3k2=pg6SRN3uU17@^QieR*lb zb>@hekpX35P`6m=DZJB*n7JYh^TVxJQ9OhX2_+e{ID#uVbYrIY2`DaheHP^4Z33SR zdeaSuorpO~8Uaa=aVH?fHJiNjARvXOz~N!>g5(Y5pXc_CJOgL>xWK@it6{+K|9Ng- z)5_(Ol!b-4smq^7_JA%+abcP~`i)QkYcz_NVtw)88J>-X33%-P>QXr^nazFQ0Bs z+pDWl&d#!LK}Y*HI#-1RnGCVpyE`k0o6^_!XI}v*=_&5%irE?{QupS$($>bP$~_XBflz!}ibQ`oSh zwC&a-zxa*s&1Bp;aX33TJ+wJx&&#i+(|vW%*{MJM=G5xO>x5@{At6!mK$@O}_o~Lw zFf?l=Cv0yCtdq>_a-1vs@aTX7IGQgD&jrO^3(s7#Y0Z`+3 zwHv?#s9s#qu&#V*d3Ca4(1wv*;g43nopH0~x!Sh6NR!J+2|WWocWl_=kYpzceDHc^ zmiqDH_qMpMUneMJPu#axJh*xVOd;kYTz#z*A`&3xClP#eeHPfLxNC2(-eht^DW9(% zeW9xCu0WR%nOJC__jR&pT{^LBpC|Wb=O_9&EmDZX?)Ol$YKaV6K0N=@o^i8oII7;w zlC`-hFg02FP<8#|%H-w2$Eo%8c9W#;E|u?^jqTwTSo?C@|7)f1?u>oi;gModIXpm9 zW3v9FucuN#yOKy4hs{8}KCm%4|^Y9?z3XO!w|+ zyY+6A{C2wqhYE*Lh$NY%oJ1ow zcKqh)Y5Sq?X75EYX46D{AA|p)qM}3KQ5Dc$2p(OIj zqQPSz*!D;WuS09z2wS7aVs0|L-`~-)Z<^+rPCqGbwmelgXXH6xal0p$wqG%fa;Ri7 zZRN|>4L-9#K?#=_gEXI?*XsFlRL5u(Vd0C-DpRk7h)bze3tchFwEm{^+O?7i-+bS4 z#@^9 z2eE+Zt_%Dqxmx8f7WkssgWoI7XcX=6et*kXO@KX=u8b(PAM+$;!Z^!>>lH22gI%OvC<|mWK}g#2i*#& zgY*Q{5eMq1k#2!@_%{UM0$elLOBz8p)z0rh|BC)S$YatDoUo|mH%h~A_&-qoKH%>t z|GNrYu4ZV5uX!sFymB-4;Dj(%&0xqu!5}cMe`x(n(h9^86B+L+xSwvP9@w=T?5!c;gB;u&K&E-7<1tC_m&B+^r zrt+8ANVAI9R_4y_o6A_=pQ8u!kK+$Nmam_!YA5xah{CQyR9jDZGp2mdQlD?kTYX;m zTD#ptOhqae#`SNvZu&=K#}(7|B}LW>Tt7fmkpGBm_3_L5olc#KcyI3 zTddqn@m+1ZR~&4v{5kp^pz92Je_c%@p7L8wi!nWo^*p^G`Tnx?%vdE7Q49-3vLf&c z>+B3CRDQ>ccO7?@5APt#OgK9eQ^8C)E7Q#TcuoSr$gQmR*C(iY3aI_(M@z5~#cWvT zK%XVDIPVKH++cH3mVgFBWUFlK@Ag~;`q6Q2Pf%9HfViT7VofAPMG8S7G7ke;D@)Sj z6{KbLQxuLZ!LrX+G87r_eM9Rlg)^LMTm*T9BW4MIc@WM*%vZydRil*vHv{P2%UigF3LL07))Qbc})u04BGFCvUYE0>P@onfk)rkkC zgy=Ga4hhF|4UrjP`ChdP&QMJGo7$rGe%JXc1-G3O5#fWJ^yimd{!C9p#on&nM8VhE z5hPcqWuJ%V=U6G>^gZB}&dcoXSlx4jhygdDTp9Co%kmiy3n7y|3gC8*Gc`v2qDyhu zW2+VD{m`7#>d7#hxdR-8*Sw<(l^uw#8=9>!ly6NP0?-b7A-O0GNv>gbtc{pX4@tA5=HrN}F4?!YspIR312rM?Q zR9ABh{~uv*0TkD^bqnL}?(Xg$+@*1McZUQE?(XjH?(R--3+_(v1cJQIIrrXo&-cIg z{_0{=R5fFcG1lIz=bF3MoxwKj9xgdI6oq^1@SnaxA`1ezJ5|Twqj6D>%4byF*e708HSY zuTo=qO65HI6Z|OP2G5JacYpCMBrV|FL3YnkK(5EzlNTD4HNfc;Y#ygSsHQ&jVC=4e zj1(cP?K-R1E5tufI=$=B;O2Pns7^Thb+cyFm)ex<;!-Fsb2^Y|PIY~I)LAz2;;J+L zc=H8Zp7JUsvF2D!ym*hvl~5=bslC(gvU$av()OfaN<4L@w9Aesy?MoQVB`M2(Zppt zhl!=?r-OU!;doryP8vMnjGN{1<|hN=O^n(z<+3B9n#}KIM4a}as}JQHI&tql9_A&5 zVv5*W%Q;1)uUo z>$j4lwwce)&|vrPR0#u>6%4PjiNAEXbMQL7JAV&2WAAnNJkcuj%}zB%6De%n$@Q`1 zz;3+rPGyYHqdN`IC}!YUaS`J|JSFF$>Z{xFlq0RiJwy4_s!s^nAl7{4MNx;WuLt(E z?pYJY#Z!$<TH9CTu8sUW`h41Pvu& z-5P!x9LV&0dp6}IY6>%D#{<#`_QRb@q^02h{>x`D)Jf594 z?oED6EF@O!bK-&FWL3sq;sm1fd4ud&fJ;&^eh$V(4y#zw@AgYi?Vfn7s_wa(vLP(9 zmkA>mudc?}^NL9biDu28cM970gZ6Sq-YQiAUu&{dLoP4W-M(HgJU%n6+vTC38*Ufe z4_NJ{xLLg?owp78O2ge`Zuc@;h_7vZ@1T2DQuAf1v&>%T1Ymkfvzh0?NR8S%noV|U zai&ZOot${7PWw({71LcwOR_O5`*r6qWVW3#m96_8d2yd5-rjsKJ4y1?8gP=;Zpo%Z=SSa6*8*3Ii5GD>>T&8hxQdThB&3^#k89cx$} zK6fW&%l9I?G9UW!gv3b4>)KwIG^Ab5#$ze{8^$QUYjz)lB&Wm>m^()s>oNniKaH^bACiv>Qq$xvH6Rr4fnu&2Qd2WB&CK|ToKXDQj95%*?R zgOK|suQ#`o_vN;H5DAXL)QiMc&z>FeHR2||%eYNZs>v54+?HT(aD>(vk#_F4<7Hor z5OS)z&#qE?+gf};ZZXum+h*)>pBH*?N4DJrOn*SF<^w)9vnKj~S^%{B%DcF;uZDU8 zyv2~T?U(+Nn(E~Em(-u7tKEFjLoyu3cQ(vlFs@@thJ<&wqail4?6?*Io!r+>`wHMs z4o>b$zfZP32J8fX{{OQBa75kbec5#3Z0E*81`qH)fN$qshf~gRb0k~MLzXS%UR5ac zyH*g$eKD9|(q(9}K9k?UB-fhO~FnX@y6Xn)9W zMESkl?q*-V01x9ue@%}ssVLH@|uW-4BpxY6U8Icxug}9=F~)N#zWM$ z3)J+xjCnoi2HNNb89u32guMCq-`Es-P6zp$7Wjts<`go0U^n(zu zjx4YFkT#2wwoqQ9Qv$0EU2qm1sL;wbjSNMBiyCDL^su(np6Xk*o&Ckxc=7#4RbZMY% zUbYw=^LsVs%(eoq9lsvfDVRGim&Crid)O*?*#h@Ysg4Zl+79X_DazE6?|BT-&QxIQ zd)R7t*`|YsehX;r;RGo%H!AnCO{aER3eX>SteRL|smtx-oqENH!RMJsNVz z<0Ysj(i|bR-ZVZ}@jWeAhb`2O!jz&dcuG>!E#Q2x-!GhmJg$*U8Hqg;ue@Em9bbF7 z(iJ&Nt1HalJ-t?#-LK!JRw|Nf0$NW9g5OWIGgy-1lY0(0 zb5CB*A-S?-7IUW-tK@I!cGQQ0NJCmGn`HEff42Ymcty*iLid=ZYAjx5w*~+ufO%&G z7-J|6A%s34pAozDkG2%6l7fJUv9k)4?V3tH(@s3zD{JUrR zL4+NI#@)kU=;R_T#2_#zB~Z!64MGzOLz6MgpU*lGV3>$#A~SV=p^(+RX5R zXE%Pq>Q_69+M}f(p&|I+s%B0jjMmbGWwpA_^g#kCnMd z6V?EBXdem#;__RhmS24LHWa4u<&!AHXfVvLsGg~5r-T*r<2LEvXid7so)sto?VtlA zL5m=w5HP4~1+Y%DI9v1@SDET~WGL(fuImeQEO&MGFsN>3aQ7iFml=cU1B`z>VDL4Y z1NB}_1cbnVAk6fms45QeWQ!+7)l_?(AH{yA76*Z_Dd3H9!J!x4wg?9yX(K-D6oVk& zMj3!11w$8uFks1=m9x=^gYyj(r(+FRDM5>XZDvlAl+X9<(193)5^qYr#T5<*AqC^- z0KLX7@*b(wZ<@44g~^!fu(QU*d0yoThT&ri;k8B8Vh>>r(oG+LLDhO4&j)|1rObgt z1;NP-AT7`3n`ih&ZPu4L2|OGAduWz*AV4}ENmdETZal>x1VtgJLSgoAmww959bvyh z+~P7VbWXowSsR*sj^bd(BtzjQY4>o#`=5Md#UM}L<&Aq$0zRqY zu(yZcMxz9b#3Aq*{m@ycKmqkHz{N2+w5+bqjSQvDZp`QohTW%bcsD7!@NslE zbM&@z^mI#4hK0z%l;7{(7zXeW|1iuT$HzotQBNL=zI=^dq8)D|i&(@@QDf{#>v$%4 z8`C>(9E-*rkYA(IITI6&Dao0rIUde4csg)9o~?TwsN!CzB8F}n=q`3Cf$B4u$ez}y zGgC6D(rlzY+M3b{_Cx;YMg1`FmF4IiZ?2!_=$pe4+wS&YL#U05M@$%4bR1nA+q|6F z3?AF*93$>DCXk?nH+Z7)@xAv#HSqgB6q~-9_a=>O(8p@VIit@= zTE9y{khS|I`&8WRs~vUoviHcn|2U->F^Zjmm6~ykjc0ng;lqOGVOO`KY-w}z!rSdT zJ+nQn;PF=D{idAlQ4N>~O#1{^x6^G9yqfn^Pk;Pq`RTLA+o;D|0DqpM?73Wf3V!lZ zX`LCsVoH;ZreTkMJ?ZYnoN@3XY;`Amm05@q&(KUq%OcazD!RaNkpxCk^MpojN6)Xp`Ql`v!^|-{*Cv`U=;JQ$@dk7)J*y`p>*i(S z=SxkUr~P27v7fSeRL^_jLXWwDkOZiq$J_dp72GdC&_KIc&>cNDO@)HtM7G*jB+MYT zBR;ju2~5z`=KqVHbEG49gMokQarDELBX32#xS-HEeY`inEt1|&d)(hUgy(%8YDA<} z)U^4c^6m4k$Y2n~BT2`tx0s-|91Z9oJV>Q>jWT!*YWN9>&+mg3A6oz9pspj$Y;tKi z>};$}Omu9S6=_h-7$#pr5H&&*FQIRV+kR!g`Ll~Z=vFQ+GnU}>O8cx8T3OyZR;HE) z@!tP}xZobLjhnye?Tz3V#mT~o zvNU0rqD+&duXntPTvnU=?aVv4vZp z%#dV0x`tqz`hTh%hMk`_NEhV@va&e2TLqPN7ag4EUqG3eMolBhTn0xl!z;v9GD@}@ z)ihi$sIEhpXYj@qXa9ro(lHpt+E0Yp7-D6?EKiy#!qMdVd;wC-N4j@PXdP~G94?14 za}El{hB%Kv!y?OZK(BbMlu8|D1r$;E7skItoC}L_{1E|U_5T(TGc4XD*JJRv0M>li zc?9}yB8!b8wsVx3%MjW>v_3QW5&El9QxNo!BhF6~I0JKxPyNEBq?w?Qk`WfY=~ka< zzX19Ci4Vm=nrR%eS}Yk|);sn@`3g2oni;W=QHYECw-}fIs~9Uyj^EZTRkRry1|lj{ z?7ww%_|LV78hLN9D|Pbv^XP4JzmGtGG0THgFS$Ra-jYZ3kg`uU9IoVHn2bE3JW8E$q?(1RC&JC?Y0pT(|TX7 zE_;2vZ^z7h5pVev50-aC2kCd%lI*@K;slSKDd`07&ZGF%Ni|&6Yhd4wm;#%k4K+XD zn2wF$+PBq?Lc|?3Sn|~2G}IY`72Kc|%^)VO7~ok2-*HUKEP<)1v^^M7s=O_VS+m)= zkD_Go?McK_#1kJBkEV`naqrr4N)jy@Ti7c2PSSZ0Wqp14PU@#s5=A?r^9@NGQT_fD(Eiojth)K$v~oXXlph#hJuFKe-7d3v51C%^|`>7 z{%HB9^m%eyXSi(cor;)>bNpNaGF1HB@SSJpKakBh1=>?{IwHZ{wo%P@FTv zg3#N}YR+{Ze#Yfy76cSq9+IU*t)crn z1oLl};hZS8(sv3`u7qNZ+Eag9RB@KFiE%1iWVwFIiRn}spAchXf4CrvqY#2sN z+hMdxT@m^&rj>9+++n*V6t5%W9 zIGk#a+Z^c%OK)F8>62#JNG4V&s0ku;unw9n58W_tGUh(Xif}b)1%Uc?q7Ap@huH+D z?1f16p176gH@pHe1C6=K+9*yFF(_d07%Zbl)1?_KTQyl0lgczCzG1vjStEtzNrx!T z8D#KbJS3PFiWR3NE_WK+EK#6oVk(;I*%vq}E$XRyMKlbYDr%eQev| zPy`diVLZnE^ReGjP#oX{rTpAby}bikRwy;3VD=93~O zZDT_aodt6dEf4meOs(%yojFhiQcrDKCZ$-Fl}1%ndgPy|#jyWGB|!?MBwnhgN=H=t zmj!zDKnoJ!vHn;v(-oQYO!BZ6wOj6mn(U>iJd(ZC6-ftWzOAm-K>f3}uv23G3nt}X zd=DW1Aa8X=-nk;E%}ZDE;D;22zlB2E2CfTZatbE$saJm!Pb-VW$T$_oY)YFybj*SZ za-JYN)dW%o)`F*H%sqgVlM1E&2W2v_e^Ta2pS7?v7|Ar^Qj&;?qfo@;6|^k)6=}Y} z$1WagV#>=TMVy_9Mcw>rKUJ^!zCu|}=Xapet=8-*f;PDrnv>S>I$x<@) zQVjJ_K8JU5r5gD{r<#j-z>|3+Ej$NvnxOWYzg4f9AUKLWU&7lr>2<2;ob>E~I5uhQ(gTa>l*mWKxLHPCT4~Z80$#X!4lE8tDiFxnl z{wtV$!}DJ;6DGC_rVo)|q0s=I3**3r1|{voCYWjbI6d85ry8E}AElviK&2FFK&1dB zLGXAdz68c?X;@1PMcHi~lSga{0%@MK0`5)Luwd|FASGUp1%^0Me(`}ra4cz_r=<&$ z6sPuy_U_=J*`Khz7q-3_-sF2uYFf@T^wq+H0l}*02Z~U=X)=&0x@z5ErYLDn;yP&w zPU7Fw;+@1Z(-NJA5n*I`vY|-!+zKP363}ANM_BoBhR>P*IK?F9*lr4>FC7rP=z1ew z#1gxf%a(+!MY6Z1Dix(RxJPwxhlV7yqX}&RU$lk~8&-6eA*TI|fQCeoeP>4dr;xiI zHCf(|L*cRq)6A3tFO~l_Lyre+X6k4Vm5U@3K5Q0*A{(Hl$*w#YF}N02w)qALH0zuB zDdLxD(mfE`cqcEUTqi8xqs(Wa8RDHTD;#CA;KS0Qr{s8Eeey`K0r!80C94qAPQdsp zEMLY!#g7yQI^O_R>0}j5EB#8BO5xvZAu5oWX;r`{8w)oh(B*+j^W>C!*%St&OEqYs zm6-j1edhNVw8Co?!;lv=3J5k;+_F}I4a@phT#)pcIFl1ff>;6`j0(rnjKwP&uB}Dh zyHnm70V*G}79m-NadofBkGJY z1qSPusLX?ejQO5g882);4J~&vEhmH~_7#YV8dvsIloNYJZ9e++hR|s(xcP+@+Kpki zN)W!iL8HLC5^uvZT4_i#b^Dw1aIPx!f<8p+6z!g)yc{lmrD$dC%~M=2}TP+dXz#ij>@ZPd#* za`KwO`AE*^^wZ#6v7E!OsMP%SkzRhL<_=;cK+Ca2u7T5pe1@4F6(P9m+6os0Sq&FV zXYE@$K#moD-BTIHy@ehoM)Aw%2>cZUdK*TAv=#qGN?27cu#dcJ87|Z;Uwa%h-*5VR z2T3Tdav_|>64kFiyT$Sw*}MO*AVeOCSI}GNMb^k)z$ovVYqxd+rfEOSI<~@vfPsYm z4kQqf`t26lOivW}-Z1`Q;!Zrjnj!Y;K78A=5N@q;;i|WT>>RT~JED-QZ zjEl$r&wu`T_gu*@F`Td@t3kc;PottSzrcUt?jtiMRRM2<$VU2kz6w;zk`HDB>ASAv z^8OW%YZv2>7xH5?`^fni-$@CE2UrN4fS&!A6!L&yLok0kCj44Zbqh_MIr5zBaT3D! zp$_r4V>lwU-9}t_O+rkBxA*0AF)*%Jx6sqt-p34oh^_gn{*lB&SOk=8TV%i*Z0+zNWBEr_|ItY+Rpxw za|?~{1RRZh(HZnL>Z-o)g#(aJ9PIF4dJy^50Tz{0hP0oRUxOSP{JmRVc3G0vphfQ10 z4N!B-Bm|VL2P^_FDXub4K^#PZ*2PP+FmwQWwgu13*R_bRW48otW)l93o6KdN=N-Kl zw?Uu)*DpE8K$x;WFlB$k=mW~0Ri+64{GV?2u{8=r5v}WX$NF9{5E>WYO8nV``7R8p zYp`MJd&C~cmo;mm->PFd_y1?GPk=Jsi}^w8&_%nD#c5R~?0?Z&kJwrxj9vTT<5``9 z18@z?Iaa<@7-RQk>9@YFUEGAi+U59SO|r+a!5$w8aFr>z$1lssALsoe1<`MDS{V}Q zKR`JHR{L>s8W21)Z!Vczd&5~!uSP(T`ehx63_!F6;X&(GOA^eS{V*6lI|+MFIN``DLvCgEZh`cexD9lw=>#0Fq}$A5WTR z<_V#=e9=b>TBwImo)VsR!&1=D?Mtuhmg%?B9jWxRiX7(OaMI+SOA}y2l2wdDbm2nJm9<)d` z#$uLGJDNLtv(UIj8SK{bSA=lgtj&b|GfOcenWEOO-=Fq`00u|D#gQqPykUH3GT#q; zNZ?9*d*o@Ef4&~MINvd`eAM{ZziMDeB%Dv0NH_;K_T#7}4u*VEm4SQgb*WK3r69YK zqoE|55u-oL&_EjnOarK)T7n%l#25o~O!9R0r+c2$bLO$VBCL@Zc967j76t|V1UCy! z7NCyvGsZ<~a}>YnfP_0NQ>0Iypw6`R)j>HihE$FBZ8rZ+A{Xk^5B^BZA z$mUY#rA4qd?%^eNQ0BD;cU1x$lB`ZXEkFso(NoXUq(fXnh%X96ZyM0dOfFE;U^tE9S}Q2~U*3!*N0O zgFG+pNK!bV;P~oDfD2i5wiC1LlaekCwZ1Yya^B+*Yp1Q2CLHqU(B-?@Q87z#$k%tD zc8Q~6#Ay-UgdjbBNa#OS98o-wbMICNSjD-pAp__54{5SV*ceGA6_o~g^8E5@n3#O0 z0%yE{aD0YZ)NmRUHoO4fO&H+eeh$W~6qQGrpef|;wJUiJCYTfKT4I6-4LT;D9xs6V z3wU3(M;#R(Qq1n_oDN6eU_92-^ZgzcXCM~~bc`^PON||~J&1UlBum~bv@vUz6z@=@ z2szBY5l&+X!3z1_6&(9^Elow0c4@X!@@lY)O8XqoQL&N^xfI^(<{eYYJh|Z&+v-a> zFkO^H2BwQ_UN9WUN5zJdG8m)2)7z`}E&2J`F!a=$QHh_HuqI_RlhG|NXGbq#aGPKV zl9Q&aRa27w#fgjEtJ$BIhT0|Gmbyp^9%Mdueh7IeJcm7Iq~1;mU{U0R(E!P`LN3C~ zD#lAoTdM=4w4@dCHzjd#0u)VvxEn6+k$CY}Sm42vhWbqfuutnWE*%0sJ#PzVBn$Sr8$pR}S3Fyp`_mIuj9}uqEkFkAsa3tSc5EJ%0{L_)pSifrHjuE;a0dbf!}pK>l6Fe zRUe1kFWMfV1V_Cxg_=GfSG^WzO7|-Xts*SD&UBsd>}p(syL7GgP`u$Z+VMp8ynCMzida1VYwa8gN>32Q0P5&=jV>m`c&KTFRfE_SMQ zX}icKSYjVGJCTlC6W`|sW=D45ntow1jitDsviyrwTp}h zj-+glA<`u6Z$s7*{_sfwBK&1YX(~97kIZUTF#BhLn2fnKaTgunIPvz#&?C9Pxm20~ zU6Q(+V7Zf(&1vAmz#q51lU_^=beop4@y~w$+T~SES`sF=)KL!4l-U;_AJs^edA<3K z8iDM}<*hqydVU^+J+*-Um6(|jIM>=m%7-s8s0d`_J?dNOEErtp(nYIlE9TJn3HM_m zOmW&eDV_m3`EZLrcr0Nhd{wr@l{dgE=ET1h1I|j4WpeuQ;jsg`pF+50spsl*c%hP> z1xzgGp}ugmqt}?n{rRS_06XGqLrU+$49Q;=k|yT$eo{_BG|;H(sorGs1dR2xelj42 z#8ZfbtYv3?j)Y{95n6NyF#*FuJfJyM0`O_|%X)NHMorZ$Lt_jOhiu4$E4QJK$b1G9 zU#oajip(g%-8!+6A(2c0P0MUgw0^v|UivHp_uOUDJSOx*Z(oUPDnIfaT!wrxCp3PC0h*8NigvR_)*|R4> ziJE=d$Vgb$($qRrWKzH~c#|puOH$KQhD7T;5XlS$dMI($Qpisw8^{3*7y5oZTA}0Lq}Ukl z?);K+UO)avzq}$LNy9#1cc~ND|LQK~YVPJ{?O^%WKC2duEtl^+7`;1XM(ukRu&vJW z2efAt_1g+mcEE=OfHZyuv47xBL?}?)A>W9cNVQ16y2QMD{?^y)Iy|PxoQ?Q7A2G#5 z5RN%;9z>j$o{sB&eznZ*)tG}NH9V4q)<}@gANOnL`_+LUrxBw~2B;Sb)zOhpdy7U% zQUq;Ve?&(-97LdP1#iQz3T|}3gKN!b$zi0Hj*{e+F&d-@+vVo?bNve0m0mP2V+)6i zeU1#>s;!Rb&jZE>UT58;5(ZnOK`vBkJe*^akaZRFZti!(9@6$lz~>*B4F}T~S3|qe zE#$CWPY{w*DRF|Zhcgu8BL$sagNjzyuyMNR8=OOqjpwporV;t66R^DUL#SSy zvLTrlyJF%qF%XW$rY$^TqF<;ei7yukMNS}bvXuF=c|f8PE;iBNVelcNdA*S2pdfOt z7GtOgGL9%?6d-L?*nf*hZpt2QeJjilnPQwTZq9d=kbP*4AGDe1HlX}S{T#rsyf(Zt z7*8l*v!=Wzw6L&(rz3@!vQ@zq|8^^k)YvK|y&Vh7hZStv;8@<5h}jNiqcGbSSD=Wt z@dO}=P_40sRIHuo_{1_^Kbq|ugs;4{I;!%phS1M!c4GiWqIWne9aR<-h!B2}@thaP ziJi(?si9_D@k2Z$>A7lvYHT%%zLD+yMnd*NJ!qFJcczrEf#5s&00&_3kRlOc!p#{D zmN`h<#~Uu9Ht}rv4udTw@$%dZiko}yZb&98&$6c-F_A(r#4PI2Ceyv=jBil2?Ke@2 z5N{@;hiwB%_gpf9h66t!Te2X}vEs%9w4HeuXX0Wo=)f5s2Y@r>r1uG>`7RQ#CD`57 zg1(TuX9pmbm%MM&?)RuprYQVTVP2!-Ru^G&cA!4UbInjukDTn?Q4zJN3%ltgrNme{ z%fIyi-1RHiBHd?!KrB79C5b)!%l0}PdUy?AY{KUkGVYGhXE#f}FV!KK%9Z9m4X`I- zlH9uZeC$z%n7vgqQVkJ&3^w)UBbmr5ohHg%{11)eQ?U=F23%L>4QV4imkU!&-rD=- z5lQyWubj1)mf2!{Zg(wa^4A3~RbzfA?o*ozKNajt3@5grxUMX=(IBTj?~oIl)1MN7 zu&E~%njHKu^@oVdG`(;CaNBo zMYD<~vf&VRC5yBoI}uQ_wg5Ln&Aj|%*XF|MdY~dbBdyr>!<%8+l_~hM-<}OhV?Y0L z$&C0%*p}%i4Gcd_3|8hPT=LaMu|Xx|3zBGf%rKcr1zV%c2@3F0$rHHI`2>V(S_Jd> zs3zys4#7e>TYy4mvT_4!%-Yvl8lr`m+cp}WSlL1L$tFv%eHVPJ2JPyE7spbO|Yz?fc1w{T<{#9sA9j?`jHcmH8VE1O)Bhj#&UZ z!>SpZ*!|Tnb1QYg;X4b#=#Q_FG-=tgc1bN5sC1*D%~MGD-XQ1%^;jDTSHc|&zrXR@ z#j#w~%XB^1$9rATPg8&f!r;1zNrRK}e#}0bd_24n>a=}fXrvOSqig@skLScN2+msU zbI4Ep(lZrmN*nWxA{B_flYx4)*~+Z5XhGAik=l_{MFsEUUG2W#Tv6b zY3~)jp*C*JAR(O0rfZ>mJjQZli+_5B!-^+eAYN{3!TubnLhs5CaTYGoIudxCg^G=a zOt!xAUYJ6q#&^S~M$mq;Qd<)8R(`p=sB}`T&lc#Df6OH(?Jx2B{;L~TQaM6#ePji17wiRzVoB<% zg?8U|wNAest_}v<6GpmywywYR2o6<`Hl>|0jI>W2{BWuR)tm_9E+Iw^DF`}og}lV3 zW0S!X;@({w27(sYjh3ODBx(9gWKACLlxNjn z(`DUqIBQ|W_7iV}UM#|4gJ2LYq}1Ovcwd`jS*2vi6EMUX3gzb>hlFyNL{Mb4me1Ba zaPHM#9v`Q&tgS0EIUsKg>Q=AR7rLnT=2}Z6=$|njeXAB^Wa7a_I3N?9{ZO)zK9`i7nF9D_9n7*k@Yd;bvM0Dtz2|H8~VpQ(5T+ zzV-N^VYZwJFOs0K6dqcz%E>i0tIXFGElFp8b|#B0XT~xsgeF#5NxNv?g2h;aHo?nB zZKkY+hb3b3p%7_@8yHSp%AUDDN!Ie;K!7f^|4JaNZ4$fE`}O%?BW-q|N{ZRw)63EF z!B`#9n;t|T?3**%`|)q)ci$JA?N5uw6lHbK0@gZNKDE|nDN44WzO8Yv6FvG*z5hKOBH#UPmiAA_p~uH{Js zB>a&U2%YjKOmxHBSv|{XTP_+Sq{mW2+mF2POrlg43aZyY+LCc(HWXfO!8+C`VAlei z`jo02=z_hHgpcuHzwy_w5bH!Bd36-CKDIES> zNowJhb^c{dNTcuGtV?dgF69l-ny|Vf_}0(2720fU+*tN|LsYo4%AMBrCTxC*Yj1c* zk}Y7?`@5$i{|{@+@-oJ1*{UCAUaOJUe)nBl^X{{{ZX5Wu-b=P`bzGc14T zJblARO+~`yeE2EFM~tDn6tS{Ac^pzuc>h&(KQ+0#gKlYQg}OxY>dv}CIRZyfI!^W= z-RtnzmEjp`O!1(6&dXtjVyZN)LKB`fbrTxeVL6Ke-Lha+Zp;xu4C2HQhAd2Lm0;w<1@#vE259f?8X)%efeghVt!W4hf}vAHh0^HEU24 z8+Kal1{UURE+NN$COG_dcP%Ufud&lfwSCI2MPGo5j#3!k3g^*FX=S=aEUn}^pQNm6 zQMX>!S<*@QsUCGYfwE`CA==6!>1jgO;?7}8*X2frvf-Ws&O(9S3SQ!VuFS`mJ_WAr z{@!mEP%+D<&U|wWmg@V%vD|e}R2mHX8ytYXZ(H1LJv#hI(R(2OZr*89vZ_)4itsyA zS!4Fb^@BZk72&uPC$%Yzt^oiCqLQbXaWYuWybE5>?q^2#V!B$g21sK%EjWni+l`Re z?}}00H0u3XJGn!3`O95aBP}lDJ+|Q1k?HLZhgI2Sk9-*THM=DFkm>KD+B7Wbmf=sR zxaB6>Y7UM5{EmS2&Z<3EFfPvO)s?;WkG>wXm7SvsCDj7o#IRkjd38Ex6kQ=kd&T|f zJf&hU`8IWYNQvt{qGNCxy?nt#PdN5068fTEzB=U7*lB(gLv{aZDs0`R1tMgmk{BKB znx$=lE7+H%VB);AU7{_KtcQ0*$o+G~#K?*Z zjh_}PE|1Jkq#M`fSZ(cjS8&7jgmKw5(@bNv-7=0U=q!+SD430?p)$y0&1fhPh;k%M zm_u6)I~3EJ=fUz)HIEl5O>csI=#bKGtS?7yUh^glN)8H)>iIwRG8kZ8;&|Tb^nXGB zGZ)MC=UXiUe&9g?vsZNBZ&PHKK5#&8{h_6FhG9#N=zh9l=6jR zEUKVTqZYu`%DjAsO6*Q7Hu=~N@7wkG;xu+_uka2=%)tj}laO(Bg7dzT1Q7qcKNh}6 z3AqRnfzGZ)u~M~^(spn6fFxA}$EKT@z&Oxj#ae>U2nMrssz5xg35R_fcfx57M6VnP zjIz^A^`>g!z>{J=wx;Y`_tPN6Q9^xTs)gb)zN%r&-J%SsYlq7+a|vEv{~x*pCy$nU zfO@Ebx`_Uv>+kNc|55i>YuK3C24H@U0=3(tNZM>wX>LhVp!I|Xwl3;KS`|Or8eW3l zDJQ+%Tc`?-%eGDU@zd4b54oycgeq>nytFdK|J3Qhnd{tg&Cel)q}92ZUXtY;wD{$^ z=+l5rhndxFgt!P9ZU;-5W6cC33WIt&N$ONEuNISOu6yIPiRD~Y=ljBQA88l0DuE>V zy|G;}4iW5jgL7tg5MigS|2Q*Ua~GN^PuOF614rb*G47i5EXuovg1US~mxj>W>KoWU z2ehS2USSU?*aRpX=O4oVNdBuW{a>S+6W`zv#DXF5rFZade}Xk1!U`i?8idw%SyrFW z!=KWQd_z2@^4(j3kJEJQORd}WGCzUPQLuwi^&B1bJQW3uS`~jmXm)oWCkOdBUoD@Y zH6(9G5ak#dkK5-R=dqeaC?+I|JEEhEncLINZp-Oba%l%{FQ}s-1N?~`p_zWSohU52 zEhe;NQ)e8iYW;3G-*H&-A6UR$r7o}P+|HTi%Ayyp3v+Di*Qavn8XWff`r3Jl$}Nn2 z&Zs2KfR`(uknP&Th??z@@DHT!$P0=GqhA8stlk`rWs}gq?o-Kr{f|{z{9IUsEwCmN z0nG0Hv*vJcw>L3&0aj)H)$-e6p9iOBr%X6OQm-Wx3KDzNKlXy4}A{e-PQ_TJ-Wf1_?JK%&vrmC4U9ZsSnWnM!FNl1ht+LsMz~a&$$bUU|S-b-93*T)p2)N+x6a z!sT8xsz5wkE^?Zboyd{agpGa{E4)0ASB{&9_k1N;0g{_i<|)RrQf;4WnSAT}$SMIp@93&&o zdE z7s2!+BBwljJAxJ_rId5x5?WjKB)S*xj-DbJxwjkZck3R7C(I*IR1KCfBe}l;JZ^d) zVo_JWTTCvTewuVqHJrqZ#1aMIBlO5fnNZK(30J1{?W(2K_R4syJ`BRz_RQ^F_uR-E zh{yEYi0(iS=xgea9)@^JFhe=yVDf$MLGK-iK;ifdhR|(+9&C&Z`Ez@C)z z?%;J`*HKrWZ)#~&i;K0?FTj3T3-xq8_Jn%8+J8M=FM`OxGSrQ?){o$7YgB*>Wn(19 zKFu4lPW@4^{Q>{a8LM!7#j*zy1SFUQ1Oyv6V*wj?|20hkS6;yD)4|x*Q!-117p z)(Kr5L$J%6o7R2?g@zFWda#SFznD>!9*oQSducLPF=L%`s7#UqdM1_em&H^-PQnYw zW0-)?M+1hMTeh>(d?25Sgs>De3OokRD4ESIrvQc_`0eIaF|1N>g5kHzt@XFw?E5X( zSzhlGhr+Q!!=br5G;dfI1aNZ?k%#8qDTkI?C!Q+VOH3{|kkht~!95ULFe`+~!loq? zold(BnH_kB=s=F~P>wWRIBZ@5O#dL8y-w#d7#0jyzfGcfSRZWRSype9H)Thyt%rrkqV zjq2oi;XZy^txCVm4uvG}Y@*^7A&tU3M-p|^XSX-btF!|J&^yMMH*8IwR*dw`Q~1)Z z>|hw3Mmc_OC1QF*9VF!4!9Kxp5+ezSHpD!^KjRn{GhpS>r)5^!-}2N5+Lqvjp=)+d z5{@?|)S-)gqvN!!RfS3BTmH4VU4I#V)c*(#o`Pv3Z-PQmB00kJ+h%g9!z?wLSvf~8 z)%%U|DZQ7GKSh6(|)zV(xb&m48>@v?`AWC)2$f1;%-biyBd;DzBNHjbIj0mCN z7E17x5g2uHAS5dSnOFC27>EwU1Dw?@`xjyG?@+6}7{FGjkzVGXg>qu55Nee*dGHs5 zrLkC(e7aBK;n>nJ;zd~!o(~1t;xLL@;-_)bFQj$yYTZARe4`6DQmfQONPS#S$R75( z+K21=-Jf()n@QNoWJ#K<=mIS~h%}tCm~^qT`t&|79!<31{;~J))n3WH>HW^~mv1k0 zUeD`9aG=mY-f$ImBukrrqB8lmFC{W9ZO|cJ=WXgh$gJQ}NTQo&%_(B-EWpExI=Cez zjjrIU&Y+E;&HMVM>9*ar&HHU86Y_UT2lTd}-~JmDSNnp{=xtdS$AX7XE{;w=D0`~# zf5ZiRsawLYOZ9@fXaNBY8e#d)GN5FKW1DVPERxz|iWwsPH+-%(GJq|gz{m@ znJ?rdx_5qBrSLB?HKOl>Rqd$>S4>3SNO0*KF4TEgF)tzW4D$>2q$lmYr*$v!#y`2# zA3t^C_O!##rf^Psdslf*`#Ik;>xFN(FG)-5m6>Xr`Dx0W-OJAHslN86=}`5WquVB3 zGODgD^?mzD^+(lRxr5Q~Kd+zi#3Q))^s8&_a&=EGZhb9RUGsR^@_BX7Za$w^zp(i9 zwdrwnskc|J-~030ZR>lL+q0jq>$ki2`Q*LY-}ZmsoIV`?RmQSv&G(A?FZ0jU{J#7B zZ+g8&{liD=_s9PF+i(AWQK{hp-YIq&u{T)SR9lp*qQnoI1vgIo@VKb-aF^K2*wtbH8~}|d%?0`$oA$g0X(1z^<)?vG$)H%C2pmcW zYlrw8*$}Lu(7Rg9x?7)tAug1afgi=Bv%t^ config - case None => throw MissingClusterConfigForSimClustersAnnVariantException(serviceName) - } - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterTweetIndexProviderModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ClusterTweetIndexProviderModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..45b832db1ebde67089c8a970e39be0cc5d47efd8 GIT binary patch literal 37980 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 eFT`z`V%t}TwpIeb3|gO6(hxUbdW - TopKTweetsForClusterKeyReadableStore.getClusterToTopKTweetsStoreFromManhattanRO( - maxTopTweetPerCluster, - manhattanConfig, - serviceIdentifier) - case memCacheConfig: ClusterTweetIndexStoreConfig.Memcached => - TopKTweetsForClusterKeyReadableStore.getClusterToTopKTweetsStoreFromMemCache( - maxTopTweetPerCluster, - memCacheConfig, - serviceIdentifier) - case _ => - // Bad instance - ReadableStore.empty - } - - val embeddingType: EmbeddingType = clusterConfig.candidateTweetEmbeddingType - val modelVersion: String = ModelVersions.toKnownForModelVersion(clusterConfig.modelVersion) - - val store: ReadableStore[ClusterId, Seq[(TweetId, Double)]] = - topTweetsForClusterStore.composeKeyMapping { id: ClusterId => - ClusterKey(id, modelVersion, embeddingType) - } - - val memcachedTopTweetsForClusterStore = - ObservedMemcachedReadableStore.fromCacheClient( - backingStore = store, - cacheClient = simClustersANNCacheClient, - ttl = 15.minutes, - asyncUpdate = asyncUpdate - )( - valueInjection = LZ4Injection.compose(SeqObjectInjection[(Long, Double)]()), - statsReceiver = stats.scope("cluster_tweet_index_mem_cache"), - keyToString = { k => - // prod cache key : SimClusters_LZ4/cluster_to_tweet/clusterId_embeddingType_modelVersion - s"scz:c2t:${k}_${embeddingType}_${modelVersion}_$maxTopTweetPerCluster" - } - ) - - val cachedStore: ReadableStore[ClusterId, Seq[(TweetId, Double)]] = { - ObservedCachedReadableStore.from[ClusterId, Seq[(TweetId, Double)]]( - memcachedTopTweetsForClusterStore, - ttl = 10.minute, - maxKeys = 150000, - cacheName = "cluster_tweet_index_cache", - windowSize = 10000L - )(stats.scope("cluster_tweet_index_store")) - } - cachedStore - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..561cdb1e6dfc0e50a80ffba7c2796ff19b141bc3 GIT binary patch literal 38032 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
Z{q1s}pIx8cG7Z!Nnd0!!tF=kBC?Slxr8lfC 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.scala deleted file mode 100644 index 678943d2a..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/CustomMtlsThriftWebFormsModule.scala +++ /dev/null @@ -1,99 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.twitter.finatra.mtls.thriftmux.modules.MtlsThriftWebFormsModule -import com.twitter.finatra.thrift.ThriftServer -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.thriftwebforms.MethodOptions -import com.twitter.thriftwebforms.view.ServiceResponseView -import com.twitter.util.Future -import com.twitter.simclustersann.thriftscala.SimClustersANNTweetCandidate -import com.twitter.simclustersann.thriftscala.Query -import com.twitter.simclustersann.thriftscala.SimClustersANNConfig -import com.twitter.simclustersann.thriftscala.ScoringAlgorithm -import com.twitter.thriftwebforms.MethodOptions.Access -import scala.reflect.ClassTag -import com.twitter.simclustersann.thriftscala.SimClustersANNService -import scala.collection.mutable - -class CustomMtlsThriftWebFormsModule[T: ClassTag](server: ThriftServer) - extends MtlsThriftWebFormsModule[T](server: ThriftServer) { - - private val Nbsp = " " - private val LdapGroups = Seq("recosplat-sensitive-data-medium", "simclusters-ann-admins") - - override protected def methodOptions: Map[String, MethodOptions] = { - val tweetId = 1568796529690902529L - val sannDefaultQuery = SimClustersANNService.GetTweetCandidates.Args( - query = Query( - sourceEmbeddingId = SimClustersEmbeddingId( - embeddingType = EmbeddingType.LogFavLongestL2EmbeddingTweet, - modelVersion = ModelVersion.Model20m145k2020, - internalId = InternalId.TweetId(tweetId) - ), - config = SimClustersANNConfig( - maxNumResults = 10, - minScore = 0.0, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - maxTopTweetsPerCluster = 400, - maxScanClusters = 50, - maxTweetCandidateAgeHours = 24, - minTweetCandidateAgeHours = 0, - annAlgorithm = ScoringAlgorithm.CosineSimilarity - ) - )) - - Seq("getTweetCandidates") - .map( - _ -> MethodOptions( - defaultRequestValue = Some(sannDefaultQuery), - responseRenderers = Seq(renderTimeline), - allowedAccessOverride = Some(Access.ByLdapGroup(LdapGroups)) - )).toMap - } - - val FullAccessLdapGroups: Seq[String] = - Seq( - "recosplat-sensitive-data-medium", - "simclusters-ann-admins", - "recos-platform-admins" - ) - - override protected def defaultMethodAccess: MethodOptions.Access = { - MethodOptions.Access.ByLdapGroup(FullAccessLdapGroups) - } - - def renderTimeline(r: AnyRef): Future[ServiceResponseView] = { - val simClustersANNTweetCandidates = r match { - case response: Iterable[_] => - response.map(x => x.asInstanceOf[SimClustersANNTweetCandidate]).toSeq - case _ => Seq() - } - renderTweets(simClustersANNTweetCandidates) - } - - private def renderTweets( - simClustersANNTweetCandidates: Seq[SimClustersANNTweetCandidate] - ): Future[ServiceResponseView] = { - val htmlSb = new mutable.StringBuilder() - val headerHtml = s"""

Tweet Candidates

""" - val tweetsHtml = simClustersANNTweetCandidates.map { simClustersANNTweetCandidate => - val tweetId = simClustersANNTweetCandidate.tweetId - val score = simClustersANNTweetCandidate.score - s"""
score: $score

""" - }.mkString - - htmlSb ++= headerHtml - htmlSb ++= Nbsp - htmlSb ++= tweetsHtml - Future.value( - ServiceResponseView( - "SimClusters ANN Tweet Candidates", - htmlSb.toString(), - Seq("//platform.twitter.com/widgets.js") - ) - ) - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/EmbeddingStoreModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/EmbeddingStoreModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..a07233084af80d2e0a1ff941840a715c34c4d685 GIT binary patch literal 37669 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–M> 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 MemcachedClient} -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.inject.TwitterModule -import com.twitter.representation_manager.StoreBuilder -import com.twitter.representation_manager.config.{ - DefaultClientConfig => RepresentationManagerDefaultClientConfig -} -import com.twitter.representation_manager.thriftscala.SimClustersEmbeddingView -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.stores.SimClustersEmbeddingStore -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.EmbeddingType._ -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.ModelVersion._ -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.storehaus.ReadableStore -import com.twitter.strato.client.{Client => StratoClient} -import javax.inject.Singleton - -object EmbeddingStoreModule extends TwitterModule { - - val TweetEmbeddings: Set[SimClustersEmbeddingView] = Set( - SimClustersEmbeddingView(LogFavLongestL2EmbeddingTweet, Model20m145kUpdated), - SimClustersEmbeddingView(LogFavLongestL2EmbeddingTweet, Model20m145k2020) - ) - - val UserEmbeddings: Set[SimClustersEmbeddingView] = Set( - // KnownFor - SimClustersEmbeddingView(FavBasedProducer, Model20m145kUpdated), - SimClustersEmbeddingView(FavBasedProducer, Model20m145k2020), - SimClustersEmbeddingView(FollowBasedProducer, Model20m145k2020), - SimClustersEmbeddingView(AggregatableLogFavBasedProducer, Model20m145k2020), - // InterestedIn - SimClustersEmbeddingView(UnfilteredUserInterestedIn, Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedAverageAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView( - LogFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE, - Model20m145k2020), - SimClustersEmbeddingView(UserNextInterestedIn, Model20m145k2020), - SimClustersEmbeddingView(LogFavBasedUserInterestedInFromAPE, Model20m145k2020) - ) - - @Singleton - @Provides - def providesEmbeddingStore( - stratoClient: StratoClient, - memCachedClient: MemcachedClient, - decider: Decider, - stats: StatsReceiver - ): ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] = { - - val rmsStoreBuilder = new StoreBuilder( - clientConfig = RepresentationManagerDefaultClientConfig, - stratoClient = stratoClient, - memCachedClient = memCachedClient, - globalStats = stats, - ) - - val underlyingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = { - val tweetEmbeddingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = TweetEmbeddings - .map(embeddingView => - ( - (embeddingView.embeddingType, embeddingView.modelVersion), - rmsStoreBuilder - .buildSimclustersTweetEmbeddingStoreWithEmbeddingIdAsKey(embeddingView))).toMap - - val userEmbeddingStores: Map[ - (EmbeddingType, ModelVersion), - ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding] - ] = UserEmbeddings - .map(embeddingView => - ( - (embeddingView.embeddingType, embeddingView.modelVersion), - rmsStoreBuilder - .buildSimclustersUserEmbeddingStoreWithEmbeddingIdAsKey(embeddingView))).toMap - - tweetEmbeddingStores ++ userEmbeddingStores - } - - SimClustersEmbeddingStore.buildWithDecider( - underlyingStores = underlyingStores, - decider = decider, - statsReceiver = stats - ) - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..ea8d535b847c002773df5e442f68a6ab0eb33cd7 GIT binary patch literal 37111 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
dXN7s3v5isv zP{&1fO0NMMKK;}Wqy-p$t*!U{!o09T#B3FMBccI%i{WOp4k0NRXUy8JH48K@V5S2P(7@Z!<48BB<ahRqa7<{QHr_?AP2puVJIO3&st)9rVoTx-WM8;-Gnuh2-M4+_JWs&mY*J zhTx-I(W3Y}`RkYDZ*4UcsCf+PM1Q~QmyB{C<=MdcZvY3y-vCFUe*oCux%%%y4Yk1y zopcjLEp58-m8UD%x0?q zV2vu}Px=FnzvzohECjZoLFV_jn*nX%;BET@9RHn83puoV|8k9uLO|sUf!EazbajWs z3^$CCLDUj}m5xhDl%inFu`f71Yw3s^Q7zz-O)7BR$i^zA`%tkZDqHAr{;gm_Ng2<_ zDK&>K@H zaGnF>Q6yjVz12M9d^*D87*g*jzGu%^s)~_&5E3`p!7kuuqixPB1yX@1g<`ug#v7bM z0Mq$%FggTf%_YwxR=cu@zGYLCJ@jG=GhrX*E6yN}I!mC2Eu zMn*d(eAOEqRG{Z&;z+Ji zy>e)x<@l(7=-ER%Q}e*MLV1LiHmugNn++qwEgr7Uv(b;;RF2At zASWd5Jn@0N>Nx4F)_90Dvk(T0>8nG-6v{FQV zq0=AJ(AN!~+Kg8Yv*AyJ+9O@XySHB$IJTF1XEYBmGByJ>5`dC)>@MV~%4RKQ<}_*z9N&ZW2^HgSj2_zBkT6slh4GxzTG}jk>AY?1Fd)YGMChx52qy);V~xQCfGL~XFTHEu+qC8)5}mjc zL2NL0t2CAwI$F(2D8O)4s6l}NFK4q)wo`JxY!WC^%BqEH;ma~ zhQXKO;}%Uh2D&m+#Z05bOnZIM@rQ@PfTKc{i)k#j@B}X+_q7x0NqfpOq5+mUiv`71 zrdk$*0ZL?)a&VM#g1ADVu;A!W)kum-e7dbs{h@C)(aZJbsnp;Y0H+fJfChzPrSC_K zNLX9m8*p^jkaQfIZDjx@(g<81vYN9xm*SYVoOfz8Hu6-(B1)n-#aoY^+~||)wqnpe z*zW|nAWb%`GL&-ii&XIFy7B4I)DB_QK6lC}Y-aZ^Wib(iQn@yW2dyEQWsBvYkc&e5 zBczHzGoMqXXE=gH(5d0NgIfqgUuhf%B2Y#OeOChC*bB%OW6l;s%)ozy!Gf^1L0KwF zV9^|2M8#f7isW$ z-u~Q(=NuH<#2$6#il^$~Rq^LYVyb{c&FMF=4$SFpu$@S;9FZII;Y0nSG*WncRIXwS z{9;=iD-^u+BA) z#ZwPA5);o&tDPLuT9{CODqsyOR%}FSm_x-E5J-_PBAug8C39z;y#A($U;MGIpgyof1Cp~VoK$)FoD#7;nY(d)Ay z2XEteq|lo#IBbMW5mE?90t`ET$RSNVrCK;>ByM(Bs#>P!PxFa%I&>S zS=pR^YGvHfN4h4^DSnYGU-aQ<>EXZ=;5S;4_c1N(PD98c_pd&$Ztk5=-Yx4DT*r5t z@7}oX_w8DMO9GV(S(`prXNJ1~>dm#2+why+9rrqe&bR%kz0!cA6&vVz}$^NI7Rm#Er@SC&n^_P;CWF$jt=J4RFH)ogtnaevXZ_C}=D6Xn8XUEG~ z^QYP+Y9Bjc>aHcAyXOm+<&|@dp|_r3)vZsV?L)FT(8uSkQQybaYIk+aJHP9Jsm1RM z=;JPA*k00l>y}sa#`|VG<`h4a6_^&>l)UHR)7;^@y65EBmv(b%dE;@yy}S??uXrFu zN6d3oZD<&rxsn~cIwH-1hxi>AgE+Tep8C zUsMkD)704Pz<#v5Yjx8iv@^Z1?2=n(G`&|Xn<~TPm|PNmyQpgVGL8*+l7D3~sB?|w zP9dUwceLGdH$ry1-Hbzt!yx=p?|xtF^<1r}(B37irHK6cG-TLVHo>L6wz;WTR1`p* z#9T(K5gk2t^Ypa+(0em`(JhAHGdb;0Zue;!Df=Gi z59Tr4ji29 z-27zPgXS(gN_{xLb(nIU757hjt=_a#xz#lpbAYpvWUf*SU$@c(L>lt|<+V4~H=D|a zbUgFoUMdEAnWw^o_h$D&M+G~coF9e^N@KIQU5TRzihG8MS;zDcDnl?h#=&+a?4e$4NwCozExTn%iikd7=)y){V513u!VZ=7`qo_F7WY?X!$u>Y?=%BFQ){w0o%VZvrZ?7(+o`UvB z_jIYAt7PKa!GK@jzf1czPkPdte$1jQ)Ls| z1;xUEcM;Z`MsEktr@?!B8Kb>-7!mj~!fs>04Hq7l$5Xx*ueSs1??=|RoE1a6+=xZ4 zV<>;OHlBVmRl+v5nTBOn6204L5q91^Mk0!s+g#o=P!MD> z-JH0=Z!CL>4mT}-ZDH!zzPXI{{yB0m|2X#WWBK~ovSvchkuc;cNVVmZCw*f zti|hvx24N9$V9keVNCya>!xocdQ36R_Ph7S58ugI*MwxwQ~R5J+bp2O!|d5qGJngO z*eUtw+G53KviEB1z2ZPq#m|xN09_~0_t(`_qDi0C)F_kFX!p|#;_ok8&kU8qVMVY| z#4G&2u+GkKg5`HSc-C=edEXyImeu~1rB~beHN}4?VgLiP9g;2Uv^%ntdp|DwkUv31m5c5?qrB!Ifz)e3s zHsaznYwI!+BFzA|aFiD5>`=pzWAn}4)D1=jnGNvS9N&4G`}3&WZxmtS;PyutrwNpOFp^~$CD*Cg zIu#b^M-Q1GL3hjc6&yVCoqLsye1o7d{>3iErlB8;`1fUBCf{Xxin|U{b9<9ru)mq~ z-G5vC;^|HAyNl?7GYE@*vDDzH!=L97b8D}QI6CCi_<7q^_eBh_wc>Hs-c9Q3oY00v zzkQjVmd9Q4>3Dp;)leT)U!dVseR7|_CPQYWI*9-h#hak_Fvgtp*jatZ+Q+`jSGe>( z9o3;(QQG)%+T+K?T1rOLjNYxK0h=M{7jD{svV)Yt#oOi@C!RIcz*PGZ6S*MZKCq@W zHz>i&BZlSJS{#WCM;cR-BZD)0l3g!Ty5)0Xs?tn@m)oiQdg0|e){I^_&Nx3p)CIOK zn$OpZUZJp$N+_utKWnJk)&xM82&8ViQJ;&RNtPJXsb>-IEg>l+nlT6KEc%JE*2Q z^kC?&fs7O;sO>td*Db_5PddHpQRiZR@Tg8W`*pKs*q7Rr?Ce}9CVe`PX-0W{d(>Gr z^5UXB{&@2RT#n)@C9&pMRjhcA(S<-T7qPw5_Of}!jKb!mU`i}?rnJkJJH2_uVqoL` zzR}ouJBN|E>ZiS1?BRG^+D_Uhf*Dtf<;~CfMw{rhXG gf*Gp%LqB_LRTNkH?-s4 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 I&;#ND0Q|>eYybcN literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.scala deleted file mode 100644 index ebcaeca27..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FlagsModule.scala +++ /dev/null @@ -1,44 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.twitter.inject.TwitterModule -import com.twitter.simclustersann.common.FlagNames - -object FlagsModule extends TwitterModule { - - flag[Int]( - name = FlagNames.ServiceTimeout, - default = 40, - help = "The threshold of Request Timeout" - ) - - flag[String]( - name = FlagNames.DarkTrafficFilterDeciderKey, - default = "dark_traffic_filter", - help = "Dark traffic filter decider key" - ) - - flag[String]( - name = FlagNames.CacheDest, - default = "/s/cache/content_recommender_unified_v2", - help = "Path to memcache service. Currently using CR uniform scoring cache" - ) - - flag[Int]( - name = FlagNames.CacheTimeout, - default = 15, - help = "The threshold of MemCache Timeout" - ) - - flag[Boolean]( - name = FlagNames.CacheAsyncUpdate, - default = false, - help = "Whether to enable the async update for the MemCache" - ) - - flag[Int]( - name = FlagNames.MaxTopTweetPerCluster, - default = 200, - help = "Maximum number of tweets to take per each simclusters" - ) - -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.docx new file mode 100644 index 0000000000000000000000000000000000000000..eb0df8ab47f0288fc34f8cd603296b9788f073a0 GIT binary patch literal 37049 zcmagEb9`RQ+CLoIZj8pZjV6t4tKl8nXp+WmY}>ZoG`7*$#_#Ul`<%1)d7kHe|5^ED zX09);Yt5Qj>mCJZa0m<#5D*xU_7qNy3Z;VBL{JcrQ78})bYQEtD8Saq)YeH~#of-- zQJ2BZ#=0RrM0;+e0D3>0b^R%vjp{#@U~3@%h9z8ciW^*h$MOwiUjn5){?uJjZj zxedYtP=4;(bThb)sk0tI)s{ruC~K{wSqAT(0<3~4s%H+tGu7X1d9#mK)M&r7YiUNQ zcv~C=O5%Fliz1~TcLz{Y){*EYK&7&@M^|_S-S^$!Qx`;k6nI<=)w`dak+m6D^&3Y1 z%C0I{qtqrGoixJA&G~MBBueUin;oRR#4RT0-7cojPvtMv@A+_v^t^8fxs3CG;9q$! z`O;Ci=e!b-Yb-;TM6LarNRW@(6>IqH`2=57_CZXb=VhU2ZBKCYo;3FvLskz&;U86W zr;rwU09J1u3p*oQ&AEV_g&vI!>dX2z{Z*JG*mi#s zHXM#e%!Yf+418G65JXH~{P%8I1uBroV6UjJPqmJ|-0L zdoS@>S+%fh6c}+S8qlL}pCvK;7hCSw*k!H9GC3wTcJghsvT0oiH+YAx?F8018=An4 zgX4mULSoPTO}@cvV!o{yVXZ!AiqmjcBnI`KcR$TsQJC`>k9LPE;v&FRXM#(mG3(0A zhw_m1*Rr$Cew`%AXjUrBITTSwm0kL(CKN~2N`^?hhe7?z-=8ono-D2owWO(#5F{P7 zI0rN=sozj$QV(Kgu?#lQVapoA1-DX5e*17;n;Cbd5pl(-y7kHUirLqPKnpSGwx}(nxWa*?Nxe5az8;QlV;Xx^w-8QF3My>pY*jHq#;*+^AOmKg!`LI3+A*0 zDU2fFbO@?rByScn$p zZ6EK)P)zQxjJILDb-d5@qt6S%X3+I=UsN&29&?8k?APELs=f{FuS^_}Izp5}mSCz4 zpz7M|PmNa0LD9oHrKl@Zj(U>T8I4~OLfbjY(@r@pBMGh7dlt6I*?IkVF%=R&ajALe zzerSQSX}?E$Rz)*4E(j~OPPD|6hHf?o!cYLq(np{2{6M~R){h8G7GAuPzh{VVmxMp zj*Iax5SH+sPPertzfiNyZM3oZX2^t&3F+*vW)L3w;dZf&^EZWje%wmfm1Ue!t$<*E zt3R$IR<12k550;!jp@=59?Irs2Y(f%iWvDxmS|}R=($17((qrkk7>TEE8&enlDfPTB$ecsQgMo$p3z+Y-b{pdY8 zEg)VqR$caao1vV9zjBcBV-mr$5fL7(G4+}H!GY+4mad$3BxV*nE~*RpR+cEc3UDxC1kPG#8{p#f`_359&;_h;V0dp-5eI?F`Dw*vj86nD(#K4S6E5S{-Lswe z7gB}64$#IV>^Uv^Zp;;}VN9+r_UesKc}{Nab*LNKZrCVGap>TITJqquy!qJ;5M$6} zBE4x$gm8iz(W#OoW$7j=u z7t{V&-~Px1l#Bspw9Y;2#1m-!OP+-jUQU6DCL;FTB_!GOuP#-DymWLBf&p`@({Iz` z7Dh?16HNX}SgS*DY`W4aL4=g1Vmz$na#k=|qa0;ESgqECIMe}%iOS}PI4A2T^T+e0 zM7(2Ep83p_#XSwd)k#(hp$Q|a1`7%Ws~EjH4$8~RaKZ~*g8lm)y@hI2KN0FHAO=Bd zb}JQ-(=}al49R+xgS|if^vE&Poa>WMM1Lv}F%PVuP3KK!I}1Bqy4_ZSDWKI995RV<2aL#s?DA z!I7-{(KqL5GFTEg(O8+0It{NGTJvGDRO#?~<1YQepfLoCbk*Ll(kMw{(nf)gsBmrR zVsp;%2@BP_O?p3JKgqE(BrqdN^u#Hc=wGcpK8sq zQNbP{=5fBO#%O71MM`1Ew2EhaD9Yv;FgMZ-{%VSe`!mIM zC+kd;Htg1iIFf;N6Oaj>rN2-XKOwZCX;XEgB;|~jg>7&Z-$~3>Y_P7MZ7|gNg8p;P z+xp?5u>co?G2mi=|F1d!=T_$LGyl(RO@gp|AQR5l^EbHO;CPHe+wc!3xfE?Q5>*9W z!4k`HccOb6+G{3sqTBvE_Z;3?lr}RHcgpkYyg0P=p98oez>qO!f)z~B_{@=$kGtz6 zRfVl8h+%oEdpJ54`9x%=PiqptlplOfkbQxxX(8{gh5Oi$V=L5xSs9ssD4`tpwU$#0 zOjB$+?z>?~R;H6j8|mdlW%E@>xz(oNTB>8urd*v`Krbpp&ElMaE*U$y!S?yVkJ|?m zeBW1SJvg)aIegK=J^vS3ok%o&2(|lk@IKZD1B=levw33>G1o59WKoua>U8BT@T(%$ zaA7X;+EnErtKbh4R$P`h(+T|^a{+uQ^iR*GZlpN{!^FTSJs6I0q? zIW8Bg?HjC0b1mOYS3z(;2L5FHXRag5uz156K|u6WAwiJ;m1{>QcWYC}-%nTImOXx3 zqSm{sD>qO7W!EMq2xMr|79`FE-_Wxov*w&tmUZUj#}Di;(Wm;papf5(%5}qc{Sr;he{=j*NL zlbKR7VW0iR8YA+C&v$VmFUibPlK1|q$1bCusp7RB~LWHrS4fb=lP_$}HQ3cl7?wq=@F_u2Z># zm1w~B!|r>HR+mI3UT3Se1ji%wQ#XglJu^Aw+r!Gf3+Dkmcgf|zds`?z#hsCqyB=d6 zP8XgUTb? zH(uNM=md$9s-|40SG8i4Sb9U6hT<11kmhV}`+ik#cvoT=Yg!t;BrhE7**lhFU;jGm zb4+KW4Q|0NP>+1?+jlD^Ouwd54TN9%vG+jkdqK1ypVpKdZVB-t)Qa|7b*VU)5Na%_ z7@=W4OK10MTlXayUij*}hN+kTb5?N#Ks}l09uE29FE&^Xc2gFB{r)!oi=Y zUYI0zFh7O82=u9>A_~a3;swsl%2bC}#a>iMqCZP2N*1FjC9swS(d}W-l1S4pe1?gW zYwarc-N0vjP#bL@!k8~_XHLrlRkXg$YI-ff{jT+m?(KQaqJy{cygz^GTQxK5hSZ{l z&2~IWJ_q<`7^O5ga)_P-F?*7u_`D#x22CZAm}Mtw5*YJ!jBb6H>q0+_Aa`XUxaD?g zVtAYN@{Bx57$q`Vv;e!fCO_izU0vSjSd{$C_Ojqjasa3%*NCF?|4d6NKXty=?)L`hw9mQ*9MgK-=qHBlZ|FiMKs@**!>w!+&`HzA*Q&w(XDgCw*_5$(Z&&9Ok;N6zHMn}%=(Qk zf}cS<>E(Q2?fKTZMb~z~Q~0HCVcaF>%c9%0_QT*zR@IhU)vq}L`GdXvk=(6^$PGc= zrdu(hDBEp@C80!}sB`vM-1lcY1W|hTDFYO`)e?gAje%9-yE7k`#dKH1ft5}M-=Qo? zn`4K#gO-#2Z-A<8|H^2T5^HZNzTWFc2f8Es56c%Dyz?_QoNbKB#|N=kQ)9cvobWp9 z%(5T+^b{xXR) zf)#pPTJHu9F+`(^wN;`&pBC`?)_+kbe=x?f?nD^YE;X8_^m#08^Chm76OvkV{#;gy zhlr(a#@$LdQTlY=H(d-({bS+ml1Z)mwu%1y@j{l!BQo&$2_x(4HT*QP^EC5@V%eS2 zzi#iG_F(heq`b=@_|n+{_nB8_U~qfSSDFLs6QctsmbrlYiUz)JrwyGC-@B{5Pp)bZ zC8MiFTb==Ko7u}Wj@8#U!ocyBJs7!9tUe0grzw(YOCm?n=QJ5+n+9$_!q3Fhfyx`1 zR6M2AE}84@>4=i0kHJ#(wG25{w$rvCs5_wQjO@3@MgIESm{V!u+?R-v(Z9tL7WnI9 zlwbU+WLl$u@$nIB+O_Y>MKzd$Rz9{zh9<^3W~G zqf+cMyTNKuUh$cuBa*o67{yrDT{4nn1YT>q%2}pTi*z91N9Ek}3wl?Vm!jV#yVi@U z*ke8MBO>4#vl@%`HV&%sGom%ghsC2*f4s6J>C_np_M%7=xi;7RAd!>nqs(^xNp?Z%;|{Uq zxD%b5QZ-tCn0ylmP(@xx7uy@!hKAO=w#Ex=8BSEwV@poXk85(R8aX4vuVv ztYs8QDqF+g5SY2-Ndb4E0#a_p% zc1c^se(d;A^C&u_RH^VRYP*l&mJ-8H1RJt9GH|%sDFpAR1)a{@V|eTf#Z@$z7!{_x ze%b5&d(p*isPqFwD)O(j$ow0EuOFI3Cj|jFy)B9kb9sfjcP#j$SEEbThqCQgaos;g z>2#E%PsY*h5_55v)f?0gLyJ&~Q^JpDZKG8>lp=2-_N0GS%X*6sj+74a91AW{(oN$f zv0g|+u)B-emn@x@lwzmV5axKPYDW6|W*pnH_QxnX;*c)j*G}o?%F+>SEfCOnL1+rU zP$zIZg6&IV0;J^A?%YlLt{v{Vc?ypNG_|97BPFIZ#w(=Y?{Kr$8dnW?sDcq9`8=89 z`=|6W#Ev}gwhVs$=$qPTTwz~1KaX2TRqacJ`}+Ry_B4-=T`rBB&cxNV=*Cv9YRH}k zC#UkU^a~HyVrliU+JOA!eY&;m$Esi1A&RUXn_@$c10H#OsjYXj=nBCr5j0%WvBkOb zhbU?T&9eYX3jm}E8+&KV_qKamU87fdbWI8{j*BaDHIi0a;rLX zKb>|%OUS<(A9_66xA2^#+?FLDCXzE|zv!a}=d1wC!M-vAwx|_rpc^IV@dbiQ~+-Z@uk&!%kk2IpEk`9DimKOd=V<9U4 z5xT82`{j$0)!~PaXt)wm(n>BZB%YIW5=$iXmE}(c3k^lx!fVRi>x)*hIJZkB1owxL z_uQH9rARjXIA%R&1-7|7DQ5V!y}bDWU5d_TSS)~rRfxFrn)1|7Ux!uOMhxQUu8UKz zg(GOrjdl1jJw$0KbxP<#Qd?#!eA$MwYyk>$@rcti%;T>sDA~+xbvO}FNS|1fZ&O;v zE6&usyfJwlXlZ3I^NUNPJC>joOBChp?+W`=n(R&4mxnD)N+8?!t~SD@`>xvIeol;Q z@(kO4N+u?`t!Jd>AWA8;4-?`HPgBaJolb!e&k(EXAHrl(jkERYaeq?WyQjgSN8IHx z9tXbZ+-|+-I<0=l1G7O=`f}Yk!S*W+^r@U`($x3qr#<-1)&xU+|5L~EkZ+*(OHQ^= z{7M1_IJJN&6?aWg4FgSgTbh(hRREC}^PDX6j6?LM@o%}pjGn%fGuF2%K zBILBL%BK%{JFGsRxcJ@)a8L!dxU2@6nz!*b$f4MonQRN69_?O#6isZo!9{vbISs)7 zn!Ni7_CQ|7maw|G1gSQXs9KR3lL_XMW@B>}EB&ah*rJo!_NIOIBq~9Kj7`s>{OhnyI>DfOvk?*$b6R7{E4b{QWMZs{;8TF&uN>92Z`{D#tsk3jNHoO^@*Eg5u?R z#taX=*8AHR%xD%gQl z;V1n_i*juD)7Jz?@n%%jLZDUrEht zQrwgoVs!y)P2A=2Tc-eDNYQMEhNQe0HH7W>#We))2EL5XNF4qHPZNmEyx9-m9wulQ zfKKVyP<4o?D*Wxx=Hu6O35r}!PcHjHM<9;>0a7-nxqvpE&U#<~y4zlL(7IFl4lqXm zXO#vz5rB!N2w>k2eJl%d2~uZ(yKdnSQ5gs`fhh{83_F}?S{v|F_H5fLK+0}1;BzLB zD|Ft1ZFkTR0q{&-g01^;48aeR-bf^o-) zk+^}@9_+${x3kkHRVCi%TN@~)<;@V>2sWe_hmYi;zE`O}I+dMX0w){2G9%gKDNfYs z%?=#0fW&0kEi=E;qSuw3i8)<3N6GK^IO)?7Il;72TjI5vGaTT;i{CP-FS)}<5tU(P zO7Hl8v{}FnACzE9W7pVBmM*D*c}p~5T!?_mQzh@C@avT7)k`;u)@HyR?cJtI<>|TQ zeV{nf9fz(wzQMfxd>8(sZ3$ucxFlE>TM+;Z$3pOy==dYN_^}?s~dv9lhC8ga`FzFj%Gn;{=IEvr0#CvUP|Fuf^i{3Nt2pY#|}Ka=do=?w|&xL zC72u`lgYMSeo7JdnU@t5t(a52(T-ftT?Zt7bDaesvd|QVQu0-rL@4=c&=`KlUt2ZG zWZ0@u8!N86rAWLfUSbLsb@BPpz$G!j57$W%=&xmIWy%{y8e#6~f3E*&k`OVbv(%y` z+AB}Bw5VokPW_22Yo`C;hzjg#d8#Pf@8a%S1%hrdeR&El0*(d@E}Hg3!7M}8H$sX} zoJ}yr(r#s{{6{BZa^gZfp8mZgyn=^XVtJ&*koxgGLX;6-fK&kyL~e~kXPGG-r530$ z|K@@C_%9y09Vu+kt)fc>)M^9Aqd`U{nqn9#prwSLzl2q8n7CV8#D#QwwJVMk4|?cS zAXMnUj&P7MkW?UMFW#P+KUiRSEn|U>xWqNaQx7+Ho<~-anIlKZ=+D)|NOn%s%*`ww z9MOWsO<8O^I%9ykhoBb%UG>41z-Ux+6Ucr151Zk)|6=2I{{Lj78g}#Nyrf)+tvmQq zRAs3J@p0oz;*rIP<1HrW$N}4B3(q&d_PW#=aiIsz31AX!L5u2e%RU9)LSPW6yUYk= z(94P=2j-=1pew{*s96W7?bLJt2~S~*4fzzf6i^lVp3jF&@-;6kv>`sONG;115*t6( z5wC=ua@akU7K#g9MXHr#4hpCn%L`p`^LtfBk!I5>K(yog$cPICkrET=(*N5W96^Ju zcy|;w|9GUWEviEDg<6>hOfV%T=nD1!nN6x;h|F`hz~kXx0TF2}|4Z?hzWE7OW^n)* zi87Prw+OJJp#-|TlG`io7%oiD*%RMw$v1>=(wbcEzFauMeTUv$Zmma9DACn|%fDiv zhiLRsP(o0B*`>j^=!~a&HOeM_8!3CUZ+W_UtoDUBob~R2C#NFBi~OW#Pu7Aos2=!0 z8B#TQPY$1-O8vxM4->trt$(jp*+G)jlP#*MDjWpv#vJOC0-D}Ak3bHfvS7a)?@g#i zlK&bXXW}lx&fP+%M4S{btTcGNWYEK3j%Ky(C+ROkfWqxJ0!|9mueJ+`s{ad4KWEsQ zlI1u6q{Z034qDmDclQ8p4+Bbnh4yjpiy#k z5*y(0c%KbY36{#p!>Kdz$BdaTu8qS6Flx6}_2?+l<@`C8F~DNMQbdRyK$Ky`5JCrr z;YqP(FtJ2qm*h<5A;BD=Sxuu)j#$G`q-|51n%it)og9)vpvoeI=Qh)zNerRIBOHO{wj7t%Tglo(!3QqO(K zziA{ZOVv^=T*#67?R$y;x9^@14H0PaI<&G4hQS*(~1NGAC7_`nh@jj^+6w?4HHOVeC&>zk>ADobKS6ekJUr>tcH?c7o`?8%544V8i zi0gj_B~I+o-|k=abB8&i9sH*HUXEyeA)Agq_R!BA$@;;g9qpi8yy17h3!Vwe!L0oK zXnNfh6^QgJ707n_AMNzyQZn;UjmDIdVWwW&>4PZ<{CZ)I^SN5T``Zv%LLHBaJWVGx z-R%MkeC)vO<^E_-iZkJ0PFdi~;-XBt40FUaXSs1BpVSPu{6h)HF!5wb)>$IA`5rS~ z(i1b@e-!2r>=QT(rK3;$snF$rD!fX+4w;DEDCh7{%n?2<{@^g;P^<%e)t~c|et4!b z{{!ouyUKuQ4^mI*yb83Ywb6@c^+rZi>;}Q_75eaTW37wsy-lz^D_9XnN+$%x!ey0i zhVf~n;qdn0FmhbJGOB2H?{VKEFT%{KmXWEbXi1OV10QPA>7?eYuUG1)@~&vC+h1;0B;GH!Oz<5fJkq^_4cZKd(J5Nn%~7gwG3?RhrUOOo z^AC*)ZbKAbj>r(`Lj}K$f|BA}f%nSNoSQ{V$X+kSrQ5nwn(Re$BQp&kZ?68h5W$Qd zj>Xqc8$zyO#6^c%Yu98bl~yxju3?nDK5YQpir4XbDqGxHK37BBs?8a|Hm#XqC3Sn+ zpwaaNlehTjrfAe}k?3*L^`P|`hW)0N{(~9~NDVFhd-pxwvObTPWbg;Ii^&*}nwR5G z>YwE3;Yj}n^<`&2YGorw#+yql(fVG~1a>Iy!&X6B3Pp_QsEG$AakLWNxAA zNYd5)b{eE6Tef|19L7ac)%`*pJ3VN>ci9CWnmlI_{vy9~9tM&tL;peE#LR{s&hUSb zPa8;WK1L;PtUCNf-fJNBsHFY?r{1K9@w3mm2Elvl z;ppew+lPhi?;V8@MfuNk8c5%MMFMIP2E7-vg=v<#)n@X1Wjit|jxJpr_habHOV?*W zv=mPpWaJ5)UHewl8#<8nYg2!)-{!aSm)Mb67YQV-sRfVpyV1w^!`_Ni&w7%ekROAP zqc4ur2_82zh~h%HJgw385?fMO`Ro`fXY9(boP}jth)qFQo0sn6QGWTUtoliJ-R|4G zk3QOjl-4U8X)08%1*ZP@lKZbDsq>(z6hBslea@`Pj3HodZrWUYp&h*bv2LMm zf1B*E`TsM?C2Q3+)wa)8;R7^@UTE>oW1ZPdK$wS(iOU<6W@t)bj}QE!TpPBsx4m?F z0NT7tNe_M_o>-3|iK(F_$q+I}yWiw7fHQh$a$Wv;L*LNh(ap#5haxwaXpiPJ%8d3n zw>Ato44mhp3Cb&+$71t9peqUh0|v4*RUnJR-($wS7b@6~Xv#bgvMKl@77uXOu?ZfE z46u{zhZ8yMvk- zWK~}rTkeN1ZYuqX-E4DF>jt_G6@4K>a&mBI#JqJfU!P)#+yjq7jnWPh3*HTn!c5!_ zg8eZJdl&K+l97si=NFTnpF6@9dwcikP{IKGg^x@S_BYvw zfD!A-99SgQ6XA+C5G5fSOHc=5U1H!i!wr-{5{+>f{s>l2;TUe(upQ(Yrx#v^F%9~f z#Ju6-*nh-D3jY>|6LcYRX*E1zw8?!^O~l+sSnmT$4Eg&4T?@QGHTrtQfmNeDb^GbSZBwEBQvtIb`2xrTUPF?PEaqw7(fxu#7*8_O-W z0h4!H3QXQ94D_(Sbu+|2lV_8q^H=h!JFGjuPb|hW{iP7D4}R|$e`^ena-tjD(me zkHfHbD%Hlb73X(&XCS}Qf4I0xd$;jkwjo{cQhrA`SoLlc`bx<}Rm?AcTOH%WH<#Co zdl4E%yJBBtxteL$fz>$K)N|L~4Yvq?6?%@kLDpFmi5hyIvpA6UOg8zAbPY%U*@k_V zJB#KsXf(V_%u|Cc&vn^@h!jCKUBYoZ z*UIA5oAz4;{>#64XaT~eB~96+`wO7^oEcLGWRrR>c%v^6P>>DH#e`Ttr*l12G{E7f z?MDkhdri%*oHki|A6U#Q8+=nMY&ikU@+4H#6C7` z9LZ%omgHhwG+&5!H(0GX?W?cL{7?c=NRC&5j{{ijGG=XOWP*4U_JPR@dW1!QH}C<= z3;3RO(Hu8k<*=H`)P;qM-q`a(CkV5MDL1c-cFhX1igtaRiyHd4#ncsx{a|e{C38&A z(sh@XRLUx-ngB+KeL{TuCl%Jb5&#~U1n}{xlqoFuWP%(rs%vx{jQXi64~=1gt|LXm z=NGY|#I*x;c3b`L`q%VkD@z9lP|90HANS2cn#uPU#K};uMQg%2uV1^dR&+zrX~e;eANTHW^HkRU$RM50Y!Jrg;Avvq{4Whq4rU_rvC^G~X)il6g9LcAM3?xJO_}5dZt=J4fi;pvXuIfhBgt+vJ zBzrlo(faVCygm`|EA*z8{17R8Zb?}w^%|sZp*&xyT>e}v$F61tt6M@%Lx6ZFAyWAv zY{tBCS=PKLxxi->mF;7dne(ieQ18nN0h>w)e-b1oNSh?&UL_O!UEnwkw{ia zu)qy|aTT^g3G&>c$_cCUlcF=(gd8i`hGoWtYt?GV(T*i#*Oln9^{wb~@#ZJ$05~54 z#)k$6j8q19XCab9K492*@0M5WPXm@hPUXQf#aQjmh5QB^LEJ$kAl(V3iko_`B|L7})^ z<#q%L4)~AYfUFWo!9NA}{1$xiTW}@bv9k;FquQ}`rzfPK3XwYPLn6_Lbs5o!%wNE6 zJynT;(f2DIP2Y63s-H;#s(u z@c#oivLDVTIexli^An^XqA~>L3r>~mYrCiJMdzciJfvU*huM;HK^?OYq@Z`lMgnye z=OnOI8Q$lRTS1>O8|b>GWYhfUCU3P5up8;+vi5y|pm=jZc;mUxo?-vIhTE%>OkvE_she zgPK&M+epCtW&@l%Hh~poffNL|KU@Ki!qBKZ=3<|1tNR6aTxO^A>apO_PVFMjL-A^C ze&`qEh87@Vsn8h_4%Ar)H>I`@O+iolsuN%qQ^6!uB&Mnhha-<%tety*(||lRR>TgI zYeEI!H|(DOSSj4VHl(wTZ*deh3a*N2?PCX04!ZaCXnI;!6|7jHOBGglb>#k7RN$)9 ztH}q}CSVhyhk0_C97T?}J)C&e;iTJ?k%bs%9SWgoO_9kIa7{|QF5<^#5d9`}S(vZ{ z&lFWA1IeYwSKA6Q)H9@tj(?7hk1fy>waL|U$Vmd4*}A1i8ZNg2mIpSk0@fd z>gIU^9mQENuGej^V@lI~x$PeZ$%P~!6SwJ>wb^{}$O1708|8``#oNhSzbJcWqb5hm zrB^5X`&++wlsyU8I_7@^*vtP0I12j%!0z5PU4?$$b}Y2(Ds=8Dt1XFVx85fB=_xt^~E@x@307T3$ZM$#bD6rI9T1i5EA5sg{;We zV6+D30CEZmnesfDaV@TJ<~C($duCOJBxPIM&&@iO$&u^^2HVCwn&6SK6O`e>j1E<& zjf%*Yh&7kkmFj)5-2!q_M-6H^UKM!Ems=*zShi#dSJL^jl> zmWAXV!1ZC8pYJ;w^tkYa)kB$B#jR&v}3oGqcTEB35k18GiFc?nkCpa8X&aj zIEfl5ljYVJS1c|a^eYP0j^#4ME@6qz35k&}m&0aR$ivooQspwF9s3DsX=n_|$EK!; zINvo=%z<-0o*k%zU>aI5N*o>XQcCa>tV#)o!cwi*@_wWQ;xq!d3LD%vq; zmq`R3qXNBpLlV#G(of`Sh0L_q9o>kF@d}NY<_8)nLMLdn$5ga+gJ;&`mBTD}KY-Y0t*R1PC9lM@Kk2860vqho*%}0w5}a%RW&lbDlcCoP9GZG z^zIEyB&lNol_Q-Rh1ewhdqu$n?Y!=SQeL4dfSGOlEL>jBTW)<8wF-*o!TgMZ{x?Ps zO-*np3bn#`_8%IWO!w*BZLCm0#`r|Y>wySIIi6#+u*9(H+Cwo40nBjy;Gb1vleW3~ z83NfQmxUV*a(o3toSGHcO(lRS>pQ33)t_w|vk{4ooC(5w!MXPhnByuOZ#^6=@ZWohrtuoaY%#vUmg3A`K@Nxm@UGXEdrl`_XLFrW@U}MSd_q|KD>a0>AY z9e^3@yrnaDq!pZU4&C@rF%OIR*(Iwe2h8i3TR2!xC>W~|{T`8Kak4+H=D2Vii}K$p z;F14S5!`)EAXlcSR%z*65pW>Sji{5-^bHB~&3TdUl0@W%2IIqG5W;Bc&)Eh3Jrc&! zv=}kda}=1E1Xs@PJuvYp%E~U1kc+(i*%8lK2$qRG%FJa?<-_aZ zFOftPfrsip-a$GresqIuM~dVK-I@&_>K>($z~Z5B6ryL2b(ee}cY5^}Ddd3fsN(qwwb(3?7@M9Xu+%6@#pu+< zr&yNA)DL-&CIVQU=W@isPg$B|`Aopy#?AUj_vcmfVnx7_!(FYNnDC|+;mb9FKuUiB zVg3fv{x^`#Z=hM<@eUu!oHz4%80v_%64P)#YwVam5ctY~&lY<|YjkShcRx}kswLPI z3Al@lm>>)o>e+7?33qS}As9!3a$17NwkW7oFVtf{dz-K*!@v$m=#`QU!| z?RogxYe`EoqP`Vlc*ym;GgP3|)xD*+#m-$6N7b0K!_|!0bL}FfudN_u*P@TR=PQTB zwR4TWw+?^Roo}JdW3ri#ukU-KuCJ@*&dQi~e%B*Ii~qTgue*SLdr9k^TVByS_q)-U zWBgE7P+CY+@}7rpbBF87o})uw+U=Ret;Z?n(tKRJ{DA}w5!ZFKzJ5sNa(2kdz{0L? zCF0fU+s@@D#;GCRDqDN5O`O>JurWqATN1#v7p3Nfcj9rX^?{Gt@k$qf6Hv7Zqg+YAx)%Sg2O}Cbh z-6fwJrU2O@BnSi!pO!gLiVGC&8Oz|uJ2^I_x_w^&F+b8K{3o&f=M)lGxI z*5uNnOJ=^&VuNSIXhD>q%IRxiKr#qp`^;D)j- zqDB-CPv92@e}EL~c1mW@#=q8znzG z`Mo#;R*_eEz~wG2giNW>0_-79Gq_7{$kjJ5Nnhp`rCtdb93vs4E}8gco^YOb$sG?fi$dFI8vRt)wsPKAf;&Flk@ z3U)j@KMv`Y#%6K45=G$``*g#4>=n%&6us*9h7h^aJ&}X=nC=$M+3Evwc5|BP><}yU z!Pao$-!%j(*Yzg(2YOsvy&j9H;aheYnC|_Lwr$M%;4OxzAT?;mk;i~N;Ew)nW zCmisq-i_NML1z$Y_i2CATZNY;gu0Xh7FM@mq#gX`#b`+*2$Hf2u!DLT*g<>>?1%w&R7*5N z+Wi{>e;%d@c1?4to=%-S^yO zFfN&CTTpx`izX1Hz#t$P`#-e)C21M#h#nOH90m&Z=5wSE`*=I zasEEwZ=S0q>LF*fN!NkH(162!TSKyPD3f|Zy1TxLdJf(r+0&+YsgjCs2l4Tm^`#f2 zZyLJ=A3CPTP@9^fF-Y1*yfLVIbQrpq^3x8$XZ9?Mo+_KzDkv5NAVgSg7`z|6oQ3S| zWsLUTqetLL3A&B>th;czJe~2hc)cH3{XDX|W3L$6;e;=89Ye-`dvJS%Id$;-^}3qT ziOHAIw*LH!p%S{W&E#8VB_YCgi=gw)F(P5a?8efbo*X}u$;QMjUSrv7bht_RTMI+S z*6mfa_pgzIxu>zm-KCosi<$`?2ZGS+VC9xGuJlPS)RdQ7(-yB+?v^gsU}M3G`7zzQ z&D*|_=rQ>;o1fn6yMB{1t_jKPXLh&yHd#Jmk2B{}$-FJAB4=cys|yty$=)li5Ap*| z6~9J)0<;~0@2@MVgpqT$$jmVDJf0PWGjJ*GIr#!nM+UL~@?;J&ET0AK7~r)?661Mkf)iv) z%;;aQk7SXB_0yI;UpF$wLz(kj$qpACN=7NX)+E2}bMLiIqma@78v z&cMZUl+X_0rz)6j@1K$CFz>COuf-tyVKP<7+;UNS;ycOQtOWw*g1-uHiAj9H`61%2 zg}7HDK_&l;v={cMFyD$}CH^W3RyiQbf`sXxq8wE+R&*DFpgjJl5Eoer*Dh**p(Z#j zAlsvI$rgekds|c3*5^ETE$6a*DkyM}o%Zs&!;|5zFW=L-6VLZnGmPl$u;lgl@)9jB zkhbS@t@S#yGg|vnFQ~_XFH_3!(!6xe$%s#HiwwA%WlM=tz3h}9a@%b2@qBDv%`}QF zuhEYagmE$+VcNpj5 zAC!4U75;yOy#-KQ+tw|NySux)dvKS=-Q67$EV#S7ySuwP!7aEu!4nAbI_KPb-*@i+ z-utVIO;Od1ImTFfubyk}UVDlJw?D!-PoVCDkuJk1yG_N`sj@;pddLO|eYR>}!Ns@O zxmVrDHw+pRSnN`28v3zFa9{Ri@?Ey4xa%M_w>Q}p=bLHY{kPRGp56?;yGS0mgRmGE zOAVg70(l-Ww+?zpqeIS(pSIofUc>=gD;{U<-DJKl32oR6+n3pCc|0ZX$K&&@Mh2h; zf(@q{lluZS8L}(YNraH7-h{n}F&1RUE*e8NJ`P>JBBl4~XpYTFGA57H9zQPDQZk}u z^lz;U*^NNI@X!U69i$8{-Zs}b^RB4{raF|E$_D}WfimTEW5f+8vTw0AK?De3cr@Q!3}tpWsIU zH+WtYzWa-BA!z~U4zhcW0&+dxp1jbYtN~7+VDmWrK{fTE2V-{)WTXgTZP!`7ULpQ@ z(&=4~1~CMRu7pClNbQ|=m(45Yl(r`YQ{t&JrCoMB>CG#a0~`1EjV3PJIZP~7KONj-569!u zcGBPpXWT58H$NE|Z(`J*DVH4))ntAzBjU6VU41Cu(20BZ@h~qb6jQ|3TFxm-?P{`_ zB(Agao#a>D$w@`e$s~Hzy`Hb6^*f&*E$h~ai`BiD_gr|edDB3HmPOgt72X^C~cPe9q9^Gkx zMll1=ii;Qz;wd=~RbSnXryOZD?itFbR((Rq2C?QVFN!*3eLb+RbLDGgqp-FtTsJ$rW;Jc1?hPQ9QEXRfjd9>24YHHDM#Nj{$9 zBovu0A-i#89tb;azP&jAoEY2sG1iWs^ivcC{lH5;dV-Y|iYil%oD?Qp<`W6kp?~@V zI7+CwIg0pbGZC(;i<$iI00i$Of_lR1=l%HS%$U@$MH#ZPtlP#Pvq5{+p-$#ZWT|=G+{&8^I}xWBWNfI>(=no;6SF|+p{Sz zQB#;HJ06fmAotaPb%1n!O^i9JIdjJXjWSo=mxrarUuU%Z=JD*bac}ZlVj;0&pA!!Z zC#y2{5+@L)&l_aN0$h@U@pCXPa#+QZez#wGYWKurRdvtRlnr5-y-XOncy%?#o>xpl zNHlByyi?G|AGDV{@>Zz|_*#>t8ghA|?)LS1;qjSi-7XLP+;F?#e!yxs#m(wH>AY>w zR~qgnbGw((LVRuOdk5XKlA145on`hyCjiq^n$0{9MrzdF(QL9)i!)_P=;Xvpb=r3t ztC;ReT9S=f*{?f?A+zm_schZ%$cy_d@%H9>*;zufmA*_`X&JJ_)ucB^7F9##jwG0f z&C9E6Sm@y*EmYRkfs3vO_IW&@VRQ!9Y%|+uKZ{&MkV;q0HhA@@()u{NRJkT)nGg5- z5wiHzYw5x_+OKBDm%TsCeWy1n{L0(B>Bh95axF`j>R-Ti;eWYjV)?(0j=lv>J?|=j z{!F<@VPrFTfP_BmHE(* zCnQEXUf1@zq#^BcHXcjq-!Mk;U9A9x ze~n<7ukH1L31c=?5+ElAr)^)Xa*4!Hl;ULTKhVkwvs$`Z&F4166A4${IljERsU?5_ zajjtOiyrE&ns8ijJP+m8id?8dA+%vyf3%q zgGg``rd}krdiLyyuMs!#UB+#SQcb=X;kE>OgCn%Yh_rLR9WVQ0gpgC!eRh@F+t%U( za*Ltf-8N&7`@GPDJF@L2VEO}UH6QS?nKjY>(*mH~SKh^)eKph*;4OxvZNK!F)Kn+O zzoh;wUG3(J9+KfOzO!Nef^i*FG9Y7 z^Z%b6fFtTY@5`nOXFE3*GI)UZ0en06I-GKjn4B9yFBGu zbG*62b~gjt)9%5(H(Il#w9V%7BgSR5#jT!QSJhB@t%_{X7p%0PIE0cqNSe})27Fam zqyFpx0;3B;dgXO%Rt=~tlGj8uWboELm?$2h&Lyp=G^ZwFGajP0U7)7lWz6eAH_%2m z$nZ(EBIM1-|Hh`!b2`Z1w7@?^z~Y9~d{qL9!w4?6tXn1DpYymv)99GyZF_G7T<>C_ z-mILunno!KiLp6O0X|VYg|@8}w`uh23gXgsw@`I+J{Pa@spxQLb7XnVhqPIgw1x5- zof24W=z_E8K!sMeX=Er0T+}F2pog`k_Eg`h?d&hk#*6Pasv>(%?$vOf)nMMF&ep&= z*1$R{2!^%AB5Wa^fRq`y?bT?X)fgk;@IilnS^9(&mdV3MZO0fg*H7Iom*z1iDcE_w zp=LE{IbPC{$c{BKjy3*mK4gYKiXOIium|qNL5@6o0*{68jx(~3h_3x}ymPH>P)5xN z2(*q@KQ@+4Q_?>3)LmzrqbK$Ait)XtF5VL3F{_=-ExtP9WroRF=gM`&a9_MJ*?a%2 z*LllC+W!4JZN!gjgV+KVWnnZ8RzLenBkFSE)Q#cON3y~A>(P)y9xp*Pk>&`g^``N; zitlN`I&7hK6s8ny!Bdi&ZUN_m{eIyj)c;)Td?fBZum9EI?BPmAQ84<~K z@Sya)$jc8CT3ulV@9DL|?0)?&wNjB>6VQ4>5d40soxze6pWJi6nS1hb4#|}zvzR-z zSS5c$x1&B3L>kgk*(9S+{ImVf$17SE6}rbPRb%lgyEOnP0n9riz!*bm2qE+V`Ha}D zf3&4ol@tU-jGbi|V{s1gfTnY8a{(RPn0K-H?6Pc;|3x%v+AHBY;Qr|kfKfCd>4&>U>FoK5W;$A#xu2Wkp4LY1lC86NHK0RY_|#GD?s@F42c5z?~oU3mcWqi zmw$!idkS4@u>4oZY$y~m;qZPWh5lTX$r4g9R~uSeOq>nc#~2imDAjakaidv`Q3MBL zC~|S5Tk;^JwXRe*I&lyqE2z+XuX8D79-!LFGKXucFQO2_`B<5YG+_;3hxVZ`ATGZ} zYWc-?Z$n`kUp|RKj0VH}it3q~c1l<=KW>x$jn<@F>{)>l&<;8<60`^+3IT();JUs*$8uL^4}H8O5MEnUE%p%BAl>u<7*ws-@qF;7TFM+aR1loZ0MhbYzIldk z)MkB|lfbj#e-6#E4g^TYBgrZu*^Q?dgrFz{RVd8m2uRt&;~%8f}^2U7CA1(7r`R^GT5CE$}P4tskDZZt~3NE`y6 z(GQ)43KUTP0$d!Eb87-g1D^Ij1LpgG9xwnQ*{`uX=f|fzVBI%;^A(sC@EEv$={&tA z3!sO9ZcITyA;^FBHHv?y-?!;|C0F%*YfpuA9x#p%hnmDsf!Ge>VbM^Cr(WLStC zO!@upjbQ*E@ejica(qlQ7WL$@=*!pWCED>evWP|e6g9?bYFME&N`;SwK5u?}{Sg9Gu*m$O=8$K*}9(Hv*%9b`aFTCBp(=*%C3LbAY-fzm; z9@T(}z_d?rbvxY#!K-;s_4LP&mY+U*yp4Li1@Px7%AU)$r{E_qmDZU7ET%NsXd3qD z*OTsE%oztS!d7>}SDA$<@eIv$v@9|Wt)dGY7fE0wHBV^dcJ$m!q3ZI6F8&s_y3@P* z19%0~Y2P$T?LB6#0+}unJq>riSIZ&Q?cmh;;VD{(L@->bJ1D7S^(OLWFd9ze4~N#7 zDNbIbwZPO78~BkM^t~oq`6O5yXIT3du!imNE%%>+P&dSaFVy>^0t}4Wj6*$Sy#fl@jn_u1% zvGyK;c*7TId1x`rY>W)-Gt3;Lb8VstgFf!^9&bR`(zALpvTj~Be!kSydD;)Q8v7}m zNAMne(^M!JPGqZnMZyeXJK|HjoWKN4ZT`RL zIY&BzHyHS*9!Ec1Ir3J-iwg>!)5m-B+al@hw8#CuLwMfjp+-bnMNOM8D&IcuiVOx( zJd$+WdW#8a%h7-i!h=+5*C>P6poX82`20Rt@uBrk4(dA6%qEwX!_LOq#6-uIS&;_S zjA8O61W_Y2@e=x$xb0W=n?JkwgKp*GGGhr|ue8rvp_S#mV`XY-ARiRRs@Y)A^{s_R zBSpUXYc2=|O}?-KA$q0LnUY3(uwH5pf(z~;+qn6g-rfj~QJgHSC`%J|DatfS`g+H! zJBUh7ywgK0hd8_IFlD&KBM5j#s1+0j4rQiuua2ZP309%@6I-|i$_z>7qiYDZssE?S zVc7X;gLF}jAS;WLyH!wWchSLl{sokoY1A~5%w=!{GrU4vC8K1kQBA}3g6cYic?NG> zarQqLFCBwXto=lojUiSR%<`m}A{4v+G%T_l z2lR^9N~zRgRzMMje_{Mf#JR8-#~%?uR{w7iF~j0bayAECb*H3dNrIpX{@fip12_|z|4N}34@DH&nWn{M@)_6v~DpZHK5q?yJc ztHqMhWxZohl&@gZq?r->7=^gFe~WSXzlyQaOd4tr}m2u7|g`sePfW zE953KXBkK943>{|hnDf&Xu#OQz2aHOw4vbTQ^wH1x$|;lUOA%0Fg~N0v5HGWXahH4 zShb}S-gXeC_j;wW8iwKBhM3qjudpxzm<+KFNtNeI-EJEpF|GII>ay3z`*zIC7x9)) z@nCsJbdY|BEy?b?B2MtwnUYTM?mUWLom9hBy$1H}h$*ls+EDWYj_KG4u6Ga za5~IKDD%6suY&FZ@3_D?lnf+Fhqh)@V<>2t{pS#l9*bxQSf2}Q>5rCwN}ngUb%x94 z-l?c5fgUmHS>YWqn$>?}q$dJBI zg4BA$ac?rmOId18KQ9SFDhR#ptma(z;b&ZKWis9)D@xcVp<7D z#2v;9=hX3Ej#K8=tyZRm4y-WXJ4La@p$p)|RO@71;Sl-{S7pnwg6byl1}GCmnHXZ{ zT2pCAQf-$QFbSX-R2{mN@D$O8K#kA()u{Mve-t%?R1p_Bv}zTpjKit+xXqESu=Msd zls;*ejbvhlf|?*g2kW5O^3Vbl{HdWo^*)foIwU3#zTT>p;&QR z;&P|4%@PHgCZ?jPo_&F%(xRTKS46`wj0Xr#jpQ^rqOQqL(Z{wO4n;6Q9L8hpKOZa4 zVq7W5Kps_NCUgtuj5cU1-FErkWbrU;-+T2xX=nz>){)S@b2#W{on;s9AujmYsh{}V z@O%m4fo7>NitT2tNK-wWnHa`8s=?H_3%z_>3GNZB{Dl16BIT+-GFZt}!}XQnVbf=p2)>er>Liq#x!RP zq&uHAN32XAK*m*9OE=ArlvEk<#0hQU{Rz<&KnI)&+$*(mVm>Ki(l#~((OEDT(ehyb z$<+ET)tLiTAobLyWm1Y&S!q;NrAPjWS`7P7R1&06O5&w@s&quPe_5bc540cw9_x<< zGhLBM&m<3PQM=_{sL5WM$|KoJU6FK9=G*FO4b(qt3p*v|zhF}S#rFX65As%5A@(_Z7-=I==&zZnb7l5wyu=0US$cmn&&T8<%M1L&*6F z#@#g#r)0sd(J%8-F!bg@KuPe4h2&J|=ug>RGtLMmr`=F&NS2bRmtv@g@;SVdE7iys zI@Mgv1D?zqY2i7T(*(8G{H=P;1i?}4`4Zl~Nv~5y=cKFG}Q|woh@moDhGue@L|0Po4uZlmrfJOw4;X_g}&68=n7)nJ}?c zFnx#w3ylWwTo?x~G$?5wHo;8e$LZBOT$`X zD9Uc@m^@-r5J>Z+6>x8|h6RHc11a%(EHK28@{11~f@4YZJS|<2q&T%tw08#&&HjY# zy|DGg@Fw4LQqyv#p|2Jm3|KTw3~O_PC4(N*gPGet>r64yyfa1#HX7VjjUnU?4@ zj0hvklMO|(=T;aQm4FtDKEle6Gknhc$0;T;$97X7ed&PUMb{hgB9_>-T(%@+Et0)8 zRjDYo!9A*jJ2WJr9ZhHp_@Xs@*s!9z3^DCz1T-Xy>^n2sKZV@&sLAqv9152`m}aIF zc&Yra8G1ZmGgC){s9YqO@L{tc6xjeZO?KtMh{3hEvduS0pjqF{PZ7UNlkS1g#yfc- zY&?1s|3cJtfEU>XS!;4Y>b1ELnw^b^^vND>3{3`poY!Xoc4( zh9NI#6cB8xxMi&Z8aV95}1hE7>7!{7C8H-mmTw9C0cc;8F0#rU`El48p zDqdmvh`2LibHSS`^ycDj4M*HyZ$?;rzHLmQbC@1!c+I;ls4WZLoaPtc*v>U^2l^}e3gGPaOCEkW- zw9=4f>h?G1;apYd1&L&KanF7y6A+*Lse>Mf%bM)-k&xB!V{LjY5X#oSTcnBl?>)qx z#*@!E`AR*!G?I}ah4YZ?`-h9Qks%e}k5X2wp}K8HWD zVmXIlQK|XuBfb1g%^k!@fRG`3y5VDnfAAwG}Q1vKlU!&f2$hfE+9Qx~DRX zdkZ~GjN+Hi5%?|wcGF+%xzV#5qfKlEz*KX|uOw)dtb!>$T0RsvB9Y`P|_1i79nVu-{ zy z4_X#3MDlLLCyD9@QZh#@3P0pD%A_~!(gpmx7S)f%)VE@cSRmk+7#ENKpa1;x?zxg* zVmM(*R)c!wpGHMveu4kO-A86jssi2yk&X28d=;paB_GTN(sy0S<^3xj*Dl5%FXYE) z_L1{3zLOFR53mq80X_R4Qpf{-4Z-~FnDA>s)h#r2=E!rh$4Lm^hdRXHj^T*Zb{lc! zH3=~h-rkqf#lW~?-9k@mdml6WA-3kP`bQEAVG&Ta%4yvP3!D@xfAHu(wfF@53X1!W zlKEd^z@nE-KF{n8P_U5L>i~=kX5618T;Eq;BJ~nf<3FRpYdiZ#&Mh>)6L2*4kxNa1 za+KiSP>_zB5*0nP9Ju$9`#JZKEvA`)fbDC(&(s>?EM?6Cw@w{7rY*NM4 zLo3Z#H(abPe~;`e^PnNW5bajO_l8--Qj3&!%EWJchAkNgoL5w(i4R_O1h#}tk*u>szi*m7^cLcEQg6)1AL?63kM29 zmIbJT4wW0$_p{jGNNV@}dQjP}9~Bbpi~r)zxJxsn+&ZlMv_HXOq*)zWg`kOB+sNQl zy%k0{8}s$aJIyH-_h8N1a{W>2HaQ0Z;@V|)^N6b+B&?-6?(U)HRN zeyfh<-2b1!J^{*jFXjiWLl^Br7N=E}u>VD8Jz{H(Fm~;Sk7sob4!|`m=UDktVT|3E zrQiCxc5xF5YnS7THOU^w277!Yz*VN;9=|Ljf1LM^6hyzpX=O;H{{ZC-SnbEjX+ZGI zyt!mX&sOG62yQga@r#ElDtQjuX$bxdH4V<^Y}|ij#?P%`o%|hcA zWw2YzUlGD}vo;g<&n(4^WQtn9et+5%0vH_q7DuLF@`mxD$$UTXA%QFL?UAQt{`q?3 z;(W)%@=@bs|Ehr@k#Ig~BH{*QG}Fl!EL^j)szKMvVR}Lj!FT zFb$xFY6*7K5MvC`G0D@}pYC~1&zZ;eim*mv*g?|9Sr`=b6WlB`S%5mu&lne}%~AZO z0}}4AOp!i)f;!8-UX(QroTMc;;~pb7`r`YNlwY|AeFl zhU7gWk zA))_RaYXSz&b?b9U=`=Wh76qJKcvYfVPhnfR8$(|$@9yrVPf)~3Y_r*!tohuQNw9a z*zf{?H(`K>`#Bh|QdAygf~JtW*RJF_m|#w@Yl#UWH0YRodb|McFW`OE9(7cFNHM#w zb2=P>gYj5T&-Z&+oPk^{&@sYDE;V+{_8{VIk}P?%(8jD;QoKWrBIGdpMmUWn1S{lw zS8(jxwKNq~+NIe_$*aLGD(!PTN5x7yOON8-g_VSxuv8tOL{z&_0r8JFfnUj* z6W7CjYC1NpU=6Z>DI1vzRns-`lrBCugj?a#1b)}`tWWG;SA86Ezi4}e5*+o) z6l(f_T=iO%*5n`R+UATaLL>FkAzIh zGWV9k#>3=7C5&*%jOt|YT&#v`@y-5hM-3FG+gnEYp_8qyMDzM z6W02?u?)N=_j?l zO?;mlm>t=HYx;%7G?wCi%JMH#mG{X0*@4+~xRAWdB7htG^pO z_S6FYS7K&D;9P4LDIdPXpdyfw_o#2BvtV$YOBb!Kt(ZgOC)|&PFvV%>q<9ACFu#vX-6oITDgZ zMrhF;!~_fr@qp%33Bae-FYD1+88ub242>~B9I_z~uH1$`BJ&wce68Y9DKeu3ck9GP zhD0(2G%d3|(faY;dg-%djMk>{xwuXLHxv4cfdMkaGjUt(!?ipO7qOFM0rW{QmV4mUsocs55}B1R?85E}DGWzU`jC2IC*BO_s1OH=Di zkx2o|;7zIsEJ;mI84|7YKqNC1=%K_}OD)$CD6ERx1Q;zd{rv)lsA6dW2rTV(6oy7- z1{J=EpeqKpo1uD&EQ0?KD(27jP<`qmpVkBUYLQ_7kn;4COlptDB+bL(h?IgJ=?GC;jhsE&?&+FLYAk|Jo^`Xf5x;UEHS zD|j1zRdAyN9$afiOAaHobd)5ojL{%P*e*B6pX*o1uJodL8Cy79>~m!3R&8}ee;zPC z@H*=zl`z;M4RWDUze0zUu1Y&e*{xEk7xcKNBIS%-B}e1edi zN{JJMJ)EH!A1Ubc8dS8phKiGgq| zHf`Y%6a7L(Nqo6TC~^Xclcmg`%>xpZaIuL74}%XG&Fh6E2L+LHwHQN1ka0vAqX22E z!v0%4a#Qwb>sw)d$Q0vzadW<_gzQ6W{GiQ5w*lox>gNE4<+b6J!FWOen>FP%p@oGN zJRK>-l&uP`__teOq{db$>FropKCEEV2FLQgM9g+D8->}vxB^AAjVAy}gldg7q+;zv z$0wHY`q6CPAbjPm)lrp)HH3a8P@xK!os%jOV;SPV7|HN)0vJiXY-3 zNzYXSRAZ}A^o?xqHxjZJ>Os3)xih7N4FuoG2RHzOhZKnr6K>9Mu*^Z)KHhKO9;(urypNf4bHQ>53Z%7;Ixm=iH^48urk4Un2e&wvaw9FRs zbGvIXlfN!_sT%V`ai7{$_^DuDVmPq{#dT$|jRraOd54_Xoc@#ugng~##-w2eQ;-_G z$ZBK)-oOTBCi@m8t?v9+3#wC{ zBUKP!3#wM&&z~l#f3=*^&pMY>pi(nof)#RMoAy_D93sC4x zR&HR8S^HW`L$nZc+eX6^D?7+O*#wHe;(0A1g~~WHIUm=$S;%+_eWDDe+&y;cI16L$ zmvQ$_Y?k~W%@Zm>)MVeR;@r)!GJcwjtK9>@>N(})unu0}GG_2qvWl77xD9c9_LoA) zY41mOcSb~nE+NITeLvZ-zk~eehScA@`L3qGuA0B$KtRy`?U)6yiL9EjiQQkVHMdd+ z9KN#YnRl5fl4;2da3$Qa@cSFTT^!3*y-e4GeZ1Ed z{WJw=APlaXm^3&k@5k)3$;ZPRp-$TuhDIuJI=c2B{di6cgW#;iK8O6oFFjMCrnE87 zC{lswI~k})o2|?`ixxEP8mS#QRaEdk-qr4#Zu*$futSwpCWA3Ja1-@hX)cFs3_?`5 z<|JCtoP=}X=NVBT?TxPZp5ak2VtDbIWYRc$d_6lU6l}49Rje_~llETW8*1am3=+c0 zY`PZ8$73u)tl7VOWFD)g@W5NF{Mts{ZQS*X}($YlE)qvH;SS{mQJ zWpeRal)n3pLXpXqs7144M+z4yIvsB0ADVVutPkMGNj!LQ(OHpNaAej{WLqhtm{tbe z%4QkKq*XDTM#e^GmV>TU4}7DWYuoz_c{N?(s2R9a)}S8{!h05^>o8i1pqj^4Slwo3 z(}Rw1|JEJC`27;b-Kz(&uC_vtTcCaDqBK&|3zj|4)YF|6 zKV3q@S?6wohtad(-U+OHd_q^F+x@6t&pg{9cjWABZ)0%?`QrAzY>e6PLm8XvX))2- zgPRV!lNo&>Z^R6FD1JM^*xhsxQFsny)jS6F0|Mn!8*3L&A(ged$VEv^_`-M&wN*WX zRgQzq9Fo;|AKZ77cURVrmi9iw>ApNc2YG~u*V#KNG?|F%NqiPh{`f8HyHuf8gIzTv zr^A8Nd%;xIvFiGLM@TT{nT8)nUn9P`zozw4U6gq#)Jj%#X*gq1d_opUG=i$=JhI?eE#O2!6N+}{*n^;`4xULrj1-F#P4hTc!hHE7GYU4()m*jk3$}h{AVD=rOWq0iQlY zm7C>@Fe1?3;m-1JPdY~`o`@tnrASX>S1sN_?;|UCyI?O!6iZT9EwuZ#t9APAaCI=) zo-oqwvvvKgM{uZmv?=Y3VWfTH;D=KksOCf%cL_0aNI}qvE950M9h(fED8I383c|jx zY|X=Lz#w3hxL<*RxV{r55clrdFc7rBZnO;LBuUd}B5U$^r#!3vnl9^>!&wU}wx4(- z^kNYX8w7)JA*KGV!TZ`I%PJ*9o`50FP$)n5I3$$AB!VKVwS2bbfpf3^^7uHFWo=!V z$pLv|P`7%ezR*RzH`iJsLH~^L=v%cQBNGoc!U37+HWlNtC7qN~nyT2eeddODL6xZ! zTAHi4NXLDFua2(pNojr4>!|7P~qdwtI46*n#xKq@U6!O4YTD;c##B+ zrSQ;#RZgz4S!KSiXh}Nzvol$2IWv}7AvCedO4>#97A(dZvrxRZ`3bpI(lZ560?<-t-{)VBeh4 z-j9DXzx%$>{jkNa;c<9XV^@M*GO3aj=fLeHbm@tDhA0E_!wL@a4k<7AmNX+KM3)Znl0lOC9)TdPKKo{(lBz%m= zv{`&XrjTM!RsV{lE_6i=&`C(_Ar3{b)6X?$ecWxks_Mn+Q&00%}&BdBz z5|eE@UHLj!Q0z3M&|D{G)+wse4ojAa?a&|LZ_uDIM=mpNPqQg1@wsezgh5cxPOKR-@?Fkm)Kxw2j3eoGYesPpJF^OyTh7N>U52tn)8xLK=Pd zW?ga{b}4Uw)`Zm^!MA?CtWfM!uzkP`>Dy@9dt`eE7T>DS9jJG$`Lq<(s8l}>0XDwt_;smV~Pjm zb6yTJ6jP;X6`Js@shiNy4$D~-AfE-YXI-K-U9yQ#JLg2kwA1Q+OFp+2m9tc&&HZdH ztm&rtJ{ag&z7@H`jpeo<6x72 zGr{4vyK7+?c#WM-s_j#DE&2jfbd^F6 zuvFh4j^(a(SvyirxeHck@n@l2wiRSA^f0${Mpbt{?2Vs|d%X zIH^rxbPWJF5S2X5jFZ7~=3Vf5c0V(^7t_^}H9#8EX~986-)@A&epih0rcv+D+Q}WN z%U|xY8fkGE@3959j!bWVIIPMpd*s8wuh}KZhfIGL)uv%dw+w$m#Vt44R&!|d=XV6G zcUJAWf^l(HudeL1fAsaBt?V3CD5)0sCWh^L&8yQnqv#4T+AHo)=P4C?$+xNFLrPrt z5gmim=;aF@dcv`1kgKmU|us zAiaNLA`mYYkvkk@uOTadT*1C91rz6`?GkN?WIeniLhhdLU7wuD`p( z{zu(ktzlzk8-V#a3e;|oB5AW#rMV?dfz}fm*t)0_X;u7eYj_EIr=0Y5Z=otUF55QY z$4^&#Kjf-*5vsWP^3uu_|5K+2XRdS0H9vuW^PY6yDg_%$)z2*y`YYU4Dcs%gl78PcA~K8wwTb8O`UP5s`b0& ze8*wQe_#Q3mAbsDb3136D~n#ZF3hp5U!TgQYjD`_>ucvJDz`B9Iir#^175CtLbhuU zBWkus!atC@BQGc(jD87hvwCwhmQ6zcx=$th^ zt8;|PBiZHAK2OD<`|a?)`v6`cf4$xWC2k`{V7PK!2kDmWh%p??O|Klh|4cijy8NjE zyN-tTZLZx<*!pAdJ#O|l>c#>j8eLr(jTYZ`>f5#N(izcq{4w0&gAb|uS~tmchxXGI zGn(`Smv8GNvzF?nR>t#KYwx zr%Bm~9BED1=x4FQ%L94kxOsTbSCSPVxhZ9?LKV5X6#aL;J!JTMa}vNZ)B0ru(M-_S zSweh+jJ1k{bC!X1TxFo={rc-^rkEG=%NAfm2y%x?ifc3WDxyb2uM+(gNpo-hY-Qo| zh=8L}AreZAl%nk@q#lZTf=YK;p7e!53w676iGRauXGstD7saWDBQsit5jo5a5w_OC zOZIe~*4R15gkSLAN$*^wl`@L3sc5pkEm9~*<7RvHXDEKP%#`y0UHruQKhb@jW&#Q6)=!RGPRbe3Y_y3h9*=O2o5rdXeL zX87(}^tpe-^g>Y?_8iwZLmew~T$~DL`h42K?YeDIw|s@EMUt-#jnU8HP3r$T{d*15 z&_mN_hwv-kNoDNkk6w5MNd$cSJtSyQB?G;m9{RU#Eq8lDeEJORNjdKhUI%s^b@lnC zmPWO>SWEo^?3cArPuF8lsK=}Q*VFYPhzu-4-FR#L2(Gq91-MW)Mq=#Kydmq<9|hYV z@c*2#3ddJ0dmuqTf=NI?uz@ocuyOZa(-d&!1-w2TjIHgMY@Ez3uQY6((A6;nyS%w+ z?PpME7%`v+yV&}R8Aa*AxU9dICUX@t);WjDBq^Y0QW<|)OaJhmZf+IBDg`GPe!JXSf9uV@-*TPh^*(VZ94j;& zn!7{uhGjtjH}?>EXzrbIXsLDLsgk|Kg6boyu$4J#^KmPM#O;hS6!1*Lm^ShzC=?}3XK5eEMbwaSYDY=s)>W&T+xC#DLaR#}q=e=%4Zi#5ro`y?KY zEe#`HlqKQ$P>?MSqo^f*8aMqyS|_j8{WHlox^N@4N?nB1$MuBlVXv!wxW3>0Nhh_L zgq=*5q`8VN(87aA!zqhN7dxv@@8japL<{a8dkyQCH%Tn zFQ|(a5YV6zmhUVBN_IH5>1O59!|Z0bE{Nu#w5PbAZnhIw}vJDK57@WT*SPH>@Uu$q+dEZpQMdDDa#7%74`XE z``!H-UyX#KBJm=-_L8qt^X!spggOA&r1-F?FQ{^fFVVVhuJ+mCkeWWrjNjbzBH4wvJr!)YuG+9> zCTBF?yiVmfmKU?0_I3DfG@hThk72@|pOvrHmvGPXUB2jIcSYPwbEcSk0=@t4O7_Ox zYx?NV^oGynx5KurKlUZ-c_E{e$MyIdg0scOVZMMWv1F@ews38_p)<)s;|9iI#j*p=(b6hjH)Y3ecwJ( z{ZVyS?qKx$&+Df=@dz$H{pwn~T-}q4TVKmn*F0Xfd|utNo6qOfFDyQNZF*c?>h0C* z_x`+g+xlMR_Uz~D`t9z0K6$V9xBcHYrw_+}m9eZ^^S$E!%lvaSzwdtkn_h2G|M1cJ z{jtCP_S^qoRBCvDcZyv`>WPpH%vE>ZeTnHGy>Ab2RH4}HFmUd z2WJA6Tm)(qMA7&hC<3p0lJkqeBhl#Ezudkp{u-z~hlPPb07ZK}Pz0_$v7i8(t50p@ z3ONdFh3*F0jB5D|U_gLp4uD3K<^uhWO?zI0w2%?d^3y=8WKb;c0S={uwL^T4YzWp+ z=v^&l-L22S5EshIz>i|m4`675O)4&_%t-}LSE7dj`hk)#{SAy8tWh+h9WRM)4*EPP z!W_jym^nz3DCpYJCteWR`AebN(WYV0O+cTBK$zfI1~ma?S^`}^`lvBN|CI`;e)KV9 zbR*FF-v}el)?@9BqZ@$U(M1@rv;o-wY~5aTv(WpF2(#ujBAbQUlSDTKy{m;VWor{O oR8Trz==#yyg9!ZrZAe)RwRITa%?ivxpj;)$kO<5kPCXzV089@|p8x;= literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.scala deleted file mode 100644 index c66ade392..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/FuturePoolProvider.scala +++ /dev/null @@ -1,27 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.google.inject.Provides -import com.twitter.inject.TwitterModule -import com.twitter.inject.annotations.Flag -import com.twitter.simclustersann.common.FlagNames.NumberOfThreads -import com.twitter.util.ExecutorServiceFuturePool -import java.util.concurrent.Executors -import javax.inject.Singleton -object FuturePoolProvider extends TwitterModule { - flag[Int]( - name = NumberOfThreads, - default = 20, - help = "The number of threads in the future pool." - ) - - @Singleton - @Provides - def providesFuturePool( - @Flag(NumberOfThreads) numberOfThreads: Int - ): ExecutorServiceFuturePool = { - val threadPool = Executors.newFixedThreadPool(numberOfThreads) - new ExecutorServiceFuturePool(threadPool) { - override def toString: String = s"warmup-future-pool-$executor)" - } - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..eb9494f72c15d1d12958e9dbf9b10e3ffffffc79 GIT binary patch literal 36950 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.scala deleted file mode 100644 index 66e26d4f5..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/RateLimiterModule.scala +++ /dev/null @@ -1,23 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.google.common.util.concurrent.RateLimiter -import com.google.inject.Provides -import com.twitter.inject.TwitterModule -import com.twitter.inject.annotations.Flag -import com.twitter.simclustersann.common.FlagNames.RateLimiterQPS -import javax.inject.Singleton - -object RateLimiterModule extends TwitterModule { - flag[Int]( - name = RateLimiterQPS, - default = 1000, - help = "The QPS allowed by the rate limiter." - ) - - @Singleton - @Provides - def providesRateLimiter( - @Flag(RateLimiterQPS) rateLimiterQps: Int - ): RateLimiter = - RateLimiter.create(rateLimiterQps) -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ServiceNameMapperModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/ServiceNameMapperModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..7f5d9e6c0563beb5a57c09fcd824c1f35ec0af5b GIT binary patch literal 36833 zcmagEWmp}_wm*!!dvFQv?k<7g?(VvAXXC-$g1fszaCZp7-2x;K-2J~ZGv}O{bMJlM zFU><$t)HybT~*z?lw={Hu)x5;;J`Z5xwWcQiW5@6!NA60z`!s;t-9g>2Ul|kS3@-~ zM{^f_CQp02<`j9wH4(H=XD`^P%tE9-;;7gayN)!D3<>xWwV5|O+RMx*au5%9lY9~C zvr1twObJ=(cYefc4T9aiEmXSV5-0llS(=69kfpwb8wE_K7To)i31l)$(tAYnLoju1 zS-$UPxWHNV>IV1>F+$J8@^peyv>w1>sjK5OFi3_&;Zy|2p~GtnXSwq`DIC>Qjz+2X z=&kn0mE2z@{XNJZ!~-OAUY41tG_q|o5xxZSe2y?WSC{%^)RZ{rQtv)R-{@?q?$of> zSB&C0j0iyc_T9dh$zwv3{RpO^Jo;KyXA{FF^!o|GHiW8f?gwO!=9>e5-tn3Sy;Y}< zcC4D8^--`izW1FtO4f025G{2hnSL@%23u!bwQtDXz}+2faol^MhvjgCyZJeJ`$_eH zQPfYI>caIZ9inlmW9+=#Z%#+zV#!o(vh^3Y9B!v2&mr6JGg~#v63!bp#4ZxKC zQAIB*S&@5C^)?~Ezz{)y4V}&HT$q`DU#kmh1)K>N9L~g6#J6YR ze0l6pveK=*VEPd(uBd9@`TiPasuN?7$FfPFbhd5p!vW)aiYZO+X$!Z_U}b;D8RB0o z^=W51&2h_qaAUK&Txb7GQ1~ZARcp{~J_||^Iw(PA08=GrfTIhuDZttM_f4LiIH54W zf+l(AD>*N(5pjhECn-Y*eiZpp8Y^(Q{g#7M-fkj?Yiet+$X+Lp-ko@hf8@$hXoI`C z71A^`F_a`M;VjTB5>Xrbbz!UsF=*g?7D*XStj{@B!I#b0YdUURMc@@RU=>JKE+K@R!# zVaQ13Aj_Pl4u*~J#Qgyp2^E}OL^)l>qfLWtJMzTE*=cLW9a6s%sWl7`7Ub zNKii9x~}^sV6eD;WPW~kozaCdK-kr+jlB-@rDcMLI?WiEwULi9;vr}m2A`dLcYR^a znwczvRVtbVCG$o48$+axi6sbjx13OXy-h{U!VIg3I17^>$Nr9 zV^Ce}puoV;{$3YjN5?X6(8ssg$k zTVn`a-^p-hym|qK5#BXjQ>kX$hrH2b@`4!F(M6Gd#&s1%WV6Yqq(i~c_v^E{h~zK# z`uoB26s6|n&Ckj#ijkF&FSS;cUS%_aoFDdXjn-47ys$2Be576E>}k#eleKBZX$ z!;Ne@ZX{K0DAx?Xj5&$#(GnfWTz86ZyKOAzk4KTc zMS*(c7h8VDk)T@@ht(m9PijfW^sgTWT>awaK}xE=gwz6$y!`%jkX?tFEMiT#@&*09 z-}J1IWc@^4<;Pv7Dl);EVe0p(L{BCp1oWn~r<#X{;!8UE3c4}axt#du?vy*Bz;^I` z05x>7tstJ#2X~!ak~=H>7c`~|d)CA42RA{)BM%rJU|S4g}ni&=lVot)`sdG}b9MLGAk8h)PiCA5JB_G25~a*!-NTZG==$GCl+ywe?HxPEiux8abmg9A?C2)5zsG zN}*ew+fP*$uX0Bx6>xmz)Pl>MXksXH>TVJJ$~c|59OQA|gz!#NWlhS6%3MP!H{!#` zD&d6&lb_xFT+)v;t_-NvURzK*(rS+Nvj~V{{&a0SdMozd^B5S8VV>VDU=yYSKF|47 zVJ*NW--OdYub=tBP}k;ZM82i?@Otol9saatNBU@2E{*J+LUH{Bw&UnVKtO{+!(Lnt z4nChrdVM28wxZzNoAkmQo6Hn{WX0A0bP+z7yF2At@V!h%JTv-(*^^7S%{r!8^)3?D zSG55h&x?{ROlBlN&9I>qw}CLnf&&X-*xszVFb`y@g{v!H?C{i^qyMVn97ZD?MhB&X}gVD6VZI?+`6Cr{w?)kgQmrz405D z#fJ}O#zsxD0lITY0~9YBjq}FrqNS4V`@2WO$l6wC6Y&ZlEV6cHE z%?Z$?NeG%W|9Ce3T=M_^g#5YuCyOcuv*3L?dqwCEO~NX1h|8X+J0{8R&{ZcACJE2V-Qa?1S-~CsFFE`fF)|$ac`rvx~Oe6 zDLh|YA6M71fSCO3Nqve{)#1lv`DcXscFMs9g!j$)4kGQ?H8Dj$q*N0>HE`=dXiLl{ zel`xv&2jbaAitQZX}j#IvfUQm$Z+Y~R%p}+>PLsFUtTcMr{JVC+C4k`dUJ0^=>Gz1 zfMC(IKqy|aANVY<7lUC4rE!-9Ilz8zWIeuTv1ke=;n5?WCeBt|m!-M`d0EOHCCWqD zkf9o48~Sd_mdECLHhIun0p8UI7D9MWD7utzmzPM(R(V46!?9rh`DctkQfhk~m(?kWoPd4dlmw1ZIgDT8vJ^C z3JMLMzuU)$fQ?K$fF-&U8vAtR)St1-v(Nqd`W4qI?!?fal1zj|T}55vV?|;Ee}4{+ z679Zbc9NR;%S*0*r`;LQkR&$q<#dC4pa;3TUH44msdVb}ssjLg!Sm&RI5_pxIn7C3 zdvSO<%@kf50lYrMy*)fFoyC?4w;u25-#=_zbfhhGJRQ#cyy*xF+dJ}lX%Kj|fBUi- z$_!j3F-R>vpBXp|OWWU>SUYa5e3>}DZ1P&S<1Q5@sp{+PQvAdl9^LSEZQZEj^R%!w z;q4JA{N|_y7(l=4*t2;vE{#cf;usB^0?v0^YukoY)bG%a}%^PviISW z@+Srgz4xc`A9_Q)?U=hbJ@%N`vuS+5`-lwdxe{X9m3tDK`E;IgbLp8u#658x1$1Wg ze&O||xJs(rqjmG@_F7#RmJo~c4`qJsUhnQ`t(r&~V)eK0SoiDJ(>?2cxem zaN62nM%@B_mL&0&&N(4_8?1fkG3l$FSfEO6e0J3d1EOb8;=6Xhcb#wIcccjey`t1Q zeECl>$!a6wuj^2ui^EPa_-4WyQNwC$gkS0m{j`PsctV*wJL1ekas6Lj4+kv#;a;vc zUR*Qup6h@som&Ee)gEW3VQJi_IoyiJZ+-@6K*5?^hov{n!S2-Pw$+{!g~PQt!0!F` zw|bo(sT_jtFS=4(544ZHT;6xAl+>^HYX|P!hlsr87ej9y;e=GTCNf?I%!PP81R4k# zyKoJk_dX&USEBBep|Yxw^sAGYR0$1A_=VH@hR*@r+`F$wPOOKh5e(EGB7)}BfCbwW zDY-Ol68qE$#7dy1K6+v0IsoXu1BRDDn|E*e_mk4gutE+BYi{Nc_;e*--k)r}bP6yC zlcd(pc+9Tr#H+CNhqaC*Emxx~INS{UtlRRd!7|mhF?mi~I^1`1slq8LdyGRrZ+}`c zzEY#L8BDjl4}R;^uUVXVI+=TPymNXPk-5DRJ~d#X%q1 zPFSoN^EPncSwWn2MWY^!xbk)Xp3?uEWJxizH7&{p>T9?yePmsQB##Js0=NXRaS>a0 z?@LGT1qDIW`kR)yZ{SmISu{X1jyc=9Grl!4bV-ZP9rx+v_57zjeHQWXH*{ZYvRk-s zqP|3iG&0e}6g){nXBL&}qw5mSYGiRArIn@2FjSJ+D?=FevFOQU8J9l7B`SRBsq)_< zWWLuJ?;OEetmt>?o-)grQkmMJ#^Rm6i<7auci95bmlZ04u~xRRm$Rla>_GezPjO zP#R8!f*vEtF|jp(H0!%Qe_R4uQBG%N=r$z)T$^W1R|HMr5(h0LsS|pXQS1^YJ}ABu zx+w2=rxmCZ=U<&rJMRJDqJNFAX~w5yf@1bU9PO9cg!mWs2}dF*loT|M_K#2<5Lze* z_aC8uQbCndpV^Rk{ujZSG6kpw;SUw5ozQ0a|3l(`pyItRYjA?nK%@RH%$)$FM+FV! z6|3nxBPk-|e@SE{g`@UDg!@DFe3C~qTIcUk|86RB5pSAy@94%f$l;UFSs?8u)^PJX zdjR*>_SYd<>`3YTh#(o5Mx7jA*4ELMKAV@GXekY$q`AM(QC#CjbXiHZ$;!`r@}@;Jg7>+_YHzpuwxThe>f;!T(Ey2Tqt)it8`<6ojR zmy>WhY#J!0+F$!N5{8v;>C^_CQ`R?+PCQq824hq2@{+$@Qt|Y-dZ=1Wqm1E%A6GPa zLPCwuspIUF8!l!By}S;dmna@iux+{$M|8@JXR3Uh$lQKTtl);G6<<7)m*FE}Yn=14 z6-|*nS@h46z|eeOGQVQh;I(UJxOlvjEB1g2nm^&>{e4Ft$MzoQUeRoN(+4-5+%oU& zpITMFGYLO;cOiV_mm3=1-S?N}!ui1L%#C9yE#H{);i+;sY ze_v0WB5MMkYM_0@rKXd<9ZAy}U2p8*OJdB=k1hE%W^My1SlNR+d=bGv-^T_dtxIRN z2$>!qv1eZSubtuC2toP=BXLm}@cMEN!*jy~6X8E!qR zsyIYi#~Scp7i2VF>+zdn+7f2@jvZM{KVNuOB4b{ilA`ek?=Wr5sSeUoO!N`IPbQ}W zJ!h)(ex=`Y_D%(gw`4bl0Ob`s8vOS^oiefJNLshf$lqQw<~wFQ9k8?ktj~rQyJ73#`vu~N7XGWmCU%^mUGQHY_pbWP; zp0Mk1=x-8XT0SD%k-b|!$_ON=OqI=;W8y50F;nR9I0zB@b#;`}DLAdkTIVL9@~(~; z1|g;V$#UI>2ZcH)h^c_TwJoVvow5}}XHXwS6SrL+Wr>@WPbrRJ{n^=tqlCSZDpgJ5 z+)rz!$s}WFCE{qcl@qXejEML1h)v6SI4EyFUNP&feg&t;Q_*0aLbS~HSluyor!0Vz z5M~igZ=5Crkxk?KLzIow=p)gV{IwhczHU0v8+viK+wKGb=TccM9X3|AIe$Rj=HPx@ znI}5q5Q&=NO9QIlmhj8FR`F?Jz;%DSvhzY=iT*7c;rQkFiro+S&dbE!uj34Qs&T(2 zF&$G1@K-gPHGhPcqLrmb9nU+&sdcHu+(7NieyfxBlN=ta80I?`UZG}~B}ipImxbc= z5_c+JIVrEe&8#QR_f^-93G~lCc3>ZjS9ZZ8Um|Rn(Jzo^AlX?WqVt8)7Ja5o=5>KM zki`bbC}!SznGak!-|_O590_Ub#_`8U&1g+l%OKw3=WevD8}ZSEBE<;!uqF-87-UNv z`P}Xpefv5vv(>W3xpsDzxRjwjkb>~(?f&&~kr1~^7B!27r)SxdqfXtJvk*Z+?R|w6 zAJ1|{-Lb}y;>BH-o&5XSpLt=*?B3fFBM(E~g##I1Zs#$TLf4|{cxDsI3KoB$X$-YF zs5A6maCNkr%(5;H-7HwR^+B#l8mUkCdVAR@ROuNw2n(h9{T^OU z`N{N$_k&YA->>wW%CsLT`MgRSU8i-xI=y9b?dz5oq&9yLw(s?z@ApFm5uRxXP1FQ}>-e z0L}q}koR)_GiBO7d30Y50~n<|J>sL*Qf$!!Y)5zA zvz3bNk9Y4e@TFvARovUje5M(sR>&A@sveD&noD~{H&lB!mu==(8ddKYGfHH*D$BSMjix&@ z)f2?_7N@7yD`y1DXrHV0=NQR#04OaaAsuHZ`fuH|p>q zjg;)BiJ6v*B)!BbLWDaiQ>B1@HXTYbTcUPw1e--Y(ZRRR>rr|Cjt-9z`8%KKBbN|P0PLS6-Q%p^Rk6o)H{=t6F`FX&kwPY+v zS|M{9-ujSwEK0Wm434bzkI&JV3Sko&OntT7%((1pnj|%QMTP7ZbUnX%rqen~Q8RmL z9^V=4u>(Kw2)q&Dp$qNs*bcR}?GkKJ!f>*(IFvj-IKF%>o!aq4i1C?m9YXv$eftgK zp0bi7d3|{WT4O9ly*ej82f{tm-u^T}_CZs*T`#BORrmB!T#5u0mr<|?d5rbgT}I<1 zM}5x-`Ru5>AEtmfh-2RL^KDp9HR@qX6!w87KB8f5zF%%F=BZ7G0rBNI)$`Sy1p#K) zk2{+i((cdMl!dm3t5HOH<}&4nFR$mCXA6*_7F*Ma&I+^=9fV(ph0Y~hs$hPwT2Sd= z-mfAhevupx2w85*T!Zcew|B>lmn@56kR6@Ev)WxT*nZ-*O3Y<{ir!GdE(+h&(%r`U z5z~dK;Bw97X1C<-xrOZp*9GrO3nR0gGJxSd=M;;34%5VIAcB+6-N2B~ZQ2__5_0~X zi@&5#=GMk=mY^aCYnH&aR0y)Gp8J<=?B?+4d;{(;C^HZEF8RZ&2di-(B}a%_!ql&s zu`Znf+<8+M5Djo$3Fh!!>5vL~TX#}&jwY5hw>VwKbkgWu*fYx(1>CoRYZ-;D%G+`y z?Cua>Qoi#AY*IlkrE7P>LQ|iQ8^d?~s!lZU- zuKj_mE*km6{{5#-DXIc)A0DR?7Z6V1Axa*%rI0Rz-ezzRrssZL$fj%79w3R@gd6Y*oJbz>+%)u&^>7$vXONWhIqp~P(m zzSCJt48S*i0kIjtHG()wel3+sd2NBj123?3aY;aT_|3f&v8MDE=T6jUhqbZBdfyARon`G z?XX4|JuJtT#jUrWu2|84@RMrAIu`?1q)9tK6V$6PXp(IaZ^%YC+P}$=DKzjbd`ESp zKM7lNe2snc@iyvf#|qNuae1gbt}*}=j)UYU)%8bs*)PQP zsto&wS<87@aAvIY5N~Ug*@5CC$u2Yg_iN>O1_p{{97mztA>{Lw zt4oq+B}#Q}g7Y>N!DZZ*3wD*sLWKqhp7{aP^Rh1C#7yc}Uknm}ktVZ7>o+q`OneWuL3CT{SLJ3famm=2FR>_pRJ z6moeEtB>iDz(sjs@#+QjYu%X5f=xh5q{ln}nT@V2oLZp9ELz21i_Z8n;l{d24%1Gx z#za};4OPl@*$PXjxI6G`Gmq4eAVN1)aG;KjtvP=Ld9+?f;XFX4Er~`+|BYq4ChFwAMxk z>iw2g%8~Uimm6&Gu|tlFcD~4f&c=*6Ns)W)DNqs}z)KtPD?fzZKw%MSy3Yw^Gs;V% z1{Y>-VJan^YuE*8?A3RH2v6Y4j0KclIPJYL3I)WF8Uz(7V%Jp>+iY}QLp;~}S zDoEiiLn=l!}6DQSoaVm=r+QM98BYX;v_ht*Es zQ6d&)&^~fD!NslX8s2Htbdja@<%z4Si-tgYvW5fG!Lzy-kthK))|?lU{mFGGil34a z&Ah}odD|IONK=DGRfextjQRwtFl=`Nqyy!M(0BvJAjx3{HNHcm8~#Kv%pbL*W;+f7 zYc~ySgq6BWZ;vk|*#0qSgfIN0&y7;J5^<-~@OiiISO5o77?`akM@GODbm2Q`-DI0D zPliUDmoyFLO!^@ge6TmxF%3t8p@g2{6M19yXjN@|I`0yT&#rl{HWKd_@K^-~sV&GP zf{#WSL@Sk)QM5UP6Q-=^SEdm|SPeVt1`JeL3V~d!SP%&i>0+eLV5)EuNZ~`Hh~zkP z*f`<|D+*?d&=AhB?B;R5j@YBfK5+NWMhyM%*)>&Vkg8>eZ8l>aDm?RKfB}LL*MAn{ z%7RH+$x@wj`dWe(j`cM#35+)$lLp*Ggh9#xt^RXO9bV+5J9#4$T0FltxzB<0-!xKG zX6PuFEal7m_Prwb+jn1>mYkE{i5crTp*t7hpS~r>K#-sdYn>nKx1jJL*U%v)vlh(s z=98$gmf>kG`Ln;NJdpaWQkA3$q;dfEw@N7R`p+gK?LU244$Q=H?GXZ{!QGx9M+2MQ zAj1QROi3BTwd6FlkR&bm6SQ&RMsIE>-ThAfgSf`gSq@dAxn@(XCAVJ#yte?B_7sKs z=*;fl28Iz8=j8M@C>v?_QhfWmoq?6S{+?U(kPW%HajHXRm{sMh0$$jC`MSM~FS8p@ z&2zM>ysVq9%7scicCp27s7Y26i{4Ey37BzCH4Bi@knX_%|LS)A&K0F#?d5b4T~CGY zqJ;fiOu@;pHqvxz8|q}0Dy;yyj`0R&d5|l@9%Jp7&c{S;J97g}lif_MVd`${tg)|q zDR`EQ6_nF5S&eI?!91nFFPaBg3x;+Tt@PBO#v~rgC6&ZMGkc>6tKBS6(Da`{JpVH& zWon=C=HPOWH^K$u@Hf@xDrCEJ`7F$d`$66q_IKW$7>8Ao&AC9nEYSJg-+{~)?s8P>V?M3zX`1kE{g$ zQJ7D3K;$Npg*o-7Lihiv@G|QvY${=^ipyI$U-YExo%5J;nI7!rVE#A8(YczUckKIK zYD40ED18-+YOvaNCePw^TiLM*TSUKC=pPST8$Aqf9m1Wtp~`qNdSPhR?&}P5%#UNu zKW+|x#7rvI#FozQKO9&WMqAi6Fte1Ft{8B76T(cp{;EG6=$ASDA{oOA+i+t5n%Jip zVP*j+pK{Jv{Hj|T4_4chNe{|wlKqE?kMu9$L$-tB^-4Fs=c`n^8~5q+GJvBG1ct|l zb|6cxMrR8RphMoo!pI1$A^PTOFU%t+=WSNtGwj@|O!s4WQkVx(w$;5~ie|-(!Vwsx z52MsF;bA~;aBMY}$*iBV)H2E2oHYV%#Tx~ERIP7qp6Z}(G!~5DTQ@9lQhR;uF&O$n zDcgbi=~_)YWCpwpeHa7A5x=Qr|DeVIQNzmq-hEHDZ!RLI8vQ}-ZZ-j;=I8p8`Wq!? z6w3cWebGG#-x-l>xar&eq00#VsJfyL!(lFmfg#Z27nxR2XUqGJV`0oF3eRv&6xq5# zM=f%*9fyHLF4NMPxTef05t1je^KkVgDd+W#zz(V){SGXN_dG zA7azC)}8+%?>CZpP|>_c&}>!4`quCI4fcm>djfNpp}|&HV7uUb6Z;p0Y@)X>KgK^6 z+}tnie(oxPDlK|q&_ap)83U+K9`;+#6Qx__)tD>vm+#81KDzK|If!Sltk|3b(@{QY zmQy5h^B7puZ0Y^c~kU7u-uWtu2d*>LnCx-(33Gf5dKE2Zr+Csjq(_b5_5Ty zLHM}2SsWkA{c(f7pVWrR7Px1un*Cjl?KC3CT4Dyu&a&cwfZFPts`>~0O~=SZpdrST zjLr)Jc?L{@HMZgB^1DxD8H?ZzML$ z;U)0P(`r-P3UfuJ6|rABcQ~qFgyb{knjWzwIFKdg#(m7SkGdMdOWXoV;5j-Ha-UX@ z@*p7uUrs44(BzXidoI3~D`Zf;yOWsXD6ocTVOPJ3ndA6bUQx&d;FGuQ0%V_ZRJ%i? z%R|mKU2X=ZdY_3DSQF)0LrnF2KkRPdiwqP|?D3(;mzXn~0tmQPB$dbv3(j)HSY-s9 z$SwHpamagD9FA+fLh_Fla2EC>7G4#88 zUw>Ju`jMD--(_~o6Z<9QTzfE@8 z|Noifk++2ynm5f|cO##T~&SDGBkF6@C4d?Rpx~d@6(<|o70`-)rEtE zL-1KPLwiB+UTzx-_CNz*!9iDK2<4Imde2$*!-NKq%vc6Pw}!sQ;REeDwjsj_!NdZ> z!HuEXNM({qnaikoM5}Mi!V(}RP2uQSy6m`eU~}5inj>(O0P4uhjva9p7Z9CKG&`Xt z%#B6@BraTIx|4OVZgP;nmr1D6K#n=caPS>y5L)MNG*8iLSe>wo-)PK^w=h$~?3&9H ztAmJTtreee+w9L9Ji#|%;?Bj$ejVPLuA+XJ_xpNb(TkIZ!SHH&XsSXv}Up zA0CDMmuU4Xn2LzK4Y)I@J}GFM;R((pjln#Mcm!{tbc`@-+zEDt*N-U2oC$kHX4(9H z;y>bIM1PCJ3pp3NupJ#U+2;LKN5VQl+yn$Ch5mhkZ2(u zHK$UW^&H18oR;a>^K_bpNnLnwk z#jN2TEcxjiZ=@-Tg+WB%ZlZ6f-;h}l!NFn>7 zya4OG?Od|A*>=PAKyy>>s|tWhda@RB62Rt|J?}6l7s97>07_oS13VI<5fGv<=yUFQ zTjFG`^Lh?T4-P(NOW!ktFx)b>!lEk16+75E#?^5FdicW*OHTssy`9mF+%Y3t&uwOE z1-r0%G6XU1FVdSosc;rm0EnO@Ku*r2&)^`Y5#>|RTw&s2HO_r7VSG|?f z9reB2kcZ~444pA&&(FO($-UbDU8fc%ViN-nYunu^jgNw3N93b;9Y8-*>I}73c2ZBh(fa?Pd^pxC$9Z- z>3N+`d00fr0laaXBEE5 z=IDc>AqnU!^tO)T2svUwd1VFd2DE;OqCka0(Lw^(ckOC+&*b{%AjxoIl&T-_*^8!? zxr^eILLbr8c8@(HYE#&qTty!bUm zGMGHKp7TnBNcxL%_#J5oAl1(2mY(F(FTMAk)y~5!>jDxS z^dG@Nx#iHpe+usVE%^Mm;2MHsH+R+tjbpoRA827U5>5L16p}H!N|G_TzkogaYEy#a z{spY`#nmhpcWM|6`}z6?s9Msw$s>&YEXR1Ce< z5CNE$G+Vy?0a_SY6$<+quh!$G(?|cj`$1F@S~!}^VnwyMkyQj**sp6VnYNaD8q}(a z2>ijTWXPNca$R4(ZFzKExIO^*9^>o2@p*`-Y&P4AXJi2ZSfkZ9QyfGBk|qyI ziD~DiQ6KZUZ`c(w%yF9w-ThDOYqfLn&-1|-^KQ$}BgH|v!~ZJg|C$^3!UvOKZJP02 z6i|Ni0B&8|po+3V3j@6FFF{9P=+qtxa8GwN146ql^3wYa*a+xnz9TQf@M~?q8x-b+ z6(V7))*BNI)?11)r*#TX$ISes7i1A%%_34Np{|dBr-)jnTX1*Xj5;$>$_ZCsMgtHu z?p=IeBihU{qPIzCeH1Ycsg7+2bOfsc-~V(pJ1egaQKr0 z+J@?5ogSq`Qy}e(B3*a>)oaeoMvAuygVegA%wi6>A}8Gx3*az{dlk7TNnSx@iLI1_ z<}nax_yRW4H=>S7c!o)cE7TXe&C_?m)bF&^Ksa##1=e?gGp*_f`r2nPm z%UwKa(CegUPS<;}8<+^qgCZoCxb2y{-FE)K1~md7>wzB2-_75&EPrdSp+L=J&?x%* zTfbzi6B*AY_J0F7DgFjHiueP-@y;V?4{D?XZseqwICgoPS)Gp zcsOIa%LnZ`HbxqSyju_}4VgoFS=XlMapl3Hl^)LXVZ2M_OTT@w$UgrX?R^ZXca+q( zZz5I8$UO{+m*(UU{IkVA|Mfj`vFLlnP7};GIE7%Q^XD)O2+I0Po=5CXWf6Vr)>udA zrFLlW&iJBQPH7cVz4h2suifI!M5}&*DwO#2n)%XX(10kv`MX#5g_+OFdh5Rp9XW^Q6jrnto zPr$8XH0nz1S~w87<9^kV=*@K93k}X9q^~k+S1~KQql3LFHkG^o^2p zfn4_em^Avm3urF?l^8b7il;55h*ZLlG_1YslD5Q21gmnB*7yBiR4gDWyy)LlEKx%y z+x0WtrXZVapS@T}yzNXzzoWW zB_R|08Fxkt03#D~P$2=RsmESIKB{cCVs>t*i=zY&b`29>)J@DUtE!esvqr|Z{rV$P z$Qs$e7074Cp|;8YUQq~PN8j6!^cR?FP-a^`idI$eSJ|D$u7eYJvp%6={*BRFTN@IF zN~0u+^Q)FN%Uu?42RjUiF)0Q5YAD)8f$vx&A|;}(;fDm35O$Pd=(pO5X@>&CY@xhz z&?)d{1%cubZtd#4)^fm%-K}f?`nL|P`REiE?qpGcQ2oQD4rPgHy?xD*FH|8R&h@bmOW(k@n9IztcD+usPXPiSkn5p8wqQ-yq{h$*B z4}}Rwg(er@QfBD`UP=+*AkvrlRA@v4taK9#O{~eVE&~IU%P8gJD&>cAML=Q0(V?l4 zmXZ4R+M)$P-)dr1=`B#H!7%_%r-lH{3S~;)ju?@#xBWKZ=&m8@IJP<}0ZL@ic>d(| zXN~S<@g4a{YBYB8RAnMcqPS(-kKNoD)9UtO(Ed0`f?SZMn>N`>`9-BF_;kGlbm(e7 zVAZU;WfZpZ`j>N=2qUOGn#Duck4c`A!M5C2FT!Jgbk8l#hwwe-6%92I3B_r_yhEm2o*vAsKQ5WXq5iiDMASc3 zg!Wz$DO4(J)Y!OH2OTQ%BI~8MMxtQ9x-AP_kcmChVZB=pK^o8aHoqjePsUu4882ae zh6Wd(Ebp*OkFiJ6*8yWEmX^7@4~U>Si6%kQ(~N`4oVKsh8@p`? znw6R)zMRa)+ zGgXCSeY_PdNr3Prc~1r{hTujH-JC6U0*Z^Q^*bPi` z%Ox*A3{2xLa(r02AbCUm=ed0&ub??zPB1W+S{N|=f1cadw053gJcEZj1a?awZVVT_x5k=@>ttj7{BYL^x@Y^q<{UY)J! zwP7Sy`C^oBXWebMuXe02GUW2o!p?xtott*JB)LiaAHAQMB)`A-zb$R(HwXwi5cltw z4y|1Q(};Nq*IpY0iTH{6NCe*8p7}Sc?m9YZw;0_~D;H|VUMQ=3sxZWbCl@;w{G2V? zmrpD^7RY_r_=sd@go|<6{2%JpEKy)9M;2Z>vTimE$JBe6bGEklr>DvvYOcRunY=vs zI=8>xZjm(HrSo31vOc^5>tAjMey#T3ow02=K2j_xM+9nWY<1y0I^2En)FN^)yRhz& zTWm4ASFN0>#NwD<7Jj>^ZFQZ*0X)gSG8r^_Bygt_(;^-1wBL=9-|n>GQsOcQzchK> zH~2o+DJpdK2x}>#ygrQ>wp31WX|Hc>DVCN7lcX|Nl4!)mP24;^?L73~%pEyByyc`G z`=6!8E$zJ#kQ}^~4~0#wdHeh3$-)Yr5f=&*r`G-~$kJ;tC>nTnd8|CVrtXNY7bgHz z9y1c5V#$%9yuLMV?6en-%Ly{#{;cuiu4?9@Y&u{ezy*v@+Kf=xSW3*tD$Y-TF3W~j z=2snZzs(GzP-(PpQ_acU5Q#mr?E0M6{9w6GyyRtJV1Hv&5fB3>@i++C?i5J5oC1juZ_tFIiLqPub{5A$hUZ=6JD!OV4d|_#;p=qR zOf81@2fJDhEi>FRnJ1;KmZ$3G4BUsz?)St}4y%UIj@68&?Yz0VA!in-s1f4hkmd^u zTD{3f4Gcz+7JfJ^(v3=pc<;69p{vFiH{Nt!yH~T}TkqS>*g9KpaW)cB&`sFho?2Fx zlFY)yzT7)?8P<4A@Czj|LHkUd6hQ+lCTJK2XxMLSD7Ma(GLI;?SC_F*q5EX}x>V1#GD)3aK;Lf({ zG=Yq;=LB%moyYz0l&{_Q?a=nyk?k#K^~fGKVyVXjD(>sO=L6h{v(L|$_3UnJf$WaW zr=LtUuq_>CkvTQQNW1OAZhObb#L@FxEBgitf-GiRQ#S-Hl`nBoW>v54OkF!SmvMeS z#|{@BCmz19Tt8daPw6=mgq=-+PN42;E1 zC}!G!^V|F$Fg@pyoW^R#1%;PzTSCmSCfbxv(xlzRP6sJ{M+qA?BpaflY=e z*10&}95{>gW8&SPpsY&)@g;$!n#hWZ6as=|o(3}3mZZn4$SdlnsO;MU6`!u8DY8EJ zg*93VWx3S33UCWW&Jq6dB%Fg-sD-JhMK1$x1@f_xl&#y^R+18H276Ya5AJmbFQ1`> zcZojM!tMHfi_wI8`||Nh0(uZGM~%X>0KG4%o5IshC}<({ljx3wloj4rF)tnD{ct`w_!-ClMhOXF%<}%;!fup!m~p1eQFmR zVOa7v^(7qxZVOim?z<<#LWg;o&o6s?*$ZpOnz7NmOagsur`@k!m zm$|+1hUX?>11>_j3a00_l{0Q;LPiHv!0kLodaU|Ix8jKBc017Lp=~|KB%#=8K-?iU zv0i}6A)i<(z54s%6z`$NN_Ec6)iiE1^fMLWk#UnEuTs|pNh_}s`*B_G?&W!ltfN~v zI_?J++)Fd}Y1G5;V|`<8hF>j{#TCvzM9zR}&TQLh2QxP~RWx=5K?_3XNglyrxhHf{ z(U7(qIHxi6T?n!TIAzy~*jiOq*c;D}!NTrVZHw;+EViyx*YXU5M+D|Nlo|)l<_ND! zJ;q-@b`^E(rRH=eyWmZm_FPRbd3gCS0Jl**-}S>|9naT$=?dg}##}h)p$rc=H3)9H z>OD#*Y%F^IZ0jTkIw!Q^GHm|JO3URbMm!juZ80(cHxR1-p)tNIP@Vp9u_}oO8r_Ge z`+JN9`GK>>fQ_$12T-)+>N5tQNlC`!X43QQcsV6KYD)jY%8=a%+=GWMuyik_f9|5G z+KG2rEhyEY`2P|14nUG^Teoo8wr$&8wr$(4?oyX++qP}Hx@_Ck70nNB*Wn4b~3L{Xz7k6y$6OP)|UWfp0$(ui`SIK%#O$!x2t_OKi0tgx>*mSMWYcH z^s`$-{-9@Uw)yvoFBWbJ^Yn_T`3KjlcL=Kf^5eMYE0h=>64{S_ct7(wL31N<-CleO zi1XQZ5Z$un5bJREWCaGK^|5;So5pAlswfZL>AR}IBZTm4I?w8K3vka9Pw%?bIoTfE ztK!do->e$;rZgrwI~Rybo%Uy#QC#01b(9XjxM+_(-h2ain56it~f>9plaYg)GG-?+bTFm~R~W?-uPW$zYqI2N0_lM0JJ?P{^K z`9&iH zI|Vg6gWyr;dai=n_k3=ov`afSM(1MAWB$SVT^$9S+x6@SrLm)F!p(I4F~ohLy|d!@ z{Tb)LyhpK=qv(e@Z?pBe0nbv?IOAeD<1GR|Y*msq5JJ}+T^@@MY{xq8lt=O1yHe#FMD#t%FQVNE zCuQ7Ke018MvL#hHr^%mM^zgy!MVhWW$!ZbxbV0t?K5IZZd#JJqeQyim0&>chNbuZ* z-<2bPd(w8Ux*xr~JD~n}OnW7d5E*QSjVnyBq7gvayxs5L6L<<`>FD#lioR3I8}xQk zw0Y^~-O8F&9JoBY_i872_G;IE1WDwcd_fw@SYhEm{$L_$3?t$Ze>}yCFEm+1bY;sp z5Omype{uRXKDzaDv<)}$moO6Qfv0TLI5RT@MTQJ1F;tk;7b1#7zqAKXq!2SRB+-#3 z0&Ep$Q`uL4IIl#!I{fSB{kZ3h=#k+%LHLILik~HFt zo+XAwhGQdYcR(&%GaG7e6;4bwphH-5qm|3TsmSqbS8-EefTlj$vdAxylNrg|9}tGY z_f-LPfHYnWv{{N-GlzWjQWu?!nBiofCs_v(YZHnMD#`+b%t{y5le^yJo9P2Qf@v#tof4I~!uo%O}9Znlygh$!XyZ z*vTAuDOdV`ug+8nzPwO#{eC_F_{^|on~QpGu$_P3Z@HW7YWb0P-a6nT33HRN-9v9K zy1KRAPV=m&>cdcLku~2TkM1GKVwMXfF=FRnI?x zfFBbgjL9YpuyIEkJzuVQyOc25MBJAMLOV$9b?&qA^64OCAqF2mA#xfn!K`Fff9v+_ z;jV?B1@B7Q7Br%y?>%fykU{99`FeG`%jj{LJ*y7hcLII``PLlTI|!1-H~R&cZb)&b zZ7voX6zij9^ZKWhqAp}pil3t{OAZ6w&7Md5Dn`5a-AU=vz0j`Ir(PUBA;R&RmgglE zai^2fXma0%5t7fU?dJf|DIpm8&e6u2RDaDcqwAPd_2h%=5LVLk+V1;nIEy?j&rftH z)4^hY84(yQyCUUF1iHdxM;pKX7G|iGl9ehR*Fmlbn5vGkrQJli^SfxCJ%sHH0AELDQoQ4 z`EKmtZC5^%pAai~@}HZT<9)x(<+XatIytkh2D|;eL=d#>7XOl(;^^>~)L$hlT|7~P zQfx+d){NiKuA_?w1$Vcjz&0~&ITqwQIIkV|hE;`+s3&Dqm=FHK(dmHC|$t0B3IyhEytJhqCd`{MMpy02mo951E#1FOJaN&49Ml zdyw@8E2iYunH*mD*v!`0m9y*0YI4sNp)K0{IHY>n+#3ScyJ*Na%cm|TkqQDL zEDn?MU&x+9T9=Dj)%$e#v8lV7DZ1F7i&l7)wK=ocGCk*lTg{7GL%0o3@hmrVK$)~5 zLMmF-(-rtGs+Gu4Lt9h2t8P_y_7`U2ME4t15IrXLs@cz~(Qi^_s$m?ep&jJ-LtA6u zw%|{IO7&g$sjU#TG|2LrEivdwxt!qun7*1+TrTw#*#^L z>Q}DX>ntZ&udk`Y zz8o8b=Fmv<8b*&poo3nsvitHqOtW6ne?ZdY%|R$s1kgiarc(PGaCh^~VMB=3b@ei~Ej z2-0~?trleU>2<1>2;~?9*Wm-<_EGE%6eoMdHqGnR2dCXKX60Njdl?TRy`kX)aPB1_Bac zWg0?Tn1w%}>R6pvsh%ddl4k;fS`>D{Ibu@x>zeKZ60{c>a|?x{k%=%D0Yf7fLnay1 z4@oEpNkTJwKI?#kVj!T3$k6$XL{g`RT31@3XBF0$)$mmteB^5d1BvMDKAQNF{*+-5 z6cPy#ew`EjnQ9nN-z*#)^CMe?2&XBg>p0<+eAs`7L<0VI$ct4AKuEXCze4gng)G)v z{3~P@1QLm0SRaC1UykxbF)@gXHMI>o)&})sG?GxHN*bf6;SAacoV^hQsi@&CX&}OC zXNoJ0D3GBgL`a_Jxr7oIKy5{-{k7#cVKBiwjEn`U(0Y(VyAUWK=U1T`UeVp#5U7Ti zFT!9WK~TRVyCHl~@=VLkx?6s009}EQqH{FM%qA;qJR1fX2rI*%xGaZfj_wDgX>Y~^;B5Hs zp;^)f18RRHTEQo|@el#y7Y3sUf!e=a{3Shmg!u+`i_I|KG4+OFWnla@l8q6a1c{TV z&D{~_fAWzQ0W+p>Wzf+E7yoF6Ck}{_HR?g~|DuA$+7^r*h2%dR3&&&lQ+vJ~3D_?m z8_W3I3Qt_0tL@K#`TU;;Odg-)_voF|uF=_?vk7c4VHl_yWhPr@aG}? zX^>8ei;lvimNXi5`4+WEJ=RJRzJQyoO5dK^{!H{fs(aip8in33yGo;dCL$bNoIPHB zJd~^dbl`eCQ~TCm$vIz12-(=*RpeX@(W^h6HKkr_s%TuP(Li~$HK`rsi}=}t{HgCF z&DJy4R5!)eJBuZ<-Q~^#R}&itAK$;=FtRYZc{#lqG`iCMw_0vc9#q%ZTnmLsi@0GEAr-L?~!x= zaZ(|C1T!5YCH)u^$K-Uwn+eC=wsuF!!usZgyUS;4dV5OF{k_`jT`9}GN`5>b^$Sex zPM3brO72q~?eU|8{l56_qo461dap4aW0^LTXJFCN5H&p=t^B zeM$9u-;yl7Yn#EF+1|eXa23W%@$Q{e6^0 zSXlqF_#COrC$a0})|4OW%M%29#b#a+$9HlUWx~gDtfc26h2fmdZ|?~hdyfFTp^Ma9 zlxRj4dOFr=Mz)dJR^j*oZ#P-@cYteYnceA`H!mB%UaD(7>;_tle3i^1yFU`vAj@BgPB z2VZO%(iZrO3o`A~$9uEeLdosa$NjxSSnlV+26$=(4eM{pKfdk?4Fr-s61CrYiSTR5 zPyr9X0##^LD}h!chn*04zaA`mQ~M|Gx*>Gsp1=Z z3j9de_APzo%_{n&S-!YTUxd{y>9vw;Vftuao?PtD1IDs!(%*A=Z{|`@mTmf;1B6DE zCn$%HTH$!6sNNQ&o6-&EjD5&5X7;YTH;iQ%D-A8o)QDMvG)0uQ*8b)Oq?{e+_z=S; z%IY#i9%lXs1ezXV34w-1p5fG^Ev`j`QK0q25@wDxO_cHI5{zl$_oZS8dTvTTO_(jv z(){FZ1z6Hecwmlq9%*_CIh8152^7v0rvO{gFv)U6!(c7HsupgJ&I?af z9|3wpu%$VpEOCYqTcgYK1yB(W@!l!ERhap4m<-bNIWPnZ{2Uw=lQi1_t-`fp3T3Dz zKt#b`82=J+E-1qGM+AV?|64@#kZ7Y!xBlM(nDe0L;Ap!D%r^>I&XJ}sgQ@?}`pV#o z@25&hhSyCBKR1Qv1jsSI^a+*_X8?nXhnx4LS$?Jd2H^82J_H+ahEecJk$6;T&*&5R z8^{!KM)*Ej0XFvEVx0f4Vk|Y-UagudsngT-g_J2+U$wP)&ov1exNk5kv~&A%X>GDW zyQj5vu-Ca?{7hJ=n-TPCWK(Gwwl>@ww|~xa*L!JJ`^a@ZyuVNG3uIm)Hkvv~IasAL zeXiLzkL5(kkIvsKoCQxA@LxWq5B8rsEk)#(!J7}^(u)`=JJ*NQbK-|qSvcZs2cmne zRVb;V8Qg7%h+K0E3c`U%5o!}vdc4%`w&D{~dtI(9d47IuM^AqfZT=Dml6yo0?t9pr z{g|3j3|&KUdmy+(XgVxYGdA+S<^a#8rM54xv=`oqDR#q>6q7j%{97Fsxi*S1=A%yV)>#URTyt z;9bBS2MC*@zF5iN)=Ww?85N`7EZos!Ar&6;bG{Aj(b6x;^Q6{}FzK8-WmQGsBYIs+ zoFjVEx*znk1i(i}wuDKTNq!x>(&?lFRE{o(`kwL0#dF4KB8W6GLaI;zRet{tqi_s7;xG=r(N zclMonc@D{AwFFC^92`CeU~6l6qj!&8>>BAnTP4%JAtVz!oU^aWpSUbDHWJYU>hD-C zArfn2aToGGL#_0A4#(zvH!fNZMah&TnW2i;&ZyN8u24NFonH5W5|k&=T(Lf;(h*l1%xgt6lxSxZ&z zm8tJ4s?+*ug4Tx=DF<+^Fc%>N(zT1HLx!FUgfYBSG@(A<2&8MruV3Na*`{wR$+%| zH1YFg!kW97_nUc0wNqgNKf#9ykB^RkMQ>my(4*wIi2>PF>LEU_m@A#vco&J0lXGi5^xX zcgsAHlRPz)hO-tsBWNJZw$)VYDSy=zbcoG;Lnr@>?*aH9%fHgsMcK!q&wW=SYsihHU>8FC|jj3~o4w(>vPU9q}8UV_GTJV&VnLB`TVu8f} zpiBbtPs&_rGv>DX!x@Ggiek~RWD4lq{1*AYBh2P`SVd!uO}H5(2(vOUD4X8wChIgl zmdVR#d=HenRGU16P$ri6uq+^*uO#WMouiZv!RHPMEgaxW&ku#7zi_Sw?-y+-=?L0m z*pn%#_oWv^8ez=hNN#Q#6y3B1V{I)de!rPQ{JeDr*1(q;b5n<(lm@v* zz06HU)13nXCc-5YkWr?gJ!N@IKf{}taz(NxT1=u`jHVpSWAjR?P$ix3P<1x*e==*J zhGk<+<=0yEv+ObD2Su{uiGTkgxkeF{o%UW25rhlH`NBs7#VIU!QU4Qu4`MgI77bst zFoAQ*F4_KaTtJ#;+cD9}<2fYvXC-K3u+n98(BORpyxEARBv+i{#C;lqIB2b@k`qjn z5Xn-t;DvI!9r${xlqv0Om+rQ<5om#x^)sB{z?rDJHY$0RJ4&$9*p@+@Bhj92$hPAs z9tuJn2z2SsU8eyexZlry;3zR)Jo=@`@$6X`824`Ozk}G-KmQdoetau`>JR}M5=Gu) zehjeCAg6xV1Tl#lqotYcP{mRDqcj8tpp;A%pj2LwA2iO9C!T&=650YyL3&%;_z{x~ zPm(J&pL3HrGzhc^K#ALZo-US{SG4~S6ho5hY4L(6*|BZBtt)77<`;C&g^drI7wMj( zs-_baZI$4Fe~`-gfdWKNsuXy#j%pW(2~w(~sCH_+qv(2SoTF$)YJ%esJd`w776j3r zYe7V0JW34eFf%XK&^hBDrx-*W+DriSCH;dITy8`QnPOIRSP~I6iS|}iBqCJ@_9zbS zP!I%mG$74k3s-TWLksWHMYNvbP!Pzn?o6rw6mr)hC(8P;$ej0}ni!H{CGx(f>vDli zPaX{*a}Z^~hRy(yWyz~*uqq9N53I(PZoY#9%=%$=3jb}2cn^p=&e0Pg#}NbYbnqES zx;V$natEnQ*wECdNg1v;?_45G`TM`al9Y>R#iRWdmM8t7{AV&9jgLRGWRfzvrCx<| zh2Seourhc?YGovitzZ)zO)jt`S9Y1FbwLoSM7;(|vFZQUXI}RKOPmG~G+BN_{~!~E zEh}Z{(9D0u1xlNaH9jH7i^1bUD|aYKU$~;;*jnJeJLR6{qwqFuMi7Ek_6*H~$DS6M z4cb(uH4}BMKjH*=FQjE}(=gNZ7?vsoS1Q~(qD(K9qqAy`%s7ZopX;uX^2Fp(*K{M% zbcAbUT?Q+!c419HI^~1Bk}Ok zKth5L#znO67ben5f{>3pLSDX#>;l9qGSx3=tyZ>?o!c13Lv%i?mkQ&8;S`ENq3XMj z@bW7qX8jh8($#0u1=K_hmHE zP%ap^kW*S-$8>*)t@^3_k;H^w2#~FOTKmZaBZ15tH1ba^-u}M>WB;RM?zae_=p~iM zHFE0pa3yJFp7>#|z5)*(NMVNOagyY5p z1$Rw*&V9r__I*V2DMkQb+p5pARr5w;Ai~*N=b+UQ*PweG_m+GXu|mqBrACY^Hb$qP zdse1d;Gl1?R*S(${S17Gd2$8~nxy z<{5(5nPU|=+?b!Av<_&ug4XQe#B0DkaNe>LF2GK0E4 zCTlElt=``c%G-4#0{p#k-`wbTsRor=hLoQ6$C(T@szNH^G_Y$L=p3uILh)y!zdw1U zI;LPBtXf&DJxbgrWrKlTJI`z$anu2Yw#$G*r>^DrtGZ_3%a^YCF90qnj#3YPEO@?_ zg-g>=RC(4cbFS&{tKr{AZ}D19#rzgF8B0CR+j}l<1A*mTzGWW+U`qeMl>QB)Ctv!k zJcZ;d^Y~R;>tLRYtS#|Ic7w z0H7peSv+|u;CG44N7;C&aSl)w@G1C-rwxgRT|4#qY8?wql;H%g4ykKkf2j`mB!;$2geu671TkzI|6zIm6C5NTnu;4dv z{njJBW%8qBhvSC{!_CQpzLQGan5scKxcqIxVsMjIsXW!;w6W}__q|!Qiz~Csyh^Kn zKlBoAZB>zka?In`b`nl!Z4;Qh0GdJV)%OR&g`YnNc$Z=DbajsT5B_p|#p&}=l7NI>$S4SC2%bvsZ47Wm{+djn54xwW5JGw;Esxlx^&Z>g_X<@CZzTTa;Pauswb%^|AeFjgycR;bw*Jr zV4|tCaPNc`=Jt06ITD3)FsGqBsAv7Q`V*ejhFFNZJ&Qw)n;Oo_sGFP6UWwZZ)J0ML zkZ5J%X&yq*m6mdjDh=!sOq4FfEYKNcr13WD-Gk~PJ})aRKPzbwi%vzJN*Z36n_Aa0 z%UPL(I&@xFJt|@<3jY4#-6nQa1V1Ij9UrL63l90miX*ZI zQqJ9SKFe5V7DT`t|0zi_0Ua%_sH|KsOPW_!1r?p=nD2z+ABIa;gB(VM#De1wxCsL| z+|NRJmLPK};WY-|y>%wdLItsdT#Jnppg>0F(c<`Xego~Ta<8S}L5SXco7H9u7>L7o zdcNPoU=QG6f{YeKaIUsxv;z`t6=%wwfiz;yl;9q05F&-zH^gcv##<)cyMkfeuAwTg z)GEnROj-$YR&JZ+Ix14sCY8W>+q`2)o+CB5Vp(}91Eh=Mh=6pF#S@AR@u6m}yNUQ*(ul}d8rzc_KQdN%oSQ&Bp{ z*-#crzyi(X%nc$AhGnxx57*f$%9|HDqSb>lERzaxGmCIjQ`cw%C@pFR|4m6$6c0&5 zUepyE`$)9tJ2c?nK}GqlEWc0nM8csl-Wv`$OEkIn^ph_0TNLFx3bMdH#t7@6zciu{ z{gVYoaw5Q)BhmjjJV>3yf6`j2T*YKnG`W+<74BBBB%ar0E%OWO_Z4sZoNrq0A$UhUQUw~`KvzBH zXNvdB@hw73yG}G7Vid})0o!F{YQZx~&+@+kw@BKv+f>PE-F(=6e#idu*ZqK0HpV%Z~Kt7G^?He2ek|Q<(T|+-H0Sd8u1-LBnBE zfg;+N)t+$N0zbwzFgN&LuO&0ILsd}j=>4Fa1_NM2J1UO2g;nT4rd{76^KmOZ?if1m z;<902XYDqm!=~6~WI=f`aTYDif^fkfRH)-td)Us04-_uAW7K2i2}*G)_=k(J1&%}A z`KyBRg<5=YYaj^se-ZH5Z9GgOf#&-c0g59CZglK%C$?-a5HST=veICSvG|3|c@d&g zqEcybA$hl;#{);@1gX&Gd`%&F2_xMEQNL%&>4b$2)lMyE>39pw!zM@KF)PCRoPex| zc5IVxOeQg8_mdWXk*c^y^vep!qQM5|UJ?Q{yRkgnRzPW{`EHMl=~k^u;R z8B&r03g9EPk{QJMl`lGdc2(3_8!%4X-BPp&&M?jurT~{D?#7w!q@}a#InZ#&tnMTi z5&~SOB&_|iKE8K)RuLD6$}F~*!7^m@#>GW8P-I+h{-A^-xpIE*N}ZaU17c0d=Y1n& z#0Si^wh^*ni*(9->A8=3mfG|B*Euv%YFY}}RK9|J7;uy9HjWBs@*O$15a5})~uE#@G;v9+OAo5lY5r7#~W z{9Ao;&-^seUlo!@#?r8q7exa!+1BVga*0<5;+u2 z(>>w3v7S1~vm~^Z#`&c# ze=$HA1O!7Xb%tt^g!&HKUkq?IM_$55CQaiT@kVCNoCGFl^lBj@U|2~~YEP0#0LtKv zDsW7RjZf)fEpq@QQzXd2gc%D>mthEu^4oYQO;f%7e7eXYNj@+Ptu`dO21Yt%p7Fpd zI+mNkI{}3wT&2m?H>Li`g1^R9tZ}*V=^ovAdkIFdJ-SEHEVF&zCCxZ09)!D)U z)Nw&|`@Nr|{|C(U@WmzGwe)Wwdkk#I`?V;!_J5ONp}V{DP0W7#{2wjo3I)UsdO?AJ zPN4s*VUvrQtE-j0#b5iZn$@?Q*SXMoc1jJ~_ROJMoMaEE&&cYwejyS_Ba@@0Go2|`rqZ8 zsPYdk)g#4+5t`bH;#Wo};6f~yn`6&)%OqF2QQY*+Y|eJsQZy?z+QPpM=pVS9bP|i{ zY!C)GkSTGnj){WTl+C(0KMcBw+aBe={zR`on7X(c+>LVnrL0klaZ+>wmy|+|6^J>M zt`HZ&@Awv2xU!0g)k$0L6ntznoAojU&r2DP;h7gq@#2^T&bZJS9hZRycPuhx?j9ZW zLP1V=xqvTp0*;lb#GAzh6d8Z9i2@6S3m(Poi68?3mVLDlO@WtwL>?^%ZllclDjKmV zeYEwXATM~5ey*q~&qYl7p(Sp>db~@Y{4?dNKi$&m(DFbWKA-if(yGAx{4$QV1bp&V zIY-?4tsp`}i-hEM3^Wf$kV(BmS#JV*8;G^sOmA$y0?NjdJW;qxwH3HR&3OA4rm?z_ zET2GJrLC0_<%d zE0MGfEFU*w(iduhyBs;wCHVDt>!kf`@&kut31H){PB74nfm+^PFyS=`XG?czEYS&< z=cW*xoO^eJQkl6H-EHs*WcNpR}+yz*J% z`MD0|H}1e~jJsIl7XyI@POw<=Sd)&rUyz#aB5<06++56Q3pl%X!K_)CRb&>B{R6lf2r?BR6%RHytGu=__VTJ|d;dnn-VylfYQgiZDi~d^f#X5j=DEd0(Sp%z3(JaXn{ zz-FlFmtU+}99W$X6vSu5<=ehE(+s;(`G5A?vp}ft=UpzE68;R`G8v(Q;)ROF$hd?_ zy4onxuK<5R5DtqTA~7y!X^=WW0z4{t96Krx4}Vn?Zw?pP_?*%{NFaMlzQBp3Oy3H< z=B@*2mt6LtU`;?u{Drla=h|WjRGJ103HrV0WPXaExtq;}B z2_7D@m>9$6<7C6`4*Z{vy>jQdm;f5uy}|$iq5Ru1b3n6IRU>2DzgkdkrS#jcGvST= z{2oD-nk8+U*o=luGZNA?iGb?`go;;(u@QeI*gpUIgV#2e>8ehu^T968^NMzg3^)J^ z+f_sol$iT-=Gpl3;T>PQ^&4FSg(wY8+s{56N4fz}<|6MyUc#5|$q*Cj=w~E}0Mwmy ztUaFYon$hWn1D*==%ooe&#(>EF(W!L!6X(PbEV@^ zrXw5N(<>}y9LapqG8=Q&=Llt57hbTlFtL{5fa6SLOcX?t{f&_^djn1NA3riUxXnvG zd`2Khq>ELfm@y*+3l$s>H}VcmIxp7xv1G&^JUM7AiOtzEs>!k}m5@v-0&k@=4W&{m z=}seJqB6>WSF8Ge(9E{(eFeXoDtFKbSS+pA^AF}e3)Hb6DS=bTWhtm?HMQeDsLvd7(~3dy)PYQH274)rYcSQD%Wp3W7ydSLM}Z<0UNwQsfz)xh__E;^(IIxZdbL~vkJ2g<+a#)EOQl3~M%Dv= z<<#eAv{g3RfOZ!jErSpUnXpV+Y~8*|=YjN!ag!gqzPvRDwE+c( zR_q37Ch77)5Kq{%YfXpO4874jn4Ks|n}Mjo<(2%b@_VYZO9pE-w8(D!9p95lFmwO} z%$b;SU7h=_QJPsoiZmWgl&(N__Hj@kn?VRkT65`a)g9|z?d9=tGSkYcB7+V5M!$CD zN^QQAa&NY!Sd8`=?a`-lUP>wsWS9*+!F4j)c}p@exgVS$G8 z0#^-H?u*C*Rh^tg;f7s?B@T9mIltWJooAzckrjodZoqrDHwt?5ncxBu3RA(MIkSvR zLzD7cZQ-J1)>kKzm@-BT(*j6B<>l0irY&f+RY+r;JmenR~`YRcHzMPc^^tC)&>s|DzypZ6&A>Q z3UsNcKx5EEj?+M%4~n@@<~m5|aw-DO5bzjO*?%od>@VhrFpuw;J8rBK*2e5nM%{eT z5H2~I64G|$iDMk8JfB~+3e=i}CAA^$JN(Q~^@7SwYWlt02nJ9RS!?0O&K_ZuI zM^XqA6CVqv=;Df)Px1yD#r|n)l&K^y0m9dp2kKN$4Cziab(*=F7?XoB!5|{tc)I+3 zHowSmP_C&~#I!?Lxeb~m1Jk}Q+)uw=eU?;e%#LbPSnO-*)H2>^FkA^U3EBhRkO%Q^ zhD>Xkt%PPLAyd2f@=}qsKCj@ojktL-)5L2xy;JaEPoo{V0RDY178Rn^k^)Wsijz9e zl$hX;{jiSMc+CdktwEC&yeMn)0T>r_rS1^faj1f!uNB1Ro|)(0Rt401?@c>pHf)pM zc(y{CjEoveUpIsWJ1X6%U2a0>7CH8YcEnlyXS~)u6nKAHS(KI1S4mg? zH1%AGxc0s8+?sQn(Q)0tH4^?hoRqhr>)@xGF>*G!Ryb$LcNoc7;7{9Yy`B`M8IH$_ zg#aQxOsUz{$pBX*i%#1-m}b*3R7jMkyPZq_oyMT-q2u%&EhPm3ll|eB1P>va&SLoT z(!_Cae!=~BmHm{Yu6CNm#bwH3@vA$la;0!A1<6?HgEY^>-&Y1_$k9auve_?(=?W>5 z)N+kDR+Nn>D2HWCa^TN=Su@U28qQe+$Q`pnqgttTKE+>K3d@+vQ)hoQ6;yXotq%k^ zlx;;Ub7Hve2L`q@Z*!IuQSzm&W{))GMb#o~w z1+BK#PO*8)szIHHh>DaO+X~~-O>SYhg)gb#IG-S|Y*w>c(q7a~{-qXqI*znw$tK*w zB<^8M)9l7(LeuF=g0$h54a!7@+5%eacCN(3lQs#e<@V8M>R&#?qQ-c043gsW)1k~| zPgoKJ^9PJPZSS_I>snOUk%Cu$-rbzzgm`6x-WC2jLuo_S#`S|8XC?la1Usb(l#aeU z7FY#W6a7Sxj9DkFuI;b%u7xz!Bz2&MG-^;F;rAN>k=ODO?o`VC8C#h{HQCEuWfn&Wb88IZB_dQKVApv#D&0K( zLk}3%Od{IC9-dmn)0inX>&Ra}Nvst|P74~JQ%I0) zxPR@~R%Hi~(1taK5HG?#fA5l1F)8su)|c-dnv`UZdp1ks0fr}(hUT1ul9${+G3JXC z3C|e{v{RSnLo8=ql7Nc!)N+opK(HFx5hC@=77-ySDlmFlD8D>1J&|l!on^MM<6g!N z-4n!S)krmo(Q-{cDyK0=*db#yq=ZN(jWMMngCocmGiD5FF=$svZJGngP0=`BAUC-Q z@}@yZy|KC+zIn?X*DpTEH>~6R+)Jl}c8=wGuhshv`OjP|$B$>F6!3)y0mxqeG`%-* zb8&UB)3mc?v~o4G`|E43I;tLKfC&xgmyg(Z!gvW!7}|m|5+!mzOpVmbIz&QOLXq+3 zc3AJO`!~nYV>`JI5JEN{`BpJ07e^ScD{*y zJyQ?J&ygT@yA_C=EGx_`sPZ+RP(ap%9f>RBW?I6EQ9EQLw|fdyK(Sf2@jrjL*!dz> zwh2+h&Xtu^B>SB@J~(llTdexpClj?eHPMPQodXxWTo-=nw{ADJybTu>BEfEFDs`wH zr$?ewOCw5|4C2;gFv)RixHh(!&FuJ?f9@sjq*TEZC%reaEy5yz-mZ7b=nBN|u<;vX zq-p9zG2se*Osi*$=s(6@m7GEPP?uAaE$>tpcwc!3`R9N(cgo7`0R$TZgk$|f_#erC zb$b76RI}si?E{(6#J=?m-0hDu=Yd(Gg-HTY+bl`z;k)~h+mddGMpt}z$?>q8jDD+e zy{eap`4>2gHo;J%@4`y>Sbpm9pkCt;kN?kZVx0MCE;@Yy5lrjy#T?0 zKz2uPlsP}8g2uq$%F&4yZ@{??A`2)&71*MnLpXx zwC0xmJ{MN^PN`tLxNdWJA{!W6Q-PqmUbHxA^F0s+R^55-7&Fu6wak^tG;LM3Kv@K< zEXvo(XjI=F?hkMIH}KzYH-QP;2;pch9M^$5r8^>Y$1+pP2OqyuPbn^cDMPQJp!}F^ z^A)uE-1~@~c}3os2S=f)Ev3@rS*N^RU6)LcvgM8D3>$bz+1I>Dsy(!uDxcP%#Uu5a z8J_=&ziX-yzRN7FGRzum3#n3>SNO)l0dsIS@0O*wWuorXRU1YbR=yhn3sc;IZWD}D zyKyM)M4`A3PN7M_rlB}@IkK!?r_}GHvXswEs@7*IA(cLL;e0O~nJ*e96EQ{1O5i|k z%tAYZ5mpw!EyKyheZHI|2hK?@brqt((W&6K^W!1i&x;)onvvQ!J&cgNf!InzjYLMbAD5ptUofPrW=+)-w>JskR)0 zQWP~AdOz%o(lEdOhV@4+UxNa#4W6GI3!HVSGUDec@9x3;ghXH7t?%BQT?i*Qs(dh0Q;T_0+Jq^8)!(cBl zMhN?Cbe{EY)SmuuB(|?0aDArda@tLK!zoB)Gc@n_KYc$w5t<0Yjl;MS%hlPV>t8T# zz4Kt@Sx!Z*Ud%yQ%X90|RU-h|Zm`ogii6GLtEo(df;I2;Xs4eFvnCi{cBXmmn)Nte zp?V-F47!i2ogj{t*e*^5GrYg-V0Yd&t6983)gZ{$ghcCQb0_wFpL$(IH*nYR-ogLQ zb5arW^|J?7P8<#wcMky)SW#d1m%HArYxCWn0FNFWYhw0?z2|{#du?5wiG^VeHpXHf zAM0fe#MAZY6Y}v&-}O|T5Ih~zU>DA6ADoMgVLmp5wV?>>6nF3%%6Zdm}4b25Uz%iz{^-M^rU5{!TAWYP)G9Dta`? zflijbB6?w35Du&Lk|d5I`dX(DsYE%{3<{%f3n}v1@h?D+p?uz-^=PWDSx$;`0X)iL zf)bEOuxMB#B-Xd=d}s!sx0_o<(27Cv20t#h*4}%v?zdcKxV=v73q}hJ250Y3yr7xj zK+W8R9-4Y4?VD>HxhkbE(K%d!PFvdt_JC|aEa4^!8W)YVJ8avfc3|nE0@%hv*iv<1 zFuC#2{Q|A`I-Jg+n9vXv2sb}#Nv8p`AP@z(#~5ilZhR}y4e&S3Bw$yIS^ZhM(D;j= zqB+FI0b|oiE0tYocRb0AYHaNCw9Xlk{Z}p?ajnF;>Zzu+3j5Xw6Ju290RgAqGA$YL zjK?kzp`^~XhrUM^G9!i8azgxcEzkD^Hb$u4qD)C%B3Z69UaurYpGHqg`#&HVSC+5K=*<;h|j%) zeu7~qMBo#ykA8xE#xf|P!^ovg&8V=u<*MelDaHv!)##YOA8U-SMHTr$!){Td0+qzG z^m}u=?lSDC?-3F-8Qoge7>TS{e3;?YdSbENG$o2rDO)DR>z({5t%n{@@rmSEyd?tJ z!cNv@mV8}$iR&-`sVaK-P{LDpxT%#jZYFRz3Kk4X2%mooDQMCVgfb}roEeV9vuigL zNE_?{#`2c+n;_^q#0obWpcQI_r`cD5?C46k8YK-b+=U=X4CX}du9G+zmQ=JjVW#-! zLw=T6w8G}NDeSZhN$uPkx35G$Xu=FtD|Fye9@pZthCHwKVR~Qt5>IL}@H-eRh;tO2 zAq58zhLRT&FLqX*KE_0&24D7cej5)85a`bxs>F<7YV}J{ zBHi{ON2I0>JjCg^P3aGw;a?0+aMh?jg|C^BcekVrYEDk2$^WiBV9js+v9@WlZM$v# zaht(_xK3`5+8X%kw=sUT&ku>(nt5@|fB59=;P{igyAtQn45H`@s-GBv}9lQ-Bu&v$LgI{=NZ^0mqZm3i=j zmR2r5S8Z8B4pCm&J6rs&kJ^MS7SJyu`ie3uXcv#pC#YjjN;3m`guT~m*4?ggRf)*T z6E3o9E_pgM&Mqm2Dg6O`idnu`R_EVX&l&tol=CpZw^c#*sQ^p-a+@?#j zCQPoLHP@&ID6Z?-K|BMqvcN;1CV+%W4e>>n-0pt=v^i{B>`FA%E zEatolp|T&-THnH&`;3V=;tdJ~B%?N!671Ns^QM~z|5>F$1(TG1S; zVeuz{z0E99D{f%;HG~OFB(-xCvL@*ucKRs+R%H8K1<{9*nP$ul&-aPAMK-icEEu{$ zC%XT&hZXY@GS4u-U{89|-g{d25^wyIOa1XvCvHzW{A>#6w6}Ma=d_>mJ+of;cKedF zv|gF1wwa%%%-Ox{+@9)dZ<-EOuQ|GH(j}wn%2MCAk5qqD-IY5S{r>a%DNj6ti%-A0 z)-G4~U(uidu3SGhg=`MQ3)d!J9< ztNm^N_s!|U@n2;utJZw4xc@T$T+Q#h-~Xo9Thu>%w0?i=ufP5F{}+`S9^jo~ml1n| zrA@U(xhhKhuvu{9#1D^)N)LC5y^LMm)_*>F@}$I@8!D^6PvHD{u2}ii5$BaNh10+J zTKRhiYwg~8=+^(>ROVLIS5|y4W%4YP(_4NPJoVx$*}%W7iA^eFK_gb;zj4R6L-qmQ zj7%cTpy6>2hCMUQBi05joj4WPLOlf>a|3ldV4wjg#=sEm3>*wj%`1rysVqn>js>;O z&<&_m^LF?FRC*6Mj?4|y4Wt_wj{%Kz?HN zBJfBwy7n)(Z;QVMYR_R|U=TpjUJn$3YfmgFz~<_Ndza#Yqi+l{Jm{9s00snj<^X6! zX)e(3*tF+0NDCPOEk6ykN(RO9Ex@Tpuy%;gkqyBb3cahvth@CY7~(=%8Te65QUHb~ z*rei;%A8d2bR~KipdTm+)8D{&!wN+++VPU;=Ah4$BFynDfSH3diGr>jec}b7-Mj>< z9c>y0-30WB2!silrBD-4rX|qzqmLRR^#3V`>PH_#MmGYz|BW!>YaQ0!IJyDo9bJS0 zXX}v-z}D?WHw(S*h%oC|1F~7DJxO#^(7Rd)Q|>lGLj|Sdg{~jHJ&4d>(TbGCP+Nxq V-mJhJ1jaC$R{VdP$&Sm+m;wIxxoKOID@b@ainFoXA5w+>P^x zY0M~xz%a+Ar`-7vuht56dN)$*Nl2a;7^G|EkwX@F=dI^5pIY$jNyU=MF3Ri@%?-d* zH>Z2Qo8ks%-L3B9H^K-$6VKKSNYs7+i=wHB*2Ewg42Dw`8ifw6%A4WIX{T^dS3Mf0 z*=6{&H>&LVGVbd}{vhEemHD#7Os$z=lZMdh&-*RR_*_H!i*bEizjKZ21Vf#ZrG{he zYEJ=*`ye6!?fVbAZf3VJEsi6Y+LDNCHQfyi>);e)lcOszM2f$ZZ|O@>eH zx;jznK2}G8GWec%5-91%-2rqobz}w!FsbbA(G}i7cYSwvbOq6r!VgQKhIezb3U=cf ze#59=xHLp+RNKU&lSVlBc-|b3B*=YkvV-)N`6Ly6+9i#IX#GX|z3wkip7uXNui)Jy z`B&b_Ja-iCxvU1{n#waK(doS;66K?J#eRJ9dPFQLdnYN}^SoHJz9%wzN1pqHrCP={(Y^8oA?09hURxBEHzA3WZ$SEnZIl(d8m*t z-2H9*w9pnTXGarz%*rUBkcTwMFv<8<1 z-|kQ5uD%nbW1AX&LxCb{PJPF1p-C#tuz@+CM^|?`BUULcX+&=)gHjw+5|4h3_?cGA z#fNDY00WSgZ{+$~RMGOo*6r)PNaJT2V?WWO7zcE<6h$*OT;6;XSx3xk3E6|GsM460 zbez`5Hsw!xWf#ncff7n;hVGQtFca+<{k)d-f<-gUyYKgzC@ChiJSQz&HUd?A9j1tX zvDPG?={7_!`M{0L=y9L@GeMzW5Y?DN(OD(sYTne^hncNebyZLsy*$l44n*u{u4#Mj^ z4NZ`y!EwPPA+cxvW?vC?uwPeAaMqqOrRe!85`%irx*umRsV(_UN4vvS@R1OzGa+Tu z*bL+sLis8BYq>b*zD$y3G^-Zo9Ez)8r9dX#!=n4??@t^SPZ3v#UeZ)Z z43>^woC6+~)c;X_(hzEPsSG~QY1eYZr&aL;oAg?D6$Vn{dZCh_{*dr9!mx?HcW z;vR$QVhaTZhW7Wmd~|U5qb%xU_N%OD?N1C)2A{uL!HTKi#RV*g%}A`{SI4C{&5e?O zh=pol+X4DKgktl3VYvwts1taqAAMRBvw*Ev{G@?B_K-WQ?6{85Q1x|ae|6%3+!?AA zx&&Ku0NudRXlk@#9)=12bBdO7<){~VoyqtGF|32L62sKz6%^5pdauGZMF;QcXLC`h zU#>Ox{pX3w4NDu}R9Kb1mO;K$eJb-Po)Y4Ezk73}laz>zA`S8Jg#&8Lqs)qSIaC@~ zfs}yFxZ`~M6O=Wg*XNsBv!CeMmUeo$g0mE&$Ha^dm$OLs{RlsBP4l-zfzvnA4rLjq zw5wpaU+a(SNY!dfv_dZJr7oH>P0v){FwKe(~@k#aCQHYJ-2h{PDD(QH_}(YDKu* zicaY>IU_7pGge*pVTZY#OsH~@hBArh$%KS}!IbV)>)=3QQP)6GFA_V83m@H;YC9O% z0=@^Jfljay!c%_ls=GsS_X+<6jrqck?O^M{MF{c84TcxkTnA5_d;)L#G7>RH?B8s= znVcv*p|wdV5R#6o;bp57o7}%DD^j5JzN0;j<(Y-}96s&gir{Vj<`>C7ZwyqY4+agO zn}Uh(&mXKCz{!jS^s9BT11(O!?~Dl@IkjD0w9d0C<%ep2dI#d_cMIVh0?>U}At?oL zUb(a%VpkhQ8{6Y9jT>*f0Atbpb1^YwYz{RWM!wb!t$HIDLptQcPzn3&H+lw5v*a=C z@6I_d^?Z#oPDmO;xjB)GW9aTHV5cjh1C64J3`v)H{pZjmWg2)UzMb_Cni;lL=pez* z+xMo#>3$hBXSW(-{eiTiRubS^HGA@-L0%R{H?J8pRk7IhL$hRMNRqOqhF8WUdZP#b z(0y#|IO#x-a%m90Z7G~q@snd?^tX3h-u=)#s5oUJAu0Eh+69JTH6jNe7u{vL(HzHw?di33P<6b?R%FP^>%Mwg>^19%6+< zZ}DFTny8Q??3bapWpF9>i;ruSOKjJSf0bRoFJw_uFld>vXno23!K;^jF)=+k`^1OC zACT2UKULhx)$uOnqdZ5uDE!rAo;p20#xNY0V!0GQ+7zzgDOc{pW12>4D9p|&n6ctypXkO@6hj;ob(FiUjETM|iGX)72XyU^_wnIuhbwI%on!cC781pf} zo~UYBA;8cO*jbgG(lsVmyURc1M>W(qilHeme&Ks3W-M`0hS8h~@ojOXJ`5W*(n5Wj z#%+TTl>)o}bNRYlw*L*O#A=3wG5E%ry;{x zl*l{B+5Ba@y_PIXMOgr!EgHi7>ojTai(A=2(!npTQ8K@nsNfpT{2g>@;7oNto}~1% zv=rJ7l9)CHvO8Wtt&&!|4}=qLf=GTSQdpS(+-D_(_4wdZcx-g*f&LNV9vX1AY~)nv z*x(`B7<`RI`@kh%dk$qL?Aif+mlUM>k8z16sU0=Sd-NU<+p+H-`fp}sCx|^t-wK!I z25CDR0#vPI_X@zrGxLR}d}8UIojcU1gS~#JM>&2!Rp`@qdGX(lwd>+ZGGqd{z)2+E zZ$N0gD@`h*8*V`|6KI2?sdk?g5F0!&SxNXm>Ac7kRrx} zTRGfe2z+MjTICV$e%n}2l>6AaqQXhwH0*rm^YE$8o&dQJ$8ev2#zR@mq)c3ScKjL> zy=mu$_Y2QtKJkR|V_suf%DC~+OxgID6+5ggci-AM`@vG+i3e09O8{c9bK-ta!P#ei zOPZHW)XDVHWAWul#jaTq-V*+hX4*3$-d}D{52%wmoX=5tYMVcAJwu2DI0hd9@3jHA zn4PK&L&HchR$Gx%D=&r?rDVU^NmqfAzdqH)&+BW265l6TfFI8=-T98ff zy9pa!>+6|>eosaC&t9+)BD=y7MT9$iMA|kgV_NTzg?i7wVfd5M*x@*@6l?AqugUSQ zT+dWN@jV27XZdHYBg=3E!dbw;3^ky^Q2&){=g%It=FY!Y6VM|{{El?3PghrNp3(CU zyOiIQljYG{5ajjI*t&BRfr+tbR3 zS2uro$?|QtJp&q%M5Vo)uJiPDA$PXuooPN5O`Kk}0e~-f-U1K%r|!C^nMtcJ_AjSt zB8x+S*N5o0ho{A}s3MW3<6VRMhxLoL0JLtZ-eu8SYPD1OXNo;a!&ITgux z#SxZwdVit3JrojnZ^W|t1QO-8>AP`)IyQ9jxbDL{{URbhA#|d(0ovi(dGSm85(9-P zeW`s1-VkrwW-m^U-NtsU>mKkvAj7&Z2bp$cokXQQohRO0x~CHHj9rHVotQjd_&h1D z;>&jFTs%5GR@Ou$#iMs3(hoaJAod zKOlcBL)|V$Wm6^T)gUn`7w(tz38nK6odvqMc3uyiSPjr17^**n1o)$k|snc2a zr&!(xzO@@vE=)b0%sx8YIlc_Z-d>5EoC&9^NH-YF&z<+}UtRq??Q>4&WC(5{EYOO4 z>)UrPB~HJh)d)mfp5D8s@;xV6R7z_~4!4Gy4z*$UT3sr|D~cWqE=l|`pS`pDrLFsd zf*^eDP21et|0%0D0-zPml3~>z)ATiXQJdct_vz&I{HGm5I`QClbZ>03Te$CH-b6;U zvJnLoyz#xT``xtRN3HQG}ItI#NWtjq;2<88}r6 z28;lQxF$c+^dANS(XnXxneAo4TT}pW9o`W=Q8dL%9JHYLcIaUy@k^YTfS7jZ{OsSI zpFo{B|LTO=rUZbC{WZR_0iTK)ip2wQxL0-q;$PS&oN=H~QqVZMKSFguXu%-de}w)? z1yw?GW=-b)Uj%0=6rdJ_KU5^OL!0IN4~hSQit)Ux#0f|SjrzMVR|1e8RWy)Stok2J zq=-!aC6S2~j>ZEK?hn;-@oo)h?Y~F;yD8sUqJGk~trOEQlV4JIp0tx#)5YiP0o+%| zSC?d=EwTFpf|P$UO+rj@bEA9brf&jB6!C>6-&*k!u|&C( z1>bZ@3@ysSxn;9jj~z3kh2zC6@ds4U{0XPv>plE9vimsuie}xN(!b&8l6G(R)TH)< zS>(C11L1>!{J`MOp06A?&U+Ro9vn+yk5z3#gHAg}px~REBQRGZh=#?@sx8kLzs=%# z2G8cpD{K>fpdk&!Tw;AeWhLXrp%y}K=xu$^|O2pZCMsOt)vx>)bhGk2GJ$(s^ z^f7qqzLp{9%65hpBrPX&{gM6FxX7O$8gnYmT>28RGWxgq!vcR&M)}3B$)q(3n;su= zq+R*0o@b*k21>j?{aM0=ArO;E~H%K zJd-l5#EoR@__T)1;uLvKZi)7?-*Jd_w6iZk!lUv&kM9ejLNhaG&*vOj9{o?{(TH>o zmEeKS$Y|bHqc;U~g)9nf+j5vb-tcThANh0(^G6>%Lv%1F+DMBq(T9A#n4I=?ovF?F z6#dBDJryk2lv^JFl$3633f%v6Ov9QbY1%v^e|t@xYnyU=ydJuIy&N3yYcP?;L?58kbI~oeLx00VOQfY z+{D2&en7S*d$)9y>Q7LXB$qnN%vBU=rr74TA0+L{~aXi|%<+C@) z<(f4w3Qa%&bFM&Bb9}c3RTGA8zX6ICZi@oSA`ctCax~-Gvy(GtAx9Z?lDg!%kM>l( zN$S9I*wIQ87hvNU5%1>_ySCL}K=xjYQu)sX>r}?}>gIjjO(aX_g+e3x+%ee08QAT~W=wIWQ4vD$= zD_RX&hoMDi#VO&(bN12d9jcKxPy2y1{ItPHk%C@q@%>YV8Ing{x7)_w zr~9Th8&|nj&(7i&Q#JY$5x%_LzdkMy;+D&yrnB;PExB`6YkcI&Lr_$wEd9jKyHr|z ztT~``ahGnZKw0%OJ4A)Ub4zmQVZbx5FSYe{4pTXJHG-aZCbl?t;Sf!8pxIu7vG;Cs$WSdd5th#jkA^La97Uo z!fcz!WKt0MASt2D$OIyq4;5fSB!l( zAJM|rvMwcGsHosJoqXAO1=`EHc{^Mo24}?M&ZDd{?pQglUt62gWJSs4V5_2>qIq}! z2u}wOA-bE)6m=M_7WPM@?b+ugjz$)$!&g|z;sy2u3 zC^7J*W#v>|Tgbd78KsxWm@3O3jTak=y2aMjx;K_=6!31AONj0cBk%Y!-%3&JgzzkS zEDG#%`BN+iYkLLq1G-dPEO6KXi)&DEXEo)i@4pOdw2c_YF-!%&R)%~7eV%i&f$^&eSdetW=Cph@ zK{Z%ZF1Z+->1!XJBQO<1#!{Jks(4s%IaakuDtGhqI4tP9esxVIw-uqLbyYsTGu-6> zzULKuBf>)$-sZI#XlmXe*rbBtVq>*0e0*?tnJ${xc1MWxn)*C|_;d31JH$Oz8E3-U z(lWH>NTNnXW=tl8Ynq+iX{_9XmP(6$X4|XY>7#@+2`Vm=P(Jbq+p(*x=1Hc;t}*i2 zQD-kqE^z?ooawjQkgf{UgT!#`eM@{qqpBRAtSZb?>o!B;%X8}It62*I%#Oo5>l@O} zZy8j1HU}%=MEd5kB?m9B=UQj;kiiz4lW|Upbdqg^(}Tk2lFsEYhin$qx|sJXNO7%F zqkch4^=Yfn?cjEL=|DubXt^iyB|;X z#05kxTt}=qd`AkTqWh8q60fMv4w>!M_nTVWV2H9YiLep(l2*U>@ z*mAfvc9W&cnh-wHO<3pR;7YW~`)ES?rH1u#jS{sP2uFK2sj_*7?s@O1j||3PE03?S zZ$8|HPq!^24Ih^TE8waCK;bw@KGGe3gctu6KKJkN!{6b7#Nr*LKHS&#-yttOtzTxP z=F;k{8(pNbR9K+fmAf&I3iu>ZlS^@L;!a|0ivm17IwHRp<8Ca4Dpy(iVsxYt__t^3 zQoEqv?3bt7J}a1^8}I4m8~pFofRrq zy9mu$mj)K|SkBv)B?#vkBDm-H(agy?hY~YuT(uh35=EV;E3;H3YvSMZ5?G-hX`F=Q zxp6SXEUJZ9GUsljYt%7WJVtoZZ3RPQDzi+Gc{Zze6ert;mdsmkuPpGIp)?da0`s$LeWB-CUg;xK2DY{F)D*;T95;!|R*im1=s zBL)=XU~%LagjFf`-R4W!`@9&nz2-T!TDvsaIW644!#jTaR!sXxT@Iqj5eoTi`<2HO zDd2*Fh(yJ_#IFv@P(kw#NSDXIhH^TKblT7CA3eB*8hBUccLj6ISzn2%-}5xV70bDoX$T$t zl2nuu<@fUMB@+-i)RoL5CxteO?-8Ym_ynQ~h#+xq96HTR=_s{AkNGzb6y?8o6nABD z!MBSpl+mk=osR}tSm}%5XhD_|zW)?czh>oYZIKc+=+&z@QaR{hREJV$ggC-O#X?bs znmd1eVtZ$W{o3nNXQf2%btXVbvWvV24$tUDp8AYDWpbXVc2$Yu+4I(EcGGO|*IRv5x1*z^RT%qwudwX={ zfv3~Uvsm$UAu#jXXD{T|uM8gPo zc_+75IxwG`pK&F=*;8$bU8gm<-hMiFM)(H1wbELTq+DX4i;#cG%mmd4R8~dOc>Y08 zXw?}{`(lz!`Z`kf>e%vl`B3eP_;Jps1CffBm>}}Kp(8~L%Ai)@Jxxf}JYreE_1G`i7G1f!f`TN?J`0I(KQ|2kOd zyOfrgJc6ymeq(%*Cj%aoyydVv-P&(EJ;#DLkRregZFw>R=70XNMQ4YyCl8l86j9GKR~mVp8}PS-p15vviR7TEU|f8KpNN;|V?(rxGof zQH9fG5{{X&onM)T4Pe!7uNg8@rz`q%uV6vMLZpb3I)SOdNg{;~3?q``%wpq6#4anE zEkHv!!E%^K|2pCbCwtG+Jrg!?=(S_2#wcCI0o!24HjsDb&IkhpBd+--&Ycbuznrc% z>o{GA7K%0P9}mVCgGmc+BFZRjh*tBhvKsH}xGQ-bGg^#*4!PI9%-=Lpl%?vb6fWk- z{`S2r^xJn&h_<|=&xsk^IiV{z;h(;xMnI6D3tP1h+xLLbfzQDM%4Ut2DGev#BaMTT z+zMxZQ@JnwTcsLFJxFCA>~ED&;5FY&hFX4lv+kQo;MyVh%YeH)K@R)Zzd?rj6Pc1S zg=))dX(LHl2*m2(!VTZtj=TDt{0DKBv%LhWP;1q?LR)^X5_oR`Eb7V+_R^i%yY&wt zD#*<2u2nJC>8AKTy_JfUutv!vcEFC@P&d&gJIJPbRthiTx^&%A%%9eYr|v#nUQ*mi zU+zpT5w*~0J5VpDg~i~a9}i4Dr=9`GYRYtBfKR(zzx#}myZUmvfUd8~e^JPBF0SZk zRQ1(#VhieIg*rJGxti$)W~rY$%noDqm+pr+9b0olOp~27?LnGOtMrlS-9$V~rc$a& z+4QuKV5`=C`n-{CX%hnts4^*v|w^Cv|u~w zf3!1E$;vOlG@8;(hM9Zsqz|Sb2^oetFXZa}?r%e84|P5&@-m;)@o)$%06IWAD*n-) z6lccGma-_A#Y>ZP5$23<$$srlHK`MB{f83nVbaNxtkXn3%RM%Nq(?S_|0v8M+9z@m zO~;)0Q=#ksRCt+w6*3XKSdlO(*iE9}EA-*R=6V<7TboFGR@+I?( z)u*DdZhxg&g>=8zI>C34_{iWAK4>c-M!#tNM~-TR>&G4gK1Oi#KL5~|;5KBbm52=C zK6J>NC>UA6RYdPBo%uQBgzSw{e8%lt)yZBAcM9_Ws^)6S#RxXca2&yYh7c-k6JAF2 zT8E~OvS~H5mf9xS8#BhBt$3Y~mzveB^;0#}jpn>DeABuGPExm*9R_1hFjWiCAVs@= zo6L}pu?M5?W7uzMxj(2eK-92uzjxo`EgK8SNydLryPA!Gs0FzHr2bBY8IJOQP+xTR z!?%ZJ8EtsCyzelEKdLD0!LXmrWMuSr`$eW5(B4Sdb}WJ!PT?M^g(6qo@1RX?wr$@R z$8B0PRoySzvD<_3dzW4CuE}c-=`ZqImthdO8tfnBO>CT);mrRB`HZpb)QElop*G+z_P>BPDZIN)&x@Pc5zdKWmKm3h&^_&+O8r3lv73R`7qsVbXg9JX5 z>*G2@FR3-P4RH6PTE-7~_S3LTE6FJ+Tg%dY0-8_X)imB4Y&d*f02*OT$m+fzkf*}r zT45V~E4lkZmbw6*N$DvfGw-{!1%5mrc@t$)OpbjUNQB0+NcPBZ^nQH~n$f0o+Im`L8q%@Biz^`D_0mwMztZ;=!SAd+UzufRo z@;npGwIa&4f|%&~anRYw|J7eqsmqH2Uvk!L0wDOgG`>)FP-uoT@>8nciTu3xE~kQL z=~3|*f#U4S*=`A+LYa}6JoCtcW2siGW`-2rb&{EWS>p4Y95<^S@i zdsjFz@Hen4uUWG{O#bAoxak~hovmN_mq|IjqmF{GKTU=t{x->r_}gTM-T$9SUIm-3 zskVL23LwZNW}(#^zinnS5pf zDN8X8uUN&6Sx79zxG5Y1Ylkg&CTwPNazhx7GC%{F#i1?Q;sT=miFP~Kgr&|{ki?mL zL~pzr)4=+N51Vj;T`(b!1a!EhkmrL^#q9!pYkLn{#cN^|}k!Y#xTho#%C7}JpU)Gcii)>Lt+4V1i-Qc&_v;9!US zZJVL~nLN8J{lAh|-C^7LZDJ{&^)H18eTaLx+^uEf2{v3vPP_H(ft2nzQ zI0gHeKJDrz=hG%|(S~v^K=TdhV9lpd^a~9uZLyHjO?3=Va6YdW|2#B`Vb!t7dM(qT z1E+Daspq!68(|6YGV~06lcKXI5g+Oym7xs_>W*_$8G7Z=Nto#e(2JL*QfZ0M95c|-ud8C-}P?C#v-h3|A z-C(o+d0%Toep(ekEi+yPISycV$e6RAl@H=q-UlTw=m8!H(HIDk7w|3Xyg6>X%4sc= zwF?Iyv$5xyQ3P%YTX8`RgWz3Kw%K5kf-1S`U65jf18*-i>=*96bD25auTcH{ zF-?RLCYd4l=;i_bQYgS83a|{d}+>)|Vx^-xSLM6dc#r*kL?jJf89PSA<4FOW2#3<#5@EHrHWmyXnRKg$7 z)OU{E!>STF96yUa?!yXUKcE#}uZ>_X<7KmFb#4Gg6BY>$io~-@f`zXMi>q*zOHk*R z)PHffJgT@*Oek_tY+7ebxK*u%9PL^|cU?-X*xpF26mPw!3qSx8vD`N}VWl#=Z$4)i z1(5XSX9_sb5 zMgA1r^IP!wZ^4xW$1bjH51PleonFu)>LgkW_lYDUwq+zE@_zxl_f#bYM*j;~x%IPI z6z;?z820n^4N$GHeS=p7`&pjpKIcHxr^62cSUgw=BASgZC9rZe6Z!{mWIqBhIew;O z>pipxvKkcjGhUV3OS_lBdFO+e60}GJx5ctrK^>bYw1`i~W&&Lm&m^c-4H0}&ONiEnd(7jrI4&qDz3Ug@gB2!Wuh1V6 z3)Ei>H>Yz9O~Fk2q90%pQ^6`)B&lJ5fTx67te1Ot-GDkZR>TFDYeowY`q;fdSt-`Q zIi$ZqXmu1e3aNo@3v>W02jBa0G&7^10a2{nr2#LtHgb0?A$-~C-2{ZU3)q6{VVfML zLQ^Dd4<}u7`qgdD!cK~}0fW@EuEJ^#xFRRr5clIWj(!!rC`?#JWQ{75hvqdDtZfAw z>KW3&Bs{|;#1-y|+T!iGVD5EXtR)=VhXU)lz?oEY0KM_=M;3QjbN9N2jp8X7H|%!Q zH>dBu*zu2p=0y>fkK1z3+G;+3V22ulk8(qg66h4DUsAZW(^RD4HLMf+{jOgs%8`tB z1N*-L9F=|p9EJS>;Be;_unRTR1~+ulO&qnf>CRuCuISKi5f}ks$)6cU5VX~NaeIhL z2>6iF;kVm7s_wTt(1(ZMKfS>Xbj}4>>{q38Lxf(d06d|&6(9Qw!?<@0bwC$7y%UXGy

2+w0k{iFDvJrn6FCZ0h^ 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/SimClustersANNCandidateSourceModule.scala b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/SimClustersANNCandidateSourceModule.scala deleted file mode 100644 index b5f9ee5da..000000000 --- a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/SimClustersANNCandidateSourceModule.scala +++ /dev/null @@ -1,47 +0,0 @@ -package com.twitter.simclustersann.modules - -import com.google.inject.Provides -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.inject.TwitterModule -import com.twitter.simclusters_v2.common.ClusterId -import com.twitter.simclusters_v2.common.SimClustersEmbedding -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.thriftscala.SimClustersEmbeddingId -import com.twitter.storehaus.ReadableStore -import javax.inject.Singleton -import com.twitter.simclustersann.candidate_source.ApproximateCosineSimilarity -import com.twitter.simclustersann.candidate_source.ExperimentalApproximateCosineSimilarity -import com.twitter.simclustersann.candidate_source.OptimizedApproximateCosineSimilarity -import com.twitter.simclustersann.candidate_source.SimClustersANNCandidateSource - -object SimClustersANNCandidateSourceModule extends TwitterModule { - - val acsFlag = flag[String]( - name = "approximate_cosine_similarity", - default = "original", - help = - "Select different implementations of the approximate cosine similarity algorithm, for testing optimizations", - ) - @Singleton - @Provides - def provides( - embeddingStore: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding], - cachedClusterTweetIndexStore: ReadableStore[ClusterId, Seq[(TweetId, Double)]], - statsReceiver: StatsReceiver - ): SimClustersANNCandidateSource = { - - val approximateCosineSimilarity = acsFlag() match { - case "original" => ApproximateCosineSimilarity - case "optimized" => OptimizedApproximateCosineSimilarity - case "experimental" => ExperimentalApproximateCosineSimilarity - case _ => ApproximateCosineSimilarity - } - - new SimClustersANNCandidateSource( - approximateCosineSimilarity = approximateCosineSimilarity, - clusterTweetCandidatesStore = cachedClusterTweetIndexStore, - simClustersEmbeddingStore = embeddingStore, - statsReceiver = statsReceiver.scope("simClustersANNCandidateSource") - ) - } -} diff --git a/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/StratoClientProviderModule.docx b/simclusters-ann/server/src/main/scala/com/twitter/simclustersann/modules/StratoClientProviderModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..113da2abce264b96689a29e053862980ac8dcbfb GIT binary patch literal 36891 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 literal 0 HcmV?d00001 diff --git a/simclusters-ann/thrift/src/main/thrift/simClustersAnn.docx b/simclusters-ann/thrift/src/main/thrift/simClustersAnn.docx new file mode 100644 index 0000000000000000000000000000000000000000..0311cada9aa5a70805c906ba30827b818f973f12 GIT binary patch literal 37406 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 Jdo1q-@c?Kb?JWQR literal 0 HcmV?d00001 diff --git a/simclusters-ann/thrift/src/main/thrift/simClustersAnn.thrift b/simclusters-ann/thrift/src/main/thrift/simClustersAnn.thrift deleted file mode 100644 index 9c327febe..000000000 --- a/simclusters-ann/thrift/src/main/thrift/simClustersAnn.thrift +++ /dev/null @@ -1,59 +0,0 @@ -namespace java com.twitter.simclustersann.thriftjava -#@namespace scala com.twitter.simclustersann.thriftscala - -include "finatra-thrift/finatra_thrift_exceptions.thrift" -include "com/twitter/simclusters_v2/identifier.thrift" -include "com/twitter/simclusters_v2/score.thrift" - -struct Query { - 1: required identifier.SimClustersEmbeddingId sourceEmbeddingId; - 2: required SimClustersANNConfig config; -} - -struct SimClustersANNTweetCandidate { - 1: required i64 tweetId (personalDataType = 'TweetId'); - 2: required double score; -} - -struct SimClustersANNConfig { - 1: required i32 maxNumResults; - 2: required double minScore; - 3: required identifier.EmbeddingType candidateEmbeddingType; - 4: required i32 maxTopTweetsPerCluster; - 5: required i32 maxScanClusters; - 6: required i32 maxTweetCandidateAgeHours; - 7: required i32 minTweetCandidateAgeHours; - 8: required ScoringAlgorithm annAlgorithm; -} - -/** - * The algorithm type to identify the score algorithm. - **/ -enum ScoringAlgorithm { - DotProduct = 1, - CosineSimilarity = 2, - LogCosineSimilarity = 3, - CosineSimilarityNoSourceEmbeddingNormalization = 4, // Score = (Source dot Candidate) / candidate_l2_norm -}(hasPersonalData = 'false') - -enum InvalidResponseParameter { - INVALID_EMBEDDING_TYPE = 1, - INVALID_MODEL_VERSION = 2, -} - -exception InvalidResponseParameterException { - 1: required InvalidResponseParameter errorCode, - 2: optional string message // failure reason -} - -service SimClustersANNService { - - list getTweetCandidates( - 1: required Query query; - ) throws ( - 1: InvalidResponseParameterException e; - 2: finatra_thrift_exceptions.ServerError serverError; - 3: finatra_thrift_exceptions.ClientError clientError; - ); - -} diff --git a/src/java/com/twitter/search/README.docx b/src/java/com/twitter/search/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..014caa21171bb78a4a304bb15d12a82a15a39155 GIT binary patch literal 38231 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/README.md b/src/java/com/twitter/search/README.md deleted file mode 100644 index f92a9bdf3..000000000 --- a/src/java/com/twitter/search/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Tweet Search System (Earlybird) -> **TL;DR** Tweet Search System (Earlybird) find tweets from people you follow, rank them, and serve the tweets to Home. - -## What is Tweet Search System (Earlybird)? -[Earlybird](http://notes.stephenholiday.com/Earlybird.pdf) is a **real-time search system** based on [Apache Lucene](https://lucene.apache.org/) to support the high volume of queries and content updates. The major use cases are Relevance Search (specifically, Text search) and Timeline In-network Tweet retrieval (or UserID based search). It is designed to enable the efficient indexing and querying of billions of tweets, and to provide low-latency search results, even with heavy query loads. - -## How it is related to the Home Timeline Recommendation Algorithm - -![in-network](img/in-network.png) - -At Twitter, we use Tweet Search System (Earlybird) to do Home Timeline In-network Tweet retrieval: given a list of following users, find their recently posted tweets. Earlybird (Search Index) is the major candidate source for in-network tweets across Following tab and For You tab. - - -## High-level architecture -We split our entire tweet search index into three clusters: a **realtime** cluster indexing all public tweets posted in about the last 7 days, a **protected** cluster indexing all protected tweets for the same timeframe; and an **archive** cluster indexing all tweets ever posted, up to about two days ago. - -Earlybird addresses the challenges of scaling real-time search by splitting each cluster across multiple **partitions**, each responsible for a portion of the index. The architecture uses a distributed *inverted index* that is sharded and replicated. This design allows for efficient index updates and query processing. - -The system also employs an incremental indexing approach, enabling it to process and index new tweets in real-time as they arrive. With single writer, multiple reader structure, Earlybird can handle a large number of real-time updates and queries concurrently while maintaining low query latency. The system can achieve high query throughput and low query latency while maintaining a high degree of index freshness. - - -### Indexing -* Ingesters read tweets and user modifications from kafka topics, extract fields and features from them and write the extracted data to intermediate kafka topics for Earlybirds to consume, index and serve. -* Feature Update Service feeds feature updates such as up-to-date engagement (like, retweets, replies) counts to Earlybird. -![indexing](img/indexing.png) - -### Serving -Earlybird roots fanout requests to different Earlybird clusters or partitions. Upon receiving responses from the clusters or partitions, roots merge the responses before finally returning the merged response to the client. -![serving](img/serving.png) - -## Use cases - -1. Tweet Search - * Top search - * Latest search - -![top](img/top-search.png) - -2. Candidate generation - * Timeline (For You Tab, Following Tab) - * Notifications - -![home](img/foryou.png) - -## References -* "Earlybird: Real-Time Search at Twitter" (http://notes.stephenholiday.com/Earlybird.pdf) -* "Reducing search indexing latency to one second" (https://blog.twitter.com/engineering/en_us/topics/infrastructure/2020/reducing-search-indexing-latency-to-one-second) -* "Omnisearch index formats" (https://blog.twitter.com/engineering/en_us/topics/infrastructure/2016/omnisearch-index-formats) - - diff --git a/src/java/com/twitter/search/common/README.docx b/src/java/com/twitter/search/common/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..8227df958e7dcf9fa2acfaade5b22f805520b6d0 GIT binary patch literal 36681 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

Yq|}H>{fkeA97f>oyz~LZyGebs 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 Of((hk>~X0J!~+0NHi}~a literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/README.md b/src/java/com/twitter/search/common/README.md deleted file mode 100644 index c7f2e38bb..000000000 --- a/src/java/com/twitter/search/common/README.md +++ /dev/null @@ -1 +0,0 @@ -Contains code that is common to multiple earlybird services (ingesters, roots and earlybird). \ No newline at end of file diff --git a/src/java/com/twitter/search/common/converter/earlybird/BUILD b/src/java/com/twitter/search/common/converter/earlybird/BUILD deleted file mode 100644 index a5d4ea4ae..000000000 --- a/src/java/com/twitter/search/common/converter/earlybird/BUILD +++ /dev/null @@ -1,57 +0,0 @@ -java_library( - sources = ["*.java"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/com/twitter/elephantbird:core", - "3rdparty/jvm/geo/google:geoGoogle", - "3rdparty/jvm/joda-time", - "3rdparty/jvm/org/apache/hadoop:hadoop-client-default", - "3rdparty/jvm/org/apache/httpcomponents:httpcore", - "3rdparty/jvm/org/apache/lucene:lucene-core", - "3rdparty/jvm/org/apache/thrift:libthrift", - "3rdparty/jvm/org/apache/zookeeper:zookeeper-client", - "3rdparty/jvm/org/slf4j:slf4j-api", - "cuad/projects/ner/thrift/src/main/thrift:thrift-java", - "decider/src/main/scala", - "src/java/com/twitter/common/base", - "src/java/com/twitter/common/collections", - "src/java/com/twitter/common/text/language:locale-util", - "src/java/com/twitter/common/text/token", - "src/java/com/twitter/common/text/util:token-util", - "src/java/com/twitter/common_internal/text:text-penguin7", - "src/java/com/twitter/common_internal/text/version", - "src/java/com/twitter/search/common/config", - "src/java/com/twitter/search/common/constants", - "src/java/com/twitter/search/common/debug", - "src/java/com/twitter/search/common/decider", - "src/java/com/twitter/search/common/encoding/docvalues", - "src/java/com/twitter/search/common/encoding/features", - "src/java/com/twitter/search/common/metrics", - "src/java/com/twitter/search/common/partitioning/base", - "src/java/com/twitter/search/common/partitioning/snowflakeparser", - "src/java/com/twitter/search/common/relevance:entities_and_filters", - "src/java/com/twitter/search/common/relevance:text", - "src/java/com/twitter/search/common/relevance/features", - "src/java/com/twitter/search/common/schema", - "src/java/com/twitter/search/common/schema/base", - "src/java/com/twitter/search/common/schema/earlybird", - "src/java/com/twitter/search/common/util:longintconverter", - "src/java/com/twitter/search/common/util/analysis", - "src/java/com/twitter/search/common/util/lang", - "src/java/com/twitter/search/common/util/spatial", - "src/java/com/twitter/search/common/util/text", - "src/java/com/twitter/search/common/util/text/regex", - "src/java/com/twitter/search/common/util/thrift:thrift-utils", - "src/java/com/twitter/search/common/util/url", - "src/java/com/twitter/search/ingester/model", - "src/thrift/com/twitter/search/common:constants-java", - "src/thrift/com/twitter/search/common:indexing-java", - "src/thrift/com/twitter/search/common:schema-java", - "src/thrift/com/twitter/search/common/debug:debug-java", - "src/thrift/com/twitter/service/spiderduck/gen:metadata-store-java", - "src/thrift/com/twitter/tweetypie:tweet-java", - ], -) diff --git a/src/java/com/twitter/search/common/converter/earlybird/BUILD.docx b/src/java/com/twitter/search/common/converter/earlybird/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..35120101d2f122da036978a29684580d1b9ddd2e GIT binary patch literal 37302 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%0DU;R@B!*Dd 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/converter/earlybird/BasicIndexingConverter.docx b/src/java/com/twitter/search/common/converter/earlybird/BasicIndexingConverter.docx new file mode 100644 index 0000000000000000000000000000000000000000..bc5b8c6da321eaf9730a938d7bf5691b0411335d GIT binary patch literal 43599 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 z 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 penguinVersions) throws IOException { - Preconditions.checkNotNull(message); - Preconditions.checkNotNull(penguinVersions); - - ThriftVersionedEvents versionedEvents = new ThriftVersionedEvents() - .setId(message.getId()); - - ImmutableSchemaInterface schemaSnapshot = schema.getSchemaSnapshot(); - - for (PenguinVersion penguinVersion : penguinVersions) { - ThriftDocument document = - buildDocumentForPenguinVersion(schemaSnapshot, message, strict, penguinVersion); - - ThriftIndexingEvent thriftIndexingEvent = new ThriftIndexingEvent() - .setDocument(document) - .setEventType(ThriftIndexingEventType.INSERT) - .setSortId(message.getId()); - message.getFromUserTwitterId().map(thriftIndexingEvent::setUid); - versionedEvents.putToVersionedEvents(penguinVersion.getByteValue(), thriftIndexingEvent); - } - - return versionedEvents; - } - - private ThriftDocument buildDocumentForPenguinVersion( - ImmutableSchemaInterface schemaSnapshot, - TwitterMessage message, - boolean strict, - PenguinVersion penguinVersion) throws IOException { - TweetFeatureWithEncodeFeatures tweetFeature = - featureBuilder.createTweetFeaturesFromTwitterMessage( - message, penguinVersion, schemaSnapshot); - - EarlybirdThriftDocumentBuilder builder = - buildBasicFields(message, schemaSnapshot, cluster, tweetFeature); - - buildUserFields(builder, message, tweetFeature.versionedFeatures, penguinVersion); - buildGeoFields(builder, message, tweetFeature.versionedFeatures); - buildRetweetAndReplyFields(builder, message, strict); - buildQuotesFields(builder, message); - buildVersionedFeatureFields(builder, tweetFeature.versionedFeatures); - buildAnnotationFields(builder, message); - buildNormalizedMinEngagementFields(builder, tweetFeature.encodedFeatures, cluster); - buildDirectedAtFields(builder, message); - - builder.withSpaceIdFields(message.getSpaceIds()); - - return builder.build(); - } - - /** - * Build the basic fields for a tweet. - */ - public static EarlybirdThriftDocumentBuilder buildBasicFields( - TwitterMessage message, - ImmutableSchemaInterface schemaSnapshot, - EarlybirdCluster cluster, - TweetFeatureWithEncodeFeatures tweetFeature) { - EarlybirdEncodedFeatures extendedEncodedFeatures = tweetFeature.extendedEncodedFeatures; - if (extendedEncodedFeatures == null && EarlybirdCluster.isTwitterMemoryFormatCluster(cluster)) { - extendedEncodedFeatures = EarlybirdEncodedFeatures.newEncodedTweetFeatures( - schemaSnapshot, EarlybirdFieldConstant.EXTENDED_ENCODED_TWEET_FEATURES_FIELD); - } - EarlybirdThriftDocumentBuilder builder = new EarlybirdThriftDocumentBuilder( - tweetFeature.encodedFeatures, - extendedEncodedFeatures, - new EarlybirdFieldConstants(), - schemaSnapshot); - - builder.withID(message.getId()); - - final Date createdAt = message.getDate(); - long createdAtMs = createdAt == null ? 0L : createdAt.getTime(); - - createdAtMs = fixCreatedAtTimeStampIfNecessary(message.getId(), createdAtMs); - - if (createdAtMs > 0L) { - builder.withCreatedAt((int) (createdAtMs / 1000)); - } - - builder.withTweetSignature(tweetFeature.versionedFeatures.getTweetSignature()); - - if (message.getConversationId() > 0) { - long conversationId = message.getConversationId(); - builder.withLongField( - EarlybirdFieldConstant.CONVERSATION_ID_CSF.getFieldName(), conversationId); - // We only index conversation ID when it is different from the tweet ID. - if (message.getId() != conversationId) { - builder.withLongField( - EarlybirdFieldConstant.CONVERSATION_ID_FIELD.getFieldName(), conversationId); - } - } - - if (message.getComposerSource().isPresent()) { - ComposerSource composerSource = message.getComposerSource().get(); - builder.withIntField( - EarlybirdFieldConstant.COMPOSER_SOURCE.getFieldName(), composerSource.getValue()); - if (composerSource == ComposerSource.CAMERA) { - builder.withCameraComposerSourceFlag(); - } - } - - EarlybirdEncodedFeatures encodedFeatures = tweetFeature.encodedFeatures; - if (encodedFeatures.isFlagSet(EarlybirdFieldConstant.FROM_VERIFIED_ACCOUNT_FLAG)) { - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.VERIFIED_FILTER_TERM); - } - if (encodedFeatures.isFlagSet(EarlybirdFieldConstant.FROM_BLUE_VERIFIED_ACCOUNT_FLAG)) { - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.BLUE_VERIFIED_FILTER_TERM); - } - - if (encodedFeatures.isFlagSet(EarlybirdFieldConstant.IS_OFFENSIVE_FLAG)) { - builder.withOffensiveFlag(); - } - - if (message.getNullcast()) { - NUM_NULLCAST_TWEETS.increment(); - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.NULLCAST_FILTER_TERM); - } else { - NUM_NON_NULLCAST_TWEETS.increment(); - } - if (encodedFeatures.isFlagSet(EarlybirdFieldConstant.IS_NULLCAST_FLAG)) { - NUM_NULLCAST_FEATURE_FLAG_SET_TWEETS.increment(); - } - if (message.isSelfThread()) { - builder.addFilterInternalFieldTerm( - EarlybirdFieldConstant.SELF_THREAD_FILTER_TERM); - NUM_SELF_THREAD_TWEETS.increment(); - } - - if (message.isExclusive()) { - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.EXCLUSIVE_FILTER_TERM); - builder.withLongField( - EarlybirdFieldConstant.EXCLUSIVE_CONVERSATION_AUTHOR_ID_CSF.getFieldName(), - message.getExclusiveConversationAuthorId()); - NUM_EXCLUSIVE_TWEETS.increment(); - } - - builder.withLanguageCodes(message.getLanguage(), message.getBCP47LanguageTag()); - - return builder; - } - - /** - * Build the user fields. - */ - public static void buildUserFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - VersionedTweetFeatures versionedTweetFeatures, - PenguinVersion penguinVersion) { - // 1. Set all the from user fields. - if (message.getFromUserTwitterId().isPresent()) { - builder.withLongField(EarlybirdFieldConstant.FROM_USER_ID_FIELD.getFieldName(), - message.getFromUserTwitterId().get()) - // CSF - .withLongField(EarlybirdFieldConstant.FROM_USER_ID_CSF.getFieldName(), - message.getFromUserTwitterId().get()); - } else { - LOG.warn("fromUserTwitterId is not set in TwitterMessage! Status id: " + message.getId()); - } - - if (message.getFromUserScreenName().isPresent()) { - String fromUser = message.getFromUserScreenName().get(); - String normalizedFromUser = - NormalizerHelper.normalizeWithUnknownLocale(fromUser, penguinVersion); - - builder - .withWhiteSpaceTokenizedScreenNameField( - EarlybirdFieldConstant.TOKENIZED_FROM_USER_FIELD.getFieldName(), - normalizedFromUser) - .withStringField(EarlybirdFieldConstant.FROM_USER_FIELD.getFieldName(), - normalizedFromUser); - - if (message.getTokenizedFromUserScreenName().isPresent()) { - builder.withCamelCaseTokenizedScreenNameField( - EarlybirdFieldConstant.CAMELCASE_USER_HANDLE_FIELD.getFieldName(), - fromUser, - normalizedFromUser, - message.getTokenizedFromUserScreenName().get()); - } - } - - Optional toUserScreenName = message.getToUserLowercasedScreenName(); - if (toUserScreenName.isPresent() && !toUserScreenName.get().isEmpty()) { - builder.withStringField( - EarlybirdFieldConstant.TO_USER_FIELD.getFieldName(), - NormalizerHelper.normalizeWithUnknownLocale(toUserScreenName.get(), penguinVersion)); - } - - if (versionedTweetFeatures.isSetUserDisplayNameTokenStreamText()) { - builder.withTokenStreamField(EarlybirdFieldConstant.TOKENIZED_USER_NAME_FIELD.getFieldName(), - versionedTweetFeatures.getUserDisplayNameTokenStreamText(), - versionedTweetFeatures.getUserDisplayNameTokenStream()); - } - } - - /** - * Build the geo fields. - */ - public static void buildGeoFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - VersionedTweetFeatures versionedTweetFeatures) { - double lat = GeoUtil.ILLEGAL_LATLON; - double lon = GeoUtil.ILLEGAL_LATLON; - if (message.getGeoLocation() != null) { - GeoObject location = message.getGeoLocation(); - builder.withGeoField(EarlybirdFieldConstant.GEO_HASH_FIELD.getFieldName(), - location.getLatitude(), location.getLongitude(), location.getAccuracy()); - - if (location.getSource() != null) { - builder.withStringField(EarlybirdFieldConstant.INTERNAL_FIELD.getFieldName(), - EarlybirdFieldConstants.formatGeoType(location.getSource())); - } - - if (GeoUtil.validateGeoCoordinates(location.getLatitude(), location.getLongitude())) { - lat = location.getLatitude(); - lon = location.getLongitude(); - } - } - - // See SEARCH-14317 for investigation on how much space geo filed is used in archive cluster. - // In lucene archives, this CSF is needed regardless of whether geoLocation is set. - builder.withLatLonCSF(lat, lon); - - if (versionedTweetFeatures.isSetTokenizedPlace()) { - Place place = versionedTweetFeatures.getTokenizedPlace(); - Preconditions.checkArgument(place.isSetId(), "Place ID not set for tweet " - + message.getId()); - Preconditions.checkArgument(place.isSetFullName(), - "Place full name not set for tweet " + message.getId()); - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.PLACE_ID_FIELD.getFieldName()); - builder - .withStringField(EarlybirdFieldConstant.PLACE_ID_FIELD.getFieldName(), place.getId()) - .withStringField(EarlybirdFieldConstant.PLACE_FULL_NAME_FIELD.getFieldName(), - place.getFullName()); - if (place.isSetCountryCode()) { - builder.withStringField(EarlybirdFieldConstant.PLACE_COUNTRY_CODE_FIELD.getFieldName(), - place.getCountryCode()); - } - } - - if (versionedTweetFeatures.isSetTokenizedProfileGeoEnrichment()) { - ProfileGeoEnrichment profileGeoEnrichment = - versionedTweetFeatures.getTokenizedProfileGeoEnrichment(); - Preconditions.checkArgument( - profileGeoEnrichment.isSetPotentialLocations(), - "ProfileGeoEnrichment.potentialLocations not set for tweet " - + message.getId()); - List potentialLocations = profileGeoEnrichment.getPotentialLocations(); - Preconditions.checkArgument( - !potentialLocations.isEmpty(), - "Found tweet with an empty ProfileGeoEnrichment.potentialLocations: " - + message.getId()); - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.PROFILE_GEO_FILTER_TERM); - for (PotentialLocation potentialLocation : potentialLocations) { - if (potentialLocation.isSetCountryCode()) { - builder.withStringField( - EarlybirdFieldConstant.PROFILE_GEO_COUNTRY_CODE_FIELD.getFieldName(), - potentialLocation.getCountryCode()); - } - if (potentialLocation.isSetRegion()) { - builder.withStringField(EarlybirdFieldConstant.PROFILE_GEO_REGION_FIELD.getFieldName(), - potentialLocation.getRegion()); - } - if (potentialLocation.isSetLocality()) { - builder.withStringField(EarlybirdFieldConstant.PROFILE_GEO_LOCALITY_FIELD.getFieldName(), - potentialLocation.getLocality()); - } - } - } - - builder.withPlacesField(message.getPlaces()); - } - - /** - * Build the retweet and reply fields. - */ - public static void buildRetweetAndReplyFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - boolean strict) { - long retweetUserIdVal = -1; - long sharedStatusIdVal = -1; - if (message.getRetweetMessage() != null) { - if (message.getRetweetMessage().getSharedId() != null) { - sharedStatusIdVal = message.getRetweetMessage().getSharedId(); - } - if (message.getRetweetMessage().hasSharedUserTwitterId()) { - retweetUserIdVal = message.getRetweetMessage().getSharedUserTwitterId(); - } - } - - long inReplyToStatusIdVal = -1; - long inReplyToUserIdVal = -1; - if (message.isReply()) { - if (message.getInReplyToStatusId().isPresent()) { - inReplyToStatusIdVal = message.getInReplyToStatusId().get(); - } - if (message.getToUserTwitterId().isPresent()) { - inReplyToUserIdVal = message.getToUserTwitterId().get(); - } - } - - buildRetweetAndReplyFields( - retweetUserIdVal, - sharedStatusIdVal, - inReplyToStatusIdVal, - inReplyToUserIdVal, - strict, - builder); - } - - /** - * Build the quotes fields. - */ - public static void buildQuotesFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message) { - if (message.getQuotedMessage() != null) { - TwitterQuotedMessage quoted = message.getQuotedMessage(); - if (quoted != null && quoted.getQuotedStatusId() > 0 && quoted.getQuotedUserId() > 0) { - builder.withQuote(quoted.getQuotedStatusId(), quoted.getQuotedUserId()); - } - } - } - - /** - * Build directed at field. - */ - public static void buildDirectedAtFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message) { - if (message.getDirectedAtUserId().isPresent() && message.getDirectedAtUserId().get() > 0) { - builder.withDirectedAtUser(message.getDirectedAtUserId().get()); - builder.addFilterInternalFieldTerm(EarlybirdFieldConstant.DIRECTED_AT_FILTER_TERM); - } - } - - /** - * Build the versioned features for a tweet. - */ - public static void buildVersionedFeatureFields( - EarlybirdThriftDocumentBuilder builder, - VersionedTweetFeatures versionedTweetFeatures) { - builder - .withHashtagsField(versionedTweetFeatures.getHashtags()) - .withMentionsField(versionedTweetFeatures.getMentions()) - .withStocksFields(versionedTweetFeatures.getStocks()) - .withResolvedLinksText(versionedTweetFeatures.getNormalizedResolvedUrlText()) - .withTokenStreamField(EarlybirdFieldConstant.TEXT_FIELD.getFieldName(), - versionedTweetFeatures.getTweetTokenStreamText(), - versionedTweetFeatures.isSetTweetTokenStream() - ? versionedTweetFeatures.getTweetTokenStream() : null) - .withStringField(EarlybirdFieldConstant.SOURCE_FIELD.getFieldName(), - versionedTweetFeatures.getSource()) - .withStringField(EarlybirdFieldConstant.NORMALIZED_SOURCE_FIELD.getFieldName(), - versionedTweetFeatures.getNormalizedSource()); - - // Internal fields for smileys and question marks - if (versionedTweetFeatures.hasPositiveSmiley) { - builder.withStringField( - EarlybirdFieldConstant.INTERNAL_FIELD.getFieldName(), - EarlybirdFieldConstant.HAS_POSITIVE_SMILEY); - } - if (versionedTweetFeatures.hasNegativeSmiley) { - builder.withStringField( - EarlybirdFieldConstant.INTERNAL_FIELD.getFieldName(), - EarlybirdFieldConstant.HAS_NEGATIVE_SMILEY); - } - if (versionedTweetFeatures.hasQuestionMark) { - builder.withStringField(EarlybirdFieldConstant.TEXT_FIELD.getFieldName(), - EarlybirdThriftDocumentBuilder.QUESTION_MARK); - } - } - - /** - * Build the escherbird annotations for a tweet. - */ - public static void buildAnnotationFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message) { - List escherbirdAnnotations = - message.getEscherbirdAnnotations(); - if (CollectionUtils.isEmpty(escherbirdAnnotations)) { - return; - } - - builder.addFacetSkipList(EarlybirdFieldConstant.ENTITY_ID_FIELD.getFieldName()); - - for (TwitterMessage.EscherbirdAnnotation annotation : escherbirdAnnotations) { - String groupDomainEntity = String.format("%d.%d.%d", - annotation.groupId, annotation.domainId, annotation.entityId); - String domainEntity = String.format("%d.%d", annotation.domainId, annotation.entityId); - String entity = String.format("%d", annotation.entityId); - - builder.withStringField(EarlybirdFieldConstant.ENTITY_ID_FIELD.getFieldName(), - groupDomainEntity); - builder.withStringField(EarlybirdFieldConstant.ENTITY_ID_FIELD.getFieldName(), - domainEntity); - builder.withStringField(EarlybirdFieldConstant.ENTITY_ID_FIELD.getFieldName(), - entity); - } - } - - /** - * Build the correct ThriftIndexingEvent's fields based on retweet and reply status. - */ - public static void buildRetweetAndReplyFields( - long retweetUserIdVal, - long sharedStatusIdVal, - long inReplyToStatusIdVal, - long inReplyToUserIdVal, - boolean strict, - EarlybirdThriftDocumentBuilder builder) { - Optional retweetUserId = Optional.of(retweetUserIdVal).filter(x -> x > 0); - Optional sharedStatusId = Optional.of(sharedStatusIdVal).filter(x -> x > 0); - Optional inReplyToUserId = Optional.of(inReplyToUserIdVal).filter(x -> x > 0); - Optional inReplyToStatusId = Optional.of(inReplyToStatusIdVal).filter(x -> x > 0); - - // We have six combinations here. A Tweet can be - // 1) a reply to another tweet (then it has both in-reply-to-user-id and - // in-reply-to-status-id set), - // 2) directed-at a user (then it only has in-reply-to-user-id set), - // 3) not a reply at all. - // Additionally, it may or may not be a Retweet (if it is, then it has retweet-user-id and - // retweet-status-id set). - // - // We want to set some fields unconditionally, and some fields (reference-author-id and - // shared-status-id) depending on the reply/retweet combination. - // - // 1. Normal tweet (not a reply, not a retweet). None of the fields should be set. - // - // 2. Reply to a tweet (both in-reply-to-user-id and in-reply-to-status-id set). - // IN_REPLY_TO_USER_ID_FIELD should be set to in-reply-to-user-id - // SHARED_STATUS_ID_CSF should be set to in-reply-to-status-id - // IS_REPLY_FLAG should be set - // - // 3. Directed-at a user (only in-reply-to-user-id is set). - // IN_REPLY_TO_USER_ID_FIELD should be set to in-reply-to-user-id - // IS_REPLY_FLAG should be set - // - // 4. Retweet of a normal tweet (retweet-user-id and retweet-status-id are set). - // RETWEET_SOURCE_USER_ID_FIELD should be set to retweet-user-id - // SHARED_STATUS_ID_CSF should be set to retweet-status-id - // IS_RETWEET_FLAG should be set - // - // 5. Retweet of a reply (both in-reply-to-user-id and in-reply-to-status-id set, - // retweet-user-id and retweet-status-id are set). - // RETWEET_SOURCE_USER_ID_FIELD should be set to retweet-user-id - // SHARED_STATUS_ID_CSF should be set to retweet-status-id (retweet beats reply!) - // IS_RETWEET_FLAG should be set - // IN_REPLY_TO_USER_ID_FIELD should be set to in-reply-to-user-id - // IS_REPLY_FLAG should NOT be set - // - // 6. Retweet of a directed-at tweet (only in-reply-to-user-id is set, - // retweet-user-id and retweet-status-id are set). - // RETWEET_SOURCE_USER_ID_FIELD should be set to retweet-user-id - // SHARED_STATUS_ID_CSF should be set to retweet-status-id - // IS_RETWEET_FLAG should be set - // IN_REPLY_TO_USER_ID_FIELD should be set to in-reply-to-user-id - // IS_REPLY_FLAG should NOT be set - // - // In other words: - // SHARED_STATUS_ID_CSF logic: if this is a retweet SHARED_STATUS_ID_CSF should be set to - // retweet-status-id, otherwise if it's a reply to a tweet, it should be set to - // in-reply-to-status-id. - - Preconditions.checkState(retweetUserId.isPresent() == sharedStatusId.isPresent()); - - if (retweetUserId.isPresent()) { - builder.withNativeRetweet(retweetUserId.get(), sharedStatusId.get()); - - if (inReplyToUserId.isPresent()) { - // Set IN_REPLY_TO_USER_ID_FIELD even if this is a retweet of a reply. - builder.withInReplyToUserID(inReplyToUserId.get()); - } - } else { - // If this is a retweet of a reply, we don't want to mark it as a reply, or override fields - // set by the retweet logic. - // If we are in this branch, this is not a retweet. Potentially, we set the reply flag, - // and override shared-status-id and reference-author-id. - - if (inReplyToStatusId.isPresent()) { - if (strict) { - // Enforcing that if this is a reply to a tweet, then it also has a replied-to user. - Preconditions.checkState(inReplyToUserId.isPresent()); - } - builder.withReplyFlag(); - builder.withLongField( - EarlybirdFieldConstant.SHARED_STATUS_ID_CSF.getFieldName(), - inReplyToStatusId.get()); - builder.withLongField( - EarlybirdFieldConstant.IN_REPLY_TO_TWEET_ID_FIELD.getFieldName(), - inReplyToStatusId.get()); - } - if (inReplyToUserId.isPresent()) { - builder.withReplyFlag(); - builder.withInReplyToUserID(inReplyToUserId.get()); - } - } - } - - /** - * Build the engagement fields. - */ - public static void buildNormalizedMinEngagementFields( - EarlybirdThriftDocumentBuilder builder, - EarlybirdEncodedFeatures encodedFeatures, - EarlybirdCluster cluster) throws IOException { - if (EarlybirdCluster.isArchive(cluster)) { - int favoriteCount = encodedFeatures.getFeatureValue(EarlybirdFieldConstant.FAVORITE_COUNT); - int retweetCount = encodedFeatures.getFeatureValue(EarlybirdFieldConstant.RETWEET_COUNT); - int replyCount = encodedFeatures.getFeatureValue(EarlybirdFieldConstant.REPLY_COUNT); - builder - .withNormalizedMinEngagementField( - EarlybirdFieldConstant.NORMALIZED_FAVORITE_COUNT_GREATER_THAN_OR_EQUAL_TO_FIELD - .getFieldName(), - favoriteCount); - builder - .withNormalizedMinEngagementField( - EarlybirdFieldConstant.NORMALIZED_RETWEET_COUNT_GREATER_THAN_OR_EQUAL_TO_FIELD - .getFieldName(), - retweetCount); - builder - .withNormalizedMinEngagementField( - EarlybirdFieldConstant.NORMALIZED_REPLY_COUNT_GREATER_THAN_OR_EQUAL_TO_FIELD - .getFieldName(), - replyCount); - } - } - - /** - * As seen in SEARCH-5617, we sometimes have incorrect createdAt. This method tries to fix them - * by extracting creation time from snowflake when possible. - */ - public static long fixCreatedAtTimeStampIfNecessary(long id, long createdAtMs) { - if (createdAtMs < VALID_CREATION_TIME_THRESHOLD_MILLIS - && id > SnowflakeIdParser.SNOWFLAKE_ID_LOWER_BOUND) { - // This tweet has a snowflake ID, and we can extract timestamp from the ID. - ADJUSTED_BAD_CREATED_AT_COUNTER.increment(); - return SnowflakeIdParser.getTimestampFromTweetId(id); - } else if (!SnowflakeIdParser.isTweetIDAndCreatedAtConsistent(id, createdAtMs)) { - LOG.error( - "Found inconsistent tweet ID and created at timestamp: [statusID={}], [createdAtMs={}]", - id, createdAtMs); - INCONSISTENT_TWEET_ID_AND_CREATED_AT_MS.increment(); - } - - return createdAtMs; - } -} diff --git a/src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.docx b/src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.docx new file mode 100644 index 0000000000000000000000000000000000000000..fe5e99466b1f637bb54776e25c18061263cc8bb9 GIT binary patch literal 37928 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.java b/src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.java deleted file mode 100644 index 1ed40bcd4..000000000 --- a/src/java/com/twitter/search/common/converter/earlybird/CombinedIndexingConverter.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.twitter.search.common.converter.earlybird; - -import java.io.IOException; -import java.util.List; - -import javax.annotation.concurrent.NotThreadSafe; - -import com.google.common.base.Preconditions; - -import com.twitter.common_internal.text.version.PenguinVersion; -import com.twitter.search.common.indexing.thriftjava.ThriftVersionedEvents; -import com.twitter.search.common.relevance.entities.TwitterMessage; -import com.twitter.search.common.schema.base.ImmutableSchemaInterface; -import com.twitter.search.common.schema.base.Schema; -import com.twitter.search.common.schema.earlybird.EarlybirdCluster; -import com.twitter.search.common.schema.earlybird.EarlybirdThriftDocumentBuilder; -import com.twitter.search.common.schema.thriftjava.ThriftDocument; -import com.twitter.search.common.schema.thriftjava.ThriftIndexingEvent; -import com.twitter.search.common.schema.thriftjava.ThriftIndexingEventType; - -/** - * CombinedIndexingConverter builds objects from TwitterMessage to ThriftVersionedEvent. - * - * It is used in tests and in offline jobs, so all data is available on the TwitterMessage. This - * means that we don't need to split up the ThriftVersionedEvents into basic events and update - * events, like we do in the realtime pipeline using the BasicIndexingConverter and the - * DelayedIndexingConverter. - */ -@NotThreadSafe -public class CombinedIndexingConverter { - private final EncodedFeatureBuilder featureBuilder; - private final Schema schema; - private final EarlybirdCluster cluster; - - public CombinedIndexingConverter(Schema schema, EarlybirdCluster cluster) { - this.featureBuilder = new EncodedFeatureBuilder(); - this.schema = schema; - this.cluster = cluster; - } - - /** - * Converts a TwitterMessage to a Thrift representation. - */ - public ThriftVersionedEvents convertMessageToThrift( - TwitterMessage message, - boolean strict, - List penguinVersions) throws IOException { - Preconditions.checkNotNull(message); - Preconditions.checkNotNull(penguinVersions); - - ThriftVersionedEvents versionedEvents = new ThriftVersionedEvents() - .setId(message.getId()); - - ImmutableSchemaInterface schemaSnapshot = schema.getSchemaSnapshot(); - - for (PenguinVersion penguinVersion : penguinVersions) { - ThriftDocument document = - buildDocumentForPenguinVersion(schemaSnapshot, message, strict, penguinVersion); - - ThriftIndexingEvent thriftIndexingEvent = new ThriftIndexingEvent() - .setDocument(document) - .setEventType(ThriftIndexingEventType.INSERT) - .setSortId(message.getId()); - message.getFromUserTwitterId().map(thriftIndexingEvent::setUid); - versionedEvents.putToVersionedEvents(penguinVersion.getByteValue(), thriftIndexingEvent); - } - - return versionedEvents; - } - - private ThriftDocument buildDocumentForPenguinVersion( - ImmutableSchemaInterface schemaSnapshot, - TwitterMessage message, - boolean strict, - PenguinVersion penguinVersion) throws IOException { - EncodedFeatureBuilder.TweetFeatureWithEncodeFeatures tweetFeature = - featureBuilder.createTweetFeaturesFromTwitterMessage( - message, penguinVersion, schemaSnapshot); - - EarlybirdThriftDocumentBuilder builder = - BasicIndexingConverter.buildBasicFields(message, schemaSnapshot, cluster, tweetFeature); - - BasicIndexingConverter - .buildUserFields(builder, message, tweetFeature.versionedFeatures, penguinVersion); - BasicIndexingConverter.buildGeoFields(builder, message, tweetFeature.versionedFeatures); - DelayedIndexingConverter.buildURLFields(builder, message, tweetFeature.encodedFeatures); - BasicIndexingConverter.buildRetweetAndReplyFields(builder, message, strict); - BasicIndexingConverter.buildQuotesFields(builder, message); - BasicIndexingConverter.buildVersionedFeatureFields(builder, tweetFeature.versionedFeatures); - DelayedIndexingConverter.buildCardFields(builder, message, penguinVersion); - BasicIndexingConverter.buildAnnotationFields(builder, message); - BasicIndexingConverter.buildNormalizedMinEngagementFields( - builder, tweetFeature.encodedFeatures, cluster); - DelayedIndexingConverter.buildNamedEntityFields(builder, message); - BasicIndexingConverter.buildDirectedAtFields(builder, message); - - return builder.build(); - } -} diff --git a/src/java/com/twitter/search/common/converter/earlybird/DelayedIndexingConverter.docx b/src/java/com/twitter/search/common/converter/earlybird/DelayedIndexingConverter.docx new file mode 100644 index 0000000000000000000000000000000000000000..5e7f3dfc153e950d46f10421cd90a73518883953 GIT binary patch literal 43254 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 UPDATED_FLAGS = - Lists.newArrayList( - EarlybirdFieldConstants.EarlybirdFieldConstant.IS_OFFENSIVE_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_LINK_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.IS_SENSITIVE_CONTENT, - EarlybirdFieldConstants.EarlybirdFieldConstant.TEXT_SCORE, - EarlybirdFieldConstants.EarlybirdFieldConstant.TWEET_SIGNATURE, - EarlybirdFieldConstants.EarlybirdFieldConstant.LINK_LANGUAGE, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_IMAGE_URL_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_VIDEO_URL_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_NEWS_URL_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_EXPANDO_CARD_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_MULTIPLE_MEDIA_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_CARD_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_VISIBLE_LINK_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_CONSUMER_VIDEO_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_PRO_VIDEO_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_VINE_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_PERISCOPE_FLAG, - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_NATIVE_IMAGE_FLAG - ); - - private static final Logger LOG = LoggerFactory.getLogger(DelayedIndexingConverter.class); - private static final String AMPLIFY_CARD_NAME = "amplify"; - private static final String PLAYER_CARD_NAME = "player"; - - private final EncodedFeatureBuilder featureBuilder = new EncodedFeatureBuilder(); - - private final Schema schema; - private final Decider decider; - - public DelayedIndexingConverter(Schema schema, Decider decider) { - this.schema = schema; - this.decider = decider; - } - - /** - * Converts the given message to two ThriftVersionedEvents instances: the first one is a feature - * update event for all link and card related flags, and the second one is the append event that - * might contain updates to all link and card related fields. - * - * We need to split the updates to fields and flags into two separate events because: - * - When a tweet is created, earlybirds get the "main" event, which does not have resolved URLs. - * - Then the earlybirds might get a feature update from the signal ingesters, marking the tweet - * as spam. - * - Then the ingesters resolve the URLs and send an update event. At this point, the ingesters - * need to send updates for link-related flags too (HAS_LINK_FLAG, etc.). And there are a few - * ways to do this: - * 1. Encode these flags into encoded_tweet_features and extended_encoded_tweet_features and - * add these fields to the update event. The problem is that earlybirds will then override - * the encoded_tweet_features ane extended_encoded_tweet_features fields in the index for - * this tweet, which will override the feature update the earlybirds got earlier, which - * means that a spammy tweet might no longer be marked as spam in the index. - * 2. Send updates only for the flags that might've been updated by this converter. Since - * ThriftIndexingEvent already has a map of field -> value, it seems like the natural place - * to add these updates to. However, earlybirds can correctly process flag updates only if - * they come in a feature update event (PARTIAL_UPDATE). So we need to send the field - * updates in an OUT_OF_ORDER_UPDATE event, and the flag updates in a PARTIAL_UPDATE event. - * - * We need to send the feature update event before the append event to avoid issues like the one - * in SEARCH-30919 where tweets were returned from the card name field index before the HAS_CARD - * feature was updated to true. - * - * @param message The TwitterMessage to convert. - * @param penguinVersions The Penguin versions for which ThriftIndexingEvents should be created. - * @return An out of order update event for all link- and card-related fields and a feature update - * event for all link- and card-related flags. - */ - public List convertMessageToOutOfOrderAppendAndFeatureUpdate( - TwitterMessage message, List penguinVersions) { - Preconditions.checkNotNull(message); - Preconditions.checkNotNull(penguinVersions); - - ThriftVersionedEvents featureUpdateVersionedEvents = new ThriftVersionedEvents(); - ThriftVersionedEvents outOfOrderAppendVersionedEvents = new ThriftVersionedEvents(); - ImmutableSchemaInterface schemaSnapshot = schema.getSchemaSnapshot(); - - for (PenguinVersion penguinVersion : penguinVersions) { - ThriftDocumentWithEncodedTweetFeatures documentWithEncodedFeatures = - buildDocumentForPenguinVersion(schemaSnapshot, message, penguinVersion); - - ThriftIndexingEvent featureUpdateThriftIndexingEvent = new ThriftIndexingEvent(); - featureUpdateThriftIndexingEvent.setEventType(ThriftIndexingEventType.PARTIAL_UPDATE); - featureUpdateThriftIndexingEvent.setUid(message.getId()); - featureUpdateThriftIndexingEvent.setDocument( - buildFeatureUpdateDocument(documentWithEncodedFeatures.getEncodedFeatures())); - featureUpdateVersionedEvents.putToVersionedEvents( - penguinVersion.getByteValue(), featureUpdateThriftIndexingEvent); - - ThriftIndexingEvent outOfOrderAppendThriftIndexingEvent = new ThriftIndexingEvent(); - outOfOrderAppendThriftIndexingEvent.setDocument(documentWithEncodedFeatures.getDocument()); - outOfOrderAppendThriftIndexingEvent.setEventType(ThriftIndexingEventType.OUT_OF_ORDER_APPEND); - message.getFromUserTwitterId().ifPresent(outOfOrderAppendThriftIndexingEvent::setUid); - outOfOrderAppendThriftIndexingEvent.setSortId(message.getId()); - outOfOrderAppendVersionedEvents.putToVersionedEvents( - penguinVersion.getByteValue(), outOfOrderAppendThriftIndexingEvent); - } - - featureUpdateVersionedEvents.setId(message.getId()); - outOfOrderAppendVersionedEvents.setId(message.getId()); - - return Lists.newArrayList(featureUpdateVersionedEvents, outOfOrderAppendVersionedEvents); - } - - private ThriftDocument buildFeatureUpdateDocument(EarlybirdEncodedFeatures encodedFeatures) { - ThriftDocument document = new ThriftDocument(); - for (EarlybirdFieldConstants.EarlybirdFieldConstant flag : UPDATED_FLAGS) { - ThriftField field = new ThriftField(); - field.setFieldConfigId(flag.getFieldId()); - field.setFieldData(new ThriftFieldData().setIntValue(encodedFeatures.getFeatureValue(flag))); - document.addToFields(field); - } - return document; - } - - private ThriftDocumentWithEncodedTweetFeatures buildDocumentForPenguinVersion( - ImmutableSchemaInterface schemaSnapshot, - TwitterMessage message, - PenguinVersion penguinVersion) { - - EarlybirdEncodedFeatures encodedFeatures = featureBuilder.createTweetFeaturesFromTwitterMessage( - message, penguinVersion, schemaSnapshot).encodedFeatures; - - EarlybirdThriftDocumentBuilder builder = new EarlybirdThriftDocumentBuilder( - encodedFeatures, - null, - new EarlybirdFieldConstants(), - schemaSnapshot); - - builder.setAddLatLonCSF(false); - builder.withID(message.getId()); - buildFieldsFromUrlInfo(builder, message, penguinVersion, encodedFeatures); - buildCardFields(builder, message, penguinVersion); - buildNamedEntityFields(builder, message); - builder.withTweetSignature(message.getTweetSignature(penguinVersion)); - - buildSpaceAdminAndTitleFields(builder, message, penguinVersion); - - builder.setAddEncodedTweetFeatures(false); - - return new ThriftDocumentWithEncodedTweetFeatures(builder.build(), encodedFeatures); - } - - public static void buildNamedEntityFields( - EarlybirdThriftDocumentBuilder builder, TwitterMessage message) { - for (NamedEntity namedEntity : message.getNamedEntities()) { - builder.withNamedEntity(namedEntity); - } - } - - private void buildFieldsFromUrlInfo( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - PenguinVersion penguinVersion, - EarlybirdEncodedFeatures encodedFeatures) { - // We need to update the RESOLVED_LINKS_TEXT_FIELD, since we might have new resolved URLs. - // Use the same logic as in EncodedFeatureBuilder.java. - TweetTextFeatures textFeatures = message.getTweetTextFeatures(penguinVersion); - String resolvedUrlsText = Joiner.on(" ").skipNulls().join(textFeatures.getResolvedUrlTokens()); - builder.withResolvedLinksText(resolvedUrlsText); - - buildURLFields(builder, message, encodedFeatures); - buildAnalyzedURLFields(builder, message, penguinVersion); - } - - private void buildAnalyzedURLFields( - EarlybirdThriftDocumentBuilder builder, TwitterMessage message, PenguinVersion penguinVersion - ) { - TOTAL_URLS.add(message.getExpandedUrls().size()); - if (DeciderUtil.isAvailableForRandomRecipient( - decider, - INDEX_URL_DESCRIPTION_AND_TITLE_DECIDER)) { - for (ThriftExpandedUrl expandedUrl : message.getExpandedUrls()) { - /* - Consumer Media URLs are added to the expanded URLs in - TweetEventParserHelper.addMediaEntitiesToMessage. These Twitter.com media URLs contain - the tweet text as the description and the title is " on Twitter". This is - redundant information at best and misleading at worst. We will ignore these URLs to avoid - polluting the url_description and url_title field as well as saving space. - */ - if (!expandedUrl.isSetConsumerMedia() || !expandedUrl.isConsumerMedia()) { - NON_MEDIA_URLS_ON_TWEETS.increment(); - if (expandedUrl.isSetDescription()) { - buildTweetTokenizerTokenizedField(builder, - EarlybirdFieldConstants.EarlybirdFieldConstant.URL_DESCRIPTION_FIELD.getFieldName(), - expandedUrl.getDescription(), - penguinVersion); - } - if (expandedUrl.isSetTitle()) { - buildTweetTokenizerTokenizedField(builder, - EarlybirdFieldConstants.EarlybirdFieldConstant.URL_TITLE_FIELD.getFieldName(), - expandedUrl.getTitle(), - penguinVersion); - } - } else { - MEDIA_URLS_ON_TWEETS.increment(); - } - } - } - } - - /** - * Build the URL based fields from a tweet. - */ - public static void buildURLFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - EarlybirdEncodedFeatures encodedFeatures - ) { - Map expandedUrlMap = message.getExpandedUrlMap(); - - for (ThriftExpandedUrl expandedUrl : expandedUrlMap.values()) { - if (expandedUrl.getMediaType() == MediaTypes.NATIVE_IMAGE) { - EncodedFeatureBuilder.addPhotoUrl(message, expandedUrl.getCanonicalLastHopUrl()); - } - } - - // now add all twitter photos links that came with the tweet's payload - Map photos = message.getPhotoUrls(); - List photoURLs = new ArrayList<>(); - if (photos != null) { - for (Map.Entry entry : photos.entrySet()) { - TwitterPhotoUrl photo = new TwitterPhotoUrl(entry.getKey()); - String mediaUrl = entry.getValue(); - if (mediaUrl != null) { - photo.setMediaUrl(mediaUrl); - } - photoURLs.add(photo); - } - } - - try { - builder - .withURLs(Lists.newArrayList(expandedUrlMap.values())) - .withTwimgURLs(photoURLs); - } catch (IOException ioe) { - LOG.error("URL field creation threw an IOException", ioe); - } - - - if (encodedFeatures.isFlagSet( - EarlybirdFieldConstants.EarlybirdFieldConstant.IS_OFFENSIVE_FLAG)) { - builder.withOffensiveFlag(); - } - if (encodedFeatures.isFlagSet( - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_CONSUMER_VIDEO_FLAG)) { - builder.addFilterInternalFieldTerm( - EarlybirdFieldConstants.EarlybirdFieldConstant.CONSUMER_VIDEO_FILTER_TERM); - } - if (encodedFeatures.isFlagSet( - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_PRO_VIDEO_FLAG)) { - builder.addFilterInternalFieldTerm( - EarlybirdFieldConstants.EarlybirdFieldConstant.PRO_VIDEO_FILTER_TERM); - } - if (encodedFeatures.isFlagSet(EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_VINE_FLAG)) { - builder.addFilterInternalFieldTerm( - EarlybirdFieldConstants.EarlybirdFieldConstant.VINE_FILTER_TERM); - } - if (encodedFeatures.isFlagSet( - EarlybirdFieldConstants.EarlybirdFieldConstant.HAS_PERISCOPE_FLAG)) { - builder.addFilterInternalFieldTerm( - EarlybirdFieldConstants.EarlybirdFieldConstant.PERISCOPE_FILTER_TERM); - } - } - - /** - * Build the card information inside ThriftIndexingEvent's fields. - */ - static void buildCardFields(EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - PenguinVersion penguinVersion) { - if (message.hasCard()) { - SearchCard2 card = buildSearchCardFromTwitterMessage( - message, - TweetTokenStreamSerializer.getTweetTokenStreamSerializer(), - penguinVersion); - buildCardFeatures(message.getId(), builder, card); - } - } - - private static SearchCard2 buildSearchCardFromTwitterMessage( - TwitterMessage message, - TokenStreamSerializer streamSerializer, - PenguinVersion penguinVersion) { - SearchCard2 card = new SearchCard2(); - card.setCardName(message.getCardName()); - if (message.getCardDomain() != null) { - card.setCardDomain(message.getCardDomain()); - } - if (message.getCardLang() != null) { - card.setCardLang(message.getCardLang()); - } - if (message.getCardUrl() != null) { - card.setCardUrl(message.getCardUrl()); - } - - if (message.getCardTitle() != null && !message.getCardTitle().isEmpty()) { - String normalizedTitle = NormalizerHelper.normalize( - message.getCardTitle(), message.getLocale(), penguinVersion); - TokenizerResult result = TokenizerHelper.tokenizeTweet( - normalizedTitle, message.getLocale(), penguinVersion); - TokenizedCharSequenceStream tokenSeqStream = new TokenizedCharSequenceStream(); - tokenSeqStream.reset(result.tokenSequence); - try { - card.setCardTitleTokenStream(streamSerializer.serialize(tokenSeqStream)); - card.setCardTitleTokenStreamText(result.tokenSequence.toString()); - } catch (IOException e) { - LOG.error("TwitterTokenStream serialization error! Could not serialize card title: " - + result.tokenSequence); - card.unsetCardTitleTokenStream(); - card.unsetCardTitleTokenStreamText(); - } - } - if (message.getCardDescription() != null && !message.getCardDescription().isEmpty()) { - String normalizedDesc = NormalizerHelper.normalize( - message.getCardDescription(), message.getLocale(), penguinVersion); - TokenizerResult result = TokenizerHelper.tokenizeTweet( - normalizedDesc, message.getLocale(), penguinVersion); - TokenizedCharSequenceStream tokenSeqStream = new TokenizedCharSequenceStream(); - tokenSeqStream.reset(result.tokenSequence); - try { - card.setCardDescriptionTokenStream(streamSerializer.serialize(tokenSeqStream)); - card.setCardDescriptionTokenStreamText(result.tokenSequence.toString()); - } catch (IOException e) { - LOG.error("TwitterTokenStream serialization error! Could not serialize card description: " - + result.tokenSequence); - card.unsetCardDescriptionTokenStream(); - card.unsetCardDescriptionTokenStreamText(); - } - } - - return card; - } - - /** - * Builds card features. - */ - private static void buildCardFeatures( - long tweetId, EarlybirdThriftDocumentBuilder builder, SearchCard2 card) { - if (card == null) { - return; - } - builder - .withTokenStreamField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_TITLE_FIELD.getFieldName(), - card.getCardTitleTokenStreamText(), - card.isSetCardTitleTokenStream() ? card.getCardTitleTokenStream() : null) - .withTokenStreamField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_DESCRIPTION_FIELD.getFieldName(), - card.getCardDescriptionTokenStreamText(), - card.isSetCardDescriptionTokenStream() ? card.getCardDescriptionTokenStream() : null) - .withStringField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_NAME_FIELD.getFieldName(), - card.getCardName()) - .withIntField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_TYPE_CSF_FIELD.getFieldName(), - SearchCardType.cardTypeFromStringName(card.getCardName()).getByteValue()); - - if (card.getCardLang() != null) { - builder.withStringField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_LANG.getFieldName(), - card.getCardLang()).withIntField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_LANG_CSF.getFieldName(), - ThriftLanguageUtil.getThriftLanguageOf(card.getCardLang()).getValue()); - } - if (card.getCardDomain() != null) { - builder.withStringField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_DOMAIN_FIELD.getFieldName(), - card.getCardDomain()); - } - if (card.getCardUrl() != null) { - NUM_TWEETS_WITH_CARD_URL.increment(); - if (card.getCardUrl().startsWith("card://")) { - String suffix = card.getCardUrl().replace("card://", ""); - if (StringUtils.isNumeric(suffix)) { - NUM_TWEETS_WITH_NUMERIC_CARD_URI.increment(); - builder.withLongField( - EarlybirdFieldConstants.EarlybirdFieldConstant.CARD_URI_CSF.getFieldName(), - Long.parseLong(suffix)); - LOG.debug(String.format( - "Good card URL for tweet %s: %s", - tweetId, - card.getCardUrl())); - } else { - NUM_TWEETS_WITH_INVALID_CARD_URI.increment(); - LOG.debug(String.format( - "Card URL starts with \"card://\" but followed by non-numeric for tweet %s: %s", - tweetId, - card.getCardUrl())); - } - } - } - if (isCardVideo(card)) { - // Add into "internal" field so that this tweet is returned by filter:videos. - builder.addFacetSkipList( - EarlybirdFieldConstants.EarlybirdFieldConstant.VIDEO_LINKS_FIELD.getFieldName()); - } - } - - /** - * Determines if a card is a video. - */ - private static boolean isCardVideo(@Nullable SearchCard2 card) { - if (card == null) { - return false; - } - return AMPLIFY_CARD_NAME.equalsIgnoreCase(card.getCardName()) - || PLAYER_CARD_NAME.equalsIgnoreCase(card.getCardName()); - } - - private void buildSpaceAdminAndTitleFields( - EarlybirdThriftDocumentBuilder builder, - TwitterMessage message, - PenguinVersion penguinVersion) { - - buildSpaceAdminFields(builder, message.getSpaceAdmins(), penguinVersion); - - // build the space title field. - buildTweetTokenizerTokenizedField( - builder, - EarlybirdFieldConstants.EarlybirdFieldConstant.SPACE_TITLE_FIELD.getFieldName(), - message.getSpaceTitle(), - penguinVersion); - } - - private void buildSpaceAdminFields( - EarlybirdThriftDocumentBuilder builder, - Set spaceAdmins, - PenguinVersion penguinVersion) { - - for (TwitterMessageUser spaceAdmin : spaceAdmins) { - if (spaceAdmin.getScreenName().isPresent()) { - // build screen name (aka handle) fields. - String screenName = spaceAdmin.getScreenName().get(); - String normalizedScreenName = - NormalizerHelper.normalizeWithUnknownLocale(screenName, penguinVersion); - - builder.withStringField( - EarlybirdFieldConstants.EarlybirdFieldConstant.SPACE_ADMIN_FIELD.getFieldName(), - normalizedScreenName); - builder.withWhiteSpaceTokenizedScreenNameField( - EarlybirdFieldConstants - .EarlybirdFieldConstant.TOKENIZED_SPACE_ADMIN_FIELD.getFieldName(), - normalizedScreenName); - - if (spaceAdmin.getTokenizedScreenName().isPresent()) { - builder.withCamelCaseTokenizedScreenNameField( - EarlybirdFieldConstants - .EarlybirdFieldConstant.CAMELCASE_TOKENIZED_SPACE_ADMIN_FIELD.getFieldName(), - screenName, - normalizedScreenName, - spaceAdmin.getTokenizedScreenName().get()); - } - } - - if (spaceAdmin.getDisplayName().isPresent()) { - buildTweetTokenizerTokenizedField( - builder, - EarlybirdFieldConstants - .EarlybirdFieldConstant.TOKENIZED_SPACE_ADMIN_DISPLAY_NAME_FIELD.getFieldName(), - spaceAdmin.getDisplayName().get(), - penguinVersion); - } - } - } - - private void buildTweetTokenizerTokenizedField( - EarlybirdThriftDocumentBuilder builder, - String fieldName, - String text, - PenguinVersion penguinVersion) { - - if (StringUtils.isNotEmpty(text)) { - Locale locale = LanguageIdentifierHelper - .identifyLanguage(text); - String normalizedText = NormalizerHelper.normalize( - text, locale, penguinVersion); - TokenizerResult result = TokenizerHelper - .tokenizeTweet(normalizedText, locale, penguinVersion); - TokenizedCharSequenceStream tokenSeqStream = new TokenizedCharSequenceStream(); - tokenSeqStream.reset(result.tokenSequence); - TokenStreamSerializer streamSerializer = - TweetTokenStreamSerializer.getTweetTokenStreamSerializer(); - try { - builder.withTokenStreamField( - fieldName, - result.tokenSequence.toString(), - streamSerializer.serialize(tokenSeqStream)); - } catch (IOException e) { - LOG.error("TwitterTokenStream serialization error! Could not serialize: " + text); - } - } - } -} diff --git a/src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.docx b/src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5e13f68f74d50ab9c82ab3256e2bd25cc68ee41 GIT binary patch literal 43018 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.java b/src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.java deleted file mode 100644 index c5d6b1c76..000000000 --- a/src/java/com/twitter/search/common/converter/earlybird/EncodedFeatureBuilder.java +++ /dev/null @@ -1,531 +0,0 @@ -package com.twitter.search.common.converter.earlybird; - -import java.io.IOException; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - -import org.apache.commons.lang.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.twitter.common.text.token.TokenizedCharSequence; -import com.twitter.common.text.token.TokenizedCharSequenceStream; -import com.twitter.common.text.util.TokenStreamSerializer; -import com.twitter.common_internal.text.version.PenguinVersion; -import com.twitter.search.common.indexing.thriftjava.Place; -import com.twitter.search.common.indexing.thriftjava.PotentialLocation; -import com.twitter.search.common.indexing.thriftjava.ProfileGeoEnrichment; -import com.twitter.search.common.indexing.thriftjava.ThriftExpandedUrl; -import com.twitter.search.common.indexing.thriftjava.VersionedTweetFeatures; -import com.twitter.search.common.metrics.SearchCounter; -import com.twitter.search.common.relevance.entities.PotentialLocationObject; -import com.twitter.search.common.relevance.entities.TwitterMessage; -import com.twitter.search.common.relevance.features.FeatureSink; -import com.twitter.search.common.relevance.features.MutableFeatureNormalizers; -import com.twitter.search.common.relevance.features.RelevanceSignalConstants; -import com.twitter.search.common.relevance.features.TweetTextFeatures; -import com.twitter.search.common.relevance.features.TweetTextQuality; -import com.twitter.search.common.relevance.features.TweetUserFeatures; -import com.twitter.search.common.schema.base.FeatureConfiguration; -import com.twitter.search.common.schema.base.ImmutableSchemaInterface; -import com.twitter.search.common.schema.earlybird.EarlybirdEncodedFeatures; -import com.twitter.search.common.schema.earlybird.EarlybirdFieldConstants.EarlybirdFieldConstant; -import com.twitter.search.common.util.lang.ThriftLanguageUtil; -import com.twitter.search.common.util.text.LanguageIdentifierHelper; -import com.twitter.search.common.util.text.NormalizerHelper; -import com.twitter.search.common.util.text.SourceNormalizer; -import com.twitter.search.common.util.text.TokenizerHelper; -import com.twitter.search.common.util.text.TokenizerResult; -import com.twitter.search.common.util.text.TweetTokenStreamSerializer; -import com.twitter.search.common.util.url.LinkVisibilityUtils; -import com.twitter.search.common.util.url.NativeVideoClassificationUtils; -import com.twitter.search.ingester.model.VisibleTokenRatioUtil; - -/** - * EncodedFeatureBuilder helps to build encoded features for TwitterMessage. - * - * This is stateful so should only be used one tweet at a time - */ -public class EncodedFeatureBuilder { - private static final Logger LOG = LoggerFactory.getLogger(EncodedFeatureBuilder.class); - - private static final SearchCounter NUM_TWEETS_WITH_INVALID_TWEET_ID_IN_PHOTO_URL = - SearchCounter.export("tweets_with_invalid_tweet_id_in_photo_url"); - - // TwitterTokenStream for converting TokenizedCharSequence into a stream for serialization - // This is stateful so should only be used one tweet at a time - private final TokenizedCharSequenceStream tokenSeqStream = new TokenizedCharSequenceStream(); - - // SUPPRESS CHECKSTYLE:OFF LineLength - private static final Pattern TWITTER_PHOTO_PERMA_LINK_PATTERN = - Pattern.compile("(?i:^(?:(?:https?\\:\\/\\/)?(?:www\\.)?)?twitter\\.com\\/(?:\\?[^#]+)?(?:#!?\\/?)?\\w{1,20}\\/status\\/(\\d+)\\/photo\\/\\d*$)"); - - private static final Pattern TWITTER_PHOTO_COPY_PASTE_LINK_PATTERN = - Pattern.compile("(?i:^(?:(?:https?\\:\\/\\/)?(?:www\\.)?)?twitter\\.com\\/(?:#!?\\/)?\\w{1,20}\\/status\\/(\\d+)\\/photo\\/\\d*$)"); - // SUPPRESS CHECKSTYLE:ON LineLength - - private static final VisibleTokenRatioUtil VISIBLE_TOKEN_RATIO = new VisibleTokenRatioUtil(); - - private static final Map SERIALIZE_FAILURE_COUNTERS_MAP = - Maps.newEnumMap(PenguinVersion.class); - static { - for (PenguinVersion penguinVersion : PenguinVersion.values()) { - SERIALIZE_FAILURE_COUNTERS_MAP.put( - penguinVersion, - SearchCounter.export( - "tokenstream_serialization_failure_" + penguinVersion.name().toLowerCase())); - } - } - - public static class TweetFeatureWithEncodeFeatures { - public final VersionedTweetFeatures versionedFeatures; - public final EarlybirdEncodedFeatures encodedFeatures; - public final EarlybirdEncodedFeatures extendedEncodedFeatures; - - public TweetFeatureWithEncodeFeatures( - VersionedTweetFeatures versionedFeatures, - EarlybirdEncodedFeatures encodedFeatures, - EarlybirdEncodedFeatures extendedEncodedFeatures) { - this.versionedFeatures = versionedFeatures; - this.encodedFeatures = encodedFeatures; - this.extendedEncodedFeatures = extendedEncodedFeatures; - } - } - - /** - * Create tweet text features and the encoded features. - * - * @param message the tweet message - * @param penguinVersion the based penguin version to create the features - * @param schemaSnapshot the schema associated with the features - * @return the text features and the encoded features - */ - public TweetFeatureWithEncodeFeatures createTweetFeaturesFromTwitterMessage( - TwitterMessage message, - PenguinVersion penguinVersion, - ImmutableSchemaInterface schemaSnapshot) { - VersionedTweetFeatures versionedTweetFeatures = new VersionedTweetFeatures(); - - // Write extendedPackedFeatures. - EarlybirdEncodedFeatures extendedEncodedFeatures = - createExtendedEncodedFeaturesFromTwitterMessage(message, penguinVersion, schemaSnapshot); - if (extendedEncodedFeatures != null) { - extendedEncodedFeatures - .writeExtendedFeaturesToVersionedTweetFeatures(versionedTweetFeatures); - } - - setSourceAndNormalizedSource( - message.getStrippedSource(), versionedTweetFeatures, penguinVersion); - - TweetTextFeatures textFeatures = message.getTweetTextFeatures(penguinVersion); - - /////////////////////////////// - // Add hashtags and mentions - textFeatures.getHashtags().forEach(versionedTweetFeatures::addToHashtags); - textFeatures.getMentions().forEach(versionedTweetFeatures::addToMentions); - - /////////////////////////////// - // Extract some extra information from the message text. - // Index stock symbols with $ prepended - textFeatures.getStocks().stream() - .filter(stock -> stock != null) - .forEach(stock -> versionedTweetFeatures.addToStocks(stock.toLowerCase())); - - // Question marks - versionedTweetFeatures.setHasQuestionMark(textFeatures.hasQuestionMark()); - // Smileys - versionedTweetFeatures.setHasPositiveSmiley(textFeatures.hasPositiveSmiley()); - versionedTweetFeatures.setHasNegativeSmiley(textFeatures.hasNegativeSmiley()); - - TokenStreamSerializer streamSerializer = - TweetTokenStreamSerializer.getTweetTokenStreamSerializer(); - TokenizedCharSequence tokenSeq = textFeatures.getTokenSequence(); - tokenSeqStream.reset(tokenSeq); - int tokenPercent = VISIBLE_TOKEN_RATIO.extractAndNormalizeTokenPercentage(tokenSeqStream); - tokenSeqStream.reset(tokenSeq); - - // Write packedFeatures. - EarlybirdEncodedFeatures encodedFeatures = createEncodedFeaturesFromTwitterMessage( - message, penguinVersion, schemaSnapshot, tokenPercent); - encodedFeatures.writeFeaturesToVersionedTweetFeatures(versionedTweetFeatures); - - try { - versionedTweetFeatures.setTweetTokenStream(streamSerializer.serialize(tokenSeqStream)); - versionedTweetFeatures.setTweetTokenStreamText(tokenSeq.toString()); - } catch (IOException e) { - LOG.error("TwitterTokenStream serialization error! Could not serialize: " - + tokenSeq.toString()); - SERIALIZE_FAILURE_COUNTERS_MAP.get(penguinVersion).increment(); - versionedTweetFeatures.unsetTweetTokenStream(); - versionedTweetFeatures.unsetTweetTokenStreamText(); - } - - // User name features - if (message.getFromUserDisplayName().isPresent()) { - Locale locale = LanguageIdentifierHelper - .identifyLanguage(message.getFromUserDisplayName().get()); - String normalizedDisplayName = NormalizerHelper.normalize( - message.getFromUserDisplayName().get(), locale, penguinVersion); - TokenizerResult result = TokenizerHelper - .tokenizeTweet(normalizedDisplayName, locale, penguinVersion); - tokenSeqStream.reset(result.tokenSequence); - try { - versionedTweetFeatures.setUserDisplayNameTokenStream( - streamSerializer.serialize(tokenSeqStream)); - versionedTweetFeatures.setUserDisplayNameTokenStreamText(result.tokenSequence.toString()); - } catch (IOException e) { - LOG.error("TwitterTokenStream serialization error! Could not serialize: " - + message.getFromUserDisplayName().get()); - SERIALIZE_FAILURE_COUNTERS_MAP.get(penguinVersion).increment(); - versionedTweetFeatures.unsetUserDisplayNameTokenStream(); - versionedTweetFeatures.unsetUserDisplayNameTokenStreamText(); - } - } - - String resolvedUrlsText = Joiner.on(" ").skipNulls().join(textFeatures.getResolvedUrlTokens()); - versionedTweetFeatures.setNormalizedResolvedUrlText(resolvedUrlsText); - - addPlace(message, versionedTweetFeatures, penguinVersion); - addProfileGeoEnrichment(message, versionedTweetFeatures, penguinVersion); - - versionedTweetFeatures.setTweetSignature(message.getTweetSignature(penguinVersion)); - - return new TweetFeatureWithEncodeFeatures( - versionedTweetFeatures, encodedFeatures, extendedEncodedFeatures); - } - - - protected static void setSourceAndNormalizedSource( - String strippedSource, - VersionedTweetFeatures versionedTweetFeatures, - PenguinVersion penguinVersion) { - - if (strippedSource != null && !strippedSource.isEmpty()) { - // normalize source for searchable field - replaces whitespace with underscores (???). - versionedTweetFeatures.setNormalizedSource( - SourceNormalizer.normalize(strippedSource, penguinVersion)); - - // source facet has simpler normalization. - Locale locale = LanguageIdentifierHelper.identifyLanguage(strippedSource); - versionedTweetFeatures.setSource(NormalizerHelper.normalizeKeepCase( - strippedSource, locale, penguinVersion)); - } - } - - /** - * Adds the given photo url to the thrift status if it is a twitter photo permalink. - * Returns true, if this was indeed a twitter photo, false otherwise. - */ - public static boolean addPhotoUrl(TwitterMessage message, String photoPermalink) { - Matcher matcher = TWITTER_PHOTO_COPY_PASTE_LINK_PATTERN.matcher(photoPermalink); - if (!matcher.matches() || matcher.groupCount() < 1) { - matcher = TWITTER_PHOTO_PERMA_LINK_PATTERN.matcher(photoPermalink); - } - - if (matcher.matches() && matcher.groupCount() == 1) { - // this is a native photo url which we need to store in a separate field - String idStr = matcher.group(1); - if (idStr != null) { - // idStr should be a valid tweet ID (and therefore, should fit into a Long), but we have - // tweets for which idStr is a long sequence of digits that does not fit into a Long. - try { - long photoStatusId = Long.parseLong(idStr); - message.addPhotoUrl(photoStatusId, null); - } catch (NumberFormatException e) { - LOG.warn("Found a tweet with a photo URL with an invalid tweet ID: " + message); - NUM_TWEETS_WITH_INVALID_TWEET_ID_IN_PHOTO_URL.increment(); - } - } - return true; - } - return false; - } - - private void addPlace(TwitterMessage message, - VersionedTweetFeatures versionedTweetFeatures, - PenguinVersion penguinVersion) { - String placeId = message.getPlaceId(); - if (placeId == null) { - return; - } - - // Tweet.Place.id and Tweet.Place.full_name are both required fields. - String placeFullName = message.getPlaceFullName(); - Preconditions.checkNotNull(placeFullName, "Tweet.Place without full_name."); - - Locale placeFullNameLocale = LanguageIdentifierHelper.identifyLanguage(placeFullName); - String normalizedPlaceFullName = - NormalizerHelper.normalize(placeFullName, placeFullNameLocale, penguinVersion); - String tokenizedPlaceFullName = StringUtils.join( - TokenizerHelper.tokenizeQuery(normalizedPlaceFullName, placeFullNameLocale, penguinVersion), - " "); - - Place place = new Place(placeId, tokenizedPlaceFullName); - String placeCountryCode = message.getPlaceCountryCode(); - if (placeCountryCode != null) { - Locale placeCountryCodeLocale = LanguageIdentifierHelper.identifyLanguage(placeCountryCode); - place.setCountryCode( - NormalizerHelper.normalize(placeCountryCode, placeCountryCodeLocale, penguinVersion)); - } - - versionedTweetFeatures.setTokenizedPlace(place); - } - - private void addProfileGeoEnrichment(TwitterMessage message, - VersionedTweetFeatures versionedTweetFeatures, - PenguinVersion penguinVersion) { - List potentialLocations = message.getPotentialLocations(); - if (potentialLocations.isEmpty()) { - return; - } - - List thriftPotentialLocations = Lists.newArrayList(); - for (PotentialLocationObject potentialLocation : potentialLocations) { - thriftPotentialLocations.add(potentialLocation.toThriftPotentialLocation(penguinVersion)); - } - versionedTweetFeatures.setTokenizedProfileGeoEnrichment( - new ProfileGeoEnrichment(thriftPotentialLocations)); - } - - /** Returns the encoded features. */ - public static EarlybirdEncodedFeatures createEncodedFeaturesFromTwitterMessage( - TwitterMessage message, - PenguinVersion penguinVersion, - ImmutableSchemaInterface schema, - int normalizedTokenPercentBucket) { - FeatureSink sink = new FeatureSink(schema); - - // Static features - sink.setBooleanValue(EarlybirdFieldConstant.IS_RETWEET_FLAG, message.isRetweet()) - .setBooleanValue(EarlybirdFieldConstant.IS_REPLY_FLAG, message.isReply()) - .setBooleanValue( - EarlybirdFieldConstant.FROM_VERIFIED_ACCOUNT_FLAG, message.isUserVerified()) - .setBooleanValue( - EarlybirdFieldConstant.FROM_BLUE_VERIFIED_ACCOUNT_FLAG, message.isUserBlueVerified()) - .setBooleanValue(EarlybirdFieldConstant.IS_SENSITIVE_CONTENT, message.isSensitiveContent()); - - TweetTextFeatures textFeatures = message.getTweetTextFeatures(penguinVersion); - if (textFeatures != null) { - final FeatureConfiguration featureConfigNumHashtags = schema.getFeatureConfigurationByName( - EarlybirdFieldConstant.NUM_HASHTAGS.getFieldName()); - final FeatureConfiguration featureConfigNumMentions = schema.getFeatureConfigurationByName( - EarlybirdFieldConstant.NUM_MENTIONS.getFieldName()); - - sink.setNumericValue( - EarlybirdFieldConstant.NUM_HASHTAGS, - Math.min(textFeatures.getHashtagsSize(), featureConfigNumHashtags.getMaxValue())) - .setNumericValue( - EarlybirdFieldConstant.NUM_MENTIONS, - Math.min(textFeatures.getMentionsSize(), featureConfigNumMentions.getMaxValue())) - .setBooleanValue( - EarlybirdFieldConstant.HAS_MULTIPLE_HASHTAGS_OR_TRENDS_FLAG, - TwitterMessage.hasMultipleHashtagsOrTrends(textFeatures)) - .setBooleanValue( - EarlybirdFieldConstant.HAS_TREND_FLAG, - textFeatures.getTrendingTermsSize() > 0); - } - - TweetTextQuality textQuality = message.getTweetTextQuality(penguinVersion); - if (textQuality != null) { - sink.setNumericValue(EarlybirdFieldConstant.TEXT_SCORE, textQuality.getTextScore()); - sink.setBooleanValue( - EarlybirdFieldConstant.IS_OFFENSIVE_FLAG, - textQuality.hasBoolQuality(TweetTextQuality.BooleanQualityType.OFFENSIVE) - || textQuality.hasBoolQuality(TweetTextQuality.BooleanQualityType.OFFENSIVE_USER) - // Note: if json message "possibly_sensitive" flag is set, we consider the tweet - // sensitive and is currently filtered out in safe search mode via a hacky setup: - // earlybird does not create _filter_sensitive_content field, only - // _is_offensive field is created, and used in filter:safe operator - || textQuality.hasBoolQuality(TweetTextQuality.BooleanQualityType.SENSITIVE)); - if (textQuality.hasBoolQuality(TweetTextQuality.BooleanQualityType.SENSITIVE)) { - sink.setBooleanValue(EarlybirdFieldConstant.IS_SENSITIVE_CONTENT, true); - } - } else { - // we don't have text score, for whatever reason, set to sentinel value so we won't be - // skipped by scoring function - sink.setNumericValue(EarlybirdFieldConstant.TEXT_SCORE, - RelevanceSignalConstants.UNSET_TEXT_SCORE_SENTINEL); - } - - if (message.isSetLocale()) { - sink.setNumericValue(EarlybirdFieldConstant.LANGUAGE, - ThriftLanguageUtil.getThriftLanguageOf(message.getLocale()).getValue()); - } - - // User features - TweetUserFeatures userFeatures = message.getTweetUserFeatures(penguinVersion); - if (userFeatures != null) { - sink.setBooleanValue(EarlybirdFieldConstant.IS_USER_SPAM_FLAG, userFeatures.isSpam()) - .setBooleanValue(EarlybirdFieldConstant.IS_USER_NSFW_FLAG, userFeatures.isNsfw()) - .setBooleanValue(EarlybirdFieldConstant.IS_USER_BOT_FLAG, userFeatures.isBot()); - } - if (message.getUserReputation() != TwitterMessage.DOUBLE_FIELD_NOT_PRESENT) { - sink.setNumericValue(EarlybirdFieldConstant.USER_REPUTATION, - (byte) message.getUserReputation()); - } else { - sink.setNumericValue(EarlybirdFieldConstant.USER_REPUTATION, - RelevanceSignalConstants.UNSET_REPUTATION_SENTINEL); - } - - sink.setBooleanValue(EarlybirdFieldConstant.IS_NULLCAST_FLAG, message.getNullcast()); - - // Realtime Ingestion does not write engagement features. Updater does that. - if (message.getNumFavorites() > 0) { - sink.setNumericValue(EarlybirdFieldConstant.FAVORITE_COUNT, - MutableFeatureNormalizers.BYTE_NORMALIZER.normalize(message.getNumFavorites())); - } - if (message.getNumRetweets() > 0) { - sink.setNumericValue(EarlybirdFieldConstant.RETWEET_COUNT, - MutableFeatureNormalizers.BYTE_NORMALIZER.normalize(message.getNumRetweets())); - } - if (message.getNumReplies() > 0) { - sink.setNumericValue(EarlybirdFieldConstant.REPLY_COUNT, - MutableFeatureNormalizers.BYTE_NORMALIZER.normalize(message.getNumReplies())); - } - - sink.setNumericValue(EarlybirdFieldConstant.VISIBLE_TOKEN_RATIO, normalizedTokenPercentBucket); - - EarlybirdEncodedFeatures encodedFeatures = - (EarlybirdEncodedFeatures) sink.getFeaturesForBaseField( - EarlybirdFieldConstant.ENCODED_TWEET_FEATURES_FIELD.getFieldName()); - updateLinkEncodedFeatures(encodedFeatures, message); - return encodedFeatures; - } - - /** - * Returns the extended encoded features. - */ - public static EarlybirdEncodedFeatures createExtendedEncodedFeaturesFromTwitterMessage( - TwitterMessage message, - PenguinVersion penguinVersion, - ImmutableSchemaInterface schema) { - FeatureSink sink = new FeatureSink(schema); - - TweetTextFeatures textFeatures = message.getTweetTextFeatures(penguinVersion); - - if (textFeatures != null) { - setExtendedEncodedFeatureIntValue(sink, schema, - EarlybirdFieldConstant.NUM_HASHTAGS_V2, textFeatures.getHashtagsSize()); - setExtendedEncodedFeatureIntValue(sink, schema, - EarlybirdFieldConstant.NUM_MENTIONS_V2, textFeatures.getMentionsSize()); - setExtendedEncodedFeatureIntValue(sink, schema, - EarlybirdFieldConstant.NUM_STOCKS, textFeatures.getStocksSize()); - } - - Optional referenceAuthorId = message.getReferenceAuthorId(); - if (referenceAuthorId.isPresent()) { - setEncodedReferenceAuthorId(sink, referenceAuthorId.get()); - } - - return (EarlybirdEncodedFeatures) sink.getFeaturesForBaseField( - EarlybirdFieldConstant.EXTENDED_ENCODED_TWEET_FEATURES_FIELD.getFieldName()); - } - - /** - * Updates all URL-related features, based on the values stored in the given message. - * - * @param encodedFeatures The features to be updated. - * @param message The message. - */ - public static void updateLinkEncodedFeatures( - EarlybirdEncodedFeatures encodedFeatures, TwitterMessage message) { - if (message.getLinkLocale() != null) { - encodedFeatures.setFeatureValue( - EarlybirdFieldConstant.LINK_LANGUAGE, - ThriftLanguageUtil.getThriftLanguageOf(message.getLinkLocale()).getValue()); - } - - if (message.hasCard()) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_CARD_FLAG); - } - - // Set HAS_IMAGE HAS_NEWS HAS_VIDEO etc. flags for expanded urls. - if (message.getExpandedUrlMapSize() > 0) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_LINK_FLAG); - - for (ThriftExpandedUrl url : message.getExpandedUrlMap().values()) { - if (url.isSetMediaType()) { - switch (url.getMediaType()) { - case NATIVE_IMAGE: - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_IMAGE_URL_FLAG); - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_NATIVE_IMAGE_FLAG); - break; - case IMAGE: - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_IMAGE_URL_FLAG); - break; - case VIDEO: - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_VIDEO_URL_FLAG); - break; - case NEWS: - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_NEWS_URL_FLAG); - break; - case UNKNOWN: - break; - default: - throw new IllegalStateException("Unexpected enum value: " + url.getMediaType()); - } - } - } - } - - Set canonicalLastHopUrlsStrings = message.getCanonicalLastHopUrls(); - Set expandedUrlsStrings = message.getExpandedUrls() - .stream() - .map(ThriftExpandedUrl::getExpandedUrl) - .collect(Collectors.toSet()); - Set expandedAndLastHopUrlsStrings = new HashSet<>(); - expandedAndLastHopUrlsStrings.addAll(expandedUrlsStrings); - expandedAndLastHopUrlsStrings.addAll(canonicalLastHopUrlsStrings); - // Check both expanded and last hop url for consumer videos as consumer video urls are - // sometimes redirected to the url of the tweets containing the videos (SEARCH-42612). - if (NativeVideoClassificationUtils.hasConsumerVideo(expandedAndLastHopUrlsStrings)) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_CONSUMER_VIDEO_FLAG); - } - if (NativeVideoClassificationUtils.hasProVideo(canonicalLastHopUrlsStrings)) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_PRO_VIDEO_FLAG); - } - if (NativeVideoClassificationUtils.hasVine(canonicalLastHopUrlsStrings)) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_VINE_FLAG); - } - if (NativeVideoClassificationUtils.hasPeriscope(canonicalLastHopUrlsStrings)) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_PERISCOPE_FLAG); - } - if (LinkVisibilityUtils.hasVisibleLink(message.getExpandedUrls())) { - encodedFeatures.setFlag(EarlybirdFieldConstant.HAS_VISIBLE_LINK_FLAG); - } - } - - private static void setExtendedEncodedFeatureIntValue( - FeatureSink sink, - ImmutableSchemaInterface schema, - EarlybirdFieldConstant field, - int value) { - boolean fieldInSchema = schema.hasField(field.getFieldName()); - if (fieldInSchema) { - FeatureConfiguration featureConfig = - schema.getFeatureConfigurationByName(field.getFieldName()); - sink.setNumericValue(field, Math.min(value, featureConfig.getMaxValue())); - } - } - - private static void setEncodedReferenceAuthorId(FeatureSink sink, long referenceAuthorId) { - LongIntConverter.IntegerRepresentation ints = - LongIntConverter.convertOneLongToTwoInt(referenceAuthorId); - sink.setNumericValue( - EarlybirdFieldConstant.REFERENCE_AUTHOR_ID_LEAST_SIGNIFICANT_INT, ints.leastSignificantInt); - sink.setNumericValue( - EarlybirdFieldConstant.REFERENCE_AUTHOR_ID_MOST_SIGNIFICANT_INT, ints.mostSignificantInt); - } -} diff --git a/src/java/com/twitter/search/common/encoding/docvalues/BUILD b/src/java/com/twitter/search/common/encoding/docvalues/BUILD deleted file mode 100644 index bc4756173..000000000 --- a/src/java/com/twitter/search/common/encoding/docvalues/BUILD +++ /dev/null @@ -1,20 +0,0 @@ -# Java library for docvalues and common stride field encoding utilities. -java_library( - sources = ["*.java"], - platform = "java8", - provides = artifact( - org = "com.twitter.search.common", - name = "encoding-docvalues", - repo = artifactory, - ), - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/org/apache/lucene:lucene-analyzers-common", - "3rdparty/jvm/org/apache/lucene:lucene-core", - "3rdparty/jvm/org/apache/lucene:lucene-facet", - "3rdparty/jvm/org/apache/thrift:libthrift", - "src/java/com/twitter/search/common/schema/base", - "src/thrift/com/twitter/search/common:schema-java", - ], -) diff --git a/src/java/com/twitter/search/common/encoding/docvalues/BUILD.docx b/src/java/com/twitter/search/common/encoding/docvalues/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..effd5061efd90d779714ccb068a83f7bde745436 GIT binary patch literal 36950 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 SFb9Ehl^{bRFnjFj0r3DPIGGCo literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/docvalues/CSFTypeUtil.java b/src/java/com/twitter/search/common/encoding/docvalues/CSFTypeUtil.java deleted file mode 100644 index 1d6d2c0bb..000000000 --- a/src/java/com/twitter/search/common/encoding/docvalues/CSFTypeUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.search.common.encoding.docvalues; - -public final class CSFTypeUtil { - private CSFTypeUtil() { - } - - /** - * Convert a long into a byte array, stored into dest. - */ - public static void convertToBytes(byte[] dest, int valueIndex, int value) { - int offset = valueIndex * Integer.BYTES; - dest[offset] = (byte) (value >>> 24); - dest[offset + 1] = (byte) (value >>> 16); - dest[offset + 2] = (byte) (value >>> 8); - dest[offset + 3] = (byte) value; - } - - /** - * Convert bytes into a long value. Inverse function of convertToBytes. - */ - public static int convertFromBytes(byte[] data, int startOffset, int valueIndex) { - // This should rarely happen, eg. when we get a corrupt ThriftIndexingEvent, we insert a new - // Document which is blank. Such a document results in a length 0 BytesRef. - if (data.length == 0) { - return 0; - } - - int offset = startOffset + valueIndex * Integer.BYTES; - return ((data[offset] & 0xFF) << 24) - | ((data[offset + 1] & 0xFF) << 16) - | ((data[offset + 2] & 0xFF) << 8) - | (data[offset + 3] & 0xFF); - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/BUILD b/src/java/com/twitter/search/common/encoding/features/BUILD deleted file mode 100644 index 93b13c03f..000000000 --- a/src/java/com/twitter/search/common/encoding/features/BUILD +++ /dev/null @@ -1,17 +0,0 @@ -# Java library for feature encoding and decoding utilities. -java_library( - sources = ["*.java"], - platform = "java8", - provides = artifact( - org = "com.twitter.search.common", - name = "encoding-features", - repo = artifactory, - ), - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/org/apache/thrift:libthrift", - "src/java/com/twitter/search/common/schema/base", - "src/thrift/com/twitter/search/common:indexing-java", - ], -) diff --git a/src/java/com/twitter/search/common/encoding/features/BUILD.docx b/src/java/com/twitter/search/common/encoding/features/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ca8bbf26feee1fbedac3fdd7a44beb6acdca69f9 GIT binary patch literal 36907 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..9a27e4894856fd9ce77f8cdf3d1c0deb8e5e086c GIT binary patch literal 37670 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 X>oCBZ6_|rSxk`{B5tu#J_knl-0c>P( literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.java b/src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.java deleted file mode 100644 index 36abc323e..000000000 --- a/src/java/com/twitter/search/common/encoding/features/BinByteNormalizer.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.twitter.search.common.encoding.features; - -import java.util.Map; -import java.util.SortedSet; -import java.util.TreeMap; - -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -/** - * Normalizes values to predefined bins. - * If the value to normalize is lower than the lowest bin defined, normalizes to Byte.MIN_VALUE. - */ -public class BinByteNormalizer extends ByteNormalizer { - - private final TreeMap bins = Maps.newTreeMap(); - private final TreeMap reverseBins = Maps.newTreeMap(); - - /** - * Constructs a normalizer using predefined bins. - * @param bins A mapping between the upper bound of a value and the bin it should normalize to. - * For example providing a map with 2 entries, {5=>1, 10=>2} will normalize as follows: - * values under 5: Byte.MIN_VALUE - * values between 5 and 10: 1 - * values over 10: 2 - */ - public BinByteNormalizer(final Map bins) { - Preconditions.checkNotNull(bins); - Preconditions.checkArgument(!bins.isEmpty(), "No bins provided"); - Preconditions.checkArgument(hasIncreasingValues(bins)); - this.bins.putAll(bins); - for (Map.Entry entry : bins.entrySet()) { - reverseBins.put(entry.getValue(), entry.getKey()); - } - } - - /** - * check that if key1 > key2 then val1 > val2 in the {@code map}. - */ - private static boolean hasIncreasingValues(final Map map) { - SortedSet orderedKeys = Sets.newTreeSet(map.keySet()); - byte prev = Byte.MIN_VALUE; - for (Double key : orderedKeys) { // save the unboxing - byte cur = map.get(key); - if (cur <= prev) { - return false; - } - prev = cur; - } - return true; - } - - @Override - public byte normalize(double val) { - Map.Entry lowerBound = bins.floorEntry(val); - return lowerBound == null - ? Byte.MIN_VALUE - : lowerBound.getValue(); - } - - @Override - public double unnormLowerBound(byte norm) { - return reverseBins.get(reverseBins.floorKey(norm)); - } - - @Override - public double unnormUpperBound(byte norm) { - return norm == reverseBins.lastKey() - ? Double.POSITIVE_INFINITY - : reverseBins.get(reverseBins.floorKey((byte) (1 + norm))); - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/ByteNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/ByteNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..21b2ef632fc13e6b01b67973cb9ceb12259e37db GIT binary patch literal 37092 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/ByteNormalizer.java b/src/java/com/twitter/search/common/encoding/features/ByteNormalizer.java deleted file mode 100644 index 6a6845a12..000000000 --- a/src/java/com/twitter/search/common/encoding/features/ByteNormalizer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.twitter.search.common.encoding.features; - -/** - * Interface for compressing unbounded float values to a signed byte. It includes both - * normalization of values and encoding of values in a byte. - */ -public abstract class ByteNormalizer { - public static byte intToUnsignedByte(int i) { - return (byte) i; - } - - public static int unsignedByteToInt(byte b) { - return (int) b & 0xFF; - } - - /** - * Returns the byte-compressed value of {@code val}. - */ - public abstract byte normalize(double val); - - /** - * Returns a lower bound to the unnormalized range of {@code norm}. - */ - public abstract double unnormLowerBound(byte norm); - - /** - * Returns an upper bound to the unnormalized range of {@code norm}. - */ - public abstract double unnormUpperBound(byte norm); - - /** - * Returns true if the normalized value of {@code val} is different than the normalized value of - * {@code val - 1} - */ - public boolean changedNorm(double val) { - return normalize(val) != normalize(val - 1); - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/ClampByteNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/ClampByteNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..cd370fcffce1e1cfb8b8ede97bcc3ac75768183f GIT binary patch literal 37173 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 0); - Preconditions.checkState(maxUnnormalizedValue <= 255); - this.minUnnormalizedValue = minUnnormalizedValue; - this.maxUnnormalizedValue = maxUnnormalizedValue; - } - - @Override - public byte normalize(double val) { - int adjustedValue = (int) val; - if (adjustedValue < minUnnormalizedValue) { - adjustedValue = minUnnormalizedValue; - } - if (adjustedValue > maxUnnormalizedValue) { - adjustedValue = maxUnnormalizedValue; - } - return ByteNormalizer.intToUnsignedByte(adjustedValue); - } - - @Override - public double unnormLowerBound(byte norm) { - return ByteNormalizer.unsignedByteToInt(norm); - } - - @Override - public double unnormUpperBound(byte norm) { - return ByteNormalizer.unsignedByteToInt(norm) + 1; - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/EncodedFeatures.docx b/src/java/com/twitter/search/common/encoding/features/EncodedFeatures.docx new file mode 100644 index 0000000000000000000000000000000000000000..ff1c6fabf411fa97fad215c957625e038c4debd2 GIT binary patch literal 37244 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 bitshift) & 0xffL); - } - - protected final int getByteMasked(int bitshift, long mask) { - return (int) (((value & mask) >>> bitshift) & 0xffL); - } - - protected final EncodedFeatures setBit(int bit, boolean flag) { - if (flag) { - value |= bit; - } else { - value &= ~bit; - } - return this; - } - - protected final boolean getBit(int bit) { - return (value & bit) != 0; - } - - @Override - public String toString() { - return String.format("%x", value); - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/IntNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/IntNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..da11c3a0f2def18fb31c6ca1fda009521b21139e GIT binary patch literal 36962 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 E06ioSGynhq literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/IntNormalizer.java b/src/java/com/twitter/search/common/encoding/features/IntNormalizer.java deleted file mode 100644 index 0a2477e46..000000000 --- a/src/java/com/twitter/search/common/encoding/features/IntNormalizer.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.search.common.encoding.features; - -/** - * Interface for processing different feature values into an int. It provides a one-way translation - * of encoding using com.twitter.search.common.encoding.features.ByteNormalizer and supports all the - * old normalizers. The difference is that we directly return the normalized int value - * (instead of converting from byte). - */ -public interface IntNormalizer { - /** - * Returns the normalized value of {@code val}. - * The value may be byte-compressed or as-is depending on the normalizer type - */ - int normalize(double val); -} diff --git a/src/java/com/twitter/search/common/encoding/features/IntegerEncodedFeatures.docx b/src/java/com/twitter/search/common/encoding/features/IntegerEncodedFeatures.docx new file mode 100644 index 0000000000000000000000000000000000000000..e6a1e3107727c6937590bbeff565acc5d25ab39c GIT binary patch literal 38148 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 feature.getBitStartPosition(); - } - - /** - * Set feature value - * @param feature feature to modify - * @param value value to set. - */ - public IntegerEncodedFeatures setFeatureValue(FeatureConfiguration feature, int value) { - Preconditions.checkState( - value <= feature.getMaxValue(), - "Feature value, %s, is greater than the max value allowed for this feature. " - + "Feature: %s, Max value: %s", - value, feature.getName(), feature.getMaxValue()); - - // Clear the value of the given feature in its int. - int temp = getInt(feature.getValueIndex()) & feature.getInverseBitMask(); - - // Set the new feature value. Applying the bit mask here ensures that other features in the - // same int are not modified by mistake. - temp |= (value << feature.getBitStartPosition()) & feature.getBitMask(); - - setInt(feature.getValueIndex(), temp); - return this; - } - - /** - * Sets feature value if greater than current value - * @param feature feature to modify - * @param value new value - */ - public IntegerEncodedFeatures setFeatureValueIfGreater(FeatureConfiguration feature, int value) { - if (value > getFeatureValue(feature)) { - setFeatureValue(feature, value); - } - return this; - } - - /** - * Increment a feature if its not at its maximum value. - * @return whether the feature is incremented. - */ - public boolean incrementIfNotMaximum(FeatureConfiguration feature) { - int newValue = getFeatureValue(feature) + 1; - if (newValue <= feature.getMaxValue()) { - setFeatureValue(feature, newValue); - return true; - } else { - return false; - } - } - - /** - * Copy these encoded features to a new PackedFeatures thrift struct. - */ - public PackedFeatures copyToPackedFeatures() { - return copyToPackedFeatures(new PackedFeatures()); - } - - /** - * Copy these encoded features to a PackedFeatures thrift struct. - */ - public PackedFeatures copyToPackedFeatures(PackedFeatures packedFeatures) { - Preconditions.checkNotNull(packedFeatures); - final List integers = Lists.newArrayListWithCapacity(getNumInts()); - for (int i = 0; i < getNumInts(); i++) { - integers.add(getInt(i)); - } - packedFeatures.setDeprecated_featureConfigurationVersion(0); - packedFeatures.setFeatures(integers); - return packedFeatures; - } - - /** - * Copy features from a packed features struct. - */ - public void readFromPackedFeatures(PackedFeatures packedFeatures) { - Preconditions.checkNotNull(packedFeatures); - List ints = packedFeatures.getFeatures(); - for (int i = 0; i < getNumInts(); i++) { - if (i < ints.size()) { - setInt(i, ints.get(i)); - } else { - setInt(i, 0); - } - } - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/LogByteNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/LogByteNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..58f7c5c54998025bcfe8f17002dd6049f9375a5d GIT binary patch literal 37287 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 ng3|Fq*N@&FMCi9`N6KQTt-}CsR$vYS 0); - this.base = base; - logBase = Math.log(base); - } - - public LogByteNormalizer() { - this(DEFAULT_BASE); - } - - @Override - public byte normalize(double val) { - if (val < 0) { - throw new IllegalArgumentException("Can't log-normalize negative value " + val); - } else if (val == 0) { - return 0; - } else { - long logVal = 1 + (long) Math.floor(Math.log(val) / logBase); - return logVal > Byte.MAX_VALUE ? Byte.MAX_VALUE : (byte) logVal; - } - } - - @Override - public double unnormLowerBound(byte norm) { - return norm < 0 - ? Double.NEGATIVE_INFINITY - : Math.floor(Math.pow(base, norm - 1)); - } - - @Override - public double unnormUpperBound(byte norm) { - return norm == Byte.MAX_VALUE - ? Double.POSITIVE_INFINITY - : Math.floor(Math.pow(base, norm)); - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..bdac26d3439e0e43dc9ee0e0a654257657180093 GIT binary patch literal 37442 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
(0i779W6mfPY7IpKh{Zzf?`wC?_o!@~< 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.java b/src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.java deleted file mode 100644 index e02519f08..000000000 --- a/src/java/com/twitter/search/common/encoding/features/PredictionScoreNormalizer.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.twitter.search.common.encoding.features; - -import com.google.common.base.Preconditions; - -/** - * A normalizer that normalizes the prediction score from a machine learning classifier, which - * ranges within [0.0, 1.0], to an integer value by multiplying by (10 ^ precision), and returns - * the rounded value. The lower the precision, the less amount of bits it takes to encode the score. - * @see #precision - * - * This normalizer also could denormalize the normalized value from integer back to double using the - * same precision. - */ -public class PredictionScoreNormalizer { - - private final int precision; - private final double normalizingBase; - - public PredictionScoreNormalizer(int precision) { - this.precision = precision; - this.normalizingBase = Math.pow(10, this.precision); - } - - /** - * Returns the normalized int value for prediction score {@code score} by multiplying - * by {@code normalizingBase}, and round the result. - * @throws IllegalArgumentException when parameter {@code score} is not within [0.0, 1.0] - */ - public int normalize(double score) { - Preconditions.checkArgument(isScoreWithinRange(score)); - return (int) Math.round(score * this.normalizingBase); - } - - /** - * Converts the normalized int value back to a double score by dividing by {@code normalizingBase} - * @throws IllegalStateException when the denormalized value is not within [0.0, 1.0] - */ - public double denormalize(int normalizedScore) { - double denormalizedValue = normalizedScore / this.normalizingBase; - if (!isScoreWithinRange(denormalizedValue)) { - throw new IllegalStateException( - String.format("The denormalized value %s is not within [0.0, 1.0]", denormalizedValue) - ); - } - return denormalizedValue; - } - - private static boolean isScoreWithinRange(double score) { - return 0.0 <= score && score <= 1.0; - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/SingleBytePositiveFloatNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..2992c923938d0de6d2c83d01a84cd3a6898c5265 GIT binary patch literal 37108 zcmagEWmp}_wm*!!dvFQv?k<4@cZZ-sH|}gaKyV1|?(XhxA-FpPcenq}%$##(&b{}2 zzcde3wSKZz@2cwVQv3u7g#`u%1_#!j%&l3joF5Yp4hA*?0|tf(YSj@3*gBcoIvJ?C z+nGA*F}c}T*T>5#EQ_FhJ$u1UU=||v6i3A_*|MXtV~D|*s7$@#(OO_Wk%f4;8{-RA zn^FvhVTwshzVjwtt`Y3;YM{~)mpIYWOVh|Dhb;8UUCm)SHRIluj3JYmm)<6t>4&Lm zO7nU*$py}`UDeBHfDv>imZj|dGi^BkEe2+VEl(eHRe_HBVGQICGDQs;~s@@s|7#JexuYrT9wIegr?`wJN_(w=qG~Y8J$sx)@+Xgj>yhVM9Uvhau zT}fl71-3xxf~AgjB?&!EoNnU%vu$Iuxzt>O1^NQ(01YFpS^w<$Zq0Sti@H{W6}SZW zHa{{q)vZ7+>y)q?3KS7jsyi+-by6YvHOzh;+S=18(F!pM13DXNl%l}mIP_~oCmIcB zZ^mf=3_wb@f%98odGn67>$iL11}AAlUy;LTJ9L#~c@tJ#o;(y8d(3Nbnf=MglIZ3% zoR-H{#VRIvcv=2M^qp@R}+0x(u|0N6P)8v`6nf8XTkv7_?6 zENGHY-O?aFQ}~;D_HnN@MvgG~aS?%2|(QaE-5T=hg!Hh5@4-)GqgeW>Y$QuqLeO=~C@{0eP_tzT<8toX|f$jeSuEsw^RtUf>@ZREh? z5B-M9dugULRWNLXCoT`rNT}fKB1*~1u1)G}8{bYG9qiX9T_E*Jks5=MP!ir{Pn{H% ziTG#3t?0O{0s8W*2WMusRu~;AeTAJ&n%Ju_Um8Yvs1rW}(^j)l23-ZsgW=P^-(6o= zu%>>O!73C@gOX{H{>jiWp7X2L=k3Gmy9Gk}d+rM;yhC#oecEYP@z>{`OM-va<$8G; z_Xt!MYbY=pv$tCBBMZ6`R&LGeZ6` z2CA8L3+Vk2g3bGt`6iUVmj9`488fy06ojxMh915nnL7=n8EIH8tJ|dVF%YZZ$kw5<3`G^H2suj z84UMZ-BB&6N=>mw$YsPybf>21U=}YY`0!7Pc+1a#?rZc+O}`cU=%(A+V*Y59 zPq!#gkNjc_&o~lvOX9HFMA2~#$(TOXBY>-8ZXTq#@=Hif@NbtpPkZTAnBPS#2p3z> z-+NC?2}xFuR+WC-Vk#pOtQeqvpFs3vL_$DsOna)azb`(ottYP&ft|^TkM2Ub83b$w z-vv-Zf436EQ~cnfy+v~O1^)$&>B5F}f8)Vf5b@9zh6mVG3s0PQ0&o2?96n0y*JQn( z7%w!gvHqSvI1N|L(^?@Wv2R&MIA7sIds`~=Gc)lyeCop$!Q1T3G08t~jJb&&OEAz) zp@RMA57rgnV8RUg)jHdN7N_5L#);;M?J^hEOJ^bJ^PtR}bWL1yGH$C@9M#Yd8_`t( zFgd+Xx-`n9w57IFuIrRHpHZy@xFZvhh@z9WDBa!M+})Y-r!`2}MEA0gH5_J6pp_DR zP3ZR6-Z=x-4Tv+GLaS8=RB7OIPa$OQX75|49q{PYO-LC=5e1uU2wliLo?opPL_25=S}jvbo8$keiG2P7i|cp)k~c<_Q=)o@9SnNa7;3!fmTrU^^oMG#=olBxo{# zb7zxi1h6Tw8bmFGaV?<3PDL&R_89D2CzZh%Jh04{@o_IsG-_yLKVU=vf?XKTv>CAc zE4xeXzBpT$@w3H!-*fY2<7$)7`{_g%jqZ`w6mlG{lwLrm-^6w&%)Nx|!=j9`uNuy$ z64Xr`snFXn{C8Ke%{1DI*ryE84!m zPnQR>cJ3dj79_ilf`SN4n|2+Wu)ZznjP~yv1`G6l=px?lSKVky${JW{jGZG%>4HUM z{;=hYqa#Xp7iix1VH3~8#4Qc8u*O;4-4}lQ~bkMto zR$rZNY2nm@1{;oVt1_!R@h4lZAznzY-;b!CQQ zjxe+_3JpW=Lz+uMPKQI6%%WuOO||j#b_lq&ayUH%>0@ZqV2fUK{xERHaP72H?-Atg zPG$P=IOt6+rY^lmGN5P?%|VZ8H*?>`YuIY6L}!yb^?ia-WsE$8N3y-kQP$v4*;|pw z&T-CakdIb`t)7Tb1pdv?-5dSSING1BmY8V}&2PHzJVS7ofke3V5bmE5v`rN;Ou?g! zj_XH?keGX;6&pwaML1!!^R3|qCaY}#v~LiWNk32Jh3Ma3t%JR`Dxc@)KGcS3(X7S9euH+H`avw@e?LKS_=8no6w@gjoA?I{Yxf`c#kOBnx zh_7K@>jf03NUG}zojqP&?RPv1?w@<%g@VVxACeUBh<$A?qS$AnGRikL7PP>Y1BHs+Cp~wJIlt=d0@GYF`i#lbbrJj{j1&|M9!rGeUJUWnT@#`}%BK zk!I|Qh`e7?DzRT{xV0g)B&K4MJ_l!JIC->^UyN5YUAC85Z3wTXICgKy*Q)#XphHzJ z%o^%Za8ep>o$dd)xi=y7d4bhOFsqv-6ffBIdzRCUz%YPPze|JcWxqGH7}++PGX|4z z?G#TGXUnfjQ`v;PEMyN8<)N%eQ3y!ypV8q7Y1vpu8wj9rd>`uN8W+%Hil z20oNzA|z_cYU&?LVr%$&GH?`WcQw-ER83!AGJV>t&wvIbk*P1ItK7Yv$Q{i(XX;Od zWi5yqxJ06#P|R@?Jwc6rpp^_%dUohG0c{jPQUYVXGF-AU=t7lXUt!ueicy%2G) zIdCy!&{NCSW&ZP5`OjI2Vo^Rp%Q9j%RJqw)Q$ zJ~pi@-W|F+XB{s$;*Vy^iNwA3>#NMD>%b&Q5-;hD6SB9y%7;#)?#j_ws)X8SC+%P$ zdI}}JQ!9M?`5Jy}qA<`sOtsaE{{)k)GBoO7I(UycH7-S50rYj;Xz5OlQYNO3*TK6Y_=+_6$pzuqtJxp40z@)lq8 zzqN)CQr#NKxa%|L;&l?JBcyD>)g*0yME+cgx>CtY*55!(lklzQX>#6f||PNg_WuRp#Sz5UivKGz3JVLNiV<( z*~%|Fn?m5z6|}rRS$}C0U=SursGM}2TG5VHX6p%V9E@8iN13&~={=}g_pZP)*0MBu zPMqK0wRbGT$t!w{LO*YQn*V&IN^9AdYzKwtAJj~kuMzRqyXRIyoOVT{7J#_;WA~oY=bU6-A+<3v%o6HH zh!y>}suD>a5%d^v3F6OrY#m)Mtz8!s1Ys+0nxoNa~=`qL-X#$>7Y_u(}N3 zt_pmy0^L(QVLqS-(5KfI4yh)d{uv9sn--*Z7Khd`c!LW_QG)9+@?W ze_@|+#DYReLE~uu2-OCm1%Yt?5&9<;R5A6LC7IiQ5u7PefLaj#P?69EZIb;zB>o2~ z+T*eU$3GD?>hHo_2taz2(Li3Y>UJ1O5gGqWA|ojrwL2o*AF5~KT@-X$P^ov-jBpxQ~{PHpyITeAh<=Nxwwu@6km~4Q?IlKFydq3pS2~ z5}Gr6_N|M9qt>qs;et#$3D0N!t4}x1&3d-|o}$ma^J6ZcJ*L~0&i%l2X62?^<-x3w z!v5~waL(p^#JaFvseFW zd(`|j$B?SI8%C97qW2>$;Tj8ZIIWg76ywdW-K#MJO1E^Xy$|}*dJwEb0Q9HlNm`>{y3Vt z@f=&i4NWUPcP1ypN5WP+?QSI+|LJ7TCrtuF<9)%*qDhVWmWjdK(R`-Z11f0#gp>2} z8hRYwew=T_{cBYKd`my^N9=R1G57+j=7NgvL>Nk zhYbTz;LX(@n4=a*&FpH?nrn#PYW6&ZXZ7`!IACmf7f${IJ5VuciYk%5IAR2IR*Pw- zvH#{h;&dDXxPp;M`C}UWqPgC#t~f>7C_Ghf^Ppoz8+|j9h6B3p@Lo%7#KFgg>T+fP?puzHuwksSQHLM~CdGS3b+}r4)lApzSz41?_T5I=1v}`51tS0SU$JCHVLQSGCxlaLVLV|p)RJn zHwi%*thY8M4&IPGD91c;8m)YerrUK+Cv3GoC7E zWb{6WcY-)%%ps;sFVJ*7VcBGF7ADSo#gYew+TWikhrh8Yu1k%w5ktFA4@CpFSq^2M zo0U&7iecs1!I7hYy_70JRpQ)RbF$7TrGGK>aH)|Kuy%xqcW}t2X))lRwHvLF_Ex=! z)9I$5KSLo}mzVi@fDK+#+v@Uloi-50_O!S7H-{HJ9 zO29c^R7r=8Rc^}fo3+-r8&%|n&e%_)s_;^SD!4BE@~%;QLKtw})2!q$n_HlF%SJeI zIkIT|ORnuQw(G|TgRV-{@ffCEd=CDSM!m+bkV3Sg&P3y>htYzmY1mpJsi-8B69qjz$>VVQIJ>@0RZMXfg;;p^M|>*E|DZrLZ) zG!~xD1vic=wa=Wn2=c1$OTO^&ER<9osrM^f+@)E|y{|mT3RYtG*pL`}==aF&O=-EE z!Bh-d4yWUpiYdyO`-P_7-(;)C&~w4n+GsSzI@fJkMYoFiW(H zuA!u|7t7Q=m$xJLLsmzAkD=*QtCO>ar}oSn5Mw@J(Q z?VGxjCFETg^D_*Z1vB23hxWu|=p#Rt^N7`K6(OpZ`B)|7ovbJ?H%m7-wi>n;a4*Ve zJLp;tv&K>m5;eYmmEx9Rm;X47HBjWg_i z=U!S7d!!iKr>V(dw4~s?zfoRB(X_pHh^K{z5Yr?1H02;ede^l-oQ+mxJw@1 zUBLiGDMyd^s5u{*_W;}4k@fsV+3MH3_Zaw6GM|)Pn#nvT7^D`-7%R#i4d?3%yF^!2 zy4Dt~Ww2I?GKkx{=5#gZ=ZSq+4H#Th%tW&~pva;9~JU-aH z{3smXbVG>noOJ3(Jeaus32{$Z%JF?=VG&w=I9{zhBRT`ZCDq2}H0INThElU`M(eB2 z>7%$52`Vn5U>@=?>ye9$`bmb`wjuJ_VMh;44zWMSjB(O!aA!H{eta1Ao;g0EL1ngg zW+mpSWvf2%!)wCG_X8W%@%Nx>;q;$$$tNo=gB3)CN;{BJ`bB(iE$RM-ziC71D zT8UP|9|JQa}X+rVvHaHA!QA{agmjpKdUTGZco z;{6hv$^I0+s)(HzvZkrCf%hw-9aG-%n#hhxs6I2vV-g{5H0aLe76=F2sRI7EIel|XrIhQtFeuzqn#KzHS6 zmiaqHc~b=Y8-vm$E88TJhT6OE^Y`A)P9M~i`JZlVV3e0Og7L#SP@Wy$Q-=6lrT}#- zI=qCA*L!4#vnZ3DXw#Y;xa0uwiE^7}z9oe(%iH6#dI*lvNq2Z@Q{mY`^fH^0HCoeL zkfICUGH5S&!$y!*;HFD%1%I?!APnsnV}HV}wwWkdREO}EYQ#Dh16QC)+(Q%8Ezz(0 z)F57yj&QhplOmI=@0RQHYCw&Lg-`{v_q*pJplq@knYAURwm04N*>$y=)ZkMN?u z!e{;+{_A&m0I^tmi8t4^?N7){56hQn$(htz%LZr3OeJRMHpMQ?!+c%|)Wj0po7j_R z>q37I_x6aNMYwAVA&QljJ{aw(1b%H9+EmWyH+y9%HV;$gGoQejvCacMEKsI;^A9E4 zP59q07ia0~D->}Y25|?H&y+6BOP&=dRyhmKSe677ahuOtmwp$@)kkp4_NAWrPTnW&C`(?ei^eyDa5oa@TY7(K5NR>73BmZnzAX!aQHLAwzIk)g;u zPUg|1+Fq1s9c;pHG4oW}yB8YZvYnVkdRNnvEW*S|gZ_?v{tDH3W?k_EB`Fgu4Qe;g zl}{>wP$PAGP&)tY)F9z)m1J#F>`EfHOgx;G-!|a@_hm=>`qA-PYL8lDQ04H_>#9x$ zt2o4HJp5Po1lhRN_M(eMiP@L<7$p(!yGINthJm7pQ3#6?uDkV@&=0xMD!WZHDm6B# zGBX;u0l)6}Y+EpGAGO(uCWa|wvuu|hlO=(3a>C-}vuf8m5o8b@&$$ zm47&iTf^XKMsjHE(EQPpb} z-j-%b5xpLr@)qIzo$%IGPuuEYjEE(pUTD$IFK*AH>fy-tCB# zG{giEAN1`hno$Nc0`94UD<|$K5%W@LA35vbqE>Va?$j&V$r8G=#MRV910mg5Lx9QP zX&rM&lmHqF&Wo|0?^P%YU*lp;+{HL~n;Dcz6a0si2d)+ky9LWIthRim{bY&IczuT< z$zl4`cc9S?4iF5ohpegDj{L!zjs0q2rS6iOqjL#1e)SpR3qR>`qvS4z-f7n)ZFL_B z;6Mrk(=}zu2$=jYyv8i*tg_|E&}g&bCcqp>KV*XUbw%1G;z%$Q&@+4`uT38+tBg+O zooDgfGR@RN;%xzslxL7yhm0fmXqZB@SV|d2n?X2g%zA!h9NLdnv$>+rK$Rx%$F+n7 z5d)DdM(O~j0w;kK(m#Yqjx&voBObFTZ!!lB;Q-5S8g+cg9!B3uM zZ(}axwM=Ny{95Fmd(wZ?NKu-ityD0dE%V#=qTp}e-NBl&_TDEZtmlL-T!er6mK+8_ zf-bC8-mE|UL;9V9`V~zYFq7*~!iF0LCb;Cz{-$zI>bFW2k~)yeUfAC%p}?z?j0T$z zyjb>3#Bps9{G`F1pCE_)>fRtj{D_Q68ACK>H8hbV&G=)qaN&k-ZpU1_PyU0r%+Xd1 zRiLqKS*|I&TLHW`0~U7X1$k;u?cVwY6Xj=Qbk!&sYIRZk{IQXO^?l_%x9C0_a((T1 ztIPna@>vPIu*<@Aa}i%^2cD|iP+4(N2VI#Xm3ZV_gLQx1Ck-rmXWckp$~n~(Kt^4< z69fE*^YuF?l$_<4(>ZiqWxk67_H!|LdxOev#^W1MCrea`ImlIvH!ur*T%k4?%g5Ru zW3{YJ^)ZdMQZ)ytJ1o+Me{9F&nKPD9PROLyE|UiE6arf`_R?kztVi#Jm&Mt zv3({shNEA$(m+8Ie+KdV&!G76UB;We%Rb&vM~wa7R7qvX*5`6*n4|Z7ybNBwUebVldZ7W^O8cXoky1u>4yM7FdLq=+Yb$La8A(t-)Nw9H z`*(jUGFyn_VWFq#gqFKqKt9k8(q8_L_JmjyF4p9EflMCigo{u|d~>#IH_8dEFv~xb za1D`86lb2s^P2Cn5+ppb68uMDHqjoDvq&1|_@4@0{-?srw5#CpnDsI)52b9;lcIMH z!wyBdu$O(=KN*LnEArm4@4Bn@i+7`Rm&~ccYFQgSi&w3uN5-rZ{a&GeJ*=;GGQ714 zw`B$?;mPO*qglADFibN)4%h#>+5Z(Wrce=CIJ5h(XOSCjW>v$?QdqdC&*?!3GvRbx zecIb2bJ`*q!3$e+qYs+c#~ER!04QHG&RD$58*2BKnv_WQiY&kT3=kjcUBU-$_($s& zuI^+jm%DuK*5hRWNAL9ui4JN-mRt%?7wScayorR75m-j_%G8>jLH?e#R)Wv4d8<6p zgW*PD>QC8J^?p8_6*CM+ppQP7Qqzcs0lmhq@v}^7^|ZOBQP$d&A!sXJE9j|WaclWh z1$Co7YY5-CYKD{0ckC4Ae{3tlK2h=Vj=|==~h}oBGoq)EFRY*iXNA-($^d zbI1vXe^9%ajDo27x&Ea7Nr@ST@_$fYbo9Zug=QM8c{P7%H-tYdFX_gxoz7rj@N+#T z)AVm^c;9*?j2TAZ7NUXjsjAOTliXy}wl|i`xNx$nPo#aj8{_vbJO5py=M2(c0BSV z_Vn_@3)hCdXa@6=wP`SIrIUJD1tMqH-eryYc2t9!lpmZoc`bs)b`;iyLJ6ztLBoA+ zjM0AZH)2&Yo@8j0M_`ng3u6qzNA>mM_)sp7tMomjmQ+^2?awOdJF;x2p&1qulTg;? zC3^(aUw*2neb8I8`!)wOz!;a&enB8lfyuGJHb^SI`%0EF2cAOpV?`8rYE^0s1$TYj z>KZA^AvgCtAYRC4kz%rfDK{Nb0KYJyI?gRWomW^A+0wSjQT`$%moi=Vh%Lc^EHORe zX{vSDUK3K_>{|fO(HfKav~-vS2_g7$N@<2B7suIo@uOHih3eg%#56~a1w;e8+Ev6f z$3byPE)#%H&Z-@de#%kq0*x*QIaPPL=9l1cCX!=8lw|=i-np~i(ZKi3Peh^9lOA7U z+GHFc;8YS=Ir6ZwY)1JuV*CE%Rmn@~C}RFx>w)uq)4LlRr!zaFpM4475zwE&a>n zC!NFg{Lnv52FL$4$%FXYWV_A(pGh7$tIo;RJ&tl9$RuWg#T%b>MiUWnE-p4ce`M-s zQ!0Bx&>Q8N(B<8&#gl#TrWI;N$ZN^?IxJ~yO>JqW;92^;Mvs2Hkz13ivXAQqpB*0D zfR;a$cp=2QwWiRfb;fvg;2_};JQqyRUJyJMn)(A=(EwO*&?PBCnPh$*)8;)eLB1rD z<^j-+LGN++K)a3&$Phv>G2amI&rnUIGT%v=i>P@-%Wq7AV<5(i;pkb~t+_H_Gnx|X zLva)VYRJrXtx;wd5N%I1n?Xj*wT1#Dj$Fe!V^y%uvXH-*NvI(|j%mmc@J(nCTH9|l zH_>uf?cj^wXv}uEFyjO48VjRKeTYSkC0}uyY|d-kz}H}+&c(=%_iv3@H;?D)l0Tz% zBcjowwSmPzb|Ip%lD2{2z7NISfxdxers3Q^VA1z=N7{tGZPd%yAIIs@pQF+jX;pB_y-j8?=lnuoFCU@^YY(0?;kHUT|TK)>AEMj8`?m((X3fgA4fip>CFb^Rf!s{y@ zAxwR41G~cOL6l`qg}ov(uYW)KA8`?)zs2DNo{L>r4GkM@@E%u@u=Wzy0l`V3e_vp0 zKo^(>AUK1x%ZquZ({>d=W03u5iSzDJr7R#lS(31{xLSlUj5d2Dg_8h`B*aL^T z%e4qopXSsxbpqB{exVhVyps}8@=oAjhy1LYp#GUWn@ruml2_Gk-H|lD5XbVDLWEw# z-6O)yQ3C4mE=Ws573!>FHySvPVnPfEH9A=6jo1-ZQBnyzRhd4e6EAOH+z3Fc>PPUZ zcfGE;2Hoa_^7(}g2uOiAjdjyFEN>CkjhvzafVm54xpja%NXn zmK5D=uh?UOY7~N1964WwwZ``nd(WO{?Jxd6A+8XqI`%z#6lBIG!R$VbRfb8C?gbm; zj;4A#Uev9TUs-jE#`0aMNYZZDZ|3_g{pO(uh?*8RW|8mBgYR*tPwrDp=(`Y%JVU`i z*Ebarw8u_ z#<)Q{U&v=N(+0#m)UO}Pr#}?uV4XLeOLo;;tvc;#tjYdR22e?lRYHyd*zD40Y^P-d z`4sm+$qRgdM?y3NLge}}LUCL7@o<|70bPka_KsoSzfZi@XvLl}fViWcg z6-6E_4Gy}-tt7^tlh<|9T|C`X+rABasQ=%6coN;O9oH(V>M>N%~Be&4Xcy@ay(Z@YlLF@;#g6oxG%tgE` zw#<$-z{vM`g8f3V%;F%SYr>*RT*YG4*#*^OcIQVWXNqxoc8Yb&^l{h9mEgl|OX$u^ z@g?gU@ui}T548RWKqBV*dIzi&Cb#wHtU`a1p1cfxI~oE=)${53C%NQHkL_pGbN2d; z;0(x{8wk4lZ2VLNV1c~w2vO2CUtg?OsWaDlyFW=uR4Mi|-R)^f=C};B@JDpj^COS$ z$_Pvr=kBN9f}hc-ZdQ05L4y7NBiKK)7+UyG!QHR!d_dH{fE8PuOd@f|2f(nOuWx`V1#N3Q!r0HUjQ835BHr!3 z2*9F&0ua%3R0)BFi;3VrfFt@4fQfNa#Ty@>g^^XDu%GcNU0>Qf_0BsUL=~Wg!@0~B zRq|_DMWBVf+tn-{AK~1+c!WJWrG$5xZhubj>6EXKIGt@ZfW=iwO?c< z_vo_`&`<6l&%y9(ZoKOg=7kj^VJp`i77fsy4>P5;4@t&M{i^G47G2IFQYfLOhk&Pm zTBMV6cU_MAuRP7R_+ zu~Q9RbY=MNNL=W$!>bVpZ{xoK)y+CFM2RL(+7?E-;&9w$%FITJw+4gMxT?fr3b-OC zT@&-=FpPQ?xhVL)h{zIIDhth{FHqA0HrPF=hDmsaNr)@d9l62NeZkaYKVL&Qx(5Z; zeStHfVh4KT--j$_x8mk`4I9awKc?ShuWL%zb+P3a3(bQfBpbWombuY%{=fz`2p{Q+ z9?9RqU$-E4Yojht&7)r{`uknKWTZVA&l>iB1K2D41~?4;1HkUi)qfjmuoZ6bq>DIm zVcm_dEKT07%`6}s!kjN7lpt`U>EiYmDk0!wa=Y(#(}=3?c7HD(f*qk38f5o{P`CZ& zTG?L;bONUOh#Vn&H{1}d27@up`Ea@6y6v}5rbu|!zO#9P58B5UgAIn2$0FJhu23ca zNx#qW7k#0zxxfZA$o$@B6QDH=ymhaiD2F(sQW z;zjX1Ox}TWJp!1FMdp37(&Ws;8PQSPXWhCwSS#ewfLLn49N5LWJWh`*2NtgQaGnk0 zQ7BjVv&Ag^{71OQ5v1;6T=%Y#R3#(#03=?by=}ljgH879d*po4_X=%Bm~U|M0Zix5 z!59#f)t5Yv*lkK8dKQh5cF^<9(BN&+d6k^f%A~q0kqPcw`D+WYcuDX`4D&H;>_rf; zn0Po{Jy24V#0BiAR}l1uX8=knDcQ1I*)eUNFxFNTSbJ7ArUVsR+mB7U6^Rj?hK5_l zd|HqZG2_%>LCg-7Cyq6XZp3aK=j9mmaptD|0|f%=FlT^|Wn)n4RG{@TemF<5PAN3r zVr;}e^z5OHsi}WVzARi*3s!T{&6<(n79Y>-O~S|&FG2Gi8~x}_#fYp3%J=x) z$7wT|daYty8%;2JOuTr_9+mK|eIT2E?gg7)3nFLW5qO%IU@7BG?q4L8#L zLc2-X@xY&%CJmvoumih?$hkl+yMK)t{@w-D7azw4Pq5-?Nhu%|@FNXqEjT95a}vQS z-z0YL{ELbOM1>drn~Ei@-)N(HlG_+$lP$@eg~Y?!XsAW)QC}t_9-CkMO7mTtC`UD$ ziF(4(V?wg8E)D&tv&#e$pHaSk-Dfh-s*(?s>IJOySM6QM3vr4K*yj71$s)%X^hY%G zwF9TtV--Ve1V2FKk*?(3-75$j-A%bOoCO#fnSu%lKutJu7xGkLvl6p*Mx7fXc(AS+ zZBa8ay(}wRAWa(_+3@ZOjVG&R1D7YC9D&*(|9eFtgzda;1Cw81%0ZcJ_$XRd#$RTA z8o2^a;KBNYhWR%}4=pW77%KIGIL;rMS}b>IyshjoAjY_O=&Sy4M|r*@_0agxs+wOC zR6^Kc20=e7M<;A^4AO*WRV2f4M%vl@#5lh(IRJu5$3HD|)(9l5`Y3Iyrx z&$lW`Oz7@v47N}O213VZNuY-eWQpJGTc`GuK4Oola=mtQu^}e)kW3NOkJ@5=gD)Y# zE1Yx)bY-TB{(&0(!|Q{#KRgsB92J^ubVHH3CwL)+udPUT>Qk;E4Y1T%EGV`j#i9rd zP%NXEjjNa)#1#sK4M&HjN?Jtf(`AL`4}GhFQKmafr3%LYI34c?)XNts{ybzv#@_H= zgQL5Kq~lm`Ed?l&h2!~Nyefb{sUnfeSLRXF9BR z3xP-@DL-fC1$W7qOH!jHOwZ8ZqQA@8ZqZ|GlXSPjSc@g5ZtX%yPEuENk_DgV?#&E) z&Oot^?^0(hd8+)nD*6&ZLKW~!^wYp>OYx1}DiF=u6-!ovB9KQBK;Qe-w{sNUe=owWqPq7A< zEdp!9lMJ2~O}Pk@w&(=M5|#Eo_rXL6r{heXH0Uu?iz1H&^ljX%mwazdEjLCC5;e@# z+KGi=asjbS3k0P67ZCPuAf0~$+585Y@fm9eN@u^C&%x1#uNIqz30UJs|A8P-3YuH& znXNHtLGS&@m1!2?lcf;O)1w2i;Am&QVST?vs1L?E6qeT(&ilg$mXsemQLSq(i>EGL z1Qx!VW*Y^hl`xUsWWWk`jM%W$5QnlaAn<*jh;+7mURHxzksv4zz3`FjPX~sm)Dz!d z>hT=ezfDPlGSRP7sQ47x?m^5{7J~KhRT4fUVr_6^5HV9nW?eUpGWw;^%8TXYEGUWua(Ym8fTDnYW;${cG*Zf&z>NIIW%SWyB4st9#S00Myh(*Hnc}b<|N;1McNP*9k)& zp6AZ_lfBQ)%aj9qVK--Ct1rdPiO2?4%wfS-Z_Y3QGM9Ij-WJ=pkzAFd&JLH;W=}N> z)IPSt)SU}Jch46ti!0}918-fy%3GfTn}%+!r>Wg_dDqdQH}&S!;>P2IdvPu{PGMh)j)do` z%D^BvV<{_mxqp7grvmwM<#qew1M}n{f2FNG&jwyhUFayYn=KjO%8Od-+&lg##d;s8 zeze>P;09FACMzcjr%SkP<1NG$P1DBVuESaM%&T3n>aW+eun0iWB}tZ_*)=yPfUjY+|c?p+aYXph-iTOwb-khKL*UIi%TPxQYT~JGB zD~Dew%R9?3#D&M^T4%i-%$gTY%v)#4J=yq(K1~Ye7?_3$ZJa{=YzuvBs)Z8WWUbC`3yaKCVZhMcHdhX8HR_z`s=9NPI zG}PDIaUN~&THG{=Y)vjKI%Ve?Ozu@mCrhz7CKiO>E-D+H#&7^na<5GKwXQMT$;7ls zhnvlJ!{oP{O}Lb}48kvU?)Nob&s7TYZJolJ3Mj8ng9Z(y<6K%R>+1@Ig#jc9%%vpi zQBk8ePfwc2~qRgZv-TJZ^iw=h#!0HsHaM5tJ@Bq*DLCR2@ll7etRSAsY&?S@vte4#MxPKJ2|>^VHd zGN|9t6KuN0hSs1ru7#}7VKX%t-0y8^+BQsbPo|y}HkzNRnKE$iGrQaqOW7_Ngxi%f z8aMN1>I9ydp`wP0k3gEv&T4jjKdfOe{AT8j!y;X)h=})Ivl_Z=m~r(@`?X^!9lr6t z>5Q$d@fK$_76sji?d_>yaX!u@SghsVzTKe0b(CKyjtSax{3H(|K%puhL6c%Z2f7U1 zx&~qn%T)*XNn*LeSJeMSqYJ-Vior0#?!(@Ow<MZZz%e#8HP^7jFM zNBQ4X;BhuW+a={JLGZ{<*@6?oSTus61O$S>IRBybFG))fhm7a|&@gz=Fsr|YbpdP< zH&`U=f8(q|@F4yCjq~>bfAd@=RR=wzL%s$Yh5;J(+Zu|ML#fOo%I(!<XvFn?BNWhZ#;FBkVQ`Tyx=Zc|7H7_Ilg5`gv$|%UM3S&5c;-I*N+> zdhhlCcjDlA@UoKLfh~~Uy7qLyQ~}%2YVs|kf*5J5S=f2|2$?v1W_@v2UtW;KWPSXG zprQ07D$JzpwVA1X^X4+j`(Su~_Hp!KXYu;kqIz7{fhgoENTvCdCvCzDJ^A^@wAt&0 zx4F|b$XK|1ZdC7f-R*?Q@fizn@pg@!}Qr?B7gIW*eS)x z%6$2HqW5yky+VIu`N8l{fQ}>R`E@ykc*18nCDQmb%Kh|$&w?bGbk|q9Q z?6Wi6V7V<1o>jbQ-go=qCPJC%Sn?)98R;gTM>FCGhAt)D$6ugoDWLYAAI-sr6f$8Q z{k;~*qCGE6@B&Rqnf>YvP%JWWe%f;8=|x1lJV99$0-_823N?@w6et7)$=vj1EX+xd zmXH_KPEpx61WLYMNmHbK@D8pu7fN%iauVPc`Zi5?>_#{ZFnME<=^VEeE|ju7kqOTF8Gk z=&R_agwz+jA7bv>$h*Z-Gzw2ByP*$?b1isQk}u*A75(CDDA<0-Dq|0d zu@NN*ZQ}Ol>cUe(a^0#I9Kl#}H`N8Lz0R{&@-AB^!b1C5sn0LleCh563f&#saRRT^ zL&(k!i(U`U&ry;>sk^`{?U(88k(%c^VSO$_*%GGbro}UEWFM{=avMTf$m z+eS0c^Py=a!zd=-zE|8fA+}n8$~K!=D!F`Tf1Gz;eX%@a@@fLN9{QOI@$hq<0^#9BVjpZNE8~xx=WUume6>5V%b9d>WPijVdA%(*6kJJb}6oM!F26>^2owr^*Wb z=qVd4-SZYj;R$fq)78 z^HpjrFR9$e0D>O{+~9f9`0g)$g`@?XJIL<23dr?%d-6hqvIaPPg3aUf2i4Svo{Zf! zkWnIpwOwcRdWHDs$)|Tc8r&QYp4EwGzi!ry`qG+GTwDspWljgO%&D$#k2=dnUR-s? zA8$T`%Tr#ZCe<9Pi5KrNxe^L}MQZP~yKG)Dr?fpOm=aH$Debc3$!K1&9N4(OZ!~e) z&She$`sv^vcQ_uOzLO45IOAryy!pw%coU=cOu6ics3z-s84;&_*y=<1hEDvuucvuQ zp_n4J)^cu9T33_JBypXU-z2~4PHq}{ZWhs_?)7{nt^fJ_Xj!*Te4OsZyw}2m&6@@q zB(K}q5n5Ac^Q61k!ef}{VnM@6O)?&)9n%JSJL&zS*g!Y9fWNJGnlV z9N3L_-l>ccdUmG+8pRB}DlTF@iKpZ|RsD23o^qwtxMwJzTJ;Gb8^oHgyeaCC_4UBM z)IDp$xOl0tiF|1f;Q?{Zl}hs7MBG&%LU__~slFe(ygQ(Mf6Vwz86`H<0-sQnWKAc8 zvU$5duqX5s&eqxQe-(SDoIm92tYrJr!@rd?r8IbXcJI?c^z74N@CcU7JN1GxoVCg( zc>K;n))Ya)C;51alUQWBgzUzVbs+4t`S#-cb7E}k$5=al@=s9|^aF4CmAH+txqt2H3^;A&O7u%&1w8b3>oh>gTY)$M>?wq-Zg-721#X~KrF=f$d&N77Id z)~(^E!+}h{x93n^qNXxac03@BK<=vn=K(VKH8JL>=FA-nG|F6cUmlhgf1T0tna^c9Rx#a`v?Lp|vVV6jLsr`vQ`x%TkvI2Q((TRnva`fyD}9;t(lTU; zt4SY@Y^sLJ9Z4_|o0nJD@UX*0TBz)+0~cLS?DGUb!{`jI*=COKem1#?AeF9~ZOH0T zrS)-6sd7!~G9T{uBV_Tb*V2V=v|r4OFMEHO`%Q0D_?Nf&(2Z$7eYGrIs(%67h5zNA zg%$8RI{Fqg^}MS9_H{Z=qqU!a;MU*17YaDi3|}@(|3-+Fo-q^}x&9sAok2S}33lZ6 zJMtJ=@sf9+g)ZkL#y4_{=y3C!^ zfb2hkyn%jg3GW*M%Mh6R1j;b1w9`Hx4-1a--nx1HLqyYChm&Gkc={rv*T}ue^&p=W3`Y z&_@hO+kWXUscBA*e@XpWy4uYbGbF=dd}qV_8RI&(WJq{-I|gDi+m34y(8+!6w66gE z(8%eqza{ke}T zG>wkwKDPHp!0|2y>dnfjt7){NkQkfe6yOuZQ&`(dahpcJt{^ULcMDZF=X3EYpNbB5 z4o9~4d}y0RNn04N(J6t|hAudZ4pdlWn?|Ohz(tKR1$uZ}T2J+@+RpysY=ZcHqbjo3 z=ewMmrG*b-92p;ylsJNr&LDH*ModRDSlfU7x~J9A>&DYs9tQHZLP;93RrP zeduZt*uKkj1XA3qnXuGaO%&?cL%3RsX6ojo@8O&V6+02$*v1Q(XJb+8X_-8H)OL&| zbN$raa%moWl8T+@7iLzIp6e|gh3r@(<5&~W=1XP>r08jT2YcXN9PG%mC-7JZ?>Hmt zi0Ils$2-^B24&QYfI#bb^L-FDqQm z`m0<=EceA5lfBQ+dY!i{r0w6o(?|TdHi#`?Q5HtiVfAyaG@>sjPTd$jeWVzSza9-a z;@R?pK%<0$fQY#htY64nM2!h{FwKG_f>ihK^ zaOR$}oJ(?L$t>nhEmq0j(Cw%X1(A-lR5r=zoA7M^^YMz7MTPD$Th&;+%5Dt+N&xfD z2r$M_8bSzrKt3aO>mO|?RwV@i5o2c=##o#~JfP`Zn_R7#A-V#vfWRz?y5b$NXasc6 z^n(aH2#vdk!_dh^S%^VkP)eYZjT?j|6^5l?m_MI&BET>a(L`nG{z4(E*GI1}tJJrS z=+9~N(19HFsAM7&pWDZfTsD|C3V}f(10k$;W;|1i0O_AYKwy33h!W#A!*-h>z5+!2 zXGj##{|R}qW(f@Ge)(5OzNfII2Frhi%z;876OQOdQt1DxGFd_j=4wN0i;1&A`xuKN z60MrSEN(Q5F^b?|3`H((bW0wLwAPj8MkfwpWCazL?|m+%%mY+gS>|wU^;r}`I3Fu( zktVzW?9e_82E^sJNG-qk?rj)Mi@hpP0^30c zMuHbXL?K{M*9u^rW^uOYHLkMM@yJlv3tZP1=veOR>|s#d%;4@rVJi(Dj;^WpK0k`{pcV&#uqoh;1#Ye-yloKyLefTj*eM1< zzKt>fLkfm224TRGJu7FU5fA4VBu>W~xKe@^3ERw^EGeJw)u9712qoT>a*Hb*0YVDK z&jEUkTjVoRsoykdiwcuD*I{RkiSxY56#~P@7Rqajs>L448myZ!0E4RaI-U>yR7;r) zhYEs|6-ZkCm2aNm8?{+q)+F$3_|K+U)`0-&cqCaRB)jnvgAf#jpbCT8zg_w%J9mWr z3UQ0ew9q;Iie+tR;t|ckj7f&VP15e^g!kWkWW^v%sN9%zbs#0*TM$Wu;^d8cQ35}y z;;^@e;>Mr^j>IGI8U4^%s6YV?D8R)rIkzT|G~j9f(_nu8=LQ21lKmRHbAEif1J3(q zY`y}s0v-d`&z+~&WP$V$(2c1GCentuJ^!qk_ujHzJZ|!N2&I85?5m1x($#961 z*~yXUle)>jpM)og20@NPLFoj332r4 z@;0V-+&C74IUv7Ar*kGI8e5V(QFA<;XYh33c0616I#9*EP(=*gG|*k_QUcXyFp)E@ zQD>%PQl;5QeY7>D6XK8j(TnX@mX-ptN32*R3Xmo znY@0NiXdzEOZKU_+fO_C=4J1Zd;f7tF>(|;6DuwA7#q*@biTm=7qQ0 zZ+d2XTEX+J#^+5r$FmwR5tRN3u5PE>AY?V~sh9Rx`UER zc5f1ICZpj*{%}~Gnd0O{dJ9Y)v4KCiLEmeNm2aZ8ai+Cj0c%(8e8f zSb>xBT&y_qb@TIE64u@$5O4S*Jr6CGnT?TweTJE1bgoS_anRRY-t!IUT1IwHX7k>Jk*Ft ztEg%7S>>C@uE=08#Un|_t&fC2E;ET;E!FG*ac8zkCJ3pvf0jAVjZpI#beU57A5OL2$u6WE(es)7u-tF^ZRk z6=i9{E=8Fp$yo1rbq7(&O>laM;}BF zYE;v3y`Z`dVV=PUSDgJ1#!JUwG;2Q*W@D(81+zS9mIz0a>+=OjF(2vPDWP?Q#c_lj z%FH<^6dU3^0u75S#{s?KwNe^&xD`-D;a?d45^*jp#_>l4kk$WNMC`D5lU$F%-vU_k zVdoL(yNN6|irCIkW-dc%|IqSa@+S;XqoyF}AxE5_CU6Gk7@zuuOG&dpAtfU%dNZs% zXg>q_{D}|6L7HV8x>_t5Q`S57MEMFfO_~+Ck5Pz=`?naE|Em})O^)BzEmgFcnFb;% zRP4WXbokG;h#Glsuq$=)`t#^*bHRINbaZjQ^S%U_veC96>DS7q(=%;tcs6bSSm15& z(W>!N=z4g2o7xx3zCvy?bCz+m&Sd#mcW4>^8Uq+xxK}(2oi-G_e99aeICox-$}2~- z7{+H5GgfhF2y5Ub46n9y!rKnU^jWV|R>Ls7+Yl4G<`ou30FxosA*u3usoQNMB&PMb zTwV75c;Akl`7GY@DFH0+hz`>KuqDNPSHuY(J4@0D-knGBi<4@Es`tRY9WezqMH^~< z;4vK=!L?tj9fgQHXo%#g!)cf^1}nHhE1E%Ud@;bQ3cll*mRSN*Q)zoJv{ZRp6tiZt zaUVs=;M~86+2Y={<&-2^3bwFS$epC~Aja^ThmwIr>Co0}S}X+(bHE(J(PI$}0qb*t zE&b8*PwDfNw$2FIuXieHN}xxKdRBNxjAr%U80m>XkB;n!Q?OJ1sJNqJBm7&17ifru zfnCIqjN0q_-K&y^%D;4|=AQs{yu1F7j`xYpMmDnl2MPB=?HvD+#}}nE6@xE-S%IGM z$BHMF|ABZa2U>yt|FB}z_%L+j5b7knG5OBMm%?ju>UJG(WYwnE7@_TxABaay!W%=j z&0N;B4XL|5OptsfYM)9Y`XI}HFX>0|XIE55II0*;_IHUQ%{uU*_)*?Z_3?xYz>jci1HQxYdH;=z)?jt}jUG`=1Y#~hlSwwk1fjx1k#j16k_;UM zm?@1HXt8SvBE^ByMUYx=IPOj6c&SUx8RsRzNCjcHozL~wEmzrNHQ?iVKz5jnEXMl4%GS=>IhzH@%dk< z4Pl7`3t0jWxmdP3I8YIs1SmE#)qCX{yGk1L0b1Y!%kj$Gy4A|G&_NXje5WY3ICO!Wm};GjD;z@q=BjKt zR#4pp-T-BSC=*NUTx%)~NviD<3nl>+gQ`Qf5|Jv}5TxOuUyX{-_D4}ONELCBL#tMi z$~c^AkJ}vS3QKQaL+O)d*+>>v7^n#%bcha`Ef3u=Zwlr<$%=3_X$64#cA^cp<%ih> zr|gAD^`5wu*EhTZG6Rjd$=Ya66EP@Y@K`LPN7JPlEL$~M7L&?!B)(z1Fj*soNyuUDlO`1dPOu0!+3y@v?xxKBkG#`RDEpQ z;V=Xf#9=(f{`0Z&Y{r#x4CGNYW zdk3ej7p~39m*SGvM#pGo@xg^0o;HLGFpvZ}FBiy;CtummwmAC-rM{z4Lwlopt% z^1iR=(k4(sW)#ZCae-8LGU%2EBuLNH8HnP_2jms1Bj-_OUX{|yi3n<}KDY{mb)Ez< zaxTPt%hCC2`Use=Dyh9{2$Lx`$_>;Kn6M0RDiYe!`B5)bG68fJH)4{Qn8!Hfg^6mc zF_s6Jv!4d+@}vIrUvwI)ViT$oQQkE9QR`FEL@kE>Cn^b27$xyiJyiyx z+P^H&s|Q+;2#@v0f|;(U*)+BRri7?V>liBG-yn|OLz6h`K$FlJNw{Gnqu zRIu{|*{LRwGH@<c1$Hf&G&*PsXf;oxw=n z!*IU{(7|wv3STt*K-`1cO{~Kp6fa8Rp0-bQxSSA@rQ3E&cJ_J>%llCU-V~~Q85=Tm zABAW>swK^n;52!kfg}lDXQu277b8NpTqAs;l4%e5Jzd6(ey&?@TgMo@(Awr1L3r>? zTtf$)GRG4wRC#>MFu{prPcLlSX^a33DFF<&?8mP2APK^+=Kx5wxKCaKGL!@kY)s61 zH}_w_>>Hl{ikUdERWN;s1PhG@@LCuL4m2ofA2z{E6UOQ3<~r5zl>aCVg99q1Py;Fj zC<%fmIPoPiZcD>jVkpXP>zF)ZQxHh=q!(~+vWAC%7XvBrdM+@;lk$rX9D-v>^E@qG zkfb`bPqcT349)(8?Y*$|!|);Bb5hfCrlGGE9t;doJwH%{>P?q{Ox0EE1~WxTcM{i0 zPjnLho}S<&o|T^DG>ix%%aa2|vgcM96`hC{hd#o}k28GE{KqLKF~@dOAbsh;kVV%U z@gkPEwXbZ+$XX7iD)HK$MQAc1Cm zGe1TAJWaX>LYv^^jr7$C3%FtWEHp!c(`ALDOg4OYdd!p@&#P}92{z#V@33SQV%muq ze}(1CJgE4Q%0TBA$SR$pf@!5+=~5~Dn=MoYGAq3*n$AwR8G$YjRGKHZ+}oxw1YN2@ z6RpJT|LZfq=b#l{qZo#~piy9msp6Kk3T$}xzv6;q%*30VP!hxu@L*IpmS!$q(Qs`o z^4^{D&InNXnzbN_z^izN=Og0Ih|Ps;s?eK@yEPnfgS{2ebGB=m>v@gH6hSH%Z5>f( zmMJh;w?ttATDdN&qqR5!;iD+ zu|OzW|89{k8nE{ecbY&x=j12#@X|;|h7`d=vL6s3)<%X@fImuEv4-jj!Y?*GAZ(*v zzLA^P6v0PwKBu1!=ZfVVjzy*BzmN3tGwtgjMk2HvOVk=TO{fRV?5GIAUDsBGAjoQj zU_&}Mp~z|V&B4-Y757_mU$ zFEK8jfIr{-^Xa*gUt&1n$yS4U<)21HV}F7F!rez^Os)bx29b^O_j(nmlqDa`0n&F} z`O5oOJg!}gKVHa>(d;AVV|*ti7#?6DZ~}VvA5zEze+|L>?U?XuLDelZb=Jspiswlv z--kNH-;Uvk)OH(j?4<&0_7;dy`dl-Hzg^0YB_N4BlmOeBU?-}0|DFD{GP2_HkyKw&epqz ztdDqxJQH}g06C+js+2+AR{-N5fhVKoth@}>(?UYI1_zYVz5jd}? zN|PSE?aDh6A^WXJ*h0vupa^UUo1$1}iGJTSd+IGD=%n44k3ZBAO4wU9A;W=!V&HsN zfww{2V|j8>&KC|6ge(hG2OTOmtnX*B!I9MN`}Lr*T|X)$*q89xopG0DNV#=b`DuTG z#YnR{tO`LBx3-bNsd_7%a5nbKlTW%+8t%cGwdMMw)NM*G1jMz=?B)?yJxF+m95`(H z`qw};w=6{(@s@Xz;jbB?W1Ac|;Rw>#GNLV(b?09RrU6Xv^c zq^`k+sqc|{9G};$iGHh&<=+3F!9D@XcrWG$t-}`WLKml1m9YOsXFYOjjWBNQhp$(4 zE)KvoJoi}nQelkUkEP%Gx^{6B3Tv0+vo*;c#|C>s6u?!c;2ys$Gk=`-j}%1z#c5?o zq<;hD4p{BS%V|LH%)Gf|ZS4(bL%kXSMe3JzATj{a7K8__TP;a2bB~kGbGQNQBIW>| z8KH`Kb1cFL@p%$b$3)LHsLd@(vr;0|XwMAMc?Gd=Rb1UN+{NP_GY1Ri!#}*<*x|gx>=hE`)8J7N3uk%U%x-?2>}d_ev2bhF!{jv(qz3K z_>#bt`1Q!sGXH!%a&f+6V)>}?wSU#XkVrhAG?8!)Y3#>QOBxLQq$&gV*y~cGdP+fd zB}YR^HX}xVmZ^a@3YZ2^L$!oBYKSog>X_u|>`(VRXXMUfdq-L$G3+2|<17pc`U`Fr znk+ya=Vy+K)aELF(*cQaSf$!ex(sQ-kd28QH4OLsw2EM%dpvh?hN73B?d0Xq^$aI~PKK4@V7y!Hc;-Ii2@ zw_$&LPm=+02_eo9W*+Q^X5f! zk(i&8QIM0egu|c;ppius<)ziL%5hPlVNW1OG;r`rR|dePez??hg|3*VpeH_20uRRp zIS=x@xFg9Cgo5L%BY`et)j3YgvQJ97G}QXa0LgjJL#&;)TAB#RqeGYPYDdK^#i3u` zecL6DiV>$pcoT#5_#vVHSaC%0K+e5eAz&5n!iEg&<3FUyCShYGl~hz3&Y%=RGSZIUc`v(Uz@*;2ei zjUwbQ`$jm8B?K$vdslGm+qEA5TEd!?(M&`u_N_%N&t%@CyWM2rWJA# zURE()TH0D2Af+X((7!2(ixZ$|0>s^LagW4{zrX?yUNqEiDu8{OCo(S0iM~kSS)#?e zXOMDP(5eLJEX;v;A1AJd{nUg;@=q36smVZRj>P}%j0+lc0d~D>K_gBY;-n10v?Y71 z%b+&}4YfTjwNQ=6Z@i8}r^rt6B!wKf$Pf*(z$qJ<3RTlJ@zgFpH-uZ^(nNmO_3TgV zUsin`zJAvB3?n$|l_}Kp1-a_AI8(Y`No*Bi*>$G#lAuy)3)(KHP!F9|eg^ykJ|gMJ zZC9hDclYD;`xXB)Q12aD#ke3R6k$=0whAXG4T}ka@yb-47e)2&m%gNkJSWPZN0><| ziLEM&ED@5o2_K1Blx6NMg^hwqY@#LhVY3tIxHa+p*PxuJ4qVgEET(Z3_fwXCk*d5$4#)}0p~HpbT^0f4s#zUw zE7_5h?J-1|r2lQmI>H}5sX&Ck3@J?m2lA0w%?@Gr5Qxp3TN8KD0k#uwj|@GM3!F=( z8PFxEy9t&%S=rnME)4u}>pSViq#(CxDVu4DDu3X-_)2HX>LDc34wjBU6g#p5`&6BX5OQ|mCk~}^;fzWb#2958h_z_ zEQBdeTPMXcKqnt=@duA3tc0J+mbmf;c*UIfw_?CqNs3HvKR!Hm5cg9kw=DHseJ(Fl z^0R=6*HYlftWdA*;MQxFX_x_YWN#XJ#XJ-wd{ zh#~P5Dj{pxS)VH*S!9G3(?LwYu#f;~PLlw9TK&8plbu;pHOtT#3&bHC^5pv3&_`rG zgNd(IJSs(Il<01q)X0!TrhukpwkKLY-ditymV(jRG(H!<8SrL8e=#sXhIl4!t9`hZ z$H$~-7%0)YpxLQ?D1b18`=QqmC;^-X0mITxpQV{1qrJlolmMR1(U*wPDKmt|{LwkH zC&5XYecH%KSk}_iI#Xm)z-jO%RRosgrl(Aa)_EY384C1J(yXPH>j)H9#cd*tmYM#3 z0Yh}Lv;YK_b~_3~BQt{v-$d{g1KZ6|Jw-ObzX=ud=Xk0g*7J>Udy!0^ZIs{|#n#_~M%AR`xfL0~Rjy{d$Z-$N!LG zW4OEXPtJY)_^+ybMM9E>ec&J~_bgyr zo#hW`&nW7*6{zfhn*@L~egUz6;7&p)P~0Kkh?+>V$hf-1ynFuE*XuewrpTOw=#h_@ zY9a{795fFiPD@Y6bw9saX7_5$!IBmc#X@T&$QOY7rStvjK#;^u^WC zZj8%M70o)Vlj0MElr&15VC>;c#e^t9r`O=3)irFKF8T)N&|~AdoR?`te(FRl@BC1z z7pELZ=Ebhqge(k%W3g!q&)Aq3DoWzZMM9AiNSthC{u~~V=){XnGysLTfW0!i%q&bH-qBl-n$!;$XZeRBiiB z)FQ;2h3IM9K+-*zf}r8R56F=$$aAc?@dRyW-o=@?7z{pehQ|TmOgZU<SE>!fOd} zceS7|VZ{Umv zu@&&rXSKQm`p@N+r#eTfAixq-t-!xO^;Q2WLG{_(MD;%|_}IAtn;{kikU5{;!NVlg z1G5-b(Ihq;!mbpNR%9mvO4b(OVyKyypX}OPI9(4^q-UfR+x~bnOuI4#f7aWxL22yg zUoM#u{|MhQ9i@Tchl$0?x`a!)+9)=tgnU5~jffp4GpS%}lsQ2GZk0TN8cW>^_NO~KXf0buo_9Aqq{pJB0`stV%ff*Y}nsH{?oDFy!o!Cz=E8=;Xpvp{>L#3 zVEtJ&V-vf-s&a0n4LE#fAsGGfC5k3JN7gR61p}3CG^}|F3Eu|$FGH!*2&Qr?f*XOoYIH$t7Z&kT)J;&gQFKl<^U7zV*v zi+vCIiC=oA!c1vnpHZZO(04LXk2YJGbrvmX+BMQTa;vD|eSNCkH{J9xV_=6WsZ0iA zao{HExzb$@*%*YVZp}%wVmJxsBF;0TLE0N#@x3CVVZ`tfG|8lK_V{{sQYqNtf~r_! zmnZGLBR15=jTt0_Q`mGZl#j<)j%@KyuW(rLqzlB$Z7tZJqg3c!`613CBw9y;jz5;k&}4v=AyGA zwcyCAp~$gPMlr1nzLm{3l1Z;(IE{*n$tnk3s~-49H`li30eLlD;iwt3RMwy$7|MGV ztm`mZilCauR#@F;X48X?aR1hw@N5vs=LsrsFJ^J5egjsv`}qA5#@)LIv97j4k6WO9 z=%O@A(;JpO&(zDE6+c5l!&&EUf``$o;NA(We0)Mzquc$cU(YwI??nb|*9XLf(iO@=(HdqOrT_AfoUb$f|iP><0wOr#99uok@@jkfkChxASA1&>DhSPm{f)4Tsk*~9NRA@4h)sy%v zUi=AL)^}+_tp>YlMoxzVY4?I@s$_SgA1qkrzT40;nK^7dsL^y z<=WLsDI!{%SbVd%t{sgs$r(j2;+1oMfbmxS5Zq=0q5GiLr7>!O%%7 zlrr5N7=7x7cm8BC_`c-j}j{5>%9bMs**dk56f@RT$eU=p-ZkC0h!pEI=lS8pJ zm6cx5TaPaqX3LrIA_*Ex;h_bqoLpnG%6whXl5~!TGg(|YGnQE)G_lG``bF~=EXEqN z30^*GGi5D2ED@V8g-AQxz;M!1&dmKuidMh|0(7DM7Xo2zlem@MFV6=X>9Ye>Qp^UQ zUXGRz#_EXP^dS0R-<;9jkAE}2`@PWqx_JKV_|>-sWIVZl$N%NB&9F}|07Yi_qAu_4 zc7OfCQSjqFoLZtC5h`3}6T~MXnEw>yQc01{u$dCCk+J|Bd!NE>h}iX143a76F{EnX zTAnmeA^>TD&?#@iL^qE}7Ot$HC<;z?_vD1)3bDfx3r>IIhELj$|Lw{s|L4(E|xy-md z&8Db?N7?iW!B{9lDJvPq1HrHt=`W^i8@jEe7H1JN`^1Vev5bD7(1eYI1q!p|Yj^!q z$PsVj9fcsleIGVelC{!8Ey2o@dhfKj(D(g_&iF*FM$xSy(^Y~P8;e0WS4`!eF!>3X z!eNg}QVZ|w^UrHS8h!U>U2+?Csc(SR#MK?aw|>5@ux4Z9#b3iCOJZ_)!xN~P%Mv0-!hb8+c;cAlCQU&$M}WL zu>7I(^bI2|4GEj`;inWIF^29^JrJTJL?MNNE}7! zc-eyt@55hLhG(d;#e?#>FNc|mY0|U`O?cMSO=xI`Gggk9<4>?EEVZytuVe7!K0Vj%5;lZTFG@j zNmrT%6UbD|_u9eLZL^J4Y2tss(;Y;k(}R>U7R1xH*bM*t$&%M94@b zu{zo{OWQWlKYx(fD2<*LHa(}2q1y8P+_9_94I!hCXbB@-LU{htEv;%=>W69o=oy}p z=1h1t&)@?^B$kEco`(TQ@1K|mB#1?R9S*kFkQG3#U|*JkiTBoaiLpeo9^Mfl56Bf0 zBP%X6ep;-!JTg0xZd{vVwYBG6!42ON#%0$`H;vPF%RH)}vq0LRU^b$L$|R37qoF_` z%9Su-4r?{+P)u*02g^&-JYJ+Uy$SK9LrTA~z8txE&6_YNIVdoy=l|HtWPo*v=XtBs z{{{WeTP{*)`Ph!=+x7hHGF9fPEWx!f6gd zuN(=Aw$n`Wp=#m4lVU!$rtDky*C51ELVaPXh2k;3s$u-PMHyPx4wr4_60*GhU%CV* zkCuCYdZ>ZAi2kAL@9MDsR`*wF*x1)dk9-yxNx)w!8olI0w< z_~p9j(|}EfnbmEixCj|;2TPe_%>*L~gL(!@+EfUy7L(~$_r_}z%em~%_l4&^(k^OM z0!i|FW4mG;BG~N)=dA8v!cNj;MiS+%@T0ly?mUb@_@e4WYNy zH?V&;XiJy8!X8kt2~arBKZO60tmNY8~hp@tkkOrZ( zU6$1+^bDZ1Bi|5@t$g=U;NvtM`&{dGz06M_bQI!XR6R#WJx@geqgKUV5SG*3$H_rH z&R5GPXbs8R5llHo#^dI(<2+Wg2*rd%aYuBNIdglu*=;%9N-pid?G1G_WPm@BD>T#Z zwiAs-x5b2(V(N@TRjuDG=Qj>Z{sRlRs?_CGo!dFfTv_zObzzQe{rXfcLxaP9Utc>< zQMrY&&l#1Z8SrxD8@gS47+JGD67hl59d$wRVDw91o7IP-v1}6h*L@n`1$u_g-9r|Qi`^tka{TUi7MS?dD0gKE!6GOB>@euoh3co zpB1MXj?8EoM&vLzMA%vjFWED6TI1#z6Mw;fC%to#R>~~GrlQIIwn(8Mjho}$pQ-qT zJ3b*7$%r#0x`K+%EED05VOf-1M}bK>hL!?z0RBaJL@;o}=DiNM0@sT2{_HS&98Tpo z!zi0njd8_A2>po2DG%R{poK{(<(#;L)|Neq?!~*Kmq_N<+l}?Rb z%fPQ$ZNna>ECOZhMtF5BoXlO_mH4Ll??QLdg|Z0wcPCq z@#!pq|Be>cc z72rbI7>Th@^M|*OLW)!6dYX zF%6KL_yY16F5vsofT8A=CafME!JySY^is}z!G`0a9Q z{jE3We#>>1*XP8caIDa9XzmWp2bKi^+}u;-p}BX;p{3S|r%Lt`lgka{w5?-s55yMC z3SqLaX~{&V)2>5i2c97&h+{mABV88`o0kAHAlPQF)A1$v zjgxoaC$@pyfPU6W0d=#SGniutPrUdc{*}}uXnZDRwW>SgjxUv2or4oV?~)ZgaOLWi z&_NH-{?xCwjb@IFjUw^GurQc?ULK1j3(Fux>M&Vu~NjmDY+Z*Rq+Cc*79b?QJwkA(2 zM*8NdeCbzqFpN&49KW}cFnyp767%k0pWrx&kpx5=VxQojaSV$Yu=42BvnuUxd1?f0 zOYp+cH9IE>$D0!C(8a#daaz`@!ldvm|JvNHzl=EQe}o24#k7$(L7^y-9AWxxGr81Z zmKMXToGX{+^G5lU(aT7n^h9yL&erLaDBh~lTT{12s@c9Nxv$(Kno8d4W}+9U+k5G}ZW>^*$3S8{K9 zzq9=1*9)E3^Ewd{Bs7pWT!kIQ(iV`UOup?$iA+lye2CY1n>G+SE4UPzWnF5YXTemhUVBN_IH58D{0u!|Z0bE{Nt~w5PbAZnl$F z}n0TK57@WT*SPH>Mzc& zq+dEZpZs6b?0>#|cGEtmnp^8`mA;b>QBYYq>Ghm-Z>)BOzkH*1RJ{>+PqC40#@dA+ zvM$EIpX^(i_Bkh5ux=I0WZM_>49`B{V)5znHtK9r>F{kzXS?uzL6u82zBvN!Ht(?@@%H+(L?9ky-#v6q2c{8F%dP=mqE1D9`BoKJS+ z{~)Bs&R=jUvSDkTf?;)P&f85l@<`?Wq zPuhD=>t5oGe{!ime(J>SX@{Rp;hgsNuJWArbG~QR3*T;El9tvhGu1Zp)08>8mz~>F zeeF%tq3Sh9w@tcaR9#u>`}UFQkE*+J2czGAUO(lDM{x1!SJ&F*>YiNO`dY5K=JB%S z^Xi`6d_J#!Ve#o})8pz=Z?9gz_vf|S*7qv6XFp%pZ+GwW$$PcG?fc>hmY3pkNx$x-~RuiQo{qhQ|vNgZ?LqfwkTIci61r#Zk+hx zaZ%~vF0q%ftK0g|M^B!VcymK#_4f&!KhG5_zdGW)a;9+lH(x7%?_jOnTMym(ADqhE zs`|=`@1;zhg>rh!&w{63d?g$Bmo>3TWh`jKO8htO_;$!Xz?+dtgc&qE&cU#Erg_BL zprsS10$Zr3fMaf;ZU+oB0L2&>qMd<*!KryA@gbE3sl~CN))~41m1^D&KY&W_0mqTK zVY-2I1LHBE5s)@MxM`2Bv7?PUI1{MkB2c3sipJ+a5qRB`oL>YUiALA{<@Rmy*Ffz# zEDQ_+DBA0RB5>`A1qIk#eeK+nEC!&uU|=g0)$$p@fB?@N0F5Zk1^OME_PhpZAtRvW zr-4Supjdt!IFt_74)Hm%Ay`A9ceR*xw>|?yTqr98KZ;4lJW!L0ODc0x!PAxKVSs+1 zBusw;<7;aa&1lC-gOW9$Kw_z?zNw=T4TZue3yeXA*A&ch<#mubs4Aa~Q0>uK9*ilv zy-oPLlRk+BNMye)Gg7K&*<`@A1#*9nFuYWg{A$>cFyQ>dZIZ6u$wJMsZmqWn$zuo} zfbw(Su7}ZmT!ZZds;(^hRz-Ug%{p}d3}6#NSvz+Oo~`j=&zF0;rcP(sp{*6G>T7ip zEQRa!AcmBA+7m=WRZpUq1eMO(@vX`y`|c(^_sPsB)l?{Y(QR(QnaeLKVr1gHar2fQDzkX{arAXjl75dy0pq+UCV z4_w!R@=avvQ)qPFk_ie?yW@>syr1DqDn5w|_P#EaY#a!UJ&@+VV94o%DE?O!Jt@Bk zKLV?_2?hcJ5BxN6GP8ANV*GQgN|=-ZXF&=d z$~JLCmQ=Ow+qy?S3N^V%83qWS#5tgwGU!hByd##(>LmZ0USN)G9}=y{&IrnKNS8S9Bs!bO0q%?6jwV9}FZ4Cf^q zsN-Ot|2jpI)uLRScPy%cD!1}gT{wZdjSP|a0E6aNU?5>cB3VK`YFTqJAxI`_X&z`q z%7BsVls?4Vas_O#(~d2K8*a6>!tU{=4h!yD6XKdnZQHZSHH*I=fi_~u@6UsV%7>X| z)U{Bo_-AfUkO;`2Y{E)u%I+=dtlN=i&Q6Y7({A8;6$s5?2uLZP@@CIUD}{sdVAgfq zHUR@gKZfV$ch?!5DFTFCOk3D$(chZJxv5f({4zK4kcQm_EW%*3k{)iatXMLVq%lfF zG9jefq<+$OP39lh`+t0X|Fn!x_sDexfpcPkq)#*FF82P~ca8Vob-7(z!#)Mp#TEht z1m!>LV&vfPS6NiY?bn!5I$r1?^jspXphc8$5`q>*X2mveYZEe?=f_B8;vrgDcKv*x z!ZCTiGTlY+)$_eHjJ+(0m_s+nTdHA>Kjn`oI&Q!<)Ly=jDVY zgf+ak%Uzx6FVtKMI~{EPIWpl>LVAbmIfTanxP5Gs!fj!{nL9~`imY?$H4yB`hSPdt zmAW#G@avefxNc36;anaL@Ha8)=+U2K$<{`I-dofh&A@fXxR(3+GQK#ZFZW0g&wQfG zuUO)=t76dF1aXN?Y3Tkx#sD|JxwsJ$tFFN{K_jpCUkVz>&ffHVCHb(qPkJ+g!;9D9ssBylWYWV z6hFIZ?-D&&;=Z9UUfHo6Z9lmRz@NB7ar?E@!xE;R!P>r!MvoH)w%Bf^CJRn#Y?1SY zWn!y&+bYDT4y;KF6)Ak~?8snxWg@(U&3L-O`&hX9P4wS4hAT7=%t-)r|nnxETsicq^Md_!us~&5z+VvpKUVA4xILWicGC)c84CxzOjZ*c4O=I4fADZwRz?SkD(vQtZkK!r8)xSQ7Y1cY+3r3fn)m8vxjL3&UK; zR|lPiCZ1bj!zI`Uq6qicNH3EVE@9t23GIw>P*LBPk$tWt?iWVdv>Ifb2{{u5n^^I$ z(m&U;Z;B<=@%iFJ$8NVPD#4w~gAPxj>rIh!xI zGd_C)-ut~yzvk3;DWbk+b)gYfAu;&jeD6&XZwWA$ujhmPM70Nkx)U9oH1bo>x`f5K zd*njOH`DRyZZy!$StLl^YC>_@<^^E0!f{7(Pqynri4GT@N1M`xlB8iG)54ZqYffKT zy!zuriS#gYNN7|)dgGDk}VEACyB{s&pG!{fh04k^-HI9BlG%|H`H%vLxcPLj`bj6A! zbY`w?c9`LPsc)LcPl-GlO#}P|Ok}rYqO&1oLTSoKe9ZR}9k3>7Dz#PRRv;zh7=HMP zln}OQKer&{7qUDUGC|rzsBddE8Y9z@AViEWO~~J}B9)-4_V|gvLLMjSrl=s<_vu68 z*}?mTIdR787;1FQ(cn)=q0DGny8eWKA9R>BSm_grBcg=PARC+41Cy&p;koMutQe57 z^1eBUKAM_E-YetZ-{0}n*(D*qGDnq0ov;mj&ufj<&_G=|Y+WSl^bXJxF~yTq^$zKJ zD0t$&Bb9<`GC$eLS$UTWAU zKgg+SCGLpd2E7Gux4pH#oVYF@3{N4~`~P&n+`6^0yt8{p#?KRYiBXa z)ZxabaFtYPIIT(QC`Pp%kP1<>T05Oa?#$dcS%e6FBD#x3cQeUvk6v@8g^0XRI*PGg zTCy~$3$s)px(LAw>Z3DdGlF^gqjLF z&pSAGfEE5RITvRl+8`17*Inh1O6X{?5yjQ3xNtecH*{#Vl%I;3lVaEe)3}zOxn_+} zbyCc#VdS*Nir_XA2S2`Iu14af8Wz#BGCsl?=6<_t)_^KOi z?j%=@xz)X@Ula2nR*r5_{53g(;Qn(~;(M=y%lt(rAP2eaZPU`j!Q{(b(4UV&O`E7xytHI2(Vnv}4C|#^pJ)M8p$GlL2orIx%8-=- z%?R))Qz#>K2t)!2>|y~}qr+A#7lnN?K`#`V8MxopC+XrUvl1I~LMrw4El+t?NIz%9 zH^LvBxyd(;%pRHozsdjkR&07^ymWS&X&YZKIf^y5Ci$n)+%!tB8Q@eW5$nc9rb7*Q zASSbMYVa3mK0Z^wppOx2bWc&!z{w;Eah5-b!o$#PV*{U1`NYp^4xiXHqoGd{`^mSD zBd^6V2PKJ)5;4MvwTaTiD*|A{>e_FrZ^OFwb+lvF)D0nVWzJMT11nG*3b*(dx#;B( zdlrG5#S(j#`071ezKM>aefzZl651SPbeWi_JWYvO z@Iu`5bX`>yGanDP{}Lg>=d7FHf;`z7-P_o;qXIub5n4@07iZr+Z8`o+Ys>@9m}dej z+GA2D<23;lIzS4p${ZaUR0k_bDG5))q%|Ttl>?)JtD(4ZH*AeX6e>xBtqHT!UuO!= zOoI_~B9rjfo5SzN^7Cz|#ljCKld>MT85>L-nmRhjTys?NpFb$Q-$?8}!f9Wp-lm9b zO?Jb%RS>*?I1=U>-Ee1^amwL=5Fn0kp;FJ>?k^nS1a5ZKgpg9v;oeQ&Eg=@@eBs)4 zS<#KuLb@&dsP00taJoqZNsgBI{+4JGQMdG-S{KM@T5$ptWBPJlSWKV;~7#BB6qvZtERqoQyq$VA}-?yhxGm&9*_Ie-^1aRwcSW2n; zK>eY6qloAXYHx4^mt+J&%l9=!h^4XBRK33cI!ndEC!Lk5D?moGMWw>Zh(-4~l#|dB zWzO{X7?HPN0h2K8PKrCN@|KN+?ol2;Pdwl^QF(g9k6-00(PD?5LFa1xW;Z>MPsPEq zVrBUAH*uk&QN~2SpEqZ_M>lh_=JXX);HA10H|Qx9L-%c!nKXVHU?*m%TrZdmy+vHJ z#%TP;kqe@jDsr2195~)z__i=QhcUPD+r)>d(WU(2ZCFQ?#dYA*u(#6f`i=T%9q;Fu z&NF!$JKnvzS!>Ohvw{Z40OYd8v#hThib7Qo0?X^k>?J~U(a%r=Zt4zcf)X9vtlT8!Z%1rq~(Jab+e5`@xbY|hr zf^@yZj=e6rmwPdkCc9D7KIK^gExjomR4@$R|{CHQ`?DU`uDi zlwNE%aPNWBH;2k@Zt`Abagz^+u0bYcg@fjT(y#yorBR?O;{!edF5gs*j6+F)AZvkBjg!g8`* zyxK{xCaYVnJ1cFrg*MWid$;B5)r0y_A$}|`80wL6P#ErB9L?N4n&SJvLF>brH!R?b z6(0n?%IU_S89=B%WPSF+BxyF0(Y;C0_F zE(BzF${r-a4d2MSGyBH{n;hHR@0l5F%Wr1}{uCs_L~6=v>N4dCb$oragMU9CD7>Mtde=Qr&Dzc(BozNf=;5AE~pl(jeexAP34 zrD4GP)3=YOm!*r?5~1ePJ-x@LjjQ(5h4z=DxnFnfVPShGo^N&h?{*(;o1sj8t3>)K zC709vM`5W4JL7Ao%@uFsr`HXh>$Y4aLPV9lJ)H_)dBUUXK5nh*wY^^!*2cZuBZWR3 zGy(mn5AAz5hj$*I&MHPM4IaWumiqk~1qu5t{8qAuy|wJ!mW;m28|9`>p41AR3uV1y z3CcQszEa#74hw!XU|M?tigMrb-#kMeA3l5D@a3L)6B3;iIMdh!E&$kh^Gf;?`U#Tz zQ~D2nz~8seU7er0kMCL6KjFwALVK))m~`fx#b&%*Cf{9qq!VzB-$wa4F?hZ4c#+*C zR_xKZdUkoPt_z8ae)A7ydhc5AYHzL_Pab6Pw`*Vb?b6k`=z6;odp1{2CG2vVBDX$)%)Yxp&Qo`JWtux;75BnKIOf!w5L8(0ZuobI$ZiLOx^cA z8APKBW{%yee(}&*Ugw!&$puPN>s~H$BZE+j<+16VJKfMr9O3k$U z?7DWGGHYL0^KjyF71DzJUH`AzE#GPk6D@1w*VLt>14rjdtisagZ>X28FH1%@sx;OE zX%>&cA02wti_bI%SBj&H-#_cuak7lN5el8t%`^OyaHH#fh|`<*k{=|Wrai!@?B z`VT$I2{Uh~)q>$yW)2=H{4a@?6f&AqqpTrj!fogxYs)3Lg;C={#R-iHS-X1P+Iz0Z z@S@f~G|hYhUvf&L0UFTLQZfQ808E& z3W(k#aYvGq#DWm|MlEI0xK$S#5*Uk3j2;7+o8kbB5Kk3hxYZ6CVtBjF%B%t@7-cd# zv>=Cs<^bZ%eLcQ!@hFAa9TlP56aY{y?ol0K6!~i`l#s*@$Pot7Ypl4SxDLp|+&?ER zfhV#4c@koW8~`fvkL#-&aVZ!fm^|S}`lL6({)v6Yo&XFb23|+=SEx1+Efk3RU!i|f zL6lKlSd)1C4}uFNGGGhbUn){MAWifBm&AWV#d%#!D3byweuCs2Pa ze{G`0_T(NJIElbis-(EmmL`v`E&o<@on<>`d~wbBL&x@&;c?q{`e*@0os`#$!Ht(Y z*H%6IL2r@Q{-p`GJj-Q|8=c3Yxty9EkD6Z#f(l0mhokvBk1<<9dd+v@M6vd}j4Q&) zy0I4=@wgu^4hUilp3{aX^y_5=nOlSF#P{cZZp)eOh=XfgjQ+zpQg)|K2}iBJ2OSZqrJf$eV@;3mn{dJFZnDU^5t?=e=izP< z$R9>nCv=*W9PF_?eH{2Ijlo^8yxzF_`?z1UB$6W+Z90e7F5WSytPzlpwMAJGYA1Pv!t-OWEhb-L zzmPDg#*Sg>v|LAIa*DYmwLp10>^#Oe**z2^;!^rt!1EPeu7#1k*CkJyOV_gU8$69e zHE6IiB8rdI*j*7#F_T>T&KGoFA6OOwBOdMI!m%f>FfH`ScH$Cr)M4MR#^?Rr7b^3< zCHvWX=ln%mUp58-W#v2Se2>2zGce|enzt@UKi<>l+o#>1Z-=knuZIS`+TR>K{T|+v zKNioP=YGAOI4~P^ytfEt-7~#T4?}vrgCMVDc(w>a7;LpSrw-qdJSoS&a2T$K6qKGj zJ0nTRjZ=>2+@~T*MdP(~sGeslw|)r*%v3MDyrOq^`zQrmacIA)i9aGyWDsphJ}sZ52jW$vd`X{U&mbEsg@84#CiJk z^;cXki7F_FF`uuwC9y}1q8UwlKo3a+yHyTpiHn6-@f-d6tCKT(Fnl%_?U&f9-e?NpArgE;u|vsTVmVraB{i1$=zg^GR_FNN*$3j~L!m}A+> zSy?%D#t*_gA2qF*K>w^$d$xf%C1)JcCH%T+y?i-(qMaoIS|124kyn}|9%rz_FPH#n zg^YVov;G^W2Oi$y6G1JVZ+tP5)0z`i((w1VIU7yuhP>3F2r>NLEQtft`dQ*9-uF9( zKWF-C)-Em*meSSwli|L8Jib3K;$v5SLC$36?q2p_uT?YRD1eh!B`>$+JZYjKarN2!|;n}+KTB}r(bGu=CG1rQ;wv(>)C`$sxFhMi5((qEL_T1mX8=p|Q37^*9u4VM~AdPFu-zW#gSwSm&9PVkOY0B`7e6Y~KYtxjYacaCpuZ_izY&S1y)e-g!1NNM zqtY#707-A1tMX?b&anq5E+it(&aq6qt)b+yu-D^6Lm_=;OT9~Lov1oj_wmK#bE2b@ z#Vjl>|JJzztyHF@;CNr$uiETr#<4nLZCVD|ad5pA^`-y11McVKgck3J{pVC-lDh^b z8cw3LV#f$!uBZ&M1k-=bw(?w>y)J4Fk`etHb`mzOQ+?eu-;I7~nL5X4E`C zLVjRSxaOm=XRgbd9ET?YL>Sx(%dxnS? zCtZC|`Gi62^CsW#!@8@GkCLM>4=r%v4Qldyb867ft=shpuP-TIZ|2PL&^wPGtnY}s zzGqPs*c`1!5$KvpmmR&mUus+|fQOoIO(i(V(}=g@&kPA(iaS?A9kZBIYNJ1{A|$j) zj0J=&H)O0qc7WQsVaG|7#?XHmnZ&W&UD4lu;jv7}VS9<*P{b?@-_+FE#yO7ZM3;BI z<#e@Oa`V{2bcN}J^`U{1-cIgE^O|#v#lD1U;L#Vx%Hyh|&*L)bi69EO+~?#g?v=i` zHkidL55kzmvnde-@BG2_+a`8%=zP8o`!|HCJ8Y-i(an?Pn75(>SPg#4Oh&A8M*vsu z@b@fSX=Tw zZ@?xc_)?ly2Q(zr<(Ls{=P&MIcn|PZd?wO-agpE^ltfVrL*u;1NmMGvb z0DU|Mas^U%kf(m>7*PcXGl?k%sE#6@Hsp6DkS})Kf$eb86b0~3 zU4d-|a1O(dklsqBP~4g$aKrL%U0vhR-Z-1*{7F&aEZ))fuoThy9+8Bh_5tkDqpz#W zXEkNMmpeNs<<;#l+-P>BS0{3caR2LcKi%psAHm;SeX^su6lpFrnJrG7a)9JixgGO> z@{+f;y~zbVIA^Kv4>*~#(RrbC(mN7$T63J>BFmB4G*>)PV~8p+bLIB}GwoJzBS&SJ zU$B4JO_i^xgZWA}V_b@YDp02$q6p}g>ow%R|x5R#p;s8MX_S7 ztH8W&)%+Lda6(44n>PJAg4i=vMW&imb=d;Q#bC4=!bGA4(miZ0F#Qa(0_Hm5~z#0x6L zqFMOtQ+{E;?Q7pYJKstkQfUmUoLu|dG)QBVg&R*sALmVxOxoY`sN%E{Ib(Xqi{3v&)d4*T4=we&DrlL$`m{W+RvyC6mpyUwuxK z@LQA<602HJyVZ%=%-;kgN4n1g5LszU!>RbIO{10lHEE5$<8Q1RXEW|psgIY|-%%#t zmaZ^|in;mCG;&K03cz(y1_x?e+nDi1kVad02VNL_o+3ny>ngWu{pM4kR$lUBdO_ov zEN5=u=!6>VdUd)aD&X?|Miqj7IdgRyE*g#&4DK7dYUPa#=%`PhlMsH?ngk}%9<-z$x8if?9Rvn}hTEKA7K5Awa&SS$7P?~M zrMhj9`reODAmJHosS&>-w<4-y|I5X&X`$Aol@0{?n)IrCF|o;0J@Hz^8K=W@d9j4> zb&Psh_K={4iGuJokAP2gENL#CB18wipR9y%2q`gv9>c%P!4WjdN%X{G3rxh=+oLL` zUaD7k!Guy_g09j0KeI_a0+D^;5qvuGD=0dn_5V^l=Ewk{>Ksl06H#`m!VUq}Hz>hw zpVW?O2gXaY3y$Oudx|ZQ+l*$nd&^5_xbM*0t8EPkie-A*aD~^53=mCzipmITuluz4 zR$YnIZ^pUA@1qs(j;+tvPqqH=M)SU%@D$X9crl;#9m!gehBSg7slsZe9w^`o(`lYL z8eqPy>li$!S9g-6^yZ4GsfmPud$5H2rGaL4Eh10=sI54zCi;?UkrcirCYXAPa`3d$ zD-)*#jVKS@tQhtRRHE7J21o_U5}@z|jDnLw4XE!!q8j{yGsqjUrD8n|0%8)&RNz2p{nBA$$4I>AZ> zMHEdo{OVA+RitYx6))vU z|M9&d@W*#=n5L|w@0lsfCB7Rc{@=bOMuCvP152$h%g>W`Qr?U%9955z%Cgcf z+Dd0ivDn2X+rfq}8W?o0x`}@2mz1*rX?3Y?G|(B>+fOb?`D<_Ii>SKFyjR6+m!k5H z1~ri;liLtytCXqvh_wuNP|E|H5q4;6zqMr&v~11v(T#UAG>53VtTIPu_L6Zd7|JQ8 zq%-T+h=aLH{Ms}QGZzeO%bV$_fQ^aV7E8(r1EzL{If_I?#?PB^v*ncf&J9Iht2^7|X1`rUv=)Mh&u? z`Byswg|zGS^uSkbA))REayC#$KrqmFXfp9@81gZ2o4Ec zg)`A7|5oVszZG6*-h@rYZ&h-7DdmZrm40#>bt=_`z8=W?$uKfkUHFOZz*BWltQV=b zd{Grz%hvc+tad9aHhzoXPY-?kw6)Pq|IsegkrS$fBdr^TV&%3@KgaYu+IW0-bR09G zP#s$`fADl@RS<1%Q^&+yQnI4Y;e`)1C_} z!R%YrRDZbIqC|XHYMtaiM0lci4I8o@6sKFVv7e`0}u^OEv z*pCW+7YilLzXtD@#Y0OQJ zTIbMgB%SeN&O*~TcXQSdI25lJ@K&+9w|=RGxKm#+gl*n1$4cq(wnL-u4W(%H(@WEA z*dfv9q3=cOH;VW}{pBxeG$1wfmp`NLiPp_U#1zB7sNGD*fz*7Qe^dXYK#xNDe^6g_ z4ZwCpTIcR%c+Vz+(ej8(bE_N89n3O#a>D((d=p zVu+H$7kW*k$X_vlA4x;L%ef-7t32v+1^#lKSyd-j?oEer^cLltb0FGEXN|H71g`G= zYZ{H6$Od)kGaPq?Z31NuWVR)ODI4mcqXQlcae=URqP6qhBq$W8AQb4!6ZAr-jg4Zs z5N^*KbbZ9uls0~QMk-nRvaIJ3*;eAy5VjWOhj>($KULH|>uowjF8UduO-gIO!I7pz zhF5-7?Q(*!Db9>wF9xK8wxA;0FR>EtQZn};xHy2(EyF8^j z$t6EmSW+I_*0IB0^(H8nKG*P!Db9{4J~!rVrghR;7hdcdPz=l79-s5FdXftcCh&Gn zVU8k~$kBZ@QzoBI`RPG?jy>NBtcgwSCT5QPS6O)hBY;=VrW25L&R*pPi7E#^+i<-Z znBsLIoNq;tYXvshy?@lz#2XnXtkCUEhbum3Itk!+DNihx9uk;kkFiV-IFnuQ*<+XU zDnBV5$CIC1z1S<`k*hEe5uX!guj)uGFWUT)Y^e=xnJ&yG-V^kZ!b{)h=5^b)RQXSj z+7HE}gZ}|`<2`5km&sr3Rd-!OZF3E)|1|kU=cKbJ;%}2-$$w08!~ZeaY4`tUl3UKE zd%FFQy~+=061~{!gV#2@g@CXC8xxl=Hp9q_(h(oHqFfiTcCfp0b_Ck8PQ?IzE0NrQ zA%&@_EyWnNKzG>eHHb5IZ+cTHvt?l9^yJ}ZJ)^_}Cf2Jpi!!G(!J`8M4g=@CY>M&* z=e68280?M$z<_})PZ!J~3G|w?=z|IkAey!ahHMTc$KnN!I<~>X@j*lb!aMxJ9b&OvB>ACQM-Hm^*Dbv!SzFQX3<%6ai|8Ob+ee%&)*YUZ{6MjhX5V`H7r4 zM|CD@pR-gVNrM_^d8b?RZ*>KVz{H3342zI30W6-GWR30o6+i#Jo zcMxS^J8MuUVm)HuFvA0sQ3{P|1pWk8U-1-f)~EyI2B!~RmMH`JhQy+geEi?yVnqIk z!wI<*y|Nh@HQwg=T}#B$PuSoGN(}ku09^+>KsEV+(o4C$1vTV$Z9^8FjS>vOGk+uL z=+VbuzLpex(P2tSZEW)cy-{Dd1alAb!eZ)iFGbgn7rgIq01#NrUDmJf#xd)dbzew|hK2HJHc~iMEI3Uq=5-=vfqxFeI;hr~%vW99 zH6 zLnl_#RCDirM-SXG{B`&R>K0j7NepWEMc(pY#tYe0Be(dS~-Z*Vq=q`cL(8cF4j-hHpy zmO($kZr~}qj=cL6q$j399KKA{L`f1KhM8cGXLvhbHEfdJ*mR2|@ZP9M&}=*I6a}vS z;h_VFn3Xl>k{&LB9&%+(ACXPzyWx$!LO?+_wv-ZL{hZDBQq=^9pLH~QQB#ds!#-T{ z;j7^MzD2$7_ZyDtlqTXS4a7d;$#n*1;8pQA+8xT}auK7sHX#0~aqC1r>!~asiRGN$~Z3fc`D$U551X+CQB(++cYJocll;k4{218etvMoKxGkXjNL zA@*iyZ zd^fmZFkf3aI)YN!DIq_!0BNB(T#_I|xe@yj#dY)6gQak4cYb5j`NrNSC?xTRsB5~$ zttw;cbqvo(=LE3}n1g^P$i1>t2h#aaR-r%<5yat&u+UrV8bZuPd0iLXmGd37z59@- z#u@sKn2Xofo}Hu~t^Zl7=^U@$%GhjG%_Fa?LQ=y2$e#mrncitJYxnh=@1>pZoOyV* zQUi_6`aq}iBBT=4k3f-IXRYDRRoBCJ!Ol+a%}4=$zVwId-0 z2I89W#f-DVa8b>I0ws|AO2|O6R8D_Am)nca5w!ZbGUTgm)l5o!d6nX*#5LX=c~USS z0J=;Sm&+F}#B=UzRk3*_{b&r52q#3UJci9$G^xm06r&K7 zK~dd3^@ylRW^;5Ac|L>|zN5J&h=!B8Z=&|*h zTM|UnSD4M`K#d2kdO5fBBA0gUwfCxe$=0|XmJNP)2S)pthnoTCS1d0yM)3WXcOb#1 z!j*HYGl;1CTLtDT?frRq&ZIP?kPNEo<*8S1O$<7-Ywyb+!LKNkck4XPK*2%(795mQ z1}XHn;NCxiFaHRx#yfR&V|h|Pwe9kT6jCM9pnFUv8nvw;8kPMAut#rAa`3l*0xPz; zn8spH4uN34-ro7C6nAWL3t_&>GCbxT3Hx>i!1f6_0LuA8`?iPjmazfDjL~AQ5Yo z?x;wx?oyN)jbnHkdd64XAoI8?X5kWXH9a^S1>{nl{D<2{n@*WKUlk+McW3zywHcBthAPZI7Jomdhtrh+)`Rchp$EF206kxqCZxc`9!GdXYbC{SvW` zB;1>r{}aGb;Saz`#9sgo5AH#G5X0>-!)HB&vCCT?yuf{!4jtyf(O?$5*%5dl+bvi3 z$H@2qnY7M;y_PZ6fW5(f95@Gj9~AK3E5TmJoz2RBD9{O>9UyQ93)uF6w;2vYx8TL* zg6VbKJDVlq-b`Zk1|4=xE&~~ks!D)&z+b0K`QFsf3- z`6Z>ueKQxcoc43ow#b)augmX6lZr~X{?6%nv@vgrmr?Rg99uDdX&5BFXX`Dl+#E4o zWdpYD8^iU2UQO^7223G6ENhc=*m5Azicgn$P+lc+B|qEDvo2?%y-vY(PZE0%j3sLr zxQ4)SQXTDse>K_Vy^|vriI6LF7^8o{$OkiCzJ{TJQT({(e#Y!j64tY7j&*=sYJ~*t zh%2n&kWwbrU5`!i+%4K%PQdvNi$K2=&&pN`291t`)zb$dNkLf5hI|7?XLtdipp=xY zERdbh=8j@%SAlk9QDaO|vA36L(XCF6;V?AZHR06)kBOh8iV9_NsyTD6Tk#pooj74#t+j3Hi!sO)Y566%Shm z`g>d)^AB-jGqhhECF{C|dW=isW4O%BKUlLW1Bb?5XMI>L0PLo6;dXVbOy6THeoHJ@ z>QJatPLD;t*?CqXY#yd)eqyB?zpEaT6-G)*K6suphicR+!?x1|p+m<>)=ZnKw8gk) zb?anUQ>=BalqGhHNOnz1j(NQrG0#CBu`Q6UlqKyvOv=bWV@y3YGegAru9+skC~RVu zeY)lxkJNrvUl)4h$#$i~U}1KGP`r%xeb{h2D=?y$m<1pt0JkS5wDMhQ@BTljn1NI{(SN9zqXvz)e@t_k z0By2<_hcsWvNaxQQ+w8z&Q8YU6T8v;)FHzDgVj_$<@7lvEkKu=Zrs&v3W3+SNWZ~| z#JjfqGlhCF3*Aj;58`s7ViTstk!G6kZ#247YP$NNbK8mP5mvkzV0ol!cn%JWL&gu% z9}E`&hQ?;VLIRLePCW&^Rak9AZC#NUNAR9(>&DyEjLohqE0>8ghsU;k`y!G_>RCbM zNvFpkwn_i9qF_P}KKCJMZ%|dh%r?o0R95m;+MdU*gW`Fyyr7`}2cwsk7C028dT}Dh zjHVXzLnco<8x)W+F&Xk^Fxpw3_f$P1Iij}iSe#N2Gs+-lcE-XS?Qnbh0y7k_dmO-qBLKlK7PFfyQtfWk?8Qyp}j>_)xCc z-H~m^An`NigevEIFDEPf_dcRoyvA{Rj7ZpWJe-ngrx150%D5TixEY_%+Ci`o=rEKh zvT;qN7T%yGWC8ZVy%{eBhSYu)uA-p{)#+BHAb>Jy#XM}qyim>v2uv7S6jkCZ4VwTs_HScs%4k7 z{8nz?at z;7>)+&4b`vQKno`_$<6RLTjb@EBxa3~B_vEIF4eAx;9M{fNWI)3%y`!w-GvkF z(6kHarpKy9SWFqWoRT~+pHm)@P<`Q0tS0maMB3%4fs7xg#S>Um|55>u{I`nGo*M%B z3MKVwYuBovBLyBr-L&RNB+Pf$W&SG?(N|iGPs3l8T;z2_lVCl9EySG`q^Z%Qp=h$w@PHD*3Q zIx%K?Kz3t9^MvorM~?MQGDu+YP&iA`@k;Hmt&s^PfUl=%d*wMTAH@$gn-CORcMMqx z{CaqtyudICG1&Sme)7FO{bfpd;2c$=P_Yi1H3nnbn*^2yMY$B6rt}QU8ky#?;K@`F ztLs9ZIP^J3i>#0t_}{pBKk4D3T0y)hIC7M`tqU{W^fG*<77$4JA3&IYfOP%^WcLSX z-hZOgPb%--ViATWdZWxNir*GH?k@!X3gElNk;xXF2Dt7=s!Y8Cn<*BFLzA|$UZRQQ(<49P$?f_nD?W^Y}b7z|tw%?>hf8zBO{>ELzDc+pYG5q9MO zKnQuEuvDIWVQ!OJsQ@qzwd9%PZwH3RR8vWBjX2J1k+V|3ObqIjD858=dJ!^KhGWRw zixkI$`4EwlK#Ib-l0r6SiJk%DzHQ6_9ehmSl0a^`VY3o2MoYpW^3(4Irn=^kmK_DA zauqr}EnN|PApiHieM8TnIUWuW5a${w5ZwRXx36L4Vku#6Zf4^0_ZEI%z0?B9y0e!j z%*K;Jh3pg%lF@PBDKxMl{qeo4wEIWFii&x?^y-8Y8QNyxE`H&h0JM>BQX?T}e&1>d52n23%{y?o)=`+^^kBXNN|uYZOC=QFj+n8*gQ;sfY$P zOi^JsAFfcr($^2xzE*qpv79yIu1?o;<}Y>2RQ~otRNc#dp5AYqRyVFc419G3YVQ4u z?VeK2{rvqun)LkLt@qZ(eG9vv7+V7`{QNxy4LZu&?mY@hK6pNi$DI?0b3!u0no|$F z{98KR*AASW`ZMm%t?st?&0+ zM0F2oJhva!lPxJl1Zt>nbz(i+KeTyh64;wwS#`@UHkm%E zR7_W3uum-ueO%QvyG&pKUgX{x_3Pc^xzY$}5KeYlA4W;BEUxp2uDkeF#*0=r-VQ&Fd$Fg+`;}$%)ySrPE;OyiLxz_uX^ro-Mv>;@9MQFTU6wSpGaSZuM!nCcK`eL_EYcu z+=<=OduHOP*JWbV((XGp{=s|6K+wdho0mtnB;=P%ygWX<#H!=mbgf$L{Js~5=d!~) z^0x3AL2R3{Q(9aE6e)c8xA(gB?UuYzsV}tX$CW?W%Ny88>kk;P(QSrE&4-B1O@!tn zW#=c8i!-3*xfKVTAJT$|73!>-6*IHe`6Dk)*r9fRufSzLdOG{zcV?}32LN6=+5)_U z0eFe|;hxW34d<=%XtO>2b*O@lEzC`)1bD%r4gb5)xNeGX4)^^Nt-rm`Uo_q^EGioss`sj#5^ zxdXsg1v`E_Jq>A>#$>U7$B)D*_Uwjs+b>!;EPDOc8-(vl^GpibW3*SaV69`5vzOCM zV+&WQ1G0|w>0OPtazlIa%Ro}ge^}o{05Nop9R)>1-B9BnXbfU?a-T3r)M~)XM`+jIHQqXZW`U4EoyoXxE`r`F)I=H;xY6ed0VH#80-m07i{?Srfb*$+8w?5#_t4 zr=-worMH0Zt7}0)^T=_%XlGID!64*nku51`HR3f8 zj&dYx;E6|dkj3CeZ#T()O`srwURv)ytZlSzy$IV+TUVncjX>~&E@BV1yGGPUbQ&{|gQvU(}2jxE-{3pu)%mRb8 z3EVb0_a_L4)QmMS4un|~5WJs10F3n?T>qx@6Xb*z$p+928qmz*?`GXL)}OW*gd09^ z)>hOJlomy0YKlrXaR=^Bx9-V)=$E*+rY{bods);}*~E51F`o@=xW%UK z`{Bz)(EfhLXz#Dj;n?DQE@Pe>&K%Cq7hEkK?}rw%Cl(K^6+^r1pNhVZA)voKx;#Oh z+q)mXu4Qzh@?^Aa{640ugludx49%>>gWYN2bJ{(H!wa9^T-n!_`NCkhIdPBOSoRtf zW?25#Lf5flU}#p9K;rR#fu z0bj-9*tdtR`@WH=G1)Y$*&iEw-jj3R`_${en`NQRTC?VVi->mq4Q5tk6J6+2qzWf1OU(0y&_!F^%!J_dC)|qi z1p@OHPif$-7;(DjkDxje-gJj*M;>+6oy0DdyuJ$ofdbn? zBBmJAUtKle_De)4WPii&hdjwGwqjTazY2m>4hS;Aqxz&MMwW~fJp{ojjz7u8MwG&| z3))?&@Xhc__b6Sn1ffXZ*A%w(IW64EIPaYE@g8QUy}a&nWw`3d_H^#X@x0Xx!#UZn zcs#wlL<#ez?R(y8yw2^8*1pv9X|v%-mD0U5uUxXzcI5PrHIHZ z^Tim)ew^dWpww?90RjK!dnmgRq#Y2#1t@vPvB)Y#M#y^?2|qq()8<7?Y~#&a#no&b zzagHvHo3aK%Q>9eqVJ<`5*_(%yNQ{d@eUZ123@z4OW$4HX*{>!T`+s0QBLP;Ts3*J zTq3TmwcrQ)>}tPkIBGo$$*eEB95=TUdD_P`q0?-fr6*-^6nr`uo@vz82G-`SIZ_$j z;i*WGSS*jj1xIqn?c9qnCOWWJ=`;7RZu1l7sh1PizaMwGJY7ym37hzKZK}hp z3;dmf%BN^Ip?B`OzQT@kS;;riy1+on53mlbZrKTf?`)rTA+i!vB*m7}kZ@n;*qU(5 z&5(NGgn+y-Rpls*DS0bA`l@dQy$ZF0S`miw2$@G=}f5zJp4Uo+rds94HCpZ__#8 z@@2v|w_2XnFB*|r9OjG(B~BE!S#l)TFPikM-rm;g+izshF_itXc8c5^j!N20`h+{- zXtJ>OMO$wTrSe$5Xdka4^=ACGlquHMW$Sy-P z)@==LOBxUMLBqcMcIfP8m-6jC`8R2(U|++h=)71nDn7)u>z$r$zK0;D)^4x!h#UFr zJ`X!Ni{}pR_4F~h-m~Ld_ZGY-_ZIDYkT}kUlLZLW>f)uxE89NCEX#A}?o%9STfu6MG z4t@Z9M+qR{H$V4yOv!B&%}g2fDzz>c5Gm*!yQ?!=ma-i? z0w;D-BQfM-ALoyqfpVI`C>Zy<`OHpt_1N8D&9<4qDk5j<%|?CXDeN9=a)xdyb>!Q=N;6 zFwx6dulzR#Unu0wQ4k{NfN4 zxHm@$k#@doujzt*5-n3RIDu)nmhQ2WMl8Tfrm1A%zqDU!c932uUy-oDh52(ILFoLY zaCVaNhoRnC=cSS7_-ct)ag#gMkorTWN#T6;GsxDbN2gRY@0Y>BSKqOxEoqR<@ko`% zZXBFzFRM-nz(_M_K__Vv7cD8dFCb*)=O-r`^|)B*f$N_LLqz%WZe7N9@Niw0^c5Z& zR^NYv0lrKKKP(m7%fcC^_jI=6;ZVq65qew54{am9-L}KR&7%pQju3G0fWWT10JD@< z@x8;Xld}qL8oWJzgI|xFwrj5`RuaCO%K7|yi{AAtV_F5g`w;vJ@}(iDs}CfZXZi~; zO~2e`^Gp;pD8^gk+Qp@~oEBt#qPMLUQzjkF)wXNPGFpqr&0*2Pt-zM}`?qLZeE5SE zb+`Y(vVA07H80 zS$Mr;+YHum)Mz78LEL3nkm`9D$1)=BR7;f70(CGW5Qe|9n~ zVYgY|*X&uF+0hU{ecX3HHM6h4$Y(g(5G`dPNaV6FN#}Z9Nb_VqYmd;W(-2YDeR60- z_yutR$7$FgFImG~9j?*a0SvJ^NU)ZseS5+Y-d>$tT?Xih4M0yQTujK8t#^(Vai**O zGN?6M3>Sa2Zc6IOifZAhYwu~vv?*di7XP)t+M0m3)8{oH|JLmCc;njUD%qIf&K9(_ z=G&Zf3-Ytpj3J?EDw7*7Dy=DM>G-0og4AtEV4XT=u>sLKkkDGhfO631hx9VJvkMTE zCJ^Dd+qGf2OjVwgDx40DyZY`({s4Ix;;_0QTV9*L&7 zoPfs{F-dnE^>WwEa`)jdIKtPT7XV|>f(kBZmPvJI+%Hnp+9bJK-0A|xyC_Iki$@Ly zVX}OJOg3XOUq~JTn-=q%RJt{JF)7;{$l6(-@|U<2G}zNw(%fbOnv4sY0y%Y$a7b@BDjujSFj#epk5_TRlwL(K-)<3 z1~o;(uEQMy6=^$eSEwIX=)q%fLH>ML1PV{|$vLS|E)<<|vp{K?*{(36x8QMTdAwsL zp>I8#7yRkuVj=Bj0a!bwIMAzU(W@CJD_%*w?b1g%QG))>#X`l+A{jJr(xo~CBA^++ImiG)3gHlJs=-$1$O$3p{m-dD;qlm)<^eoRn!-}K~ zH?dFzn+kE83hyQlA{_ul7mFL{U8j6M8;)(B``k}96B0IX4&Bq7(~V6Ky7jQIls4y= zs|yARNzNQq7wJZy}=%7k><;Ly!PHwkHn%;?m=TXiI zbgp_Bswid7L!6Rk4(pxOPVOl9L4`=dK;*Gd>GksU@bdGyrohoXAxhLS9>Ilwuh^}? z^QAteCO?h)_;PM~_qR5sLV-+u;A&hT>~6Bn-hu>=%oCYor}%{of^!pkK__y-Qtp~| zn{NYX`>W2F9ZpJsr2gLeb$-gr;gfA`(@9`&?aA`pqo3JH6If1ANfAl#WPfdIv>h zL3>=+9}1BO2)Ejf_E;$xsCya~mhqk?RFK^e-Ejo}TqgKGLm~qIE9B|22_U4?*`JVH z4}tSFCVz)ahd?Ca5AKGS?#@&gEg%GOFsB4O5NVb2J_1o7Ofi{WNOuZl5Y}1`f>=oR zn%ED1xh>I=N(e~T6e2L&?L<_b1E99F$oj(c`&TgjY_!xlil7>hJ*z+{Ap73}mE1yG z*MU&A&tJZR4f;bphINdM+r}&!9W;skMy}J$cP&BmX$I~Y@S6kr3I>I=oC9q;g|SYp za-OP;MTE$l2j2y+_%b(Yeb+(Y}}0gb2OG_dT#)Au2|n#RB9I=z97%5vgp~77ego2%)<8YfS!NAVLss7T^oaJokapZ*`*KT_53f1>3#GUuxm`Z+1BwFG&3E2=P(v} zR3b!nf@T+6tpDaCAqb{V=18Zh0WR{^07vK>DW%tm=<`JpgSj~XGaS)pAPSaC_fliF z1QFOf2NOg8#0*D7o1^)o!#w}z4wJzpdK|j3yMMR=%=;#5Tn>}FmR)3aUq{aHRFCi@Q>p40v!YZ zQ}JB(`Sf{b^&sKDQN#Zp8t6-!TAk4B4Z2NSb+41P=VEEEXX$Ka>1Y=l4GNHiD!$#i z((&QKztl+~#zsYEP>vr8KYIzEryOn~3Yo)BP@-)~YI!1f9nw0e9STS7ky@tGI2QaG zQIIiGanPTo{jlqJFje)^Q^r19h7VcS)1Gf%0MVsAl0L3dWhkd#rdmtBzdokn?}hN* ziS(}RDZ$b?TwguT(lw1CxY6#y1X~#u4HwfhXEQiAw01VJ=0CLAI)vYi)GcOyoveMGiST!_{7Gzw99LS`>TAqOS#O5 zZ_*c-s?Bz7|D~*lYU+b~lP}ILuY)eHKHOQd5+{<)3E1)Tg;jQ}X*+xKZp0H$+z5B=?L<&yAKn;2DIShB_fAvEX8)^ZAIow1xLv^pc%{ee}6vZJR- z4Nz71+Fr!kT`%#b9x-NmDQ2EIjDek~R9J_SW__nNz5kBVx`aQtO_CZ<^*nJZ z?D9Iq^!2Oud%+1}yJuYc+qEGt)RzYc*3z}?e6}B?4hs19B^dEf`LY9SkIS;!IeOtdu26Z9;D(@kGvdOe(^TwVdLC8u?yq+LC){(7#ca<%Gh)bo-z3hQ`_ zo$WBv<`V|iad}-CGlhAS@#|?e^t+*Erznxu8A(_A0gvj(w9ln(mfYCqTy>|#eH}L*a+7CT5 zuATgq#n06E@MZ~E%;{_I4EHSJ#5htCLFxi1tRYq|rkrlP>7c64N=|td>QNp@)eC4ey-dIpxd9nW|*kLd();w*sj zgO)R$7p}JwISEb&G2F~JjvXM!_|nZ^NSF!?E)rtgnQZDz`5nOLBR&KRVX9uhQocxd zQRmPD=?lm>VQR<@N-iemUt;Y4pJGf^S$>-}lu@RnXbUKiG5^-k;672qtL3~xFV)EE z&Z4%+0PUF2(8T=7`Rr}LMA-oUtx_t9nr?m7rEcSLmb1oPt-@2f?e6t;Y=ADdQCPr<$>u!bEssNBRB zYr_xKeWg@h2}S2-RZ#GPlb;_JL>ym(pv?8TYO4tspVIwoX~FINZ6jjhyHLZIXppRZ zDsZp8hIpqf0ozaLsUo(YoH%5E*eV7qy7lZ>;*+40G$CdC98fXgTzEEGk_b2f`->b| z9|hW>FoJ3~B5OxP<;%F1eQG(Nq!&h2mD}hID3ss$idwN&yMrjFJ^3KuD&UF@j73pJ zG`D?WGA4o?kIrxEe3{oL=y_l6CGMNV6|uy1`TF@l7G-g_E$|2~fbhw&-Lf_i`9m)J>sQ){q9=8b}q z9PmD^mMPXgtzq>fEj1qS{=OxCJbL_xiW@2>+`m+~0{a_lTL$-uE4{qkyvR8#{H;SV z`w*bx&Ea1<-bU7HnTY-u5>C15>0Sf(&vJi3$s$f&r;s7yC2cO3hUTe;T@Z4%0e^( zPvsTEAy9N>IQmrPGRRDuYj1eQYxT5oPl!Zbj1j6}<(N_#{`|8mx!vy_pjd@56i1A= z@f3KY11TtGL}Rg9=g>MFL3`iPSo3_G0RFy^X$2n^qqaJ5$q zr#d67g!%g9lL9~ZoWSeWa@G|OZrX)<23SN34ubhuwZ7XMSffdkU{*v6u^Z_y2VB8g z^|4qBlCeOw57ZhF8rmw<`r1?d57crWwZBmZuoCi5{-D+b#`Mgl^4w*hS!iHD1he8G znv0ij7prW^sZe{Xfz|}(EBJCOG3LYj(X@!9KnAm>L(!sI^dpaI3Q)JvEe6A3_G1OJ zYIrY1$+K&g%Tq%7mS}SwAzENi`LLoYwbCxK@co;syva~bc^zmCgg%^j1ioFRffzWU zx_tzQFhC5F2GwG4!q*yK73Xi|NZ3ptit2&N@bj!2)$$aEVH7(YrwJDsI=gBLA5@D5 zQqcl|_2D4>HIOYhsQNkMQFjOy`O67QWXP{anlKwK4M$idP6f)hg-l&1v2uvCRi;NP z!&vnNAppT6&~)z&<|oiBlq4AROOxQa`mq8fbfp(Yt;1L+5J3B};Gr5w7H#L*oG2{P zz5+}WR8Un;KgCdJP)^j!qoC=>lJQRrW!2v&ugFgLhHlXx2&)g*k44*kGE|&KyI72Z zFsMY2>ln-$uH96)VgG;0Vxd^Pb$y`^*&Y(Hr3);xw(65<`9 z)$>|~A_$+(Vpm**Jzk6hE9~-OdEtNUrNYj7rN>#UWj0N}fl^lUSEgo*vWcmGMyY3T z$AqTE`AGKal~6btm6*r{;Q$#}v>>Uw!d-NCE`dON15{{nSLSCieF#275_!EyA2KZQ z&nCMB@K5B)a6Xn9{gaE;!+m_V`>2VcAOGU{M_u5;~P& zN8`=qYsiIBp=n?ggw?~cL!ZmUy{U|^1VvC$4={>zW0V-fO?FeJzVujThkjhYs8p5& zM-+ua-6*m{SH{GO^|vMu<6_4pt?!8_1W^;lN92S_{g9R9M>0{ANvbKtP>pDPsZOSh z;7XHw5HOXMk`1y$MHB{HF#_v2e}UEcPywz4PNixY5np6cDQj!|sEq0JC^^tSGPSNV zWqMx)a4n^A@q~OuMhZnmv4MZ0=0pDzl>k1F6o0;&EE!JeZws`l0T#r3Li?~_qAfJ; ziQsNIY^&G}Dc((0ejt6mEtCqvXhT`4hWuA$ZmaOjcU00pe0RY=kk{KnZyaEiX2eQ4 zumkdfUjrd6d{_8US$Si*l*=cDl8Qo6QjYjh>yl>nY|_&)=Q~{I$bHU@{MlJx# zak--ZMVScXpOiV0r;IJN2U2y}E$bPWA*MzOXL`?BuV? zYw}y8S(C`Cbf@Ho>7h+yiLI^aR>hSZc2a>G zlK{E+e3q4fqBR2qOn{BgC#gV1eZ=&Va*Q)N?uckkFdt7oA3@%i&Eg(kszf~7s$_5E z^I%j<`H6)-iC2Bu+qBb=7ZlNoE9P}lY=ta5Bl)!k!XF!o{h5afiv279Y0V|vHpEs; z6$-9UUM%~#Rf6@|2%iMihHadk>r-IXWf^E)fc#m6f8T8=oYA0~7)P}2=xs8*2xyg| zyd6xq0MSAP|EWTX75L92aYO3qcC8H!J=(n$Ke}GukJpG9oGqRpDz6TEt zi7ewfI}8|TkW${Qffz&&Q&Ua1Dq+cgC=G-GC?!z>D3y`p1&y}lilN;QgEm2tmDteG zzegv*5#vb8VP9hm@(0ZaP~vo%rHLZs7V6mpMHAzAm_H>*ux%b`Zujq-`UTy2YT=3E zPP}caq-IA!UC!U@&V3EA%rd+EyqvDb}_h4oZR} z9fDxnF*h_U208Nc03$a>{|WtvQ*?qh%?1GaVm|(J4p%~X43W#3OmPTm1l!AsqG3wC z+hn^p$nbods*uK?@|LlogYs@t1l6Blk>N?wZwx6vCURH8MvJ>KNbI+v>gf_biDv&u z(c%D^7~AhfVk1cX6f^}yk}jj9$}Ha-(z_g0wDt-PFl*B22=4nh;WiLuw5=O_rY#zv z2*wm7O||vH7O#M6 z`mNNyl>awVfC6}GQdt<4C4W6ERTi)qM@F%md9MFw(Hd3c0>l5W&)hD(rdYLtC{nz- zKK=%>>t+hjL1}--1xlWX(my1{iNxVRDX}R`nLDRoTc6{+IpUn)A@eY7fEW0r;1-k( zhdCiQ?Z2i#Z6xGav(FClnn%srtZJm?Iv}10E}yr)Po7dFO=H#&mbx30GSg8h?uO2# zqUJ=TW(!-#ya-lO;lP}TcxWZ7&PAPE6F9C0Gc&tLx!Uho3dFVDtLuAH;I4B_DF$w+ zY;|=K%vSa}Czi-E>dEVH1ni49x!)arQJqybJc1H-q=E}vZ8Ci9~Tm&c6-;!V)(CmWH z$dtTx;GcgbX7-}QKuR)%E`w48I73Yh3gFzdtq1c0Ed}!?Gj`4IB1H1PY%BC*UPJcd zBYI`C_&)jpUk6dZuSdTU;+7Tj>>zBJ1oPEPRUY`wbQ}EMgy)MYoegF%LGtQOZ!no8 zdh>qtgX0i>0ltQuV+?%+M0s0VzP98sNV+s^Sr6s|1mgQE5KllB=Antzr zRxGcpJc@DEZyfaVPqT!ei-P$G z-gLP{ki38jrt!ai>a!iB)9SZx1N>i!}kD$x{cO;$02{xZah){&EaMpt4<;Evt@?4)^-D zm?{Fw0qq)cT;2VE=7ZR>x8jE+2HZS=Y=xt$cLo?yByRt~e`@jYdGw3=x00DhLBOP! zcs9q>6+keb;7bpbJ!;g)5U%ToC!TTvlHNyea9T`#$hn5ZwgvRY4nm;;K#m;DD=Wk zE|hT!@Ap-`i`HzkM&gyx@Ld(Iu$5^Y0t_%P3dT=`Pv&sj3=j75+5En|;6*;lz*S@O~=}0SW;8 zk6>S9ia1Yadd&joECc4o73I+Xrn3^VzKk2WeCgp@o`E6b5R`EseC?$KC^Fs=p*W9=~IQ+kXGI~sRq9j$oI3`~0Q`fiq z(;!}S0V2N@wZPE;&}R92%^FPzP%{oQ z&mtg=s6o;XJUJ&~PNyKx)F3{?+NQRhvNZXCb4+~0662V7fXy$S^H782>%f&F{Y1HH z!mH!>y;EY{V6t$NZPI}5>TpimPBD5|Nhbwd<~nvhpkBR5hGK6*Uuwd>kP=M@QXi+NAP>rn%aB7f z_}i!m()wuVXKCz=cRVF$%%Ho4n8DL*!mDG<_VRl1uI1{_LL6kL3=33d$WCei1zRtW zB#$2=O);hbNX5syOxN!l_7(Xp;aL5lU z_DSxD*|$n~Orz|X5CGTscQK+-=m-%x1%(AYBwe0HljdZcr=;`}sPf z;wXcj;~Pu24cXc0P}JmWVX<36VOcNOdmpDa0YY4K((cujB%bVN)0&OBC!A`qaY_GWu*py(!5&0UzCJ| za1d2xgd8z3_l5F*Km#_e6y&c8GCLFxL~N=fT_J#@M2&M>JN_)EQBI~cHy!M47{40& zOC2)7KUtt9!~vYy7y7p|_Q;Sq=+zE6wHS$TqvAN@Cd`fYy>28F~Y_6b+Vz656;NVXyfMW4Ikw(!MbNSn{yW{I2d2h_l}*o~!Bs zblz!vEO)yY(6X>kU#t zFDE?!c21JA48u1OjSh_V+(4NVQSq;zZz2LxtcV}CFk|Cm8WrXkf<>;Q-(ylqi<}yA zYxm-FS@Iac|VCw#Ll%UwW-@n#F(J()!Pydo8jMP z`lg4rU>ba9Fo-0%9W(hus`M7YJKZ;(3KN`jK|m%$$#ic+&XS;Lnq`BMdhZ5*amYDA>bh zH)3A5 zzu?p30W3Y-NvSTDdUu-#JX6 zg*_G4h2&R3OQwY;^JR_;;>9z%u|J{vvOff{OOQ`jXK+HqJ@M$9%s_l+Y5rVc6!q~< zVIF3wyvV>|&M4B>|WVF{Dg>I`9#JYD4Q z7JM9<*=U*iL}8gPOW#+*(^4wRrf6y-060W_E^L`KU3f+lsMu=xgQ7&bF-~T&wKTCr z(#UFt+h41PJFCTx<53#xhNq*}ykGUHPkVZZ;EshX)c2ONxaeece1sckRa@2fcwqZ5 z-?eIdgaOkaAZY4IQxs!FlsA|@!hoYW>CT~Oy3W6f{6cD zoh2+l9S2m0_v;DjzrhUmo*iNwi~a(#M#F@>T?vNR~bw&N&+{L7x|f-ggE_h?1I$ z?RI9V$nr&xg&{FGlz~#0m&+UTN9)`9E-$Mtt$7Nt8zR~MzDIL|N;Xwc)4gMWS=9a8B9=7JI7;()6ca zw@_gIEfl&YvA;fZ%Qnz$j=ux_%!7y%a;{Bk+D=o$)e;^ zC?M{stcPr9DU7<7>Fr8b;#Aphi!F1a5Vr>BCvgvpOz$2^EZB&n9Sk(RpSp)TOh{$y z@xl!XQ$+09i6I0#`}R$rcv_Z8M>AY332%U5*q(W+Q^zq^uVT}0yaqnbR5%xl8iMxe zcvux{ZkcqEoGhD?D;MBq`Ynu+(_X(_yH6N07-P0tUl8kWLa`eBog9p*bJ;sKWdyV0 zcg&l;?v;sT`QJ;7Dl{CcLd=hMm3uiZXiBOP;@w+H!qzmQ*K9@QXiKNK*Y5zUet8?j zx{P7*#roDo(EA@PE`lNZm$3y$JRT7+H~E|$O}M_72cXKA8hO+}9}0@FYhrUThv}ep zmQ9G(gmBTAR~HYYA}F-#%eQgg)eetE-W6)Iog3984RoB%j?uZR?-+%|S=qg?R-T!p z3wk-;G#E-<0hh@%3u3IVHqve`f|lq>K%K#ZVK^znIn8Fxu|O2#*O%HoUMV=(fajKGxeaL8$CxpUoTMUk0rk3{pUG zLq(vap25VQujXr)fLWc4BlUs&Ors_6YJ&9z?!<=*VUY z%E&9_<_+I4{!WY|kO!~Ms$Rjaon~?PC>~S2Lk6wmh?T|6f0j*;##7ETVr=y~z~;$Y z6gH!|`?HfB92{f;A)3Y8;i}aQ_&*){&6(|B04TEj8wLmn`CpD118RyZ>FHbkskFSF z*kk>Z0cY^?M<_*7x`bt10}2w=U|{_iJhnT~XPj!Z)tGbsmf7Ev+?G)c=hfnEcUIAE z=hWjQz`jtJj)G#Kgq-hFPx|k7uecgb-)U;egs7;RFT1g9X?j5!^F8*s@t-@!0u3l5 zo)ATSKX0ZW?XNY`Ys?u_G^-@GWR#J8@^CMAT66q{8V=o8N~Yf%fdMm8&6Z@p$3(+N zc5OtU7S4)09ek1!2Gm^ZfbAL_1|^6Utx6<@vCY-7nLxr6>08Dau`p`o7QCu7tVbiv zAJ3#|EPpV>uy28VbdJG@C6*&pY+=m&6skb&zzudBEZjKYdys~Nj*LLGvpP6zt)r$g zIho4FX~mNT;4NDHQluB41PXdVx#IiUsUtWCxG+VPt$s^5LPjZDYv}I z(7fX_?CooN^pmy^mkTh@t)TIq@)bzY*8R^jC?~fLxT?w$Eq0#fzSF``RX1qnECW|3 zM(ku^6+4Za5e{0{oLgIv;^7fZm3F87ZY`s9>&$`UR@~Kubmu(C=V~Uz!-(IC9C%lm$);B7$d!GssP= zX-qS$#i!v-hr3{Y>c2TKzBe>?>5O+}@mfp4hP+JOkRgkQl#gOFxN=9Yo82VxHEM4u z>Dun~B;N8SDh`!b@7REY&`;D{?*9mxbb3kZBs(o~ldcpg{c-(YHKyYQh?)lh}#quZX^7W4hH2)D22TJ!GQEnQph2qCmxS3 z9fhlf(;z(H-@$fLuMZmg3a)Sjn}zTXL+1_des2SdSX&^^@Fer1=M9uQ7E4v%nqjJ- z&|RU#ny0F|8~0(5v?vprX@dy6gh2PkT9AzJP;O!(B;oxaV;6}F%v;uIToHexUF8J* zTwI@lT7`l|DR4Rm0djc5i^1>QGN-|5fL?9r%ZL-BPDN1Va8Gzrd>k)om&8~O%C{PM z#dTxg59$R0vnM3~slxeEC&4HxP8@?GM3XBuec#8IK_`GHp|)_m?1FKt{Cs~umS$#F zn#uxxrCqgjt~}dDzCGPoAWZ#)a_?C-D=r=lGQa{J>o^u+zb+P+P?#uNw{h%(tGNe9MHc~xlv8)^j06=p*b6KZ|RdHKMN> z+|1}&OxbW+8zMH87}&h;hNT~-Fq>1p4Ac~lA-*d8at+e5Oai^^W7{QHZcXLy7RP^p zMYooJN+g|NMU)2<850F2=irEtL-Ya~&iZbtmnJVG3c}N!4Qf|I21A6*ZT~XaKg=vdtn?<*>`N{a*db-&*EG>2MV^Gtai&zbV4xGv)r%RhIkG z%%r%8wp^m@($H-w^up`5ZGFaRO4D%_Tkos$Kz#P9mW{Vo>frI%O5Thq&t4dPt`BvW z`Oo-pwGbR;40sTc0dlqGHaggRDOBo)zGREq{yc(gt&J?&A5=QUcdbXSD2a*i=&X0Y zM7i)$H0MJW7e)^Pa&m8fDDEW2x3^Hu&o7b}h@9V;mB@!+$cjZt>?XVIJ)Y|vBSqx* zN@YCnrN}0VQA*cgnUU8aBkvV6NP|D|q)*w0tJu_}S}gQ@kF!$d2Z?Uj^+g0EVE6kD^|XxTG6V}1rc z^ee{tx06F|5om>_Mxw<-dgbR?i10A!;q_n+t%OFpYq-Kvwv$oPvIb?d1&w))gkQ>G zM1i4a$vGC&zfJ~x6EIGxCIaV3v|syn@P8~T(?F)7nu z9e^ZyUfL8pY=0F4L7#+?q3+rca$E@y-j{Xn$-bGf9Th37{dSJ~ldh;Xef8qbioFbX zSd^9A07_F^1_P{=qn>uuU(%@Ula}SLl=it~rFa#f+GI*lps%l2e1gAA204?+ccv^Q z_mrj1witEQ*z~rU{2K?xH{Pw6Bo>!H{ec{D6d6tiPdTUF*$l zBeT+4w(S7I##+9#xZV8T)q%XYxnClunBy56wBK$N ze9?t>07{{i&AaCc!<V!(&W)&}>|IWVu30yWhX7v?p`l(ezhNHs>ypS^ zZty6#?kSN7$%6COre%4CKM{3sLm=Ti?9-2SF-3zyPb6)bj{Y$**61grWG-MhdHJaWB5%HdR=me6yiuj3KCen3}Joxz($=G*`)dz zkgP=2gE>-zD}N6v_@pbdvw^FZtP$;k-5lL&?)U8!8fg0{j@PPhkC6Y&#WKCQmWlu$ zco2Z>^)ukFfs=!yjg^{}CB2!Wk=37%y^8P}m|g}HpkJQCBe5feT)`-F3W(%LIWU#t z&p#nz+hgR`;hgY{XOzAU{Wh*y@latT!z+GNH&(dq4(R`D#m87CqG%T=2P7Qf#9$R}mDG zX#@BDmxGlTLRqr_S=3B%VQGT*k?oxw+lk4tmvsU`qg_3<2*U|*{_{oNmmc#LL(}UJ zAps)H7KS35iV<2w8s%hy#4&$PH9CV#r`ijBlj*e9x7nvI!Zvb691-GMJ^ip!?(+me8I9%w@4D#5WabWvP-j6~5P{SCD^pXhWNn^fo}S zK0r9eKZJismb169b@eXn%9Sm4It+xNHDEuW?$pCKcGQYz!l2~2PAVr3y7=Bni4H3R2t@gp4~ z;&61{v>U3JgP?;axxw2{nYcb$Yd0BhBo?z~cZ1mP)5adj;G5`n+zdmbTBk#fH?YGX zEC1Fm={XEde2E5FRcimD%x;%zB>(l)VRo8n<>E*(S%t-F=bL(#tb7A)mmLy8z0C8u zN5DqqUP#5pK=3)CG%dhe+LWH>C7KjX^`XpEt zJiqs8zUzaE3fiITYfnnG5dmXoM|8Qyk*AJ~CN0EKFI+B%e}Y*}^vw=Dy+J#A-M$1S zL^x&Y{)p?ckR|b4!`&hyrX5B0AEVp2s!w&dshR<%omG?0a*8x##E8CXb;-P1wsmz< zuM%+`I=p|y$H*+_Pf_H-yzXZQOpL_xgPU?pLp76A3Sjmc=?P^>dFLE~6~*TU($*%2 z%oF7fAex~c&1pI}N8C2Zz&~(ZWmabydF}k?Sc;ESPgOdUF(Vad`ZHRnah)rUcVv1E zPh1?kCS}9ixE`dRQ@A`bv@#S}GObMGMpj`6v_jTdEx*f~#}gJ<6i24ld&hcY)ii;Y zBzaR@fO`6rqioNLUU|mDm*=xcji&<#-?s3%Q+p@gP?yfw84{>V2ID-2-GkY-q;)`q<({4pvig8#QMQ4TBgu}9{JC!i{Traum}6%9AmZ8$}VUSsy>P= zhungmRh==s`tb_8T3JyQ;(R<1?M8VAAYYG8Ep+9XmJEdq6TBBqd!0m%jXy!HP;50> zyp7yQG19{#bVrU_Q%z_w4;V(H;d`uHM~pO2QXAF z2qaPp0ucpfEMVd8uhSHec>&|o)8VSeAvZ4<%)$kCFSw_@H+-$_4GszmmVKAmO)&qX=}Jj*;=K>P@K7jraZvr729U%t0lA0Bn?gx)D0 zA*k@~N58o(YaA6ub1aXJmGYTI64BlBV?&=C^H;}wd$h6Bo+ba5pj&%ac47Hc1UOs* z_1`{d?DV9NytFF*m`5D(gUr;_woE|W*L=rnC8BdhL1@V~ET}!@~WJ z`1U91gB10B%?rLkDK-0xE@U~AO<%deI@%8+@c5a4JXd82$9AS5 z@99~3TWG?chlS$En%s+iWyQg4jXt>!bAh z^Rbgn?|3*e5N>B2g$~?4Njt=H>*%j_&P-G`FEGx;ewJCwZd8&mTl;P5WOe*b%(XMV zy)wgpJlA62h3*k(j8nmvX%A}DQhFk2iBL{n{k=M4LXn;J?6T>2uEPSq1vk8mfmn0C z<#%0H3((^j<{s1*29`pN4|chsTR^A~Aemcfi9d@p5;>d}(lDLEubL&CVxU6&z|c`m z7XFix(j}J7G_o!t`QMQ0mXEbRUv49i`EH1q-xj>^ivJ<2DQ%jRySMHTW`Cin50738 ztS#eN8gqPbZKK^VQSzz(=EU33Yi9m`Z>(U}!y0*tsGlB3;&q#g+A2ijRcdgl=F;>q z89_O@2*#ee<;>=&9-aQER6ncAnH{8_vw^O%k(7)q`QlLP7B?NYjiFH|x(D5DV>$Pb z;IND*ye5K$8+p9&N{0ttlgFIWVXOgf??oAEh4^Cf%>Z)0I5{(zn@NGNMbK1+RhrE_ zcDrXg|IesR%~{N6hfB2FjM%Xydg`Dti6+>&B(^yB(!Hz>Soo^=QkmX4ltkq7!THS> z9;(rdT`Z0IYTTR2e+)3s5X|_d(!6qo{>ixxx#a1)dH6Oo_&LwS8>`0Q55$__ zG2Fe2w}K7Pe)8j*$W^@-q%vnV3tD)I2VOn76E`S>yO+af11pS^w&R@1olJ@~sZuL) zXoRFRdp5M){*y^n~5m;z{ zwTokh$B_|3=u~>T1I>7vjLsm|Txp$3=gV9elg^LnHt8b6M`B8^Tp>tg9J{)bo?m~b zy8$~ek8i==qgAIqRmBGRn=HJNSq~nQY_?fkC8sltEPOlX24W<`7=09`BsS#rox6o$ zQ$y2*;l;k416g)qE+Z9W>W6`m-|0a$?$e}X9s25HdMHcx^L%G3`kjP!@V)neI4hVBPp->2|>==PPKYdc<+1IMhHpiGS|N4TI^bju9-0#yD-O>@;EPqnxlEK^4x7=1`wfk05!KS zX~&NZ2b_aIY>orPU>8q6^!Xq!7hl^i(HR&Jgf!M$2QH-pb!6xdHL%CAJpvHlV*Ib6 zJy;kU4YjxmT+#;!znF7BHXPeDaOS^vkJELZua#)9{O!nyC=-x-a6%wLKeWIe#}*Ep z`A_cP<@Kw(_UF;&>IYmw4l{7$*+55pbq)Z8|25#*ewCXUH#mflwjxdxA0qVrR((5!^=N0ixq?hNWMShs#&H65I#i4@&;f MAX_EXPONENT) { - return MAX_BYTE_VALUE; - } - - // Underflow (Number too small), just return 0 - if (exponent < MIN_EXPONENT) { - return 0; - } - - int frac = Math.round(f / (float) Math.pow(10.0f, exponent) / STEP_SIZE); - mantissa = fractionToMantissaTable[frac]; - - return (byte) (((exponent + EXPONENT_BIAS) << 4) | mantissa); - } - - /** - * Called in Earlybird per hit and needs to be fast. - */ - public static float toJavaFloat(byte b) { - return BYTE_TO_FLOAT_CONVERSION_TABLE[b & 0xff]; - } - - // Table used for converting mantissa into a significant - private static float[] mantissaToFractionTable = { - // Decimal Matisa value - STEP_SIZE * 0, // 0000 - STEP_SIZE * 1, // 0001 - STEP_SIZE * 1, // 0010 - STEP_SIZE * 2, // 0011 - STEP_SIZE * 2, // 0100 - STEP_SIZE * 3, // 0101 - STEP_SIZE * 3, // 0110 - STEP_SIZE * 4, // 0111 - STEP_SIZE * 4, // 1000 - STEP_SIZE * 5, // 1001 - STEP_SIZE * 5, // 1010 - STEP_SIZE * 6, // 1011 - STEP_SIZE * 6, // 1100 - STEP_SIZE * 7, // 1101 - STEP_SIZE * 8, // 1110 - STEP_SIZE * 9 // 1111 - }; - - // Table used for converting fraction into mantissa. - // Reverse operation of the above - private static int[] fractionToMantissaTable = { - 0, // 0 - 1, // 1 - 3, // 2 - 5, // 3 - 7, // 4 - 9, // 5 - 11, // 6 - 13, // 7 - 14, // 8 - 15, // 9 - 15, // 10 (Edge case: because we round the fraction, we can get 10 here.) - }; - - public static final byte LARGEST_FRACTION_UNDER_ONE = (byte) (toSingleBytePositiveFloat(1f) - 1); - - /** - * Converts the given byte to java float. - */ - private static float toJavaFloatSlow(byte b) { - if (b == INFINITY) { - return Float.POSITIVE_INFINITY; - } - - if ((b & 0xff) > (INFINITY & 0xff)) { - return Float.NaN; - } - - int exponent = ((b & 0xff) >>> 4) - EXPONENT_BIAS; - int mantissa = b & MANTISSA_MASK; - return mantissaToFractionTable[mantissa] * (float) Math.pow(10.0f, exponent); - } - - // Cached results from byte to float conversion - private static final float[] BYTE_TO_FLOAT_CONVERSION_TABLE = new float[256]; - private static final double[] BYTE_TO_LOG2_CONVERSION_TABLE = new double[256]; - private static final byte[] OLD_TO_NEW_BYTE_CONVERSION_TABLE = new byte[256]; - - static { - LogByteNormalizer normalizer = new LogByteNormalizer(); - for (int i = 0; i < 256; i++) { - byte b = (byte) i; - BYTE_TO_FLOAT_CONVERSION_TABLE[i] = toJavaFloatSlow(b); - BYTE_TO_LOG2_CONVERSION_TABLE[i] = - 0xff & normalizer.normalize(BYTE_TO_FLOAT_CONVERSION_TABLE[i]); - if (b == 0) { - OLD_TO_NEW_BYTE_CONVERSION_TABLE[i] = 0; - } else if (b > 0) { - OLD_TO_NEW_BYTE_CONVERSION_TABLE[i] = - toSingleBytePositiveFloat((float) normalizer.unnormLowerBound(b)); - } else { - // should not get here. - OLD_TO_NEW_BYTE_CONVERSION_TABLE[i] = MAX_BYTE_VALUE; - } - } - } - - /** - * Convert a normalized byte to the log2() version of its original value - */ - static double toLog2Double(byte b) { - return BYTE_TO_LOG2_CONVERSION_TABLE[b & 0xff]; - } -} diff --git a/src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.docx b/src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.docx new file mode 100644 index 0000000000000000000000000000000000000000..23d98fd0d3e11c787ac935ef80728e72242af933 GIT binary patch literal 38722 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.java b/src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.java deleted file mode 100644 index f2655e294..000000000 --- a/src/java/com/twitter/search/common/encoding/features/SmartIntegerNormalizer.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.twitter.search.common.encoding.features; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; - -/** - * A smart integer normalizer that converts an integer of a known range to a small integer up to - * 8 bits long. This normalizer generates a boundary value array in the constructor as the buckets - * for different values. - *

- * The normalized value has a nice properties: - * 1) it maintains the order of original value: if a > b, then normalize(a) > normalize(b). - * 2) the value 0 is always normalized to byte 0. - * 3) the normalized values are (almost) evenly distributed on the log scale - * 4) no waste in code space, all possible values representable by normalized bits are used, - * each corresponding to a different value. - */ -public class SmartIntegerNormalizer extends ByteNormalizer { - // The max value we want to support in this normalizer. If the input is larger than this value, - // it's normalized as if it's the maxValue. - private final int maxValue; - // Number of bits used for normalized value, the largest normalized value - // would be (1 << numBits) - 1. - private final int numBits; - // The inclusive lower bounds of all buckets. A normalized value k corresponds to original values - // in the inclusive-exclusive range - // [ boundaryValues[k], boundaryValues[k+1] ) - private final int[] boundaryValues; - // The length of the boundaryValues array, or the number of buckets. - private final int length; - - /** - * Construct a normalizer. - * - * @param maxValue max value it supports, must be larger than minValue. Anything larger than this - * would be treated as maxValue. - * @param numBits number of bits you want to use for this normalization, between 1 and 8. - * higher resolution for the lower numbers. - */ - public SmartIntegerNormalizer(int maxValue, int numBits) { - Preconditions.checkArgument(maxValue > 0); - Preconditions.checkArgument(numBits > 0 && numBits <= 8); - - this.maxValue = maxValue; - this.numBits = numBits; - - this.length = 1 << numBits; - this.boundaryValues = new int[length]; - - - int index; - for (index = length - 1; index >= 0; --index) { - // values are evenly distributed on the log scale - int boundary = (int) Math.pow(maxValue, (double) index / length); - // we have more byte slots left than we have possible boundary values (buckets), - // just give consecutive boundary values to all remaining slots, starting from 0. - if (boundary <= index) { - break; - } - boundaryValues[index] = boundary; - } - if (index >= 0) { - for (int i = 1; i <= index; ++i) { - boundaryValues[i] = i; - } - } - boundaryValues[0] = 0; // the first one is always 0. - } - - @Override - public byte normalize(double val) { - int intVal = (int) (val > maxValue ? maxValue : val); - return intToUnsignedByte(binarySearch(intVal, boundaryValues)); - } - - /** - * Return the lower bound of the bucket represent by norm. This simply returns the boundary - * value indexed by current norm. - */ - @Override - public double unnormLowerBound(byte norm) { - return boundaryValues[unsignedByteToInt(norm)]; - } - - /** - * Return the upper bound of the bucket represent by norm. This returns the next boundary value - * minus 1. If norm represents the last bucket, it returns the maxValue. - */ - @Override - public double unnormUpperBound(byte norm) { - // if it's already the last possible normalized value, just return the corresponding last - // boundary value. - int intNorm = unsignedByteToInt(norm); - if (intNorm == length - 1) { - return maxValue; - } - return boundaryValues[intNorm + 1] - 1; - } - - /** - * Do a binary search on array and find the index of the item that's no bigger than value. - */ - private static int binarySearch(int value, int[] array) { - // corner cases - if (value <= array[0]) { - return 0; - } else if (value >= array[array.length - 1]) { - return array.length - 1; - } - int left = 0; - int right = array.length - 1; - int pivot = (left + right) >> 1; - do { - int midVal = array[pivot]; - if (value == midVal) { - break; - } else if (value > midVal) { - left = pivot; - } else { - right = pivot; - } - pivot = (left + right) >> 1; - } while (pivot != left); - return pivot; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(String.format( - "Smart Integer Normalizer (numBits = %d, max = %d)\n", - this.numBits, this.maxValue)); - for (int i = 0; i < this.length; i++) { - sb.append(String.format( - "[%2d] boundary = %6d, range [ %6d, %6d ), norm: %4d | %4d | %4d %s\n", - i, boundaryValues[i], - (int) unnormLowerBound(intToUnsignedByte(i)), - (int) unnormUpperBound(intToUnsignedByte(i)), - unsignedByteToInt(normalize(boundaryValues[i] - 1)), - unsignedByteToInt(normalize(boundaryValues[i])), - unsignedByteToInt(normalize(boundaryValues[i] + 1)), - i == boundaryValues[i] ? "*" : "")); - } - return sb.toString(); - } - - @VisibleForTesting - int[] getBoundaryValues() { - return boundaryValues; - } -} diff --git a/src/java/com/twitter/search/common/query/BUILD b/src/java/com/twitter/search/common/query/BUILD deleted file mode 100644 index 5c4cd6330..000000000 --- a/src/java/com/twitter/search/common/query/BUILD +++ /dev/null @@ -1,25 +0,0 @@ -java_library( - sources = ["*.java"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/code/findbugs:jsr305", - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/org/apache/lucene:lucene-analyzers-common", - "3rdparty/jvm/org/apache/lucene:lucene-analyzers-smartcn", - "3rdparty/jvm/org/apache/lucene:lucene-core", - "3rdparty/jvm/org/apache/lucene:lucene-facet", - "3rdparty/jvm/org/apache/lucene:lucene-queries", - "3rdparty/jvm/org/apache/thrift:libthrift", - "3rdparty/jvm/org/apache/zookeeper:zookeeper-client", - "3rdparty/jvm/org/slf4j:slf4j-api", - "src/java/com/twitter/search/common/features", - "src/java/com/twitter/search/common/schema/base", - "src/java/com/twitter/search/common/schema/earlybird", - "src/java/com/twitter/search/common/util/analysis", - "src/java/com/twitter/search/queryparser", - "src/java/com/twitter/search/queryparser/query:core-query-nodes", - "src/java/com/twitter/search/queryparser/query/search:search-query-nodes", - ], -) diff --git a/src/java/com/twitter/search/common/query/BUILD.docx b/src/java/com/twitter/search/common/query/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..5ff203847dbbf74e52a781233c5269ee5277b6d1 GIT binary patch literal 36969 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 L5tuzbb%S^SGdvP* literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/BoostUtils.docx b/src/java/com/twitter/search/common/query/BoostUtils.docx new file mode 100644 index 0000000000000000000000000000000000000000..570a5b18b6a5c2217d24edb671e58ad2efa66406 GIT binary patch literal 37030 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

`2|6yfOUdC80 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 { - - protected final Annotation.Type type; - - protected final Map nodeToTypeMap = Maps.newIdentityHashMap(); - - public CollectAnnotationsVisitor(Annotation.Type type) { - this.type = Preconditions.checkNotNull(type); - } - - @Override - public Boolean visit(Disjunction disjunction) throws QueryParserException { - return visitBooleanQuery(disjunction); - } - - @Override - public Boolean visit(Conjunction conjunction) throws QueryParserException { - return visitBooleanQuery(conjunction); - } - - @Override - public Boolean visit(Phrase phrase) throws QueryParserException { - return visitQuery(phrase); - } - - @Override - public Boolean visit(Term term) throws QueryParserException { - return visitQuery(term); - } - - @Override - public Boolean visit(Operator operator) throws QueryParserException { - return visitQuery(operator); - } - - @Override - public Boolean visit(SpecialTerm special) throws QueryParserException { - return visitQuery(special); - } - - protected boolean visitQuery(Query query) throws QueryParserException { - if (query.hasAnnotationType(type)) { - collectNode(query); - return true; - } - return false; - } - - protected void collectNode(Query query) { - nodeToTypeMap.put(query, true); - } - - protected boolean visitBooleanQuery(BooleanQuery query) throws QueryParserException { - boolean found = false; - if (query.hasAnnotationType(type)) { - collectNode(query); - found = true; - } - for (Query child : query.getChildren()) { - found |= child.accept(this); - } - return found; - } - - public Set getNodes() { - return nodeToTypeMap.keySet(); - } -} diff --git a/src/java/com/twitter/search/common/query/CollectQueryTypeVisitor.docx b/src/java/com/twitter/search/common/query/CollectQueryTypeVisitor.docx new file mode 100644 index 0000000000000000000000000000000000000000..71c5ef367a48b0ba097e85df87eeeffe93e44dd4 GIT binary patch literal 37360 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 { - - protected final Query.QueryType queryType; - - protected final Map nodeToTypeMap = Maps.newIdentityHashMap(); - - public CollectQueryTypeVisitor(Query.QueryType queryType) { - this.queryType = queryType; - } - - @Override - public Boolean visit(Disjunction disjunction) throws QueryParserException { - return visitBooleanQuery(disjunction); - } - - @Override - public Boolean visit(Conjunction conjunction) throws QueryParserException { - return visitBooleanQuery(conjunction); - } - - @Override - public Boolean visit(Phrase phrase) throws QueryParserException { - return visitQuery(phrase); - } - - @Override - public Boolean visit(Term term) throws QueryParserException { - return visitQuery(term); - } - - @Override - public Boolean visit(Operator operator) throws QueryParserException { - return visitQuery(operator); - } - - @Override - public Boolean visit(SpecialTerm special) throws QueryParserException { - return visitQuery(special); - } - - public Set getCollectedNodes() { - return nodeToTypeMap.keySet(); - } - - protected boolean visitQuery(Query query) throws QueryParserException { - if (query.isTypeOf(queryType)) { - collectNode(query); - return true; - } - return false; - } - - protected void collectNode(Query query) { - nodeToTypeMap.put(query, true); - } - - protected boolean visitBooleanQuery(BooleanQuery query) throws QueryParserException { - boolean found = false; - if (query.isTypeOf(queryType)) { - collectNode(query); - found = true; - } - for (Query child : query.getChildren()) { - found |= child.accept(this); - } - return found; - } -} diff --git a/src/java/com/twitter/search/common/query/CollectVariantVisitor.docx b/src/java/com/twitter/search/common/query/CollectVariantVisitor.docx new file mode 100644 index 0000000000000000000000000000000000000000..39b0d59b79bfc659c067f4c79a81b77afa18fcaa GIT binary patch literal 36831 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 ZhT1v|@MZ<(AW*InWJm;NkBn{*4**;8-cA4j literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/CollectVariantVisitor.java b/src/java/com/twitter/search/common/query/CollectVariantVisitor.java deleted file mode 100644 index a66961d7f..000000000 --- a/src/java/com/twitter/search/common/query/CollectVariantVisitor.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.twitter.search.common.query; - -import com.twitter.search.queryparser.query.annotation.Annotation; - - -/** - * A visitor that collects the nodes that have :v annotation - */ -public class CollectVariantVisitor extends CollectAnnotationsVisitor { - public CollectVariantVisitor() { - super(Annotation.Type.VARIANT); - } -} diff --git a/src/java/com/twitter/search/common/query/DefaultFilterWeight.docx b/src/java/com/twitter/search/common/query/DefaultFilterWeight.docx new file mode 100644 index 0000000000000000000000000000000000000000..334bd856390b0776225b462a48ebed771f0cdb34 GIT binary patch literal 37409 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 K?6ImB!~+1)3jO~8 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/DefaultFilterWeight.java b/src/java/com/twitter/search/common/query/DefaultFilterWeight.java deleted file mode 100644 index 5fcc14433..000000000 --- a/src/java/com/twitter/search/common/query/DefaultFilterWeight.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; -import java.util.Set; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.ConstantScoreScorer; -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.ScoreMode; -import org.apache.lucene.search.Weight; - -/** - * An abstract Weight implementation that can be used by all "filter" classes (Query instances that - * should not contribute to the overall query score). - */ -public abstract class DefaultFilterWeight extends Weight { - public DefaultFilterWeight(Query query) { - super(query); - } - - @Override - public void extractTerms(Set terms) { - } - - @Override - public Explanation explain(LeafReaderContext context, int doc) throws IOException { - Scorer scorer = scorer(context); - if ((scorer != null) && (scorer.iterator().advance(doc) == doc)) { - return Explanation.match(0f, "Match on id " + doc); - } - return Explanation.match(0f, "No match on id " + doc); - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - DocIdSetIterator disi = getDocIdSetIterator(context); - if (disi == null) { - return null; - } - - return new ConstantScoreScorer(this, 0.0f, ScoreMode.COMPLETE_NO_SCORES, disi); - } - - @Override - public boolean isCacheable(LeafReaderContext ctx) { - return false; - } - - /** - * Returns the DocIdSetIterator over which the scorers created by this weight need to iterate. - * - * @param context The LeafReaderContext instance used to create the scorer. - */ - protected abstract DocIdSetIterator getDocIdSetIterator(LeafReaderContext context) - throws IOException; -} diff --git a/src/java/com/twitter/search/common/query/DocIdFilter.docx b/src/java/com/twitter/search/common/query/DocIdFilter.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee2adcc7d8eb09c8876669dd67eb846ab97a19ad GIT binary patch literal 37422 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

W99s3`g&HbNw_&-yDwUcDDx`LTy|;V#2_p!|3AJ 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 UvjTGvC|3zGBm%R?_FfPV0Q}VRO#lD@ literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/DocIdFilter.java b/src/java/com/twitter/search/common/query/DocIdFilter.java deleted file mode 100644 index fed309f86..000000000 --- a/src/java/com/twitter/search/common/query/DocIdFilter.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; -import java.util.Set; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.ConstantScoreScorer; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.ScoreMode; -import org.apache.lucene.search.Weight; - -/** - * Lucene filter on top of a known docid - * - */ -public class DocIdFilter extends Query { - private final int docid; - - public DocIdFilter(int docid) { - this.docid = docid; - } - - @Override - public Weight createWeight( - IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException { - return new Weight(this) { - @Override - public void extractTerms(Set terms) { - } - - @Override - public Explanation explain(LeafReaderContext context, int doc) throws IOException { - Scorer scorer = scorer(context); - if ((scorer != null) && (scorer.iterator().advance(doc) == doc)) { - return Explanation.match(0f, "Match on id " + doc); - } - return Explanation.match(0f, "No match on id " + doc); - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - return new ConstantScoreScorer(this, 0.0f, scoreMode, new SingleDocDocIdSetIterator(docid)); - } - - @Override - public boolean isCacheable(LeafReaderContext ctx) { - return true; - } - }; - } - - @Override - public int hashCode() { - return docid; - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof DocIdFilter)) { - return false; - } - - return docid == DocIdFilter.class.cast(obj).docid; - } - - @Override - public String toString(String field) { - return "DOC_ID_FILTER[docId=" + docid + " + ]"; - } -} diff --git a/src/java/com/twitter/search/common/query/FieldRankHitInfo.docx b/src/java/com/twitter/search/common/query/FieldRankHitInfo.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee86bfbb0ea4226f00dd1532de5851d5e239e26d GIT binary patch literal 37178 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 - *
  • The field that matched (the field ID is recorded)
  • - *
  • The query node that matched (the query node rank is recorded)
  • - *
  • The ID of the last doc that matched this query
  • - * - * - * Each IdentifiableQuery should be associated with one FieldRankHitInfo, which is passed to a - * HitAttributeCollector when a hit occurs. - */ -public class FieldRankHitInfo { - protected static final int UNSET_DOC_ID = -1; - - private final int fieldId; - private final int rank; - private int docId = UNSET_DOC_ID; - - public FieldRankHitInfo(int fieldId, int rank) { - this.fieldId = fieldId; - this.rank = rank; - } - - public int getFieldId() { - return fieldId; - } - - public int getRank() { - return rank; - } - - public int getDocId() { - return docId; - } - - public void setDocId(int docId) { - this.docId = docId; - } - - public void resetDocId() { - this.docId = UNSET_DOC_ID; - } -} diff --git a/src/java/com/twitter/search/common/query/FieldWeightUtil.docx b/src/java/com/twitter/search/common/query/FieldWeightUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..ff2adac3d73662f0624976f40206eeb686ff3f43 GIT binary patch literal 39104 zcmagFV|Zm<)-D{|uGqHiq>_qln>)5qaYYr|wr#s&tAa`@w$HBT>F&3?-*dk2&&rj# z*0?do+EaUOMHz4i3=j|y7?7?sF3l?CqWC0G5Rh>w5D;`=tBx4J-o?z`#X!~5!OU5Y z(ZkNRDM?OYT^Qx-#T#ZalOVCT7&2!0o&&W5eLSvsO~xI!)(X>^EZEb-ByWV;oMIRh zV|-@XgD>HFy+F55Go_B0_?ezwrbYoNc!^KJW zif(U{{_dntVgVA_Z!3(H>RC1!aP5KIsS$>kYLZ_K8xsbd>)fX38k{WD9P8KnijX{p z;Q=T=e%kdix=(1Zoj}!>Mc=AuZ=qR-{yYQNgizMbAA@IWeAx5lp02CYS$1k`eN*+d zItiA-^?DFP$~^52qM>Ra(fbaS&e|DUnmdiu{#B zO{h+}LnJnNjE#ru!|_Cn)b}noL}!&pT;8`++(3XjPW`a$Zo ztN6fmJt*HqmOhzA=Pik#5Va@X=*9aPzNF%lxM1Jwa>?d_(D(ys{tJejK8WIfRMC@C zM)(m}y)7^h5P0BU11B?EXC}r!*Q$i6FW@XF0T+T2qZB3f&1&L>tNP-{a)pAusgvi$ z_I^^uYu#N+;(D4`eS}9B`zGc~83lMNbj7y88pc|SL3zu4n%gv2jU5IXFv+l;fg~QP zdm&o3=}~uNNWx~651i)e#Da8N=tDX*4d-(r)uQ4Cw02TRr6FaBsJHMg)Ech74D$de zfTV0QM`TG=+fQ5f$VZ`O7b(L4;gdKARFyP&Qx@UwiDT$Q``H6cG|ggZiL%>BR39$n_NvT;3lC7 zp+sTv7lEdc@LHJf>&93cFWC~bJXJ{{{TIE@^VgIXye8wlQA)T7aJAXs(itpzvPb{I)>ha%-qK;gU2jHQcd2cEHo0c;_ao3o4EggJ$i=jktrq>Qd4iiN#mFynGY@IRUBDs?HtYMt?UfZv#&>Cq z5|K;@>2|3f^xaeW#|{1;pWi>N;L|;FT|wZSSRm=s%)5)dzxH3_{byZn*VnO6fpxKk z00BYy_qrH4IQ&%>)d~A`W|YnsItV?NNGoU&C7gtyC6PI?P2Adq%$9|5(l7B4Z7h3! zzE9zpJYSjaBKR8kUK+<=mPO2=8|5w4Feje!M-?46;hJh9M-JDgj!2y$$|1`z)rU~^ z91Uj1s}`XcU|rHQ6syO*NgIqOuLz+XoE7M1T-K0;w;H{RJLDaFW?#*OC4RfrJq}(b zDK@Qar7AHiL{@;m)mT<|md*%peBQr1(MnE2M3MwEdSio_@T{<+UJaMTmLtYvG3>gW zw1lvR_jb9fH~od0YhkB@%|A~jd`d{~a6OOkI0*L>+oW(u*l+eu(xD>joO&GuJF@Y# zfmo%!Oe6d{<}9v9Q)DEUhXedgj5>Pk2U(J}5uooDHAgdW!!fS)zM+gS4oT)73F4Vg zbmbLGoOVqNTALs)u{jOhziu3G^P7tsA+hQjToW|%`sd4GRxSE>VJrOAc2siT={Z4( zx{2C~FMEuYBm&jLROHD7FUCZ8bS5)x2#L;!_6KrG<(VK6iCyFugJnUczQP-QayJ-u))}≤2x{75I*p>0v{QZG- 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 ai0xO0#`=sv1bvGtE|3Ed9%~ujj{XNdaUWO! literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/FilteredQuery.java b/src/java/com/twitter/search/common/query/FilteredQuery.java deleted file mode 100644 index a4740970b..000000000 --- a/src/java/com/twitter/search/common/query/FilteredQuery.java +++ /dev/null @@ -1,225 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; -import java.util.Set; - -import com.google.common.base.Preconditions; - -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.ScoreMode; -import org.apache.lucene.search.Weight; - -/** - * A pairing of a query and a filter. The hits traversal is driven by the query's DocIdSetIterator, - * and the filter is used only to do post-filtering. In other words, the filter is never used to - * find the next doc ID: it's only used to filter out the doc IDs returned by the query's - * DocIdSetIterator. This is useful when we need to have a conjunction between a query that can - * quickly iterate through doc IDs (eg. a posting list), and an expensive filter (eg. a filter based - * on the values stored in a CSF). - * - * For example, let say we want to build a query that returns all docs that have at least 100 faves. - * 1. One option is to go with the [min_faves 100] query. This would be very expensive though, - * because this query would have to walk through every doc in the segment and for each one of - * them it would have to extract the number of faves from the forward index. - * 2. Another option is to go with a conjunction between this query and the HAS_ENGAGEMENT filter: - * (+[min_faves 100] +[cached_filter has_engagements]). The HAS_ENGAGEMENT filter could - * traverse the doc ID space faster (if it's backed by a posting list). But this approach would - * still be slow, because as soon as the HAS_ENGAGEMENT filter finds a doc ID, the conjunction - * scorer would trigger an advance(docID) call on the min_faves part of the query, which has - * the same problem as the first option. - * 3. Finally, a better option for this particular case would be to drive by the HAS_ENGAGEMENT - * filter (because it can quickly jump over all docs that do not have any engagement), and use - * the min_faves filter as a post-processing step, on a much smaller set of docs. - */ -public class FilteredQuery extends Query { - /** - * A doc ID predicate that determines if the given doc ID should be accepted. - */ - @FunctionalInterface - public static interface DocIdFilter { - /** - * Determines if the given doc ID should be accepted. - */ - boolean accept(int docId) throws IOException; - } - - /** - * A factory for creating DocIdFilter instances based on a given LeafReaderContext instance. - */ - @FunctionalInterface - public static interface DocIdFilterFactory { - /** - * Returns a DocIdFilter instance for the given LeafReaderContext instance. - */ - DocIdFilter getDocIdFilter(LeafReaderContext context) throws IOException; - } - - private static class FilteredQueryDocIdSetIterator extends DocIdSetIterator { - private final DocIdSetIterator queryScorerIterator; - private final DocIdFilter docIdFilter; - - public FilteredQueryDocIdSetIterator( - DocIdSetIterator queryScorerIterator, DocIdFilter docIdFilter) { - this.queryScorerIterator = Preconditions.checkNotNull(queryScorerIterator); - this.docIdFilter = Preconditions.checkNotNull(docIdFilter); - } - - @Override - public int docID() { - return queryScorerIterator.docID(); - } - - @Override - public int nextDoc() throws IOException { - int docId; - do { - docId = queryScorerIterator.nextDoc(); - } while (docId != NO_MORE_DOCS && !docIdFilter.accept(docId)); - return docId; - } - - @Override - public int advance(int target) throws IOException { - int docId = queryScorerIterator.advance(target); - if (docId == NO_MORE_DOCS || docIdFilter.accept(docId)) { - return docId; - } - return nextDoc(); - } - - @Override - public long cost() { - return queryScorerIterator.cost(); - } - } - - private static class FilteredQueryScorer extends Scorer { - private final Scorer queryScorer; - private final DocIdFilter docIdFilter; - - public FilteredQueryScorer(Weight weight, Scorer queryScorer, DocIdFilter docIdFilter) { - super(weight); - this.queryScorer = Preconditions.checkNotNull(queryScorer); - this.docIdFilter = Preconditions.checkNotNull(docIdFilter); - } - - @Override - public int docID() { - return queryScorer.docID(); - } - - @Override - public float score() throws IOException { - return queryScorer.score(); - } - - @Override - public DocIdSetIterator iterator() { - return new FilteredQueryDocIdSetIterator(queryScorer.iterator(), docIdFilter); - } - - @Override - public float getMaxScore(int upTo) throws IOException { - return queryScorer.getMaxScore(upTo); - } - } - - private static class FilteredQueryWeight extends Weight { - private final Weight queryWeight; - private final DocIdFilterFactory docIdFilterFactory; - - public FilteredQueryWeight( - FilteredQuery query, Weight queryWeight, DocIdFilterFactory docIdFilterFactory) { - super(query); - this.queryWeight = Preconditions.checkNotNull(queryWeight); - this.docIdFilterFactory = Preconditions.checkNotNull(docIdFilterFactory); - } - - @Override - public void extractTerms(Set terms) { - queryWeight.extractTerms(terms); - } - - @Override - public Explanation explain(LeafReaderContext context, int doc) throws IOException { - return queryWeight.explain(context, doc); - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - Scorer queryScorer = queryWeight.scorer(context); - if (queryScorer == null) { - return null; - } - - return new FilteredQueryScorer(this, queryScorer, docIdFilterFactory.getDocIdFilter(context)); - } - - @Override - public boolean isCacheable(LeafReaderContext ctx) { - return queryWeight.isCacheable(ctx); - } - } - - private final Query query; - private final DocIdFilterFactory docIdFilterFactory; - - public FilteredQuery(Query query, DocIdFilterFactory docIdFilterFactory) { - this.query = Preconditions.checkNotNull(query); - this.docIdFilterFactory = Preconditions.checkNotNull(docIdFilterFactory); - } - - public Query getQuery() { - return query; - } - - @Override - public Query rewrite(IndexReader reader) throws IOException { - Query rewrittenQuery = query.rewrite(reader); - if (rewrittenQuery != query) { - return new FilteredQuery(rewrittenQuery, docIdFilterFactory); - } - return this; - } - - @Override - public int hashCode() { - return query.hashCode() * 13 + docIdFilterFactory.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof FilteredQuery)) { - return false; - } - - FilteredQuery filteredQuery = FilteredQuery.class.cast(obj); - return query.equals(filteredQuery.query) - && docIdFilterFactory.equals(filteredQuery.docIdFilterFactory); - } - - @Override - public String toString(String field) { - StringBuilder sb = new StringBuilder(); - sb.append("FilteredQuery(") - .append(query) - .append(" -> ") - .append(docIdFilterFactory) - .append(")"); - return sb.toString(); - } - - @Override - public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) - throws IOException { - Weight queryWeight = Preconditions.checkNotNull(query.createWeight(searcher, scoreMode, boost)); - return new FilteredQueryWeight(this, queryWeight, docIdFilterFactory); - } -} diff --git a/src/java/com/twitter/search/common/query/FilteredScorer.docx b/src/java/com/twitter/search/common/query/FilteredScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..1bce7324a7e90d3e36b5553802c001f7df6e1a68 GIT binary patch literal 36958 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 z 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/FilteredScorer.java b/src/java/com/twitter/search/common/query/FilteredScorer.java deleted file mode 100644 index 41d9032f6..000000000 --- a/src/java/com/twitter/search/common/query/FilteredScorer.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; - -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.Weight; - -public class FilteredScorer extends Scorer { - protected final Scorer inner; - - public FilteredScorer(Weight weight, Scorer inner) { - super(weight); - this.inner = inner; - } - - @Override - public float score() throws IOException { - return inner.score(); - } - - @Override - public int docID() { - return inner.docID(); - } - - @Override - public DocIdSetIterator iterator() { - return inner.iterator(); - } - - @Override - public float getMaxScore(int upTo) throws IOException { - return inner.getMaxScore(upTo); - } -} diff --git a/src/java/com/twitter/search/common/query/HitAttributeCollector.docx b/src/java/com/twitter/search/common/query/HitAttributeCollector.docx new file mode 100644 index 0000000000000000000000000000000000000000..71b286bdd4e87c2daf93a618d8e9c409b030fd31 GIT binary patch literal 38041 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/HitAttributeCollector.java b/src/java/com/twitter/search/common/query/HitAttributeCollector.java deleted file mode 100644 index 21844aa71..000000000 --- a/src/java/com/twitter/search/common/query/HitAttributeCollector.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.twitter.search.common.query; - -import java.util.List; -import java.util.Map; -import java.util.function.BiFunction; -import java.util.function.Function; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.search.Query; - -/** - * Not threadsafe, but should be reused across different queries unless the size of the existing - * one is too small for a new huge serialized query. - */ -public class HitAttributeCollector { - private final List hitInfos = Lists.newArrayList(); - private final BiFunction hitInfoSupplier; - - private int docBase = 0; - - public HitAttributeCollector() { - this.hitInfoSupplier = FieldRankHitInfo::new; - } - - /** - * Constructs a new {@code HitAttributionCollector} with the specified {@code FieldRankHitInfo} - * supplier. - * - * @param hitInfoSupplier function to supply a {@code FieldRankHitInfo} instance - */ - public HitAttributeCollector(BiFunction hitInfoSupplier) { - this.hitInfoSupplier = hitInfoSupplier; - } - - /** - * Creates a new IdentifiableQuery for the given query, fieldId and rank, and "registers" - * the fieldId and the rank with this collector. - * - * @param query the query to be wrapped. - * @param fieldId the ID of the field to be searched. - * @param rank The rank of this query. - * @return A new IdentifiableQuery instance for the given query, fieldId and rank. - */ - public IdentifiableQuery newIdentifiableQuery(Query query, int fieldId, int rank) { - FieldRankHitInfo fieldRankHitInfo = hitInfoSupplier.apply(fieldId, rank); - hitInfos.add(fieldRankHitInfo); - return new IdentifiableQuery(query, fieldRankHitInfo, this); - } - - public void clearHitAttributions(LeafReaderContext ctx, FieldRankHitInfo hitInfo) { - docBase = ctx.docBase; - hitInfo.resetDocId(); - } - - public void collectScorerAttribution(int docId, FieldRankHitInfo hitInfo) { - hitInfo.setDocId(docId + docBase); - } - - /** - * This method should be called when a global hit occurs. - * This method returns hit attribution summary for the whole query tree. - * This supports getting hit attribution for only the curDoc. - * - * @param docId docId passed in for checking against curDoc. - * @return Returns a map from node rank to a set of matching field IDs. This map does not contain - * entries for ranks that did not hit at all. - */ - public Map> getHitAttribution(int docId) { - return getHitAttribution(docId, (fieldId) -> fieldId); - } - - /** - * This method should be called when a global hit occurs. - * This method returns hit attribution summary for the whole query tree. - * This supports getting hit attribution for only the curDoc. - * - * @param docId docId passed in for checking against curDoc. - * @param fieldIdFunc The mapping of field IDs to objects of type T. - * @return Returns a map from node rank to a set of matching objects (usually field IDs or names). - * This map does not contain entries for ranks that did not hit at all. - */ - public Map> getHitAttribution(int docId, Function fieldIdFunc) { - int key = docId + docBase; - Map> hitMap = Maps.newHashMap(); - - // Manually iterate through all hitInfos elements. It's slightly faster than using an Iterator. - for (FieldRankHitInfo hitInfo : hitInfos) { - if (hitInfo.getDocId() == key) { - int rank = hitInfo.getRank(); - List rankHits = hitMap.computeIfAbsent(rank, k -> Lists.newArrayList()); - T fieldDescription = fieldIdFunc.apply(hitInfo.getFieldId()); - rankHits.add(fieldDescription); - } - } - - return hitMap; - } -} diff --git a/src/java/com/twitter/search/common/query/HitAttributeHelper.docx b/src/java/com/twitter/search/common/query/HitAttributeHelper.docx new file mode 100644 index 0000000000000000000000000000000000000000..40cab52833197d95ab514c155245b3ea27c8fd51 GIT binary patch literal 38074 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 ZY<+a-WG@EJpru(Q4|svo!!Bj%?Eh@tI`#kn literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/HitAttributeHelper.java b/src/java/com/twitter/search/common/query/HitAttributeHelper.java deleted file mode 100644 index 572f7b855..000000000 --- a/src/java/com/twitter/search/common/query/HitAttributeHelper.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.twitter.search.common.query; - -import java.util.List; -import java.util.Map; -import java.util.function.Function; - -import com.google.common.collect.Maps; - -import com.twitter.search.queryparser.query.Query; - -import static com.twitter.search.common.query.FieldRankHitInfo.UNSET_DOC_ID; - -/** - * Generic helper class containing the data needed to set up and collect field hit attributions. - */ -public class HitAttributeHelper implements HitAttributeProvider { - private final HitAttributeCollector collector; - private final Function fieldIdsToFieldNames; - - // This is a mapping of type T query nodes to rank id - private final Map nodeToRankMap; - - // This is meant to expand individual Query nodes into multiple ranks, - // for example, expanding a multi_term_disjunction to include a rank for each disjunction value. - private final Map> expandedNodeToRankMap; - - // A single-entry cache for hit attribution, so we can reuse the immediate result. Will be used - // only when lastDocId matches - private ThreadLocal>> lastHitAttrHolder = new ThreadLocal<>(); - private ThreadLocal lastDocIdHolder = ThreadLocal.withInitial(() -> UNSET_DOC_ID); - - protected HitAttributeHelper( - HitAttributeCollector collector, - Function fieldIdsToFieldNames, - Map nodeToRankMap, - Map> expandedNodeToRankMap) { - this.collector = collector; - this.fieldIdsToFieldNames = fieldIdsToFieldNames; - this.nodeToRankMap = nodeToRankMap; - this.expandedNodeToRankMap = expandedNodeToRankMap; - } - - /** - * Constructs a new {@code HitAttributeHelper} with the specified {@code HitAttributeCollector} - * instance and fields. - * - * @param collector a collector instance - * @param fieldIdsToFieldNames a list of field names indexed by id - */ - public HitAttributeHelper(HitAttributeCollector collector, String[] fieldIdsToFieldNames) { - this(collector, - (fieldId) -> fieldIdsToFieldNames[fieldId], - Maps.newHashMap(), - Maps.newHashMap()); - } - - public HitAttributeCollector getFieldRankHitAttributeCollector() { - return collector; - } - - /** - * Returns hit attribution information indexed by node rank - * - * @param docId the document id - * @return a mapping from the query's node rank to a list of field names that were hit. - */ - public Map> getHitAttribution(int docId) { - // check cache first so we don't have to recompute the same thing. - if (lastDocIdHolder.get() == docId) { - return lastHitAttrHolder.get(); - } - - lastDocIdHolder.set(docId); - Map> hitAttribution = - collector.getHitAttribution(docId, fieldIdsToFieldNames); - lastHitAttrHolder.set(hitAttribution); - return hitAttribution; - } - - /** - * Adds a new node and its respective rank to the helper's node-to-rank map - * Will throw an exception if attempting to add/update an existing node - * - * @param node the query node - * @param rank the rank associated with the node - */ - public void addNodeRank(Query node, int rank) { - // if there are two of the same terms, just map them to the first rank, they should get the same - // hits back - if (!nodeToRankMap.containsKey(node)) { - nodeToRankMap.put(node, rank); - } - } - - public Map getNodeToRankMap() { - return nodeToRankMap; - } - - public Map> getExpandedNodeToRankMap() { - return expandedNodeToRankMap; - } -} diff --git a/src/java/com/twitter/search/common/query/HitAttributeProvider.docx b/src/java/com/twitter/search/common/query/HitAttributeProvider.docx new file mode 100644 index 0000000000000000000000000000000000000000..4c898985cb611db68293c42db1c817adda8fe7ce GIT binary patch literal 36854 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 getHitAttribution(int docId); -} diff --git a/src/java/com/twitter/search/common/query/IDDisjunctionQuery.docx b/src/java/com/twitter/search/common/query/IDDisjunctionQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..3874d7b441c5ab131e081a0dbfffe9819def9d7a GIT binary patch literal 40657 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 ids; - private final boolean useOrderPreservingEncoding; - - /** Creates a new IDDisjunctionQuery instance. */ - public IDDisjunctionQuery(List ids, String field, ImmutableSchemaInterface schemaSnapshot) - throws QueryParserException { - super(field); - this.ids = ids; - - setRewriteMethod(new Rewrite()); - - if (!schemaSnapshot.hasField(field)) { - throw new QueryParserException( - "Tried to search a field which does not exist in schema: " + field); - } - - IndexedNumericFieldSettings numericFieldSettings = - schemaSnapshot.getFieldInfo(field).getFieldType().getNumericFieldSettings(); - - if (numericFieldSettings == null) { - throw new QueryParserException("Requested id field is not numerical: " + field); - } - - this.useOrderPreservingEncoding = numericFieldSettings.isUseSortableEncoding(); - } - - /** - * Work around for an issue where LongTerms are not valid utf8, so calling - * toString on any TermQuery containing a LongTerm may cause exceptions. - */ - private class Rewrite extends RewriteMethod { - @Override - public Query rewrite(IndexReader reader, MultiTermQuery query) throws IOException { - Query result = new MultiTermQueryConstantScoreWrapper( - (IDDisjunctionQuery) query, useOrderPreservingEncoding); - return result; - } - } - - @Override - protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException { - final Iterator it = this.ids.iterator(); - final TermsEnum termsEnum = terms.iterator(); - - return new FilteredTermsEnum(termsEnum) { - private final BytesRef term = useOrderPreservingEncoding - ? SortableLongTermAttributeImpl.newBytesRef() - : LongTermAttributeImpl.newBytesRef(); - - @Override protected AcceptStatus accept(BytesRef term) throws IOException { - return AcceptStatus.YES; - } - - @Override public BytesRef next() throws IOException { - while (it.hasNext()) { - Long longTerm = it.next(); - if (useOrderPreservingEncoding) { - SortableLongTermAttributeImpl.copyLongToBytesRef(term, longTerm); - } else { - LongTermAttributeImpl.copyLongToBytesRef(term, longTerm); - } - if (termsEnum.seekExact(term)) { - return term; - } - } - - return null; - } - }; - } - - @Override - public String toString(String field) { - StringBuilder builder = new StringBuilder(); - builder.append("IDDisjunction[").append(this.field).append(":"); - for (Long id : this.ids) { - builder.append(id); - builder.append(","); - } - builder.setLength(builder.length() - 1); - builder.append("]"); - return builder.toString(); - } - - private static class TermQueryWithToString extends TermQuery { - private final boolean useOrderPreservingEncoding; - - public TermQueryWithToString(Term t, TermStates states, boolean useOrderPreservingEncoding) { - super(t, states); - this.useOrderPreservingEncoding = useOrderPreservingEncoding; - } - - @Override - public String toString(String field) { - StringBuilder buffer = new StringBuilder(); - if (!getTerm().field().equals(field)) { - buffer.append(getTerm().field()); - buffer.append(":"); - } - long longTerm; - BytesRef termBytes = getTerm().bytes(); - if (useOrderPreservingEncoding) { - longTerm = SortableLongTermAttributeImpl.copyBytesRefToLong(termBytes); - } else { - longTerm = LongTermAttributeImpl.copyBytesRefToLong(termBytes); - } - buffer.append(longTerm); - return buffer.toString(); - } - } - - /** - * This class provides the functionality behind {@link MultiTermQuery#CONSTANT_SCORE_REWRITE}. - * It tries to rewrite per-segment as a boolean query that returns a constant score and otherwise - * fills a DocIdSet with matches and builds a Scorer on top of this DocIdSet. - */ - static final class MultiTermQueryConstantScoreWrapper extends Query { - // disable the rewrite option which will scan all posting lists sequentially and perform - // the intersection using a temporary DocIdSet. In earlybird this mode is slower than a "normal" - // disjunctive BooleanQuery, due to early termination and the fact that everything is in memory. - private static final int BOOLEAN_REWRITE_TERM_COUNT_THRESHOLD = 3000; - - private static class TermAndState { - private final BytesRef term; - private final TermState state; - private final int docFreq; - private final long totalTermFreq; - - TermAndState(BytesRef term, TermState state, int docFreq, long totalTermFreq) { - this.term = term; - this.state = state; - this.docFreq = docFreq; - this.totalTermFreq = totalTermFreq; - } - } - - private static class WeightOrDocIdSet { - private final Weight weight; - private final DocIdSet docIdSet; - - WeightOrDocIdSet(Weight weight) { - this.weight = Objects.requireNonNull(weight); - this.docIdSet = null; - } - - WeightOrDocIdSet(DocIdSet docIdSet) { - this.docIdSet = docIdSet; - this.weight = null; - } - } - - protected final IDDisjunctionQuery query; - private final boolean useOrderPreservingEncoding; - - /** - * Wrap a {@link MultiTermQuery} as a Filter. - */ - protected MultiTermQueryConstantScoreWrapper( - IDDisjunctionQuery query, - boolean useOrderPreservingEncoding) { - this.query = query; - this.useOrderPreservingEncoding = useOrderPreservingEncoding; - } - - @Override - public String toString(String field) { - // query.toString should be ok for the filter, too, if the query boost is 1.0f - return query.toString(field); - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof MultiTermQueryConstantScoreWrapper)) { - return false; - } - - return query.equals(MultiTermQueryConstantScoreWrapper.class.cast(obj).query); - } - - @Override - public int hashCode() { - return query == null ? 0 : query.hashCode(); - } - - /** Returns the field name for this query */ - public String getField() { - return query.getField(); - } - - private List getIDs() { - return query.ids; - } - - @Override - public Weight createWeight( - final IndexSearcher searcher, - final ScoreMode scoreMode, - final float boost) throws IOException { - return new ConstantScoreWeight(this, boost) { - /** Try to collect terms from the given terms enum and return true iff all - * terms could be collected. If {@code false} is returned, the enum is - * left positioned on the next term. */ - private boolean collectTerms(LeafReaderContext context, - TermsEnum termsEnum, - List terms) throws IOException { - final int threshold = Math.min(BOOLEAN_REWRITE_TERM_COUNT_THRESHOLD, - BooleanQuery.getMaxClauseCount()); - for (int i = 0; i < threshold; ++i) { - final BytesRef term = termsEnum.next(); - if (term == null) { - return true; - } - TermState state = termsEnum.termState(); - terms.add(new TermAndState(BytesRef.deepCopyOf(term), - state, - termsEnum.docFreq(), - termsEnum.totalTermFreq())); - } - return termsEnum.next() == null; - } - - /** - * On the given leaf context, try to either rewrite to a disjunction if - * there are few terms, or build a DocIdSet containing matching docs. - */ - private WeightOrDocIdSet rewrite(LeafReaderContext context) - throws IOException { - final Terms terms = context.reader().terms(query.getField()); - if (terms == null) { - // field does not exist - return new WeightOrDocIdSet((DocIdSet) null); - } - - final TermsEnum termsEnum = query.getTermsEnum(terms); - assert termsEnum != null; - - PostingsEnum docs = null; - - final List collectedTerms = new ArrayList<>(); - if (collectTerms(context, termsEnum, collectedTerms)) { - // build a boolean query - BooleanQuery.Builder bqBuilder = new BooleanQuery.Builder(); - for (TermAndState t : collectedTerms) { - final TermStates termStates = new TermStates(searcher.getTopReaderContext()); - termStates.register(t.state, context.ord, t.docFreq, t.totalTermFreq); - final Term term = new Term(query.getField(), t.term); - bqBuilder.add( - new TermQueryWithToString(term, termStates, useOrderPreservingEncoding), - Occur.SHOULD); - } - Query q = BoostUtils.maybeWrapInBoostQuery( - new ConstantScoreQuery(bqBuilder.build()), score()); - return new WeightOrDocIdSet( - searcher.rewrite(q).createWeight(searcher, scoreMode, boost)); - } - - // Too many terms: go back to the terms we already collected and start building - // the DocIdSet - DocIdSetBuilder builder = new DocIdSetBuilder(context.reader().maxDoc()); - if (!collectedTerms.isEmpty()) { - TermsEnum termsEnum2 = terms.iterator(); - for (TermAndState t : collectedTerms) { - termsEnum2.seekExact(t.term, t.state); - docs = termsEnum2.postings(docs, PostingsEnum.NONE); - builder.add(docs); - } - } - - // Then keep filling the DocIdSet with remaining terms - do { - docs = termsEnum.postings(docs, PostingsEnum.NONE); - builder.add(docs); - } while (termsEnum.next() != null); - - return new WeightOrDocIdSet(builder.build()); - } - - private Scorer scorer(DocIdSet set) throws IOException { - if (set == null) { - return null; - } - final DocIdSetIterator disi = set.iterator(); - if (disi == null) { - return null; - } - return new ConstantScoreScorer(this, score(), ScoreMode.COMPLETE_NO_SCORES, disi); - } - - @Override - public BulkScorer bulkScorer(LeafReaderContext context) throws IOException { - final WeightOrDocIdSet weightOrDocIdSet = rewrite(context); - if (weightOrDocIdSet.weight != null) { - return weightOrDocIdSet.weight.bulkScorer(context); - } else { - final Scorer scorer = scorer(weightOrDocIdSet.docIdSet); - if (scorer == null) { - return null; - } - return new DefaultBulkScorer(scorer); - } - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - final WeightOrDocIdSet weightOrDocIdSet = rewrite(context); - if (weightOrDocIdSet.weight != null) { - return weightOrDocIdSet.weight.scorer(context); - } else { - return scorer(weightOrDocIdSet.docIdSet); - } - } - - @Override - public void extractTerms(Set terms) { - terms.addAll(getIDs() - .stream() - .map(id -> new Term(getField(), LongTermAttributeImpl.copyIntoNewBytesRef(id))) - .collect(Collectors.toSet())); - } - - @Override - public boolean isCacheable(LeafReaderContext ctx) { - return false; - } - }; - } - } -} diff --git a/src/java/com/twitter/search/common/query/IdentifiableQuery.docx b/src/java/com/twitter/search/common/query/IdentifiableQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..3fe018ec133b0909d0b639c8e02ee2760533e590 GIT binary patch literal 37451 zcmagEb9`Of);}EEZfx6Vj3$k3G;FwI8;xz-wrw|!Z8T|Y|8~zg_ug~v^E~hS&&nrr zj`779Yp*%?+EYOq90CIb1Ox`8GnGrDQmHUD5flVu3>-MbS+-+KZA%}ED^{I;%dNS@bSeY(ct61#syd?( z48<6mk$Ue%xLU{G<=I53Eh=`ZtDB*oPYPb_nZKULcxKAAFCI%GwJ5nuFgFNQ(~{x& zVVV<^dAFvYS063tTqH-!KT+cmB#NpsS`Ce8CMw}Z@9Md^5iYM1Wo z{+NRE>x7RB>7%Hxc-HF@Bc)oVWjb7&A9qTq!G)^CH-m<_0f$=WNxFJ_GgZ5~)!srR z*CBWS%8xzk9!8gOb+%)uy3&XnWvvY~i=e$zfMp{HpFH zUpkBSomTzxjAZDOXtZAw2?|iVW4}CmJi!;2e-IPseOWAC-xnOaC(V1tkktcG_(vDr zD5ZrSfZf{w0|9{t{?)fPv2tKy{C%yAoBRyUg5rBFAU;A-Y}2GFR8+u=vz zs1zhpcL5S3Tfb0xoln(ROu;5KXcSUl6R`{{szoNQ9veah5nBS6u|cAD@Pb8Ygu zR%7&%7tH94Hs|?23l#DVUfCRYo6i6XgbFN>F~CT{9$@RhWCXA``F)dT#*NGMGoy&# zdy3D=s)b&oz=%uHf*yx`mc;N|YQ1CUkhL1m;+)*vEwI+gp>rnOj_uHMS!cx0+&i>(Un;U z;UycW<6xirHbs)zqEwW7B%+KeyZlW}D2}>~43T&rgXX87A7N-bSzJA8X>$=FNCs+2 zE@)`dz!#Y*J&4(*a@YX-Z7T?8+$t^koudtH7Tnb)#8tx?CmzEoxyd>5t@S$kdi*+&YYH12>Iv2 ztZ6%M00s(chv(*Y))*Wpd<7kiTi9yQUz^6csgl2VXRPNU4ZHB01;b`0+}~W9v!o|T zVH68zKuEPo{-E!g%sZ<0dH?kGVF{n^f$I_i=hzHMk7m|I^zEhZ3h$qNxmjJsJ^}W{ z3IYTKI1hs){-Om^Y$ew+`1>9X5QhI(bOy08s{6im5h; zs%xh|Jytmn#Q^J=s;*Eq=0RF-IB`h`ZR;RUH|@BBB(%}sQPeJH>-qh~L`eLXbM3>x zMWRCE(ng9RvwT=N_-pmoa<`IcevVJOx5t`EiHJxNU|(L@AjaLw&8e3|B(Pv8D!NbY7~uLB7dJwD^Fd|}dV-KS{&E{Cx!2T; zfOzeAP5I{?#tIVtsv#=!B!Xu{B0M@HnltsoL(xSoT{-PY%xn%^RA-9qAn#VteE=0? zf+atW!Y5~~9iscMxUVRTm)0zYTaQls@W(Dt+}MVajeCC#4*G-25K=a@gI~C`V`_L4m6;7 z$Ua-7rumM1OfVmVK{QjM*cP4(*C|zqQ>YYPhs9E^;7e@LsiI^UE?^`So3SimV@a-! zki=5y=~pSk$15p=jZj!LxkNL@TB>2$omkV-d~HoJU!zIHQDN1avRh&S2VqV*=s2S% zIzI7JYjzLRf-E4q>SApTz@{Aot-;_m8tk))PJ}|P*BS{xw~=vHyNSv=xVeX$-fBW= zfqNN19&7#dRx_a2;Qy&2)}4El9121#kY#{D;JjJ0m<= z@8U?A=UhgbH*U%}0yc^e&xZ&~5!#OjzA*Gr^kjUZBXUNmYbzexjE7?zRWNCYMJdCX zwGef|{mt7isqHCW{6;yl6d-WG*o=l0Fu#Ujj?!1?gl$Pn&7b1&{b;!ylYXSt-6k7y z^`vJiU_FA9x9c%x=6(M8?R%f8pS5TmR=On5c0&^emI!WkuK#9==~jVqserO|Pk?;j zGgH~H#_X1kBB^*EzQ1)kbex2*pY8`lSE-U5P;}T%ScyA#VLOp|UfH^eD#O}Ym!D&J zKOV+$!Av=1lf`JC6e%6aR=kU?;!-OwY1dY@`{}Jk2*0Kf?oEp*%FZV^fBTBeQ%zC> zTI?LX)rYf9J_Cc7ztqCcDP=Dg>XA3zrwP9x83;-1XA-t4l0lZt6o8fc?ZnnuF^Y#Q z#I}M1mx9?SiM74LmG3*ADCETY;+qwK6J~)MoU;)2b81h=T>#2S=)&`S9Su~ndtq_J z)gD;*Np|XoP!)HosJKZIkim0{tW4K5O;h37j;6|yb{DWL5$V03oH{K&)#mrw?5CaG zm=ztXw5zDBA7=gP5yNIOG5LHGq^ks_u1ohiPTGDoN%g=OP^`KO*c=_ zs~f4rG)a>m%5`{N9@`+oDd&cN&g4c@&j}^@(%GbxZa{@^7(`6kGJZL8 zC0Qz`ylF+1X-Q{T7JqmOuE%VeLu0y!TN{-Ts^MG+NM9Cu!ce+&ge~&1T(?f8gYgQ# z-id6d->+J5THU;?3--6((%3ul;8${Tm0M>hJd@7<6Rs7~P1mg;-; zTIY@WN|D|IKX z&%|baO1%g7&&sVkR#_R%MLz{oIqgy)*jEOBdez(Xx>Ar~eD^J`Z<*!e<_@!(Mi|@d z{$_u~=Q*Gj9Shk&bgRen<5DS;k)6B9P!=~NQms~RFzsH+8A@pr^eEe~^64_yCz3fuVNp|Jv&=W*cj zj1OF%|9A@jxw-uNv-r=AW`eMM05i_F^EbG@pm>ZToA3|6@+jMBC8`TOgCths?nL)D zwbza5MR)vm?>W7)sjO!w@01rd_;BbNKKpY=fFWbd1}T`JeKbQ(KIy5KR28E-NP`Y0khb6T7Dwc_w|g6s=iZ7an<9UOUMu8mMDW>sXtk%V&Gw>mB@Fio+UxRfu! z*;$V6?WC8JRV`PY6_#6q>uC~_WfRDbt2L9A=K_O!28)A49v%NO&5$n#9X>XlSNqzYciC#!LN$h!iBjh>e7@0 zErUKxT5?<5%p?rB%fUK&K!XYH3Pcp+@9+?4SSpUIe>&msyGTLvBc`&(a#$%*J1|(2 z=3cp(sfOTr4EVwH&ss;8WATMEfq>|#LV_UwtJV&VZdN7^f2?=9y74;_bza@wdHMP; zd)6_5Aj4BOAaTz4UpzXqYR}nZ*=B!z|Bn4N`c&VCf<%Z&RY_Itb6H#+UtboM0?od9 zX1t2Y>ua`8ht;{aK2cQq>)AS2e>Y-RtM<9tbMfTabvwZO6~~kB@!-r=>ntm2_0{I} zEM0JM81VKO{r>p8cpg-` zkzP{q#dQB+aPt24`07b>`Rn+}RfF4_6<4t!QAKZ0r~EgbkchhX8}oWCkLUT-ad($6 z!FO8?KtJkz`|kC@t?P%=@{zCl_rb-B{oaiNg#BjT%UQ!7nl{dhU%ttG$w{6(t`R&F z%zVQVkg@-Csjxj99PpsewE7Gb<+ACsaf&=XeEPKR#r^$NP-K$-RDA=u2eOLf!m%e=P`T#p=FT_yNhqwl3D=*1nx)X^So5`^vZ`gYiF>I3t7v;OLs zrt?zcz1*?+k-yUA{46+`>nw{){^Z?D@7$ZeD%)o99etoHDWYYi`&905H5#z3%ykIQQ+hf0-X4Nad1ol)rpJ_z(~YMFm$m~_ zm$LgA@k=@Kb_p_z5>cNjkzs|vfS6YZjc3TLx07?%&G4!DAQhaR%44YitcrKu7Fl98 zb&J?O6&#@gaHy9~P_YI8{O^GNb-?1oyY9n;S>pmHLVyW*1q88;rOLWqs28ozi(jr) zXe%c!6`%a@CPFu@@DR=+Bahk|k(L32fzo^!pfeB+?9vpJC$U+PW)zHu0Gr z)W$l7F%~L1Skm)B6|F9_n_o+DQ?$b9-=5daJNc^42MU(MYFOAdrIs|Tcj8eBIKe-| zD5b+uK=dAp*^wN_=Lga^YAT7utT@t;z?f}d^ytG}7x`iYx+x36t#r^3!&`4uWadl4 zD3Q^j`P;@d`x0mD>GDO#q7-Cxlm~5506;alN414eU%M;Jt|uwwjUIv@*j zeouY{PGbFQ5@MSi04n@fd{rYZ1tSEL8~jM0)CSnUuus|JfT_g5IGR6FwSZ_rK-_<% z{z(N&J{&?`p6 z9s@Bv!+%L+AcmoGgNOM;^<2D5BTC2bsDBR?IEXe(Ik$JA>t*qZY0VRN5vnXoEwm^0e1;SEOQuSQDQRhP?b`HdMb}=kcEA_Ym^-j*UmhN}dZUlvXVgx5IUihq zzIAHVwHfpfe(7JFaL)a@!v%40wTsbbI9t;C#6Iq@_18cc zpnAuzDjKEK%8UAA-}R$C{juGLm5WWjg;{H^cBbT$!&t28@jW9hc%2OvS!Y7y&VXFp zO#-=tP>Z-uqvHKtmdE#fFU2vqbC#EDCm&Cj^OksWC2IW-(^0BrE^`&^M zc8fZ)$=0{t_1GcBJ6e@~`^2@4<5Sm_?t!SJ`<#RySCrh{jxNeyr;tXmLQcvWT)`oR zX;rbdOZ6Ah{a@b(E{fz2$5}TV2}3)i#?qBOkEd_F#FcSD(ugjc%S!PQvDVMJSqdjg zpDy@hh@q*I7tJjj*SYN&>o1%vW{W%`1D~HTvOb<8Pouj}vu`LCJ*fj5c24OJ*3Zq# zdyIlFU7c{B`D6x%cJ_UwIk7%5*>ho;3An9l;Oll-(|dn>cd_%%Qw^kIaxrhuH^6N- zeVM_r{Pso|FtNH1Bln5TTOnnJGMTP4atwW5lX0$j@Rl5YHl7|--q5)6DT8j=Om|;L zlq_Q$ma@Nf*rBR}t`$Mu9#v=bpe-))=jW!}Dr2YqM2yUVZQjs;pX5=#@oSRlO#((I z$871>KC2fwsEYv-DTM6D-=KM(Tos0->4%Y~HYH%Ta_xM#xEL1!Ix^jM?b}>rUN1%D zi|ps(Mpf96ES+E15Si>FFG$T$UJp8tFphT)M2WZ*Kjrg$gO_b#Wbbv%mEzL*S`iIT zV_O9p;DCtYX+CyaNK?cl+rBN0?&S%~Lhyx0tEgb?(LGobeX^an7#(%k>zmw7K?am#3TItGBD6LHG7oJ2&t9 zx5W2_)2G>=FUPjbUpn4e1T*iLUZ#g3-QPfvm($%^1R(S`+nbYzZ%H1NVxKt-)&lcO z&Kw+&#AU}R$FuK}kt8GV+B#IuvXok-0|4Kv=AU2CySqIVeJ?q*UR1>%8;Bnf0neB< zSai2>P)(l^tw=sB9jE!>l_yE3%`$QnM;gnuyBq|H{JK8Q>foPJXQ^@esPv(R5DCO# z`sC$jOfTf6c7D)2J~!kuq;={2_>EiZEotKDI(P&}1`d)%ai@ zD&B0(f*Xm--=8s$uel|@N0p)(O>00GNgcaY7HN@-g;yb(e(lBHfxU>WoH9v8?7~Z9 zy1_7Qa5?mNrI`b;aRQI?^O#k`e8@j%KSn;|y>=O^+f`m~j!d}3^F-A)X}iRi10QMu zMQ4mU4W3nP?=jp$V&sWnQ}#v%4p%#s;2pKF%V}pEk7Kc4Xq8T-$Xkeg=^r(+UgATeWkb9tg3DC&Gk8gC7t#K1<)4F-G^hDc>1hk$In!+zM2|Ny92hx}T zDf#p}H6(spEQv(XBAETCI>Mwt93YcFb@tZiPFOx@M0r6u5Ti zF@_yGH&Yo|$j`4TQEt&q!ibyP5g#}?X-@AFS0386^rni*IWrVy>9_J{y|0cOh)B^z zeXisdsoN=mSF7-`Oe#2CQ(A46Y;tHfXfNVgmeR7UQr|UKMwu5I3Nq!EU%B?{v6TSwYsa zdvJ`Si31niLt=zHf>H;)*JO3>xWv}PM3KBt8qr%t4?-bJ2mhq87*+5H-QJb+@>R+5 z=mR+#u7s4dl5;DG#}vK9G6_Rf#goBeV{wo0x^mCPlBF!p?Q$u>{ZZsSPu6=Gk~Ke$ zX|HLaO&)KmDSllaUx9zOqLV2WD`0UABJRAlBJI<+5!LolgE;!@lC*2#2-;||#Oo?b4hwrdP6QOvC${9<)Ygg0Gc`{yOg?)$ zIvLD@lCtQ|WoX4xMR~isqJEWTI}?tT5ewr|$d3K1&2Z`ds}8sylM|Y}BQ~FsiAio7 zm}oeOQj6?Dg}B1gmGbCjQX#}M#i|E}F_~54Y&?72o)q`*X>k}3_jrvafZud(w_kJ} z*FNNfStBWZy>6Oh|CtW@R6#vu;`8*w4*X_&lCfdnsdHu6C&23^H^)1EH30*hM!Urw@9& zY~G)^KfV*-pbBhrTMjn2?BH!uKyk1z+Y~)L+P;1-p4@hYi}aXw9EATlb@v18fufu} zVQpy{Qf)L*wK6Lv3(Ps)+WIV3`cYl6RVS%Z=baN`sUXDhr9sm1~z=fDY1=JCXDWw+r!wN!N zoA{V-;8H{SDr5(!wKH~%cu6F^^vER6*PUg(t!JLEaoKFo5$g(=1tA+6+FLkBk)7yr z4mX@mR*TNAo0v{8ov@xXP*Pio{b=s9c2U?DPz^kKLRh(6b@aJhMm?cKffsw6d_}!d zcNY3HcxC<=GkBK80^pssT)!-%HipjT>ac%77`woB${t=nejW2rum!8ePx_u7<RtM7=YXaMu3NEL!c`qSjYiL$=ht>IoRuZ)nb9%`%kL%8FH7&ncaZ6^H%^9pM zagWz`gA#l(RkH&clImjY3vB04?qPUW@D+R};_&Zynm}xptpWIsP{A+$=u{4k)klb` z!eK|&+DW}=sqZ5H#k<&J8hrNaf zfOqN=Y{Qpx7=DEGMk0yg#uR}Y_T%Q|6&~%igK75f5*5tg9c~Rv60PkLi5qC`!!AB} zIXQk(RpNWTwT4n!*$T#uU`KkfC#MMUxk~fasp|3+__f(5Gnzw@>PVB(V$UfHNKBU9 zHuWtleqG(2oY#eOkW9J9$(V`A4Wg6U7O&Hsgf14(iujiWof$~^)0=nwt z2J`mwUHJF*WrUHF(jZxEMF21z3&BgG^N;kBztZRaoqqH?J%CW8v&@V0#^wk3mAl33 ztoU4dy+xCgc(x)FWQRfz`f(wT7;%3bUeR~ zEGSQ(C+de#V)MM4t z;CvT0hL}a=@G8c9E;Xl)9dLBdYtx2q^Q6T_Ff~dhlVh{; zlq&AMAS)UQ&Nc znRrvO%p4@@?ESrwTVjwOu8T6jPs_s6gfEmd!py_(T>sM)A!1BdnR#opXTEA#aqaZH z`V(39?7-nMHQ3e4baA-v#oe_E1pQLR$~0UA94#1JG~I{7ImYZTLds8E%`hd>uH~xy z$G^nn#D#c0{Q5}v1dp`D@=1vy_2YYms3N`ssr(~|T$_f^vQj(C%u!?h%>zOHFCMvF zDQwW~;!6e88Uu&pAtq+p5*TWrrGy_pg;j2tdD>dVg>?J0D~}Zqd+AjmROrEuagZ^P zR3PRq-kw=Lm}7aaV1bT0$2G;%jI?x}M^=%UAxFvR&o{tGcFoYv&n_Jv(}BfJo9{R{ zVSu^?qZa{P^~09JXw>i!$dUht?Mv8yvGF+lf3i`JxcYHjQZ2^TAAT*aw$Oqg-~5_* zZ2rsP787*zko~fiH_W%AK5bT9=s|N5SVSAp;(FZjPeHd37zFChvjUk6vf{`A`RSYJ z3h@_eR{mg|2w`J*%QfbLbQxI`F+^#DxM$i3xNW{%sD9pix%5CkmT?BGSeN zRU!F8t=t_Zhzb*QmFEAfCiMtJ*12oI$;eOti1gO~rFqO@zJgWRoB$@GtYrCZ0<35# zfo{*_jw)Nm3zKt>#CIEtP2rpLX6L)F7Y=YK&|52Q4G0RQx>|4rSBwl0P2LJh2&yl8 zwD{&-@zk$|ImBX%1k|g!!h^ndz2ZFn@gm|ZdW^^qePyndSIW8yq5^9j-zs1KHyNPh{ zw9+dPC;5*k4P7rA^zv7rS?>5s`pFQW@c52`lR^!s?LngI|Af=e9kHTfJ@E%=HS(*6 zmbg!CjmgK`IvOy*6@1p^Ldstbz1ONs+37v`hy^a_ov9&1g2(88={aHEV3{jRf{3#oBpeM>U8B2`5h>rdnX?^BMMRiOn&myzOj!CvA0#6%glpMXpCU`vFXM;3? z<#LK}nk@WrBbJM6qtHQ&y6rVRdddtrKh6~luvoBE5n_7~Wf(DpkiijnQmk1_EYa9y zIpYOLFnee=ljvW^Y~duIxO!$n2ah~+SQ$#p3pyHP^ zlxOX}7omh;eD{k7;fX<~1~n9-m(WA0O{uEE37c>xt!G4u;nO7bIFS6CMzZoWEybe6 zT&dr_m-&DD?hV$EvGY1LX1Tz3=EVQgxA-U!5_n;$@nZSmA2R3|G^k+Qgr3@X8a~=I zG{q@<{x_8e62Da{6Ey%;_Cx)ui+g$#E-y; zm?1<%MqL9z+>|d?6B}ma_HM%2>-0Z}tLz=65Jl>%7L^(@`&Hf#rryQf1wkHKGy8Xb z!32d_Sv_@%2AVx&KfZ6JVI-`Pa|s`^A~x1fwo47MD4mzV3OX;{w3hIucj2hGj#QME zbkSBgP>Mz^G+7NcNULMeIqAfEr(ICa0Ho9;yU{?uJKcP6M9N!zJzGH4QR2NUV!IHL zv(v8*Gn(9jI9;Jk&O@wWxP@98;0(1!Tm7Z=IZo5cL=W9?CtYKRs>?iM^!siiju}H4 z#gtS={VH()cd>Vy`a#CLzExQ>9Tjjep4)6uDQ>{n+F<dz$Z|Cy9HxzBKW za5caa>VS6mn<}LO(dt4r1AY8qfG3jegL?=~rry zos2)m87QP=7NDApsHQ?qJa;mNQW5y|LLC%*m3v_%WNCD(N!R0oRQ6#+719Gu+}2C7dI~Q>EEwi9BZeEO<#zEO`G>m`iX# z;3SlRKKZ9Y=l`kjD&snMGIq0q(_JxF__XAM{iuD34)oPP?hl5M*{XsMZ2N91gQC4i zy=4n3(3)0;FQPS@nNhKu1ix44qsPtlZu<9j!H(=8MI0%eU=(xbHTqemr_siv+ry*C z3Hhq1;<^3D1M~a{Q_DIg=HlXIJq~w#s42%^wP*c(QfF=Akv!0Kw|c+_`y>O@3;^j{ z);Y6RWmEmZN{b@#L5W3z&k*6U?iFm{mVb;+@%mn_Ql;~kUR@q~P}F|EkeHx$MDdk~ zOo4t>@Y^UTsgJAhp4po7bBGB!8)dlk+jmM+eQ2&^CjJyHHROvCEa>4_9|!1yDKreZ z=~3%!o4-h<*Up-080Kuu7y!58_52>n=64p)H4wLI^9HcZ>!w&qJs#F*^u0k8t=_t+ z8V%bddOY;KX#HP8e^X2UL5&8ahL--l`<`gsSU^lN_=DQncpOO0$N4Aq4+`{fr2m8Z zvTFdgBQ#ro!?X2MrvdD7Wmzwp&1@Duy`Rf35)J>3Ci36!ss4N~K6 zoBlXXqvGkB0in*_UbNr4?7|Pt9&-qPk>5Fu0Lhi1{~&K>VMh;V{6ENN45YRmqmnn* z?EfO~Gmv^zQh$I`Z&t+k(dYOB`bfDomZ?);Z?n^{mH(lEtqm@d;Jxi=>~r4j!{Sa# zXAwkk!85%EQrOQ(KyAX1*HVr!?Fx_DY`%|dXJ+N`rAyO6482*|#w>`I;%TFdJb{x- z|EhXpC$fHB+INoIf;RqATQaL+fuwb{pwR(Wh8RECTalVM4-yoL6A%jYr3re$lg36- zTnOiWe0dvUwBO&E&|lMp*u;AL-;;Rh`<&fx+7>JR zHMArdgXifEn%xI+#_o)-D?V@Pf3bgb^|tt~$O9(Yt2u)*t3AP^4Fe7X=domr z@(Sm^)G`?0f&##RfhJ2^; zIdG0@Pt-s=$$Jy(z7Qe#b$DmUvi)nJA@vJ#FFXnjN(V?Rcn>@Z3vmYsHhC!a9^@?~ z6E(-~Pi8$|H-v4-yJp?2!%3_@;8_nnp-xqfj-J!ughBWVZ<#>sFxdzHQLCw3SR}Sz z!j*3zNne z{w)qC@IvI$a%9wSi|1Dj5lcT|gEuHKHO;7kkhpVS$H~1Fa*yW zP14b$hrxU$A@Hotl$6}q<_&tSHh%%;66}t})Zne^!4LQ$U8ccsCn+hXc$I*Yb=9uHjru_^W4euQD z)M&$dUH%{<-)RTS(v8I2J!rsg%Z+LwoSNN}lOsVp-!Jl1q!JBh8BfYvWu=}_X6MoO zqV?7P2iP?{W!IrcpS;w>G>EPAM0L0X@j9u9Ia2)TovN+9_-FBhh z%5NSzfUrqva}MdjBIp5E=JX-il%6x**b4*{WMfMSA=ZzXJa-ihaQGQJlV??x$W`ov zMNhtR&Xi5+J?~#|R3|i{kEtLwp^r}AVFq3lexco>Tr3qbnrZ=J9~(E1MWmatM1+f zJ~n=*?}$8qdFk0s=+XS|R!wKS|5Czct85;5SrL>J`m27n(51R3MXcRduU;3{UbChl zS&9ubmTLo@4hxWqRJDG>H&Rw#VS>=`J|yKB4<*Seks93x$~D?@_fbNB@%Ix)@-8L=$y7f1`BY{jHcQaz?Zl9$x>-FbF8w0OQGsi?G4d#{ zPXv4my`?2TObVY@T3$x84yjut|FKN2U_O>}PqUKEHKDfAUp#~msp1GWbHS)QdqI>! z;4_NK&WUSibt0Rcqwv!KG(YAeO3}^QDEcx^4r_MT24E~<5$~{AB)c?7;0C{>8e5?h zd45Ud7n{?Qq7&Jq92?oDMdqYS^;+=pt_5WGmFSAqt>{Y0)+ZW&IBx=`hemshG)C9W zmz-jMqP~JGK3i%$aFvVM#b?>nEBD7&1+gmW&hg{rrIPW4k!7+lA8{UC9 z&vGZu%}#%!vgmTm7uvhCvg}DINWssjDiX*xC-yY$(iL*?Zm3f15!|hNS*E>k!aMaoM=?$FJRZ+>coKPe*r7B zIT}Y{PY!`#zTDh;D;ITaa0_C-$S^$Q9twGN`oeja3>5*1W~0mS%$<$-{{b910Oy?? zKU2E(2~rSI83OYKr`qMU!$bF?>rq%9QZRzkbXmEuo<#^!(5rJZfu@>k3OK3^?|sCh zpwE;8bX{AzWp;d%zt#`fi}Z9}PZ=aA*;*9dJaz~A8J>spuF~k8F7zh?N|Oba#HeG# zpqJ^wGx!=2>ZHYi_TeYyjmm{+%3Q$ZoYT_FaG`(p(7&4bzt+Y%|Iu(rlX`3i30U78 zfK%rdu%oPyf&jONE8tNWT9wBvp1A;uz0z|Bp zI-|k?I*Z{ZGW$Pssh6R+9->M>zrCC1r+LTFxBWHtd@lM-);__7;BzX@FyB`m`;N0rM!a_fDp zYXceX9acrhKS#&M7U+%I;_kg#@@@q3yZc@r#4xMiP*T+j7m`YPoo1g&2m7azTya>*8xzlD)H5lcVC+s~7(Lu3tRL zj)Z#y^S=S?DSXL+Luw_9a6do^fq1=mQi+{A4W?p=ca6bXpIgan$HNjVTk??BNxDU@e+&%Mp1jk{e;<}D5PuN9Ayi+*a`{S z5mQjjA*n>Hvlf-)wo|yV6o-=ni$K2^%gR;)291t`)zb$dK|xr=hI|c1XK)Unpp=lQ z$d{SW;tpqNSBAD@QDsb0wz2sPJgc7^$zfoyW5lZo9vM4H6&}Q7Uw!IOx9m#j+I3Nh zMi*~pGB{N9Q4Q)G@VR0FLX8r*UM7y_DKsdCCYn!-`G=lAb}+UKPRLb6XlO!fEW27U z(BI+Wn7)e{nxOsUC|=Vs&}Cd4AH!v4u4T=v@EaO?nek*b1F##*hFI6JGNnYC{SsfQ z(56tMoE{5%wRWpO*f>bi_`pgxep@vrBZQQYxc@Y33e~7tifyd{LWho%sF6BVVTEzU z>fFh&s!-!lAw%pOn&^~}82NHJVw#OSVwEpdAw$}EkdU5^#+ZC!VuFa1qLC`MAY^2c zb+YOZi`0HvUl(-f#&)UAU}kcRP_%@WGHkGw=@;5d%!UK{!Z>XJk%Jl7J3`6{blH0} zVeoqw&{+B_E_jLsM^i!`p@{d69zvTIn{qckf?R%s?ufh~HGq;e&=-wbNWi zK%1;7Zp=jPR)!;Os!w`SS&5i@qSqQ9I)vG4S&h|_PM(rdeRZhm#+{s}5O@s>^%}mA zc+`}AqEIVhp}X$vL0pPgXu>o*)JPTjg+_NmO;q&nW1BV|3Tl1c#zjD~jj% zuA#|%pTX141_fk{PlUW4jBt?SJy8oy46Ug<5~CEr4A&3(Q9V9olc%34kW+eDwAm>4 zv2d76vofc-6fkXd=h(OQqg`VzBGG{>LHJ{k?%`s)qS%zqzWQ(*Wnds=tfm-h$WV^x z?V(lrAn_CCgbL?dFDEN}N*~b-UgNk8Mi^`v9!~MJeV_{yWz2WvnD3sSwESTq&|xT1 zWMZ01%sfDg$$V{udefit4XC}#okW7-s?y9$Kmesu3c1({xj~$v5STEuC@RDy#6CTi zDE^Rl>Sz@@^OPzu^nkO;K|rHiiNcR#21Lv)uMHU58*p0o&GvGD0!ajp4{7ary>m%S zdoF?swUsPoiI9RYcFERL7Z=);s%_x%GWL_ zxy_uurEEt0P)e6Z(V#U%lN^y;WHMn$f4DRuNTv(Qj7)o=2wD{!H&8P{$ZNHeKsbs> zfgcK>8~Xt{B1}0V@R@i|P?%trR>(`m3C!vvi%6LETq<3m0Xbm8kh(ekn6XaVI`hX` zL8<4^O%Ig|u$Z5nvx{@VJWqIpgY<-gu$s{C5owpE2GVO!iYBnA{;dKY`A-!=J=X+s z<%()m7EYD^hw?m#I;qWJNSJRbQfr&|w zwb`LV+a>C4hq4k$PT$!F6Q8E4>Lv-k$Um4H^_YWTo!qC&TJcamx-R(|NkkcNr2hRK zq!Z(N56DiWNUqSW>By1paXJYs9tvj(I$nu2wgoc51n}`RZKE`+>8bF}W*LZL<$@t2 zj$aRtlj|2OE(%+J`H_6LPj87*4)`5ayg;E2n>7++%Yy`#21Tg^ou=dz%L19^A^*`> z0ITaAE^@cGHj{@+(l+gAO;N0 zTo^{e9b98D#<8HBmSDjjJ}@Nw*a+%f@|it!a3V2qT{Sw$z%2y{bf*K>Fk?kVB}Ukl zd;x*v1wxX!as@d}swMouJk;VRl0O|7AX7~xyf)%Eu!YS?0xL17U99jN+UZWnSP_Ep z`A)bf7R-}~oCHz?&WRMVF;nCem>0c13v}>4flC6p>5R=vz!)I`hxn0x$1m9_o3!-M zFPW>r_Hpr&=pFf==k^WU{AYPMKtLR-p+Io|d2V0b-0`cpsi}#PyfFCF)L} zA2Az`2j#PpKuAW%y{6E>hV;gFFH`Rx1j@_jbknNhjz7~j15fb_W&5IyL`#kYo_eRy z2z`iYWpfxt3VC?*d2@B^diH8vujD+r-$Z!ld^oUa^1BppVtw z-C04{l)ip2`vyQxPj*R{&sIYochTos9d?;A;O2hmUOYYc(z;49bP#@f9=`rs+M0~0 zZ^;xMeEseO6(DtWZ{cOWdl$u7J?>RIBf$!(V;p zQ)K;^Z0haf^WLQE<6^P9I__1_{m9trckb=uCZOL@+IHufU;NJVZaD4`Kb#$y9^9O~ z@9xvm>9V@-VBep9duD#?e#*7H5En0hC_ziaeO;rkADp$46TCXOxaU)ac(wMnd-;iJ zdYG@;#*TXnC$=GUoXORO1aR$1rFr3%c#>vy=&g3L+6~|WR4*>5SyaBZyxE)6X+nvu z@J1@$%{W_dU2mITrpe?a2cLVtbZl5*6J^KqeRh9g6yJOGd0$-Dt^3GtL)f=pJh*!8 zolMAszxr0kPrygWOZ4&G>4k5j;=aATdXvE!xqQBQ^p&Ery8=yAaAKi--pk&!b?MZs zeV){Vm6t$zTCfnC)#tHh)eH%`e0ct~J>zy=e^j-bDQk0+Z)&pivFc{;+VJ(!)4uiX zZj-3)K9%Q&h2`Fs$~zo~qZQ*&)|Q@*%3fGCNnoJcJ?di?hJdHb>NcJ|or@jWZ)#OFLI zdU5w1kLcjNbTD{w)!oN4M;e;{oG@RIFsb@yUWQJcUP1qh!&CX;4OM$YttcL#{Dgr3 z8AFB$>FvFKeY-V(OopEU`)8FGS4ATyMZ*Cz9yVZ@!eW@r!c1%~N`7uCr6dzpkxzNh z`7S+}OsU?wML8>bT`20@j0c^NV1!P_~2s4IKDCkQxnv;`c(0S>X<-3oeW;JhpQGoZF>=n=3=mT>1a$D$a5v%mU)^XwAH3X_Q z^rrX+dt*J5`=XQq!^*YsNO05r5ebpDA497R$q78Os6No)ZM(*W)}c0UgsjnGGB)Wy z9PDV=G);3&r=J!#o1Lke&~qI!IX@6e*sSPB*j6$awen z*U=kQ}jp^9jT=LV8S|7JvoF*A&8OkS%FLR-jtdfh}OTXnRYGtycL8`@gF9;Py(; z8${ZEI@t13;bRS^DI-Yj$2g6e_!8s%$z~`Rtwv%?23CV?4UD@2)dqC(K@)5tq{-J^ zdO#Z_Sh$bDw;y*KtLICkE&SHSSZNaolClbLf@TFcL3|3FhyhO2NVGuO{u=^+0j3$` zH4U$uV&`|zzp{S^xlUSx;un?tMrrsB{|Cz71OATkzpKFEXoj>+$y)*AmYJ~u#fLI) z20;o41cGt=L+f9XR=|!KPyxU&SYVjtUtv7}8~80|@y6dc>tNgnKYruYMiYa|*V z=d?*TfMICBu;12@EbYsso{;XYucDrV_DS}&DPO9k;yXaRJ?DHF1R0vgZ^4I87%L2Zg@1=aT{qb2m%A=>tC$|er1OW&UmYW9ehc9Qr`}>(=efQ`Qcv6C{ zfMc z-PCRzmQ_WFu+u8&w0nX`7%{iGyssz6&uqLod5hOn{u&)_T=CY**tvas747wN^l<)Z z{Bdvj=Eb~rQpcVk8erKHd6< z*T$aj)T~QFGRK+i?SXZ+x7g$C`E)X0>zc?J+1T1*pVhP|qqAtYvrD2MuUjwlRf1u~&=5o`e7`Wy&#{ALcig$xab|fw97Y%mWM^W? z84F}(8hf0~iNYB;m-YVo3Qrl&mcLMm>h|4!^Y^q3zG=e;; zQHKwDgVuhag!hQN)WPh3U5L?u`RJ6n7lRyz$yFuyC`27d>LvHE6%1Ss2^HBBld!~@ z`|PQWcvK-lqwpK)DB@Xhr4z?S{7n?Bc0`m72{Rx=CAMO!>?sUEW%^k$F{To(Th!@B zU1(lVen9n>BMd|Sv7xkU$Zh!^;J$w)BzTga_4;w@m{kC{8+4$Nlq|ZelSIP9+zW#%onSjwA+2Lu4BO_MrwpU@yW4FWC`?-BH z*EpfXX-L#QHL*c}%D#X|BBSQ;WQO-deZ3}k_Wm1o3*;*m{JBxH05@ukZ$f8>8qOS>Z}z5cFe)hQfKTQG z&eJ@fM&*8^iiiZaKf*Xopzec_F2g9fPQ})#utGn2$OH+wTeh#@;+yZ>t8C;O1dRzS zb}2Ru{a7TpFZ(k2F4I%obdo9u$~&7|-C+v*ojZwB98BoEv{Sd5FM22UM$;tbw@H|u4#Xfon~ zeRgXs81jnCG5Bn)=X#vAYH`QiQO!>#Sb45dS>s^sYypo8!Tw zI^pcs&6;6fYE!babD@~@=|H9#)%ERBXW7V$i}v{A%@=Sv%Bz&bnqyV5;yor8LZMuw z_D240%8rO?GQXD*aoUBhK9p~0$G!V_n3WWYDqw3a=M<%OHCay**ID{b@~iCR zq@w3!5RilwE<9MjsiQ&ix}F`OHFY*mx|uFKhI%Y^bX6X| zJ>wmi_bQfg6@N45Z?Qf%;9G8m89e*AN0OlsJoG+9~JZR3w}C~U7rcU?2p2IL-G&1z@1WQ_!) zXUP%Kk+{gZ9k9!`tj4-qg%eW^*iiPo80GQ^8cM>tHT*OjKY|2a26lThf2c!|m zeN|u`Ae~AuQ9E2}5VEuEyB&ib)9ZW{sbB@>=+V zcCts_%2fehYqC^AE-%zvzg{mqJ~OS`=AoY(Y!}=QSnj5{TD~Wpw+;GA!QEtT_cEG` zt!;hppnFzS^<}EF$X@6KV0ucindQMqj@mhxPIhW?rc4Q)oOr2B`%YsO(_KkPurVw7 zb>}c-ww*DRt@|E%ai1mL-h3}ROK7&#lTIrwLl(c9^ybK-YN*_i028r(d36a3JzS)P z%DOsm*73kTj|Vi2&fuDEX8Y`Ck&6gY>8RQSuO3xe9cPy+)ub%*;eJ0t7Q1>aUHC@( z)zs*+_lKG9^hSkWd7C%gnATISMd?!g3)n9FFSkrA|JTvcx4^0AU3swF=~(sFegcA9 zKf7Ki;7T)W*&yv3Ay!)YP)Nl3cX&4jt)xWQk=yUcV`RlkUVY|HNQiy5%r!pRc3*x& z0KZI#G%lAo$iW+B^nAJQ<5J3E6M0`M4C^4h*R{{VFQ9{zjU00Pgv@QY47Zw9^QFhD zm$wda4zfFWTiA%2vG1@gQ5LD6&i(3km)Y|&XHFfm{{->|`n4sjZwM@1VD1wr!?5B` z`+OWMIL>?P=JgM0MP2CTRDVZZwp=ELn?28tHLMPwyOXlzdy!q~550IoVx;4BEw4)& z(k>^Xv6TJ|BNX2?+mAt#Q(_3rouiF)>4DmxM%S@v>L~};q3q-tbv^gj2p0KTULTk+ zrb8tGvZ8QWcE!qag+q24M9 z$Hn;9GfOUCSLwYsiu$e*Pjpxox>$bba5*~cZYzqaU*a$7El1V?`AMSQDg z&zATaaTDKp+`1^$_=_QKORzUMLTijjJNMi1vM)vmIaQszi{#$6CLfSn4E64|DSMpz zLJ#i9wyS{252)3Az{h6RME_57fL3357kBp6P)~rjD3X@l(qB?j9UcCX`m=Pkn=g7u zn#1VMn)wUHbxg^S@a}dr#AcQ)*CL>k``U3|9{kDP(M|F9$+pLUt>Dl9e|7+lsQbJx zo6el=+*ruq0p17j?cD2dN;$3$WUG0|GKJi$@`Zla@&dUp`V&lA3}p08@Gh;$KcTJ> zc}-iCWE=SFqqPTnK%q89Nj9_e@6UOnyX({ItAHc14IByO>luZrt=`Ep-fWGZCXH4r z(bB){+tLQ|;yMJHx(7OP9m+V+q<=1RcBT;R5BZHKy|;V(y7TPvlx@xN<_g>03~W!k z2m9V=#gfuCo6C=xdUjn^L+Q0DvPEC8(t=_iN@_1*LOUApRep`y-2((h2ZZ#> z>(;ayP*)_UfoQS*MqLFg|46BlWIxGn~(pE zO}^)JkiThxe~5s^6{-2E1Qdr6Ty$BdO0GZWafPPQAgIedUgcBP=FaBG@|q86GcRci+iz4s_MF_S;XJFsyh)v{fpe&Vb&wYfYl}tL zLOcN}(|6sg(K@R!Lc-yL{{FNA5}g`Qa9*QUDmm+AgV8a+S7XL(BjD2U>w%qux$|;K z^t+pfjl7o)aPO4L$e@nRpiYv4bS?Rw#}MsI1-71tjk=djI(X=}fYu&PkRmg~axa^d z_3fr@Jn_me9yaS!cnZTzw`7gDR@-J}M2+J^IyMhoEdtwj84f^-do>dlnyU#yJ$ndO zOHoYSob)}M)1aa!!W-Lo{_|`ssy!`}hmTqgF=Q^Ex?3*IVop-9^L#^1YtnMOq#}_W zYNQ=%{M&rU41g3pZ0=wW+=_!7c=iMy3*jARWE>D(`saA(THBxun-LIb9j<M zk86Y292R9^G!0fS`$|3Pa^lpL;nPR5{`l+BkbNF6K{b)a2&vVk(YdnkX~8;dp;i>8 zByGV{lB!Mt=Y!pT;Uwg7jYP^w?3q~Q?b_}5+RK%W$mt^~M%)<@$#w9c)V;{d4`W&# zVFvH%wZiOvy)M;Kkz8ZYdO{HVeyW|pk`$lZbHJHf@^TKzl?Ah?8?|U9e?zx}9u!0x z(o)$Zqfh*^-OtA>S{7xx$1D{iu`1g&04M>>J0rjdLvaWp^a1&d*tLJOrC5a&1Vogb zWf)^|4)K7db8T|9W`^hrzyboZ^w|aPh(+DMd!`>m*j{MdEewWEHqu-a0)tW5eOaZRRd|1Pqq{cbsCy+7nb_PuhQzY|v|%s| z3K)2gZ427MI=fkomtFq7Go5_-Uy0Z%R#LyBdG~er7Qi%tswzACr+Vab12;qFJ%te~82CzfBP#6&B-y*gAV!OAYFpV#t zK0}NK!~BZsnVNP?STQ?pllqO;q*Lr!ffCRTIxrHn2=W;M26e3f)^QeRi(dUIQw@&{ zg}uOKeSwbUuFehy)zuX4J_P16V=#Sy@s9@#zNT}a-m8g#5Eu}InSK-%g(047v81S) zYOnL7Sa)hM5D4o6-WX>bdf{#Ja1fF<;=@i+2=Z-|0T@y+bWsR>maJJ>YxOud-#{@s z)_|1~vf{ zRjyzdKDH2E8&pm95Y`}_^Z^)D&DZgK@TXeJ95_@EoXh~y@?5@ohHuoSeVLQMv*Evo zW?35oq~nofm5}VlQxrn*GXzyA%>M1tPno$R>{p0eT&9K2=~pZ(17r6n4rWX;6mF7s z4@bQJ$wx*M!kEgHNkyQ2zp4 z9OH8<0ttPd_CEvW`+puV03q40u{)>7r#oQXH+}OJm=*BoyL{<9y(SBwhk$NOK|mqM zfA%$uf2ZHK?t3Ly@qKGgg>)J)iVugH#7}}loXkp!K%dk}`u!w4Ni+y@90E!w@M9=o z$UkoYmH3?=>G#;kP}=OqjLu-#ed>mHlY%oJM|U$vZ#zd%x71`*XSkM@iwxEMf?<1#*Va(XOg!u-Q&iwXv_h*H9GAx(a$j@ITJO< z!+H8o2d>Anb*}?e+zVC2&`kr~#m*&AefksG)9Q7mipEtMjnqe5Q`*6P$RE9^ANsyB z9KGYs_0t@Eb2y^g-5zWRwQ=!?2?L7`ql;skmouBeV>_K=#GOV2;*{|EPc%Nh_g<*_ ze&2^;(^vD}q>%OdSoJ>yh@cM=ja30hP?Rla^chL(cPR)mw!dVaio1QaqHbRH9=Z1) zrxYSau`{qzGmf$GOinj^Snxb->vohZtZ!a;yM3o;wx{Ji-fFzxl(Idl0TY2~pWy0t zy7hxs^PcMIj~^{QxqG~gdb|bj=PAgX%eJTBCoh%OnF7qGG}vew_UPA>?q19o2QR`_ zcfwbhg(&e1Otm%5GYu@G3mg_nU?en7Xk>SE-AbYA@`f({7Ph+6yZQro1=DHWG)nG0 zW~~C5E)qQrcfVK5BGv8S)cN5ln2SU(T&dYBDrfa3@@6m^Oym!T)|o0yUZl0a)Di3Z zk?Z%pCR_R>SQ%wl`4+H-_F~fEoyb}ZT{sN>Cralk@#r2!W-^1vdeP0x%!Rne+ZfyD z&-x!F=P2F2N!{9c}v9Fdj#SQU!>)s z#W1rmGO*7ubBxZleNGtkag+0S1G<);)svBR^Rn^trKZl)Zm`wJPsuE*=RI+u$4p;H z9Mr($ZGFlT?iV0vpxrd+j-H#QLf&8^TlFgvW)RyEpX%iVCTME&|3%L^(hqsM;TuK%@8*3929b0-u3REM8$(ImBmC)Er z=v(5pU)gW|?BWl)m5a-aC3xM^J}dcFmiLa8silE@P#nu<{XLhr79RB!x#q9AAQ&|H z!t#XZm5yhM>g~b0sXYkJxQA@xW^cNCBRGa}GO(Xnny^bzrb*J*J6_#Dlyl-8A7VMg z*j2=v`V<{L$9=O{CmA+&#Jxik3@ z`m0h?5cH5E&QB9K0dtH`{lcZBnV^so5$3(=mhQA)fPDVMhvFd3GzwWQmWVFv9ebjD z1)C<#jM&F0#KrwvjPw6hjHL$0Z>yFn+Kdc+5oId&-`d*z=bA)~yf@gD+IjtX^fo!* zJu})mxZinS{7u+sTaff><y~J6L6~ ze5~8IjORuJ#un}s&O)XQ1TUX5h6c`^mLv1Z5zUA38AXkhof|?MxCz6mEgbQ-gD}0< zE0t6+4DL2WMXz~V&}x zuHTBL9}`y$@T`LGIHqM5$J9{V9t&@~WU4k61eAPCd!)$~yzdQRX z=q~V%3yeciU%Yf^Yc@58f`-|D4&msrh=zdmxxj}0X!)nqd2(B4xJ>SyvZ^BJ5u>gp z-Vvi|{WnH>BG98FTjFHwHEZMvV?bMh>A) z!WxtAtbHgvC#P=L@kUmydyNpnbwG6WecSqhVKBY^ z#<|k~;F3C4OSI(6#S?GO4(H5c^2}i^o#tY}v_Fs-u z;?}8FqJ<8u(C0fvvB9AW;KWqzWL)78`VUtni?M?0Ch!I*V?^l~Vy9XYDM(T+=NK?? zpcqtbx|Q&h&kcdZiOhe)u#tW4(lwY2-kK&v`1|P;lf@z^xaa`hZqp`{Q3^Ywt zSwk)R0!O(;EmgOOhG7^F5S$vxX?#Rolb@o8Z8IE-V2n77$Jl>9R-VPUQjUQ)30 z8qOK5-&VTq{J+WKVc5L)>U~nz2#~2Gp?&AD*ULJ~F5E+0@UvAr@wwso62t?|Qeha| z&03MBayT!VlBtI4E5pO4&zO2jvMa1sQKwi8 z>GNgcx`(*Wt9fXRQ&FNI($B+8gayCsB%96Lwz+q3+Ir#I%zQ~MDJ^u2W)^Q;SVn?B z$zHQ61~02B8?`7RFawJhrSw*Qi0>~X5lL==i7fBSMVB&$5;CPwGKvkL!jnd~I3PiK zrcOr`Q#v58P#HOoH1({MQc6HjW%b6DC#>@zh?aFG=39=+SJgwnbWu*}RYjOgwpMDO z7RQ8TfKwLNipr0Csgm}mGrtj)z{EVpDKAV=WsSBt$e8^!V4ENLXa1s7UlpBD5s&nu z$&Xy0k}5ae{dSU+I4x`cNJb-ynKC`0C{7uKrm8fNi=jqQPa}nC#u!LCdJmQHH+Qj=4qA7q5I1{*4YUadzQoy8bYzU$=XD*`U!Tyt}^|G19}8x>B9op;9@e6E z%e_#Oy)=|YvX{Cd>7dNE)l?g(f7TXuiqC(+r2LET0puU#t**#B7X;OLsY)LFkfQLn zP-vULbzw|S!9+f_>ThCcWsw*er^1*`Y4e8;Sx`Yv6J)0vK+3>c@U*m<2as}7q2&Ld zOa}H($~@__=C=AHnTA}7;xTa)3Yfft76rc|%@+9B#bS+3c$p-Lvoo=%n_umw>NVb1 zD9h>m4wSo9n>|I)CYJ?pETEmQq!_K8qm>RJ=MRZ391zRS4@F`=aj%8!7jG!(2-{=X zQz)tTXB0*mVa?%5ZEhMA-?WEdqhN54+SI=9)B2Zvy_rV-xOE2AAe0?jqWqZvyBbc0aMX@GXN~T_lp&rWT@J_B&C12=Nbv6rlGHaxT z=U`3~)LQem>@^hxN3r8ec>5-`P8FS#{?-5$j1R;8B0vYj{aN^;;RoU#)NVo@2BBC{ zBKNdiiv8t;kPO|nW0I5Sb7HnfpJ?3)&fI8W?S3%5u1WQ ziYKjrdy_RR7`zxriPvL+A&!(^Y~T4GH1v3;VwJ9udJCv5M9jW32b`JSVy zrV|Z)weVm-u*&&?0#t9BG-Qg7YB!h(N}8jXc3Og?*!Q$}N3qPbM8{!77#W^yD3U$b z!pNuuv{>{JR(_n}bLKxzF^M{~n*ixc1q3g;+=vyi#IEJCB_V5)?5(LtMyU?&Q61c& zAqnkhK%2uCt>MFl72RcsYCR*MAyH)CnbQ6#w=6}u5PVD-A{ruEmvYzCi-b`et^D_+^@O4}><}(F-Zp5exVn`dMg( zc*n~M2k9*Mu(aqYS)Ny)JQ8fc{oi59DnzvsF#Zb5mvK<>BZYy^H-J?tSsBw(uhO|v z_%~aKGGu02RTQ1Aa5Dm39;g&gPPvzLVKBO6g9ciO>HpVfevd&*yhc$BIYGmKU=xKc zD`nWQtbfG?NuP-`KA|LtCE&rRa45}KyrSXSTI9Vu<((0r@-b~e5`kCt3d={toe`Z2 z-c+VH6LW1i;s$#wqUUVaFw^xMkuHK%D%v`t&M1>-uxg3QJV?lx@2Qpc!sb)gbR*Mr zL}+4PfvBi)VNXRlu~X3Eqfc)Loz{e#Us$2t7=Wz$$dua4>#bG+{1-P-VOOA zQ2jtk=7>MT4>^u9=?*)00spQ=^2z+#pD0yKmWXYuH=^}PFRxVplEH{8~_T3r(Fl@|^5(62kYP2JyFJI3l&(hFp0~LQI6W_vLgk zFfLfP(9>Gp#|(dnt@*3`k;Fn+1eC3OTKB;MCyB}*Jo-;9J^{ai;{Ky#{+B4Q=p~)c zGkXIREF}6m0OO1q_h$*$_tlq3tpwHR&uH-4%>I#c3ytpx9F2YCQWKyYMYuNnzdln`RH)g?R1M8?*6;Izn+f%O+$vP*4n<@5=Djh&@T7ADBl(*|gg#`QJzqm2((hMoJ4l6zFPp}wjREJg}XyDd1GB{Rmg%Qrie0}mx zb4yQP9O~73_7lza|*f8}yVvpm?nibJ+m9d=r|1;Pp zKpF4F{Ge6nqHW0Hw2C73zv!$-Y^@Q-uKn=wtj@s!xP;{#D_zQuvHP<0TV2;KZbD)0 za(uBO+2hz?kB7=(jkn1c~$?pqv5A{Ww{52%ecY=gh6W;Vh_E zL!d~#vJONBAlicPpjE2{31-f5;(0bVfL+84z%%2RndO%0DU;R@B!*Dd!OVZ_dKm+4 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/IdentifiableQuery.java b/src/java/com/twitter/search/common/query/IdentifiableQuery.java deleted file mode 100644 index dbecf88aa..000000000 --- a/src/java/com/twitter/search/common/query/IdentifiableQuery.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; - -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.ScoreMode; -import org.apache.lucene.search.Weight; - -/** - * Query implementation adds attribute collection support for an underlying query. - */ -public class IdentifiableQuery extends Query { - protected final Query inner; - private final FieldRankHitInfo queryId; - private final HitAttributeCollector attrCollector; - - public IdentifiableQuery(Query inner, FieldRankHitInfo queryId, - HitAttributeCollector attrCollector) { - this.inner = Preconditions.checkNotNull(inner); - this.queryId = queryId; - this.attrCollector = Preconditions.checkNotNull(attrCollector); - } - - @Override - public Weight createWeight( - IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException { - Weight innerWeight = inner.createWeight(searcher, scoreMode, boost); - return new IdentifiableQueryWeight(this, innerWeight, queryId, attrCollector); - } - - @Override - public Query rewrite(IndexReader reader) throws IOException { - Query rewritten = inner.rewrite(reader); - if (rewritten != inner) { - return new IdentifiableQuery(rewritten, queryId, attrCollector); - } - return this; - } - - @Override - public int hashCode() { - return inner.hashCode() * 13 + (queryId == null ? 0 : queryId.hashCode()); - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof IdentifiableQuery)) { - return false; - } - - IdentifiableQuery identifiableQuery = IdentifiableQuery.class.cast(obj); - return inner.equals(identifiableQuery.inner) - && (queryId == null - ? identifiableQuery.queryId == null - : queryId.equals(identifiableQuery.queryId)); - } - - @Override - public String toString(String field) { - return inner.toString(field); - } - - @VisibleForTesting - public Query getQueryForTest() { - return inner; - } - - @VisibleForTesting - public FieldRankHitInfo getQueryIdForTest() { - return queryId; - } -} diff --git a/src/java/com/twitter/search/common/query/IdentifiableQueryScorer.docx b/src/java/com/twitter/search/common/query/IdentifiableQueryScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..a4a13561720e3354085349a5a01200cc4297e089 GIT binary patch literal 37282 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 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/IdentifiableQueryWeight.java b/src/java/com/twitter/search/common/query/IdentifiableQueryWeight.java deleted file mode 100644 index 5daba7517..000000000 --- a/src/java/com/twitter/search/common/query/IdentifiableQueryWeight.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; -import java.util.Set; - -import com.google.common.base.Preconditions; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.Weight; - -/** - * Weight implementation that adds attribute collection support for an underlying query. - * Meant to be used in conjunction with {@link IdentifiableQuery}. - */ -public class IdentifiableQueryWeight extends Weight { - private final Weight inner; - private final FieldRankHitInfo queryId; - private final HitAttributeCollector attrCollector; - - /** Creates a new IdentifiableQueryWeight instance. */ - public IdentifiableQueryWeight(IdentifiableQuery query, Weight inner, FieldRankHitInfo queryId, - HitAttributeCollector attrCollector) { - super(query); - this.inner = inner; - this.queryId = queryId; - this.attrCollector = Preconditions.checkNotNull(attrCollector); - } - - @Override - public Explanation explain(LeafReaderContext context, int doc) - throws IOException { - return inner.explain(context, doc); - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - attrCollector.clearHitAttributions(context, queryId); - Scorer innerScorer = inner.scorer(context); - if (innerScorer != null) { - return new IdentifiableQueryScorer(this, innerScorer, queryId, attrCollector); - } else { - return null; - } - } - - @Override - public void extractTerms(Set terms) { - inner.extractTerms(terms); - } - - @Override - public boolean isCacheable(LeafReaderContext ctx) { - return inner.isCacheable(ctx); - } -} diff --git a/src/java/com/twitter/search/common/query/MappableField.docx b/src/java/com/twitter/search/common/query/MappableField.docx new file mode 100644 index 0000000000000000000000000000000000000000..95e75fad5eae2a72b384b281da9cb4b22cd34373 GIT binary patch literal 37185 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%0Ae-u0DZGg5(sfHQe_AJ=y8Cc>NpUBA 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

    wcD|^mn$8S(??Q_*fS!M>!1Otdy$tP#=f z1zCN1ovI}wImV!Mgdq5RR67I3$=*5VfHSwG4O|f0aiLU@*{}~bm^nXHLtXTjT z3@xET@;uKam3V+^D@yIJEx&$-5YEHOSfmN92RpP2fdO&;EmFfTwtE`_)9~`?GsH*` z%&*Aq$tlP96|>`3so!XgIz=AkDE@7r{lkHaAfF*%P}lNd9cOX2=+&<>)bPkq*z;Z1 z7wA~-YVBZ9T}|QcgJCYy2h#c(|9HUQV>$=wwVD73h5K6Cg&%>c3Kq z77p9QoG2le=h3bWF#sjjm~@LP90o!P#?JwIja%q7T%p%EVS@^jKG$w*g^BaL$`u5| z#}>?MgR03M%o?bZ)(?ZK`8t*d{!~Mm4TlPXli^QVmcuvCFhgzHn=t`A8~(FtmbD>3 z+8;?)3CV6eL?Hw}Lr{gl?B6c^l$krieucQjWm@Q%dd0FbF#ZzB!Hh|U!cEfV?uhr_ zd}Kr+jHz6ibhIHQ-kT9g17hTidQkj7so=1;1>;7c_z%Y-@EQKlUMNQa^~=Y_F+R5< zkkIF8`_o`P|K|n+5R&~Gy>ohex&yBJrft3gvjQG{m#-bC*JS?m5YP?D2q*-3&pw86 z@AUiDy|3gdK5uO)kWT$ZabZvs_=#|c6PbzO=o31Lzn_FBhz3B8gF)#8ehm5#`sMbc z62H?U{T>}2Or71B))@%BPucKlRB-0w=xXBVY2)bbl9~t&mW3(1-@P&L=Og}MkWP+| ziN>OqG#YjJ8nr|_)=Cz>h@Y&=*q++{O!79Wd)zP@h1oB+MyGuy`Z>Bdd%XI1C|CdK z!1Z{x_O-u~d!dpTy0O2j$hjD*SARTfO1;)p(YR8hf%<4`Qai{O`J)H*L*GY+qi3wC zZi=IK4o7sm%bg9OCN>T+zJJkSWN~!!a(Xjpbf;sKxWkA*oDyFDiN@RK-V;^d_xoT> z+G_5b6taFVtNw=o5%fWVu`1vQin95PK0R^$E*U|__Lt04QJ0TaAA zAxb<0Q*BN23ZvX<; z9Hq-AvFrWTR1oIV6BK8~W?m83H%b>};>U8Fq~{`q;hfE{ZwXj?k3hVki_~1SXl6D> z2KH%Yj*+?6&+!A^ZgTE#K-bbTyVEmoUN(NdRM&dg4YU~fDw#!gzb7noo9PRQgBrNM ztxsCQ{Q?B`x0wds(R0(3%NvYmseVJk3}idvQ@tF=1WjrBzvwwfI)c~l|EC@YUtC%8 z7Q~AS3hmR!d$Zd@sqNIq{k=nY-siyvL|O$6>#xc)Uv@pKnLJK zDzvJVz^hTiPDs3eAFO!O`XvQ+9%*EeOUYtqVQpffV@t0{foeoE`4EDr5*m97%_MC5 zmj33?D*B*XxwuSUg4ZqSwUTdPd2e5tTLDGLW=~eK6M0~Ass+`K2v@(b-(AfG?+p*To0jDlB-B%(@tMxQ8O!KO$v z!uK%>aB=?@!g^wZP(S>`3v*0NM!ON%g!Txin<%rxeMDrnhMo}YW=lYO(Zo<$i3rD=|KuoXo3MEwx zgS!n;(Q95|VFWN~Vr`O2kC)orRzhN0ugleC&yV-*=;^Ow&7b1Ha*yaBeGi+H+;&AA z;juF$9O2z~6uvpCgsFJ;@7oenU{kcB=J_Afu@PMRwAfOJxPb;qoZ6p;IAO4Y>$jlk zN5>WcJSySak7=33F*Ovo2ZBqKwm)N5Z#L|sDC*BViFk;3;Dh4P)RHakU0X~_pe11o zTL#@pI1QkzuMgcxUgdY;5ld&^sizuEs^~}H+2(Zx!^;@ngn+;Rub!A-z-UZxo zfpIA6iz`e{{T$ zZ#J-z{Xa;!6=-Go4nMvqrYP%w`^yUSv_DonDgO_|QyI_-^#6wyBSwe8!-r5Op$&<5 z*4`8z6O*^=c*CpKJw^zvpL{^RRL8wBWLnQzu~xqNUo2? zT>yTBTIus0j?MdST(lgDQ7B2V!W6Hc(W)U`p?gp}{oV&jP@cqa#d)7fM>0E>gJDN8 zmumPD(MTZb959h!T|^KpJQzNw>@UI4o{yQ-aDf)R7AI2VFI5Ps`G(`xXoi=()RcB! z9Eg-3a@$eGx$e!+xZK2ofMUZ#vXr1Xcz=grHe(USiDDylCm-oTDB7SknP5XP8KU_I zwO)dOu@Q{Poo zr}xtYuMa6w4&Yg3EkX)pXqQNb4&%&%VZ^ii`2}8sk!VBZn_FIls;?}8B zqJ<79*XKJ$vB9D9=fqU)U|iu4`Zrf4i_!e5M(}zlV?^m_Vy7AtDM(T+=V&l-pcqtb zx|Oix&-DT7U-YU_@!9?;Y67VwF0^maEL0wYQ|We{BVA$X>8&q$(kLCyzzP91MuZO1 zMzi6e8{$pE+$UKPt|Bc5P~VQX;x_*<9p{v}5UJV|v-Ft3%O}%UpPQ(OZiNJZis!V8fxlwY2(kK~+21|Pyhf@!8$aa`hZqp`{S3^YwtSwk)B z0!O)7Ek(DGhG7T~5R?+ZX?#RootLbKZ8H>tV2n6~$Jlp1T9(PUQig#%qRLF@8pau= z-&(Tm{J+WKVc5L)=zUVx@RzA2p?&AD*ULQ1D%e9@@U>Mt@xI~t8ps39Qf?U2#af=K zayUIcgmqMnseTu7`L+_&Em-jh`MFurMQ?bZf~lJ88^gn<_o#Yuk}IrMVTV{W>GNg6 zy1Tgdt9eMZQ(=N2($B*TgazNMM4Qc=*130Z+B)Hyj66v$DJ^u2CKfMTSVn?B$zGEx z1~02B8?`7RFawJdrSwvMi0dmL5lL!>i74yML6~?C=39=;Q`JMjbWu+3QALpEX0QNb5(&RZ~qf z$%~Ls9`?WqY2^J0(dbVH90}YiG_#{WDPYnz)Cba;GZ)hGVE@U~dN0+O1C$|kRi~tr zi&R)?R8*vf|A|@z`%hF7q!3Etr8=rKMAd&;pj!vDARZp;j|J165sA+v4{MRTWuB-> zo*GKSSxcP}bWmp7YO3|rKWhp)#OJ?aQvSvF0P+v=R%gVW3xevrR0R)yaADY62((SW zx-cfEU;>|7)r?qbX#__4sW4_^>inTYCRCu)IN7NNkTP&BcuLyL9Y{H`K=QvRlY#w{ zGEds9xvl?HSSaWz%o0|qjH*LY#C>Y!$HZ|}2w0@=EZl;hwZk<6j2xZ6I)Db6Tz^>6RbCWT2 z=RrV8@QH+KsQpAQUT1;GVKe zw!a(~lA+snOmy;i4$1vd3Emj2bQv8qcprgiHliuT6X!T_pN1p>UTdo41Q#Vjwp=ZI zp`309`8`$Ilzy&DcU#*Cyuix(89{j9OiW!HoifWEEm&!6%OK8?WKTC_+i{ct4Ji%` zw)DrY(*Oy=uV+6E=3A@s$234S@qHrBDSb1tv*FY;a{r~#R?>=CO*C2`^Cury&WTLQTr3@RI z`LDPjY16UBCzJ#+1Uwk!4khV}S2SE(i@bNIywd_y-lok+BJj$dp?Qe7)1q@ho67WN zVy^W^++c5o^qg%PX1X53(uI&pg80`vR?U$a2l46i-8Isl*nH}mZe*H{2#xG3 z5arb_>?tTGb_!a2^l9}WQ<`w|3oEo6L#`Dde0u|i0e8h-24}QVkfv&OH|JqomFW2i zWVW%-z9-`lpZur;ABamE?edV2RqKC?FE8ED%7j3dN#Q_1#B$`I(Y4 zfDsQZ%M!5$P80kEW_Cn`;I4BkOb}!>OfZeLcj*8*M)-A4c?kCwdWaasH;*IWS0LzZ zC=Jq9+#4xjWtqS}@~%agP?KEEao~KP$?qK`q1cLrFcu3`-@dG7iy5+azh8lfJmRmQ zx6q5M5x;;@-Z$57Z3RqHf0(v!g$V%z3H=>NAUtK}7TQ$zGw`#a{6oYYc)mAYZpbHr>I+gl zNBkLn&~b!GcgVRD_FyDt7#NUqLh}3i$a^*G(F%jP0m(fMTxM1Bv zPic7_GyEa8=BM&U5({A=P`2`E?FS2-Br1Q<$Un7s`~M1z{kM|&U!uT8FX=p<*&Co> zA<@@<7-!7bKU28gZ$3n7#i&MqT7%bS_K%!fXnaRtYwRPJm;mJ{!o8s&9XBQ@xNF*T z?<4nd?jxH|F#`eH)_k6=nl~B)km zgTBF9Ee7xPvxp_;$!(MgGkgZk=?I)xR3!-yp0;J}@sNF%By2(CR8RyqgpCobvqZmd zn%s34;ME9D6X2ttc+TBGpN)ur1Z2u&SI!h6;g?yfm_qS;8?X4N;n(+?a3?EF$MQv z&B|i^QSvq^8v^3md3N)Ns}3ZzT^1ZRbv?&l)ir|;pbvyXu=rGH>b|Ax^6ls+p@68`y~ zPS&v%3Pd5T%Xa(vUJwu(7vMtt#hCdn6sdEde)4>=;E27^jquKZWXRuFzQr?UC z0jrQj+u+416-DfS(OD1QS|f~E`{C_Tm5l>%3C%uMx|APf_hIR?x~^H=gu>e8_-aM6 z$Fad47XfgQ&cDYmP0t(S{UZg@cX3Jy66xPS+5MLLv9jtAJkxK^8C!cpnNY8WK#_W- z?T8FOv<2Y-s}>6q%99xUtF zhj%*uVix*R6AB%{F{AT>qtzdhXIc+Wif8%>p{Q)pTN7HSn^2Ato_51R(7^R;kIa_I zOvw({j0w}t$)diKO5B*LK{_PhHeo5aNvjkaw8Hs^1U0j9*(- zB&i(p_@$kU+gaNLE-!#?Ptv18)+zVxMj~TIQdxN6t=nOe`PO-gd9*7~=8g z6UO3BK@EL4stE(ZpH!sb9($atRZc0$u4HK_$)-i=&(hV=MgUU)YN+NQ2X#?Ke{JJj z?ft3l=d|p3Y|n5jB!(R%Eu4h`L0`em0^sT0&$_VvQd zDc~S2u^9_-G=y+eRMe%L?)+KF3~54oZy<-3nyh+~hWbxPYG6p-vs7m^g#s43N(=W+ z*w4KF&R|Dk2oC0S)CcwKU)O#hvfGe~@U~}hsqxYxSQ&Nm65A{BT7kPL0uD)5C!Q9d zgk9;W=V{U)E+NDiLd*i4(MB3?quxAdF5>gD((<#CmT(wU05md)pLuC@Ewh}JY1re) z5%ujoQk4L3$sf+uoxv++N$BxUl)%Gre%6B=FYa(+7@^?U>af2vSyh%Jv&@sC4h^-Q z5f8b3R;NgA_#@`0lkcX$~fc6YN@ioCpm%I*%UDpZhC#ZFp_h%EwdenSgQm}?kuzsYo;XcV1o!b%)TK`LovY$`Q8;A`*saYd8JlKmSWOs zkh5~z9M4gaqBglC-s|QaQ}R5y!4=!;OBpa-lt2cii)@}S9LPsS1{2a4BR*5xtM|=$ zd08;@)SHnBpO&yDq&1SzEiPwAE@5yRVF;2EC#_VH6aU4Di`}!ykC%qpInIWaTF);!Z4S<*{F7A<7 z(KlG&!GnhSO&PFH^F+p_G2R;vJWDir_w)J9 z%#ql?opDBk&d08E$#1|(L7b2#n6hARaUSrbprN*-r539G@*A)H&@sG2EI~dCE<8w` z%zx5ax?II%O)R;S&lTZTxFnw6Wj*r~`?pnZ`<$;@?jZz6J<!=4XocEAcHN zEW1v09^zEWtpVF*6l%eVk>f=9a|<&eDZWK{ktIyxHtr)ngR<1ExuD@NsX!59%xdp* z+@c`XH7GCSU$12|j6+p$-st_HoCX6>LpvI-xWzTtK$czKBJ*)8J>D1w-r}-hP-pEn zl*6XjW>jH-xCEOPc0suC3=R6Y)gG?%;RBTm{uu38d4f`$3gO{WY=PrYcmA3%pioNy zVI2(V{x1R^yN!oQWUvDNB0zNn#fynM?!=Mp1tzW_M^PGVF&4j=xgbhXN>VB#Ap&p< zdOUDcPLK|5&es$HNE+!Ti1|HBO(!gNsCH^O%fwq?A2vCXj#&}k=LBR$wBwq5Wig4N zxSzE6i&VuuvR_s}79B1m@3IIWTh;P#ThW%JbdMpzIQ4Hs))D^jNd_YPWk^X1IFOI@ zYGx4o7lG*Xxiv9oZD2d`c1zPEIm0-%DgRjft;WG$Ki681H74(7=#DCXc3Ry7#$mtfx-u zED58facnMj)9=lg{-VF14Dn3NM(c1bmyb!oz+b#&L8C+KPyk^N_d~bdUmUm$0*0lP zI!iN2Mtg_rFAhALBQFsnlcouc_#?AsPXZG(dbN;|u&ku0wI|6Wfy>~HDhMozjZf*~ zE%QJmQxxdIgjowsmtiQZ^4oYAO;f%7e1^y(DFFy9tu_>f24)6jzVW~-2DY2QI*Lq! ze-kR=&vI9J>Lj1i1^H$kZ}*V=^pi|-kH$FF-S9uu;RgIsCyMgF)!8Bd)$zb|`@NlG z{u|8n@WmzGwe)Wwdn{b&`}HXK_WvQp#&CD%o0$Fj@n0qW3WX#Ldci?JPGJ9|AeM`n ztE-j0#b5iZn$@?Qzw==9?35a|?U}>2ILRH*o>A0o%Tw6`9})o4@D0T7fja>qUtx!Q zBVs(oJniZd^X_@3x5s5@RDn4Q@k<_Jvaui>bHF@^7%e>=*ZurzsqL!~2TMv=1PiU9 zAfF%Zw~qI#13^whM(cD?PZX-7Bk#6m_2R^E+Sb1C_Bc3*0Go2&`d{VT=zs^8>XG8Z z2u*E8i7O*CND;Qn&9UdY6|yVcC|<^94rjY;X}VP#?ax0C7$10@bP|ghY>)=HP^s~7 zj!A;omCd@i-wnD++a3X5eqh!gOkG?J?nXKPRMx1)Iw?9qNJ^o^3B(>sSBQ%cbbJjg zTwTM)>7=iB3O+WP%X*nYI2H`H}L)pJ91zXk{RdP{4XkX-#NhVFgcH5;1wJoGb3_Rv4+F zMN(=z29^&i$fVw(tTzF(4a{18wl_9k0d3<6KoYJ}Z3U@NGv5A*Wvp%_%O?>~X+H-Hm6g|$Lm)u#N1Sa9NVWk1#EY9xIF+xv~U z%!OLuE?3TU31L0Kck+G?z`!9z0>rqh6C5mapq956TzE~w+43C*TXe$ZxhWJk_uk#0 zbY`wacN<~?gjAjySFl;C*BpUZYH&*ed+3+Vbr|%} z8oubb_b+7J9icC-7JOf;f-#jU%)IMiPediSb@2JvBMmTnDyJpu!}%Dj>&k{Rkd-@( zl{)z!8pbAL9!m7NuFUFFhr2HqCYijn_RYc*?VMgYYc4IaM15WFnoZ@d^Is}QeNo&d zH|2lI+Z7v(Z$WWgnQx;(PJY=TCpM!$B?4hzE50$VpT-oV1~0T69*5VrMw!mK2V`=3 z{f@2~%xdtw$R|tr^>#DTmLBeVw7(5pr|`W8XMQ<3DqxIM3XGK7lQk`V0;ZN&Bbu%r zp@pHP5=6ryXpqvs;95nldDi=s=k=ZNAh!HodM#IXK>xYD@>Kgs1q4`vss;G>r&#M> zC8)ld8LRw9hmW4?w;p6c0GadZ88}Q(IWUc4{hYvtL)e)l(t_+rK*`z++zd7S@{?VQ z3#apeiu8=MeA^dqnrT-$|IdDVHYoM|yvrq1;vb<~CL=U3{4mj28JBQLR~tq86_77T zpTnYu$c)R`8l+E9fR9QZ$BoJ(AY9WVn8!yoKBu-163X5J6gZKU>04peyw=bVEkxh8 z((uH{46si$g5s}uT#HDeGEPs-$F^)1FrGr6D1j+;jh;Hp!kGD{-@Ox?COt^;ga{Bd z+BGRVbup}rohIRGbpx=vPdPcPf)==p7y*Hu&soRs%t z_SyL3;f+wc^(#XIl^7je+mAjxM}`4#)*|mie&Uzz$q*CT=w}qk0Q8-7)T7N7X6;3D znl|;6_UuY3cyF&Nw@p_)%qZBw3M%7)XdJllI<8dbLpBB>s#`M>%_vU7xv=x}NRYM$ z7krPfNElJPI1Mr>oISqoon#8On1D*w=;aAJ&#(>EF(U?X;UqR4bEV@^mLnVd(<>ZS zJgI!KG8=RD=Lltb7k-GdF!7e*fa6S5Y&2xD{f&_^djn1NnVAeOUh|T7pAjfBnPSx_ zR_qAjLIuaejl4sX&WrVa99i)PPcAx3Qge=sYKkmNB@~m2z+0J2L+R8?hSP|csEjhu zwW|IZy1CZ9FOXMLG8b-4xF1}{n?G(2J1b4@(lSn<=u)t$8O#(5Y$^6wqN z%ErcZ)Vth{`gF~*>~n_C&h|DI2azvs?@LFS4L+2xxtHKDDxT@)S^6sfk<^M~5wpWm8+$F<55XOV1%$j`hNQH-2|v z{b+9MHJIwn6||Q_2!EZuqe7DoubRMT@!*f!vbswVYSG_SHFP}ePq`ONQ5mhO+joEj zW1g=6ar7;G#_ct=hw7r#Q@%!`;@jZDL0|5b+vHZIeyIPvrnKA!$ zWc{ncnYO&c1{Y4xPYslg!=;xEw}=k$%eAYO5=69C(by(29a|bDk~4}P#4D#hKclU> zLAcA7!MbW;_{)X2412;Bq*DVN+Vuz;CFkQ|`R|m_qh!wl-n|COH_I2HM4-RJoaEk~ zw2zcM5J`4Qke)`bn!N(whga}+!CsIkmL#v5Y4>ebYxUaTYGJTFV5Hh+Yx`P`;81mG zliL_WNqfb>4=3AE&4@7W;-h7e0-+OD$cwGpHyJ!oeq-I_hkjq#nupndLBJ?>y8;7o zc_)e|?%B0wAZUi&XdcW?l%mf-*5L6%4PE|| z=ps#>yhY)LU4|tdZicy_{KuVVqkWMTm8EXLTemkFX7icwA_*Ex!J#>;tZYM*@_cRK zl2q0gC$g9_W-QYJXkz7+)QhGqSd2AjW4t`nCdwLkSRyuW3XwLr{-K1Wtm*rcBu&2! z1n2_0Zv?_x#xW~B-<}UPQfK=sC7Ja(0L;m#^tbL6FcFo_hSFy^TF32-c_!y6Av*?0MKG}|}5H2P@ z7DCa*6*-^m6+DXb!`3KM2_Ok3(3c19R8I=+PBV3yxt17{gEhe;U?c&QzMbrAcg5x&g7AQ;;uif-cA%{JUcH{#D_r2IuNY+XUGzBY8>O50og5USU zI%4BB8$NFhnyeB;S(^{QxnL@Fhsce?6byZ-AT{^QJpZ~Tq~3dP+9|tXoBRf7iC^6j zeCy-e3TZMjYAF4^@maW|(v8;TCUky@Yj0>rg3W){>$`^n{|_sRvQow>naUrgo~sep zzW1G5^KP>`t{eD9pT7(z)tyzjQaFx+RIJQFn&;uKD}yuC=%N9+?3crIg%l}T`9?e| z>P9rQ!!j0m$Y+79S?4GX=PV-BjyaK0t<*Z7;x8?QWh~{Xb3dC3s=H{u4+J=rZAGkb zW4Z1J2DUVBmvJ!|4(8cK9}-IXJc6|oYgD5q)bF&|_Aks^UqX)ljJN;o=2B1!UTv$L zV)K+$gT4S26)8Wq6~?2R+`@E=SW>}tK0#U8tY)>Wy`-J|Q!Vmz9A(dv<8up(goiO* zvm1vAU8gG<%7$AuI12@O3wW{Hxe^~=+9bG^+k2m>fB7t%8uQIDSc=aNhccJF&r)F6 zGjIU<-fc10^{B8T1+V_RyLrb6iOL4OE5h$gr43md*AI5wm4suGoYW>TI{E+{hzg!2 z#)%+Vvrc$j+n?!Oi)pG!>L3kiwBR70-)@9Nf0vK&rc&?E+R7fP$zATU8ftPG?Xd;5 z3{P!;*ssbgyXV2cuh}Nb1y6ndtVP3;W)b#;id$y9t!m%k$L|1G@2K2!0psGVT3y*| z`{?aPTiH1(S5(RONeJEboL8fBLeUXov{Trh%2h1#lxtPPhZMi=B{~MD(ajS)^nhc} zB%v?t;j2YHjhW&{F;MfXqQcf`Tp&V5Dvs9Hs$SZ*j{Nz9%vy2ew4m`hg$&h(_vemn zRdx^=eOPk{=@P>8w=O9alM)|PeL(lnq!ee|vsoG+C?c^8EcZMNKx+TQSRhU`JZC7- zPF+R-xtx7j5+>GD%Q?yd$!cgvgxoJ%RFtf!!02hQ{PM{3M5KwGZ{$IKTCyti8fqJNcx`_Uv>+kBY|5o=`Y1ru5dSHHz z0=3(%K-y$kVP-*-ula-qw*J|Xv@&kCC9D{|Lsn|Lr$7Z9mu;KyKt+6W6)Lny-B_NsChxy#&iSXwl1c;irDh=1)FxZ59R&4aMS2$KS#wON+YBXswpv?bpVi>`S0lIPdJ&2ViQhG&vhpfi*AbvEy=_QhpI}iOV(!$miz}6a964G zs~WdchMCgm3zvmCw)N{%*)(+yyL~;aTm_|O#$G2>k|w~*m3Q!V&0%=;_Hft-Qdh(U z#e?B5fo)bVj)u|+=wJ6KWWWAvmKHY`8g2tzlL-fAcmJMq*t^*on>hnlW&UJ$)0$iM z`#d<^JEg+$61vUdi5w6dO$Ea0deIW(&G#TwICbZ_W2`Kj*Roe8)AUu@LS+%`a%f*B zqtShLc;CGNuaLi9Zvqpxk-{-txUK_rN_RvVj%BA-4&HyJo>E=@REAwgLz|gv^A)!G z*n5wi{f)Y@0EtFdTS}wJ_nrE7?YmTZlr4WWci6x~%D(1JQthGLRQa?9JpsAb?C`=D z!d+91@Lg6Jm0|W^TWFQayuw#DF1Ulc1-C54EfaO8uG%o_u=3pqc(~#YOq*bo+KodA zCo08#NGeSt4h_Zm%aIlJI;DOmmF0X^ad3+MaKk@;d_vJq3H>_iT<#%%Pn zSYc%Wyt3Rpyyq)P@{rt=(pMo0T%8JjJ2MaIeqNjeu*|f+>47xk^tBccGmtTs5pYh@ zunwyX^t|7GJxv$!Vt(BMYzRT_P)Txa#$1JWtLs*vzanYu&7Z9-d>IySFf2eqiI!Bb z8G+PAQHxjZD$SL;&~K)0lPdPBf9)vl=KiWMS$||o%P=g9xgo;VQgF$hrri=V#~A+$ z{yXWNvy@_bAvP6F=FB36ycBMhXJ5L)H}2TDY$QX@q{wnAI@5H7JBH=YQ{F znEmiCO2dNw8`kf&z#X`jl=o+cnPYIuzZpi@B&&_eFM{ZYMNWD6b_C6hODN~W#5K3< zNOUgV9Xv$Rb8a`*@7CQ5PMC+GsOl}EhjV@dcwBWqL?f?$Hyd9#{xt5Ssy~Syjv?~L zN9dN8G^U=t6Rt?^-BnGk>5+C{eHehX>7LuW?!J-J7mMz``Md+&ucx6mav1C-&J1Or zjmh`D8@;DL9EIZx7($=vxx98$-f#*E#Vp<1{SV*w52PmIaN{tZ#Bz1c==v9|Tkkx0 z0NbgU)r&b8dwFg>rfLK*+YNU5N_DV#d^MG+P_XX(J=*Dq!kh`#r=4lOyJkJ^-!MH; zR0iG0)lN{yN*oub!WrJ5c5pjyo7F5{VQP@%YC@v*vUwBxzD@mJ!!&T$@ZKT(#&=Q? z^W~!lUS0wLAAb)C8dOnV_outwt!wk$o)DiN1AAijyS?XuZF_B9o{5EF4KCJFp8)%1 z4b;>1=o9MkYTxx#od_ZW%U~DYS|5UojbT16l(nHK`xI~RI`v2X_6PhwN34Re6^m|2 z5Rf1e5D;wOhy^U%{ns!BoOuEJr@fJtEt9pQnZ=d5jU&1mhG3@`H?7??3JoI$^gt(D zUlHSHdN3}l?9 zDDW6KBV^XMoB|jI;J2GwMX-uN@dh)OTkCH_64H_27_~VXkM@^2;gS! zA`eYHllILujy#nzmzZ3xAg8VE1A8DgV3r6I1&vF_+8ws-(mU`BQ2`udAsneXaM-*A zn0|rQdmT<^Ff16z3dEZqwdB*lQ4oX*(qoLg9Y4Mm}IWqk&KQNFSYnvzxAnwQyJ<=kvr@Kfiq{+EQ(6xrf#MU{u|!J*s)e1L z%N*r*nPr~C0FLoe?Ams zi^V8xj+??wyO7e(t#SK8GD8<;s9K?ekn*@5pEcxpwGY?(yD#yiCWEkp$$~UT!5Lb3 z0BI~EQ)Bs?PKrZo1LOtQls;S%AAGbx?D1Dqa3J?Ez~+>-Y6dlWp5=>-XCX zCgksw_UNsFzx_7Gul5C@(OWYwjs*{&fLHGyl--s1KVtpA)-K`Krg%bKG=qQ!{;wT1 zxMgrKAV(s5M#>70BgQF`MZBqPnlB`6Kir#i-Fw|p{?i{M-@kg0y>b`u;;V&`D;7+by2B~`vgqrs150MF(!TQa)hW&X=gVg|?Q^QRweD8w zJLwPwm6elT&sq1zYFGHnH)==K8-e!}8`);8UHBpEV*LBbzLja8bAkoyR=P~)pDu5s&L))(-==i73-1?Hxx|-f-8WbJ>~Kg;pJm2x?s<{y!rPt-He6S2STmC| znr~jGavaNxSx@^qd^Z};Pu#~aVb9OXSL;i-=lL#Qbg{c4?xi_X%sqkLe|IH&%1*ak#w$>>aR;T8?-E<>g z^d_I#x`cTz9z2>8y5yp8!qWe8dD#~fwo5m6zGF+~>eejk5sXkiEIIRqoJ9A|PpcIE zC8kF7eXy!MHQ|bh$QubRox_DX4=d&+WS(Ju!JhP_z4x^4CEoZam-^$UPTZb$_}LWB zX>ac;&uKsBduF}x?e-;UX}vO2Z8JYjnX`M@xjog_-ZUMmUUPKYq)SHCm8HIKAF2MR zx+`}u`u*qiQ=WJP7oUE0tzE9}$;GX&<*I8QFIzsZ?%B=f^XeBCpT0Idt}gZV>h*hn zUb}65uX20#^L71p_dcJzSNq%k@0-(ynpcj%*0lQ0QGP zX5FpNzz`S8%D|6eQUedvq~emwoK*01C3+a3A1Dda-@s^LgQ6Mjcu90~(C0}J=BzA) znS(Tmg03BX;sv37dMQ*p+B6Kh3Fs3M2op}0K}|rJmO$5!K5C56A5#g{k3NQsZUlP& z8(~Cf1J>R+x&i1NU4#L;jmQRI>-M6Xh2D2Wn5EW)Y!+%y65SN^t`@=++h%B}pme;@ j^`o~35&CbmA!RYt)?t7*D=-Iva+M%MA~1WL>H+Zp(;tuv literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/MappableField.java b/src/java/com/twitter/search/common/query/MappableField.java deleted file mode 100644 index 53905472c..000000000 --- a/src/java/com/twitter/search/common/query/MappableField.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.search.common.query; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; - -/** - * The indices may map the fields declared here to fields internally without exposing their schemas - * to other services. This can be used, for example, to set boosts for URL-like fields in Earlybird - * without direct knowledge of the internal Earlybird field name - */ -public enum MappableField { - REFERRAL, - URL; - - static { - ImmutableMap.Builder builder = ImmutableMap.builder(); - for (MappableField mappableField : MappableField.values()) { - builder.put(mappableField, mappableField.toString().toLowerCase()); - } - MAPPABLE_FIELD_TO_NAME_MAP = Maps.immutableEnumMap(builder.build()); - } - - private static final ImmutableMap MAPPABLE_FIELD_TO_NAME_MAP; - - /** Returns the name of the given MappableField. */ - public static String mappableFieldName(MappableField mappableField) { - return MAPPABLE_FIELD_TO_NAME_MAP.get(mappableField); - } - - /** Returns the name of this MappableField. */ - public String getName() { - return MAPPABLE_FIELD_TO_NAME_MAP.get(this); - } -} diff --git a/src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.docx b/src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..2900c3ecb86439ef6ac8a559771524a97385a0b6 GIT binary patch literal 37316 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 KVD|9s1@Qo0ddlMf literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.java b/src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.java deleted file mode 100644 index 1f54b0671..000000000 --- a/src/java/com/twitter/search/common/query/MultiTermDisjunctionQuery.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.twitter.search.common.query; - -import java.io.IOException; -import java.util.Iterator; -import java.util.Set; - -import org.apache.lucene.index.FilteredTermsEnum; -import org.apache.lucene.index.Terms; -import org.apache.lucene.index.TermsEnum; -import org.apache.lucene.search.MultiTermQuery; -import org.apache.lucene.util.AttributeSource; -import org.apache.lucene.util.BytesRef; - - -public class MultiTermDisjunctionQuery extends MultiTermQuery { - - private final Set values; - - /** Creates a new MultiTermDisjunctionQuery instance. */ - public MultiTermDisjunctionQuery(String field, Set values) { - super(field); - this.values = values; - } - - @Override - protected TermsEnum getTermsEnum(Terms terms, AttributeSource atts) - throws IOException { - final TermsEnum termsEnum = terms.iterator(); - final Iterator it = values.iterator(); - - return new FilteredTermsEnum(termsEnum) { - @Override protected AcceptStatus accept(BytesRef term) throws IOException { - return AcceptStatus.YES; - } - - @Override public BytesRef next() throws IOException { - while (it.hasNext()) { - BytesRef termRef = it.next(); - if (termsEnum.seekExact(termRef)) { - return termRef; - } - } - - return null; - } - }; - } - - @Override - public String toString(String field) { - StringBuilder builder = new StringBuilder(); - builder.append("MultiTermDisjunctionQuery["); - for (BytesRef termVal : this.values) { - builder.append(termVal); - builder.append(","); - } - builder.setLength(builder.length() - 1); - builder.append("]"); - return builder.toString(); - } -} diff --git a/src/java/com/twitter/search/common/query/QueryCommonFieldHitsVisitor.docx b/src/java/com/twitter/search/common/query/QueryCommonFieldHitsVisitor.docx new file mode 100644 index 0000000000000000000000000000000000000000..ba53e28334028be98f5f122329ead34bb2cc4fa9 GIT binary patch literal 38376 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 LSas$H?NJ4YWLCK2m9UJh*3Wa4423V^~ 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 M0)~f1>i4bx0X3jAs{jB1 literal 0 HcmV?d00001 diff --git a/src/java/com/twitter/search/common/query/FieldWeightUtil.java b/src/java/com/twitter/search/common/query/FieldWeightUtil.java deleted file mode 100644 index dcb7d08a8..000000000 --- a/src/java/com/twitter/search/common/query/FieldWeightUtil.java +++ /dev/null @@ -1,205 +0,0 @@ -package com.twitter.search.common.query; - -import java.util.Collections; -import java.util.EnumSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.annotation.Nullable; - -import com.google.common.base.Enums; -import com.google.common.base.Function; -import com.google.common.base.Functions; -import com.google.common.base.Predicates; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.twitter.search.common.schema.base.FieldWeightDefault; -import com.twitter.search.queryparser.query.Query; -import com.twitter.search.queryparser.query.QueryParserException; -import com.twitter.search.queryparser.query.annotation.Annotation; -import com.twitter.search.queryparser.query.annotation.FieldAnnotationUtils; -import com.twitter.search.queryparser.query.annotation.FieldNameWithBoost; - -public final class FieldWeightUtil { - private static final Logger LOG = LoggerFactory.getLogger(FieldWeightUtil.class); - private FieldWeightUtil() { - } - - /** - * Combines default field weight configuration with field annotations and returns a - * field-to-weight map. - * - * @param query The query whose annotations we will look into - * @param defaultFieldWeightMap field-to-FieldWeightDefault map - * @param enabledFieldWeightMap for optimization, this is the field-to-weight map inferred from - * the field-to-FieldWeightDefault map - * @param fieldNameToTyped A function that can turn string field name to typed field - * @param The typed field - */ - public static ImmutableMap combineDefaultWithAnnotation( - Query query, - Map defaultFieldWeightMap, - Map enabledFieldWeightMap, - Function fieldNameToTyped) throws QueryParserException { - return combineDefaultWithAnnotation( - query, - defaultFieldWeightMap, - enabledFieldWeightMap, - fieldNameToTyped, - Collections.emptyMap(), - Functions.forMap(Collections.emptyMap(), "")); - } - - /** - * Combines default field weight configuration with field annotations and returns a - * field-to-weight map. Also maps generic mappable fields to field weight boosts and resolves them - * - * @param query The query whose annotations we will look into - * @param defaultFieldWeightMap field-to-FieldWeightDefault map - * @param enabledFieldWeightMap for optimization, this is the field-to-weight map inferred from - * the field-to-FieldWeightDefault map - * @param fieldNameToTyped A function that can turn a string field name to typed field - * @param mappableFieldMap mapping of mappable fields to the corresponding typed fields - * @param typedToFieldName A function that can turn a typed field into a string field name - * @param The typed field - * - * Note: As a result of discussion on SEARCH-24029, we now allow replace and remove annotations - * on a single term. See http://go/fieldweight for info on field weight annotations. - */ - public static ImmutableMap combineDefaultWithAnnotation( - Query query, - Map defaultFieldWeightMap, - Map enabledFieldWeightMap, - Function fieldNameToTyped, - Map mappableFieldMap, - Function typedToFieldName) throws QueryParserException { - List fieldAnnotations = query.getAllAnnotationsOf(Annotation.Type.FIELD); - List mappableFieldAnnotations = - query.getAllAnnotationsOf(Annotation.Type.MAPPABLE_FIELD); - - if (fieldAnnotations.isEmpty() && mappableFieldAnnotations.isEmpty()) { - return ImmutableMap.copyOf(enabledFieldWeightMap); - } - - // Convert mapped fields to field annotations - Iterable fieldAnnotationsForMappedFields = - FluentIterable.from(mappableFieldAnnotations) - .transform(FieldWeightUtil.fieldAnnotationForMappableField(mappableFieldMap, - typedToFieldName)) - .filter(Predicates.notNull()); - - Iterable annotations = - Iterables.concat(fieldAnnotationsForMappedFields, fieldAnnotations); - - // Sanitize the field annotations first, remove the ones we don't know - // for REPLACE and REMOVE. - List sanitizedFields = Lists.newArrayList(); - Set seenModifierTypes = - EnumSet.noneOf(FieldNameWithBoost.FieldModifier.class); - - for (Annotation annotation : annotations) { - FieldNameWithBoost fieldNameWithBoost = (FieldNameWithBoost) annotation.getValue(); - T typedField = fieldNameToTyped.apply(fieldNameWithBoost.getFieldName()); - FieldNameWithBoost.FieldModifier modifier = fieldNameWithBoost.getFieldModifier(); - if (defaultFieldWeightMap.containsKey(typedField)) { - seenModifierTypes.add(modifier); - sanitizedFields.add(fieldNameWithBoost); - } - } - - // Even if there is no mapping for a mapped annotation, if a query is replaced by an unknown - // mapping, it should not map to other fields, so we need to detect a REPLACE annotation - if (seenModifierTypes.isEmpty() - && FieldAnnotationUtils.hasReplaceAnnotation(mappableFieldAnnotations)) { - seenModifierTypes.add(FieldNameWithBoost.FieldModifier.REPLACE); - } - - boolean onlyHasReplace = seenModifierTypes.size() == 1 - && seenModifierTypes.contains(FieldNameWithBoost.FieldModifier.REPLACE); - - // If we only have replace, start with an empty map, otherwise, start with all enabled fields. - Map actualMap = onlyHasReplace - ? Maps.newLinkedHashMap() - : Maps.newLinkedHashMap(enabledFieldWeightMap); - - // Go over all field annotations and apply them. - for (FieldNameWithBoost fieldAnnotation : sanitizedFields) { - T typedField = fieldNameToTyped.apply(fieldAnnotation.getFieldName()); - FieldNameWithBoost.FieldModifier modifier = fieldAnnotation.getFieldModifier(); - switch (modifier) { - case REMOVE: - actualMap.remove(typedField); - break; - - case ADD: - case REPLACE: - if (fieldAnnotation.getBoost().isPresent()) { - actualMap.put(typedField, fieldAnnotation.getBoost().get()); - } else { - // When annotation does not specify weight, use default weight - actualMap.put( - typedField, - defaultFieldWeightMap.get(typedField).getWeight()); - } - break; - default: - throw new QueryParserException("Unknown field annotation type: " + fieldAnnotation); - } - } - - return ImmutableMap.copyOf(actualMap); - } - - public static ImmutableMap combineDefaultWithAnnotation( - Query query, - Map defaultFieldWeightMap, - Map enabledFieldWeightMap) throws QueryParserException { - - return combineDefaultWithAnnotation( - query, defaultFieldWeightMap, enabledFieldWeightMap, Functions.identity()); - } - - /** - * Create an annotation of the FIELD type from annotations of the MAPPED_FIELD type - * @param mappableFieldMap mapping of mappable fields to the corresponding typed fields - * @param typedToFieldName A function that can turn a typed field into a string field name - * @param The typed field - * @return an Annotation with the same modifier and boost for a FIELD as the incoming MAPPED_FIELD - * annotation - */ - private static Function fieldAnnotationForMappableField( - final Map mappableFieldMap, - final Function typedToFieldName) { - return new Function() { - @Nullable - @Override - public Annotation apply(Annotation mappableAnnotation) { - FieldNameWithBoost fieldNameWithBoost = (FieldNameWithBoost) mappableAnnotation.getValue(); - MappableField mappedField = - Enums.getIfPresent( - MappableField.class, - fieldNameWithBoost.getFieldName().toUpperCase()).orNull(); - T typedFieldName = mappableFieldMap.get(mappedField); - Annotation fieldAnnotation = null; - if (typedFieldName != null) { - String fieldName = typedToFieldName.apply(typedFieldName); - FieldNameWithBoost mappedFieldBoost = - new FieldNameWithBoost( - fieldName, - fieldNameWithBoost.getBoost(), - fieldNameWithBoost.getFieldModifier()); - fieldAnnotation = Annotation.Type.FIELD.newInstance(mappedFieldBoost); - } - return fieldAnnotation; - } - }; - } -} diff --git a/src/java/com/twitter/search/common/query/FilteredQuery.docx b/src/java/com/twitter/search/common/query/FilteredQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..94d0f2c987b3880b77970f5bdefdd458e6df95cd GIT binary patch literal 39016 zcmagEV|Zj+*Df5}?%1~Nq?3+qt7F@CI<{@wHaoUD?$|!ndp~^NbH4A-s;lN&@8gjY9wdp#oa9L~L!GOl+L=l-=!29Chg3tgV`o zWaQQbkwPxt(UTeY2|Yy+(aZPjDD7zDutjS!?m0D97|x|Zo*yTS7 zO8hM1Czk!bLQk%mWtjof?$4PTu79N>9-`kEKj>KJGDXwiV5VYUzus4b;5H0vi}drC zbuYc^gc{2!M15J*os#Ajibe3Rb6d+G^4j@h&}_9&8=l;=byb@0othdk%HHOuffCpr zk0J<}XT1Sb6b(c=i4f_`ojK!9Q1s;MtD6m0AIs;g7dF_lz8hZK5$+S z$TyOvO{UU%Pr@ri?uj#a^?ZRXsrVww-}km$vUwmd{z#nviYB8AB>!JkbSIY*d;(N& z3j_!V7VxR(U}ELSK>z1j6+iV2lnKf2l3#3;ti+~SMYM2LSM*q>kiR!|@}k(rN1}MG zyGub-M;)UN|LAhx$aE>A0B41!*eX!XP-8J5Z@Eu>o9eo;LvI5r8M@P-$W3`KNW&^U z@}2}i(1iSv-Bgv3pJoenNQ z&1tb;{&#}HLSU850k8QSAVJ801R2{J$vfEEIWid8I+*-<$+O}oWCs|L#2&rG7GzYz zZ;_zHB&mTN9AeXfi;{#I_z43xnNgo%IzI*X)$51H^Z+x)waJF-7xw3;Az4K{r)vqZQvuf!3Wt#VC2#J$v{Eo24{AfpWy^N3 zsBUCoVQ+)Zk<3rP$+(rJ7WKV(f|DY}z$bGv4`IZW&ny%=EAjE}+MFpPQ4+00C=*Pw zUE(Kg_f-CIgYW0pk1s2@G*2AYU|6SS2)b1Bt|A|A{Wm!OU6;G{b<8tBU97->fRO&P zE(UgXf0adf!e*Tjsq>WvOvfq098yRDD?VUJXij7kyEZ~|IPiRb)LdHYS6rkaS6!}X~nVn?uY@G^AOA!HqUy_xZ< zMF=`*r!+PB>Tyrv2E)l~d`LS-Ihq-#H3Y$}M$h67Sv#-UHxogz-!64egI7uNO)Fce z3XF0Q6`=1m-z(fpXZYB@?%$tkBqzZmh=Ulsvw%&wSC~_-hKXa!5aKZDcU?_>2eW|n zbh@uMK0(ekv)01oohK1I!>6^onTLBCg!zSORJbGPGkY&?SCMr=xekOG(RkKCs8nC3 z7IqVT9^0cXG?L532Kp{S88!BkB+0_Sw(kx(N8NwJKDPCtp^PUMLFxek?1e{oc4>tM_P z_|-aF0|uu*Z^pTfmg_n@iqE#5|1nWAYFhkxWd?U#M;Sxe%<73 zfr%jjQuq~wzsyrcnBXN{C&d;vPpuy&Rmt5X3WF{lm^udQ57MQcy{d{hY1vymx>9Q8 zG**XMiL;R*D2(V8EA`djb`k93%y4E+L(uVNgUT&8mtHfx+SFs4mK(u*HNJ zX|KW72Nf@;J_CFh1Trl2Xxt+yoVmQ5{9K(dlEnqRd_*!FIW*~DC8Bhis@4%iM*~4< zr;y-6vT=>@0^f9*QcBy!uWwohC_Uo3(g*HNo1+Jp%1lMuPjkqZ0p@z`yOxi zz#wa0d|4sdtfYx2r+7akNV?v|kL?;;1y{WveghXS7~NKbUF%a$fyIex$1mY~gly%) zDFGMI?=kg{!udf_gRI1u=YN&BGZ&o=qYh8(ZBOlm&PNdo&_xM>SeEE>cic`F<=AZ9 zN9_nH<7p9OE7gvNvQGx0j3JI;re6%c2hsk;L zOOSor($6i;1@agRgm}{ z4^)fDn7JC6rqCz3L6oG|O{UXWEJbN7qvj}!l7`R>$g(KbT;@MCBdETEN(Hlf@}UhN zpC~av%5^XU za$O{h%7Yvnb_Sv(A(XU8f9Ris*4XQF&VB>1JT_Zl&%iIMaP|6-nI-|2ray3i5eW&) zg`{Jl30%Kn4k2A}$%9R-pXlE}0sS^^K9LUA`>4yv+`C1{p>O8BF2!m-?Oc+Z#S#r-d z4Lh@H=QkGlhA=l5y#W`}%N*NU3A<)7_<)MdEm`YCWMIUM4BahRA7e@{ZjLaSNEHT( zDP@>iad0CUe<70CqQNimJ**#03OZ=MKYmmi_INJg7|8JP<46wWS5uf+ag?(?LCjay z#uA2lSH5B3g|f~Q#3S1Vcj zNy=CtXunjeziLrwX1f<9x+(kDGGDvQO z{Hl3vdY?+LhK1AH;gR3g%ZL*|1It)wJe5j3N%Fu-``sCcmqd$Gq6#q{sW$g}H-9y* zVYUF#f*^7=G40KvjY5OAr8Bg>{8%KPy5rnDPUQ8qE3^*|1|ds>iy?ovfWY1W(~X|RNMBAnm5LC&e&5yO4_xzS>ak1wdFm;zh9+CzkAyHo6h4T ztMTcbJ_PB)*QODy06WqC$Vct2nS?^V{SfCKTqg;d_BI>?m2jUpI<3sW-}}Gfp@c|s zsJ@=)iluwcKFFzd#4}F>f9?4Lo1N z+o}CAyAA_O$$)Wo*5W1sJTG)7BZQ4f|FdV8*!Lsc<}nJQU&3+P-u5wdc@8JSXS=O| zA`@O=v`EwH&=i@rsp!(mdsY4Jz#YNT&%tHjoSmy=x4m-KfGv>e2rfiLZJmEPa`>=> zMI;Y4Qz_OR0*bEDv>2S)VTRAXF1=PAJKOgwDn>;V7hWSa5Oy?zNdDF?jS(cvVw_pdQ~h8BHG80C*|VM5 z*~D-YgW6a62KsW6mUUz2U+r(aLJhg6rEcFz)4A_BEyyZ(KP@}&A(b}wcji@pPnN6~ z!>|Tc_PtC}{hGL6wS`xWnLo|xkfxbzTIhSOLtIM96d#IId~xCWuIoKH-jm0~%1~da^gkhi0M!YkNonsO(`&ukL28-7YW?DqmF;xO z@-jd6)o%Y}JAkd?X^*8F%{E=Wt!A5kY5OT1-DE+ffn}23Pg%hnPD&=2M@x@AeG&HH zTho!!&?n^LbLCp64oz}OK4W%bxg%Ox_U0)QT8Y$AcCu-*IwPZI_Oq!B8;GymnvLOL zm4yxEFdn@ozOuw%?BqFog(N+Y))GPdJ>}oP?2D_wD}QRZm~S zZsQeg@QT#+4by%4n7lcVEabxV49 zqhQg`Xw}_uxmE``lhm3Aq{m+AbE!*-cKF9+{|~1&9nE%x&F($wZh{Ap)0G%NxzZ5q;O{s*nDt+|is zAM0PM_GTgT5FcDTc-CKs`jlG7a5sJG8rqCLd{eC4Ui3J5E?U@Insx8)l1NrQj-*yD z)?l{`Hh=7W!S$_s4m6j}(65J;N0*~`g$}1N`)X=fw*6u-!Ajs*P2Dk|ou;#_Gl~lR zH4FHT?T``cl`aTtlilPOs0vZ;#?}cJxQ2DA%qzi?6UArE($@BWPtk4sa8Q^5Yqtr& z+6@=5cKd6J{`bzqe@@i@-i1gMk_%+S3c37%=?_joE4GRJ@;jfrgIc_%$SYWUE&f5| zU|Va`m{w%ZfB%u)JBPx0e(FJKX^RJortw<gM^BZWfdVb zcWobg*9xz&%-nfh()Y@vZ;3K*Fm-KYgY__^O?ftgZRpj}g~#Gb@gembnjjjYbMdJL zp*h)39v#HjQ`N0EU6qzQ0-NcMeLJ!Zssa7TV09~t`Z^?RWcquTN3-`&#<;%kkh(CY zjf=P<#RvXxGTPB7dSI%LnVqsrsvhcZ zNO7*+&DDT$JqP||`0rdtS77i&G5`VTs(=F_{xjE(PVQDFj(;zPbQ1Q&>%Dt=@(c9d zep$x`0gX)C0L8oD8hCbP*Ily6u+0CSoyGkA<6O^|j7X3`MNvidTX}pvPk%OsJk^0( zR)Vt0`+JUWr`4s89zjgT`^6^5Ko5L(o7Sc3Ysu8bZHKMTJC+yE^WlY?=0$e$`n%2h zMTWrgi0#MokI(1V<;$27ftIsyDJgj@P64llzX)(EU^Q_j=wB>(BPBU(bI!gC2v6~yt8D=`XskWC#eMO8 z_(^@qeTP0_A3El*FV0*i_AMHovA)4Wx~&Eob>*DLWV~J_-QT#S<8e&fMfy0{B_rce}4`2#5;*@C|18=-%k=XsMh?8e;Ob?%43|*4Dc0e!mxaF;z^#AF$uv zWI){ZNfjgTlE^+M`W&oz?lJ7EnOG!GZg_Lj4D~@yC&PB?fbP25!tO{B@Nth+?(pI{ zMI?OLxB2dr zuKiZ)v)Z}M%U9)kc@dhzagog-clPP6d+Ebhony27i8|Pw9M!tkb1r+d{=;_f>DOnS zW{-F_PItSOIQuizOE0^}BNG|L$J6?u3&#;GSK0N@XGa(=`GcXPyDmckRu7IUO!^*F zed_)euFK~e88DzC74A7_{DyODGAAqp5><>&B#d1asc9g?IR z%2v?>3K)EOKvN%$fI_V;;M*bX`=G^_Po1Ypi4{nG8`*Vd6A*0b;&#&W?e|VzS^0~iojTP^Gq30KFLsai?<0~Aw*u#v{Fw^kO*)GUR|AK)wKgnYWZGfv~Hy2Tx?aR|Ly)87(Q17GSesmNXHyUie}+EQgFQ$_)>g4K0S%X=Ais%8Z3$Lpqf7f2}=bxwk)l}#x(m3tX(T%E`%`K|ANZ5_9>g;{_ z4D74nt4Xlbk<|MQM$A8jA~CkKwb`wE+qVr>YsK0TS5$rB(7t1JWWwr$Hj0m4EBWnm zX!G^nxlPAr$W!QTV0qFd@B50|t=7}cl7w@0b1 zBw%z{)RRoLee`X{4J$lQD-Sp%ZET&MyRG#M#w0)HCjPu3=j?HERr)@SFoqF!R^I3a z3N}Kmg0Wksx0Dg^{xNt}EO#`)yyb)+-YGerq4;egW9KctoCBOnWa&~ylAD0JVcy+R zC`syk$v0CJMUAw0Vb!?aea~2L>1;Vi_!$wKu6rOY@hyLd(!SDeQa#EwG%San(yE&8nHs zfwl-q<^(kPK--98btg?5oSFl&_Sj*2eDuk;=DccS=Yb@&tifIG@W2z&7{7!KiHv4` zqq9?%j9cIJt6b#eK=D+3*3%G3t`|4?VJX@Xgz0T@sGU4}za0+xWm|3O9{Y}64ifLT zV$x;SOEIHr%xI>r?;G$84$)V{W=QXcUB_srdxs(f9133xxI$oMTIpH)obn_&w7*yW zfTgml1`c$DNAfZszb~RHW{~OFl|uFQf@Z=q;LIBY=`S%knr!@)9g;ZX*H%=XI{lGwfG1? zjx%R(C$W9t*IEU|Gh>QHJ;bm&{n&6J zmXNf^Dbrz@RewE4T8NLn;BCv?NyA`krQv-d7j--DP2jLCm)20Dqg9#k_~mX59{ebE zL#7)dP?meIN95ZUc>mHOGA&?x*Wae#uvk#6^T3Qdelxymbu80)6W=>KPOGi-wnp%_EaaajbXhJk!GwH1eY`B;Vpd8aW-@a2thlk(su-{pz{o0-mVf8w zTq&aJaT4*5b|0YNQs&0K6(C$H!uB&a+sp5nwe(v!Ap;X?I2*1}40@qg zTL!D3C3|?N!}PxMDu;t2x$$%G*eJwCJ%&%&dwS$`-D|T_N{$sqOvY@McI07eA%Dtqldzh zG%??*IECx?N?}zieJzs<&o>m;+a#JDJM=q>IaVb#9keaRnBvJs@LEVe#5p8cWWP;u z3Nh~&!kSu{HKY~tl@vW>60bV0fqPoC?ncVQVvM;zx>r=kpUKA$s;jdauE{wc?Nn8g zwC*3CVrgK({OBbzLL5b^hy2xSb?LOi(#$}XazGr_S4|58Q$Y@^dndHXE}m3 zAC_sKX^~AncbX|~eLqiOK#zj6DF(Cc@&;J^WnE?Z*N{<_jxqgs+S}6fTcIfGOCxPQ zbPo|43hgpFp!Bx+Dqq%-92;Bt#RT}dd8Wztb);M-)&{I72!yXJDfek@lT{b0Uf$?D z4m32<=!K=_Ke|>S70MLk>>r8;lw0gg*w#iZjLX0~4{o+2r3P*~VSY|cYH*L*d`%%F zx^HBlVkbx|whtHNh|EyTrT`clIC!MSqJ#g%Z8Qm3>D=$W z={RkCDFCrXQ2c(|JjHsF0sK-)Ic?(m^3xvlZg+~laqy*UZNxXw`z}z%eopt^?qRiiz#)_@1E(DjuOO-p6Zt` zy8A3XUpaX{@vxBjcR4MGT3YvTw#gvam>6w}U!LvWXG^Ab-C&|UXPky$Po^J!f;^E` zuqJM-tb(hKC8<%(83cK1W%;|H)V7^Oah_EaGrB}JkinqkB0)#Q2S)SzBibm-#WT#>)s&YR+(b{#)j z+!J=EW|0+G9<4>fD(c?HqPr7MV$$5Bt4$6?ePP7rkUi=C&q zPx8S+Zw{wC0BsJ(vV#iZ!lw5=q{O~+vo4&p7M4eHMq&M88MEX zejK?|*C6#!U2!JRU1^}Q+S`xf(sqVs)ejh52GkPBUFb6_ruiHX{_E)lEebo*BP=c; z?Mc75{kF(Km(w&lA;BrG#topmPB=$k-9XoH83-e1aWnwfOgn?Ho#6ro0jLy?O*O~x zDnb#*)}$d@;^g@po}Bi@jsP70BZOQIGkz^v?XAE7RJViLpe?7&eL#+Eot2wtg>8*B zgl!M~P$zQ0SHZQ1xEhv^;gtX|Q|KbL)#1leEt^ArN}e4DMF_bq`n=9~vc=B3(47wI z!nWMg*C1Pd>?5$F#CPJ!WOt@;oY1`6*EcxSw~nSce^OL9hjX+uB0;dRPavkRc>ulq zA`)vWPz?*!58vVok_^* zvpe+rZx4~P9jkDoXJx@MmOw>~}UlL2o=P z-si;@G8!zJoyBq#7{EK_dr?n|xI__C$}#Wb&tt7h0zBNiqJNfRZmopL*I4+XbYgvjsvYrNW1Q9P(tSyUO z7R%Q<^DS7E2bOY}Em~D1@)zjBxaIj#EJ!(q;nS;ve3mYD@9h*=Wk`IG|-v8M0rr{1cPMDGfWYAv?_O%rdWj<^O!HZ)(jkm2fFO1 z@=4)&-?{>kP>SHO#={M{b*TRGSw~7QE>(66su< zwU;z8pCuUqk*YzPmm(&JAf)6iomUT**CMKxUuT^!baMVYu45myAa*BnB zhM)|#aP{%Z^u-**YYhW<%q6}#foin1`!c$k#0)V;T5qutN}_v?dU1Z`=#&N|e#U&y z(HRZcJruPV;A#N63`)J03s08x-)sgE|AURo`TvuRa@5VA0tR4@fP@H*B1Gn$foG#90Z|!k|Ci!1M)(O-=djx{5M-yw?c!nl zfZ*@(O6jb&qrWn_WJ~(AA=?(Z%V=?V_Mo+>zFZL%6`>$dH>NP3G~mqcB{(u$N^`dB$^OJz1i6recw={A zHm){WMZ)BOQN`igRsBA`N)*dIKM8+nJR~l^F;HTNLDgU2$a*I*dU>N(6wGGG9uI6KFK`q%=mIvfZEtKpBD^{IP(XS^7o0zO&l(nL7)0oPuW=8cwlGDJvJ zxe3!i4uoHGfCqbH>{2j9X^UxSLx>x)Mk{M#)3}xyJ@-sVZMN(zsP8cy=-5P}tq1Eqh=+csB%KEdfp@GDKqzMx`04YI{1C&w#KYr{E!Z<7U*frt`?L z=HY2}nalrBc_{uzr4m6SK;;1BAC+Lhb*Y9UZ6{ughsGk9)-e7Oz|OCrqyCMbpke-a zMuc=>>e6cJaAKxBaT=IVqxTP!F5c(=MqFp@ECVZ6TeqlEmp-WWc{24W=_w5M)SNqb z@DIf+%FgbsSJ2n!CHXnKla7|SLCPU?#0=lmFx4SB%%pf(4lUraa@SVMozab@>^53i zR@zNn=}0aTv(#)g)F`EfM&qoV;FEquK4&YbD$#=iJnMY-#R(yQ{rzGISzD3&x|rok zSk_*zCcr=C^naD-&H*!@UgkVTx|^%(2=1BrG$! za0YNsQUlwN{pHlmmgH}Trb98QDd(+ziA%GdmJzXP5*%<;6u(_~u1-7c`m#}3q9 z_OJHjcw=^^v}N8LPKxB~a7S!2<~ujCX^lvWzm%|#5>A)pTqJRs9Wdb}zcAtaTVWpF zA)d2fChFAR3SIuU!kf(7(5blXN_G#0JfZW_FAif4rP`1;gLyycM(3*wzpxy*D-VhE zA@r3mDMM;l8NP|sZfC{BZR7nJp^u-pH+yJ5I|Mp&f)%hNwL_82T{dXv8D7Skj_;3- zqbKF6V@ehdo)66nqD(F885m1SR(07ta3Q9he%D=pq+qN?UK!3d5Tpo27NkQw7|#%{$a7f9q?jn zQCa*0$e{Nz5R$y>uwFSDiwp3Hxm)Gfw7UV~;nbNYa(cmtoOlKF$hYc1Hl>Y_e$%cdzta<8W~3TL8^ApPMz3z z*JdD|-Kb=yc2KZuzYpclEW7ASi{}E|Kgb`PM*-wYkbjZ4FtMUW(*Hlm=kz6ao?}wB zHyr*!-mfqDtf=+`qt>E;_OsvVC*-kGTO31|p6+&+e;eOZBTG9>7T#z3@%Xp=`={l- z)UIN%lEPP7b%cnMXxqBPVege(A?h_Q)%gNnnXas=(`(n}!&q9g@~wFwO@;F&X*oP+ z*MW7lrY=Oi`t(`0`@(ju`+`VwG8X8x|?yHcvO+K$V#fD~4W~ zR-WRJoi8jYk7@7RWvzPWmr0**d_fmwg%_P4_cYNs?WzwecJ?cVX6=Z}d0jir1qI=I zzaTS3l1X6ext=YPO(*~IC_2xYZw}JTqH-HO&w5f;UO;clEo0ebn{~ljPrO~~)*f-IuF0iVg-wEZp~ckRoS z|MaN&SUfiLA7Hnh^TvOfJYlW6?;dWSZ(RGQNhz(WUefavp-s<@gaO(yI9q64{ zQX`rKy1J$Wedr?1VT;EQ*7$?*ZRNLZJp+elHy?{x1uhVgK8-n~d96t+8}Ic zOL+)ptMygA8}Jsyk1JuK-$xIIOuN6A8q*9A`(Tl%kUD|lKzm`4mn@S&3U;Zmb@rZ*Bo4t|`A7$0M#ww`j9E?RK_jsI z7OMIHQWUhd0CphMAp}e_+<@sNP#8vGPoZ_?&tT>ZI)QGn`eCIRG9Yh>%$i6i{w*$A z=#Mz8pex~P%h55z9j@QC1WW_?jXuDH;D0WV^?(aRvkx$>gv)zCV{Z2jc+vS7-Y_iV z52DUqT{OlUasF2=hUAo{b|2td)x|3i*H8}(hF;fFR9(so*NkaMBiWS>K=RJZ0m(au zf*kd?Y6bi6=tQ3!szCSr=C+?+%{p4umTnid49x4ew^b5DG@hQa-u++E^dn#e#n9tFRcFb^8*F zjcmIvjOOW3H3^MSN@7BNWelt0YFXW4~ME zzxIcR##YFrtRJ6HsR0CvrvO?^1o5;k*-#X=uI_k7%kt5# zTCc=>aE@u%? zNd&>i{7rcOHx#Ijc5K6lxq=#letz?JGVkAhnB6X1*x9`0ea%a{Tx0YS+to{4~VtQdw>cb~!GAD^S$=3*AXteTNE0!TFM$YdoARqeyJ@7$nr6ZY!cuvhTu~|0+gk6cJfkgBRY@Q=HpD4ud-b;B_{PI!B&ZFxHbAL zr$+$Th2GJW8zF|xFRLi0+631rmg6m#EnJLa|D{pI;+9y~6d)Fck5G9Gowa0Ck+UR1 z#{UgTdGE|Eye5go-bv`?5Rwo58L9YgV+?f_E0;N^d&_n_aT({RL^!7`nEwv9v<6eY z3~_Nq`8SL6i-I%Blq?I$wnf&IYt2UJ>AnSc&yC2M)xF4C>CRWG02m)UhNmV6v~+s6 z?YG>L0D}I)Y#uvG98l$}`Q=xcv>T88H{~mqrk&7i(EEE3>Zd&H3>cqcS%Go9)I09M zc&`d)_U*0!g7O~~=x@{y7v(uqlHda0kd?2_Jo;*)Q5l{4UjGPwLn6Q5;Bo{A4*0j= zfSfXLfxiX!{SkciM{qUHnX?Piv+9{uwz`f8E_fBX|z zzTL?<26Ji{2>tEu-bbmpbBj{|{Y{$gDep+oyUP#8r*ya&Ks5iO9LLPY=`f_|rbC6c-jc)j4f@-|WwkTd+xV*X!q<5KW!IIKZAzJ~zF zZ?3I#*AAef%-{mH?oT&>qcGIU&-s`aduo2cUDvs3{kqIJG&8^8mmql5cfJe?a6$4D zFjr}h2?c5|N19OChozxrglGqt##S*3mWZn8z+lNCmTKic-Zdf4Oq8%e&~ca1TvWCz&sAA}dS+i>%|gN)%Q zn$+#J*EXTV#b{vjuW)g zdi`*Wh->>Tt;=t}bzIqRe`o*;#tzpD3AFE;zt4VmtMVTTv;yY_@f<czfJP##;$iJ@H^|feraxl+2Yrc=8Sf4_!2IEEt8GUl zaL3^g>;DX=0v*|ZdcVU!#3lCw!S3nwadihpi`0vigjMH-l!#AE5+|k0vn#r|Z0m|2 zQz~MYN-lEU%0(}y{#vyoBvtHjm0C0_*G?p*ls1TlHJ~7=!p{=h&zdSLH&B$2CoK@*RJpMN4#cXEFYAh3GUC+#r8g2Gl zY^73*OqG0QJmTHjy%KKgFj@TzGtI<(^|-VkLSoXv%e*N>lSUb)wK@zd$9Y42@R2*qwHBS3$thg%3QFpT{!W&Ecpo7P7VsPWj6PT{dQjgeF+0Fz z-|?jWpIJat+3)z!X(lWUaXGkR9=KtR6~~liHatkh`;@+4|D<9BP+>*=p<;|2GTf<~ z;V=T&WKMNwB=E2@9Bo&5(Ur_jLgx{=RsYf{#9GH}teSlGlAPwJO-VE1>@p3NdRhFrW!J^q zO|ra2BODr4xh-Y3Ggc2y{Tn|!)EA$Ay*hS3+Dv_9mLWKait`YQEhY?0o{Q^xjQ^C7eokLCpQ2+&UsgR z@l-Q7?Gm#2scH!t{hLcpNgjyT8JAG7u3#`mGwLHe^~&^MM%`KQBnHL5RKOzsts=Ph z7EiW9LABb#xhmjDjtgEpttA2h{lj^M_nJufjT-ICN)X(5`p<=Bz5^nL@{CwflS?G1 z*hCqdJsOmKg1!z2E8&!ky#o-j8H(y2qR^{?!-X-=1u*8R1B&c5Po?AA((lm(DQ$2zAOM9?@$?4_tUrPi1hhq#9^+oVuR42 zs1_p75+7iiLeWkIWHki}|MGz*?$3hP;99`wsf`tlhV7=_NdjsqfTuGPxPcxgJSINM zs_17ML|P~)ktbW2+pJQ`2Z%#1c_I4Sfj%O|bmDsxmLp5VoCF{fLs}*Bui;%D`1F-w zXx|=$isL}M2uO**g<+hD!JD##&jE2iHs=8jJ}0q>z_(p6nephO#9`ohY4`k7oO6iF zj{H+N3hkbkuL(X8|NGp&zI(tt7aI_eV+{ll_J5z-S2K6|E@o|`LKu?g>K6p&%viT&%ehbR7uiUpnY>iE-d)GdHh{DL`tD5F0lMuX0M zQmF*L#I~_Gjv$0RefWO3xp%*Mw{2FjpFM8FeX>6t+O+ws@K!J7Z2R6`>h0T7Y;T-D zMBeZ3xi{!`e;&>pTx5JcUw*!PoVj+q=gdrO>fF5EUv$*eAYNYPJOGaNZ*{Hn@zUvG zbo6vp;x}h(9?pN*B4(txX2|8JB2KvKajcKHPU~}WzV$4h9~!i+lMNq6-d{#;zL&M7 z!0TBuM26meIzt3X-aJ}(o9{owu-8mDJKW5hzSgf$_}U0i^sM-}d%m-q-#XXnd2934 zJopw{Kc|@b`1*b}>-hd3!rlSAl5Oo4j@5C;wrzFLvDtCQwrzK8+qP}n>Dac@!Cl$= zoO93q{(JBLtS7aeRLvUi7-Lq=HEUMQdY#R7SI0c_yPoM z{Q!TS$g-h@x3={Ab?uQKUG$loo7|HV zCC`<2d$)RT&mMLy?+=^!wT~&BcZ`hB?_M=;4}E99dmk^E)@@#hm*ju>swi)EpuJc< zwz{a|S{YoMc1bNZ8ayeMO_iarOfK_%Tvs(YjH6lqk$$Jss&kHEPr;*vJ=tz~93gtx zZbm0Xr{R06cYUh$c&(O|Y474wm4$!*Go;;EHo>O0wz(-=ROFAJNMDAp92GTo|L4#4 zbMO7!iS6@8X5y*$Wn$FQ?guvh!AHqJ@WiT{w@0=lr&04MezE}H~ zvco&_w(uH3Z0oX9T3iGaDSY_%kGl2kmb_7^Z?x#gm7eV74Q!#< z1@F%t03H?W_~ZCIq*WS|#qNwBiBs&=4ehpHv~XDT_Omw_-<9Tt6tu^1uV}$a+d5}2 zrs%3Tn8ppxPaOQcI%~YUGK=AXX>$1%pJj2E2TPcKt*Bz4LblbkkGwB~yFT z1KN5lJdz&M$DhWPr8tA&@2yX^9om)7W8A!Pbl~n2=lLN1vegAJs>I70;N?gbwIGWq z&Kh2lLaUWN0)B5Q-B>*$G&&JBq6b@^O59Arl%=>SeJJOV^!$kifSQqZcz zYakruNLIiTPii2GA&ow6lKmP$!2-RsK7Cl*Xx+LIHea@`MoSuj;1!hs8z_GRHV~Wx zHbet9REso&+x!OtXA!Ci=q(kyi*)C+(7*ToEaWm_35-)%{E1Tk3I7+$e;4>~l>aje z4Av%ao8;WzARJONR=_wArcFTb{s90m)_-vQ7p31IC$vb`fMU>qV&?xU)@^O|Ws5<$ z;S*;agadZ=6X(AR{Fmlxk$UiX4WbP|F=RloPigSxc4gu(@DH~)k$(dB3HLR~UaQ38 z+JU@0=Dlh8Xq(3FL5EIhQIw~qsB{u{;O=zlp6!Mn#eFpVa2VaoqNd6wwhM~+tYO2= zH+4P^UoV39_cKO&AHRlUi}SgRd2KjxIK5nOwRn6Sn$Mn?Kd@E|?XrISaN%X_d2i+J)wE_p(+)S}Hc+wUf+Ky>11aV8-mt~vjkBf8 zIZ&UkVsY%}!`6M@NYt2Yn&qtL#-7jQoO65<>xIqzfn}DL(DU5oR1$Z~+V>0M(Y2+D z%_Ps&)+gD4ri$Z{S!)e@!1e2DD&C~`YHFnZMU?BsHU8||)+#vyeT!7!WMzqYz7e`;iJKY|oc@Me z`Eh~3yv0)*bSp-jF6tRvXUv;!U+uud&Ko+1bLN6G2eMEFQCfvm?6v93#e`qHW^P_a zfT!Z`QjXNW+v&f2i5Su$@KOb}<2f6l0`<`HC_(wm!#&TN$UFb3Wd~?6lXnU9JpQZP}jA-8i22nqfFc zyA_Y;*Viav-n4zMTlKfO-O<|DdOj^S9H~;e*XET=c6uCID+KF@d6tyOAJ?6-LoQn_ zUhdD$Yngg61-5;HR*A7SJY-fmcp@nkdxsO8hsrAznNzou=ndenWM58n>t#9RI>zvu zIOUj6tGjn@t{Nq697B-MMH$d<44ftr4nt0V>ax?EHI5gQ+PUM}Sy!-Tm`_?6I6^5R zGRu53!m%6Y_%*Yy>)oXbjniB<*rQvQH>V0Fum5PWC*v+R+Q(Le zTW$u_3nv8Rg{j&v*JIh$0t+`xDV;EEQQmmSv&?Oj-`vMlrZxpvI327ycrki!e;anv z8`tS_KtDUy=JdHmWf*ymelvEIou!pa%GteGzJXWrl^MZ4St3Vs70tN!!MV&~2h9q@ zc6{;5CCp*nL~zWIMySTxmg4J`(8B2Atskb|Ehpb|p>3}K4;8?zY&)*j%*8&5JG$vm zW@ou`DUUgRx?0xhO00{wv&$6{Kk7*}B)hoYZ!H>lu~#3yzj6kZB0W!ttvFB;%HO85 z$K}g}Z*H|Xt6wxEH9yQ56H1&YY_s4BK3C>9;;>0(p~YYdepmzi(x^ope(xTLPlOH)UjSPKV=t`yiLO zmbTJ^w`Z(fqfWUZw){yW?gq0HZLWp-5&HQO$k9#ys(1bC>h<`r4f^9_Wayn6MO;65 zY3&PieCHNN7EYUY+uy#&%$-(FBaM8M7K#Zf@WCrK_V)$57Q?MK3PZRq?MX7Vf?BR6 zrx7mrW0Ee4UK%YA8DdK86QmD~KXJip1nbY;NU9KiYJzxHJ*z<3xhgRUcs2)c0NG}U z#=5P+ZAs(7KB(K3-wvJK>{7npC;uT073^#H5}g-oO2vn`cD>WH&G!(@)Y|QR9&sa| z-REH|Xa3T`y`DZM*L!w+>)wL*?B1ev4-&^Y_JY`-y2QkL@XkO~7ec@#a({#olcztA z;J}i)%Wt#x_G0@uGPHg<)QlbX_#N@n;>URX|+|?vWEsL&_T>u5emh>C`fUuma&syfX3gO(@D>e66i@= z?%)T&ca#9*0Lk1cDAQ!qhSoXCMfMsmck^>k$CTWL(ae-lZ&K@mfsukvvAf!%WhvXS zBXD9TH4;Os20a zq}8x{EhYEe70P@)E7BAL&rW|hcwWrjKhv#PWPLr+-pIM_G1*FRFnNzVY3lV7gSkrG z=%h6gT3-L%LiH@Ciz|wxH=|Os-d_}?n7v}GM1flcS z!r4hmPXpbv&PzkD@zoOV;wE>hA+?80IXThbtzCi;rG{BYZH_&HdFC@t(>@-HXU1<%HdfAZFr}s*c+WSmSIp zw+~b(gT4Y^NkJGj%Y211c$&Nf8*`tYMn z2(Nc+Ti{>7tzp{@o8=|yIqP6H1h|93Hbw|Ev%eiIc%cLmlT|s{i*9eIasjwSkZ)}m zFh@Dfc3=){IPmCSLM&y=e5|F7bUzx&sC5;$v8SK+b@;jq!mC-%|0Oli#`-U*kA+L^ zT;YA$7dAW6pbu6yj&gqvH(Yuwcpv}&*~zek z-DWwj*|9dWqalF$y6=8zW?zAk&v39NTFOF@$Yo!W&h@^K=E;1~8lh98A)>DPV&91H z2yp?&Y0w}qS;Ji&uHM@L46!;$u$HEEd%_XkUY%TB2B?V*KusuIOvsk4ca9curmH;a z*P1Sdi$7U4CG})QweZxn_q1eM7qK9VKQ6GgCgAP#c@N0HH@iIDxVE`UHfFf91#hkS zH7DJI{H`@+NNAeMPrz9_38bz2fxr_NbyK(q=Xv=Y&$9Q5^+UM6>P0fN#1 zB0P7yHYk^=%9B!o)24A(+a1XtAkQQ$DK#X=W76#-H=iY^-lEOw_^PG$RV&3K(FB(> z8+(#Ty5p#qyKa`d4~M}4zW%%b7=sp6a6zL?sypL;k)qZ*$=&=`2XMWMf^@ZbWUn74 z%O}WWJtp&whEsGuo`Q|AcBWK{!{ zK^-Efv`INdmglrWp5$wAQ({N?wbJI!+*GvCPOTz>>*#g`>v09@RpL|yjCBRHwKQ*V zQzYy<+#yhrmcw?1+Hr+0JO&r!?}tU8@I>F7lZqdOqEl|>C@nMF6^8WYJoYV5cg!U8 zt!MLsza3r7rQOT{bEgysdNs^@HR5E&D~Y#V`Y0z#(0{s^E4!H|g9c6dHg>QA% z3q`Q55Vx-IY4RY_22gY{zk%L$%=fqE*yg#<{bD^KVGU>BJn^TbMJ#p?DAB$e;aC+|58Y?we(lk@DC4&9*jn2~jv0D8t6@KH- zpQHhAwpDy1XvEpUB

    I5vW{1B=ar))^(#jcq6Obmo$v1tpBnCKTOO5)2!LXi_l zoGfMjY#xxPgo{lyco=-hXkITQIVgyntHl^9f{Y`|7zIdM753lak(;tdTi*)vL#7z# zi<|RZC1f93;|Fafx(z5lQa=YUEUyi(48{`**sLk92`wzF;OR&qrfgMk#lPJOBQ>^4 zNpHu(@?iy=HaM2|C1SRN*(l8R#T6)`Z9D-;B2;UvAr)&UIzF+C*No81_Ik?0-HN=KCi1tNrBWIX2ua$={lR%)o(R{RhTNqVjtpc-3^qHkn-zmbr= zP!HPW%AF}CY#{hfKEMGOJfuj3m~eB3gJllV_VI>`s7*XuzQbUPNxVEagW~4iyBm_p z%CqcgM@*y;3^9v3w8?buIpZ5tZTn5sBE*}C=waJH(mj`qpy9v|$d)X~bF8@W0BvX9 z#hJJm3_5Uz#{u9>Iq7{uX}*iZYYBFDwV*HL?%4r|cVb1NhvW_&hl?P0C)Wgwn+C`AP`FrZAoGe|FXRfhaO(T z7n|_;g^ar+^x4gl?@M(ErgEjZPXp|Um?XC@J|BCOA!cvYj8sDeAA?PO`A8nby z6jmllG$MiqDf0`iP2`$qy%m1a%YIO(npW7=>b&ga)fGwz6fj@sbqW;xm z?u)sJ>VIAEF>?bpLo5g&bKbp!hl#2OX3?yoiEKE8UCAP?$W8>5tS!LJP%|$-*|oWF zx*n)V&qyn_{qSa(c4Z3w?6+rw(%8?xTrwm65w>MIN&~|W6N8m`3734eQEX5N`GO=G z9y3g4Qo+_JbAkeVRPqFFbUp#$nij!4KB~z%wL`E_&K981nXKHv8ngDbmWF5{=C+N7 zCsuZleX>FC;j^y4`(41%*3`yBEUzw}Inn$pHRqeum!?_{7JZMHJ&ELzaC zYovDMR8hhEcvrh`y6Iy^!wywanGD9@z)jS1rMVokF$huJnv-Zna}v&lpJzmYv^Toq zdxl5Bh~dR+l1bz2@%8MaP_V@YRWtMGe`(0v*}tWACIvd+2WsG;jrRK z7l@bJTChJys?fXgL!5<6w2lNGXQ5)FA(QQIjE*}PYH57?mdV9yQTpyX3PmPcq881H z9VuL-=ybS|e`wluu|9w!C-LCLMQ257!I4=*k!_`nVpx`hy^X~oKjRyhtbb4XU>eQ@7R-d$Ng zTH5;zr~C2*9pn)rUT5#9&}1U2C-GT4`Qx{&?^1s5KR^#YaazRFYclP0m1zDDd}cqZg0-~*OB$F z4re+FjvHJ!y+1WkIuDm#HryjSB`(*lR!R}k+Qj0T#dYmylu6DgdJ(Uj`~8i#>WAPi zTZigvgyAn2-ZC8sTaiu;acI{gX_Q@#M-;wOLXVL>3;6UIs@yDJgb{)M4tJJ+d(t^l z@kAuqDMfl3yK3DXlOMEQ+%QxNujWosU00|o)3#Qh2k#Pyvh zfw*_qhJm03cB5q|CrO$<6IqkTJLOsR*K}F89L`!;vHipwp%;sA*dQ2$3n}$?4c^x# zSym|-@&pWVhC=zd$04B{CJ_`_t>v>d51f1Tm&eDcENkn^Ob*B!gSyo#^@T3#y}8yB z3HoP@N8hRi8JT#n5e~>ix2YJHE$O6`(p1H!?K3yL3#v?=(9&GRMLO;ae06k%PhyKS z^$M0n8}^x2c(|Dsf(jpZUQG_g)>Kw{fp0xNXqYW$!iywmEQN;_ta5UV%_{SCMN87z zpPk8K%bBsv3ZaQrR?;q-w_q{WpiS`dQJX1i;bDo`d?-ZP;Rc2im$GN>Pm;C#HxQr; z?Y|NTYn#Nb^nQIl*hrflsFGqf`1EqLd@xo=^ri>V2m9uX_I~`E`Q7)0_SePp7sp(m z7Lf6z{vE%U%QnM4J%1FL;fuPwx7+>o3rE3^`!H&Wc0{N!nN1My@F4zEkV_>+I>Tm4 zyhh3baO`~ww;^KJQ!z-Uz{lXKfoplv011Dj1wyC12@~D$c2>`F+LnvP24Td2fARdB;jK`rp@9DGKCa-vLd+Hgg6K# zS2yGWvRCkE&JR1|EMB`r+f?}s3h2}aj zvrbW!c384ZY=`~`e}e{%IdYkCdzwvAiO*%zD+FU92&JrK7!L%)o}|B+vTW$K5?h=_ z%= zv>HXXhD=upqHQb&;aoA5dqU+WUD3TDIzknb&IMwcmZ$ z*1Y?yuG9&o-MI`xp+j)#%=?u#sI#1s)Qd5zzIUjyX@eyO_E=8;?PacO96yAST z-A_&K?x0&*TA?nHyt=clP>#S+l#Y`5@%^+BqjOrkz&rTk^TJsGOxDZSH4tVNEy9_rXBN@~y}fZY;O` zprF>4?Q$*#qoI8Jm_tG--$$?xV$B-V#D<+#yMcvyn@h;Cp9v1X-CYaIz-#PuQf;5I zYta{=qN5bXx59b!Qd*gA5lbt%&L=6WTGXwVb(VBeeyT^EPN3{rafr6ENP3#kwYYPb z(sj9!p=`M4fU{7bw}O|rpDXk6rB8utyTA9F1yszksWaakgQfcZa4dJ-6O{(T{ssr2 z@7or4TaOMuQuH3kzngcOl&oshzasq3RMwcias6P=T}3!9#Yt@nqiX=bfvDtZW}FO` zGw*`ev-_FRy_l|+tO3%PP74kq`gS8E_Pb(~H;sCK)=utFUH)>H)kurWc#kc(b!2+` z!(ml+*&`nYe$6gPK4kj4s5T8tx@GtiDsH*SwwgnuKffbjy|Zf16^x6sdUa*5{iCl3 zZDr@ELP@p2H!*D2YhIns8AVr!(Oz+XI!~$COTJAVA5!AFkLVbjMlWCR&=Zb5i-f+Y zm#+@_Gm)j7dr z^x-X`q)Q0TU%RDMO-p@I4FEmEQ_`IA&*tfTpoqk>u-x-70O|b`6M=ZKh}_{Idkt9u zDVR7fZI@_EBO4FNQA3CJ88|%xF zo7cPvgOY;+qk8_2y$l9empGocI{jbJ|IEd5{rOhQfFF2J!0Z(r_}kRo)y>gf%ifOJ z+RfbluaCW&=mxk!77UP|z7i9O6Qz9N7>g<>)Tjk;wK6Z?p%S|ji%mYZ!~1qUzBr8? z+bg_-5p(bX+9YILo#4E$Bmu-f?~jG=Q9>?4M4+>4QLI!grL^7KJs?RH!LjKkCNK{4 zSh1EMG=jk_ohlGdYrD*8MaHage}J5%v^$(*Z+qu!O5fL9-tm-pe~|+==!@m?0?k#)fzTtwgH%*qd@KU zD3Uf?RhnDU6lgu6fvt-=kygdewuYCWcgjg`_ZF&x)%m{g+(+6)tx6zCes647j6(#w-Qb+r9Yok^>p#v+*W86>$`kgO z-oOz#aE!YqJ&W?Lp`b2b(WN2uw)zJ4&jD@el2_OR3N`@>$N7iwKa&4ySO3?j=EOHR z1hHU9eCZv$+n->~hp@s3mj$6z06M_bQJ7h zR6R#WJx@geqgKUV5SrcH$H_rH&R5GPXbs8R5kxsg#^d&R$9b$~5sC?k;*RJjW9IgB zv)gjIm0a3^+Y9Pw$N+yLM`)(sZ6^wgZi@*m+0+?_s#?EW&UYM^{0A0rSE%tt{`t_+?x(0{+zP@&zqH+skpED{+GvMXQCuFV%ZJMx0!!RVL3 zHmf&BW7#D1ulrQ8U;ks37C#pjVGFFuL;$n9|ExJ2-0e-wU4T`YKiS=k)|SIQ4^Gcc znQ(%nUQ0w02LwlRp|FO2j3jx>JqQ&}{dwLvE6e7!+?DAJeRYmdc_h0$+UKblbiWmc2-9WjPux#^XI_n&E}RF^+hVAs*mzRk7!30r^cy~oY| zM%`F|M5C)KqtW8~PJO%fT{pNpWq)UPbh1=vAV>B5Cf;pRFu>9uaUfDnvqwky5lBh15e) zPf+PD%agt^XrXSGF7a=8?JVix{-QY5aAZcyFd~P!A;Q*Lc*&lw(;7R+nD7h!JL#Q^ zv{FV9HWf|Qw?zsCY20kD{tU&h+;Qrt1T9QTDd)r`w6^R?bT8f= zJw-BdZ#UNO);$VOm`9+f8Z2W*a(@GO-1I)gqON|om|QshH0h#hIEfjFB?`bt=#h~! zp`N`Hu1x9MRZFYwmGM}87=*R$ncKVWxsf*zkLkG)-GLs^*VG?94Dps=hH}Wknm|iFXxrCwMg={p)vY7yh;6Er+=?u8hU8@>=1tCJE@HQ{Lu@q zAc=sFzlQ`3s$`(|(?kE(t>tb{h)%->gjsy z3H5lj|9ZM!1d)Mds2gvsAHmhur~ntr#z>5Pnm1&f`lDd`1OA^gR^j-HWe+3>NH7Tq z2sUuW0yggcYnlSCynxrIgR!+8lZ}(P<&}o56S_KvV3#*Ht^EuN4I>8hU>93|F{3Cw z7?<_;(qyh;#yaOvnIr}DOe*6qi>ZK|gcp#c>ubKcNle2K0+oGN_y7oWUGJSi;2*@mx}q!10;n z)vE6FJH8ZVbq-Ddy-Q})z?G|Kd>d(=Mw(fj;=T>i)n`_}QS5Xm|)15kkQ&l;9~NFzVz$NLB75Mi*|RR;i1S`naBuJ?wS057+m*Kk1}4ldzM?k~CM*1zLCzX*gvu z>0)Q~>3v*0nrOlOWAEXsy^?#=`<>-4-(Kjvp4W-sK%s%W;VSG%mNx%HW%6xbN@QBv zphLXQ+th)OS;3`{L^sWvQ^eX?fQJ=za7#)WUBOqKK^sAv_w`NFZM$uo_uEV+1rMKG9G!kp_Eh2jhzs~qw}fAp>IHSt0sRSns^yxI0b>#7ZFW^zXJ&FfT-V|g*_X)C`Je`an+Go6tT>~KM{`1# zTog`N`d=E_ONY{^{RnngW=5z2=pXTFe==-&BhmBPQo)QG+hR<)-lTrm-O zBf+I}xKQU|#k_>fGt4j8lb*Eqp4Pp@8~@}|fBe*m+tUs|o5DHm?Oo+L?dN>YtQWrB zz9cQJS7xeh=BFuhb}u`(r~2BPrbE?hj&7TD$*8)r)c5Tp)gM)Ne(%p~x2^A0ZqI(cuHWw7 z=actpf7}0kbNX=nR~gHyHQy`lzsx^Z^ZV}izv=ZB^$#Dd-yi$yZ@>NjMWu!Zc&FH9 z#NJ?OQ*BYMiV{C;7Th@T!{egT!(C!8V^_EJpO2nADe>lp%IfbEIDeiiR(^HFdF4#u z^l!da{@%e_ySE;?^*=b3xmER*72ivlJPYOYmY)Srz4%Ht@Gom(lge1oh?V$n-0|&@ zeSkM3lL#|tc$|Y_?@aTEwLwcKP6f75PXWi=K-~@)XaI^aFhn~82ZK}dO5#H*3sQ?? zL9H`%11iK@^S8fgfs14ZE46AKEkxq5n^-HA=WR_GL<&8U{o00snj z<^X6!X)e(3*tF+0NDCPOEk6ykN(RO9O5jjBSUbe$$cA7Ih2GU-*4_FH3~`~X4E!i2 zJq3m)*rei;%A8d2bR~KipdTm+)8D{2*BV7L+VPU;=Ah4$BFy0{gqedhiGr>jec}b7 z{Z9#0JK8i1x(VnL5eO6X%Ah8oOiQ5aM;|pt=s#Ei)sH@gjBW&a{~KY%u6nG!adZRF zJGux1CN&@%fUVn$ZWemq5n)z$BeGejJxO#^(7Rd)Qx-KrLj|Sdg{~jHJ&4e6+lG|I ZP+Nxq-mJhJ1j@l-?zr8-%HC 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

    aS}I76s;kPF&q({1#dC(T7des+36 zcJdMqgDQYV7EzR!R?jNiMTLevo*dD@!81)60GIONQqvW(VxEki@I(nb92aCi$n)Zk zB!v?Sj<1dcxR6z6J2A^XDe2Ns>nj5!=RFRwcG_xb!Xb|iUB0Uw6|)qFe0}$6mpCd$ zoEG6t2-4$+g#Kg25yb;J_ilxNRh$bOGH{OnkS3dijgeGRQE8AT&o8friOF{=aK;M= z$7iTT4W~h2!wUf3gaIDz=U}`_QF)XJnnLbgyOQT%f;qviB_@c_pkwms@dCKNfcI5< z)KT#v#q7S$>2L%N#$!D_-|t~@26C}L#|R_2)YviGgNV0DvgFM|8?$Cf@eVbLki+a7 z;WU;ItdQ?r!Le`G(o|Gwmu4#^uLirQw9oMz6)WkGOX0n4-Z7=jlN(;Kt-h24(?v;S zV7kcW1;c@SRBSjYgE8tmy}f$hlAoUqLr=XKmH251Yf?rt8Qt=7cJvYkw+V(IIcdsT zH6`g^oVeJ%n*Dics9oZ1sf(oGLFRMkhmeQDbJ$}>>g|*O7DY}N4UkML^K+yzrsTo3!H3612REU;3NfX*C=|Hl~@H0T2Cde?$RoK(a~8G>m`_EwicFA5rJ zds=Ftn$N%SIu4y8I>i$evf(0vHOK;{Y-B1_P1nRzy7=4>ZiPz|_+8htKCypY^>N7k zqU{k%aMUYPsObZ8)oXF4bib0&D#EhsOy?;%L3Rkjq8x1%PGBk)69nUxsX8x;>fbMYNfCKYls~sH6O$8KRTf#o zC2!+D5;7^v+*=A850eX(FvhL-MB^6)v93XRA^&1rXN3knaB?;JMp$m`nyM@Gk;XM^L<&xD(DCIo@Cr zit-d?A(rC_i&+a|BxNLJvXUYI_u$6^CzV8*u$BTX5rCAjUZS}Fv-C{jVy9Y{wu@|n zCH7&n6Y01$@qKP!c4P;x=@%B$Sc>~8%fCof-Xr^G2WHdZLh>$)0CLo<4!4!;NXqsY zB2Ci%He?;)51$ku!e54zrh)_c$gE}svws$d$(UOcchLck6K{_UJ(3HYOQjjmC8@g! zmOEM5oCYoo{Bi3$>BYoAw`nOG|Lpg#U0&6sC1G+)9p&&$nSJr`QH@lY*PGv{5y-Aw z-n!GK=jTD#Qw#WCiJ1w3bFE#ZeE1TBia}y+PW)Rj;H)HBCZ``C9y^fxDTG^=dagc)7b@vlz{GMM z>I+9ZdX0J9pKl5aup_=Ur1UP#ko;94X<}aQC*>4G1C6Sl>P&JWRrO%QvTARk_;x_%?Oz1BL2FMW4#BH??*Yfz76b%C; zS{F1swGRalhHyXh8UiGMWe_kd?X+2%DKgqS+yDvS*&KC=7?nIjXv`m#J$n+AsM)8D zjD%$^O|3IUCIu{mH>o19BsD!{NVLuak<3t_hZ1KkwOmJ_uqtj7V6@Ei_X`-Jilqf0 zu(aDz7#f)wRQM)>t{B*EhUzJ@2>wH;m_OS?^{I<|S`Xx_MS}f9%F|CWsXZE#G!LWy zQimJ(N1YhT|5j&*093~V)8qekj`<%jv%?qH1h=xkfgG@Kq3_qD6*~S+ijCp!&MztF z_2YjuzAF-vH0%Smi8_J(uQpMx=5B7*4wirIvue@Ua{11K(YsS-)V^l{+v+TTKzl|} zzpX%J2Yg5XNaI%!`v>ksgaXAK@{P!eREzYhOU%3HZ+*S4!()of*@&O>5mQVA;g|#G zLBwh4>A3FaSIg{PjX79S!y{Q}jRg7paldxHUmXZ?8Zp{rfO?@&9Ub|!w`i0kMbNhO zM|8x)K?K@X@HYIa;6?{LxYmr897byCC`n!!qd|(WU2cv)*RPOW=|%H0ws5%E=g82l z+Ukh@JYam_b=FNPVX#FSywHMAS;@>4~# z4(p`&1R*(<5+?|II72Z$Qqbu&sAzQ!8>frD!8zpEcrN>88j+tm0m~~tgzCj981|Kq-*9%Dw3L@ufF@}mD zr}vHwIuNdWW;pQDs4a2;mnQ&v}8I*r}|Q z8fvx`Kg2_lo~s6^##W=~8`<7(BxEntgLb)cXG#eh2)>gKZ~z7mDH0(j+??THnS-=_ zyx}5h6VI0KFxX-eFVD@OxViW4hGeqxEPL7!6Db5k%%To$GTnR5_y$$meiO9_@n#}= z*fx-K&m|*hIPe3qB@6N#D{eeM+nIN9CN2hp4xHg}060@ldY@35?;`P9g56y$=nJ`f zb^u~|$@@0#evj&8iozci<~2HQbrCja2kL`7*9;Z)$jROv6;YeIu$xX&N{p4W{96ye zUB7}Y(tQ>P#L`1slGww)Y_G$ihu84MCVYM&&jvq4RY%94mq(o{V5R$`&!A3 zNy7}LAT@ZA)yM?Afep$`_B|kr)BAT!?ND~3*F^zY>aVw((e{i8zoY$aV4cG69-R5* zeoxM<H{sVs4`PUl)AL+tyltbMJeAzFyJZKL6dl^tZCYy!n!@w^t1LS>wpoR4eWEMz=|K2Zi! z?jAdJoP{y>%eZ?dHcNhx<_Q%bYO-%uaqebV89zpQi13@8K_5_t;{-$7BuY|sU100RPa9D)$W^a`k2wMLzPq}gE2U86ZKqa zE{ALkLR7crBwEp&gmdBN8BrkZjjs5f;ZZPRc=4KK(l~p3Jv%8BY_Wk=tTD@z_Fmx| zYU9QX62i%Bx)#dEV=PCu_@`Gmta#D|;^np$?9Y)Z^sf96XW?BWY$n* zTPdTMRtDY5W*Nz(RWY1K#ztqBgRWH%e50Fd+xrZ8HC^GT8Msu|pdS#zdlsbYFj|VB zn#WdH-DYOfgN|_j)*b(B5WwdFDsV4maj1R+R<`^2{SwCAs|T^JwnC3vpnd3~G*Z(G zmOanZ)14JRT|&cI=Wc?B(X-&*39Nj4LRX{P{it8hJli36iT_0NHFG^h95^?Bfh!6ru9-?lzA!CN>+Zo{U0qqlSRnd zM}ggjyXZhbF#ml@x>=dqn=}7)Wc{ndnT~?v1{Y56Pfe80!=;xE_sC9(%eAYOQbe>i zvAAY&T{{|Ok~4~4#4G21f8(wCA-K!dq52wO_{)X2Ob5bNq*Fs2+Vw~pWtZa-h3}Nm zV`R?)K7EENH_I1cM4-RJo#o%2bdFR!5lMDRk)Fn`TD*haM^^B5!CsIkmZYv)X!mVb z>-5{<>R_-vVWit<>-t-d;868wQ`#BBNc+UW52rd%&51DX5@O_#f}j&u$V+TGHW@ro zeq-GfgneJxnupndLBJ?+zXAhseJ4sF?%lOvAZUTzXc@{$lBUl@*5vU{c~<>3UDhp! zvldotKk-KB#UdOw2nOLoO8s4f_q9ouRZ50D0YjXjP=4-lNGOL%1VvVB`E1Pt=U)Bg z@o_54+PX561M%9bMs**dk56f@RT$eWn#2Zl;Bx!pEIglS8pJm6cxLTaOPK zX3LrIA_*Ex;h_bqoLpnG%6whXl63ZGXR_FGW-PNpXkwL>w2S5~Sd2Aj6TE!XX3AQ4 zSRytb3XyiWf#JlZ?3w$MWG(*<1n5HhuLQ!{Cb28MU!M;)(q;#$q?ippy&NqcjMWjn z=|S|tzB!}4AOB{4_kE%Lb@BYgG1sRBWIU;V$M5B`&9G0;A4O*PqAu_4c7OfCQSjqF zj9Q`{5h_e(6T~|_i2oGiQc01{u$dCCk+J|Bd!NE>h}iX143a7EF}P~rTAnmO!XIgY z&?#@iL^r&h)w7(o<)Se{dMq`x{m2W?BuZtWpn46YEg45Zw+bJ_F? z!B_}FDJvPq1HrH-=`W@%8@jE;7H1JN`-F-zvGjiLkob-G1q!pIYj^!q$Pq8&9fd%_ zeQ!2ZlC{!8Ey2o@dau;jkoW!Y&bS1vM$xSy(^Z0K8;e0WS4`!eQ27a%!r{-Aq!wOT z=U>)@H2Ut%y5u(OQr-Zq39CDTZ~c5*q0Pp|jb*<#M1?!6+-Y5J!seH__J(&P*#c(0 zzk4e3|FE_!FJr8ht@>f+wHkTtci*)&?>?*Rwt;Uf`gtTde?!mFUoUg?Y-+t|-b&yw zin%a=zR%`+aILN zR3vQ9ho4e>#2C6u5i84+#~}rU_g_`_QsI_IgoQuI|DBnKjkWk9^5v+q)vj#P>VW-t@ zU}4_o5_0Tkg2Qij*TORJ8atg-+o$YW^aZHsD24H@a2~ysR;F9T(n_xLNy@4gb?arF zC7qO?>QSc?D0@~MqOB~Fo+flH?i{9cU2bG38}2#aEEMRi;3e+o%6xq3Q{dX}@BL;0 z6|-#W%s0nislGoP%U$@-3W>Ot{CM_ zqu!sjlRH$GzuaXt(&94SV+(E_ncn_zSe0G&$cKSnvrCc>nf@-SO~aCI8UBQdTW+$g z=FsTR?+94$tlD!0ZfRB1QeRX9K+o`$G-v#?c{(2` zBC#wi_dEbFo~1 zzST0|2ObnKdqoHSHg$J(bF|m8w_~<;Gq?ZiW3MK<0d9~51LUW##6;pmDPK6oq6!K% zY5`oW%*%JE#O}mmlaKB2zFm(mPGiUR3h!XV9DIN_2^m)>IPWV-0P)ZJW8r(0kc$uz z=`Y`TdFi~~JZtR)DIU@%Lk3dGZzaM-tTC!FR$^vaRIC_Bwm zZ>km!JSpa5Ys$WLKMg`0CDa$DS|}dls~X1KEy|F(cDO7vm*C~~|Dj88@@TmSsD~P; zi|8M^{_YO@A9a7VhK-qR0Osc?P`f>fq|H{9=9V-CT2E+T>!MDiRq?Z};U(yua?;zq zg{t7VY}MWncCeH=)=V&>FsP@Kq)r9%YB8DSx;I{%Sk7g2zArrYk#uW_R~-a*&Vn)$$2iL-KY6 zQI3)ExP9Jn9;;b|VnU+0BRa~Mxjo(Nww!Jymv-Rxf;t*9z@Nwwn(24jiNd1WVnRzc zb;hBp*6)_{9fu|Vfd$-E>hh}2?VM?@EPCO(FvqrjeJYo(!C}9zubro;+``!Bj7riB zc)9Wk*{(f|sM#I~|3K=Fyr6h6`X#W<>dnzuHVOUfK9%g(|5&BP&xJ+U0&6l6!0hfn zYYqo@dlPdPU{&T%b~mH7<*?6#)3Z}1oFJ*!5|P9K!O>hOtf3zxN#1e~LWNU*o;S|Q zvUx3cWjaG&og-8p$u5ufc`63oZ-@8Y2k;8{>-8omaT_TD!rdgb8# zXWA*%!X^&WN_-kKqmO6}DCtb4v=2$8MZ}@0G=Dj|qEW9r;HNNd7IKZ_M!9>^=l&BJ@XlB@v9O(}B~s>s!)=)d#rA;aIBlK_^P z)-NN7W`e%X65<MWL9bd%OSP_x^#@ zOdMen&XZK3!5P!=f_3YY4-a5F6}Nt|0AsJnYrs^C1ZKM-&R?hwHjl5SvlI*0eZI#y z|4^JW#rm`}!*|!B&;1*w7mCWT=eWih>R6fM;#4@(=hF^u*KLcs`YI zz~`d@L(MJQS!q6yPenpl3K|6-180=X=9W_c!w~#-bE_CuDLBFK+vV2!TW|LLmg_99 z_lZN{SfSz2+#Q-XEDHj-xrfL@bMKTxORW=6mFy)ZmmA1wTgTuYh%J~E!en97l8H{I zU5CsLJVSIK$9O15nl2nRF9D{1kj-AF^BD{a2C^dY=0_d*3~&|%p@Q@rC-1;dXal(c z{i2l&>Sj4-Fvk#%-T zZ-X>BPJ{N<`CWFI=P(eZI%ech%1dvgxs5%3HfSUo9s)*$P;d(+ zc*+QjIyn%M6@kpFdp8V32jT(F>X!YBF!*<X&CXMED6ttf^2aZMJ@5uxak+tI(fD3pGm&ag&V0=>LR2*t|w#}0Ye%~f=P79Kl9EPO z@KtBfM$qPcebaQ?ZrkSlHj@eYJEa49ThMR+jfty$L1^^0tczp8!zUL0EO;n$^lL0z@9x+5Y9tgDi5J<`?WqPuhD=>t5oGe{!ime(J>S zX@{Rp;hgsNuJWArbG~QR3*T;El9tvhGu1Zp)08>8mz~>FeeF%tq3Sh9w@tcaR9#u> z`}UFQkE*+J2czGAUO(lDM{x1!SJ&F*>YiNO`dY5K=JB%S^Xi`6d_J#!Ve#o})8pz= zZ?9gz_vf|S*7qv6XFp%pZ+GwW$$PcG?fc> zhmY3pkNx$x-~RuiQo{qhQ|vNgZ?LqfwkTIci61r#Zk+hxaZ%~vF0q%ftK0g|M^B!V zcymK#_4f&!KhG5_zdGW)a;9+lH(x7%?_jOnTMym(ADqhEs`|=`@1;zhg>rh!&w{63 zd?g$Bmo>3TWh`jKO8htO_;$!Xz?+dtgc&qE&cU#Arg_BLprsS10$Zr3fMaf;ZU+oB z0L2&>qMd<*!KryA@gbE3sl~CN))~41m1^D&KY&W_0mqTKVY-2I1LHBE5s)@MxM`2B zv7?PUI1{MkB2c3sipJ+a5qRB`oL>YUiALA{<@Rmy*Ffz#EDQ_+DBA0RB5>`A1qIk# zy`o?FQ8KU10`Yl8yNkpQ8c3+FNtmr z`aCJZoc#qbbC4!c(6ysaydbo%ErDuBn}$I*0evC@VZ!}Vs0k?366pHTM~xBsiz=Y{ z(Z`U{jX>{zBaFzd$J!f5Hvqk(i!i{s0oed--ClIF(EE-EvuqlX%|h)-qML%=)k2sO r+yo63l#Um=e)RSrLjSu~q%4NoIt=h;1?C`7t`cNO1ZIy1-5?$S7^Eb| literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/ScoreStore.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/ScoreStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..ad63f4db02ab9fd9921b60d42e59eb246fa22d96 GIT binary patch literal 38325 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 StratoClient} -import com.twitter.topic_recos.stores.CertoTweetTopicScoresStore -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton() -class ScoreStore @Inject() ( - simClustersEmbeddingStore: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding], - stratoClient: StratoClient, - representationScorerCacheClient: Client, - stats: StatsReceiver) { - - private val keyHasher = KeyHasher.FNV1A_64 - private val statsReceiver = stats.scope("score_store") - - /** ** Score Store *****/ - private val simClustersEmbeddingCosineSimilarityScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildCosineSimilarityStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_cosine_similarity_score_store")) - - private val simClustersEmbeddingDotProductScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildDotProductStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_dot_product_score_store")) - - private val simClustersEmbeddingJaccardSimilarityScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildJaccardSimilarityStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_jaccard_similarity_score_store")) - - private val simClustersEmbeddingEuclideanDistanceScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildEuclideanDistanceStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_euclidean_distance_score_store")) - - private val simClustersEmbeddingManhattanDistanceScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildManhattanDistanceStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_manhattan_distance_score_store")) - - private val simClustersEmbeddingLogCosineSimilarityScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildLogCosineSimilarityStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_log_cosine_similarity_score_store")) - - private val simClustersEmbeddingExpScaledCosineSimilarityScoreStore = - ObservedReadableStore( - SimClustersEmbeddingPairScoreStore - .buildExpScaledCosineSimilarityStore(simClustersEmbeddingStore) - .toThriftStore - )(statsReceiver.scope("simClusters_embedding_exp_scaled_cosine_similarity_score_store")) - - // Use the default setting - private val topicTweetRankingScoreStore = - TopicTweetRankingScoreStore.buildTopicTweetRankingStore( - FavTfgTopic, - LogFavBasedKgoApeTopic, - LogFavBasedTweet, - Model20m145kUpdated, - consumerEmbeddingMultiplier = 1.0, - producerEmbeddingMultiplier = 1.0 - ) - - private val topicTweetsCortexThresholdStore = TopicTweetsCosineSimilarityAggregateStore( - TopicTweetsCosineSimilarityAggregateStore.DefaultScoreKeys, - statsReceiver.scope("topic_tweets_cortex_threshold_store") - ) - - val topicTweetCertoScoreStore: ObservedCachedReadableStore[ScoreId, Score] = { - val underlyingStore = ObservedReadableStore( - TopicTweetCertoScoreStore(CertoTweetTopicScoresStore.prodStore(stratoClient)) - )(statsReceiver.scope("topic_tweet_certo_score_store")) - - val memcachedStore = ObservedMemcachedReadableStore - .fromCacheClient( - backingStore = underlyingStore, - cacheClient = representationScorerCacheClient, - ttl = 10.minutes - )( - valueInjection = LZ4Injection.compose(BinaryScalaCodec(Score)), - statsReceiver = statsReceiver.scope("topic_tweet_certo_store_memcache"), - keyToString = { k: ScoreId => - s"certocs:${keyHasher.hashKey(k.toString.getBytes)}" - } - ) - - ObservedCachedReadableStore.from[ScoreId, Score]( - memcachedStore, - ttl = 5.minutes, - maxKeys = 1000000, - cacheName = "topic_tweet_certo_store_cache", - windowSize = 10000L - )(statsReceiver.scope("topic_tweet_certo_store_cache")) - } - - val uniformScoringStore: ReadableStore[ScoreId, Score] = - ScoreFacadeStore.buildWithMetrics( - readableStores = Map( - ScoringAlgorithm.PairEmbeddingCosineSimilarity -> - simClustersEmbeddingCosineSimilarityScoreStore, - ScoringAlgorithm.PairEmbeddingDotProduct -> - simClustersEmbeddingDotProductScoreStore, - ScoringAlgorithm.PairEmbeddingJaccardSimilarity -> - simClustersEmbeddingJaccardSimilarityScoreStore, - ScoringAlgorithm.PairEmbeddingEuclideanDistance -> - simClustersEmbeddingEuclideanDistanceScoreStore, - ScoringAlgorithm.PairEmbeddingManhattanDistance -> - simClustersEmbeddingManhattanDistanceScoreStore, - ScoringAlgorithm.PairEmbeddingLogCosineSimilarity -> - simClustersEmbeddingLogCosineSimilarityScoreStore, - ScoringAlgorithm.PairEmbeddingExpScaledCosineSimilarity -> - simClustersEmbeddingExpScaledCosineSimilarityScoreStore, - // Certo normalized cosine score between topic-tweet pairs - ScoringAlgorithm.CertoNormalizedCosineScore - -> topicTweetCertoScoreStore, - // Certo normalized dot-product score between topic-tweet pairs - ScoringAlgorithm.CertoNormalizedDotProductScore - -> topicTweetCertoScoreStore - ), - aggregatedStores = Map( - ScoringAlgorithm.WeightedSumTopicTweetRanking -> - topicTweetRankingScoreStore, - ScoringAlgorithm.CortexTopicTweetLabel -> - topicTweetsCortexThresholdStore, - ), - statsReceiver = stats - ) - - val uniformScoringStoreStitch: ScoreId => com.twitter.stitch.Stitch[Score] = - StitchOfReadableStore(uniformScoringStore) -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..3e88f4109ddb8593c6dd77843a4c75c777513850 GIT binary patch literal 37837 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 z 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.scala deleted file mode 100644 index b6216985f..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetCertoScoreStore.scala +++ /dev/null @@ -1,106 +0,0 @@ -package com.twitter.representationscorer.scorestore - -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.thriftscala.ScoreInternalId.GenericPairScoreId -import com.twitter.simclusters_v2.thriftscala.ScoringAlgorithm.CertoNormalizedDotProductScore -import com.twitter.simclusters_v2.thriftscala.ScoringAlgorithm.CertoNormalizedCosineScore -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.TopicId -import com.twitter.simclusters_v2.thriftscala.{Score => ThriftScore} -import com.twitter.simclusters_v2.thriftscala.{ScoreId => ThriftScoreId} -import com.twitter.storehaus.FutureOps -import com.twitter.storehaus.ReadableStore -import com.twitter.topic_recos.thriftscala.Scores -import com.twitter.topic_recos.thriftscala.TopicToScores -import com.twitter.util.Future - -/** - * Score store to get Certo scores. - * Currently, the store supports two Scoring Algorithms (i.e., two types of Certo scores): - * 1. NormalizedDotProduct - * 2. NormalizedCosine - * Querying with corresponding scoring algorithms results in different Certo scores. - */ -case class TopicTweetCertoScoreStore(certoStratoStore: ReadableStore[TweetId, TopicToScores]) - extends ReadableStore[ThriftScoreId, ThriftScore] { - - override def multiGet[K1 <: ThriftScoreId](ks: Set[K1]): Map[K1, Future[Option[ThriftScore]]] = { - val tweetIds = - ks.map(_.internalId).collect { - case GenericPairScoreId(scoreId) => - ((scoreId.id1, scoreId.id2): @annotation.nowarn( - "msg=may not be exhaustive|max recursion depth")) match { - case (InternalId.TweetId(tweetId), _) => tweetId - case (_, InternalId.TweetId(tweetId)) => tweetId - } - } - - val result = for { - certoScores <- Future.collect(certoStratoStore.multiGet(tweetIds)) - } yield { - ks.map { k => - (k.algorithm, k.internalId) match { - case (CertoNormalizedDotProductScore, GenericPairScoreId(scoreId)) => - (scoreId.id1, scoreId.id2) match { - case (InternalId.TweetId(tweetId), InternalId.TopicId(topicId)) => - ( - k, - extractScore( - tweetId, - topicId, - certoScores, - _.followerL2NormalizedDotProduct8HrHalfLife)) - case (InternalId.TopicId(topicId), InternalId.TweetId(tweetId)) => - ( - k, - extractScore( - tweetId, - topicId, - certoScores, - _.followerL2NormalizedDotProduct8HrHalfLife)) - case _ => (k, None) - } - case (CertoNormalizedCosineScore, GenericPairScoreId(scoreId)) => - (scoreId.id1, scoreId.id2) match { - case (InternalId.TweetId(tweetId), InternalId.TopicId(topicId)) => - ( - k, - extractScore( - tweetId, - topicId, - certoScores, - _.followerL2NormalizedCosineSimilarity8HrHalfLife)) - case (InternalId.TopicId(topicId), InternalId.TweetId(tweetId)) => - ( - k, - extractScore( - tweetId, - topicId, - certoScores, - _.followerL2NormalizedCosineSimilarity8HrHalfLife)) - case _ => (k, None) - } - case _ => (k, None) - } - }.toMap - } - FutureOps.liftValues(ks, result) - } - - /** - * Given tweetToCertoScores, extract certain Certo score between the given tweetId and topicId. - * The Certo score of interest is specified using scoreExtractor. - */ - def extractScore( - tweetId: TweetId, - topicId: TopicId, - tweetToCertoScores: Map[TweetId, Option[TopicToScores]], - scoreExtractor: Scores => Double - ): Option[ThriftScore] = { - tweetToCertoScores.get(tweetId).flatMap { - case Some(topicToScores) => - topicToScores.topicToScores.flatMap(_.get(topicId).map(scoreExtractor).map(ThriftScore(_))) - case _ => Some(ThriftScore(0.0)) - } - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetRankingScoreStore.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetRankingScoreStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..228aa252835eef40092a68f690cf78d37dd03307 GIT binary patch literal 37192 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 z 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 literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetsCosineSimilarityAggregateStore.scala b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetsCosineSimilarityAggregateStore.scala deleted file mode 100644 index f835158b8..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore/TopicTweetsCosineSimilarityAggregateStore.scala +++ /dev/null @@ -1,148 +0,0 @@ -package com.twitter.representationscorer.scorestore - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.frigate.common.util.StatsUtil -import com.twitter.representationscorer.scorestore.TopicTweetsCosineSimilarityAggregateStore.ScoreKey -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.score.AggregatedScoreStore -import com.twitter.simclusters_v2.thriftscala.ScoreInternalId.GenericPairScoreId -import com.twitter.simclusters_v2.thriftscala.ScoringAlgorithm.CortexTopicTweetLabel -import com.twitter.simclusters_v2.thriftscala.{ - EmbeddingType, - InternalId, - ModelVersion, - ScoreInternalId, - ScoringAlgorithm, - SimClustersEmbeddingId, - TopicId, - Score => ThriftScore, - ScoreId => ThriftScoreId, - SimClustersEmbeddingPairScoreId => ThriftSimClustersEmbeddingPairScoreId -} -import com.twitter.storehaus.ReadableStore -import com.twitter.topic_recos.common.Configs.{DefaultModelVersion, MinCosineSimilarityScore} -import com.twitter.topic_recos.common._ -import com.twitter.util.Future - -/** - * Calculates the cosine similarity scores of arbitrary combinations of TopicEmbeddings and - * TweetEmbeddings. - * The class has 2 uses: - * 1. For internal uses. TSP will call this store to fetch the raw scores for (topic, tweet) with - * all available embedding types. We calculate all the scores here, so the caller can do filtering - * & score caching on their side. This will make it possible to DDG different embedding scores. - * - * 2. For external calls from Cortex. We return true (or 1.0) for any given (topic, tweet) if their - * cosine similarity passes the threshold for any of the embedding types. - * The expected input type is - * ScoreId( - * PairEmbeddingCosineSimilarity, - * GenericPairScoreId(TopicId, TweetId) - * ) - */ -case class TopicTweetsCosineSimilarityAggregateStore( - scoreKeys: Seq[ScoreKey], - statsReceiver: StatsReceiver) - extends AggregatedScoreStore { - - def toCortexScore(scoresMap: Map[ScoreKey, Double]): Double = { - val passThreshold = scoresMap.exists { - case (_, score) => score >= MinCosineSimilarityScore - } - if (passThreshold) 1.0 else 0.0 - } - - /** - * To be called by Cortex through Unified Score API ONLY. Calculates all possible (topic, tweet), - * return 1.0 if any of the embedding scores passes the minimum threshold. - * - * Expect a GenericPairScoreId(PairEmbeddingCosineSimilarity, (TopicId, TweetId)) as input - */ - override def get(k: ThriftScoreId): Future[Option[ThriftScore]] = { - StatsUtil.trackOptionStats(statsReceiver) { - (k.algorithm, k.internalId) match { - case (CortexTopicTweetLabel, GenericPairScoreId(genericPairScoreId)) => - (genericPairScoreId.id1, genericPairScoreId.id2) match { - case (InternalId.TopicId(topicId), InternalId.TweetId(tweetId)) => - TopicTweetsCosineSimilarityAggregateStore - .getRawScoresMap(topicId, tweetId, scoreKeys, scoreFacadeStore) - .map { scoresMap => Some(ThriftScore(toCortexScore(scoresMap))) } - case (InternalId.TweetId(tweetId), InternalId.TopicId(topicId)) => - TopicTweetsCosineSimilarityAggregateStore - .getRawScoresMap(topicId, tweetId, scoreKeys, scoreFacadeStore) - .map { scoresMap => Some(ThriftScore(toCortexScore(scoresMap))) } - case _ => - Future.None - // Do not accept other InternalId combinations - } - case _ => - // Do not accept other Id types for now - Future.None - } - } - } -} - -object TopicTweetsCosineSimilarityAggregateStore { - - val TopicEmbeddingTypes: Seq[EmbeddingType] = - Seq( - EmbeddingType.FavTfgTopic, - EmbeddingType.LogFavBasedKgoApeTopic - ) - - // Add the new embedding types if want to test the new Tweet embedding performance. - val TweetEmbeddingTypes: Seq[EmbeddingType] = Seq(EmbeddingType.LogFavBasedTweet) - - val ModelVersions: Seq[ModelVersion] = - Seq(DefaultModelVersion) - - val DefaultScoreKeys: Seq[ScoreKey] = { - for { - modelVersion <- ModelVersions - topicEmbeddingType <- TopicEmbeddingTypes - tweetEmbeddingType <- TweetEmbeddingTypes - } yield { - ScoreKey( - topicEmbeddingType = topicEmbeddingType, - tweetEmbeddingType = tweetEmbeddingType, - modelVersion = modelVersion - ) - } - } - case class ScoreKey( - topicEmbeddingType: EmbeddingType, - tweetEmbeddingType: EmbeddingType, - modelVersion: ModelVersion) - - def getRawScoresMap( - topicId: TopicId, - tweetId: TweetId, - scoreKeys: Seq[ScoreKey], - uniformScoringStore: ReadableStore[ThriftScoreId, ThriftScore] - ): Future[Map[ScoreKey, Double]] = { - val scoresMapFut = scoreKeys.map { key => - val scoreInternalId = ScoreInternalId.SimClustersEmbeddingPairScoreId( - ThriftSimClustersEmbeddingPairScoreId( - buildTopicEmbedding(topicId, key.topicEmbeddingType, key.modelVersion), - SimClustersEmbeddingId( - key.tweetEmbeddingType, - key.modelVersion, - InternalId.TweetId(tweetId)) - )) - val scoreFut = uniformScoringStore - .get( - ThriftScoreId( - algorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, // Hard code as cosine sim - internalId = scoreInternalId - )) - key -> scoreFut - }.toMap - - Future - .collect(scoresMapFut).map(_.collect { - case (key, Some(ThriftScore(score))) => - (key, score) - }) - } -} diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD deleted file mode 100644 index 1c617e9a0..000000000 --- a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD +++ /dev/null @@ -1,20 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/github/ben-manes/caffeine", - "finatra/inject/inject-core/src/main/scala", - "representation-scorer/server/src/main/scala/com/twitter/representationscorer/common", - "representation-scorer/server/src/main/scala/com/twitter/representationscorer/scorestore", - "representation-scorer/server/src/main/thrift:thrift-scala", - "src/thrift/com/twitter/twistly:twistly-scala", - "stitch/stitch-core", - "stitch/stitch-core:cache", - "strato/config/columns/recommendations/twistly:twistly-strato-client", - "strato/config/columns/recommendations/user-signal-service:user-signal-service-strato-client", - "strato/src/main/scala/com/twitter/strato/client", - "user-signal-service/thrift/src/main/thrift:thrift-scala", - "util/util-core", - ], -) diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..536e20f4005d66fbd2037874dd8354bb29c61fbf GIT binary patch literal 36960 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 B9)AD; literal 0 HcmV?d00001 diff --git a/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Engagements.docx b/representation-scorer/server/src/main/scala/com/twitter/representationscorer/twistlyfeatures/Engagements.docx new file mode 100644 index 0000000000000000000000000000000000000000..c49d547d28b536b84a88e43df8482817f9ab2594 GIT binary patch literal 37393 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