From eb3e2f9bcfd85b4e0d12b3c0b634ae9f579a9e1f Mon Sep 17 00:00:00 2001 From: Ari Archer Date: Tue, 23 Jan 2024 19:05:33 +0200 Subject: [PATCH] [docx] split commit for file 800 Signed-off-by: Ari Archer --- .../source_signal/FrsSourceSignalFetcher.docx | Bin 0 -> 37440 bytes .../FrsSourceSignalFetcher.scala | 65 ---- .../cr_mixer/source_signal/FrsStore.docx | Bin 0 -> 37646 bytes .../cr_mixer/source_signal/FrsStore.scala | 81 ----- .../RealGraphInSourceGraphFetcher.docx | Bin 0 -> 37426 bytes .../RealGraphInSourceGraphFetcher.scala | 55 --- .../RealGraphOonSourceGraphFetcher.docx | Bin 0 -> 37442 bytes .../RealGraphOonSourceGraphFetcher.scala | 55 --- .../cr_mixer/source_signal/SourceFetcher.docx | Bin 0 -> 38038 bytes .../source_signal/SourceFetcher.scala | 101 ------ .../source_signal/SourceGraphFetcher.docx | Bin 0 -> 37510 bytes .../source_signal/SourceGraphFetcher.scala | 70 ---- .../source_signal/SourceInfoRouter.docx | Bin 0 -> 37373 bytes .../source_signal/SourceInfoRouter.scala | 68 ---- .../source_signal/SourceSignalFetcher.docx | Bin 0 -> 37334 bytes .../source_signal/SourceSignalFetcher.scala | 45 --- .../source_signal/UssSourceSignalFetcher.docx | Bin 0 -> 38505 bytes .../UssSourceSignalFetcher.scala | 160 --------- .../cr_mixer/source_signal/UssStore.docx | Bin 0 -> 38343 bytes .../cr_mixer/source_signal/UssStore.scala | 209 ------------ .../scala/com/twitter/cr_mixer/util/BUILD | 29 -- .../com/twitter/cr_mixer/util/BUILD.docx | Bin 0 -> 37096 bytes .../util/CandidateGenerationKeyUtil.docx | Bin 0 -> 37183 bytes .../util/CandidateGenerationKeyUtil.scala | 39 --- .../util/CountWeightedInterleaveUtil.docx | Bin 0 -> 38835 bytes .../util/CountWeightedInterleaveUtil.scala | 180 ---------- .../cr_mixer/util/EarlybirdSearchUtil.docx | Bin 0 -> 38280 bytes .../cr_mixer/util/EarlybirdSearchUtil.scala | 130 -------- .../twitter/cr_mixer/util/InterleaveUtil.docx | Bin 0 -> 38556 bytes .../cr_mixer/util/InterleaveUtil.scala | 160 --------- .../twitter/cr_mixer/util/MetricTagUtil.docx | Bin 0 -> 38311 bytes .../twitter/cr_mixer/util/MetricTagUtil.scala | 135 -------- .../util/SignalTimestampStatsUtil.docx | Bin 0 -> 37450 bytes .../util/SignalTimestampStatsUtil.scala | 66 ---- cr-mixer/thrift/src/main/thrift/BUILD | 48 --- cr-mixer/thrift/src/main/thrift/BUILD.docx | Bin 0 -> 37030 bytes cr-mixer/thrift/src/main/thrift/ads.docx | Bin 0 -> 37078 bytes cr-mixer/thrift/src/main/thrift/ads.thrift | 33 -- .../main/thrift/candidate_generation_key.docx | Bin 0 -> 36979 bytes .../thrift/candidate_generation_key.thrift | 21 -- cr-mixer/thrift/src/main/thrift/cr_mixer.docx | Bin 0 -> 37812 bytes .../thrift/src/main/thrift/cr_mixer.thrift | 104 ------ .../src/main/thrift/frs_based_tweet.docx | Bin 0 -> 37296 bytes .../src/main/thrift/frs_based_tweet.thrift | 35 -- .../thrift/src/main/thrift/metric_tags.docx | Bin 0 -> 37384 bytes .../thrift/src/main/thrift/metric_tags.thrift | 44 --- cr-mixer/thrift/src/main/thrift/product.docx | Bin 0 -> 36979 bytes .../thrift/src/main/thrift/product.thrift | 19 -- .../src/main/thrift/product_context.docx | Bin 0 -> 36930 bytes .../src/main/thrift/product_context.thrift | 21 -- .../thrift/src/main/thrift/related_tweet.docx | Bin 0 -> 37027 bytes .../src/main/thrift/related_tweet.thrift | 24 -- .../src/main/thrift/related_video_tweet.docx | Bin 0 -> 37013 bytes .../main/thrift/related_video_tweet.thrift | 23 -- cr-mixer/thrift/src/main/thrift/scribe.docx | Bin 0 -> 38089 bytes cr-mixer/thrift/src/main/thrift/scribe.thrift | 168 ---------- .../thrift/src/main/thrift/source_type.docx | Bin 0 -> 38298 bytes .../thrift/src/main/thrift/source_type.thrift | 123 ------- .../thrift/src/main/thrift/topic_tweet.docx | Bin 0 -> 37017 bytes .../thrift/src/main/thrift/topic_tweet.thrift | 28 -- cr-mixer/thrift/src/main/thrift/uteg.docx | Bin 0 -> 37200 bytes cr-mixer/thrift/src/main/thrift/uteg.thrift | 31 -- .../thrift/src/main/thrift/validation.docx | Bin 0 -> 36959 bytes .../thrift/src/main/thrift/validation.thrift | 19 -- docs/system-diagram.png | Bin 95955 -> 0 bytes follow-recommendations-service/BUILD | 48 --- follow-recommendations-service/BUILD.docx | Bin 0 -> 37222 bytes follow-recommendations-service/CONFIG.docx | Bin 0 -> 36976 bytes follow-recommendations-service/CONFIG.ini | 24 -- .../FRS_architecture.png | Bin 181765 -> 0 bytes follow-recommendations-service/README.docx | Bin 0 -> 38378 bytes follow-recommendations-service/README.md | 40 --- .../follow_recommendations/common/base/BUILD | 18 - .../common/base/BUILD.docx | Bin 0 -> 36948 bytes .../common/base/CandidateSourceRegistry.docx | Bin 0 -> 37152 bytes .../common/base/CandidateSourceRegistry.scala | 36 -- .../common/base/EnrichedCandidateSource.docx | Bin 0 -> 38011 bytes .../common/base/EnrichedCandidateSource.scala | 164 --------- .../common/base/ParamPredicate.docx | Bin 0 -> 36925 bytes .../common/base/ParamPredicate.scala | 17 - .../common/base/Predicate.docx | Bin 0 -> 39500 bytes .../common/base/Predicate.scala | 282 ---------------- .../common/base/PredicateResult.docx | Bin 0 -> 36858 bytes .../common/base/PredicateResult.scala | 18 - .../common/base/Ranker.docx | Bin 0 -> 37634 bytes .../common/base/Ranker.scala | 90 ----- .../common/base/RecommendationFlow.docx | Bin 0 -> 39579 bytes .../common/base/RecommendationFlow.scala | 250 -------------- .../common/base/SideEffectsUtil.docx | Bin 0 -> 37003 bytes .../common/base/SideEffectsUtil.scala | 24 -- .../common/base/StatsUtil.docx | Bin 0 -> 38631 bytes .../common/base/StatsUtil.scala | 272 --------------- .../common/base/Transform.docx | Bin 0 -> 37555 bytes .../common/base/Transform.scala | 85 ----- .../addressbook/AddressBookParams.docx | Bin 0 -> 36913 bytes .../addressbook/AddressBookParams.scala | 9 - .../candidate_sources/addressbook/BUILD | 27 -- .../candidate_sources/addressbook/BUILD.docx | Bin 0 -> 37082 bytes .../addressbook/ForwardEmailBookSource.docx | Bin 0 -> 37730 bytes .../addressbook/ForwardEmailBookSource.scala | 74 ----- .../addressbook/ForwardPhoneBookSource.docx | Bin 0 -> 37727 bytes .../addressbook/ForwardPhoneBookSource.scala | 72 ---- .../candidate_sources/addressbook/README.docx | Bin 0 -> 36755 bytes .../candidate_sources/addressbook/README.md | 4 - .../addressbook/ReverseEmailBookSource.docx | Bin 0 -> 37837 bytes .../addressbook/ReverseEmailBookSource.scala | 78 ----- .../addressbook/ReversePhoneBookSource.docx | Bin 0 -> 37833 bytes .../addressbook/ReversePhoneBookSource.scala | 77 ----- .../common/candidate_sources/base/BUILD | 23 -- .../common/candidate_sources/base/BUILD.docx | Bin 0 -> 37095 bytes .../base/CachedCandidateSource.docx | Bin 0 -> 37091 bytes .../base/CachedCandidateSource.scala | 26 -- .../base/ExperimentalCandidateSource.docx | Bin 0 -> 37630 bytes .../base/ExperimentalCandidateSource.scala | 66 ---- .../base/RealGraphExpansionRepository.docx | Bin 0 -> 39172 bytes .../base/RealGraphExpansionRepository.scala | 208 ------------ .../base/SimilarUserExpanderParams.docx | Bin 0 -> 37048 bytes .../base/SimilarUserExpanderParams.scala | 31 -- .../base/SimilarUserExpanderRepository.docx | Bin 0 -> 39666 bytes .../base/SimilarUserExpanderRepository.scala | 313 ------------------ .../SocialProofEnforcedCandidateSource.docx | Bin 0 -> 37764 bytes .../SocialProofEnforcedCandidateSource.scala | 86 ----- ...lProofEnforcedCandidateSourceFSConfig.docx | Bin 0 -> 37064 bytes ...ProofEnforcedCandidateSourceFSConfig.scala | 30 -- ...ialProofEnforcedCandidateSourceParams.docx | Bin 0 -> 37199 bytes ...alProofEnforcedCandidateSourceParams.scala | 56 ---- .../base/StratoFetcherSource.docx | Bin 0 -> 37053 bytes .../base/StratoFetcherSource.scala | 27 -- .../base/StratoFetcherWithUnitViewSource.docx | Bin 0 -> 36853 bytes .../StratoFetcherWithUnitViewSource.scala | 9 - .../base/TweetAuthorsCandidateSource.docx | Bin 0 -> 37491 bytes .../base/TweetAuthorsCandidateSource.scala | 71 ---- .../base/TwoHopExpansionCandidateSource.docx | Bin 0 -> 37310 bytes .../base/TwoHopExpansionCandidateSource.scala | 46 --- .../crowd_search_accounts/BUILD | 22 -- .../crowd_search_accounts/BUILD.docx | Bin 0 -> 37071 bytes .../CrowdSearchAccountsFSConfig.docx | Bin 0 -> 36944 bytes .../CrowdSearchAccountsFSConfig.scala | 18 - .../CrowdSearchAccountsParams.docx | Bin 0 -> 37210 bytes .../CrowdSearchAccountsParams.scala | 32 -- .../CrowdSearchAccountsSource.docx | Bin 0 -> 38142 bytes .../CrowdSearchAccountsSource.scala | 111 ------- .../crowd_search_accounts/README.docx | Bin 0 -> 36842 bytes .../crowd_search_accounts/README.md | 4 - .../common/candidate_sources/geo/BUILD | 23 -- .../common/candidate_sources/geo/BUILD.docx | Bin 0 -> 37034 bytes .../geo/BasePopGeoHashSource.docx | Bin 0 -> 37632 bytes .../geo/BasePopGeoHashSource.scala | 74 ----- .../geo/PopCountryBackFillSource.docx | Bin 0 -> 37193 bytes .../geo/PopCountryBackFillSource.scala | 33 -- .../geo/PopCountrySource.docx | Bin 0 -> 37551 bytes .../geo/PopCountrySource.scala | 63 ---- .../geo/PopGeoQualityFollowSource.docx | Bin 0 -> 37850 bytes .../geo/PopGeoQualityFollowSource.scala | 99 ------ .../PopGeoQualityFollowSourceFSConfig.docx | Bin 0 -> 37000 bytes .../PopGeoQualityFollowSourceFSConfig.scala | 24 -- .../geo/PopGeoQualityFollowSourceParams.docx | Bin 0 -> 37046 bytes .../geo/PopGeoQualityFollowSourceParams.scala | 42 --- .../candidate_sources/geo/PopGeoSource.docx | Bin 0 -> 37488 bytes .../candidate_sources/geo/PopGeoSource.scala | 69 ---- .../geo/PopGeoSourceFSConfig.docx | Bin 0 -> 36953 bytes .../geo/PopGeoSourceFSConfig.scala | 20 -- .../geo/PopGeoSourceParams.docx | Bin 0 -> 36963 bytes .../geo/PopGeoSourceParams.scala | 30 -- .../geo/PopGeohashSource.docx | Bin 0 -> 37133 bytes .../geo/PopGeohashSource.scala | 36 -- .../common/candidate_sources/geo/README.docx | Bin 0 -> 36975 bytes .../common/candidate_sources/geo/README.md | 4 - .../ppmi_locale_follow/BUILD | 23 -- .../ppmi_locale_follow/BUILD.docx | Bin 0 -> 37027 bytes .../PPMILocaleFollowSource.docx | Bin 0 -> 37904 bytes .../PPMILocaleFollowSource.scala | 84 ----- .../PPMILocaleFollowSourceFSConfig.docx | Bin 0 -> 36993 bytes .../PPMILocaleFollowSourceFSConfig.scala | 24 -- .../PPMILocaleFollowSourceParams.docx | Bin 0 -> 36976 bytes .../PPMILocaleFollowSourceParams.scala | 22 -- .../ppmi_locale_follow/README.docx | Bin 0 -> 36974 bytes .../ppmi_locale_follow/README.md | 6 - .../candidate_sources/promoted_accounts/BUILD | 11 - .../promoted_accounts/BUILD.docx | Bin 0 -> 36816 bytes .../PromotedAccountsCandidateSource.docx | Bin 0 -> 38108 bytes .../PromotedAccountsCandidateSource.scala | 111 ------- .../promoted_accounts/README.docx | Bin 0 -> 36673 bytes .../promoted_accounts/README.md | 2 - .../common/candidate_sources/real_graph/BUILD | 24 -- .../candidate_sources/real_graph/BUILD.docx | Bin 0 -> 37037 bytes .../candidate_sources/real_graph/README.docx | Bin 0 -> 37070 bytes .../candidate_sources/real_graph/README.md | 6 - .../real_graph/RealGraphOonFSConfig.docx | Bin 0 -> 36998 bytes .../real_graph/RealGraphOonFSConfig.scala | 27 -- .../real_graph/RealGraphOonParams.docx | Bin 0 -> 37041 bytes .../real_graph/RealGraphOonParams.scala | 47 --- .../real_graph/RealGraphOonV2Source.docx | Bin 0 -> 37477 bytes .../real_graph/RealGraphOonV2Source.scala | 58 ---- .../real_graph/RealGraphSource.docx | Bin 0 -> 37306 bytes .../real_graph/RealGraphSource.scala | 40 --- .../candidate_sources/recent_engagement/BUILD | 29 -- .../recent_engagement/BUILD.docx | Bin 0 -> 37161 bytes .../recent_engagement/README.docx | Bin 0 -> 36732 bytes .../recent_engagement/README.md | 4 - .../RecentEngagementDirectFollowSource.docx | Bin 0 -> 37255 bytes .../RecentEngagementDirectFollowSource.scala | 38 --- ...RecentEngagementNonDirectFollowSource.docx | Bin 0 -> 37258 bytes ...ecentEngagementNonDirectFollowSource.scala | 38 --- .../RepeatedProfileVisitsFSConfig.docx | Bin 0 -> 36976 bytes .../RepeatedProfileVisitsFSConfig.scala | 22 -- .../RepeatedProfileVisitsParams.docx | Bin 0 -> 37303 bytes .../RepeatedProfileVisitsParams.scala | 37 --- .../RepeatedProfileVisitsSource.docx | Bin 0 -> 38862 bytes .../RepeatedProfileVisitsSource.scala | 157 --------- .../common/candidate_sources/salsa/BUILD | 21 -- .../common/candidate_sources/salsa/BUILD.docx | Bin 0 -> 37022 bytes .../candidate_sources/salsa/README.docx | Bin 0 -> 37314 bytes .../common/candidate_sources/salsa/README.md | 10 - ...ementDirectFollowSalsaExpansionSource.docx | Bin 0 -> 37248 bytes ...mentDirectFollowSalsaExpansionSource.scala | 40 --- .../salsa/SalsaExpander.docx | Bin 0 -> 38156 bytes .../salsa/SalsaExpander.scala | 117 ------- .../SalsaExpansionBasedCandidateSource.docx | Bin 0 -> 37252 bytes .../SalsaExpansionBasedCandidateSource.scala | 32 -- .../common/candidate_sources/sims/BUILD | 24 -- .../common/candidate_sources/sims/BUILD.docx | Bin 0 -> 37047 bytes .../sims/CacheBasedSimsStore.docx | Bin 0 -> 37414 bytes .../sims/CacheBasedSimsStore.scala | 50 --- .../sims/DBV2SimsRefreshStore.docx | Bin 0 -> 37157 bytes .../sims/DBV2SimsRefreshStore.scala | 35 -- .../candidate_sources/sims/DBV2SimsStore.docx | Bin 0 -> 37197 bytes .../sims/DBV2SimsStore.scala | 38 --- .../sims/Follow2vecNearestNeighborsStore.docx | Bin 0 -> 37655 bytes .../Follow2vecNearestNeighborsStore.scala | 69 ---- .../common/candidate_sources/sims/README.docx | Bin 0 -> 38355 bytes .../common/candidate_sources/sims/README.md | 32 -- .../sims/SimsExperimentalStore.docx | Bin 0 -> 37161 bytes .../sims/SimsExperimentalStore.scala | 36 -- .../sims/SimsSourceFSConfig.docx | Bin 0 -> 36890 bytes .../sims/SimsSourceFSConfig.scala | 14 - .../sims/SimsSourceParams.docx | Bin 0 -> 36892 bytes .../sims/SimsSourceParams.scala | 16 - .../candidate_sources/sims/SimsStore.docx | Bin 0 -> 37185 bytes .../candidate_sources/sims/SimsStore.scala | 36 -- .../sims/StratoBasedSimsCandidateSource.docx | Bin 0 -> 37148 bytes .../sims/StratoBasedSimsCandidateSource.scala | 40 --- ...oBasedSimsCandidateSourceWithUnitView.docx | Bin 0 -> 36879 bytes ...BasedSimsCandidateSourceWithUnitView.scala | 10 - .../sims/SwitchingSimsSource.docx | Bin 0 -> 37353 bytes .../sims/SwitchingSimsSource.scala | 55 --- .../candidate_sources/sims_expansion/BUILD | 23 -- .../sims_expansion/BUILD.docx | Bin 0 -> 36996 bytes .../DBV2SimsExpansionParams.docx | Bin 0 -> 37009 bytes .../DBV2SimsExpansionParams.scala | 22 -- .../sims_expansion/README.docx | Bin 0 -> 36925 bytes .../sims_expansion/README.md | 6 - .../RecentEngagementSimilarUsersFSConfig.docx | Bin 0 -> 36902 bytes ...RecentEngagementSimilarUsersFSConfig.scala | 14 - .../RecentEngagementSimilarUsersParams.docx | Bin 0 -> 36933 bytes .../RecentEngagementSimilarUsersParams.scala | 17 - .../RecentEngagementSimilarUsersSource.docx | Bin 0 -> 38111 bytes .../RecentEngagementSimilarUsersSource.scala | 113 ------- .../RecentFollowingSimilarUsersParams.docx | Bin 0 -> 36986 bytes .../RecentFollowingSimilarUsersParams.scala | 29 -- .../RecentFollowingSimilarUsersSource.docx | Bin 0 -> 37823 bytes .../RecentFollowingSimilarUsersSource.scala | 99 ------ ...agementDirectFollowSimilarUsersSource.docx | Bin 0 -> 37442 bytes ...gementDirectFollowSimilarUsersSource.scala | 53 --- .../SimsExpansionBasedCandidateSource.docx | Bin 0 -> 38140 bytes .../SimsExpansionBasedCandidateSource.scala | 114 ------- .../sims_expansion/SimsExpansionFSConfig.docx | Bin 0 -> 37051 bytes .../SimsExpansionFSConfig.scala | 26 -- .../SimsExpansionSourceParams.docx | Bin 0 -> 36920 bytes .../SimsExpansionSourceParams.scala | 17 - .../candidate_sources/socialgraph/BUILD | 18 - .../candidate_sources/socialgraph/BUILD.docx | Bin 0 -> 36946 bytes .../candidate_sources/socialgraph/README.docx | Bin 0 -> 36863 bytes .../candidate_sources/socialgraph/README.md | 6 - ...llowingRecentFollowingExpansionSource.docx | Bin 0 -> 38072 bytes ...lowingRecentFollowingExpansionSource.scala | 102 ------ ...ecentFollowingExpansionSourceFSConfig.docx | Bin 0 -> 36920 bytes ...centFollowingExpansionSourceFSConfig.scala | 16 - ...gRecentFollowingExpansionSourceParams.docx | Bin 0 -> 36846 bytes ...RecentFollowingExpansionSourceParams.scala | 10 - .../common/candidate_sources/stp/BUILD | 28 -- .../common/candidate_sources/stp/BUILD.docx | Bin 0 -> 37116 bytes .../stp/BaseOnlineSTPSource.docx | Bin 0 -> 37434 bytes .../stp/BaseOnlineSTPSource.scala | 55 --- .../candidate_sources/stp/Dbv2StpScorer.docx | Bin 0 -> 37199 bytes .../candidate_sources/stp/Dbv2StpScorer.scala | 30 -- .../candidate_sources/stp/EpStpScorer.docx | Bin 0 -> 37545 bytes .../candidate_sources/stp/EpStpScorer.scala | 65 ---- ...MutualFollowStrongTiePredictionSource.docx | Bin 0 -> 37614 bytes ...utualFollowStrongTiePredictionSource.scala | 61 ---- .../OfflineMutualFollowExpansionSource.docx | Bin 0 -> 37055 bytes .../OfflineMutualFollowExpansionSource.scala | 23 -- .../stp/OfflineStpSourceFsConfig.docx | Bin 0 -> 36891 bytes .../stp/OfflineStpSourceFsConfig.scala | 14 - .../stp/OfflineStpSourceParams.docx | Bin 0 -> 36882 bytes .../stp/OfflineStpSourceParams.scala | 9 - .../OfflineStpSourceWithDensePmiMatrix.docx | Bin 0 -> 37034 bytes .../OfflineStpSourceWithDensePmiMatrix.scala | 22 -- .../OfflineStpSourceWithLegacyPmiMatrix.docx | Bin 0 -> 37041 bytes .../OfflineStpSourceWithLegacyPmiMatrix.scala | 23 -- .../OfflineStrongTiePredictionBaseSource.docx | Bin 0 -> 37460 bytes ...OfflineStrongTiePredictionBaseSource.scala | 57 ---- .../stp/OfflineStrongTiePredictionSource.docx | Bin 0 -> 37334 bytes .../OfflineStrongTiePredictionSource.scala | 44 --- .../stp/OnlineSTPSourceFSConfig.docx | Bin 0 -> 36906 bytes .../stp/OnlineSTPSourceFSConfig.scala | 15 - .../stp/OnlineSTPSourceParams.docx | Bin 0 -> 37069 bytes .../stp/OnlineSTPSourceParams.scala | 19 -- .../stp/OnlineSTPSourceScorer.docx | Bin 0 -> 37066 bytes .../stp/OnlineSTPSourceScorer.scala | 29 -- .../OnlineSTPSourceWithDeepbirdV2Scorer.docx | Bin 0 -> 38052 bytes .../OnlineSTPSourceWithDeepbirdV2Scorer.scala | 76 ----- .../stp/OnlineSTPSourceWithEPScorer.docx | Bin 0 -> 37585 bytes .../stp/OnlineSTPSourceWithEPScorer.scala | 58 ---- .../common/candidate_sources/stp/README.docx | Bin 0 -> 38044 bytes .../common/candidate_sources/stp/README.md | 47 --- .../stp/STPFirstDegreeFetcher.docx | Bin 0 -> 38774 bytes .../stp/STPFirstDegreeFetcher.scala | 155 --------- .../stp/STPGraphBuilder.docx | Bin 0 -> 37179 bytes .../stp/STPGraphBuilder.scala | 32 -- .../stp/STPSecondDegreeFetcher.docx | Bin 0 -> 38024 bytes .../stp/STPSecondDegreeFetcher.scala | 94 ------ ...orcedOfflineStrongTiePredictionSource.docx | Bin 0 -> 37057 bytes ...rcedOfflineStrongTiePredictionSource.scala | 28 -- .../common/candidate_sources/stp/img.png | Bin 54417 -> 0 bytes .../top_organic_follows_accounts/BUILD | 22 -- .../top_organic_follows_accounts/BUILD.docx | Bin 0 -> 37072 bytes .../top_organic_follows_accounts/README.docx | Bin 0 -> 36716 bytes .../top_organic_follows_accounts/README.md | 2 - .../TopOrganicFollowsAccountsFSConfig.docx | Bin 0 -> 36949 bytes .../TopOrganicFollowsAccountsFSConfig.scala | 18 - .../TopOrganicFollowsAccountsParams.docx | Bin 0 -> 37197 bytes .../TopOrganicFollowsAccountsParams.scala | 31 -- .../TopOrganicFollowsAccountsSource.docx | Bin 0 -> 38132 bytes .../TopOrganicFollowsAccountsSource.scala | 110 ------ .../candidate_sources/triangular_loops/BUILD | 21 -- .../triangular_loops/BUILD.docx | Bin 0 -> 36998 bytes .../triangular_loops/README.docx | Bin 0 -> 36837 bytes .../triangular_loops/README.md | 5 - .../TriangularLoopsFSConfig.docx | Bin 0 -> 36871 bytes .../TriangularLoopsFSConfig.scala | 12 - .../TriangularLoopsParams.docx | Bin 0 -> 36849 bytes .../TriangularLoopsParams.scala | 11 - .../TriangularLoopsSource.docx | Bin 0 -> 37847 bytes .../TriangularLoopsSource.scala | 91 ----- .../two_hop_random_walk/BUILD | 20 -- .../two_hop_random_walk/BUILD.docx | Bin 0 -> 36979 bytes .../two_hop_random_walk/README.docx | Bin 0 -> 36999 bytes .../two_hop_random_walk/README.md | 7 - .../TwoHopRandomWalkSource.docx | Bin 0 -> 37239 bytes .../TwoHopRandomWalkSource.scala | 40 --- .../candidate_sources/user_user_graph/BUILD | 18 - .../user_user_graph/BUILD.docx | Bin 0 -> 36963 bytes .../user_user_graph/README.docx | Bin 0 -> 36837 bytes .../user_user_graph/README.md | 4 - .../UserUserGraphCandidateSource.docx | Bin 0 -> 38241 bytes .../UserUserGraphCandidateSource.scala | 125 ------- .../UserUserGraphFSConfig.docx | Bin 0 -> 36918 bytes .../UserUserGraphFSConfig.scala | 15 - .../user_user_graph/UserUserGraphParams.docx | Bin 0 -> 37000 bytes .../user_user_graph/UserUserGraphParams.scala | 19 -- .../addressbook/AddressbookClient.docx | Bin 0 -> 38617 bytes .../addressbook/AddressbookClient.scala | 221 ------------- .../addressbook/AddressbookModule.docx | Bin 0 -> 36848 bytes .../addressbook/AddressbookModule.scala | 10 - .../common/clients/addressbook/BUILD | 21 -- .../common/clients/addressbook/BUILD.docx | Bin 0 -> 36987 bytes .../common/clients/addressbook/models/BUILD | 10 - .../clients/addressbook/models/BUILD.docx | Bin 0 -> 36799 bytes .../clients/addressbook/models/Contact.docx | Bin 0 -> 36983 bytes .../clients/addressbook/models/Contact.scala | 29 -- .../clients/addressbook/models/EdgeType.docx | Bin 0 -> 36838 bytes .../clients/addressbook/models/EdgeType.scala | 16 - .../addressbook/models/QueryOption.docx | Bin 0 -> 36930 bytes .../addressbook/models/QueryOption.scala | 24 -- .../addressbook/models/RecordIdentifier.docx | Bin 0 -> 36838 bytes .../addressbook/models/RecordIdentifier.scala | 10 - .../common/clients/adserver/AdRequest.docx | Bin 0 -> 37280 bytes .../common/clients/adserver/AdRequest.scala | 45 --- .../clients/adserver/AdserverClient.docx | Bin 0 -> 36928 bytes .../clients/adserver/AdserverClient.scala | 16 - .../clients/adserver/AdserverModule.docx | Bin 0 -> 36942 bytes .../clients/adserver/AdserverModule.scala | 15 - .../common/clients/adserver/BUILD | 14 - .../common/clients/adserver/BUILD.docx | Bin 0 -> 36890 bytes .../common/clients/cache/BUILD | 15 - .../common/clients/cache/BUILD.docx | Bin 0 -> 36843 bytes .../common/clients/cache/MemcacheClient.docx | Bin 0 -> 38129 bytes .../common/clients/cache/MemcacheClient.scala | 121 ------- .../common/clients/cache/MemcacheModule.docx | Bin 0 -> 37073 bytes .../common/clients/cache/MemcacheModule.scala | 30 -- .../common/clients/cache/ThriftBijection.docx | Bin 0 -> 37280 bytes .../clients/cache/ThriftBijection.scala | 81 ----- .../common/clients/common/BUILD | 11 - .../common/clients/common/BUILD.docx | Bin 0 -> 36848 bytes .../clients/common/BaseClientModule.docx | Bin 0 -> 36992 bytes .../clients/common/BaseClientModule.scala | 20 -- 397 files changed, 10228 deletions(-) create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsSourceSignalFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsSourceSignalFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsStore.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsStore.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphInSourceGraphFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphInSourceGraphFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphOonSourceGraphFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphOonSourceGraphFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.scala delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD.docx create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CandidateGenerationKeyUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CandidateGenerationKeyUtil.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/MetricTagUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/MetricTagUtil.scala create mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.docx delete mode 100644 cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.scala delete mode 100644 cr-mixer/thrift/src/main/thrift/BUILD create mode 100644 cr-mixer/thrift/src/main/thrift/BUILD.docx create mode 100644 cr-mixer/thrift/src/main/thrift/ads.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/ads.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/candidate_generation_key.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/candidate_generation_key.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/cr_mixer.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/cr_mixer.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/frs_based_tweet.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/frs_based_tweet.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/metric_tags.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/metric_tags.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/product.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/product.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/product_context.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/product_context.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/related_tweet.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/related_tweet.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/related_video_tweet.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/related_video_tweet.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/scribe.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/scribe.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/source_type.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/source_type.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/topic_tweet.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/topic_tweet.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/uteg.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/uteg.thrift create mode 100644 cr-mixer/thrift/src/main/thrift/validation.docx delete mode 100644 cr-mixer/thrift/src/main/thrift/validation.thrift delete mode 100644 docs/system-diagram.png delete mode 100644 follow-recommendations-service/BUILD create mode 100644 follow-recommendations-service/BUILD.docx create mode 100644 follow-recommendations-service/CONFIG.docx delete mode 100644 follow-recommendations-service/CONFIG.ini delete mode 100644 follow-recommendations-service/FRS_architecture.png create mode 100644 follow-recommendations-service/README.docx delete mode 100644 follow-recommendations-service/README.md delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/CandidateSourceRegistry.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/CandidateSourceRegistry.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/EnrichedCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/EnrichedCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Ranker.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Ranker.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/SideEffectsUtil.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/SideEffectsUtil.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/StatsUtil.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/StatsUtil.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Transform.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Transform.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/AddressBookParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/AddressBookParams.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ForwardEmailBookSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ForwardEmailBookSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ForwardPhoneBookSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ForwardPhoneBookSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ReverseEmailBookSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ReverseEmailBookSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ReversePhoneBookSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/addressbook/ReversePhoneBookSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/CachedCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/CachedCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/ExperimentalCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/ExperimentalCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/RealGraphExpansionRepository.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/RealGraphExpansionRepository.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SimilarUserExpanderParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SimilarUserExpanderParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SimilarUserExpanderRepository.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SimilarUserExpanderRepository.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/SocialProofEnforcedCandidateSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/StratoFetcherSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/StratoFetcherSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/StratoFetcherWithUnitViewSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/StratoFetcherWithUnitViewSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/TweetAuthorsCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/TweetAuthorsCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/TwoHopExpansionCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/base/TwoHopExpansionCandidateSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/CrowdSearchAccountsSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/crowd_search_accounts/README.md delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/BasePopGeoHashSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/BasePopGeoHashSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopCountryBackFillSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopCountryBackFillSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopCountrySource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopCountrySource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoQualityFollowSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeoSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeohashSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/PopGeohashSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/geo/README.md delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/PPMILocaleFollowSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/ppmi_locale_follow/README.md delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/PromotedAccountsCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/PromotedAccountsCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/promoted_accounts/README.md delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonV2Source.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphOonV2Source.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/RealGraphSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RecentEngagementDirectFollowSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RecentEngagementDirectFollowSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RecentEngagementNonDirectFollowSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RecentEngagementNonDirectFollowSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/recent_engagement/RepeatedProfileVisitsSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/RecentEngagementDirectFollowSalsaExpansionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/RecentEngagementDirectFollowSalsaExpansionSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/SalsaExpander.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/SalsaExpander.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/SalsaExpansionBasedCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/salsa/SalsaExpansionBasedCandidateSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/CacheBasedSimsStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/CacheBasedSimsStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/DBV2SimsRefreshStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/DBV2SimsRefreshStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/DBV2SimsStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/DBV2SimsStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/Follow2vecNearestNeighborsStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/Follow2vecNearestNeighborsStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsExperimentalStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsExperimentalStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsStore.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SimsStore.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/StratoBasedSimsCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/StratoBasedSimsCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/StratoBasedSimsCandidateSourceWithUnitView.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/StratoBasedSimsCandidateSourceWithUnitView.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SwitchingSimsSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims/SwitchingSimsSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/DBV2SimsExpansionParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/DBV2SimsExpansionParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentEngagementSimilarUsersSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentFollowingSimilarUsersParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentFollowingSimilarUsersParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentFollowingSimilarUsersSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentFollowingSimilarUsersSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentStrongEngagementDirectFollowSimilarUsersSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/RecentStrongEngagementDirectFollowSimilarUsersSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionBasedCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionBasedCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/sims_expansion/SimsExpansionSourceParams.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/socialgraph/RecentFollowingRecentFollowingExpansionSourceParams.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/BaseOnlineSTPSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/BaseOnlineSTPSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/Dbv2StpScorer.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/Dbv2StpScorer.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/EpStpScorer.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/EpStpScorer.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/MutualFollowStrongTiePredictionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/MutualFollowStrongTiePredictionSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineMutualFollowExpansionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineMutualFollowExpansionSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceFsConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceFsConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceWithDensePmiMatrix.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceWithDensePmiMatrix.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceWithLegacyPmiMatrix.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStpSourceWithLegacyPmiMatrix.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStrongTiePredictionBaseSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStrongTiePredictionBaseSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStrongTiePredictionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OfflineStrongTiePredictionSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceScorer.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceScorer.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceWithDeepbirdV2Scorer.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceWithDeepbirdV2Scorer.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceWithEPScorer.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/OnlineSTPSourceWithEPScorer.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPFirstDegreeFetcher.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPFirstDegreeFetcher.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPGraphBuilder.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPGraphBuilder.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPSecondDegreeFetcher.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/STPSecondDegreeFetcher.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/SocialProofEnforcedOfflineStrongTiePredictionSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/SocialProofEnforcedOfflineStrongTiePredictionSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/stp/img.png delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/top_organic_follows_accounts/TopOrganicFollowsAccountsSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/triangular_loops/TriangularLoopsSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/TwoHopRandomWalkSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/two_hop_random_walk/TwoHopRandomWalkSource.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/README.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/README.md create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphCandidateSource.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphCandidateSource.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphFSConfig.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphFSConfig.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphParams.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/user_user_graph/UserUserGraphParams.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/AddressbookClient.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/AddressbookClient.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/AddressbookModule.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/AddressbookModule.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/BUILD.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/Contact.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/Contact.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/EdgeType.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/EdgeType.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/QueryOption.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/QueryOption.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/RecordIdentifier.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/addressbook/models/RecordIdentifier.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdRequest.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdRequest.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdserverClient.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdserverClient.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdserverModule.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/AdserverModule.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/adserver/BUILD.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/MemcacheClient.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/MemcacheClient.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/MemcacheModule.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/MemcacheModule.scala create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/ThriftBijection.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/cache/ThriftBijection.scala delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/common/BUILD create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/common/BUILD.docx create mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/common/BaseClientModule.docx delete mode 100644 follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/clients/common/BaseClientModule.scala diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsSourceSignalFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsSourceSignalFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..35f310ee753951f8f31db09256be5e8eb33f1d8b GIT binary patch literal 37440 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

)iUvKcY@vkVQiQNT2S8mcAOQA3O|K*uCcXMeiq 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 oLFss*>ql=7BJ^KxN6KQTt-}CsR$vYS - convertSourceInfo(SourceType.FollowRecommendation, frsUsers) - } - } - } - - override def convertSourceInfo( - sourceType: SourceType, - signals: Seq[SignalConvertType] - ): Seq[SourceInfo] = { - signals.map { signal => - SourceInfo( - sourceType = sourceType, - internalId = InternalId.UserId(signal), - sourceEventTime = None - ) - } - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsStore.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/FrsStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..99c49a3be928eca72b58f556bb5f99d1f7a20a1e GIT binary patch literal 37646 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 tQ@C28p@P!!Lf4Pp9z^J0+JThCP+Nxq-mJhJ1j - Some(recommendationResponse.recommendations.collect { - case recommendation: Recommendation.User => - FrsQueryResult( - recommendation.user.userId, - recommendation.user.scoringDetails - .flatMap(_.score).getOrElse(0.0), - recommendation.user.scoringDetails - .flatMap(_.candidateSourceDetails.flatMap(_.primarySource)), - recommendation.user.scoringDetails - .flatMap(_.candidateSourceDetails.flatMap(_.candidateSourceScores)).map(_.toMap) - ) - }) - } - } else { - Future.None - } - } - - private def buildFollowRecommendationRequest( - query: Query - ): RecommendationRequest = { - RecommendationRequest( - clientContext = ClientContext( - userId = Some(query.userId), - countryCode = query.countryCodeOpt, - languageCode = query.languageCodeOpt), - displayLocation = query.displayLocation, - maxResults = Some(query.maxConsumerSeedsNum), - excludedIds = Some(query.excludedUserIds) - ) - } -} - -object FrsStore { - case class Query( - userId: UserId, - maxConsumerSeedsNum: Int, - displayLocation: DisplayLocation = DisplayLocation.ContentRecommender, - excludedUserIds: Seq[UserId] = Seq.empty, - languageCodeOpt: Option[String] = None, - countryCodeOpt: Option[String] = None) - - case class FrsQueryResult( - userId: UserId, - score: Double, - primarySource: Option[Int], - sourceWithScores: Option[Map[String, Double]]) -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphInSourceGraphFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphInSourceGraphFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..e13c8e3abe1a5774d2ac369278afb28bbd9fdb2b GIT binary patch literal 37426 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 - candidateSeq.candidates - .map { candidate => - // Bundle the userId with its score - (candidate.userId, candidate.score) - } - } - } - ) - rawSignals.map { - _.map { userWithScores => - convertGraphSourceInfo(userWithScores) - } - } - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphOonSourceGraphFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/RealGraphOonSourceGraphFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..ae28123e628d884a6eee431871408d5479a12a9c GIT binary patch literal 37442 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 - candidateSeq.candidates - .map { candidate => - // Bundle the userId with its score - (candidate.userId, candidate.score) - }.take(query.params(RealGraphOonParams.MaxConsumerSeedsNumParam)) - } - } - ) - rawSignals.map { - _.map { userWithScores => - convertGraphSourceInfo(userWithScores) - } - } - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..5b59d57173c688b1e1e7b66f573d50af3362d989 GIT binary patch literal 38038 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

{EW2Y3#&3F!}rRh{7j3x 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

`g3GDSPCRy;Y20RB{Z6kD80o1rM<8T{+L6m92li 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

_Z*@i9xge;{OI7mVhZKds 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.scala deleted file mode 100644 index ae2789432..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.scala +++ /dev/null @@ -1,66 +0,0 @@ -package com.twitter.cr_mixer.util - -import com.twitter.cr_mixer.model.CandidateGenerationInfo -import com.twitter.cr_mixer.model.RankedCandidate -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.cr_mixer.thriftscala.TweetRecommendation -import javax.inject.Inject -import com.twitter.finagle.stats.StatsReceiver -import javax.inject.Singleton -import com.twitter.relevance_platform.common.stats.BucketTimestampStats - -@Singleton -class SignalTimestampStatsUtil @Inject() (statsReceiver: StatsReceiver) { - import SignalTimestampStatsUtil._ - - private val signalDelayAgePerDayStats = - new BucketTimestampStats[TweetRecommendation]( - BucketTimestampStats.MillisecondsPerDay, - _.latestSourceSignalTimestampInMillis.getOrElse(0), - Some(SignalTimestampMaxDays))( - statsReceiver.scope("signal_timestamp_per_day") - ) // only stats past 90 days - private val signalDelayAgePerHourStats = - new BucketTimestampStats[TweetRecommendation]( - BucketTimestampStats.MillisecondsPerHour, - _.latestSourceSignalTimestampInMillis.getOrElse(0), - Some(SignalTimestampMaxHours))( - statsReceiver.scope("signal_timestamp_per_hour") - ) // only stats past 24 hours - private val signalDelayAgePerMinStats = - new BucketTimestampStats[TweetRecommendation]( - BucketTimestampStats.MillisecondsPerMinute, - _.latestSourceSignalTimestampInMillis.getOrElse(0), - Some(SignalTimestampMaxMins))( - statsReceiver.scope("signal_timestamp_per_min") - ) // only stats past 60 minutes - - def statsSignalTimestamp( - tweets: Seq[TweetRecommendation], - ): Seq[TweetRecommendation] = { - signalDelayAgePerMinStats.count(tweets) - signalDelayAgePerHourStats.count(tweets) - signalDelayAgePerDayStats.count(tweets) - } -} - -object SignalTimestampStatsUtil { - val SignalTimestampMaxMins = 60 // stats at most 60 mins - val SignalTimestampMaxHours = 24 // stats at most 24 hours - val SignalTimestampMaxDays = 90 // stats at most 90 days - - def buildLatestSourceSignalTimestamp(candidate: RankedCandidate): Option[Long] = { - val timestampSeq = candidate.potentialReasons - .collect { - case CandidateGenerationInfo(Some(SourceInfo(sourceType, _, Some(sourceEventTime))), _, _) - if sourceType == SourceType.TweetFavorite => - sourceEventTime.inMilliseconds - } - if (timestampSeq.nonEmpty) { - Some(timestampSeq.max(Ordering.Long)) - } else { - None - } - } -} diff --git a/cr-mixer/thrift/src/main/thrift/BUILD b/cr-mixer/thrift/src/main/thrift/BUILD deleted file mode 100644 index 3ccb85681..000000000 --- a/cr-mixer/thrift/src/main/thrift/BUILD +++ /dev/null @@ -1,48 +0,0 @@ -create_thrift_libraries( - base_name = "thrift", - sources = ["*.thrift"], - platform = "java8", - tags = ["bazel-compatible"], - dependency_roots = [ - "finatra-internal/thrift/src/main/thrift", - "product-mixer/core/src/main/thrift/com/twitter/product_mixer/core:thrift", - "src/thrift/com/twitter/ads/schema:common", - "src/thrift/com/twitter/ml/api:data", - "src/thrift/com/twitter/recos:recos-common", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift", - "src/thrift/com/twitter/timelines/render:thrift", - "strato/config/src/thrift/com/twitter/strato/graphql", - "strato/config/src/thrift/com/twitter/strato/graphql:api-media-graphql", - "strato/config/src/thrift/com/twitter/strato/graphql:topics-graphql", - ], - generate_languages = [ - "java", - "scala", - "strato", - ], - provides_java_name = "cr-mixer-thrift-java", - provides_scala_name = "cr-mixer-thrift-scala", -) - -create_thrift_libraries( - base_name = "cr-mixer-scribe", - sources = ["*.thrift"], - tags = ["bazel-compatible"], - dependency_roots = [ - "finatra-internal/thrift/src/main/thrift", - "product-mixer/core/src/main/thrift/com/twitter/product_mixer/core:thrift", - "src/thrift/com/twitter/ads/schema:common", - "src/thrift/com/twitter/ml/api:data", - "src/thrift/com/twitter/recos:recos-common", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift", - "src/thrift/com/twitter/timelines/render:thrift", - "strato/config/src/thrift/com/twitter/strato/graphql", - ], - generate_languages = [ - "java", - "scala", - "strato", - ], - provides_java_name = "cr-mixer-scribe-java", - provides_scala_name = "cr-mixer-scribe-scala", -) diff --git a/cr-mixer/thrift/src/main/thrift/BUILD.docx b/cr-mixer/thrift/src/main/thrift/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..53d4554519e6b9cc4c0b0c8e3059703e6d3c944f GIT binary patch literal 37030 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 z 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/ads.docx b/cr-mixer/thrift/src/main/thrift/ads.docx new file mode 100644 index 0000000000000000000000000000000000000000..b587bed715f39ea9065e3599bea236d5eeadc213 GIT binary patch literal 37078 zcmagFWmsIxwl<2pdvJGmcL)S`cMIA`aA-V0aCZyt?(PmDxLc4waQCmXWbd{2Ip^L# zlZUDruZ%Ifs^;u!WjRPFEHE%III!YW9_>oi!nh=GFt9NgFfdF|tDXeF;gf~KCnI%F zM++ANW)FM2#v}!$RZ+ChXD`^vEW)JT5~$c^JC3xDjB)sq)fqRuI!i1k@(>Sq6a3*C zGs>Yb%yF4%cfQ1{bwXV}P1Jf4k|zcRnOgbeki|av>tC5qEqV5&;>ctdWp;_?24QMi zGJW1nbAz+)*7WlmVT7EC=jsL~X+MBP(^ST2Vvr1lz^Mw2L5Ef6&+z1RP&lfq9*xlK zGJM<{Q+9iq@N*}BknoqvepzCs*37caKxhl#O$|3b*O2~f+z>zDQtLL!Q15J|;Z(QU zTZrN@ga|e9*?nA#;|Qj%H1b+acLT#F&-zR_jpy4;bVuc zPPDqO^-+)vzSo@uO6GA-ARSFTnL#2x-Q28#{e*`9 z2V>Ba^IWWV7+BNNk!idNh2ZJ0MP;O`wNt(eG}*vynCd8 zsymtI&Z0fn)xfW2@{GxJdM`;t1?b&zCQsgvh{fgaB!zpQ7mL^TM8@vOzdm6p7=kJP zM-@G( zlR9x)SOOLprKoPZ|zT>vkBo$`Zz#P=0t3RC)s}h$qqPLepDG4r3K)*)(M62cM z%QOps0Z7X?aeXPSZ2e*9{^eez>647Hzvxk{Bf46eqB$EbZvl#|6Xvyq?7?(&S!`=2 zPTOO<@<+Y$3+BTh2_-c{56Wwp$qtMGUaJPd;+dA+_xntg6q8zBQ@KT1@^kR3~t1m0>f91!s|SZ z&5&jx@gXFkac2SMUl4V$Usp|W)}FGZ==my>g8R;T9%nD9t@zExdLmTtkq~OKA!Rez z4CEKW_$dbJxH#uNPmyJ{s21fNimRb3EPvJ%ji+s+KqlS8qWc*TKpdVx5nqp9+FV2o zmWf`H2Oge0U?M+d2sOJ@4j<&aZ3pFsU!|+GbGV_$hQHc`y!xr8?a}O#%@0VViyZvx z{h+bxex?O&4GcTsiQ5A-5-K={s7jiudy6Lf)|V3(XQ$0+H%NnWq~=g0l;n4LGbbe# zqJepEYkF=QfPuo=;kmh;H6|A-f00k-EgUtNFHPgTG$|&)%=J8!VRs>`Q24CGyXy;U zwv0qstYWcDDA_id?~GlOUk~g3-rm2yTOwq*=edBwJF-GCq?>h@czy1>B>2y|T(7R; z9)s#)2L%R(_RqSQI6D4O7WHw5RaUf)Ck7~kPhYHI#Z>U(0~f?*B-Zh3;xn7)#>hX! zLAA2&0DT|Au=zf-+=L6%3p_Q9JuQk^!Zs*=)W9Bp_&TEOw2shN{bhK6b@G7R1*#0X z6kBr;-N4CcdaQCDh6(;tnwE0am^XR7>BI#wtfPw(!}O;W6w!?a@1k}^N1t!c7NSzW z+-mO!&XbfImo`#WSe3q%L%vjhEcYy#7UFupdvm0doP>-b4Po-a0X6PfZcV!!CXK5= zO2B5^c|P$G$_CN<(@mZEPxM?Xdp%siSqjl(Vn)ZyS)}^`gdezO1zV!PZ#UA8GucL9pG%v0{Yat+JhFS-*?8OwjN-W8wy1V%#4| z>COD{a>!x?*%`D(9qrSqbuge0Z|&w;h%opl z7Ope)li!+QR@T!1KRus9Qt*-=*l~A;k9%!+i>W8fcXY{E?v;-?-r+9%2oU2KBPAym zf$uElzu%;eK{Vr@#amWjRwy7*YjH>}C4K0mYF@z8d)lD{Ymfp6k?y)NpUYmVvNBhW&__DoHl%1#}#vm%4iE zcM5m-Ot_yM=HDI7C0HtPU=u1R$t3R+hJ}(H@VVSvbTUW3;yqEQeed;s&&|*468Gjx z8u;1lU6el^B)A+j_lbkfnTcp?r7dR-JXcS5Qx2=a48;$j=EZX>l!dr%0bW4^C~O}Q zau_G*>_kE5n+B}nBz2_))f6NcCK!d+>2fOyck5H^(%$I`80wlc3OV2ZDVtVkaEVkg-4pnTTSGu((7Pcm^ z^%HU0$Gs9D<>Q6!Y35 zb(cY5yk0~*qGdL@}ixR=m$=uLyl130OrA5$}F|rEaH}t}gTmkzR?vmDtR7qHKX7XoZ?`+*2>3A!b`i3eR8D%iXyoD6TMb zQk(R#;^0G~!ZSi`E7d?90%c>KgJ>&uRaC*Dv|9Y`z|p%@A1}2E0DR zygfWEo<$dnG#~F8+&`>ew5QCsKOM~eylD>&-97SrsS|v)e{0(aVF9j?7$z5=Pxl{$ zrtEExuO2s-zl!OQwyxLpewtq$_j3Ot^5&=w=tsY6 z-@V$u@pyMqKJwA%F0^>DAJ`~N+;0V3&K~yGad2BS`K)M?n=*M+BXTN|^@<}b@BIEk zd3!iC=-!BB^$8@(ebaB_1a*A)d3t@TfTI*_Wt{6`mWb?CcU-RwK*E{QaxsiCZR81l7ciLQMLEQwVN|E@; zWS@||4OBmLoAy?Z&r>JYKY!8<1)`@@;eTp}?>yhYZ%+{cdPbMl5%KUB==|#h?PN2 zy$m8MH2~0m`;0FGHt*gH?k8lHV1*qNS6wY2@ac=%C{H$DIs_R-NRq3k-DlQxV^!Jv zLYs#ZmMT%^9d7!6)@=G#VVUXJm_Da09_%@}RNxepJjS4(w>~YJT&dI945V4z2fcL| zR4q(DoyiFqPvv(`vZ$2NoDyLJ^)1Yn;Y&@K6t5_H9JnO0NdbFT&r5sH1qDIG+MBk8 zPry@7NhClkh9%3oBewZV$f7pC8}8G|>-kT6hD_q2@8~|*WVdkN#e9g2Xk{Y{DR>iv z&n(L|M%E;s)yZN$$f(GaV5lZ?lm|2JVKI=&F)e<8i&t#xuJGF=WVzQI>lnsbsOVtJ z$Ol)kyU1yNDaB9K{lfVAv~JxgP<1v?u>7Tljbl@GN!xxW0j+==@&lY|1_BjS?}4Nf z*-=7%Fk_>Rs(9?mCpt1Xs|~CkBe<&~f2?3nHBp3>4mwgq`;CgMd>J@Z3I>co$M|M{ z(##(Q0x@xD1=$_tAzM@ca2?)JJyA5pOB}S|gbwHtCh<$0*udBh=z`qeogYD+IDdCS zZBqik#r_&!)re2U48`J!IMOG(0r5BX31>VgloT|M?vGGi5LyTb_di1aq=G7?IkO@2 z_%DJp6$(%b!XGMU5|k186-D^|k~CQ?ME|B}c= z3Pfiwnz2Pd10l4z5UUz+xJnMA_mPjk|fa%JIu?XN&3-eTygks zPmV|uOrF!mXpC#6M46j|YoxcQK)0n#cjUps92xs#=lFxxUjttN)jI)IF=(ZB zzO;gUR}apNM^5in&Nl@XX6<>}SyGM<;&7(Nf0*$g>Tj?qxDlIo2Ib*z5-IM7+r)R8 z74Pk`J-qGts*E9=u{~e8`uVt@wIooY7H+tN)hygFsjU)Gji*VY zm#PkiRwONFbp6r&w)m)@ADZ&2%w7AFu(AfW`NM;LQbzkHtjT0F37Z`sab#Tit)Azi zF9u1c5_2AXhUI(oP#%(F97dVil!n{NbMoKfVO|92%Xd4qZ}U+2J{M6ga-K<C$~a-+3!5WI@;NnAmLGYpU?LhQK5yIv-eY;ERX)jiWo#X$13n37i2Ua z>#>_cx*`^Z_H8*#UmtijA`?E{qJpspuTUM#$#&9WO!Q&j&!(sS-DhfZzQsSXcTWWi zH|5p`0i|WzngaJfoieayNt!p$$lqSm=h~;;AFqcmUoVFSz1m-#Jb`zwNpA}$kF!6Y zj~rP|I$m2uvTj+Pr-z}vUcpe8Gdx>_p^P@$n^T5w$R1SVp16$Hg7ZsGU0hJ46vnB? zb8b^mWFiULI@C|IRa@nP0N<+SpPn(hyM0vrFSvA{H6$MzNFR^^PuMj$3^(yGO&^f$ z$lfg-r3Vm{C(EVJGIJG2nJc!t?+1(jx;o145Sr3rt8o=neOE(_0_HM({QNVv7y3dk zzi4_?wXmC<(8oQy;447KtT88v`s>*EeF)zaaoB`&T!lff#b)xV`Tjgig4LQ0FA7ay zAoEv&=9YvW4XS1g-2np>E!ST4vb6@T02GjJx4<*An3b7KOV-3gT?Gk@3LYM_K{W02fM0U*| z4-q!fBacLz3fJ-o_XD)HpG7{vP{D`Ly*jIE(gWsDdAMQd{SD5n^8-g z=cAz$72ub3?7%S)tKx!3zDQU%ZSYlrkz{+3h~5WEN9>s{k ze8{9?LBe-gsyxBJ(}1wz~kIn+#6-tHw2&KeC9u6zVVb;`1j{JcwLHOHERN*8yT zb_$f$KXXG>IJ~wbhaU#L^83@E z-ppIN_Cl^o8EcIDczN0=R_Gf#2Cb=v^dqd4>a*FQ*Mn0l|F5*0 z@|43Q@|ZRtSV#$bL+=t8AsuPku?OJnV`dHW2Eph4aV>&1_ed6_(DMzGWys@f z+^uBw;<60UA1Zmp>vl>I zH7opVlM7DPR99PNnq1nA+lzRXWp$nPZARJRsfLM~DPN^|WH}T+O!A7c?-n3h+F8}7 z6$lj<-e!_7yR1Na+q7&)D8%B7dfs`KSH&MI#}8<0bDFLwxgKm)R#3F;?jPal;335H zkeQ*5pw+?tXtF!|w8YWGLY1;d9@$&P2u7vAfcU7r7+vrH+uoJ?{882R@Es)vzO<~I zs#`0W_Y|Y_G8t1<#iQ|JV{wnzx?0c1lC1*X&2lNx-C@)nU-nxWioFn?Wv^wS!&m+^ zOTxN7fr7wp6<13fcEI8qRQy?OMf&^CBO2|a#_^0-CFxgUk@RO~`a;-V5)3r@rA%Py zt+SPWoWnT|0Ok1vnyhs?7_Z%rVX{{5Lref1n-OyTmmLV-Cnt3HM;zX#kdoaru+VXnq!l@Z zi}FNdsD5RbNrRHglB^yW#%9%sckt=;d{o)HqsL=H{=siH0eaH8*?uAQb*Po=aMqh@qhJ-##CbmXwA_i zjmqrUYzVgud;8Nkxd$zkR{iYuSH06m3272kTqdCci!G zft+(@skfosm8b_v5!m}y_=rZ;dA>Q-n5Q=FhQycW)X!J5mIRochj%tNq+O|5RQa|C zD-lHc7P6%WFR$lXXY-IDmYY-Y&Wd!B?S$WkgwG{iDqs%TEU9%d?^lrG+oZ<)gO?gI zR-rqxB2AgOS}z>c{Y!b&AG4hiTw56vfHosbkFJG3yB@2|oY9El|`eduwAfLr@lo zHA7%qEDYIM%k#@NdSmExt`7GXl({>6r^3P2!^bgiWk-l=!sKrm(JmeSJh_t>5Or{! zaTf5MX^@Kgn|IRkj;2;sw>X_9^fKt3*wagvUwLi=R@3vFRkq}ZIou%Hl78^}Z%{)n zrs;IRLerd&nZS4cPEo-O!NJzB49VIqiIlPK9{l3Huj{Ax8ma;a{75@}s#_X`kpaTb#KS07)qd+m`-i#V@P7 zlk)}$E;6Zic$qVic_9q4+fsEpv)qtkOJB0-F8CtGkk#O3%Wj3fwOb>M9F$_q;nvzu zl`U&R_)0fpor{Aj(WdO93F(&^Hpn$e)MX(Y?cJoy<{NtCzoR}fn1HQ1zQ(@!a2xTh zeHm%wxHLooR|NnH$3gOy?))RXzIONydFf^IGAlKgQE$`a zDwU(c0^On9gLzcQCyAO;hIqe$VJ(J~Qq!-;*2t>9r%Osgsi+X2Cie0F=fc4x{b^m^NklSubF6mueUz#X0 z7cKfbj>Rif*SSsQ_f(|Ju(YVXKzDxWAVRH-$zhqovs0tww{?<@Y4Iz`{0fOkHUWp^ zpSUkSbgv&>uBG>Bw1(A=E`6>VWU)%aOeZ4`^QOoqZFiU5w8|_$CdH|U`rbWaKrs%L zM2$mOmvP^1zJ$Nek5$`inNzE?&ybzd!VNmS<9BGoba>R|AetJbkk55kc}$Z6E+~jd zRL*N$>qTvR-2fzgai0Sqv(uM^(Fj(VN2>a1)0?CcuCJM9GjCUFj+fNmP$ylNEVG74 zxB`JfD~k)hU3{U8 zUSsTXG{nM6Ujj!9vXuD!riyl&C?UUgeR>K`)~^lsY5C5gsZQiaONX`Rfzg zJ8K-D6&&zUxA>+6x{;Qyv#2TxE7WLtqxl9nnXVc7`Prp|BL;~0Y3m&qS1fSPP|PBb ztA6-WIPDrfB1Ou7vzdJPFE&2c|4%mB5sv_#3!25a`h$1^1%K)a;?2bT#~h+wrliNJ{iFO0zV3 zNLb5EN%WFW$fqirJeNTks)G8NsK zKDRjIN_umk+7!FaXm-2(cQD>Q3*mAP%GmFiTsWjDR`t!e_#|!8T8U42>=~VG7Kd^nDKa zKu@$|3XUXW5d-6A^7^ciit5-jzC~8=9g7?tB)&HAXhlZpO~?d-560<4%jHxNblHUC zW^CtIX5oWab=zx(jMSNm0o*HC5OEM`;-t=CYH*TBVS^)xdobBM$!OM*$?|$B@}pVs_Ag+PaoEOa|v8~ga8?E*C)u4fQC27umB=6Ql>C%c`a=u zDNBJk9bCAPo7)LD-;;kMu5xyiLKSJP+Ei-G?^OZsErG?|1tH$LGkdoIp+tq***$eC z#yUL|-@k38V#BnaJ=wwv=#cXm5 z>STpFsLvG zc#DB;TKk#vMs{V*3^bs|1YWB})%XE(d*ktsJDH%MsXv2w|7TFrrP^WV>^POw9570lp}XcU~PB2NhC{zx&+?%+U_!ln~}+hE$)2`JMe)Jb-57!<_DLp~834-X>@!y1%BK4L zl@=A!{Suo*zaioygG>0}t-x6Q;`JYSs+Ddgy#{=Y;OPAUVX-0Y$WkkjS;GD3kT=mV zvVyCKJ~=w`bI6Ig8)f*6+qbGyeHb1T7J*bPHI$2yY?u)^f&&bpRNAJzjOcZa%_g!L zwX;^*rnwt4#-Ocuy^yz>^{vfQ4b+Y1yfJ+9x+P9>kGDMrV{ZsmE6^ZKyJ4HmkdLt! zqu(U_H?`a!)EFRYSh?T3?}^rp1>|JoKd9Zz$3fHr+<#Jkr^1Xt`9G*Hx(47o!gGu^ zd|Kak8p9t|mi1yd%w{t(2Dtws(+=!tqHI4F!Hl5r2-8B5s~K?ACO6-9=#S?%E1s?y z5bfOU#rVC;E_~PQJ%{uc`K{{+h+GZ!5AtR{{>y|o>VefWBFzqpgySp-#F@WiN% z^5tg~pf+*HcPUqleuYnSHs4R7Gpq9G!o6ufmeHzgV-`$T<)l$wiOAKxe^slo6V<3L z{TtU!L7PyiBZXbDaPqol$moCvQ)~eIjd;zRHyIk$F&Gu*(gdT(abu$dK9t+zIzu0+ z4Ye(B*F-Jrhdldfc(%3VG?blH***cy$M0$y?+rE_zbpWaFeYVnUl7RCVZK^p8>N=s zeI`p^08gj>wk8HVwJkS;g1f$McaIk1R9JW(k|^f4PB&k}RG1Abf?t|apX5=TEhsLF zZtK|Qtb7qxNS|$Z#FpelmYf~)w$M51tP3l0^)G_wY>&%%S~<#vgb;c;rLsg*NZ{(e z_*SZzPW|pqa+dR}HAEAK##PiT=g-ozd}aW@f^8=t>y)$74H{hma;D*OBOux9O!TWY zQLZ(_WcQDQt|tC30isIX-VFGXv*wck!B1rgMY2OeGn`Q$)BR86=Y4iL6}-xhO2!Ek zXIIX4OZgPajl?8pML8=wQpyT9!hTE_<&f+Nd`sqM>~r(FZdo=q*8d|YgNf#?hq3u-4q&>Q8t@YTJY<&y*OmNgnC$ZM&j1}qtDZCx4W z(0PXaX0JiKv0L-2iVvGcCe9BYK$~wWd=L`7Ix}dqdJ}wlaFB2a-b?0aF9=>sErUVs zXaFoY=(2R-9I^nfS*t#n5Py&R+&>K51geEpHj$L2goanF z^2R(g4r0O#j)Aq)jyoGRyCtPD97h?Tfz0CA9%Fd{(eXsP9b(E-Z!AdS!ab@tQ3LBL z5BYnUgc=FpoP`Vn--ZUEb^J#25UYgM4ZZk{#^QJjGdaYewKTpmfLPL8_8GUu{=Ciu zd;=!tT%7FJ!L2FV_OFG8G!xWbL^L|I4zM`L9z--Y(he|O%5dBt&^OR5v|PJCSq=R? zk+z|4n+>uLCUN=<7pM(IJ2kjEdQOHD2NBPK^1--Y6z&5@?WXeJQ8<2yRlb6$irU+N zJChoag0>kR;LI`@EF*|V@P^9A2s0)fU{`p3i1I8MuvcVOjg;g678fP(`HwtnIUAUG-X?+a`l=mOIO1ZR|SdkJjF?b?DaJQ*b#LS&60>*z7WV!f0W ze$rz}PHAidf?sLQpF_BZdf~A2xR+oW(w@3!Ou?EdF13S_cTxsQ-U%G+NPt}n)PE+= zK1ctrgN7r1CgITxTwMLJmXZ4&)V!%ABsq;yjg3lyBs@54V2i)L7LDz;h6cI?DynriO7 z?dU;RLc9z+L*Jz6Dvm-AJIh-d%y^=h`a-^rXY^#xHOH4j{{cJ((Jl6|(SiS}{9atC z(+Qrf8-=xd(3sPa7u`lIEvF|pSDJplU;MF1JqE!xftIiAl{ZKR9@eFU5i-ryIE8A|dc>XIjDY`AE?ZSYS-#iQeF^kgX zT=M-z@O_@F=>v)>LpOr4XDArx#+DLdobNMVz0|cK5oeq%o;1{>R&ni#+zEsF;sSAjEXxuzf%z7yOign&{F4fa$yZ&ik zYeW8i8>q*uyq!cO34$o$<8%F%x_DZANk#hloZZ1TpR}(wjf2 za28Ynh@d1uPE4mw;~=IG2Kin)xJ%bwG<0T@eMBseG*&nXQNz9uZG##JswonKP_#o_v> z;z}{8$U(7blQrpHy%u`3YXjYVDY0UABe7Dl^`0&e0Z7Dh-{_2$&g`-IoLd}7(pQiz z;7CgVseV4Y_@t0_>9zZ;e$LUj6`Bosa|1ztpNF4;04!1z86!%)<{yanDR<@G>e~DCTkta)_01Ze3rKL_zXb>8ltPRADY*By z;Pc;ts|b!=-Pj&9kL|j=p+(e5v>5J_NJj0-Nk--W0`};wP6~?o8(6vRlX*1m9|2f0R0JZLjVU9rb~6|H58$W)1YkgYOutsn3s%ExUzb&#lJYf)_T$P46Wcpd>*rQJJS7)Sz=rT|KbS;vNPFUz@4=oK=| zaf=K6{ZH&`^>c~TxuAky z6g~#2fo%tL1gikw`+PJrqo4s%qTH1*Tt;M#E|-VqH59CC0~_ug*1#k@ z!z9EN?v38!?Y&^`b6Tt;9N&im>%G94QgZ~o@gG1IcU<%EzJ`tFDV#9uaniS-@446s zh==Ay5tfhN^2ph0Ie%b>8itQ{M~@ch5@=XbxV6_*q~SHJ7yJFLUn<&(jCTY3zX6<- zeghnZ{{i55=N`BVHQWw2e9}W4y|n4UUy-Tk*kKtI31P*b9ZnFu)pBurh)M|fkk;wH z+cKu^zdP8Ehu}!)g9h1qA>8YE2^t>z^;9LxL(++ z39;OWCAf!eb&>&B0W4Da;XDt1rmPAxOLwCx@V) zP4;=Ol*ol*lu8|@m~U{3LCojRp%@TUwU@k)*c~dO2G-5dj?jy((BK`h1=UF2n0PoneNfU=#6=vaR}c)wX8P8l{5p_Pag#I=AuP_-CoXl%9>gA9=am=?304+^Lq&p` zFlT@d6%$aJ)S&e;Y4oddgGzXk^~6|U_}N1TbIag_Vnw934y^XFhaD5+Ek2&*o201) z#!s%|HGN|P=Edb9+Q4*8(9%n6K8g)u>?X|%eF!7SK)21ryurAr%I+<3LYg{Vi zN!`MeToaR`o-al$b5KX@@?|UJ$vgKGGcqukQ;sbxknvKr(-ap(%`CEyS6$*z+E421 zLJmARF7%kJERK+hmM~I>jkmG_!h1dmn~F7J&~&SIn#T-elRedwmBh== zbfit=(NH!!30pwoO8Z@h7-ucJxn}b5V{)3mJ}twztJ@S3ziFXig9({;P1$=Y%_262 ztIi(er3B?BY^ww9G|^ue49Bz#^+Tt26ICPZ1m8gAk*Vg}+b;?p-%GzUo(CA4T7U`( zKutdO6!unQw-vW@MO_#nc(AJ*Z__ZfxU8sHBF!8g+w$!TPa>;l2UjGY9)sE<|7S%Z zL>zr?gVSDMDnXfT`XE+OAy8p=8odTi;KlZYhWQUhFC8677;4R;1g>w|I;?k@eC-@C zAjX6w=&Qj<7e)SK&G4k~nz}435FOPEVipiPU-Jy4YyGT2Sdl{NTP=gVVk<1V@jyqs|fiEM#E1q@^c4wiE{e~L*&F8&tAUqT%95tGJY*UGqH+V6H zzk_IR##6pAEwJ2GJS4s<-MRz}P%5jOhpU_y!W|BU4M&frPFh0h*JFzo2z{%CQK3Ii ztq#WsIGr2>G%A)Te?MYE#@_PXfTO>Lr03jhF9#@-MdJC9*Phk8mBhB^A*s{aDNvV) zDvRNkY&~}IU`%P)i$nY2API3pnr+x*Dd!awtK!r55YVHmAHu4C?2=X7%Ij7Fdat4W@SI6@Nw-SNA(mW1Epo$Xyt_;4h7nCc` zk}HmwMeqoN4Pk4Cx>TIVsx`8Rg6+(s-W48{3n2z=kQ;~{=en&wf213db_UyYU%3E} z{lP7#I1j?-m`^OkP&5Rm3G)t_erakTqxQIH0*B^bDiBfsR1wm1MWk4+qFH6*S{Znt z#D}b(*8Bwp`_*+x@PbVInI7xiQZUk3`uDj-p*=E|vW!?si!(I1*hB?~9R`eDlHPV0 zJMol^ojnMtX_~5Tve5JV{kc)^IVkqYJ(}zlZ?(g#l8;d&)Io<@-`>DFvA*?y?L>*^ ziQZU_92y*Dkiiq6ahG5cl-T3ipb|}hrl)BK)ma@M`Gpba9avd&v6xNnE89W`DY6&J?$q9}PD&2klgSjwH*O?+|$YYKU zMFA`5yK&2Y^8E#k{5Ww))ChOGPpkyfONbRZARyJhfUti9>HQ1H{x{H^-$W-+Chyg1 z0gf(mz0@K?&<;2D4+Oz-(A?t0VuwiwdhbWBO1li7CXH~O6&s8NM>qEcEAbYgF%;`a zL{V3y;13^I(g7Sq_3rts-uie^Soj{=9TbqZB18t$L2KA?;-k_doT~nSV9EkfnLNdU z+$N0@Ay6E8@gv!v4vbN0rV?Ko@mx5*%*cQ;F{oFp{1o2lMa*0ghV|iAtSAn`hlG+0 zS{%WZ9J(<}`~(yivpx%Q@HT-@2EFNq%TB}`DUEVk8hZxL@^OKIxm3e|;s58keJ$%xAEhiUEzCasd4%8BASGYA?&RqKyYXmH zDLWaAY;@dr3Ik%uaD4Y7?e<={ynN0ey(<3b1AQ~-6u)SWKgLLm%t-JFFqKa9U2H3d z%P>mV{j1-rhiBK5Z|iy`_wn5((i`{vzC$Z;Nw8`mXVdTM%xD)tv$=M18*#I{<5_Rm z^|n8~cbf6`aQ622dhFi*k~2NNZgBZ@bJ|{Aje2&La|=4!ztOoWB*+fG;#nPbpEBm0SbQdcSa6U%A#A`RWT*-})8VKcrX! z{rujV4E)?}c2~!J3%VbeTLaF3exAZc9i?rz9{I&@d~c@XE(yaq!5N{=DSKXiEuHSG zdoIrX88@faH(n<^%M0-dN(a*PB)nHOMn<98E4iVogNr}>s*o?&UUx6vvrG>QR698F zZsEl>gpad$IFJFZd}wseeUpyU?GAvN$E)1{9zgZtf~HO7OUtXXHG>X}7r(c~b%Q!VAqV2Vz2d>uD_{ySAK~h2 zoe+@#F+Yjmo9nZ{M#Wuwd-W!h8*2G{_2>&#Wp@RJgvi7~`@FBSW$V(3Rr@@-H#Brohx>=|k1^k1Nxc2OsCw*V|2!y1O*K zYc{rrS77bSZU3*8zPmH_b;n1FMV0UXEzQkNoJWVdHV2fU2 zsU?xOi|Xc26F7h;g;!?7diOYE_QzMI)2r-!%fkJF}pIsiy53Xt2BWooH0OiL_M5tKuBq*i6c@G1gogKoDOp%kk1 z_AP4JIqRa)XI4CLyHCr=x%WV~Ad;?}^_~z=)8Q7V2@ll7aeE`;txfpa^{_32#MNDO zJ3YQ~V=q&inSGnqZiKTscyO|F^OJcGny2U}{o(x9Y1(~OA~55%X466SR?lqQ3C>Q6 zrCKRs-9`%#Wy%Xw(AikuY%U+x_0ErfsT}HKnT`nEo81Q;73_R+eHb<@i_770Cy6F3 z0rtRq?G?`-6u%hsg_3wOK2kyUTKp)UcQ69v{m5%!bVRN)f>_5#eA5=L+Ay3F8tjep zN$HDL0}QLxCZHfp_eUm1ISPhXn^F?_WYfH3AlUYZ53fUS-UwTx$7XIay5HZ?c4(UB zna(&VZniqruwdjlU~#)AmUdV%igc`GGHd0_(F;DaL`4mk7=yH!pV#h5JgQ?f{$lBi z!zxp+jEG06T?<_?%C!Eb``WdV1>bz%a>m}#e2cRlkAiN>{`ScQ`oW;Bj+e80ct zt1iGEN>@gd){k`(Jz)~-_TFJA6r)CZOCDaEVhw_~0^I?8@?HmGA*{*YOKw09EL5zI z$-f_e8>h!4$`Ntve5|wy3`I>H)Iqlb>L5J(aV0h|!Vx)}^5C>R9B z^&eXQlC%PG#Doq24TA>_v;AvW55NI&i&d)eH_kc)FVgqlIR6~*56?By4bXFX7n2`jsA|B(w4L4r5 z$5Z}RpSJ_s??<+`T$RJSJcz~a;4?MkbD&+g#o=R1{)0-<-T5Xexh+i7>BtZDsD!yD+W?U)5{=4tS5C5rI z_rw&gQ^%Wq`y8O;!|d5~ia_g{_$kHM+G6EqitlRMz0zQF<Br5{Hu+PqLLlt(sc-Qe}`Q9BwnhWP-VJVsmXJ?sv zAJ0i37`v7A{`v@2PXV?6{AdL>qLc&c66mu;7VCXsju&h}$`a6Egkqh8^WA}~z#uBt z?Fq`d7!X?&P^^Wlq(mVoMCM^AYi&h(yn?)}af-^ZC0O?PN`@lyy>Do}m2jp@%_l(~ z;V-j?9>?wzlP@#9Bcf73c%IT|rA{XkndVkJWHHzTcy? z;NIFkTuDL?z-6mbczi|gP3WTVuoDiP5BV&%Eh+sG@0+-%F7jTfG_BGT%3k<`@ad%x@a zm7?3uiHPt)ZpQP=E`OG%ky3BhZi3)z?Fh1~^Rmyw^K*=paK;|+O7~@UcdYKYLBx=o zP`-@$xn=o`hlP;I0TpmN$C(zbanYqT?6K7f^nPer%QlTGbn2IINRF=+q;|+7mQJhu zaWKhupt)R`J$*HW+X($kjd*0zpv0%#IZo2dr_6C&)3bAV-X!Pf8itPho)!1f+-(Z= zAne${gop9}5%w0qacoPIu$Y;dnVBtS7%?+5OSZ^jW@ct)W@cGT7BkCYTe4us_rCY` z-S6MsKPJ=>ikQjD%+qtaPW7Cw%hu_VN*8ZJ7sndT9NTXWX6`VmDC~ew76dNSJfBA8 zf1`?s1h+rJI8UJNgOM)7D7#I?)~T{WKYGXp34OL|U%|z<*tu8T$Ttic6Ikq0Y8v{n zNN`{FW%6CNr?~4NHMcj}73Z62-~G4MFP`2EzPm^sxP!157fTJEx&nC~F}DtSNTWl} zji0vN^j^dPTPq%C?cHR)E(vYe4BMC4X?Z*)@W1dA4N-`#o(;h!A)>1N}X7q2Z4B3r9zwponlpUlD zF5WiRIPMUVQtr0yydD7`!j|Ml#gGY73*{_>5 zqrTLpWEYo0ahcPBOmnL1+oR61kr!8;@yDAl;PRALDTy`5YU0IvOs<4Nxk&Auc9+d7 z=9IQ41ykawGo@X2Jn79VmIE92_l+hl+c``uRX-ivV-LsU(st6|31{3amp4Bd7;j?K zo++0d5!GaVFC*f#4_$pI-_VJB_wg__UfO6_X0nIx{W@}1;Y-N{Ks&&ecu z)V-dsr1d+WA1&+FiHp^}nD<D~Ezz!`h5!{>=sp>KAoDVj)O>rSqZB?ornop&l@gdW{#fJQL`&x(r}58^2~4^>~? zj;9=HHSQV8r&fJJ$Of_ID=&&VWPLrbuXWFwFfN{IY$9LVgLy!lbEFczHW7Cfh!CE1 zT&nNKF7FO#-yhR|Q$~snwZO+0C0f%7p={pn59|p&g|T(^`(4G{Dd!LQI4jw{^zd(G zPbm#vp51$Q5IuW$7(9X{@lL&<3}>#g2_C<*kTr#q@JT+N;v^KAE+M;dWF81RZN9xY z|C|`x`Z3mypY&4{1^vKFK6-+c6^bfTj+_)GT;>xA)uDg-12{^kxjBmXXfqM6s*9QY z?*IhvB!YUv>*xLW=ggSYutgcNvaH+2ALUTkUX7pi%+(r@dvLX?UD%Q}6O5mwM#M(q zBI|a*F59vi>uwcK%rs#`+4Evl$|Gnf3G3GI)8Ig+-`le(FHuvNDLWpJMj-dqfOUX$ zeoc%ysyTDV0*x|P-Is@@#b0N%{O0lOv~h3pTVf%xVxJQa3@58H_7W!$rOz8=#{yiE zg7I@OE^=7Kl76>edTRH?V^wv})sziknY~OHxp;Lo#-3M9LP#`g{=8Gr#vinoJMvbk z3iw)+r5bX1q3-tedg1YzY27Xl{oHW7;C{erH^t5BJ?Xq{&{rDnCUd)&(L#J}>w5>? zvyz%GQ=Mh@LMH&zQ<}{@4@PR#-qCEbQ;RcYO6cUoOLf|J8mpM@N?MYQS=p~Uhat1= zjHzth_sEO;Eb;c{d)Zk+vz5L~T4@=w#MPuXM;28><&Gqnh|SBZYgp*vA}v(b)q#ty z2ljb9pkZ_d*K9M}XFrQvM372X%{F-TsM7j4yHvR*Wtk86`w_DE)oba(H`=de#+SW6 z%zdXfD*VdZyy?cYpK>irm+D`@cHw`yXJYxkj*h+sPCf4`faOldYP9wf5ZwCN_d)?z znqkX^Y2OI3($a@QBG$jdyEAAfCBlx}en%c7D_-*Ivv5X2?6YI8@zJsW@*4v9V?v~H z`NTmE-YDbe%XJ^uQWo3D`%+<8N145@eGYyBU8HQ}kmDz0Zlh(m)vTH?Jzl-Mb%=A2 z-O1a+#?*{`hi!>+Nd0u5uWomlJuh?SG$8v=Aa9^wTf+K=z|sZgK7ld}EA6z;$H9W* zyti&%|BzAAgKkdschY0aWn#G5^Xyo|>hQTcDOEAF$@m;g~7$i9*hQQo8+E|wvsQqbt9h;_+a&R5WPM%TMbAOFsnXm2jfeB+aR1zR3 z2B&Rbta6FOP?X|i>p#%S3bR_eTFvJ+#1jcu-8sIzyQw9B0CBBg?Ta4jt(tILjDJ0| z4 z{(^BGQ!*sHyB!U&nPtbd23uikw z7BYB%_W^u6_d1+%j+-OdY96v|A@{06q2INFK<HSfl>z0Rp27LVD$OYgP@Y zE0WhlG-UABKA0#Tq0S|(s5GZ0Vly71wq2m6-(}3}K{wDwH^}fwwIbxr$N$Er&~rM- z-?YF#M8M*P)O=L}io*ylwyawv-=FiiLeuD&=52d#1YGZ8px&&Ux|&8Q3W>2fP60kq zJcYKc6t`*g>k8u1cDGPXLDqE&4;vEl(dEN8l4hYZRmot=s<;5wrON2 z3S87EQ=o^nrS??cs_pDA&c=)HH>x6gPVUukp4DL9q|VmBIo7~BDhP(P#UgAWo`94Y zxb4+wpVb&6;qXC!e_8>FP7NqHuTd|Rn)R~9=$PNDF=w_FaP9c@z)r#3dATI^-QB}h z!OIr7cS?0+P}g=)H%U>ZmVD1+h<2s|Ti?T0!^<`uJoH;YYY!(#k-1U1mu<@WcGEVV zMCBI`+x00t#bKsfvPN9%ZSyjs#_=It+lQ_ef$h5tMJD5h>s z`X0_{P_Yx?jcq*tc{Ucco|ehOM{UO#GS^StEtlpoCn?x@zM*C{X*pifk;slUGLAL= zZ9Zg%K#Cr=cd!TU#X*iddjgMz@QyRGj)<=PbG&n{ZBRzd2ne)}S3fqEO;gf7^VD5u zo1-W7^NR7kr!L+S<1wq9%q_k;;$?=(S?9`i#Bg7{G1+_ntk-$VMB4uSJ8i^|YlGMV z7G+^H4OTzWX*7qT$~?(+?u-AT;hC216$oX(0xIK`DVsHf|7_SQwg& zVg7v9i2%byL=%~*`wNAvULU=_tWw`Pyg$3~vkv6w=Sn6r@wt5r$z_9SqhJ^mG7!Rg zXT~$NaFG5v1O(Pcjz}?XGiAx48? zens_6O*;)E|3+)lE%vNH31|l$7ztVg5ru$3T`Pcfn#I|o*SN}5$0I{wFK}I7 zpkukKvxh--GlRPifw{~WOdnwU;{k)O*&L|%Y9b&61_WWIA4OGhh$mY-DXOO0>-;G8 zGqpGfgiQf&j0+CE@U}%b2uU09VW$`b`8LV`3@I487=!^!)~uY3MjV`Ppg0|Cz)A^P z1Z*>NlB9gTXNL~NAe4Ah@-41#I0z{iKL_YFZjtv$rGC?-Ehv%r+Q!Ql<94ZJ-W&mk5#y^^c?zO|=9Iu97fheJ)`C&3|3W+g?SPwFQ9eiEJ}8U#5G0i_f8F%&T5pErO? z{7#Sbdu(JVZFXZucQEWeb;G+!(S?tryP2c6ouj8)dNM3T4yOEm_r@@QkNAgS201<^ z8jE`JSoGy<^b+lO8(G96eu^4nM_R`-$=jITapPDt=79Vfoz9tp&IvLKQJ|(?EBzO9@n;!9@17MxB|GNtI?J_0iUpPOu;HM=$D!fv+q_?|5_l zG)LbYj@Wj$2OC0dTs&gJz@p>m;@IZp%x3V|PUjeLr!j#9CA`5CjgRlW7pj5Z_o3MI z)x0-pWP?6dgAV~B=z~NPHNX)RWy=|TM$-CS3WBWNFWIN!ZeQ)Fo0q*u?)}Fp#fVYt z46M|QV{AOr(+wXMJP*6N9c4?Kn-|`0-|3m{X$6nB8t*sdY>#TdL}1z{xVoKggW%P? zr+WJ1N6Sy2J>Et=-U9gZ6lKrl+Eeh8mrCo*02Wi4Y%~pf^y^7?FXoJc7h$VA;j7F- zlz4__I$9Q)hE~x9j*BEPlA0$payxqNrBHQwLl=JwTixkh{Q>+2(`nx{O6@&ntpb@Y z5-Jl&&hoj}@&<9qjPPd34=cF@*ZzM*V40kGO})7Hh#X;)Op$uwi^2>n@9D$Coc4u8wg2&8hX5~ zPg%kJ0t5}Tn+4s`bJJ8P7*1rXeMQ0yVmsnfyPUuTO>O?a=s8C^f;SlWryfT?TsiVq z#ET0GozusA^V=fn?X<`Jy+e53=b=VKT18EpFDl( z)0vV+d$3+=4}uHsA=|k5o8I0Cj!~Q}tSCzpb}7mBFPQ24YEQdI|>o8@w z#UluKMyM4O1`cJWbFYr1HVIat_7hvU1UbnIarbuFn@B#eAfDr-atw7RTXoC^P4vP;7|v2sA9R90&A@*Gj3>VOBs9g@0lE zOT@Xb7{?zGKvw^65i!H!O>#X3e+yvEhn+{D?{ueG=VcP$N1DQTuPb=3Mm<3(VK4dnf42i&!6~E9Hg1XA*;ob(Ph13Pn54<)1;XZ z`xu3|xPOar`M-*>(&YGU-BLxHkzpXBLdE`DM~DAhi>Q(J2D?%xuRo98HV3?CMn@O- zJMW9XDI0AIl76jx8a>n2hDX!(j|JWaZ><_%g|3IUx2b)htSjUuGiMn`>kO8Ub%&Pm z+-Shq!oA{I$h4v0WlCg!Y zg6|}q2T|77hwr4W3cB%#WpeH`(u}864I=UE^1DOe6^gn;@NhcJM=0~Vv#)~g0`IuM zIFt+|N{6;)Q)4J-nEmGvjvk9>2w0yBZ0V1de@dSxw{?cg=H98ODS;j_>RI6(F`CtX zW27enJvy=@PR36DqvDQ^jqq<3o}j@N26o{?GHS2ycdtsHRsN+zHU9*tt4Tt@v{B1ROzaYyie@p1ZiUvO#vrX8pq`ruKMepH)8a*=B8}Vu&=}a9l&B*2m*7 z06)U44fqbn=lwP=S`Wo3l%-i=O4iS4)se2yJ*l04?}H?&Okud;yiaE!nIFr;u%lQ= zH-3(6A`o*4oJ_PSCI}H8ikMRgkYwm6z)WtuK#N(67by;qE`rp0!*Opi$4gmiPCqXR zLMjNo?X2cp_u*$;Ze~G1vE?CIO4J&>85amiJ)~G#|XiG5_s`Ur8 zL6U*74zs!O!sHKXb%55tP)G1miqHQ-Z3s;mSjZH3$icGJ!GQ|rBtWr|sopEs*j3V? z_tye%2rX6#HIzPSmW^a$g@T$OLI>-h z+49g0^Cn~NldK3=lU4wzZztMtTYi{LaLQhYRPTvfd49tyAT!XIo2-rEG!cUW29Loq zdNf^{!Ln78WihEtL*g683zaoeSe|r<;+#PSAI3w1X`xtgTHK^(?o>^~nX&thCD$3PxcVMHY~OqJKWS(N$kvh2zH>O}XPspi?jbJt*{PrS-0*w};(=zVFpBMFtw>Wn zoS7KLI;z3cxC^~}TM6zFto(%h+#=M-2z7&_VHabQ#i#IMTBf+0!uUQR) zmsO38S_~1GfyIkadaFFd_ZO0gB)7msmiOhNOPfFmnNcVk#|BX0$)H;vkRUx%rz46h zACOn5j+{rDc~(j*Cm^V?dgCe()_D*_%efHqEl1_6=_6pes-*O)AxtLQC^t|`V8SxM zsYqx?RUq}$re#u! zRat3NRi#J%iCPT%PgD}5P)g#Zda86pwSQTlR}Zux0Uqm*1v6cdNzWt?Yf-!9UZ}}l zn#v>DOI?w4Q0Cj}Y7NvsYYRIi=D%Q4{>AqI@(=P>SLB^5g4(=vB@cc`QTSUZv~A$J zFeay9BAVHrs1N$ds zp7dD@JA;u-BQ7P0m^cbWOkP3Df?tv53w-S2u_mUxOj5+znOM}#ul7^*n(r%=<#c`r zD&1<$o+48ihs2hSh-K%8A~B!1*FyG-H2{mZ`IOe25Xx`1jD%8k2gAWq4GU87&-rC{jI zgMgCY6AQ_y(9xf=y=I&dOisI@*pMtGQ!m9(59M=sCs(SGFLbK8m zulZZ`nhAoV*z+a4eUo0Niq1)YYk&&Ihv9w^po8HS6~1Wrfw%{?n^1>AC|;DvJ#C-j za5*6)OSkQm@EE?R_axkmUx zCBq)_dzy?H{am-+wvI7)p|#C3g7Dy(xP}foWwr-ei1PTBVZ0N`o?hs-(-;97Qal)J z*^gc4K@x;t&;F2Tv7bB#WGD$7*qE62ZtlN=**84@6*FOCt6=&N2^Ja+;JGjkTxd|z zK5T-S#*fp}&2_5bDgRL#3I|k5p$1e6P!a@>cj8N6+?Iy5#88yo)-id+rXY~!Nh{#q zWDN@jF9uTL^;lqtBjpz#I0VO%=6PDWAW3m*pJ?w69-93L+k0W_i{VYa=cK0POhaES zJQxtHdVZh?)te>*nWC%K4Q7gx<|M9@mf$4*JuTizJTooPX&4bkmM0sEWY4WIGAaQr z7JY=3A7}WS`HxdfVvg;mK>E@F!Hcdp;zca6Yq@Mm$XXZ&j@Hp6xnxXw0{b@>rs>C{WugZdoayRDezMHUo-T0z-Fe722r_4 zGU3B!K`62TYMSiIgAs#kab=rtkU+D(nV%wlnI_!>p^bO)Ldtc*0zMLb7Mda6>9WF6 zCJR0+EqY3h=hY{V1RHSwcUZCtG3^A5zrylm98~;BVW9I3V3kf*!L-t^bg2~n%@(2p znVD73(;GskwczF#R%kbd-6}!&_6Cgt?@GK4&uFC~&D8C0&cnH?&G{z#pZoSVMIM;TM}85Vlb--^j^p3g;s^pVLo+bH#EF!=h62+edo&nVLI@ zkpL~n61fIW6Y?2mc2tDmu4^k?5M(u6FrBq;=>R!a_;pWZ821)>m>9(`pCj;B5a?|f z4boQp8!2H`xxha1u4TATvwZDw(0sq??;RwexXOia7E4sW{_GaZZ)ETOzk(2XBwj&p zp%+;re*vSsZ?4_i37Dq+FzeU~7Xk(n`a6(7MC!L&Xfr)g;CsXPhlxA!{BDY9rZx3> zn3tXxNW+Ev^GM%~AUZOkL|9BLLnx&|qJDwzBd0fgp3(lptsb;2T!`e|h))vL52R#{ zSQLK9X_QHC*rf~je=VvXi>YtL7_mUWFEK72|39Dn^X|ElUt&06Nmhe;<)21HV}61E z!rez^OsWFj29b^Q^L!PklqDa`2GVz3$>sek9@j3$A1~y`X!eowF}{-$3=gmnH~~HT zFDc{!zlLD`c1-xSpz0QyI&0)49v2LNK zwY`rS{t#R9SN$W2g|G-HTjjLwg9T0sl|Oj&pIUqZeg(z-N6GvzF<{Y4CZA{a1}Ioa z>~#Rf1vBo?60Yy7FOhl)s_~!E;I*CoBj*+x-w8Mx`^crHKsicqZzxE|O^J#gS`OU% z$o-uA$QIMgK*07j-)HNVjiw-^v-Pea>m!~ak9giKKsKpj>YWZyYh|%$bKslwqSB9C<0r;rbyOVqTe^o z9(oJ$I;l72;}3O&682V2$Z(*b7&zZm;B651Se{&z^MwNiA>-$-3a3r<+ zem$sc*N+Mb_Qij3XWXS3Qf?hqe%ha4G19CKtwPYmt!-p*s@@7CoQ?VV{=k&|4Wkbzdsdku{PQ{8 z>|<*bh$33o?T+=mU?4Ouz?Jy33G-bTQrBR^)c1%zjxTH0M88$Xa_;}nV4nbGychF> z)}f1bA&b+hO4$FRvmUXvMi{&H!^g8a2M6F9mUFCpsW8Uw%hGRsUAwpmg|*A^#hPS~ zV}m_D65uLRaF1V>kw4D+M+&0f;iq{X1OiKZpcbS#3)LHs zg3atbriw{NP_GY1Ri!#`)<*x|gx>=hE`)8J7 zMlwaMU%x-?2>}d_ev2bhFnPoH&}6jPr`1Z)tGXH!%a&f+6V)>}?v47RTkVrV6 zG?8!)ZtTZVOB@XOq$&gV*y~cGdP+fdB}YR^HX}xVmZ5<*3YZ2^L$w4uYKSog=$Pc` z>`(VRr{~OLdqr3yG3+2|<17pc`U!3pnk+ya=Vy$I)aEFD(*X&0Sf)syK0%#jUoXm< z22RqFn{g0F!w5&k#oc-tE~3ijNRu*qgSoWSWHnPX)PF)!14HtjrMaLf7P8P)S$cHA zit+}yfE|e=I9kwAA2hIkS^I&=Zc8e{+mX$s&P$76ZQR34?4ZnR4eqK0I3!t}d|H4K zcB7}Br%8vngb-&4H4kz@8*RFce)FWcNXXAlFUU?_!eLMa(8wZ+^3v*AWxJ@*u*Z`l z8aQ~SDFfhAK3r<4*X+>xYkLc#IXkpLI6>TD-w*(W7k8ftxI zfaJW#A=XY?EloJ&(V@$CwWDH|;*hWJKJ5}m#fZ})ya_>i{E*OptT>{0Am`q#5U`4K zVM7Ma@gLG;ldv(8N-8Q1^5psD)i5#nP6f_*0pa)zwW#4VC~SBEz?(3@!~GnLS1Brw zGC@8O?OK|OD(%v2rR3FM z7nSxoo}*$V9daqW*UdYolzDQ)E4I~_a$veBi405^*}PylkdKNDCuJ~3eW$lq?_2Wo zvtj6|H=`0iEn!W{XeOguUe1nQ!r(T+5F{r}S*xZb{fiS9yH~S6FAcRzye)N+6g8Q3$r2K$BFAEmZUQH(tk~Q$(kDqCz%YM6d=~ zz?6+lg{tYAcuE(a8^Wz{X#&6Nde$fQud6-|xnHzBLJ5v~WePQYK(2Z%&Xn#~5?V!A zcAe=wC8$)|0=LU4)I(;Kp8>ysw@5m2+SMrO-F-QIf5rU_(0hkgF)qjsL0FWdt-=XR z#bSbByfRhiMN$3xr7tNW&x!Kq7G`2{LaWLmOSt51{6|72Wtn?RVdG(Pp%TWp^`2<_ zq9E2aC@(X|SO|Zm1Y<40Ywi;0shf@q*o)lX-HCtc;qfS%$_KAP(7(2Ul)GACdVCCcakjs1%t|g1dEMBSRvY0-BcDo@o7eZ@u(c zGDd6D_*~qk|CM9>uj+s#ltMHaz- z2o>{Zd#FBjkx%P^e6>ihe@J=yNhY;NW0K}!^k3?51OKQKL;2t8>=1zJcwl<`-_9}r z17>#k;+o)A_BW6N7B2MtdbC2vze%w%+}-&l<-C6USKqxq8?K6kBn|t3U8+uC|Eo)t ztGSz-wS(nf`>a|twp_mRVD#>k8MW_Oz_vQeAJCpr)NdJszr`CDJF>+qN&b2j4Ve8dzJK{)2Xc@S}0dOEKA`PDMJS7Q#A)bL0a zS|dR|f84K~?^g$coJNc`8K7P$R7XcX?JXK5NfESd{Sh7Ua1epE6}%0YBj^4jpqU_7CK&6@I>(89tBo{kh^%2owe{M)TC zQe&%>^mZ&PA6BqwgJXGLB4#_7jlyhST!A9m#uI=fLbb*kQn7ZT;}gqx{b;st5We!( z>Zr=Y8bUv_*^L1hiQeI?bW~YTAVT;>#&cdECw3}prG}bq#Sih2r01#usS80~~w`Y{`N=$BG*d z(01lsoQaFUpaW-k901Oglinwk=DSF|mSA^R3;IIto*jT#Uh=+8yWgWanWFGVg?WvR zTU~_B*@5~X&ox6uJ#w;lM@7`8F6^e0loDg*EdSO6aM!P3i*%m_08d9TrNy8d28>RMR&zSzL=Y+{?`{iW^TY{hy?*;&bxQ;Fj4iuESgm`kqw8iD_Nu!*@=LXwFS5tYUbr9 zyEYe2*8>&l8EM6~AKnbpu1vw7{q}578vFT|OJ>AB!nRCDX<+zaVz4qV;gYX5iVZ3u zUyww@V}{90D%cujPEdf4N}j-t&L<#T(;}G1M>RR8b_f>A*#ZHf}>4pZ%o}a@zaR-JKB;p-V`y zY~N2d?C&7|>DX`Hd{F3bxq5D%P0gNqevG4YhG&1_|M0HeCzl<1v;aTl~{2 z99BH(0`YQN3-;$o6?#{Gh_i5s){(&DEL3bXWU~E@(QyYuEsbyAGP!syO5c4)p~z%Q z)S_9jBZZ3;oenqh4^6u+)(3FpBp$rD=&VRBI5KM}vaOU+Oe=$KWwVTA(yACvBV(g8 z%R$$w2foqGwe5X|yqd0X)C^oIYtRn};XMn|br>y0P|ag2tZp;2=|M-hf9sBaHVEMJ z02R0wvp7`00V~^m{C)}J?$v`>S6iXSEzmx6Q5vb~1gmpkpDv-{taCTP!{}LX z?*vvpKB248?S9m+XP)hlJ92imx3M^cd~thUHpXoDp^VM-w3uk^!A*zV$&9{`H)4i7 z6u+Hd>~1=UC_D$UY90go0fF+VjkSxXkjh$J+BsBnoLCXBtDBLfBcs9U8+#4!LFK-)8Rnsy9Sator zBP1B}Ov8_(uMyweU(C_O1c0H0t+2wdd;X5Vt7}>LcPoJU6&GJPU5$Nx5 zXZg1$og)=bM3S9Sq^Gf~7Vn_JBbb0Unpgcv!bAn3#u@)DblO$JYt-&i*VVc%D_=3zEq5HL#I zufRZD--!~4dv|RZ2wGq_T846xr0Fw}HF>;Ko>hNMmvzhGtc4ZZPrMO&u?U9^fWblNP@;vcxb^YC)e1l zGGAA;B%S@)nJl)P8Oy8?npkBe?V@=L7Gn+C1TP=8nX(ohmWa)VLZlsTU^sCpd*=Qm zS<8O|0lLusD}k`KN$g7R*XM(cwAq0wDQ1IDFGtGsX_JT?=sPQ>u2L3-(G9KE`9(EWRL9NUt`jrs6jf=5CCkKi=#TI>XwaA=ml?OG*%X!dTsFNzFcyMP%1VauKrrk{`im*c zhHfjd#aYD6KB1yaEWO`5Bz_})fx;~5+Fkz?a>UDcMb3i zCOJZ_)!xN~P%Mv0-!hbL+c;cAlCQU&$M}`bu>7I(^bI356$zX3;inWIF^29^#LDvI zaY#Yo{a4lf)a33Cx}~KR>JrJTJL?MN2pmP}IN5`AuftzghG(cT#e?!WFNYb5snWCx zO?cMSO=xI`B$V=f1nVHytU(2~r){+xSeUoDgdF>s;PBhswXh7l z#!e^I_9?p-eE}*uN@08}oJTLEmFX6-w36$5lCr8r-FjJPNhjr}derFz%AOU6Xe*1P zrwLt)JBKMs_zfSa@Rdk zX)x?>Z~*$gZE?5t=1xRuAdTs?;2@%JH$q~+D@J+KsP|{>X1)kr}(#=Vsx}?mbPu8e*Pe{Q5rohYgz)^eTUyn$)ECtN&@((G%^Ck}p3Vn~NGuD>Jr4tr-aj!Bh!=~< z9S*YBkQG3#U|*JkiSyESiMB+t9^Mfl_s$5qoF_`%8@W(4sA8;P)uu{2g^&U2nMrssz5xg35R_fcfx57M6VnPjIz^A^`>g!z>{J=wx;Y`_tPN6 zQ9^xTs)gb)zN%r&-J%SsYlq7+a|vEv{~x*pCy$nUfO@Ebx`_Uv>+kNc|55i>YuK3C z24H@U0=3(tNZM>wX>LhVp!I|Xwl3;KS`|Or8eW3lDJQ+%Tc`?-%eGDU@zd4b54oyc zgeq>nytFdK|J3Qhnd{tg&Cel)q}92ZUXtY;wD{$^=+l5rhndxFgt!P9ZU;-5W6cC3 z3WIt&N$ONEuNISOu6yIPiRD~Y=ljBQA88l0DuE>Vy|G;}4iW5jgL7tg5MigS|2Q*U za~GN^PuOF614rb*G47i5EXuovg1US~mxj>W>f3*H#Ql@Wv~;VOv0EOfHL--%b zf3>&&YgBXM8ytdIFeJY84&Logu;xQpVT4PA(AqA`>JxhSQ`(Vlh{sgEdn@p9nvQ*` zb-P~XClERcb}*`*qobauqJUAW;x7oz?(XB{ARp(eAIn!KO^ul#vj&1$=R4!eE!+u|1J5N!$g|W{Wm82Q)a^(}UU3(Z&vpo|2 zfz%y&LGfVpOJJMTo1?L868hJDD%r39u}X`d3yZJ?)?^}p+1-EE91iaGCgv`{s?6W5 z!?zsvd2o7m%7han^;#m5I3PHh3xzfGVd*7WSy?u(<*rO;=&N&t$|Kq3 z(LPVbp!@CczWV@PA%DHz1SM`GMPRscT?grw?T9fP%T2Ewy#Gu)rMmp70=tfe_HC}+ zPuTin?>%nzH|oX$BpO{^8I2a-ck0`<@6s93cKk8i;e!vU`&u{2b%*xT6*HRj1mxbc zBMYAicg-{-c3EXrN7zH`pjE5#i(c8d;12E<+_ROoOf{Ul>%ytSD|RE{;YvC&Z9`D% zHV!47sg(91skDeVG?nHrM^`lJl?R+vmkU_Q)%&faWHP2NT<%4q3dFLx)l9)zCC34dvg-NGSm8H1kp^;*I7b*gN(I` zgmadGbzEhj=l%NYX{MML^UD@sLkMz*N{VYU_9~)BL$4D36-je%{%mF8^N4_>Q6Uma zjFh77D5M^WdV)%KS)TNTK?`-ebcuh%YiCIh_ZP*fh9fgth7mc;4H351!b|paoz~bn z#)Mz+-%0OWq?Iy?u&HRWzAaKHNaJRE^=Bx4<&KNbK{Db@j;f%dGs{4@V^|g?*HK_n zj;5u+9DsjO9uW-Kuz9Zo?!dL8ygxh48i!N)%`nO)RbyOn5llZKa>~QEBWPh#N;xMk zp|xdCqI>b~=qZwsd%LlIx9(AR!aM>+)nFMjlKUILoW~3OddCBdI79vvhCwKm6W5keZ1jOu~7RDl|A_8eXt& zee&S}Y^UPZFBV|z6?qMqYLUQfH^li1)xqZR)pV9(;kwWF80Q~~bEa6Ic4qkQTJ*Vp z!}LN?8TK64I71yPb6lJXXZn2F!R@+jQMY`BsYQ~n4UN&y;Z5rQI{kYM)6hfHXNT}B z-$`Zc=Z{`^1xW;a{5>RSP$dJspC0`6KA4qgX#9d-5jrj|yvxL8a5 z0_>NyP*2xmPpHSM{nyj=B8UtuL*005{RpnMMg_P~Hb!FX)4U<;)E@=gAMpRY1Qm|2 zSoT1IfCQ6(fM5e>EMVjAzoseR$_x1YbTGEIW3q8Fx4hD@bwXFi5bW~irnR3zp<%>; z9_(W4FJ=^_2jjB-UYg8R%vk3fDwCvuo=Ii=Wib_ylkfua7$)HJ(SV`mmhG%GAIPU7 zAuI)r0*`?+N@jD*DS%-Je!IC<4678JVEFBFYyGV^`+m!Hme>2lp>V9waA@uh%^Q{l z0o>d}5%nD($uxZIer_-)OW(S@jI*?;Llp{?S z4x5(%(?7^&uhaPqh6Mvzk$Cf?j(i3<3xZHVdXAHK;3u?!+<<=3N(ObaoHLkX2ury5 zA)ZTW5;#7Syjstj@s+pm)iP8n|-xjBg{&(?~O`Q{1;fnjELW3=BN|l4ZqA zU^0Gz3?p;4J^VGQh!rKGjvMNSTSb8vs0mWd7IiAGY4^}oqdIwBxR0M!tI}_?Lm>$~ zo2Yn2NTV>%kwhK!+3k(&k1wk3FB=$f6AgyT&Kb?9Q>=r}EFRbi6( zmVa$-*I$Mo^*=&`r(oL1o1jpXNRBZ5wwYY&FiVYQR?d-2^?sv#O7CSPPXz{9QoW!qT0lU9 zMp(YH3@F***ruD6OAoV~;kqE2hti(ne!AICT$QUGL7uw7{c*l)ThR$@d{v-bA*{kj z5WKv4`LSll7J7*Go3pFc|N5w1)N&E?BC@|YtCD`{=zNkk?xZX$uvgUQd+m4kYkV~l zii*UG?AlAdPR+CbwKr-<)f<8L6dT!QtX=pa>tg)-$-b3opL2o*>sGN$wtX?r@az*V z7N0I}qs}Ik4&SD9whQkURJp{LXx%qg`|NN?O`m1PZ|-@K?84ig3N~CJf}kJ}f!&g`7n9&QGfp{w1bH z^nI|ZJvHHqiO3rXE}g@LIu9%6C1jpqe!-sfq`mjF?j_#%Cztx;r%v3ScKF#8&S`J& zD$i*@=X++o@a^^`X=%MOQ*ARpO_{TM*||N{*WNT8s$O$++oVfI)s>~bZy%}tsJbh6 zF#7%H^;4dB1Q(xvb*){l?#aciujQ(19xq!yukP8+=kw|p7N5R0J+3bG_UiR}e_p$7 zeXnwR_Vac9cK1G?yjT0%{_mU9hvUD>SXQn1UUC0r{<)gpcfbElueYdw_-Ot9*k6D9 z?f)+-H9WvO#V#ZE21}c2i*i+z_+hi)#)%&u7nL6F5_=iDx~>0w^yEp2H#byPf1kkl z^IWm=t0T@UX9}l(^R@E#4%XVe_0X;V!Kuuxs;{j0UdrTID5tmlEO_e0SF(YBSreO7 z#)3wy#DC+CZ-?vyycwB9m_fti91P2Wt<<$aOD9eRwop$2$J{{O4j5hb(;i)8M;mu=CQ!*m zphiIyjn9E1@VX~CzX&`MjjsL6?c3t7f!cFe7#IXlwATYg;Mx-l3b47lFRW(ABVa4E z1n6f}%Vz)s0z7j7G@>*Y=yz<|^BSaujDVJ(23jS9V);toP&!yU#OKI{U=4-d)neA& z`V0(lp{xx2C?<*WKuszxsmw_QPgf#`0k#7rVfq^w&sw8sMmt^--5m6JQiM5ng)noF zCQ;C}qffjbwCj{YwWCeLpqqd`5rHrvt_*4d%CrQ!e)Lgeg#M2eQ2pp*$mm9(_rDQF zysF3A8%H+)y`zgT;7|jy0ob~|=w_k!9T8^jZbUWq*nJOG2%M2i3b literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/ads.thrift b/cr-mixer/thrift/src/main/thrift/ads.thrift deleted file mode 100644 index 70d4ad562..000000000 --- a/cr-mixer/thrift/src/main/thrift/ads.thrift +++ /dev/null @@ -1,33 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -include "product.thrift" -include "product_context.thrift" - -include "com/twitter/product_mixer/core/client_context.thrift" -include "com/twitter/ads/schema/shared.thrift" - -struct AdsRequest { - 1: required client_context.ClientContext clientContext - 2: required product.Product product - # Product-specific parameters should be placed in the Product Context - 3: optional product_context.ProductContext productContext - 4: optional list excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct AdsResponse { - 1: required list ads -} (persisted='true') - -struct AdTweetRecommendation { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: required double score - 3: optional list lineItems - -} (persisted='true') - -struct LineItemInfo { - 1: required i64 lineItemId (personalDataType = 'LineItemId') - 2: required shared.LineItemObjective lineItemObjective -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/candidate_generation_key.docx b/cr-mixer/thrift/src/main/thrift/candidate_generation_key.docx new file mode 100644 index 0000000000000000000000000000000000000000..97da2d1e904801416adafd3733fb9bfb81181221 GIT binary patch literal 36979 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 lUX3YsOI}h)yZ%DgR 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⪻fnph#N) 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 YTZaMOtiT)u%2k34iNNgfryIlr04+--8~^|S literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/candidate_generation_key.thrift b/cr-mixer/thrift/src/main/thrift/candidate_generation_key.thrift deleted file mode 100644 index 4f2a4a9ee..000000000 --- a/cr-mixer/thrift/src/main/thrift/candidate_generation_key.thrift +++ /dev/null @@ -1,21 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -include "source_type.thrift" -include "com/twitter/simclusters_v2/identifier.thrift" - -struct SimilarityEngine { - 1: required source_type.SimilarityEngineType similarityEngineType - 2: optional string modelId - 3: optional double score -} (persisted='true') - -struct CandidateGenerationKey { - 1: required source_type.SourceType sourceType - 2: required i64 sourceEventTime (personalDataType = 'PrivateTimestamp') - 3: required identifier.InternalId id - 4: required string modelId - 5: optional source_type.SimilarityEngineType similarityEngineType - 6: optional list contributingSimilarityEngine -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/cr_mixer.docx b/cr-mixer/thrift/src/main/thrift/cr_mixer.docx new file mode 100644 index 0000000000000000000000000000000000000000..cb911c0b140c66280a418c0e4a6e5535482be4a4 GIT binary patch literal 37812 zcmagFWmsIvwm*!!dvJGmcL)S`m!Lr#cNz~6+=IKjLvVKp!QCYg-2LB~nRCv}x%a;B zm(4@fT0dE9v#WY{p)3apg#`u%1_xI1l}Ec$wJ*A`kI!H_jif zF|8a5!yK29dgn{LQYX~u(?qQ&A$ek8kfD`N4q5Dzzm~^*YQeK76-Oq!AhSa>I{;JD zlHv1iiW{7Dr>2kJ2qWZ7JV!S$N&5jTnx-;F6N6+h1Wr|G6gsRrf0`$^ox(v~^=O!8 zhvC!SsIuG3xSu=ugM`0S*2^L@wPvPGI>NUA-ml@t=Ni(VjT_?ooon4D80wuYH5}_! zdJ0iI1`z>hKX&c9ncc^L{ zb)waMt&W0Z@V)LNP%@6Y1Lpill)yP7m?H*^a5je0n~?B14gFkd}$gTwv}(kM;)LMMIm>DqJ#r zdjOe-`gX96ZCb<)1&XLS^&Pi`CaEyPI_7{LUH$2_Se3Y>5xt!ZN=a~O0{S(g3$2!` zFVhSF1|Tip#Py}PvUS(i{mZ>blZ%Y8zvxk{1G-wOq8S@5Zvl#|Bj&Y)?7>uYS!`f_u-pA7?J9E%{AHyCYQakq~OKAZ63p z4CLp-_$m79xHxA&Pm*P}s21fOimRb3EPd7#ji>!aflRuGMfWoxfH*vXBEBBIw7G~F zECanH7d$+<|D*h*A=J!bIed`QmMxSUewD7$_Tjo78~#cY@`_8%w@1@UHa{SdE^_d% z_XEbN`x)l6H8AXiCvFeWNT}c(qAIDX?k$?^n_o_xog6o&+#n6gk(xu1P?F!}PM?%i zhz91ut?Ie01NsYVhh}HDSDBot{6$>MS~zMjUz)~vX;MA{GuCoZhTMfLL*X+M@2)Sb z*wPbav5Lhqpk%+v{9x>y$UCg}dwc)-Zjq4Tp63Dz@5mCxkZ#6Z;`O=rlHi|xxn5bp zJqGo~777du?eBg0=-}{2ThzzwS6I>7pBSJFT)tSrimBkm2hNL4ORVA7#Ah_mj*@?f zgKA~l2KqjPVe@@vxd|7j7kFwIeOeH+fNfCxq=7y5kTW#WL`8LAAr z6kBru-N4akYP50=h6&y!RZF>Q)SJBCWc-2{*1=hcVajD0MRdKvyQodk!RPz4xv11H zx7z#u^CacQ#r3Z$tV&429@1F{8uf4AOl+!Y;09!KNti`;D|idFCnY z3K;H}hU0otwYpNRu*;~E*e-3cp&ULg$QKFP$dMluN!A|$J=f^j+5xMMu`Rdtr2?@i zal;6AQZj;=7!hb zBneMwZBPn?X5eag+bYGS^smT@6e_*%XisN(W+6U@Pk*=~c$>TVMe@%Z!)-|GA*h2kQ=SGGhV#)w`%ABTjrPcM@q}4ZL#8@t? zyXhP{T@#8pdRd)|&#!kxbR(K30#_y+EdHI^f}N{GF?Xv(=1*%+<-FpU^w^l~8^0Qs z6(sr4g?Gfd9`?39?i4WTqFQ4pdaSzm3drBEB<4E?{@WzE!*`->h@Dgtb*;DuELs1X_zsZr`nqfd>ysj=I^trEZDwC!wv| z;d>0r^RFEG?|ns#u->=sH#`4oSl~tPGifp*!mb))%4kX7~$YA1bqHP+lq-6 zooXiB)T?hn{h3Dl?ASfimEtGCm2z_!Hnr-%Eb`g~%7=KvRkQP8ZZ&Fe2DzJrcH~I& z*+^{ok!Xv53{G!RW%8rL0FR3$+jfO018uzaq+#SanjkRwK9Z<0y?bX(*urO%PE#r} z`>xO)DbX6A_oHC4HE-`|>1ClO^>}e_E+G?!^XSS>SID`Essj2|JBBRxxu>MeQCygq z?=F^}1~O-aRX?wW^0FfdKc(cSlCu(m4HH6%-Hi!PZ)m>p5wZ?)&f2-cE4zb-Aw){W z-m|!3^5JLH6S5r4dkFktwH;*KK`W7&Gdd0YmwIT4&A61YpVzTao${(AYv)Y?RIq#+ zNI0|HT#MzOl&Q<=pLKq$U^NFJ?6=Y928$(yVld|7fGa7>gpf!1aOTm5=Wt%2@5qEU z=m!!0^6Lr>c6A}lO&@7M)5{WbidrqgfW@XFFS@Rm=`vpnvJ3!5fQ7?wbh`Fp8s#3q ze;t(<>cuyb$NchGq7%t&WD8j&;`A;D?&e9sAHuFvl1$SQyGQEn^Ch?RCvb%@8i%Bb zh{Q_L*;RF~CgD?wC@JhD%w=B55(I5tvI6I}HjzXP1dWU12rPSXhbaHuJ>}h33_vB0 zV{wyj0OWC(qbyx0{RydmY&aJ0TyCsPB$K%k?8KKBoNs8^c?^@zOp^3`16-p!tYJHjde+G}B;be=NbTrBEjHHpN z1-s4DJv58-z?Wh<`Sp;>8q)H8Z@SwmvM{Wi!Qiu0`3o1xWV0i)s_bE_#%A8?G`xs8 zx@2_Wx-SeH(zX=e-79+<`YWx|@=X~>7etG^^<0ML;1!kUoU}86O7oWNSoH1|5^A!) z-g_(0V(k7OGsq=|CXP3R(H2WYlKWG*Xy66IIg~CX)$oc&mH>aWBvsMEPMe?@B`%9N zc655gckn7OE!<0@KO|)^gT^DIyj=ri2?Nn1RErzKE5FmTRP3kuF#;O={Kqtkd>RP6 zju!(DKF1zwPxYVg;kcBM&&HJ-f$uKs$&qmZ1k?|6#e0sRi16;0w9Ik79BB`WsL>ZE zi^qm&P2R^Y6m+s0H7Jr13^Dd96NE$xFn@Wgy8%z!WX~DgOQZ{j4!nxmIg$vKfOPj*gzwcYxFlge43Nj3E7(yB!-w%LYj}kSWp6A za>XesYnrK8`kF0#=$5hBs|t$jt!LWOuL{`@oq|4b9`jQ`ktYzoAE>e140&~qYl zo}!-Lb2k7k?A^UkG(OfZAkG**Z&&|l^WV@Iv*BHEsM=~LKIK2^&R6=E!sD6n9?RQvS_&T zt_ndgjv=?FK%e+=p7wXemhzb2ow`<-krMU#xUb&yJg>S!h+h%^x!l?N6JW4|_CaHy zeGnmNAN0p^_vbGD?~C4_JNiU1r65+k&u6a)y&(x$MfMTze&tcO(Mwks`h-X?$KOiq zZRo9;F-mL)?A&qtX4BZsOx&u?uM6NYG<*o;jf6nOnh8-h#}KqcO*!tam(dWjsU(Hx zuj%3LSQHdjm_DgZ`c!f7AyMHOp|+K(zYc-2G1p$S6}u{`;80pE{&O9VE`*Ncbo|$k zq1jn3UTx$T6ICsj9Thg4B5P^RJ)4U4nt{FOP_>J5#s(BzRL0w92j6e*%?SNoU=0y0 z8s-QkiuMAY74)MpjG#2{G9ddn?v1TRcP!>j!6eY(sp`_y zf^9OKF85kN{~hvU3lqPcIp zD#yEgJzWjO_Ym}h<)5{VD#sCsU;zU&)PM#<{a3A>T|8~go&VTa7#JjMOV{~!b>-z7 zJ@4AZ27?Vv+JnWr5q|XU$f`Z#P~e#P_5C~UrvNL-#Z*dF93a zX05cBr%v~U((EYf_uV{relcF~qH*YOvlT$~=ekL_63Kj3{phV@tqHtonhiB5kyPrAAENF(AIyN&=lF?qf4 zc~M*?l<&~FdUkp)uZl>D$M}V?ymqd3wl!CbB@M9o*|n|ucIxY$b-vt4JX)xx5cfH5 ztg)bO0KZC+_{e0PkiGR+KXjS&RFBP3C)Yo_=!OE()2Q%W+Tc6R*YVp@M1YTNy( zCzxc_;jz~>sL+L>rx^TGq4lVt)m0)dHAcQVBEGyKEbVPE<{`L#FRurE7JhIq*K02> zY5LDKz@_#LL7__bv(wNNp3^KIrQh?g9UB$R>;1~U8_xkEU+KlbTU!_*^{t7lry)x|UKfETLfST5 z-PfHD$REp5w@OgiR7rX@NK7h(`z3wD=zPLvfUa(x*Fz^(12hPR>JQ<8GwQ&+O^T#! z+7`(@8U$ix&`=M9h)N9r^xHn;OTYEIH-r0enMGJ(d&L!3a|nF;qHmNZ8!zpGj3Ok- z)l=@%tGcnO?7gAQLkWwOD0B8VeLrh9e5P9Gxq03Q8Vh(9c_+7Cv67 z(^>bYTHXh}wHs8;Pd%N?JUZMtz6{CUUWuHX31_HCHyX^%p7-rvUHv@mbI#yo2x%oO z)QWoR+xI9V&bXr02tr)?zIRXMcTTdPl-`^YVGZ>?%!c7hO_>z0D0&>YB=N@r_Rj8? zw(biGf{4{OZF8T1r|gnQfL07krd4}v^OukXZGJc0r<2$7pLPrx#DhQ3eXz-H;eLqu z5E;?RMix@=CJ3KdlxqyHN~dT*dYxyZNOQ|Eum7#@DAcs}6yxv;KmmFEwl&8?uYqcH0SP1>BGy z;8fEQsGxcdBpu0)67qu?8+BC0W0zg%$lxs3vAT`mu8RDzf<4tl5tiHOND=MUD>CzC z;8ZCXFajOooBc^Mb`1n#;?N4R+RH;WsQ}=)SE551`pNbiZ#S?M3S9TrZU)U#{@t{;vP#oPKsk$Jv5D@M^ zQvalaDy2EICiD0&f-@Bg&9sr8rTnbi#_)(jJxH2TJ*TmyC0m%uHN#f{y8VCbg;KSlDBmqwIO2Ad?QH`ZNJUD zB$}ijea01s|Muj7B*El4WsJtST1u3$F|bN{dkS=0%y35@Sm|W;8_JfkJ9dgcX#Lgy z1yH>mP!)q#YU@iY*n9Qh#CYWRZuxveV1CAqr;R1$_#h5vYHZh(2T^~WO~H-WtRpBF ze}hPIKioRL!?bvBhwb5Q&sSv>;f(G1%GJ-u{j4Q{618yMIjm;>hDmLOh;sB>q}E~r zPMdWd#YF3C&syA|$}PQmpHtH6`q7EUa#w$J@?B2ik4tLaE*E#TPm?GkIAO47h={pUqW2V?B(F2v#OvZLv$AI8!*pX1ATpy?#$&lF_&N!aUWJZ;31 z+aP4bw}6qd%LG* zwOwYB=gtm<4+8Q7gWG$4a@;uYS)6!qEQLK+v|jmxPtszr`OO^pi5$KVelSy-C>g z_=qF@%5UX72Yn$(`YSQ#(Pvn`M-SyeImRKB$qi|^&0I(SO&;b2fWCZ}W7`%Fh3|6_ zYsB>~lw3q#kL#(6ieF+jCmG}94pAi*Wm^ph~a%Fk+KUKsa z(m7Ot2RS37`B;tK6w(#3D70=SwivI9fu;wUr4HuwEt@n2U*S?xlTT5L70f~xOoh*7|t zr;eY0#`Zv8=;aqpji?rOkrVp3XBFfDbW9twlc@7X$L>S;CW*two#HACg3ULQSIqY3 zU=l1>t$9&s0t1=z1e#kCx;3bpF?9P4P_%Gc6;Kv<*!Y!W7+0U2oH>g)%BhppCC`1e zry5Ms2A0B)mYcZ%>&J+AKabe8tp)>g_F|PX-fEX{x;&H&XDP%=e2z67lDA6yxd>tA z(ey`Y(-7G;cON3GrH3DhHWaSq5%Bd=iQdo)J6*TO2)GtXs_C(@D$ND_bJqL!VoE&F znFdJIm0s#lg*HT9-Ze{1iU6*ATUDIq@{0^^*$GE4N0)3571}T3yT6Yz>Z`^48pm`< z%EMpQYScOmD@H3xjX0jQk5TVXjk{Z6BXc>d2G+oAFJYwN4`K(%Kt0%raa{^i9F^T5G+p!1W>{CV!^E$!jzA-I=Rrg31qtNs9 zk4uon+eDay%)8?PwwCIS#frRb)DIWWv)D!~k{x2}DCr!fiukDdRg{v~2;XaPHj^Cg zDj0TOXn@#-^X^wFbVpgYmE3b9DD79%%$|jr)tZGQan&Q+aib=)@yooKv^Bc|;h?p{ zkon7zTQiNRwbI;*D)lDA1e}!lE$P0itIpI8Y2|@qOHZn#q8n3TmQkxv*4xVPzPKzy z^oL4b@w)92M9m66o8*F%Rn?VNnI`8p4->p% z>^lXB7Pgl4sRcsCg|`{xOU}#C-qtN!5el(5Bc6Aj42X}~3(*A+ux*_=&!1Fn z4&PB?;7iNOsk*h2c~3G*FOe}-RXiFmG!}P@t*LddFWM;J-7J+7-5o~V@nyZ0q1XxG zS@c*G+UN17S`gOt3KRr(skmC;umcuWq2kYKE7IP79@c0ZF^*@vDoMK%i=;m@)fd9{ zl3<|GFJ%HtYn`d|;~dJi2Pn@aAWzS*jlZm*<*;$q<3+-tyyr-{No^gkJk|8^#TIa4 zV35ZyC@G8SSb|k4RZ()hE$UNmb~NW&9=0|sg>K)w+=!6tyKG1JF)^;gKWzU#g_P{3 zfrXBnB(=yfT$CpwT{VwkIu%MPQ?j~$2%A+S-rlFj^HF8*jvkK*d6(aG9P~-&X6xC& zW%XS?gdK|Nr>mw3&Y$Vvj}^3&=6;Vq93ii_CYT%gA3K(Z{DOR+b8~mFH9bBAm^;<*W1vpO4Ng-2<&}Jd_<$_T;J?!%v0+&L*mPG>gTH&3j)lJ!#nF6 z($24$RQWas%MnES=CY*+FR$lXXLFDt78{fCPKtDrZG_(kh0i6OD_{=UEU0xc@0XF{ zze$by2QN0HuRynh+qvP!N|i)0$_-E8ecE0!+3ViWe13A!sPGi(a!Du zJUJ5=5Or`Japv$HsgR2L8+X$34kngWw>TXi>1EJ6u%{L+@_23oR?_mDRW{{^INTt< zCGGP2uTw)Vr0TT8Lerd&euVG%$vcGT0l7@bLK^X%KnH})w%L!^9xn1R5R=BavHB2M zL+s0;9p&eBY3e*4Z(heDXAn-n0ZI;!rLZ2O{(4X#rpI1Q@VZOJ4yZ-|SM^3lae$eQ zIAGr&b1WNr30i-EuYTbWSq%g;fh_^33O}4^UK{XN^KRQKM9FD37IY<2EOOm~Z+Frb z2k=i`K&<<74XcW!NKN`49V&aiIlPK9{j?+ zudB;@4OM}s8#@@)<;_t1NKTYzCrYX?zsoeBepRQB@UM+t`H>u|R2RC87AI~6KvIgr zmW6*=@yp82#GCM{|I_HNQ-^9?=n-%%eKjKfwP zUt`~VxQ+PUwuCf%TpFT)s{#O};~@D;cl?oF@>lxoztazYrw0*>ca-^ZU)%qHy!5hu znUR`JueWY;mC9COfo@ms#yl$IlSEA^!@Y?=iM1^b^z!V8`cZ}7>A-B)-d)nO(;xl)>AXsA@ec@)AEOg>w_ydZT} zq+H`FG;3WJRKjC9XIq{qoNtKWk?T)0E9V?W%&c+s&9IIr`b1rsr8-3u|E8C~3jIjq zBsAZhgDG}FEuxA!Z#_e!p2^}d(u;001R_hBWrEDBMZKdW#WvJTz-soXx^F)`$ZaPj zhxD$lH&v9Gix&MI$HEn=>+FW|dn!_9SX$H`pgX^G5TRE3#E?wk*{Mh2mQDYERW!!fgFX8X=W7YOrX4UHK(q(70aDxu-`0c-8+CS=Y5KWFy$miHE zKc-3n=M_XGD(5t=^`h4E)&WUh+-CvE?DQpJG=f!Tk*a>$^dG+xuC1D6F>h6Bj+NBk zP$ylNEU|`2xBwS} zU9rGDLotg$uKM6h;k0Y`h!iRR!}jsZf3fko{(rL34toUfT+l4U)gOE+uC~^NqTKkD zbY%6*`34(&dwtrBl<2+A1gMDi;KlX$^p3a8M3Utn`^q?qLWS13-NKGH=Nms&8xE&tL ziljs@qclsi28Fdul|(Q3gnX)^$#WQ#q1p+7@=~I~>NU}Sph|I$3xFa9D`+1vmYlB^V^Eh3y4 z7~w9Tl=dnI=5zBiuB116stvL0^k%o)Pv_1EUtu?wzcnB!mm26I6kIYhK{WxDRgpBF zcj*bOIumGLOmawHN6KFvTOThUYWxsC&iZyBQqd9L5$*$&t{|5DSL%U<(7Lf@gHjBT)fpt++16dlPF=ls+fKn|X?J z@wGClk|qZZs}5c*8TSZPVAyQ?%LK?1q4D{TK$64sYwkj$8~sEu${n_)VLuK8Yc&n1 zhn2odZH>(**gWhv#us@q;6ce>3cu5>`?}q8EQkXs0?gEwCnI1Eyzm*fYOu*wAVZ_e zNtgt4B7L6?-rpVVkb)!0Sj52inY=!8xS~2Xm2ZL7d)qu)2Z`?+c(fv;^af-C!3X0s zqNQ@G2)Zo7F;lklE7R}+th%jLLq_Th#Q^SQEQmOWRB=)#Ff}+yq_BZuL~@)NY#fQW zB}KD&Xb2}*4)d5_M;sAk?|HhX!v_w%w@uX;rK>q$8_n1T^3OaNVSr%7wO_@#Ghh;y zGSp@qzZao}VSNus0OO0rqy;w-Wt28VtNmJ4gZE|Jjl7;2EmlB>+n@bBs@!| zGO9`0jQSPQAl_o&H?94QIV0P$W(FG2U;?k@f@*xfnVs?2r|k?-(&V2>y#F&PX=0D* zX8*FEFWed9;5XIR3S`@Jg$&HG`+mMCj(1+|7zY(njlbvJ2+Yt9W|i(nGwLsC!Q@_O z!L~F07-yoAm7j-cGNqXeH}~1j7)(VHG7NW~&(r-q--gT{=6qD_Z9b{v=@3*1bbxeJ z{9`;h-i(_qbwMzjmnQil+!^1J{n~?SQYXUt4<+2gq?4uDr%8O4du#;Bk8A}0QJ71# zPvk0^fjRM~Lbv~^@G|2nbRuq}g4;_aSL~$ZozsX@i9YOQf9?;a;hCy}cN}}3>H`uz zC_QEK>aaStCeIQz8=28@8$`cX=);GNwJyfDHj(!15EVRG{ZKS3w^ha&mdBCC!<&P{ zsBxvL=;GPEhkdL3NDG@f7S`h8B||PRLYPUHU$v)wy|Sm@q@ws>>uwA|5B3Qrm}vmY z=d3eU-^!-?{pA)F()|+aM884eBZEu$;LX5T{o=LVT-8dqk39x_jNs^f0b#KrZOBr~ zk(t7M=#V$jFtUOxh(6gmbF;{aIqPNkj9a&=lf4)o6y||cEj5%2k!+X|ID-8Qp;X!? zyo~5|4$U8B(`#oewM}x?r;R~d@p>U|HLF|ery8gm%{gQE<~0kP}491=is#c&u zs&>N`nIRuz4@Td|@ZZ#Oe^6t9sA1)P@4m-d*XNOwjsKu_GaCa@3vmBQ{eucK0_Fdp zzUb_SZx7ElTK8#v-(d`YR9V)8VLy|_$Qa=Mi%dJPy@|5zSOhbI!Xr!zMXsjbL7Uuc z%f2t3+q8J9reCyUrw8NrF1zquv-d30U*xy0!ys}s*gwdd**GyHnEwy*X=B;Vhv<}z zRj0qmdyQouRJHCAw3=10e)PKhfIU=ejbrIBGTi70Xcf9|;P{4+N%Z#ZaP&jo&Hcjm z*N!5n;({keZImxRqX4yugT9M7V)V;=nlt%+3LTl1M;Go*`>~9cW$QCwx+*7)@=8Rm z?tLp-jUA{)b!p$ZZVJ8$l{!$^77Hh@X@-pSdoaZYz~6}1%zBfdQ5}O(VJ?m{iX1mK zO5j7eJ+3kIl3G*S0CzsBW$wzepN3~yNlro8T9)k-(0ux#rt#ij-QmkT&D_0tw0ZC}>hG&!z*C!YQz*FW>o)gjF;0c~=Rt{LeycRIRZNAMup;=y zN%aXH#hHTQvgmK^Tbz|I!U}0K4UgE8oXCc6(FY@ zF4qH+z0O4QtcY@~ASSwY4?3IpzXXUXb$K)3OU{^000dpi5{hI8g{C>9KBf7e$j|xg za4L9}9hHm`D9$XO?UeEsG~6aPm`fZzfJNY{x;cR_y1>- zSHY%hs%@XM5(qMhS!DIbZ=2OZM4XR{jV}Cl|K0P={I0WxS zGqe{3uf>*uAa^tX794b0ns7E*fY*#=FHDF($&_UfbaMzL4nJtuu?ZPQ2qx|y2L2JM zg;X|?l%<4*SFG~JEHn;c+!T(1wZoP>3pT4Ir7;{w8K8m8;?NdjaRJf(M7tGY!cuQ6 zNaD;rqBmXx>nacVdzpk94&a=D3gw+kb_>IQma0@dr$f313w%m_c z(p>f#x5e(f&I5cMCgxn6?AO7q3ES4M`G(Yws6B{ibZG5hagg1JXl$hIV7QdwxVz9d z&@8lEJ3m33!C8)lTE%~H6(0(#0@}jQt00o*gDV!rU?knDC71L*pSn?30-(HLNtiT z8bj9JZHUEsDJ}e@$C8}V_zehtr8##F;U4OR!_w_uf@w&5>YhFcYpS@|1}ff38K`(C zaInJxwk=TqES_Dq{$Itb>9FnmI3IImJd z3a%6==B6)Oc$=qs|+-8=udSB#0Uk<}NsMnaz zR-WAwoPzz#`0nN|=i4T5(S~v^K=T#pVAZ!t^fL`BZHbW5O-(FNa4x?W|2!<3Va2i7 zdNs?T1E*=Sx#zaM8(|UgGVBa}gQBxI3O(#BcX1&7iDL2#`5KxK4y`3)_*2%AIy2Rr7uhgXIHXXML z1D1dDFaX5NOPh1Z_ZPtTc`~OCC?*Zv2u7cwV4xdYN{DfOOy_y2YeOPVJDNXfs7I~f z?l1TVlyiUGpxp)jLZCUO3x7xjvk!l8{SMdvto#e(2JL*Ykl8{P5cklyaio~}P@0Ez z-f}M0-DtDsvahu+|6LV8Ei+yXISycV$egvGkq_oq-Uk&g_yHaX(HIDkANV!Qm1ebQ;2dYXs6XUM zZSX_mcgFUpv*+jTt;BAf|8CV(w%0FJT#m}-;pb%$8PUJ$=Kx!3a9qURb@}3ZZs$8= z5tgOWKxebs-{CwDtwK{9Aa*Tl`w1=tgWz3qj@e+cf-1S`U9e)K18*-i>}T%1bD3G) zFHrscvCV`MCRw5Q=;na|QYgS;3b0JIT zB_k5hTj)()r6F>}ywdVAx;1EnA|=5x#e%sw?p>Wq4v)mz#z3hsVw8$Q_{@3J^6YsD zD&Y@k>f6U2;nhhTjxJ)4`>;aT4`@Z#t0S08cscCZo$G+n#07$bV)5+K5aDaWl4@M# zQq;Lc^*w6I0r)Aj_vd|(Q(ACe6y?UynFj-xDo_-5{Mx(x2<#PrJ4*ZYc z!0b|Jkv|3Z{1$xvTW}S@v8x-~gXXbqr#G~SI*As;eG)sFy7 zNtiC(d=D*xtOkYsj92ac((Y|=-uWP=1T7NDZLy?QSkER3E#lj;kw{m~GYJ}1Lj)f3 zDI2lmfLzy>Zdx8)=dbnwcB6dU*1ir9m257EZ5(-l{0z+@0IRfnrV0Z|K++UIB{6MZ zH|}9M_X)j1hBd8jZjd+=Y){9kM1mj7Tfs6#utjRLA~ z4#2fz6Vy?5Xc2(t{Uzuq488h89`5P3mVZdcMNVq3Av*!X)GqQojDYs$yM7TqSYZ zRbq{tL;CB4R!8BZkQ&&wKnJi2@V(DR)6)tX5GBf88t`JPBX`FV!k3*s%|Lj&z)h$g zw#i{CG)2<(2+~!jU)|;`?4)?>Fi6d7Dy-&!D{|6xaeq$Zm{-w@qQoUc*64D1XkJ6X zx^G}ZJwqCpglCw9xWYZro4h?2%)O2ab%bO4P+&b5IFo7)pf~>g$l?yG9^Tim(L9CY zhTV?(=Jeec+X3;=yePu*@tYpmn=R)L>`+7S(eCKc0-XX4iwd`Pnu;{MhV^2<-}OsH zJCgCPWB)gRqtb7Hqwqff9PZo$cc6ya;D%1RiK7=cJoqaz6dl?vf+8U-`Ln_af;U?( zZVyoj0UuI3{C8SL)%|w{`tT4O2z}5XdoF}~9Jkgh{!*Y9G~G|+4B@}&foL-nifPG@ z%LCWrxN|a1!n>Zx?hQWVm{bZj6j2$E=s>tio%$#J0q0-z#io{mo6sQh`&%u5wg~XH z{Q=JZPN#z$+PQzZ#z7^d_J_dlY6rS|LSjW2#mXXT3&P68CniZ#GUYlHo}RUK#E+;I za?2$by07P8m(jnk+!T{5@;d)oIH9b9@8_JBOCR;3d>*0b#I+FxOvNJeJy~sW<>iX% zEbX^#TN|nu_G&^bH)09yW?PwHz*PW?RDL+mh4Cs@DE{%yBJ=!vq}MT|{!v2Do{4ld z6VD(dUW%iA(9b5j+*eBELNQ9Eb`#7uIK?35^XE_u2&&pk-bd_q6;T7L=4c1#g;r?r z_Sk}IE*Vu){nhAX&+WqX#dy50@JNgcaqJu=5U`kdINiNa(p1Dn9H>_i48~^wDr#x@ zihTKTUET<`HZ@pBHVx)vHGBIHE&5d{QC!Bx+ot?FkWq0HG!Y>zPSq#QbxR(^9-Zfv z7z_!P<^zL8f|@XAfDaYpP@2@B^)hKBPq{%QJjrT&G%)<^p`E#9U|g{xQdteK*eE_LYb|?bMZnZ#E$FLs_4NbCE_+V9vI#%`)c{lC)DND{QeY z+1)yrR+MX;E96Pt!joJRlcJt4hApyDhi&s^E9A*L_7l_7F_=@1&CQYVzG|l`&WoCw zXC1FN$Dy>H)YpX^cye6mFu00%nS(cA?3gWe`cOChRVSX?inWM2D$7x z95?>G3ur9;6(2guhNmN~gj6JeG^n%aoU*`01gms zB=fE*drzfV#Kv&d(T%*ApxlIQd7zyt`U`{Mn3kb_@YHs^YM7niJE%P})qH#VMZsfx zX?MnR0Amw#P$L1T$;Y0;-fHYN;$|oN>s1Y9P{Ck^fjTJSn`U?og6i7(2o!~VGO*B)+m#IL<1(*%uU_E=xw%Lwp_r<{V_S*T;bqsD&sd9ND?4}}Rw zjV2%4RAT83UQFR{FWQs-ly6K6EO!+TiLXktDggtO$|~pLD(8l9heKh*(W9x8mXP{& z+n@zP-)do0=+9BB!!ZI*Ck6nGiY3ZFj+l_KH+|RP=&vE^IXBwM0m@{Ncz)!yXZ3C+ zv2D3X>a?~B)Fq(-gdxdp|l`1IWb^yun`u4v19!8YAj&ckDWaLX>vh44A%6ALjE4Z&%`yhEm6oa|4pJuVu@q4~E8MASc3gmhmK zDVD2fR$04N1|BH!A?v3$e?h^1bzKy^AQOM4$9lIIj5M0|V|GDkkBp@(Jyz2E3=J+e zQNezj0b_@xrwztdJSBa54?=2+rmBl9^gMrmcEo!YihW{_CTrPS?eMDPQxpkx(4p4% zH?R(@@7-YAQR2CxHx|Q(21n^+@C0bwC71*ycDUB4MB|{x)0DmHjE;};8;4CWnyovQ zycA(QB3^DlsFVbJ{e>XqPOsr2wIb*92_{|1363=?-F^Op znJ`Z0nIdV(W3~=O0W0Xcaf?3k{dtZ2IB`hS2zOf-R)VQT#0nh{km_GR*uR1F{taaJ z8)(*VyaOnc`)WB4M;EzPY91kIiyQj~f?zr5+2Y7zi%AE1??9QM*~V($zWt7W4@CZ5QBzeI~S?9_rm4nvj%BZ@kbx%n?a}eMYH`ehGS%ggHM28 z=|tbfwsJTRp@iMP`n`I1c0T#Gu2pg$-)$hhao_LTw*nUhtLC#e{I1T7b^tURt0%V+ zH#^&&^@g2q`%`2D8bZ;!9X?rksGQ)6oemrpmRZPnGNXJ^^Bprifk9VqF?S=Ll_B>@V_x3pu7#8RkF6_IgZmLTXAx^JrL8H* zMm8)Fp;vFNFhR1HchP`pS$(W%9w9K*8_8Fz!}ibQ`o4z^xLgRe(@XMo5`4S!ccZ_dT4XX zo|j)shx^K&vr}LC&8gLm*9p(ke0+k^fiyh{?^TVFQE1k3PUy_)ytsz&F%}PdGQgD&jn27m(s7#Y0Z{XJr3=6Vs9u=Yw61(jC+^)V9$2{o zrV#THuDsR>5eX3UlL)@KJ`1c@+_kk;Z!o!`md{m>yiiqkRbWVnjL)~t`8rv&E}mGn z&5?Vv^ApKUi4@|p`#sdGSfap|56!)_W!$V8jc9bSWNmB+Oiq+OR9)|0nY=vsIJLgs zZjjX7rSe^~u|2#3YhP~rel7Rjow2VuJW?#Ega>G8Zgk*0+TVTi&?d4syRhn#pKmg| zS1X??$Ksq^6nVR-Zgv^R0X!+ZG8@*r$MK{R(;*#gwcd@8-)^;*ZDlx zC@HpgiD)aKygm&XHI+|r>#S~UC>0k6ktDN}lW4}ojNLpvZ9Vkf%p5sByk#XH`<*4n zEbP1yknF#e4unpuc=`F{$iWJo5$B5#Cs+T>%h0bgEa-c7ek?z@rfG|;l^_6=A2Si5 zV#$-ByuQ`1ZMEiu{w0tJ_h*$aPemg)Rl`0j0WM&O%6f>x+EQ{hT4{FjYe^=&ih$aH z+iiL%g=)QBi&|FpnrQTyB@f)r(-LydJ6TWsn zY{?*TbyeL?jV<5U$<$_K-KMq~;j9cCoNV9xWZr}3DLP7fIKOqAa-We1On2 z{cUagrYWAO^poOd%To<=MxFx}w|in~`(>j@he{^XR=#Y#;4=$U)NqMWNb|Wl?e4^* zI!5C!7QQ&FGWE)cc$C_;&=n(0Yj3)*oy(c<&G#*5?Cs6BIBW4J=qBuMPfbe;31*?< z-|ihdjH=wn1cVcqp}i+g3Lt`%Y6=mwDHiphE6{E0Am*{$^?-7cD^>ntfiGI!_&w5$ z#!(LM_cwjj1=vIB%7{|?uuh`KKgPPfw;v3}sFB{3hu5Z9h2X6~w+ElN*MXQ1Yx4J! z>(>Jd73*d4@5A51>HZkyfVg=+TG|ALqNWa-pj!q_ke+}hVnGu%(k;*q|Aru(hie9V zNh9c@+WsB%uk7DJ9us!pgheI4Q5t^3|AF%NfWM>s?<(-PnxP%O<}E|;%1_&a6T(n*-RO4@)H3(j$AHQ+_9`HBMHPQ{x zvwGy~pfC(j*l%knHcsWTk0`fSm(foldt`fh)X&wj3GHA&pIJX95vJy`8_1z!CM?aV zDSG4NZRGz)*gHU1wr$Ynt zwwc|7!Jpl^{rilu2D+uwBqFDV5PrX1(DmQ~fiP-mXZ=VI@R`|UXZjJZrSdH{(xmFW zow0lG@h6Mg>T!3elv?-lTtaZ9UhNubA3dg7k|vA^0jY%xh9*~T&>1CAC)>p9Vo3zfz^$VH(gLE94C46p#T;ZzJ{Q_KzZhjk0T)WYn4TZmSN`RI_o7lj;x$x$J5FF@%}>>+cv5eQfg4iVlH6}P~i z`{JR6a8xc%E&m(wDEwJrr32eq>`er$W>|z35yL-SIi`HF^eGfxdFojqA-V#tOT_U; zO>ka7u3zPrJrrH;vA(2p&~^D9;I@AyC~%UO`TBOio9&@5-`{hP$p2nHhT!V7?*07w z8Y?D{dE|4i^|p90(eT$z<+ z$0)woaZtoAC83_5(k`D+JiYqxWSZwhZM`~Y_I?Jd8S<6#)45@jJdZ;6BvC7m0^3Dh z-~QcAi;RP77z&mIGuEAn+YHi4*oCek7yV_+RB?rq7lD&~HAlAfjGc)qj50DC;IkRN z(-imT5!v4;!oopqk1&qoDEnX}%P@*AlQFf*EYOec(t(0*7HumycxF5I${Tt5fusD3 zoeGVEKNj)tOTSLMOLrG_9;D>-BspWx828@KtbXK=C#iHN7%u3DWF8*{pHs4~P2dXDff2uaI&tIJ` zy;7A(0Eyy7&~q4VMtba|HfZH-*Xbi%a-W83-=rXA^f=}I<64;*K#FCppzTPMwDuPOD}9g%e&7rSl&?1B65raesNjfUK? z&#n#mgPyV3X5S`0o4d*{Fes$vA6&29A*%QT#_`TqsW3exvLF5Mf8=w4=SJeWzW5Z7 zSu|K$1 z#h?AUSu^NOX-sl*DiD=A?awf!yuLl^C>?%r)*5@f`3f#eah04tOeUd*ZnlfF|X~Uh?v|`@Baev=nm+n*@Y>cjaCyxwH7`Te9Al7 zDQMXlgpbJqo3qMKfl6%~t37yvt4FOiSg^6FWk+@5Z-vTS<}IOlN1Pu={t)1ObY2`qx-Q zU)x>Tc^uvyzx$uD_1L+Mw+PPIC?~5UhORp}KNcU@jCI^8jS{$br2-m6^gPNhqTPum zW!#m0wA-JuB~`elDV|z%2_Wl5nyx&_Ymszyz`oT!tHU^XsIUruYYXBAamSg+1dy z$YJyC#qsC(=+=+XHoU~2Uy#ubJY}QCSy-SbGi1m}V8Wz66H^}gr9FTnhnSioi;grA z;wU?r$o}?+_e#XCBe;Ivk9*FDP6=I-tr2g|xP7`my zR_4e{snY*jb*6Ig<%O!tx9f$+XU27#T(ooj?fmf~i!obN|SqF1ja3o|s| zObjo3ewg}9ZIt_#wR+KxYCh$dmn_x2fbD+z<(h%%_c}827BKm|D+iV{6{FVDhmU{j zYuf__Txo_b>!;2TV5X)G28XYI|Kv)qnV0}OeES_~l(cBcv)9ZK5uw+HsoGo1_Ums5 z;Fk#z$7B-**m)uipD)+FolBUlBkoItVC|*$I``T6__YzUkb;k&khlz%;Z`%Nzjk}} z@YEvAL3Sl=3mH-|^d7b*$RPI7x?SDwGI?BPK7oj~3|zcz>V4uYle&wU1^A5z$9 zn~#MB$9`|wy#67jpab2M;^&~ln!`wcv**#ihS~0YcT&21FT5-Dp&Lg)gm}EJ>3K;_ z(&=b8n%uWxi0rdw^D#htN(6zibF{H8)nD_|@H!?{E&1R&gpDk{w)_4X-aJp!^8*9M zWU$y@Mg&gNwn*s`k-jk5!P>9Cg#~7{WVMRdWso}puBu~fd3RHTA0Fab&e8`h#7jB; zxCrlhddd0QDxKFxVed7C-V<&P6zwlZ3PiEyk_)H@X0cYO+14-Tlj(QGmhFA z-~-O|H8oSzPhtnU>s_#6HZvDw1L1#`knS09ZD!UBx^D7#aXENhZp#J|W6Mpxh;4Q6 z*$`bLY~neMSrw)jeKo*o4)OwrZ;2Le<9a(@_CXIOqpWpvme||Y;01DvrrO;$VT*NJ z=*Ah|cHuYv0kxV3_}I)G@B3*6(CjVi>-@5%~H4&kn#Id7t}r z(}|;v3lj<4-|OI08`nCVVz!Gt>1r;LbOG0@T!HVk9DmM>-Z-NsJt zD5+m|t*QOFvF-egUH$Dj_NDBoQa_hDI+6+Z2YrVX-`m`O-Fb9+$h2g8afa@02DGK# zgMDwXWKM3K&EZ3c&1{WbJ-e=~rtn-9-lEH2X-2jSA+ZxTrWx`7CbvfA<_-d*4MK9| zd23Pys4bLLN6@GD(mWV18m7u2DX%c4B4jljq_SS1qT6N2?MBnnMAJ+6PO%{1$-|pr zmFqqo;A>pq8^mXJL2SAz2E}Fo7g^S>ln7iZ%{_ZyUvJSO(4InJsvZc=8e;q0qn?d1eQTVvq2 z5Kcf!^<4IbP7I z`R?j&E$3+s+&iT_JfLkopq(f$RYSJtK1efNj-~5vt>$T+1|Blw-_p$iQfO*W=4qY0 zzTLQuD^~H<-FkfzSAK}`mb3xKa@(|&uwiUa+xnrinSc8(-5yABuX@~EV>Mo|dk_9< zDUz{^gRYxn3RL7oXk#1KZ=RJ|rMr3J@KMt~n$-DoSM#N5^hq*Su1|P)t%f`v6 zZrrukS*B=-eLNz(?Ae096xoT|NN1pH}-loXqU@_Uqz@sOk%ldc&_Agn!gTPpc#oF zL6iTKsG^u3(c`y9(!-z&( zh~8^ztstvUw^OA=IL8RIjsOI&k8)?AIN3Yr9B}5Ew46b1|0TE$i z9ztK7LpY%BSesa_o+i8kFoVD>eR0M;Vpj9(n(hM;vJ)J04TYhVi7*p^K&KExAsy2T zNhkwt%0B&3eW(Ef!?TBnOvS6ZQK8P=E8;HCvR;#R>(Dmu51F21ZcWe@~| zObS9!=g4rT5(d&Y2M^Ek$Q~iWWrF20PILtb`=23^LH`}{V$B>F()IGMki1VJOZDde z3Yi6kOez%ChbY&Vqcl-W0_JQ*V~v5mLGu`mEF7tv#w2Pmi#`HxX9z_mYH&*yh`837 z;zBD5VqgIklIM9Yp~wwXTTyCvZSnOBgis!4#v*lSJ=mdb2n>kRZ{Zp~(cRk+n1+|n zUm!+;V17k*Pfj_+ub3XUO8!P|)GqQUNA_<6?H>+Y1o;91gR+(n>oAMGMW=R^p^8h2 z%$D!GzCg=-S8EG{;$i}K9}IJuK9JVW@W%ssACoyyuhj%VFboL%bRV*^{2+IhXkuh_ zmFM|Uj2o3G2!vHWPqY&@ozS*f7zlAI(P4)O1lcxnKMV;Nnh1m*bLOm!m0B#EPk<;b zi~mY7YB+2YQ=+(Ro=3YD!~m3NW6~{-P#6da7#}<6HBO<|aD{H;gf$9G`dqt>B?k8M zDrXQ3FKaN5HHrpXFiW6zT0abm#_L!f_)`r_PVbtc=ap7K{^x>^~d}&uj2QYoQz&)Gr?g z+vwa9UtEv7?azSu{GSI5KtTFy^v?0|=?+-;P1}40W(C}O&R;uDuSxysAfOwP;gRw4 zo_!4B-s$$OdSA(uecswqARYS+A$q4n{5?86m^!;LtvwKWpR(cADDT9}-qpn3)5hN2B{>lqECW+^zk8$a&r9?} zKb;H@1C?1dX*BBcHEM}wtd%r;5iePVp*^+znfPr~=eS`s3Zq|kjaKVSEV<1J%*iq*jnG(nk-7)OeE*{T$l~bc<@9FI=uXEdQHLSE7{w>OCu(n>druTS z-|vGlX{)(!l1O^JEP5aOgwO{GMk;_KD2nDYy7a{LyJUE2n_tpTMO{9ckvA`Uk6inY zlk(vsSm~H4>Bm^O#-|(J%((70wL6ODRyQv^T|QIO+f#DxZ`EFJidpVefboFT&v3On zU3x*QxleU;$B*Wp-Q3?s+~559a^a5iDdvxoGcQ2+40~evI zJ7KF#f)u#=CR!S18TuAc`Sy#%FyiVb)G|9dt|d^lxq}yf3tQdkS^WXLf@w8x8YK1} zGgpC37YUz+y56f~5Nmg^YkhI$&4k10uTfFeYKioG z$@F?(lPtXBEe+ExeezjCdN62lPh>0yFYE{Y6QyI7Xk?E(BZ=O9z3}E``a;b8ZIt!P z7rl?-bL1|c#IE;S69JgdPf#2cn|Vc?-zc1wh#t$alb(y@hjTW+z9nGpJp%EDE>d$* zqnTJ4=-H;3*hl7Czr+uCyUM!10bNVW>`u?TdD-~+QeEp|JJ4e2t7sb8{hqMUZK@|I z2CDD=wmxYA_X`l%-)0hcN5@57E~h`9rSc6CBarooSLJdX12m=S|Dxv{@#vFY|3CHE z`{KxuwIEzvkZYYj-kaVQN^Yk(=+7Um`f8kW?GB&d2cqYnXy3W1TQ z;7r1{Z|QHotfCLvm5a;trB6B~y_Rw<%a1 zA0b9Vu!R|uEJ=nid!zI71xOJu$=)e}WtiD!aO`Rvo!kwo&2>z3RS2D zP(;CB82=J+E+oSKM+A`7|64@#kZ7Y!x8C0ZSn^=!;pw^v%{B^I&ylAugK7TIa%1!* z@Kd28$L}UXn4iLT1m+l@`-DnJGC(24!_9iqEZk_m0{Q%j55-QBVHmtxBpy}TGx|jF z3N}TO5x$RJfP?e57^nZM7z=gw-8!KC zyQj6ZalZ4s_!+a(G$ZQP$fnXUZf&?XZvR-|srS;T_L1v+czc`N7tFjuYBX__vbRiU z{#dtb9?OXWj4s^Ep9N3p3tT>>5B8rsE=S~+A(#!}F^Cu{In{^Ma}k7AnLFTa2V!`w zS178W>)&mNh+Ojs3BiL&5or-udc4%`wh|E0cwMe8dw#rcM^AqhZT=hwmU~1C>3i6m zD@ChqJ+~JcexBNE;{(T!FaxC&zlsx}qT2}mPpB5W(VOP)~@l(6g5Jz+t zaJ?2(z3A8?fJf!0_G20*F${Hu?SbGD#qBQ`)te3b$O?KhPr@F;9(bU*)U~9Gd)MZZ z;;2bjLKZ=H;*JBz>+3^z5?A?MxI|LfcWSAIlgfG#xHfrR!Jp&`yMl4C+f9cl^18CF z0`CIuIKkKz^u$UAw`NnK$*GzA=HQPW3#sv0p7X8gj+TE)o+q_-gh}VzDXA!c9x>=x z;2trU)Xgx^5rQ5a*$^dRCH+xxN6Sj^w+au?ATvFiut6!6*Y~?u1vjOC=}^u)0qS^n z{g%l;dZ+}^VmiEVrC#8QwJe2{hK>L4KF=BWaJbVas z655b>XXQ=qF)?|&jyt?+)nf?X`q>A>tvc?FKGSM0W6Fw0I;zRmwjH9gcV_Dcy8hJq z8^=yPfK&2VHNk>62bbR-)XEBA_~x;TQzIQ{qiE7Mglue!d*-I}fyX*)EfGzq_J-{o zBC$RecLDejYN^M2I5zLQanW)pO0Fo$0#m$xMx%;&h2}x!_!El#+|U$PKV;|<%j(G)j% zsVVKeI1n*EgPA<}!K%_x)GQpaB zGDPDKYP~o;LoG&A!-dfw)GB|Cf1wWJCKsLmg<2mH-@lN-|B#Jot%VI0#(|G)B~`Uo zrnak~M(3viULR7V6u`a8QiK>t-!7gG9mbIb!+>EuggT)uOxMY{5{7^?gd4`8<+mKG z$faGSNCO>EuE%?dY>iFp&w-)R!LY(E_#du{=A-#ljo|fAMhH^TM28&q$QZF6OzzhL3 zLVym^Lbc|m9pXvC*e6~Qsv;=|P~DEV;xzv-8Rw9`5U$!2weXn1%_r4Uo13VK+#)6G1~D%e9<@U>Ar@xI~y8psXJTy7B4 z#ZsQCd^kNmgn3krp>`K?`L+_&El}|p>A6|LS$BA#g0Y(O8~wwk_o!NOk_)V6VTWim z$@68xy1SV7t6503V_|{-;?Khj_yymrMC;9**130ZnmVDHj64ZWNli5LCT1@jSO)w* z$zGERIuDBqE0qWWFawJdq3}|Ai0dmL7EWr0i74yML6bCs5;P%KG>q}5#FaubKOjbY zrbpEX6ONb5(! zQB_GZ&WjLN8uq{rY2^6{(dbVLoC#bjG_s>V%VW?q)Cba$q1eJeTpi>95ApR5P9}A{CBNCs9AJ!sw z%REt%Jk=G4vz9s|XrWBERaNS#e%2Iph|Pb+p!kdL0puU#t?I7m~*(2o16MYH*LXK$mm=n)-~_@G=8PuZl;hvZk<5Y31r4x)et77!LHFR zbCc0^=0QM-@rVRvlxXQrSzpu7@F%8RkgbT9lBkxVsRr}dy^<>C{4TVkm%^~9FqH^61*{3@iIDS@IC^;bVNgvJI-O^J`GVEyw*g~5iUxY zbh%pSLMh!A@_VY33Ef2iF>5)jiAWm6duz%Pktzdwlm~aH zh=M!n&}N?s*YIFN3-8iJG@s#75y`XeOlbZTa@Qj#%KEU$o%Udw7?VFqPp!4omZ0TcMZ|5<4I zIETw}d#TJ%p{Y@mGTg7;xx`q2`@h4ImWyb{qyH6_H~paeM>0LFk3WlKk`ji6ZiQ2Y z&~MgYCCH4_%1Bxpp(c3RTu@2w>@rWQf*>@BdUe!dlmD;JeC`7lxD6ucvH}MFLB{f1 zmP)Xpng5Clk~SS{bV7k2gU^j#ZeNnVcty>*wa9aK$}`PR>21=CDEvvuGc*qYXIf+~ zXj6&KRMe&ZhzsnkkdC8G-Bib8SgH_Gv2g2%D!o*W-m*C|;~+kLzPm=s6N^_(!H2rG)GvN}4>6~4WOEKa5)Us8 zq@;*p+{F8SVIr-hi1~OU6y<9u&LDguQ~g3#s%0D5xs74G#OHImsc_Dij-i;8D!%)O zFF#Xq2GHZ7Wtbz@z^Q}XU}i^z@$Wjf!URB8!vxY;dY2B6VuW7zl!kC_p@)c&ee>7@ zeg%TwhEgML#l4XbRF?7YBkh`p2{y^r90$(#8UNlv6pXD{2xB%!@$JiMHlHDV_xlxy zz%BL)dJDbC67dTd<$ZJQ)`s6W^@mCOR+u0#kl^2e_`_3XZlO(dz5w4F$~Q#Rf$Muy zNIj*l%gwa(yg(8r=$A|KZUE7q0VT|AWFAZ*2@?4Wd><*T(QR7u54Sqd(l9~dcLQE= z6km|yIifG01|3Eib%vZefq&Pa_%a*&l#dee`~MQ*EH^qOCJ3r&?V{G8-|63qLd3h}pN*uphk2AsK#f{X;W_hq!v zFwU5_&{LXT$Mk=Qt@$bck;F_;2$ZdKTKmBaCxOBjH1ba^-u}M=WB;RM{+9@_=p~iM zJ$nNbEGY8Y595Rp`)3K)`^|??wHU?l&uH*i&;F5f3ytRh9F2XX5@Vno1-Lh4#N);U zd3Oyvu6?9Fj(sGvDJCFb+nUd_W%EX3AmZ72=b+^g_n>2eZ@9 zJuA~RaL_kcvqk^Ceios`EV+#$VTM<~IUSzkin1i(!PBO!Jsz^pf|xakj1mgpnxHX) zWtQ;wO_RIMLY!90jp^7!ErFP=MI#a%C@4Dicco8O2z$&=PKtR#0RoVv{;HsZW%_k} z%vRXqn!Udsl(y?e1OT80FY=Gyq$c8Ta(JweWAFxA?6lVt$L8Or;*@?L8N_fuI2Aui3{yn9@HmrGLZd0!p8i zCJFxhpLW)nkC_H<|1;QU zKq=3~{D5W1qD}DPl(GWWzv!%oZ>BnDsF&ct`?av2S6 zN(Yv8?87r1e=!SvsR4xs?~u`X!QSc*$vv%$E6F|m1YcCP=&b=Q*i9fy@rh=`TtMID zYmfAn@l44M=ZrDq&B>ykqjKDsihepI;5K0?xJk1VKz%rEB)jQ-Z(8l_!s5K3+^W|P zyNp*`RV1Ml^XS%2%H^bG43`%`JE*nx_CU1wV}_7#1r8rTvNXpe{#55TfX*LK>->>podHOrJ;W+{6`0N2IR zM9??A6g`~r#q#z0)1Dwe@94KE5;>z6j5l@0`++wxT(M8LEDh7o*CQv#J4WV@YH!dxR5((BKSytm4|mXa4SdiQlsi#=c<4)f{x zeh-r)fRhM?kR?-sXRtw-3})W|yP+6=g>3H%j%~Y!y1Y`e zBugP_HONV+ZI1h>NI{EC0{3P-o-PyIy7sXpEt4m?XVc=q&?F7sOy038Kc5bt9|b+DfsQHlS_ z0y8-g=**Gmf1Ghbh0e#SbIxzTPC=NE!k;o{YjGOzB&VjbrJ)k6cKeOne&`V1A(|kU z1s5KqM(RIlB~`9$ye695$?F1tD^wEC=e(ZzneE%Ew_VOxP4^J|qaLXOb#IWX9Vdh;&S`RTwrPhG$GIG`6S;c3-FW@bb_Utwl3OZLG4xeAKKmB#yp_L5tvx4Cl zWoRm~15z*tBsDUjtXWZf%Y#{TlZ;{!!r7lklJx_7j zFsPGO8}eaOY%_`wKunxf6RRLxXoebX+;R`c>F|Nl8E=ectUN(6PMP3vDYn32s5^g6 z2vDfW55EqEc>fmxkKM+@BvM%Ze-WTOg5trz8FysQ_5u@=mnAO^HXn;$%v=y5E+sCN z78eG%20b1)C?!aRHs@;y10)P}5=8x;C8rY>J5)L~ouuQp9W!#w_n77ZU

q?!Pp9f(}$>)0|Vj=*} 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 K excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct TweetRecommendation { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: required double score - 3: optional list metricTags - # 4: the author of the tweet candidate. To be used by Content-Mixer to unblock the Hydra experiment. - 4: optional i64 authorId (personalDataType = 'UserId') - # 5: extra info about candidate generation. To be used by Content-Mixer to unblock the Hydra experiment. - 5: optional candidate_generation_key.CandidateGenerationKey candidateGenerationKey - # 1001: the latest timestamp of fav signals. If null, the candidate is not generated from fav signals - 1001: optional i64 latestSourceSignalTimestampInMillis(personalDataType = 'PublicTimestamp') -} (persisted='true', hasPersonalData = 'true') - -struct CrMixerTweetResponse { - 1: required list tweets -} (persisted='true') - -service CrMixer { - CrMixerTweetResponse getTweetRecommendations(1: CrMixerTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - # getRelatedTweetsForQueryTweet and getRelatedTweetsForQueryAuthor do very similar things - # We can merge these two endpoints into one unified endpoint - related_tweet.RelatedTweetResponse getRelatedTweetsForQueryTweet(1: related_tweet.RelatedTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - related_tweet.RelatedTweetResponse getRelatedTweetsForQueryAuthor(1: related_tweet.RelatedTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - uteg.UtegTweetResponse getUtegTweetRecommendations(1: uteg.UtegTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - frs_based_tweet.FrsTweetResponse getFrsBasedTweetRecommendations(1: frs_based_tweet.FrsTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - related_video_tweet.RelatedVideoTweetResponse getRelatedVideoTweetsForQueryTweet(1: related_video_tweet.RelatedVideoTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - ads.AdsResponse getAdsRecommendations(1: ads.AdsRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) - - topic_tweet.TopicTweetResponse getTopicTweetRecommendations(1: topic_tweet.TopicTweetRequest request) throws ( - # Validation errors - the details of which will be reported to clients on failure - 1: validation.ValidationExceptionList validationErrors; - # Server errors - the details of which will not be reported to clients - 2: finatra_thrift_exceptions.ServerError serverError - ) -} diff --git a/cr-mixer/thrift/src/main/thrift/frs_based_tweet.docx b/cr-mixer/thrift/src/main/thrift/frs_based_tweet.docx new file mode 100644 index 0000000000000000000000000000000000000000..929acd8c47555c28c699d24eb02f12f6d57af6a6 GIT binary patch literal 37296 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/frs_based_tweet.thrift b/cr-mixer/thrift/src/main/thrift/frs_based_tweet.thrift deleted file mode 100644 index bb83397b6..000000000 --- a/cr-mixer/thrift/src/main/thrift/frs_based_tweet.thrift +++ /dev/null @@ -1,35 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -include "product.thrift" -include "product_context.thrift" -include "com/twitter/product_mixer/core/client_context.thrift" - -struct FrsTweetRequest { -1: required client_context.ClientContext clientContext -2: required product.Product product -3: optional product_context.ProductContext productContext -# excludedUserIds - user ids to be excluded from FRS candidate generation -4: optional list excludedUserIds (personalDataType = 'UserId') -# excludedTweetIds - tweet ids to be excluded from Earlybird candidate generation -5: optional list excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct FrsTweet { -1: required i64 tweetId (personalDataType = 'TweetId') -2: required i64 authorId (personalDataType = 'UserId') -# skip 3 in case we need tweet score in the future -# frsPrimarySource - which FRS candidate source is the primary one to generate this author -4: optional i32 frsPrimarySource -# frsCandidateSourceScores - FRS candidate sources and the scores for this author -# for i32 to algorithm mapping, see https://sourcegraph.twitter.biz/git.twitter.biz/source/-/blob/hermit/hermit-core/src/main/scala/com/twitter/hermit/constants/AlgorithmFeedbackTokens.scala?L12 -5: optional map frsCandidateSourceScores -# frsPrimaryScore - the score of the FRS primary candidate source -6: optional double frsAuthorScore -} (persisted='true', hasPersonalData = 'true') - -struct FrsTweetResponse { - 1: required list tweets -} (persisted='true') - diff --git a/cr-mixer/thrift/src/main/thrift/metric_tags.docx b/cr-mixer/thrift/src/main/thrift/metric_tags.docx new file mode 100644 index 0000000000000000000000000000000000000000..5a207d3492a6b1a5f828a21834351bd8396af475 GIT binary patch literal 37384 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 excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct RelatedTweet { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: optional double score - 3: optional i64 authorId (personalDataType = 'UserId') -} (persisted='true', hasPersonalData='true') - -struct RelatedTweetResponse { - 1: required list tweets -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/related_video_tweet.docx b/cr-mixer/thrift/src/main/thrift/related_video_tweet.docx new file mode 100644 index 0000000000000000000000000000000000000000..52e3eb0c9a5cd4e733afbcf3a08f440ae8a5fda0 GIT binary patch literal 37013 zcmagEWmp~Awl<2pdvFQv?k<7g?iMWQ!kvW&_W;4&-QC?oaCZp=cmGzpd+*)7&pG%0 zDIVq=6&@ukVW2kYq?CP=G=Rdabz+J(mO=612EOi z>E7?AxWHLtF|J<&l z9j)eLc@!v(?|CPVl78GBKucXmrvDWtm90Id!aL}$@9vJaAm+W$!(ynx-Rz9K?YO$% zFzOdhb>SM7Hqn@*5q4hgH-{r}a-W;*Al)Ti2?d{a2}3~|f02H#`wNt(ePiflyn7`7 z$~)=jj>0{cm4I9mIff)!-Iqk7eDtn3<0r32#G`LBXl>A5)VCR~!X?4C z`;)n=Z3k)Fq(Y3{NfsO)P$Mf{7U zCizUKA!gABZe&`Q>+GKe3jKnpY6&{cr$Gfm2NlQ^V4~y*uyR|!miNZBxUHpkHSAnWBD((+;VWr+l*y$O>FGs+v;S~yAp5k4_(;{t#LOr zL7D`|2a|-vo%x%FBWh#6u6)8-eae)iOJdzoVld3;4>NRj!?!&La5G!lu2XN zmzxjeqv)^Ywj8Qz0=} zI(l&qcvw=uvD~Bq)XZWTe4yi&4U{W>rH{z@bAigR`Aqsb+!FOWzFIq27i z0V9?DbTgW27&gKa*9T}MRB(0?kCWP zw68K)MWX3YGOf}-7&<3%59@s2KD@qLB&5IRzJS6zvOqDQopBR?eeS&^_-9|PS5|P3 zL4C1-0s}+)dtZ$0?f+~6*@XjfkN|mEt4bC7Pj^Q75roTB1YQyqu6P;xv&XKPVEdi~&8@=vi9+s}8Zvw{<1_u_&^) zC{U05VvEl>5_HSrusTGs35_Y3zBQwOt6$taNC_2}kXqp3m%C5<8P%9yMJx%ITG8M8 zOil|)){Iq`ecWa$Cljn3q<)`7^z?~@fZl}mRP*3Kd_hNFK{pCJixVH+m2xW>*aE%> zpoacxEr_S|!BuCQIksAyTu(=MNIQazL=4B*ujM%@~W+ORK zXhL)2J%30#uDX|vVq9|nii~i9;)jm*H0Eb!;&b@4hbw}&xtm`k|2#1?>nxdaAi=;+ zQ2)GO-2jfJ%%H2*#TImP`h8~XY3c%2xUhg5RitX!%YFm#%&P31j<7t^#@Q=K)I_&9 z-?12L3Z$d*^G*9+pQ4K+=3Ed3bbpQ+NDv!zp6&34;OcjH4D-;H{E!PD&QS2iRTecJ zm%wN_JF{bA($7c6Vcl2xKJ1gf>{IuAREl6C6CQ~W2qt=1Ju0)CKe(H7U>W}d=~!kk zG+yU)B4~I#;YpBUwk$uqBSrYemQgcaslwkbSTd|(rq}F}ryePxlJDw8wmRjIRY>!_ z6J53wv-%h0Z*>0ej!fbV!OWwPS6C;=4%Vg~qCkGpeg32`=} zFXOBsxkL_|kGdQ?(od;=4K$*49=#0QP>>9qtcUb)>@C#wF2xmMr5HWdt6d9E13jFVc=gsVd3Dj{(;7WTju7;Onq+J0X zdpAC}CP@$$Y6stxuECS>{J(~kd}CFU4{e=VgjAC&U0k1ix$!npRtt22*oh!PNl!I; zeP2Sv!dIreIP9A*7&FSRO^g|Y%PNTyB)}AEnS2&mb4}bfS?AhgFg8=ZOrfG2V-FLu zBN*5FJ>)<$TN|bVzx1&)-Gc$fvC+ckaLQCj5GR&+^Id%ffB^puqIXwcvSjJU20|(F zqX|^(A@WIcUahyRC@Z$^Lmo-1c`nws_?JxN?$@a*r zy54?sz5-v{_+e)@p>EQUk#PfIyYUvjKC*kzn;q^Dt)lls5mp|-p6Z@fOt|OCR&F{1 zZKNIOYZT2hvroxgrCsfw@@*khXb~yKHn-d)s&kU8>Nsa%akFhGJ%F_7#HH(2c}&Hmo8}E!wJ7;Tj2!2bH(-Etx~l};l<-s$nFNz1WXv_7{sYv^ZjQ3OP56t z&Z&v}#0+y1@>=DKT-aJ4m*O=$w3)zx^~Z6k9xc+)rnsFa?y}9Nho~7&TeY=ASRjj` zOH>ofNaG}K4@WiXpg_wDk>}QpaK;1

?P7(Jfi&E)`sOJ9S9g@$ zv@~w1XWv=)P@XoLw%CKS?%a!ZqFWBZWFjeAx-zE$*;sIptIzOGcVHVo4ZhX*i{Gfn zW)q54yK&hB;v)ZZG4mV5Kd)yyKLQLk&_X{3TIdNu3;iG0^Pk(4zhBjVZdtyHDh9IP zeK~tY=nYQ5DzuAu_bZpGjZUhnz&luKIsR6BZ$o#@ltFykf9Hx$D)9k{Pamp;^*>%k6-1V5o%f} z`)d*2H{{rfv|v|8u2DZG~I)U&Bj zrxDPL4pp-_XQWTTNollwcJTe?-jvYy1=aw;ync>Qyl~I|Sza#+!w^d2E*-Lu{ocrO zbjN(&1WdxMOFUVet)Mzxbqn&ch&@7-hq5+RHOM;n-Gnud)%En(eoqB>XD?U?;T@sK zBEoH6A}wp>G0hLhg1zV8F#JiWZE>8Ii#7I*R%LmXucxb^cpn0PF#ogGQDr#%5zJs< z2I|mYpyl(=T01#=*qAx}UO7SA@q}%uTA!}2+&shQUEA0ou%Ssiuy|KOW3P_PnlpBJ z_L*PbzvF(6IWhF5BoiS~S5epaSQ=l;-q72q(LK|6Dw;UGY6AdY@VxmS_D|h)PBW8MUhG~@(}Wj>0Iv@*Zx2rkXVFE%O~*U> z_YZ3qZOL^$$ML4E5}V`FJs4- z^&YD>+(p79D-|V#jedu>>J6HQR?(a^@hCdtL zg%mCH0ULyf`z(Mef+meNW9uaD7-ux$+WL06Y*VU-d1tF&xd{ZHHs3BFA z!Y|c^KH9=QJi*NEZ82uSxV|s12Yu$ga4*+uFV3lY&(*-C_6-5S3b(VN%7ywR zd_rlxLuY_4uASFICzb=$2nK2oVF5F0z}!uW#4MU-i9KorVkOW}552H*H30PAKEq4D z)w?(S`*G<-SRp%w6&EuIe7eHc_a_@K?E(zKBuQ0MZquteu_|o6Ax%RGixntyb~k-L zt2cZqu}rkBK0PNd9PBwbmE+_WKgOV+w>&KvU#Zbr^`}_e2fnrISI$p8oy8FuPw9J3 zvY?pOlpJ9N^*z*@KD@eAl1BtR4qSrRIG?Sv`=zb>f`TAo^-asn+y5!6I1->4!<=E+ z9@`Wiyr9MBiu-i(dj8XvKAm{*2f8;l*)7};QEwtc8kxuf3Z4X^GxIX_;Z=!eHL{qG z(#q1s7%E@c%Yqp8u;|HT85cgn#VfRSmHTcGGT&>Awhv*=m$$Q~<$){PTx2!9l;D5U z31@hHTC?onuRQC|Uka~gW#5ol)Uw@9K+ETX{0OI#hCm6`b0FbBc9f78#L%FvA{M*s zOiKo5v5wVk2zOQJhZW?ZDuS@wPD_etyI!7=Ck>}UL5~q&AK&Chn!c;g9}|a`pV?j( zyh#ZF*X9|~6+u(D#6b&6XontV6uZQU4Tx=r&d>fm`582c^RG#$t@i+M(ZAv=8}KQa zpqM=nhkIq#A^wGZ!VwQjB?ZON{*kH!LJJ1r{v-8IDyS0bGb=Lp{~|b3rT~o~{GlSL z9ojVKe@OffRIKM^B~CyxDC+ORTnRvWRM0?PvFdjjNf8k_1D4~`5+4)2!F zH~8mgY`NQ*laCMLaHhs~O}G*D)>-9UiA_5KbMQBa6!ycc;yX-=_I6kw-u8TyM-k3g zpRZhez1_~56W*g1tUHBP&)+brt`NN+ZH?4iOu%Wgs->7{dF@$?8&tlfQ|og~TwOmp zabNE0k50PF{`%vRil@ujP4)96$_P&AacR9fB-9X{I?h&!;e1-a%WMC6q2j?9+qyGx zSi8(x48qfO6D{&+w`r6a|@_w>Xm(#PPb`dWsZD%kTf09^+xtv z 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 L1ZEGp9uN-z0WUia literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/related_video_tweet.thrift b/cr-mixer/thrift/src/main/thrift/related_video_tweet.thrift deleted file mode 100644 index 18a987e7d..000000000 --- a/cr-mixer/thrift/src/main/thrift/related_video_tweet.thrift +++ /dev/null @@ -1,23 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -include "product.thrift" -include "com/twitter/product_mixer/core/client_context.thrift" -include "com/twitter/simclusters_v2/identifier.thrift" - -struct RelatedVideoTweetRequest { - 1: required identifier.InternalId internalId - 2: required product.Product product - 3: required client_context.ClientContext clientContext # RUX LogOut will have clientContext.userId = None - 4: optional list excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct RelatedVideoTweet { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: optional double score -} (persisted='true', hasPersonalData='true') - -struct RelatedVideoTweetResponse { - 1: required list tweets -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/scribe.docx b/cr-mixer/thrift/src/main/thrift/scribe.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5d054c31327bcccb61402afa59edafd0f9f6279 GIT binary patch literal 38089 zcmagEb9`Lg*EbxqF&o>qoiw)H*c01m>?Ub!+es(3(b#Ixq_O=>uj|MAexCRJ=gepJ zIqQqH&YZo@o~wALWl<=aA~CoXYnV34I%NCsKzTewlcbY{W5FPTUxvn0JoI6nwe*Ouk` zaheO9Wv{NE&j>y2Tr5vFI7RyrERMQ5UK5>oC=5`^>WGUs)fiApouHWT4{5YM+r;|mR`FUCzt11|OMlk|mC)O0t|ZNh$@0&GL6>gJ9hbF|(a`14NIH0iB6bamp? z{j85er18A(#gVg4dV*=G8%Yhm!ep>@#8>-<-uK_%(-y~52t6)G7~ap%DcDbF1dgD5 z;nWbWR|Sg3r;f7oa=$wri<9}?=7s95@JcB9bx0Tq(gcYN_&i)9KOcOCUd4U*5L9z7 z{nA;o@3t0PU@Fg$N~`ypLRf^>o%s3L=Lxa2@}q=M@5@r@#=h{_Jz2psrh*}u@_$v) zi%L%90aU$B2rw{2(5I2Jxt$9$)1PB?(xfaTD{A1mkmLwusY8o~MA3?&#F0XgP|vrC zvl0h?>5|p1P8A6QZR}p6!}C2;i^a@B{AKzQyAUlCorU21rC#kV+RG-O(K=izd`A$e zr}}QFj$KCdEjhA?In_Ovg(is*{U*ks9&O{-@+MHTHXHB&LiqUxW!f4I8fv`!4XX@UD1pcho=Zx#tGv_T;^~(t|Fm53;X*M zP}xea@{;K&L|jSD(39c@X0ii)fXA{)pmerv@6!Pz1^J|w_mqX(W{66F<22E4min}F z-RAgZKe*9ZJ+AZrPEf=bL^W&BZ9WT15E>{!W&l%VXMm#%vnjyY{Lf9Eoiwi4&w?s> z?<+a4pc#3M3MVN;2YwtSD~%bn+^Jh=XszieG z;nwxsHvt31^~3Y?yX%ZDl!3yoW^L?s7_TkkJk)8Q{j)amk%v75EyLlnzuw|G2s2v+s9=B`UmbyDBNR9WJB6H5AnB`zAOCyuFK8Z8qNu* zE_P60V5t9Dm(Pxlf0adj++mFcwd0u{%D^?s8dg*VHz{~gbXI%=uP!O8b$*OYHW8|w zb=TkTF#?PC3-fIxeNbp&W zJ1-`zpllF*TyGo9exc=A+Uwy6%#n+n5HUDj&3$+nK=_GcTC^?VKXWVPSeboBvj&C} z)pXKGqSjEZ6>$}Nn$WE+I-JML3Hd5c6EpgQJjLcSp!WtXS379kDWUDIv7A2vS?&%Q z>WN=$`2|~oZdDvsmoOo@B^@K6ehhH^o15oDa`hFYHh9$4&*y{eI*hL()&wix(J1_; zW`!i{$LlI(cbTe41#5<=DN+faO^EU7O=-`x4iCkbbPW{sVzF{L@zC5Ucf$PJ!S?~w z&|hr@ag{&0>+TZYTj9N;GF{rU9&SIn2_hbQ!0`CDHNq36oxe1=1-032rKJc> zYHd;QhiBnv_}D2WrVXsg2p21T>g>p5eqkoMfX{rq#(!V9{Z0JeHwKz?7vcge7+9p* z-#=InfU_Ah=vV7z51O3*+!?3(_AYB&=x_er5aiS9qcNtV%qqS%KU)s71TzdB1pM3m zZ+dBRbaW{}uuw&OANLEm2TGCPcw++Mb;^ zXF|16`wsORULQRD-f&8$QD|2(?af~z2(o!|y^4?TuVL!3~0l> zN}?fLVPyn}7>MvP5q0&4ltwf{Cx{=_%hscol28kKf-576F**fP@!h3NsZhEc_szq9 zz0J;Hza|%ncgW+`kagt>e;sK5iQ=*jsI4RWBKbH#MzIuik2+;_c9Y5>i)FcDUd$?iQAgnXk<=`sLT{m~sgfb>$AQu#5+$!95TyOnZI; z6eP0wACum1Yinbhv*HM~4ZM;zz#mPK=va5kZAI(D-BA#Jg5gnz{`QCrW&W7Fjj_l} zrZePwMI}iHuehhw#L!sY75zS z)Dz-E1_tgrVzF0p+Ws%jH1pw6%BDA+Bei=z;f=)1$}+;Nc5|MJpJC69yU5}+24Hei4 zBM*0%x<={*L_{#r2^77WdH@yeE0$|rCHc3RX1@1N0tW<5%`$HAxO3>+{$0^3!QB#OF-NQJ!cjg6GAMP&tb5<$GH027YihaMG>Mf>u?455Go|nP>SMv{tIeU(B`@1 z-lRxQri|LnBV;X|XNc?bPJx+y6pfvIowJr&$gTFbilv*~tc3ZgKL4za|LHmuwiuWkxO_U)$(PoV+zN`$R zT+OCD|H3B`!VxKrU{z@m?Kf9ZWAVZLdB$q-=f;oLdr6mY0naA}40nNaI2^0#=I!bm;T+a}?B35>?l=_z2uyfPzK5>Vfv4yY1G zs)Qnj<|3~u5#&NsZ+TShpLGq=r1KN!BQD(;4=FH!I6-4}gJz=8SM|@;8ft#yu6b`C z(Weh^8RJehs`R^-jF5hZgp3G~S+QsmHt?x~`dT9MoyV^$!7h;AS&*o?-X-v=FkJ0% zMZY=>Q?F#tK&e%7s8vFxd>g^e-vN(#l8-%(NtVkrQ4V9uSSDPLTt6!uI=ak3!BK@T zX=-kLvCM@veG+vYJ1?b-V!UKc)tM;qmSHflRd|c=C@k|DKUVz$t9ft&XL$V1`_15E zeZ5H76DttfLzDKsIC9)R&PJVWjbJeRo|*CHxBB~MxCW!g{qU|Lo`Y<>2J0frgTb$mNE{eZ}Tud^$mK0`2oV@YE~4wRMTFYztr=lhT_kK z1q%0`_nsc!0H;;z>#a=pIHKn_r7v@EZLt~eq+W(HJHj}j1Z%(g70HN?t6L#UtoR3) zY@=qt$|ZVnl9x#|VcoxtkJO248+YR;npt&yWb0B-Jq3O_P*E(4cPv`E-I?(~|4=fX zfseG)SYu5Eu?RhRuR9}9t7Iz|P3K6L*|lXXqZVMNXL%x5U&}Gar(py|cL&gqWz?V?1!K{$tHH+)bvqp(>T{)uE=b zd{8Mf%jnte{F{00tV3?L`D11zZ=PW&I>$RImffZS6O2f;Z}FY| zhNkb^+hz7rQp^4UF{heB+w7dzR*7Vw_(O0z8kc6&*hg(Z9g}8r?$Ask4xVq8_W{}fr2>~rfiNb zV2P4;($grdA!=Jq0?$|1%hkCoAf_;TTAyN7btwB);RT_-opPW7fucFzL8Kk4CbsBE zN-gP21Gg@Oj>K%zx6k3ZIj-J7vdhVuwyVx6+il^E442+*#YWBGJ~XKM#;qHMN=>dk8bfaakk>R zEVUiTt5Wu8Q69>M47E_(u#c0rJT^D8UkAJu;az=TA%ypYVoC{ic?q>`RmQbGoe1__ zd_xZ+p|;0%SuN8%FkYAAS-qL9h2nh-`N90(xsI*G=8t9u12fcs21EI0u3cQc?95&M z>b49Fl6R#V{JOgf3XNWV+9!m94Np0MCAkxP_UX*2KWA59pZh&CgJTtcY7{_8DnhKG zs-Y=ck<`H7mxHZLyRVgt1o*$= z`tm;>oO$Y=<)p5?I=r4`3NH-<-X7!MAD@@b<4T2FPxcHR9ycz5X$!#T!?|C#!0_sihaw{fFUc`#a-nC#{vQ<0n^5Uh8(;rNYEjy*-^uUw9*8 z8s2ZL8+Co27uLqTJ)(r)9kl`dX!pRq>w{a*kEfL*Rz~;XrAz((%|b-|mi{X_!#+9= z?n|G)D1OdMn>?-)J`>J233>yx_u-QYAo3TY2%riWd`G+k&Rw3Jc#QAaG(O_WBEfpDgqn8dp2lT9U!>e# zd1erDkKaW5J2QH}@_LhBCs*##x_NbZt*#48h{XqlF~4=KcL7_g##07a1MGq8eqH){ z=UuP2;!hT;X+-@_TN}(MTmIi9iG8JWPD$SfY9G5zdTYlQs8SnWTy?|!(K0CUT!HYN z7n^v%G+}?QXmy}3|0xD(ZDhht9SU@D_!&Ciba*35cx{dFYn_pwj<6q37;^_O-aHH^ z;PvgW-y#6+^=9MMHADZU&VQw2OF*#NbHV zwfj`@a4jCN`|$Ip^M+ zL-ohV;5l{wf^G7YT$(nCeQE?EWzbMBy|79h0QBvE;dQ{~hp? zUCDQf)2-JI0R~~>)Y@r}*>&9nRkptH*5TykYUBln+x}m5TYfc|raCqzFKJ7M`%W%Z z*hOVe@n{$A&r6@L)oE=8(k&lC-a8Cx7N?(2=bjwzonD7!?yiMT&xNv7q?!#D<}dmW zuCITc^}A$o(1*1X6l=x4_aAsx5M^D{XoMiH%H$<43Q*Yn%H9J?ECi0JP$nv#mQ4TBE|2wE5g|o=@K{e%aG! z5e@x7^Ti^)gZm-sOK3zR6H`pilPq*@QK>PqF7cvH8ZRrYB3*{A`jx#hlwlu}o>Y!; zNfs_i@q2ewz!m}XgXUPrFy>-a2Ww^_xQg9nZtH6~-Z$MShPUSp>rVcf^MRt3s5(~m zEtzF)``u*JA}&Z-IMqx9N~qpL2`AFyykjsP%kwR zgw+mO5=8sWs_a5(I8}0b^kB!N)4s!RK+W7)X?M( z=n+P-E9`{egbwJUygw(cKqs;Pc@k=e0st=hkLzoi@hF*~n7t53`eZgC{)v6ckpv1Q z0bNJ?SEw!sEewSFU!i|fL6uXV+mL$x4}x5wieH>t$=n6y=8kB0txN;11I3h z@VMO@LyRDkUh2#F;KuWAA*I9pgVBPW zhuAG)gVtLK;y8z0rWKJC{kU_^M7;NB#}DF+Uem^?4D02DSzCkaBzI^2?#o#oNP}x# zOaa5W()K6LNr&yf2ciJAyFoSasO5HkGy;9skIoFoP9IkEH(3?jiOf1f^6|C^6%Qh9k~&RG_xD&I-}n7g#t_a~U#{H(d_B(Fk||J%H(es? z7H=8V)(9!azQ<@SCu0L`8ptQx-+DI^hg9z9)cc)N);Et&Jy*L2;!^MPzW%tP;^}tv zP_vps9>tD0sc7}Kj9Ptd`F%}_nzk7 zP;GkB2R5DDG9T=pTh)Ft3BPo8BFOT~4-W0_2gq?@e`0p##L}(wQwnrYFbjnb!ep7kOw)AyVInIF7%-@;-Sg56LkMBTsEf!ENU|1#WXQ zEdli9yPbeL+~j^QB@{~>=aQy1II*mqR_jR2&aoF{mZ+}>oky6*y9eUL+$x_6dA}ek zv@vn?y5`Gp>swXDBhot7fQPssq54{n-4@f9Fe?CetIX* zNlG!$hW);nob`8~tIhkB{><4s6DZ!2+ZY6tSL|r=Km2ma#GE5;-8v_Gf6JH$PJ2Av z3}3xn4Gnq&U!A=C@84417f+w&e!Uz!vV87%YZK1CV}6+)hW35~Ls`l6Y7>Go+5)zw z4d0SJswO^j8n1^ImYun{AWJHYQ;p}|r6Ehl;D7H>Kg&^VmkR;R)GR!|V03r;ssvtg z>b_`5JT{R$A_1PU>agi=lVDn8k?cr6E+1zE;a8^0Wy~>gmd2VX0zD2w#eQEO=X3~8 zX|dM138;RoBSHpqnLc^>mCy@)saIGsJ*ryVO-A7BkyBIv&@pY!O`$3n8-EDnog#{u za89f;2sPhIT{AmafJwGox8Xsi4i082;BRe9?$MxZMb{lLK-R)(S3q9kX5~|kXIOu6 zcHt;tucS&lLo^CS97+i@wUTx(BY@Q(E{yJvUwjK)3+fPu+daqx>?)FqNoF^A8 z^F7gUOx-C9`O0Z|1x{u?QNFK+PHa#>_K5@gK!S=3F4+=6!?Zzx0t4~R5+R*0 zl#b{N?N?qGhyyt+fQ(Y+otJt4wevkMU&*nMj$S-}tkksjM70d!9bWE6%epZiP1uK6 z0Uy@nfoa2RiDRF;9pfJ}{nJ}5Yn*H6=SfQ$8vQ8mD)8M&TEmpI0DDcL_0un0`+1+gYkRl`8T8sU9z1=CO>JB|1enku%xL74cB? zYbYdc5N7JIw^JPNtLT5eQu|{SFM3?7&>rX9RdX$jB6nQRGI6MC)SScCXSiR zC#~{i)71Usj|9yfhD=e%?yc0OHcAU?s#M$blW>yecO(aHZaUL@B-MvbZN2FditdcX zIY#Y*Iqz#D2VyexakAAsVhy`xh?-Rawy8y@>#A$*(k(7PV_*sQij1zazRf6W66G*q zE5(}>w+y?Y>?DsU+g=f(g`H(%dXZph@m&_#ipwgrk4@W7v_b;*sMoz$WlhqFa?*gd zHiyZolH1{SbrpHr-oY`h4lY7`52-222x_POc+j^SJffbv2z((D}T#OoSr9xF#9ZVU|aC-$`4 z^!ADBGfiJVEPiKtdU>p(vWoc56cbl>2Mj5 ze)5@4fZlX&cU}x!*FP3Q*dwc2UAIhf{K^D>s-l@P4|w|F1bMSF$<#FP)VVqw5aRce zpXZ;v_7xM7R>+)&w?4EUlhUmKog-^q_9X^GF?>9OskfG!8HasMi@0X5sF2-)uKRcQ zR2r}pC9}Kc>7(HuyZt}m}ZYmTO9ROck*K)7ex+n*)MJ!+}6>*oO9^v<5drHD~*7zK-v zMp;kXWi(H7H1>><&X2qLUkiLNfF zUasdX@G&}%?rm;Ky1r#o7TO-JMic6r%ak9!zFlaYFF=M_Y)vIOE7D2;31)_bE+ky4 zV2)TVsB|$NRzD~pY2q~$!OrJyV94h- z?TI7~z4*z+U(zdcXJa&rUlEKsi*H*h1ld{7{o6KfbLeco0p~ZAnFoBQ!r}F!)tHa6 zBSbAh>P%*wOGhAg-sB}j16*gKIece2q@w=Ty_CG8iDk_lcIRh0X|ztP>1B%o?z^D1 zjKWrxZTVq#cZlyPKluVTsUVlqbvj_7sV~Mp!*~AT8AkMkTqR&8iJrmN0b#Rl4kslaE*&AMfnX-F!~r#tN0Y4^gMn&3!2M$6yjEiY zH$ue{w;lKnXKgV6-_#|eyfcw&vsp>sIzIdIq@iVdSJdOaVs)01C(c;3w7jS9sY!!sq`Le)K0igh;Hj z!jJ35;RocEx6SLExGMvrj z2<2Lv0QAmG{Gg5;T`D)U+k>hM`^QlR z(=_pJ`|z#Njx|oh3q9Bw6PDDXYnTc)vosnREuLb$X}7~5a+H}TNxj?DJIm7S!p-=t z=bvl)42jMVL5g&_1#+U8A_oZz+GGBw>Q3LFx7P;FAg=(8`<~mM%U& zGfI8mAl{r7yOt=d5|3f!cS!w(^ZHZw=E>zo>VR5nSnc@A_qs_2vpm9NGUh0MigeO; zZ^d1!!on&gQANb>{s|q5VW=#29KyPS>wfDs@>5}g+J4)-T7!M2%)Ay($k9EY!*>ja zCtY^JsZnzIJcre%bV>h31!3{(1&tfM*v*1XKuVOyJOGJ}t}KFDpvEjlH9(v0^EZNx zb(0*XoodbTvc_Agl$){@mN0R5|CweUsX;-6E~=0qT^n0-{z$SIOP`=~qfb*rNC{mP z*6s1Wg&Gy5_0tPlPvp6C1Bb^n5Lc_yrO|;Gch~Ar49i)o(+DvLbPx#f^dF1onR26u zs6KJG!j;K+R%!?y|CUgc6yfs;>LcYBKGKyaBqM<~O70b*j_m&#~$#xBQ0%q(cNMpQHW<8?W2{CmYR(XAt)#^-^Nv zp;c+EjV=_$mQ~8J^>3G3Eb!4oj>~qwsKAcKj5$e>2c1b!5*@%x8}TYXh22775^A~6 z31u@XNTP%kW^Q39CtqmV1#9lrcY+8{;mbY?DDx zvw~z#9FE{btb+rZa@vJvr8is{H5T|9?f)~IG$T+s=bj-aBfo-UGTZ+z#bb#I6t2nT z0x%Qjq$%wXV#mV>b^E4u)HpI-n4fc|ygN{CiQZ(ky5Ct{xFCFk-Cq6P^g+4YKo_Ct ziir`b#a~(VgT~8GIs)siWSUo#Jd(H3$~UL>r>n=h0L0Jpew~PvG(`BZpA4PI+mVN~ zLLR8YYp3oh5sNZtpE#S~;@9zJ)sbP`)I%zPx#q@8@X^L@?N*$+ivfP05+tsf3~(fDLzy1 zrSF7wlWo2NDJpGV@)Vde$){ZKfu1|Hteh$GEikH263%oLL@?@i;*~ksliEn zh!`9}B*UJ=!WK_lQ8ZhGhH!>uH;?~)%pOhpiMwYua`4D!*Hn!`s+JwL*^G6t@Z6ID z#vhER{+k$A7EJO=mfD=tObKcP=1fpB7;gdw4Y-L2gOnj^{kNJr+^7k6vPLG<1b!Vd zp9AUt&`4gHp{r7|lrQtg_ln>j-@W15@=kuIW~>(k?py?a`<5I9L4ppfb$+Zrf+Gf9 z!v>YjS}@X^Poqa$hNid_&i_N@fz%(BYQ#+-mHn`PR6>E*e=`|w|K-baU?z@Zj}Rmc z?)D5h64dk#84*NiO2QbSEw82hLDGUhQ3nTZD}~`{WC78W&tvq(%tCbGj2B@U6Bjc zUe6ZM^i}yTOV}^O6rGG}qf95ap-xw+(h8937;j;g2e=~b(bs}F~Y zQFmEqjn3?);94?PP)^BYHLj6_@Ra(0*E+~rFtV#?rKbiBCi7S>sU{7W*&B~r?Ph_3 zrv47%`QJe)llzRf2Ui2UkuK@;tMQ5kOzxEiY&Yw#aYjlR`9+u(Q|hTmbKl*pq4W=ehLJ9d1-gIE1CiJwT#ie9 z%%^m`97Brz9U+|*{~AwCGUH-RUlPdWp-#PwbiuP^yYZx)(uubDO9|Hq$y9mnSqiV^ zJ}Z9e6D$6|73LEj5W0zEVNCw5(EWcayvn)`pG@4U;__C>7d6`si_MqnqI!DBO`7rh+S@AC7A6 zzRobm{50BpbbELdJE2q)S31A{cwk)^V`1CC%u-sqV#w)D05j$KyZ)@dPv-2qWGpXi z!>u9c!9K|dGYdfel5@`DSKZQhu-c|Va!_XTHDHM7*x(92bUQdfzjWhgzG}7m=UxL| z25_|gpooMpAd=*2Otw%z8su#pjEukpEY=Hs#a7t|x9tN}q$JWm>ne}s)+9r9Mv&NuSyiw3c&HB#fxen@9bHNzCb;ANX zwa3REouN03vfbYxUAt+A)R32<7rp;;?^cSPnIZThx<>NJKwuCC}scbLmzUqY<5Wfy;J^_l|f-qtQ;88 zO#ct^S!0>)$GEhub?1MO_ZiDPs%kwTXtk2$Cn;02MG+8 z6`ONlx+w?*Ft%N@z>N`+E4G{Z&*JQ)*$;BUq1=6y&} zDNn#CF_tG7gio5A#qprrpEl_GNNlKV{r5hrW&f0CJB!S*mY9aJv#dD4r?&c`rt!&O z(=lq%-w1tDM)wtgECZ&%8q4Tg`TZBtj79Jas+o0B|1;Z4Qz*Eb8=yy=D2Kx0%aC{} zpLK@WI)=hrL<#)zl=>vM;#^T_Mcns}9ggZ(A%%>&rY9^34kU@WF&}fClvj5szNen_vK8vVg}X6dx<%Y0&9pCc8%-UIgVfD6@^RyJ_XxO zK=v6&wL3JL0_1Gd)n-tt_qj-cHDR7L#ANr+!>$&-s2~xgZXbF)i8-@LfPia7a*524 z;4DY1RYu^c{DSWuhk|#-aoIS&;@s-_UOBHqrIDz_oCrsCM_NVkrd*1ZF056C2)jg2 z@OvsBL!Z0%&G)6Me|prtFBu*D53p;WIkUe^{^F>nhnTqtDKdp8hs7D!dTly*jg~ zb9xiJdT@|%2tLbZsILg#%WZ=p9;g6JIOvKDpWmpn6N_O0^AxRy)eXP=gU0N5 z2QxXuuC+YAI)GT#TJZ&^&Hkdn6MPdU{z8oO_u-uh>(1}Rru5G!y@;r^s2yO5kUfZ~ ztRx*^I24gMKcR1-nQ1upez6z^dVSb|zH2qeIh@4qGhC!H6zSC9?C3ci{yKW_dpCHVB?f|>S?L(Aj z&V;=twQQys|F^hU(LdsFLodWGZAV5;wt0Wo5wrFaHTi>+K>sN=E&kvP((bRp zO?h40(8Z^tghPld@uVF+hL|i@QbNyq%&BS3-~GX_H5V=*Ji@)PnR`6SFbrwVJTj+X zO%<1cpyZuafRc9#2RjmE*9P_9$+OSZ|3~ubI_0%&#Ax4$yr4tfTolrR&n+$h3Y(?N=H<;Kb{(rhjp6~{*ez47y>}fw2+N395$9-I(4{+l6FLv+aiKf!3z{j4FUidZHF`0>I{&J?}6lAIhhE07_oyBm4(M zV}FRk;BUDXZAlZg&g(fW-Pm{-Exj)c!f?x2ii>LK*X&^H=+`F&Xc3P)EZvDX4|c}W z@+XXJ-FKO(73{(qUm=Kaev{n(O@+Ov3P1!U0ditGeHt4vjWC~_<{ASRvuV24TYE&P z`&i}k^NYlA%EqA(?G^r4#$J zYunCOjy@q_$v;G0)3xr^nNu%g_`Z6_NL`>D1U^FVm7h40&4;lG2Z@Rz4OfPT-Qd&` zVJ#}^yXvo;?P%=Xg+4aVFm%M8zr6J9eC^TspQW14_5Q7j!(QDw^0F!{E%J~2Il`73 zoRqM2U%mQW*!#^{MC7P6(b}#Lbh<1;t5DYmiQdTAS;2*&<9|%eGaE`(P$e_H4^?b- zAw91f1vM~`&`Ka~k`s=HW*!_QiR@oW4wkKU^6RO>L1K=u-QSI|Kx3>k|H9 zsaS4#n9vPDSuKuoIm*Ja`fql(ClxpHNkw+@Et~8~kJ|O{<2@Vb?kn+CyIb+qvh7c_ z!3h3@%n!}Zm>Eo-TQ7N~!Nh$k%sb4$+(=~v!+FX|WU&D-HQkhixGbPxG> znF#(Rio#=r-){H@l6))OxVAcji7VnOv0muz&MI;zWuS#+(bO+aynAb7F<9JspZ^Gc zL8ZD~=XC)I4*s{`;M{U(;lBm<{tqVaNA^%XsuQL$Azig-kL^Ky) zfp6_@Ciq{#u>%PHY00zY+n=C?k<_5DUT|wYUORjYF1j8?m7s-VxGYxGiW^x)poRT9 zx4zQWa!-Lq)e!xUc$JNq^FXfa%eO6$ZwlA@0Y77X-8a4s5|(W*iEbTxgZvCHAo$m4 z_f8iF6N98FfKp=Gv1#1PeBm2@jRbSj=0f-I3+qPxLj2o&$mP7-^2=~>aPH7Qi}`=e zjeFsv$&e1s*e)_Czj*++&TUXd*`S31UJqBGtuS=zj|DhqyIO%^otJs(eTHoK^wU3) z7Ge0cw?7UD^TG-dvsLSliiYSfMVr$)MWkb7e$fxMNT_BJDV5MLK)_W(Dbp*sziCF9 z9xvsDD=?!02!8Haq^J>X<`~xBB(Oe?9D~%rvh#NYs{-Huay&b$paD^)+^qpGx;}b; zA}(~*<=g5HZy&r3)yq0HLW!zK(h*Iv?)xK%8IpCU%WK%4V!#Ms; z=SUhr=-}`Ea=5dY$%8XNh?>zq0v&4?CrlgAGSlCm}i#tW%}`O@GMo5BgG5 zOMz`@kokk1HUKah9C$Fu@jt_9A&2)KUT?5b2&e)f@VYzvJ-i?>qm2?|5VZwhrIWs< zNKr86I~Jdvw|6Fusugp|r51Z^=3!OPeX8CTl`HYS_*Oirtb!Ndl95jr`>K2qt?10T z73-glN$PjH-sZ-`8QWDpU~E>$S~@!cZ( zVkXA>1XBMvxp&`0s+N&^2og8V$sy!di+%nZ1yZpng;IwJ#ygy12-C$&I64Gn{T0s> zR)>m+fpu$~BlJ=`Gb@>}3$J7`WIyeNa-A zL?!Gf*AVo^=KxA7Dfy~G`3YT~XjY&atP`sSQ>vPSgKV3AOFyh%sD`|Y641=3N&A)j20+2sYIq&PmBdeof%Rz-q5}+A%WR;o(}mOPH9W|KcoN*Ecp`S{fh2V_~Uh%dQF<8he@bWwQiu zm?=cqH?T2(i?#eMxm=}3sYx|G7WHcHRrO)>AXWP#8~ylg&6vCh^4FC8r#TClW}R{z zdu=d!4BQm$^r#tM>^+(={?i3Cm;X)*pJK(;ky83l!vA4NXW1ofiIWgk^){{d=Rc`f zKvcLff2dfZ2Tiu?r@2i*Hrc*;u@HOPnT&kbcruj9Nx|Y5zt;ZPA<9wDW~P~X@|2n$ zs82&b?&d!AfzPDau<0|YPhG_)O3e~h`s>afq~&Dg7A(s{?R1gf==3Kv^o>Jjb`v!t zZ1^*v@<`Y6?jMwdj_+sO8!rHiP0T@s1fZmzcnSHavDu2*xuGnM;6K_mjDOcKF~6#+ zS|-UF9^3Zoi%cPHWCK?un;wJOCi~BdLI^wh-i4;W!c>DY+afDkRmERrcNVt}j_=L- zjEeCejNUprkT6u5CCQvK+Bz)vS-e1Y7!YG}3iS10jEf@QiDqOb%x+z_i_+Yv1}0p!R%BiVOEwQGqan!zG}K#FYNN z*6??#&`{_^9SO9Ep*->1L%YmDk|(SQb*{HwE;ht(eZ;f)&EpQ3QScS`xTVw1p&ras z2{R}OGrpg6gW;ht;HXgL6I#kFeZWh}106(qGoK5MY5XhQ#KMwlGOWwM0Oc~u`8dk? zVO)_=Sa5Wx>Lg_(0X?>;!O(YF=vDd)RO)aHfV0U#K(k_*@{eOiB&=<}O*pz6NIH%! zU?o7AGzK?-tp2>wy(|Hk|3RI`PJyaSL|GK4Z2PH;8+}T{UJN<_`-31Cr0J$jwsL+^ zsVW{_4?Z25`Vp+URhNw7R$kw7E)zi{l}EF9*gBGVo>)E#xhQlnLWT%5^95B_wlhcs zojR@;xTP@kwdP4E0%few4`uMp{g6B{<~%XPZ2Tt}EC^dWl;zT|ELtN=$XL$Y>Rpi` zc@Uz|26@3)iEcak3&*-)>F2O557mqCShDW9rTGxPC%mFzh9Y6uEg1Jmbjwo%ne`_n z6WG-MQh|u_w~DZyYeL0J70ntOx9Z?SC0-=`^wub3tT(r1flE@c7dp(3%b_2}GJec2 z3GS0JS7atgn4hDcT~wD8Spu5(3_u%}!d@*)<{f8!SYWCx2Hg^6O2DA68vt}OV|%ZODv zARyI$0Ac+B()$;X{U4zDfQe3j>HIg#ML61+jdJs70Xv+8zYqi}LC+Q^W;+a8(7GR) zD$NRfx)j1ic0wp79PNA*=GQxf=5WkoVMSfxqQ87#N(HeKHhL7Y_~_%tV&ZvfcaTHc z3KJSkhpb~Iij7K*aHs|XLMe(wr1KSv@>(>?1VM3VrB9@PJ1|C}p8ERQjO)T4H7gCu z#GqcO@^fUTHxW}+1g7krXh|Z3FEIrvv>1XL8FX{D*eNJ3eq#>g;C%v*6ne`YhmDXa zMhXE*fMGW%%`KO#{4gkuyU6iz>5}*z<-hms8+!%M@p6KJxzxgd;r;i%eJyKOD@h9r zb5qy9xA6NJq!mgvoIXEdH6ITu<)ngDBe@*S=BBb#lM;;hpQ@z@goLS)gVy zcPrrf+-MI#y|sRN7k#_8>(yx3^?oqDf0p_Fc>ezMcH#ki&7B_KFt~cYJpX<^U}i4{a-pZ?Qn>5llf)6Uzj9+z6QK6 zZ5T8N2s#k;?UxR&UHhjI@e-`PH3$;&6Y&uXyt}>dZ&uv{fwfzV?kJTDwWF_;)!kL- z;=&V)zy&{Ni}vMHOW*>T4;vq$+_Z2p4qL!u-I^sbY~}F6D=_PJ!)R2an>lA|i+^ge z{ITZd=e5b}qpx%O+uas%!+kpM4J+&8n}7Z5UH|XZzWZ~w4aX<)C6&k^EzPY?>?eo& z@1EL(4rZ6u-SUeqW)EtW)0LPUQ_I5dm$j{~6WD-fg*PU{Mvp}9bRyah$2;x!qhxnG zZ8(%T48pHXUJnhvFLg?a9o@p(O2}`|!$vKYlUzFMTU$z{r6I(r%$3BN@$uug&(AxL zeYbPRPLJ<7sV4#FsqssD@A$+A@8yHxlWX1qzIk%6g6Bkq!bGXHzY4PS8w`v3UtFFl z4{xY}G4#J=a$@Xd(SIKc@O^XA;ev|8$Ds5p`&fk z5H4tl{q9!SN1NcS>v2c=17~;5-SqhCt-W-8R?b~I&}i*QYS)wR)(Jc{)0L zf9?RZRj~8f?Qz(!A~BcSgE)?$%)bZTd%twyu=LfSFPzwm;fWHm*ZgPcf`btt|7U(1 zgCkOn5yS=_;=8s`&8Fd$;9zf}Z(3iR8emwhJ{cKdxlQT)oh9 z3lx+{@i9pAg$3=Nug47x#!(i2*eueG%80lW+V#*?ql_Exx^G>p+3>9oZRczqt#{ZP zNyum>Z12x4D@(~{;bPw(oH~vE4`FWs700%93*#0%xVyVskl@z1ySq!U;O_43?(XjH z1a~KR0s-=xoOAEH=lh(SqK&&S6c+9 zPP(cES&3p@54Mc_-Ac9=w)-f=d;xZvmCasIQxe`u~1YlK|XBH02qLj^W_mxgHNSRwh0_;`04 z{VV8@_)v@DrA9KL6U5tV(T84uzGdP8eB_)SO?765Mn8EE;asZCA0H!eB?a6jytiDrT%WIa+Pr=rTg{(YJ+fDg z>~nr7`7(io`S#Q83Fgw#^YnEis~ep!t7GfeDMK}MbBA$wb~OR~UYmf+{y73cuwU6f9NFY}i##oS zpGo0u+xUD%I=-<|wVm>Hz5S=$P)pV6*u0&V6L9>xo=!0Bvz{JpbQR-%bwfD+y7NL; zEf8J;4MF&g_X7RN*LSaR;9a=kEr2c6K$X{^ zlzMOb@vsn(fXjeqc9BcNoyC%Y6nHZJaFT}&JC;8=eEGyAhVX*2UVHQMmzci)j zvWb$%5O}4@C;9lOa=1=mhig@VIeytbpoAG zyPjNM_kIH3Tiqyvi{qNt)5}YYD1XMG_nqeJ!v1*uOQV1;2cAqh!%OShcTPq;dRrvB z$3?cZXqB68xe>RWHgC_T){Sh#xFUxEVcX>RIz9^9JOZ(_s)OSx?qk)ps_dD&Y0M_b z7m5#O290vu@?8^zE!^^~=e50ix7W?m_Aa3)nBq*Bx5lp1NXMb)ItH9{7tNDJ<&K{C zj&@b-Syt1w#x5{Q$gF@*rg)B%T%U$zexV2n1-3rGIE@b=jsKF@GW%6Hw=7Vz`HB?GX5sjRoJngoZX%1gf(r{b2q*6#od$6 zdk4`CyB`+qe6h}5i!aA5>c&i8aCRhratWdc4ViYI>eL6j-Uk)!H>rI&4ow@~q2Dym(hyrkj7 zq}%uN)ugnDDV-a0Jyw0tFI+T!CHqPJ3pb5b4&1BC{>ipQMlu1wbzlvvE>Hp&hxAL) z)!1Tb_SDA2hkB>B#5*3wv`c41l*Q?K&o>jfwL(j`ENR_v95FrwsPn8H)So;j)n>MZ z*SMW+yZEvC@4lIIGnzFRaKS#g)aMO&#AKO%9sgwJA~#PjpOUwKwR(%F><1XbJzJr~ za2L;d@WuO{#|fSjf$Q?@oll&{zK!IPC5u#xvnwOeFQtps!{0bcyI)Cp;6~qB1sN`c zU)^z9tDTQ~mT+?0rOL^6?^YRi`ty2KzbCmN(a|wqMDnCB-Gt)m=CHkF=-Ekg^x^so zxD5GaQhe2svPj`BgA=|$HezeL^+n^d3AxpA-h@cO8IUA>{>Ru%(O z#SdGT=!4OilowRP%o_OUUnYkMmQnursS>F_LwE1%sEB=*sOyOSts0h=|NV5q@xY?wdP3; z#?f7wMd)j5AQy;3mUz6!2EvXk0sNz;W98k*#qB=z+e7Lv@^ImSrVp_N@fI`!$Qw6% zeY*mWAuR2^K9^Cq3b_Mb4)RvdUA&u_6Y~8Rr+1!h1W%rAx({Fp+!N2pgXt?Q{6}w0 zBn_cNJYo+gSaAhLi%8CF>HC8A8?Vm}KgLEjzmK%yCj9t}{BhqyCUT6K8HyrZnv@tO zRPqxM#er|?Jvef(i3zgEa3cY>lB2QAFF$zC1iV`OtEau#r}U`gkOfJSl8l@B@1;^c+7br=Lt>^p2g`cO?ye6@%)G@Cz zo5DfS!mjcAdgB#oyYXWP5@&T%BYutvfw);{=UL3c3BOt|+%>vlF)BJ|t4anijGxE! z9X&egqtD95Aw(P1e%#7x;P%@{A9^ZQ_Q%LZ^0yR{|<-Vhq8|GOopl)~y+jt|>YcGRTh@V1B*(z}5u-xJ( zvsj@jX^98>+aZ$3`Xo-`vGkJ)C$i?z>SJ0E_!q+|HL z3=hBhPdx3&f@M!et2X!I;obPybVC70njuSiDbx5EDX9ZNVQb$$xX@`N#KR8Vd_x)` zDO~jEF?B#h=&@$3^3t^V@(Tj^V?xAHnfQJ-?g)dYi#0E&VkWEbyJA6DJIURSJvLrG zEyPTuprc15PW>ggm5iz{T^`-sH3+kiorzn529)$Y2QBf^h`ltfmp40%?iX3Js*t_M zkk`;JO(8u4V5xkwpFrsb<+oesVqn3s-kLYAzDvq$LpLV-+H139Gtgb{y0@)jv;iN+ zP_lF&L14Vw)!f+Zkg^Cx5bOlNFR=$1B%rGm(E0sLX16<*7 zmF=TTI~(eJ@DNwB7TzC&J(c2)3URNd7M;GX(0Z;H^jskvYcb7tFn!nJu(#XUk{4FR zZ9?k+pC~2Yz}2s{f$#4+Wv___KJ`scLnB%3IHtd=&KV14BV%4B0RBfY$*w-V^<|v_7&ex+QZ?qs% ziW*lZ@!c(T9w4_U%AGA^))?3MF6^N#XFj9vP%F8B-y0cYy+2F=8a<^QoSBycU4EXz zh#EGFf21bc+x?OHqj;s0CvrfN&EVFO@eA5jRMCLo&Q>JEMus)V0-&Aq%6?B4{L$9l zMgG_EmRp}S|BwHFb^x}ByPPi@j_j?R7)aoLp8FqKIoIG6vYhQmR&tP}@;O&z^L?&l z`LdsN#~3u|NN5{AI5i{vfVx89Hf~aouH&tZ)a>s9g<2mb+Q`toJL8J%tWB-00QSTd zuqPC+rsOI%yT?noGu3_=)mtn_O8&HMN$JapY2$0?>}$)mD`7*G{ISH|o|4DBQ&P)JHZMX#Xnxwz9TvRxe#;pjhVuNFTxb!QVrC;L<33Xh^DXC_;Q z$6Qd0X;DisxBdy9`MMT3lO|Mfd5dbA9N&4B0@=rqmgKI=8|Cf2g_&59y?P}i_wn5- z_R}i#>*Sd#IJ+uXJ6ZmamT34*gkz8rUFY2@jngUvL@XZYZ;#6$k;#5}XH_c2;xisr zXl--5RVIv9d`@jY?^($h+bqtNb)1Bm;~i{Vm6GKl5sqY6C23dX+u}u{2c+m`bql-iQW#*zwafRA|G{ob$_~M) zcb0p$xdlqU5gwk}?(+Nkl2KBMD_6}`rpd>IUT$HYx8#KzLL5fr zwkXc?R|Xr;AGMmV>4;muex(fgaI6!W!XnQPr@-oDUaCf1jGZ{sefpiKJNj}sV4K5@ zS4p5YL~OBPaHi;elD7t%uMvSRPM!Cdpsbb0es8mvKMr|RC6+W4eJWCZvwAbS`h2M+ zbn-xq7IR8KbQRbyaVPZr-H=*Kkj`^*H9xagr$f0|DBBRU79Rw+mtwoWD9J1P3~=g_ zxRgb7X~rn*LMdF%Ti0o)0|k+SxL7hy?-l!G^W))?nn{u7Aw$VPq{4a?0E!3mMh`GR zlOKQ&zDGJGbnYE)DpVo{0TE_p8bn)|McAimUmahmnj*LaFoD19YbQa=y|nFIvC)`9+1ITWOK79O7Yfh}B^(-_lvjPMc=`kx_@ zLH`xw#X7UULuNuDlL&_PBFgq=D~=ZtgE?7JTcKmEQ$Iu@3q>fU zGK%QWpbf*@8bFbX=--eAAg*>KJJX1O=$k_Y=X#upD{ukTmY3LGnSc2VA()GizCaaH z2X+RtEZ(yCsjtKg6zv*tOi&C@X5*4V(HI2*&=1;JdT^{4jHzk5LEZ9EI= zxe^Zuf&qb_>P1$P8{onfw0Wuj&j7J72Gln1tDr7JZKk&Al*Xl zgCPd{C=8*?lrbZ1sTu?4?Jq*Z?6+Km8V1|Qm>?#T>)xgb(GMlkka&YF7z#oR#>)nJ zgkeWTje1W*Z zW|(iEe8I5LGjxq$V?-xG<|Jx$v&Z>wK2pLEh7`^WTAGkzZ%qiq{?Rf9-N=5Ql(1M^ zgRmo!{f1)TdGx<)&X*yB`sQI{8J=0-iRp5+zIT}S|J-2!e3G9dw+;`Fx4?Pd)QuNl zR=}m}^rijeio}l=0=hm49vLt9$y-16jdstn=Y>?s`?WP0(xJ~FHWX?cHvtY|JR>3O z^;rr##%8&CG4BbAr;od=4p&$of-)Rml92_)SfX5HU>1kn5OhRT3LDDtLL+O&kV z+a!1?>z`7Og`M6S5!cVV51e}s6LMk0m}wZvX-AkiMkniDOgL`VHQNeimeTwx6dZ@{pTSo+o3Cr0^~S)#+vG;>3Zgod3Fm#Fk))QRMOkpF2zta zIRoc^30v9jUil6@gK0Fb>&15;GFE_07YH5)JKrj$5o@-wYJ70yOohVeE>&#h6*Icy zxzp(N#&QRPYmDW_&r_OUY6x|GNOgN&63xBhEDX{tyz`iYyU}TIj-@RI&h7gD9i@GR zaCnz2J(13Bt>F53>RifXWidLXULu237u~@#{4j!9--LFH*yO(zLGmB5n(o1%S2Z|6jaacb#1~N?k6CiuhlrN+I2^$KY;9ksO`p6m|sJh3bg+NNV!Ip0(ccl=rNJkul;2&YTv|wjzhIfQVD6y zOpFcmkC>9n5};~P4Bq%4%J_yJ0@LwZJ|(|+GYfyyET3PbEq>50?y-<=V5 z1;sLN)ZKM@ZQ@c*l4<;!4T46MD=3TqvE2StUbQt)JGl$q5&M8;)Z|rrcL+;AMhf;b zQv+r(@+48}THA{Yh+2&>Z|d8p|F2zXksITRWedAdWlrkDm1M!v=)OQYfgA~nL0r|_cdm@W=?MotyLCy*OaCf_BZZlUn3UkCPbZTnG{-v&2_hit?%>Pb)M=~ z-m)F{udfq(0vVS`4aN?Vb{1(&zt?P=MzbRUBlCB1r$Li?{1=aD1AS)>OW`@C2&RL$ z^uh*;j&;FxocJM?X7)H+0qCA<3qVqNcuxG<}K%%Q>Wh^f_osblDNI|A3h;X8*y3OYW<^QmB$g-<~xg875f^O0M4# z4GZ3tce6E_kPB#_*oo~)umc)1xNbA5Zd6Pmz`f!_+YvRRD7u>bR)0{j!q#W>s*U{F^7KSwY9-p@yonU974&gTh$bU2_@Zd z9P8Z9pbxSIok2KQZ6-tHxt*Dp0k{6Q9AIqnx}wDcn={E#WK@j4v+#!x1yp#d59zhdaSrK?Yp3aH2|y1ItqBt`6W>+b(y-wFrNSLF&{Wqt zbU;%1!Kpk&R|I+a`wo%VQ^1qO9$=AsA8G3k@Pgd0Z`p1fosqa=i zD*g-Nu@q><$N$BOVS|I9p#!MnkotsMOD{6_@rj!?oS_xVZUgw1Pu?J|Rk5#h8J4r@ zla}04k&QMsZ4ezj)0^MX^d{F{*|+Ne91=$=@#Z|)IDB@XmX-j6SN9$4YN-Hg1>@d9 zWFs4#Q&+{`xGXbP;!y;uuUJmO;%lR^=Ya1a7P>qKqjNs%=gkKqWC{|@Fhy&p)GCOV zAKfV(e(iz8D^8#}W4%qLA(|Y?z_22lO4PfCH{c07`j5w37UBg74us7r`iarC<)J6m zpQA>t#tIesNfbb;zhb#GnBXKWHm05x1t8`H-?Uej?8F1S$9pKFD=5HWzRO)L#MlsyxM9^GmX zbzDn`wu50g6ajk>CzM^&cPU1JQ>#*e8rr{1m*)i83X8^%9bLJdewj_+-&_^UM)E2f z!0Vt45hSAs9jc8aAc-{`qrgOgVo)?`mP3<1*ZHfu>QtiOvb-y51gRh_ux(Z^P#lF* z>T;eXUS{gkY-ct}~5o1}wjH5d$U zh%ksl-+MMvnnAx@iiR|-%!uzC${wlPQoQB(f63yYS-o}Zd{R~Old2)2eq*!M$vDl- z-$j`Bu~s?uy5{;4zy-}zrXStOT$ZAAFf}%aaae_}dK-N4x*XWWU;YW{sY%>PXQ;oN zp^D=x-Tj8wh-y-zGpt5IyGRuA(?$H6o2b`|X>gT8K|DX=kArmhd7sP#tBvfI**9?N zTEXh{TyYKwjgM%JOrF@V^my;dUZXM^H?uMer7!|81B(?V_f))(?ae0=N^F7&FYU?x zC}9XCU`(c95bZ~SBl*#6p9t}ZG8I8YVV|^2Y3MB6*u7jrAr4-d*%Mn9zs3zOQreM_ zXDK3ASqC27NinHg8Gby`QlXAg6djfhPEk}NA~*cGLeiJU^jcU99sLNaG(S$6Inr!D zZRS&-b#D0k^@~PzMR-g}G~9zKH+*eEqSSC_`ZyteQrh-`gi07aX>v?nlso`cSz#<2 zO@*wMN&?-4-k;`d#sr}}wGRnfMLE?dH(X3{$Q>)Vf%^wUgC7m>O5jqio)z^;4xPHb zE`Y|Av4ENj^F34Rxlm#BSA^77o|H@~RAQ!5Qj!?@Cu$+=KT(MggUJaOYbjC@l>fFs zyB26c+y{(z3#K~46P}3fS0i>xJx~%o)D(s?7dygfpiH(@l_WDuzrBotxh*?`OElJP)f# zw4o6+S@XDDUHv*VyAMWyAbO55+9ZswBw}&y`^KM!U5#m0il^4 zLdn^IP}C>R)u6q?bpbE^=-;%G_ zlSsdB96{CarAJ*<5hkR-u0CGmB%x`~fq)X>5(-Ew($Jo;yriAtjZZowTM{iMQZ7bO z4&<_VCYCFc&bKQ&n)p4M)Kh<8V@%=KSoJmUHs%LMw&96;ot9Xmh|EfTt%C~0h2ebW zqk-Z4EO=h`9bp%0C$0t!U!)+ObJ8Zs_F_yxie}3`!NL70IOlr>cteoFMO5IxT{wct zu(||Sto`_1Dxw&8jj@6QT%-`mQkCGjVww%)w-iZZ+SyL+ElmUPd<)Abc)|Wt5mn8P zCEs@(`ibCwKKVkTMt^eelO)HpWnp04y}tVj zW>fd{CuZE(X5QohA}lm2z+ zEhW}oBt0eGeh>jhiYpU}XxBMEJR%M?`r{BYFV^508AXfeTL8A_Yv* ztJy3GNa{qpt4iV#%Kf_(`?siw0^4fPrXLDcabZIWZqtM{p5Rdt$ue(^soy7Z*CNJC zd$GtIcVQYCl0Jy%eofQn0-KsR>__1sO8*ct145PwP*!7A=nv~(jVal9g#?;4ZE}L} zWs-OoggVyV12Nkk16T!N2AVF`{-VrIGUG!?O5}tz*NayU5hmd7udpO#!WwaCf5P&l z?U#K|qNDNlW0pu%L^szdcPtnD#S)|lnVwP+L1Qi02v3s(D#4Xi>S385_))x04YkPl z|LZfaTfaF@y)c>#zrJ6fk=&+*B5X*;-*G`wr(z6`$?>A`xX{Y%iqjS@sW>(lxNlFm zr}!wmjGGXJJ}7#G99AFH^4%I+ug+ z?Dp&X-xhi5ol;9c8mrh`pM`Q%e9Vg{v5tB2IUa-f}y9_}!C*(!3UX9 zLnsf?*{n_qoD+sa2nL0+&mQ9QkL2urv^Z#Krtnp8svuXGnPDNk+m6jpevp+={#53k z#eJk`!IxddLF^moK|*AoTsHro0iZV_REV3guf+HjrF?rxJ7%E*jWX3o0du`ZzqSzt zV#?=3naogpdNZ5Mrb*s>e+D3MiN1i|Krb+d{{%*P+gQD^<}*t9ZrrvRDgX>5@K+$d zu;l3*Xk+cqz_ua0gM{rkKGy|QlWIC#jEhh6#GwMdImB=J5N+vDLQIBcLF5u35kJBA zkWw35r!?NV)q<9U3J|^N^N6ANfE3LVe*Q3EKg^&#=-2`LzZ%7d$;i8Ggpkkgr!WVX z@B1g;ThA8#6vhfkFz?qc{WSbJ>L>V5>^&s%dk9Dw=DF~OI-iW_Lk^r5Fjx8oq5-zpG) zIff-v-Ko!!(;&cre{)w#69wahaRWW6;dw;&PHfdz>0J^NegROn;z`YKCOB~v-oW91 zYVq>>84&YtC38Q8fsD zXEoKYY%rF%pS5+L-vodH zoW5io0bxqsVM_jj(E*e^DNf+Oe@-j&$O0LnfZA!RZEZIY2#pPJB6KxmybVF@=&zgj z7PiawWz~Yhg$*c-9kwqPM7wP3tg+z$C&|1!+>*51QSNss2tEsw3Xq8Z2FmI) z-;0q}h2WZcbxhyf9n64w(FcmuDQQEX1ES3f_FFWY5us-t#h+zz0$7Di09;e{=@~BR z?ouheKw|JEZH&A(&KFV8CbVFgN8a31apyD87wS+S;qB8q&e>Z0Ai1V=a3r{<9^ng1 z7rfM=1-kHM$Uji8oAK*8f9aOmG@35n=9o5OxISLcbx?{ORn|*`1l+_g1~qDw0H_Y8 z3}rUF?o6tjoSB{Gm0EQBV3%-fDhtIGqaR$`NH`rejo@JI~rZQLdbhA1_Jn#OJ5IXJV*W9X#as1d6Sgw3F~ z)wXwMps@?mSS@5O@!>j|8}WOm7NdsJKU=(fd)yTO=pOzOK_X-Dgz=(Ef7|yWf-Caw zlA&h&@p9@n4`Hj+4Yo~HHYaDW`Rhzji`Y&-_P&Ezmab^4|SBA zHY!w|B{!`J5^B3dmO6QiGQ+x7kTD6oNQ-U6KpYOj9~KsNYNt7VRxm*vm)z~orlusR znxLY54@n6O$$gsQh$@%QL{nkr)&cvO+s_f~Pz2u2l!kJ@j`hpxcLY`|Vj=FfOb!)p zYIqBSE^b0w1#Sy)CwagD(aQMaJd~g_E#(|lD#QhZ2wkvAfFtT~!%gI?JJoqyZf0s; zX5u0iof3db3gI(1wYGVtqaqb+EGdGnt$T_B050jbV^v4cvPt5{xJPo}<|r@oUWOZc zC?OP|e{^NY&yl1u)1Fc4QC^FRQbz$GHs^MLvE5Ql6$*KH;P_4Xu#l-R=eNWg3SZwZod*eEf1Ma4Q9(%jNYn5bO)JO>=V zP+Yodlu#;U792m|O&H+jZWhL)7==p#uOaC6r6X|`CXgNMN_30>6*?-H7RQhC3wTeZ zTMY#dV${ydtR|a(e=Nr1)7>rxyFUjLbd(^XW0f_d4TwmK7*oy+v;lL5IQKxk5Gl-_ zK307Z-ZJU#B^>KkHC0)KMscQm;!2>SV(To|VWGSxsW{Hd#w|nA9I4(V%gS>pFkKWw z0;Y>B9x!Z3hlP6Ml4!%;lUplyO}V+5Ftn5#5%HfEF~%j;5Q* zC?zHQ&5486qtTa}iqbLGin2ib1IS$V+yK%*XclYKP_4B*z_h>~tqzi5nN*0IS(uxe zx>^%RX;D4sFG?aJc*tr15oc`dLy^L-u)vKw73HfUV2|pNghOqtCk%L$sB`b?CSK$< z%LCf;Ga=qa32R|LHJ}pxlLban0??U5k$*emhzgyDS?iQnkClutE{Qj3#@g)I??FaI zX+upZQ04jyr|rN#tX(8tHWMx^P?f}Q!cwwK$!Jw1se{KE{zkAkj@M}|;}h%G6))TD zFB)#ac!%AR`D$Jum))kP@^{N|%|c8&4m9qf6pAhWTcu8mVw2EB*D-5fhSOM}EJB8J`%}thm4w zDs~h5J1(8P#HA^}{va`59&OZO_jBw5KgJa(H{_q!k_p;@GB|hCUSM{;9;m(z6-VsC zDr^ALj!&WKn1v2^G#z(Q=@6)+W-IbRV@wl@AV5@%MFTTGOmLd&5 z^=MhVLaY-0!D39l{a{z#svw|1gAaZU4Ds#{0r#DTgG3TozP|}j971uUV~;toWqE>$ z%E^$G1euM-Eo96K6O|B^NQnsnTmm2V?G@uCLz?o`g#h9P+VLX3PZCq{3+>7s8jezN zW|#+!_QazWgm>Bgnc;2NMqikWqRH+i%>IxnzeDoP^v|ThhU8un0%R$hA8g566P4`J zg&U^)Wyl)*JD(&V!XHD5lfi*}BvSzY;}(q>mh95sRc#N8!Hi|7dFSZ)k-N&I$< z=~hZAtBwN=churmVjXe^q$z*h$8!F+6&(LfR z>I+-z$10PU_g@P0u_C`fHJ_d*XOs3Fr)eDEk zN%Z4fEaL0w;z?vt)s1&Q*N%4AN}ML5H8+gT#%%b$8q%Kk^^qW)idbnJtmg1A$m#is zHqWcIYaH;w4`Bb+uJaQGPJ@79Xr#-(c!Lr=Q$oXInrQPJ5Xl%BdLVwrOx`0w>}A3 zFTek*)MkNzm|hP!2*@$)e-x&3GI4gcur>R$&Z2l1)=DFVJtFrhB@b21n!=GZ9>K5t0n~;TZkr zKt!l%X*llYR!Xd24A_{GL&KS<_4#>xvA?#zUGDR<>(g7NfqEcQ93FbLHmMdRgi*Kj zhPB1QLHJvhao7DU+d(U#h|UVJp96&w2kVF^Xid?ilk-ili@5ax;QAfCZh!Lpa$qOY@rR;X z4aRZdF??b&IaUDXV47TPIKTZ%K*7o?CRPV+okP%(!EEO9BmysG9EL}35XG~7CM4rR zM^tP&8vK#)q^Vm}J&@m)dh5~OU7f3|h`3C9-7+lCmZVyChD2S}fg(wQV zv_tYJSx75I)?Xsw8&Zdx)A_kU6ZCV1jk!*uQuocV{gz{$y5zr;UH#~mRtJ~+WAXVc zR~1$T=I57jG{q5;Hp@6-UvC5v>zl`Hs$(ObbRWoLR~^5jt09|1&R zN>vt+a@AvPpO{8#hcmqca1}OJh86Eu;d>d4uXVwQv=3$^B1!`M;X}{Uo^t%zF_W3g zRh6yEzKaAUJXQ2jjI2b^*0a1_i%OlV1nh8RPZi_W;e8|RV*~Ubki|ocIXl3?G6raP zdBTNN$Dc0UqOnB9Uz{03adPh74oGI?n02)x#FOy{8Alvgrn_{V^7JdU{32));7&(y zv#KKkR;z^pqG0$@$pYkxv+ybZ@`3UqNYrOoH; z+6D;cB<@+Z`aGzR$O--~GpW*at_ia|-B;=7x}qzqMN0H+D~s6Bg59tem!~hE;oZCk zuKML~lISsoCzKf26vG_+X>}C}J-CW1Jm&Qi342?>)!B^aOJxwcLb-`o9qh5N7^fC4 z4{L-TdUwT?cwHC|on>w5P&$%gyP-k{?|uE~MD%^JF2|)wUCL0`#ry<=r^cR1Sb~ki z3w!m2S*Ea$^KFx{%vIiV#fT5G%fyE44_TWcy|GOwj!V-mRLBX}ZBjxL+7kj0*43hG z!@4PSeoF8H^P#a1x|YaOnRkE;cF$i?)dQLJ9_M)^$vmrOfl?8=Dn}CXMs}P%e`1MCj1_< zX*5g)!wVCIk$wS}c)4DvTMqe*_&GFcki@WzrC#zF8ThE=G3>}(Jp5I4yg6JH!!t_T zK!L1HK)wS>sjdZj^-DDs!F<$B3l&$iR6px@11RpY`<0M53jNghTuk#uKK%*wu>zPv z=g5iO42+3S+U*;mapJuMS1=zzgH5BNLnqzx=t&~BMi&61>x7-nB51E#yBJr2gX0but20+5H6v0)qN4$4r4mrIif~ zt^btT-AwMY{lwSF-(`W zk{$Opu^yMSlVqU&Fxbw*65zz#zh|Bdf8W32Yqor$tEUj5p=tfzi(^mM56)cZb-+vb z+%*wwL>={nEbjktI}PP_9n%VSf}B+*mC~ zisJzbodCs+36XjvJN|6wSy}{0YrPY$duRlVFixx*i3HXzPuF%58B4T(1#{HWxQ$2X zy7H(2ov2_Uit{lR+ffl!@siLY5nzv(I^zM0g_F$!>V_K@6E{DC^CYiR`L#L;^>k9)&=QnpHBaC{# z6)-s-7ve44IB78389&bF3>hO0#BRkIxES>#2+o46m_)(;hCu$*!rZ}?Php`VbY2t{ zIzO64XoBmsc?S&$2>QPcNoR8t8xzJqTjoC%&NOB1);X}cf2bk1A1pqvyM(ukUaVd&7bBpy z2*)&vXjxM!5S@~BBV0Q4`WkH34!~VB57br(ez=%_O}E8wMm*8OqFxK9QgA#PlKn;w zJwo!t=hdU9c)fHULIC^`?QW1PR)7BsDJ2q$j1HlO>(f zSgRq0He;{&9!!EE{a_G|#FXDuxnCNjn8hVY{jm;HU~(O_F>L1C`#|Jvn+ zir#c8xIl!;lz(8#EG=E%s5nOc}*%7|f{4^61JoO0f{35&K0ZHSYL(nwzY z0hWNpi%h5$u5U1YF>~tfI8ohq9UeO0<}03{hGFz__t&TW^^}>u3UNl=PtS)-`y(|3 zui6kju&)lNZ%4lv-@Koxf1W>mvCH;q0vS!{-S&CDXwmD@_C=N)Jg>=lz1dqkx8whP z7eXo8iU1WNxdGxC8o+x3av?8Aqt{4|Q%{};j=4wXJV5AlA`Hpk{}5QwcO^sYC+dqh zk8htdW~dd~%IscB-E>|bCNYv6+gX zOB3jkAb5nsuu*tUBAaAGQUDhn7Xu;ho{@dChLjfQT#@Cw*?odYz?M5|u zlChc)osBWhAS~5zvix;6uh4!#wy{Roxc#$YD=bMmrfqMSuWp^{EUDzE4b{eHQP+~m zWxSCf_+n-fw0pckcjBK68J0Ag@l6gw#x`+fCBmt_oh+&D2aHzmA}vk(;hfMFx`JiKVDblD%ZW`r zGS0rN3aIwn8FxspTPM8&n&Vcs`Cof^HiH`t4C+gMt$!A5uW+Gux(=CJ?nQll6R%CYLNhE!%)&LD_(cdQi$F3;D#CIpY|q=9o!<(mpFRqLEVTUF6za zP|8%6GW(-3zp9h!Tfe_u>1OycCx-K0KtOZTRw)Oa{y?rx)B(P@_XAiPp;{G6eBE}l zb>IA)8I+;8oU|$ySe<)gR}fA|qr+H$%C!lbRWB5Q@t=&c?|rnp7;7 zG#53KeyBv8j3Muuvwd!65_31CX>wsRqUmrZL0)&s0%s!o*bH9ea;Ct;lR5#e;qumN z>{m9!qQZE61eWam-LBMW_p<~T<}@6Dwr5Mkc`Y*ZP|mY2_jb;HT&$vA=Mw)LLrHz+ z`qjM+X9fPKI6I{gjFv6{3!k$yZ-+N9%yw)Ky+&V^LvL{*UbRBCXL&#%`4!oSLf zxl<_jW~`+TRAer8nDx~;40c%pn};U1e%r1{ExF~wd|0(kkO`Xn_F039Db+0W5e2){ za7)>?-j~-7u-0C&>jcKZUb(Wo+xokw3w3$>uuNVl&pSS3$74=~#sOJNfZj%KZ!$-| z&_kw01s78Es)yhRoJu>F|G*uNHG_z@pqr-#=_GoR7gzc zJfH}KQm~wJFaU|YV?(}J;jrw%02@^)KBO|%C2^P-4-LmiGenEQZ6Q+MEMZ}i!hD0r zg|dr7<70{X)mdgM8}4Q7kX=D+R<#tPXbtDI!!jCE#BDN0eM+b_(r9BUGI)Y4QA5Vy zX1zAKl*T!*oMg451#+Y7Krb4^lxvHNq3f5NG2Np5JpEeU-@9pau#PcYuQfV9q5qkS zW&851lmNf*pn%!yN8r1Wi<7gRjk=9BqlL4H&7ZHms>nLHekL@KAKs#4@ngk2p=b+= z$do8~aMhB}-=N|<;|mRcZ-w^kxP7r7IkJ&`10!VP0knupI@!Z{UWx$-f7~4j-XRB_ z2MIxERwJ7$nTcz-w7NkO%YkFkjE$k~YcpdkLZ}9Unc0^ioK%IvzK+^sHTr)nAM%f| zR!jDzXkx<=XFReX?^*Lv#mACId1k1F;xf3bqR-wW52|T}%P@8fTw41tUHs#ROI<)c zlt5hs|IqbUb=ZHa`%@Y=YNigDpCd!dW$ z*y_$#0>@_A!vFol$;Jn%qE(0@X0EijJjwUO{@#J(%xu-iHi@X&p^;XM=?t{+`KsVk zpJkh|`AwLJ5D9i0Q;A*G7(FtbN-9zEL?E|1gHg6i{gt8FY)1Rr{8JBc2c;6880npX zbs-i3>{gvadS?KByOr-KBTZumsu5SnLuwscc;6BBs>BTPo2smeOj(Dj!0XB@*gre8 zsY6C~7bw^eC>-k_!rvv!JKEVh{pr=L*gD$)CN$A6-Tk+FW6Ze_=4hc3AkmpI*Z=SL|>_#JBs-3Tvc<}@d18wyyXK5(sD9B)xD|qvQGdp|O*+@rus(JV= zAi3KD$VW)HoL#paMyeK|7!b*B2@cbyZca8j%_f^kC2To8pbiIgamTU*rh1*XBQR(- z8Bi0A9Iz-VbvmWJM`207V*po`I=-lII;5K@d_H%YpJiFQI+0FQWwY7S(a4cgXrk|N zKp|=bJYRYRZB-wHRc#H0{zmK!KPS7_|H-$-?8#PNG7kOoE}7)#e~r>&XG6lQfO9fo z!0hhdV-8yv8$%OE;H=Dhb~mNIX}iaT)wNwB7$>IP6qdjS!Pb~BsHzhsM%r`-LV;C# zmNUxCv~eYUX*5M!nI%vf&MJfIIuZ5JXPf)Y3-AK@^W{1qehV=S&57eGK&xb1nC?h= za(VylN6HDs#ScZ;HB{8;*;XGxi{HC%F*CnV*5@HnX=+NS)Oo&9-mHF;NQ<=Qjp7XL zzfay%zfP<m&PVc~$=znyo(9rjLT>agn}Brz$ZZO7j*aNcur5{Y z@{ccwYP)l%%k!>7e0KWzh{#dma#q8T+Q=$#ik&4n66d;2l&um)zI89{MO~a<LE zpFJ_6jDp5E4gQvH=`*ROEQ3NMH5q!}hi8Q$e!q3gw;JFITyyff(}RprIK^Ld!z|)e z24&}gv_nECTs+(SriR7jvm&DEn>IvR=WllILTTAI>ua}bZu!TILr@fTW>G`gzW`j$ z+P{S(E`K!{p4bm~C4c(`srZapHIVeWQJV+ zn%B1|hwpN;Mi`&Ar+99gbU1&(bVE_-bsbeXKpiQtou3G%dwtr*?zm}EF?)fjMwF=z zj?&5EPU!tQ`D+zj&rQv18~-cMae1`s@9qz>V(_@QyNJ;Lr>%1jhboQZ_;DSKYcq09 zN?0OyVGF5kl|;!_gmIaMF(k%jX2dkExh&(JM67BfGujsGx~?VU9-*0{k=wXdQ`W{F zR*UnPKW3hJpY#2^=Y5~&eb4Xv`#sNjxon*;eGYP($CoS&o0&Li=q2A-_9ecP-^+L^ZEBO)5w4OOzQYJ~&5QMoewSkzIyHsgo^)sN%-5t}jXaTTjmT7Sz1EX<`VRGP;8WD0;FZV7bNH;Q zwp|pHvp<;s2or}RrJwG_&Kn#;y70`uX5)Go7+>kCGSbEn?nVz{KOl$MjS=I zIZ{8}QAo;IUXmP!9j>@KA)t*Ev)TQ6g|74h+ywy@K0>onxg50&nB%&3A%zQ%>2&VY zh@wu-9?Rb2MrnSL(qCAWv0##_Wv_2=dcS{WY~6GKA+c;v&QIwcbej>ZXiM{Vk`&7L zwcDOr@@~yjVge^7n2pzCf7KDcNk7Oxi+`9)uH~~$+r}|5bBuNtg zJ8I5?AV6ryS^F~Fc-uGmq5a%meb~Qht(h*17)eSH- zJAo9FmtS5pi`mhmwVz--sgl@JZsPmy9dA0Ygl*|9_ehJ=I&;S=jr3KSlTo87Z_C;H z{&;DO1jgr7K&SHH$(Kefiuj}WCf1L{OHF^2=_PiAHO0Ys1&-`8Wr&BjqPSI4D117? zdx=$VqW}lqk3ydFde_W(2KoDqk>F9NF+}vwW_RKXg=uHb8_D&ATkh0J4z3zY6w*yc zCR%7y7g?sd3CLed65C`lrYs$DXn{W~wyQ^@&J{Qcr+pfrW;GJ0M}+=bs!blFW$vmt zfZ3C6;}0{h7i~=KNuGMs&slCh7N^i1xHA0lx{qz(ljQ}>myjA*PW3;}!zpHUIgN!< zG1_J1q%%s)5M?nnwJ?@!#e7;_M2Bf_L=ygd(YOe$<8+XxYIsR%x_a()hkC3jc6s2n zI}^vmF3)Ek5F1qXMU;gtk%yj7kC?&`Ww)o^o3c3I(|cCAx=?O5;l?$3uN*y%$UjvA zaD_E#4{F!h;-tMZJbtrm)bo(>7ePm=jmsRKV<`nu6i)oV`mt=7Lv$b5P}jdA*7jZ^jZl`yvccIx0c#S0+EYCFm%ceN)Mq zcRX|SmuTz9dO5B&Kw{M*VUmuAXInqW>xvC>o;b*Ti76hx%#ew9W>V&DxY?q|mdr~_ zzElHnscyU7XUWMx)WSdsb!ZN-lqtrO*53TqS~$7=!l`H{L7c) zxPEu>^s-fyoW^|2}Sq(@DqN!_|6LZJ2Zi1HUAL!r)b_5(eIWoZ}CI@uSc5W?yz znNlDHzq|h+JLLVqSaxV`Kx<#Ra|n8gn`~H&QuViRd8JU}$%P zI`_^$upwsWgi~Q;LWg5=lIuV*f%G|1aIrl=X|nO?!&?Xp$J)fk%1*tqq<(P44$Tvx zJZU02A@6IXgb82t8$BtCFBZE`;g|Kidt=+L6}@Oqy_u~Q7dMh;H9al>{FZU>LebfK z)KoA+Z2@y`tG46YhYYp>fa6gx8I1PDyPPBVp#z*&qcbRgpkihI1-z6A=8@sw)Zj0f z>nVu%FUDUB?V-ZxNVuIBcu5y1l-MF116%%o_PAg1U&};8fj;2ax0Cyl<#y@B|!sty~G61LzASzv; zInX-k21h6G8)s7y1uBOYUN+>r3F~r583sy#79utXXNc>BEoBL)9-1}Y(6fTq_0SwL z6an?$8wf_&wr(5>fEwKmKuP#!z;?D5%7S{w4Hhk8Gi$4pgi@eZYlG4hxjrjfj2Bc7 ijR!aMsF+PlY-@CAYsCkypw(3+0l0$8<80#UzkdM`Dpeo= literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/scribe.thrift b/cr-mixer/thrift/src/main/thrift/scribe.thrift deleted file mode 100644 index 61fdb5eb9..000000000 --- a/cr-mixer/thrift/src/main/thrift/scribe.thrift +++ /dev/null @@ -1,168 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -include "ads.thrift" -include "candidate_generation_key.thrift" -include "cr_mixer.thrift" -include "metric_tags.thrift" -include "product.thrift" -include "related_tweet.thrift" -include "source_type.thrift" -include "uteg.thrift" -include "com/twitter/ml/api/data.thrift" -include "com/twitter/simclusters_v2/identifier.thrift" - -struct VITTweetCandidatesScribe { - 1: required i64 uuid (personalDataType = 'UniversallyUniqueIdentifierUuid') # RequestUUID - unique scribe id for every request that comes in. Same request but different stages of scribe log (FetchCandidate, Filter, etc) share the same uuid - 2: required i64 userId (personalDataType = 'UserId') - 3: required list candidates - 7: required product.Product product - 8: required list impressedBuckets -} (persisted='true', hasPersonalData = 'true') - -struct VITTweetCandidateScribe { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: required i64 authorId (personalDataType = 'UserId') - 3: required double score - 4: required list metricTags -} (persisted='true', hasPersonalData = 'true') - -struct GetTweetsRecommendationsScribe { - 1: required i64 uuid (personalDataType = 'UniversallyUniqueIdentifierUuid') # RequestUUID - unique scribe id for every request that comes in. Same request but different stages of scribe log (FetchCandidate, Filter, etc) share the same uuid - 2: required i64 userId (personalDataType = 'UserId') - 3: required Result result - 4: optional i64 traceId - 5: optional PerformanceMetrics performanceMetrics - 6: optional list impressedBuckets -} (persisted='true', hasPersonalData = 'true') - -struct SourceSignal { - # optional, since that the next step covers all info here - 1: optional identifier.InternalId id -} (persisted='true') - -struct PerformanceMetrics { - 1: optional i64 latencyMs -} (persisted='true') - -struct TweetCandidateWithMetadata { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: optional candidate_generation_key.CandidateGenerationKey candidateGenerationKey - 3: optional i64 authorId (personalDataType = 'UserId') # only for InterleaveResult for hydrating training data - 4: optional double score # score with respect to candidateGenerationKey - 5: optional data.DataRecord dataRecord # attach any features to this candidate - 6: optional i32 numCandidateGenerationKeys # num CandidateGenerationKeys generating this tweetId -} (persisted='true') - -struct FetchSignalSourcesResult { - 1: optional set signals -} (persisted='true') - -struct FetchCandidatesResult { - 1: optional list tweets -} (persisted='true') - -struct PreRankFilterResult { - 1: optional list tweets -} (persisted='true') - -struct InterleaveResult { - 1: optional list tweets -} (persisted='true') - -struct RankResult { - 1: optional list tweets -} (persisted='true') - -struct TopLevelApiResult { - 1: required i64 timestamp (personalDataType = 'PrivateTimestamp') - 2: required cr_mixer.CrMixerTweetRequest request - 3: required cr_mixer.CrMixerTweetResponse response -} (persisted='true') - -union Result { - 1: FetchSignalSourcesResult fetchSignalSourcesResult - 2: FetchCandidatesResult fetchCandidatesResult - 3: PreRankFilterResult preRankFilterResult - 4: InterleaveResult interleaveResult - 5: RankResult rankResult - 6: TopLevelApiResult topLevelApiResult -} (persisted='true', hasPersonalData = 'true') - -struct ImpressesedBucketInfo { - 1: required i64 experimentId (personalDataType = 'ExperimentId') - 2: required string bucketName - 3: required i32 version -} (persisted='true') - -############# RelatedTweets Scribe ############# - -struct GetRelatedTweetsScribe { - 1: required i64 uuid (personalDataType = 'UniversallyUniqueIdentifierUuid') # RequestUUID - unique scribe id for every request that comes in. Same request but different stages of scribe log (FetchCandidate, Filter, etc) share the same uuid - 2: required identifier.InternalId internalId - 3: required RelatedTweetResult relatedTweetResult - 4: optional i64 requesterId (personalDataType = 'UserId') - 5: optional i64 guestId (personalDataType = 'GuestId') - 6: optional i64 traceId - 7: optional PerformanceMetrics performanceMetrics - 8: optional list impressedBuckets -} (persisted='true', hasPersonalData = 'true') - -struct RelatedTweetTopLevelApiResult { - 1: required i64 timestamp (personalDataType = 'PrivateTimestamp') - 2: required related_tweet.RelatedTweetRequest request - 3: required related_tweet.RelatedTweetResponse response -} (persisted='true') - -union RelatedTweetResult { - 1: RelatedTweetTopLevelApiResult relatedTweetTopLevelApiResult - 2: FetchCandidatesResult fetchCandidatesResult - 3: PreRankFilterResult preRankFilterResult # results after seqential filters - # if later we need rankResult, we can add it here -} (persisted='true', hasPersonalData = 'true') - -############# UtegTweets Scribe ############# - -struct GetUtegTweetsScribe { - 1: required i64 uuid (personalDataType = 'UniversallyUniqueIdentifierUuid') # RequestUUID - unique scribe id for every request that comes in. Same request but different stages of scribe log (FetchCandidate, Filter, etc) share the same uuid - 2: required i64 userId (personalDataType = 'UserId') - 3: required UtegTweetResult utegTweetResult - 4: optional i64 traceId - 5: optional PerformanceMetrics performanceMetrics - 6: optional list impressedBuckets -} (persisted='true', hasPersonalData = 'true') - -struct UtegTweetTopLevelApiResult { - 1: required i64 timestamp (personalDataType = 'PrivateTimestamp') - 2: required uteg.UtegTweetRequest request - 3: required uteg.UtegTweetResponse response -} (persisted='true') - -union UtegTweetResult { - 1: UtegTweetTopLevelApiResult utegTweetTopLevelApiResult - 2: FetchCandidatesResult fetchCandidatesResult - # if later we need rankResult, we can add it here -} (persisted='true', hasPersonalData = 'true') - -############# getAdsRecommendations() Scribe ############# - -struct GetAdsRecommendationsScribe { - 1: required i64 uuid (personalDataType = 'UniversallyUniqueIdentifierUuid') # RequestUUID - unique scribe id for every request that comes in. Same request but different stages of scribe log (FetchCandidate, Filter, etc) share the same uuid - 2: required i64 userId (personalDataType = 'UserId') - 3: required AdsRecommendationsResult result - 4: optional i64 traceId - 5: optional PerformanceMetrics performanceMetrics - 6: optional list impressedBuckets -} (persisted='true', hasPersonalData = 'true') - -struct AdsRecommendationTopLevelApiResult { - 1: required i64 timestamp (personalDataType = 'PrivateTimestamp') - 2: required ads.AdsRequest request - 3: required ads.AdsResponse response -} (persisted='true') - -union AdsRecommendationsResult{ - 1: AdsRecommendationTopLevelApiResult adsRecommendationTopLevelApiResult - 2: FetchCandidatesResult fetchCandidatesResult -}(persisted='true', hasPersonalData = 'true') diff --git a/cr-mixer/thrift/src/main/thrift/source_type.docx b/cr-mixer/thrift/src/main/thrift/source_type.docx new file mode 100644 index 0000000000000000000000000000000000000000..a19fecf0c7e80652dfdbd8f6093b1c352c91a2ca GIT binary patch literal 38298 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

LP(SB>k=&S+(5+#*^r{>IFmM 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/thrift/src/main/thrift/source_type.thrift b/cr-mixer/thrift/src/main/thrift/source_type.thrift deleted file mode 100644 index 913739fa3..000000000 --- a/cr-mixer/thrift/src/main/thrift/source_type.thrift +++ /dev/null @@ -1,123 +0,0 @@ -namespace java com.twitter.cr_mixer.thriftjava -#@namespace scala com.twitter.cr_mixer.thriftscala -#@namespace strato com.twitter.cr_mixer - -// Due to legacy reason, SourceType used to represent both SourceSignalType and SimilarityEngineType -// Hence, you can see several SourceType such as UserInterestedIn, HashSpace, etc. -// Moving forward, SourceType will be used for SourceSignalType ONLY. eg., TweetFavorite, UserFollow -// We will create a new SimilarityEngineType to separate them. eg., SimClustersANN -enum SourceType { - // Tweet based Source Signal - TweetFavorite = 0 - Retweet = 1 - TrafficAttribution = 2 // Traffic Attribution will be migrated over in Q3 - OriginalTweet = 3 - Reply = 4 - TweetShare = 5 - GoodTweetClick = 6 // total dwell time > N seconds after click on the tweet - VideoTweetQualityView = 7 - VideoTweetPlayback50 = 8 - - // UserId based Source Signal (includes both Producer/Consumer) - UserFollow = 101 - UserRepeatedProfileVisit = 102 - - CurrentUser_DEPRECATED = 103 - - RealGraphOon = 104 - FollowRecommendation = 105 - - TwiceUserId = 106 - UserTrafficAttributionProfileVisit = 107 - GoodProfileClick = 108 // total dwell time > N seconds after click into the profile page - - // (Notification) Tweet based Source Signal - NotificationClick = 201 - - // (Home) Tweet based Source Signal - HomeTweetClick = 301 - HomeVideoView = 302 - HomeSongbirdShowMore = 303 - - // Topic based Source Signal - TopicFollow = 401 // Deprecated - PopularTopic = 402 // Deprecated - - // Old CR code - UserInterestedIn = 501 // Deprecated - TwiceInterestedIn = 502 // Deprecated - MBCG = 503 // Deprecated - HashSpace = 504 // Deprecated - - // Old CR code - Cluster = 601 // Deprecated - - // Search based Source Signal - SearchProfileClick = 701 // Deprecated - SearchTweetClick = 702 // Deprecated - - // Graph based Source - StrongTiePrediction = 801 // STP - TwiceClustersMembers = 802 - Lookalike = 803 // Deprecated - RealGraphIn = 804 - - // Current requester User Id. It is only used for scribing. Placeholder value - RequestUserId = 1001 - // Current request Tweet Id used in RelatedTweet. Placeholder value - RequestTweetId = 1002 - - // Negative Signals - TweetReport = 1101 - TweetDontLike = 1102 - TweetSeeFewer = 1103 - AccountBlock = 1104 - AccountMute = 1105 - - // Aggregated Signals - TweetAggregation = 1201 - ProducerAggregation = 1202 -} (persisted='true', hasPersonalData='true') - -enum SimilarityEngineType { - SimClustersANN = 1 - TweetBasedUserTweetGraph = 2 - TweetBasedTwHINANN = 3 - Follow2VecANN = 4 // ConsumerEmbeddingBasedFollow2Vec - QIG = 5 - OfflineSimClustersANN = 6 - LookalikeUTG_DEPRECATED = 7 - ProducerBasedUserTweetGraph = 8 - FrsUTG_DEPRECATED = 9 - RealGraphOonUTG_DEPRECATED = 10 - ConsumerEmbeddingBasedTwHINANN = 11 - TwhinCollabFilter = 12 - TwiceUTG_DEPRECATED = 13 - ConsumerEmbeddingBasedTwoTowerANN = 14 - TweetBasedBeTANN = 15 - StpUTG_DEPRECATED = 16 - UTEG = 17 - ROMR = 18 - ConsumersBasedUserTweetGraph = 19 - TweetBasedUserVideoGraph = 20 - CertoTopicTweet = 24 - ConsumersBasedUserAdGraph = 25 - TweetBasedUserAdGraph = 26 - SkitTfgTopicTweet = 27 - ConsumerBasedWalsANN = 28 - ProducerBasedUserAdGraph = 29 - SkitHighPrecisionTopicTweet = 30 - SkitInterestBrowserTopicTweet = 31 - SkitProducerBasedTopicTweet = 32 - ExploreTripOfflineSimClustersTweets = 33 - DiffusionBasedTweet = 34 - ConsumersBasedUserVideoGraph = 35 - - // In network - EarlybirdRecencyBasedSimilarityEngine = 21 - EarlybirdModelBasedSimilarityEngine = 22 - EarlybirdTensorflowBasedSimilarityEngine = 23 - // Composite - TweetBasedUnifiedSimilarityEngine = 1001 - ProducerBasedUnifiedSimilarityEngine = 1002 -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/topic_tweet.docx b/cr-mixer/thrift/src/main/thrift/topic_tweet.docx new file mode 100644 index 0000000000000000000000000000000000000000..34d8c11f730cf4f4d58c543055933536b2c000f1 GIT binary patch literal 37017 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 MkO<5kN topicIds - 5: optional product_context.ProductContext productContext - 6: optional list excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct TopicTweet { - 1: required i64 tweetId (personalDataType = 'TweetId') - 2: required double score - 3: required source_type.SimilarityEngineType similarityEngineType -} (persisted='true', hasPersonalData = 'true') - -struct TopicTweetResponse { - 1: required map> tweets -} (persisted='true') - diff --git a/cr-mixer/thrift/src/main/thrift/uteg.docx b/cr-mixer/thrift/src/main/thrift/uteg.docx new file mode 100644 index 0000000000000000000000000000000000000000..7849e00b6853835a4ee9d8e5e0c4e9e368893930 GIT binary patch literal 37200 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 excludedTweetIds (personalDataType = 'TweetId') -} (persisted='true', hasPersonalData='true') - -struct UtegTweet { - // tweet id - 1: required i64 tweetId(personalDataType = 'TweetId') - // sum of weights of seed users who engaged with the tweet. - // If a user engaged with the same tweet twice, liked it and retweeted it, then his/her weight was counted twice. - 2: required double score - // user social proofs per engagement type - 3: required map> socialProofByType(personalDataTypeKey='EngagementTypePrivate', personalDataTypeValue='UserId') -} (persisted='true', hasPersonalData = 'true') - -struct UtegTweetResponse { - 1: required list tweets -} (persisted='true') diff --git a/cr-mixer/thrift/src/main/thrift/validation.docx b/cr-mixer/thrift/src/main/thrift/validation.docx new file mode 100644 index 0000000000000000000000000000000000000000..6d6f8ad4a9a0e76ea18ed20278492c4e459585e9 GIT binary patch literal 36959 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 errors -} (hasPersonalData='false') diff --git a/docs/system-diagram.png b/docs/system-diagram.png deleted file mode 100644 index 2a18fc4153bb389951e617c7c9abbe2558d9d2b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95955 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μe{M&^;LL|(3Pm@=lGs+ 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 YYU?n-n-!RYK)FhgArY88-uHlb0E6L)Jpcdz literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/CONFIG.docx b/follow-recommendations-service/CONFIG.docx new file mode 100644 index 0000000000000000000000000000000000000000..9c5b4b14dcb301a3892ee214e1f75b848640fde8 GIT binary patch literal 36976 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 T0&@^3R|zsC0<*`@ZV(Ruh9w)` literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/CONFIG.ini b/follow-recommendations-service/CONFIG.ini deleted file mode 100644 index c8173efa8..000000000 --- a/follow-recommendations-service/CONFIG.ini +++ /dev/null @@ -1,24 +0,0 @@ -[code-coverage] -package = com.twitter.follow_recommendations - -[docbird] -project_name = follow-recommendations-service -project_type = service -; example settings: -; -; project_name = fluffybird -; description = fluffybird is a service for fluffing up feathers. -; tags = python,documentation,fluffybird -; project_type = service -; - allowed options: essay, library, service, hub, cookbook, styleguide, policy -; owner_links = roster -; - allowed options: roster, find, email -; scrolling_tocs = yes -; comments = yes -; verifications = yes -; support_widget = yes -; health_score = yes -; sticky_sidebar = no - -[jira] -project = CJREL diff --git a/follow-recommendations-service/FRS_architecture.png b/follow-recommendations-service/FRS_architecture.png deleted file mode 100644 index eda105e45ebc9bd6236d88b9d6917a64a58d1f5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181765 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

$thr|Q+9VR=-zz>AU4G9q+=#B*T+kUb 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

Y+jP>&HD>c-p>pHtKF6>V{UDYR*51|! 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 LRhB7{G7kPfdsbKE diff --git a/follow-recommendations-service/README.docx b/follow-recommendations-service/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..35b5326fad980a3a29789639f668c240c7d98eea GIT binary patch literal 38378 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 M3%G}G%J;MX1HNeFC;$Ke literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/README.md b/follow-recommendations-service/README.md deleted file mode 100644 index 1640184a5..000000000 --- a/follow-recommendations-service/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# Follow Recommendations Service - -## Introduction to the Follow Recommendations Service (FRS) -The Follow Recommendations Service (FRS) is a robust recommendation engine designed to provide users with personalized suggestions for accounts to follow. At present, FRS supports Who-To-Follow (WTF) module recommendations across a variety of Twitter product interfaces. Additionally, by suggesting tweet authors, FRS also delivers FutureGraph tweet recommendations, which consist of tweets from accounts that users may be interested in following in the future. - -## Design -The system is tailored to accommodate diverse use cases, such as Post New-User-Experience (NUX), advertisements, FutureGraph tweets, and more. Each use case features a unique display location identifier. To view all display locations, refer to the following path: `follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/models/DisplayLocation.scala`. - -Recommendation steps are customized according to each display location. Common and high-level steps are encapsulated within the "RecommendationFlow," which includes operations like candidate generation, ranker selection, filtering, transformation, and beyond. To explore all flows, refer to this path: `follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/flows`. - -For each product (corresponding to a display location), one or multiple flows can be selected to generate candidates based on code and configurations. To view all products, refer to the following path: `follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/products/home_timeline_tweet_recs`. - -The FRS overview diagram is depicted below: - -![FRS_architecture.png](FRS_architecture.png) - - -### Candidate Generation -During this step, FRS utilizes various user signals and algorithms to identify candidates from all Twitter accounts. The candidate source folder is located at `follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/`, with a README file provided within each candidate source folder. - -### Filtering -In this phase, FRS applies different filtering logic after generating account candidates to improve quality and health. Filtering may occur before and/or after the ranking step, with heavier filtering logic (e.g., higher latency) typically applied after the ranking step. The filters' folder is located at `follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/predicates`. - -### Ranking -During this step, FRS employs both Machine Learning (ML) and heuristic rule-based candidate ranking. For the ML ranker, ML features are fetched beforehand (i.e., feature hydration), -and a DataRecord (the Twitter-standard Machine Learning data format used to represent feature data, labels, and predictions when training or serving) is constructed for each pair. -These pairs are then sent to a separate ML prediction service, which houses the ML model trained offline. -The ML prediction service returns a prediction score, representing the probability that a user will follow and engage with the candidate. -This score is a weighted sum of p(follow|recommendation) and p(positive engagement|follow), and FRS uses this score to rank the candidates. - -The rankers' folder is located at `follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/rankers`. - -### Transform -In this phase, the sequence of candidates undergoes necessary transformations, such as deduplication, attaching social proof (i.e., "followed by XX user"), adding tracking tokens, and more. -The transformers' folder can be found at `follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/transforms`. - -### Truncation -During this final step, FRS trims the candidate pool to a specified size. This process ensures that only the most relevant and engaging candidates are presented to users while maintaining an optimal user experience. - -By implementing these comprehensive steps and adapting to various use cases, the Follow Recommendations Service (FRS) effectively curates tailored suggestions for Twitter users, enhancing their overall experience and promoting meaningful connections within the platform. diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD deleted file mode 100644 index d02506a85..000000000 --- a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD +++ /dev/null @@ -1,18 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "configapi/configapi-core/src/main/scala/com/twitter/timelines/configapi", - "finagle/finagle-core/src/main", - "follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/models", - "hermit/hermit-core/src/main/scala/com/twitter/hermit/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/recommendation", - "stitch/stitch-core", - ], - exports = [ - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/recommendation", - ], -) diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..7f2d8f403a6b5c04faf12c28d8e63df970e39c0d GIT binary patch literal 36948 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

14w49f}vYNDRKBg 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 - c.identifier -> c.observe(statsReceiver) - }.toMap - - if (map.size != sources.size) { - throw new IllegalArgumentException("Duplicate Candidate Source Identifiers") - } - - map - } - - def select( - identifiers: Set[CandidateSourceIdentifier] - ): Set[CandidateSource[Target, Candidate]] = { - // fails loud if the candidate source is not registered - identifiers.map(candidateSources(_)) - } -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/EnrichedCandidateSource.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/EnrichedCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..61bdfdcfd28483124afc3fd63c772a3627b408c1 GIT binary patch literal 38011 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

P%^*|Ha+4 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

*ro1y`Lk=m!Knc)7#3q4{ zxIx%fmVoM^S>sK8M(BnfnnQ*npz-%6A}MmmXdDWF2D+O7Ow?AuPGK*U1&tjyS*|y? zvbIN(Pzp5E+N1 Stitch[Option[Target]] - ): CandidateSource[Target2, Candidate] = { - val targetsMapper: Target2 => Stitch[Seq[Target]] = { target => - targetMapper(target).map(_.toSeq) - } - stitchMapKeys(targetsMapper) - } - - /** - * Map target type into new target type (1 to many mapping) - */ - def stitchMapKeys[Target2]( - targetMapper: Target2 => Stitch[Seq[Target]] - ): CandidateSource[Target2, Candidate] = { - new CandidateSource[Target2, Candidate] { - val identifier = original.identifier - override def apply(target: Target2): Stitch[Seq[Candidate]] = { - for { - mappedTargets <- targetMapper(target) - results <- Stitch.traverse(mappedTargets)(original(_)) - } yield results.flatten - } - } - } - - /** - * Map target type into new target type (1 to many mapping) - */ - def mapKeys[Target2]( - targetMapper: Target2 => Seq[Target] - ): CandidateSource[Target2, Candidate] = { - val stitchMapper: Target2 => Stitch[Seq[Target]] = { target => - Stitch.value(targetMapper(target)) - } - stitchMapKeys(stitchMapper) - } - - /** - * Map candidate types to new type based on candidateMapper - */ - def mapValues[Candidate2]( - candidateMapper: Candidate => Stitch[Option[Candidate2]] - ): CandidateSource[Target, Candidate2] = { - - new CandidateSource[Target, Candidate2] { - val identifier = original.identifier - override def apply(target: Target): Stitch[Seq[Candidate2]] = { - original(target).flatMap { candidates => - val results = Stitch.traverse(candidates)(candidateMapper(_)) - results.map(_.flatten) - } - } - } - } - - /** - * Map candidate types to new type based on candidateMapper - */ - def mapValue[Candidate2]( - candidateMapper: Candidate => Candidate2 - ): CandidateSource[Target, Candidate2] = { - val stitchMapper: Candidate => Stitch[Option[Candidate2]] = { c => - Stitch.value(Some(candidateMapper(c))) - } - mapValues(stitchMapper) - } - - /** - * This method wraps the candidate source in a designated timeout so that a single candidate - * source does not result in a timeout for the entire flow - */ - def within( - candidateTimeout: Duration, - statsReceiver: StatsReceiver - ): CandidateSource[Target, Candidate] = { - val originalIdentifier = original.identifier - val timeoutCounter = - statsReceiver.counter(originalIdentifier.name, "timeout") - - new CandidateSource[Target, Candidate] { - val identifier = originalIdentifier - override def apply(target: Target): Stitch[Seq[Candidate]] = { - original - .apply(target) - .within(candidateTimeout)(com.twitter.finagle.util.DefaultTimer) - .rescue { - case _: TimeoutException => - timeoutCounter.incr() - Stitch.Nil - } - } - } - } - - def failOpenWithin( - candidateTimeout: Duration, - statsReceiver: StatsReceiver - ): CandidateSource[Target, Candidate] = { - val originalIdentifier = original.identifier - val timeoutCounter = - statsReceiver.counter(originalIdentifier.name, "timeout") - - new CandidateSource[Target, Candidate] { - val identifier = originalIdentifier - override def apply(target: Target): Stitch[Seq[Candidate]] = { - original - .apply(target) - .within(candidateTimeout)(com.twitter.finagle.util.DefaultTimer) - .handle { - case _: TimeoutException => - timeoutCounter.incr() - Seq.empty - case e: Exception => - statsReceiver - .scope("candidate_source_error").scope(originalIdentifier.name).counter( - e.getClass.getSimpleName).incr - Seq.empty - } - } - } - } -} - -object EnrichedCandidateSource { - implicit def toEnriched[K, V](original: CandidateSource[K, V]): EnrichedCandidateSource[K, V] = - new EnrichedCandidateSource(original) -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.docx new file mode 100644 index 0000000000000000000000000000000000000000..e85e28e677ff5fc607e582cb73da78a8c78319d2 GIT binary patch literal 36925 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

3lxInYy&|)0q#XZ`xG1sT;_!mc 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 literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.scala b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.scala deleted file mode 100644 index f457527bc..000000000 --- a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/ParamPredicate.scala +++ /dev/null @@ -1,17 +0,0 @@ -package com.twitter.follow_recommendations.common.base - -import com.twitter.follow_recommendations.common.models.FilterReason.ParamReason -import com.twitter.stitch.Stitch -import com.twitter.timelines.configapi.HasParams -import com.twitter.timelines.configapi.Param - -case class ParamPredicate[Request <: HasParams](param: Param[Boolean]) extends Predicate[Request] { - - def apply(request: Request): Stitch[PredicateResult] = { - if (request.params(param)) { - Stitch.value(PredicateResult.Valid) - } else { - Stitch.value(PredicateResult.Invalid(Set(ParamReason(param.statName)))) - } - } -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.docx new file mode 100644 index 0000000000000000000000000000000000000000..c1f2fa13045ff645595abe36de7ba77a011d7f28 GIT binary patch literal 39500 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³7PPJR#i)-FYK55k~9C^-#YeX>C~ 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 literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.scala b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.scala deleted file mode 100644 index e5b40ed82..000000000 --- a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Predicate.scala +++ /dev/null @@ -1,282 +0,0 @@ -package com.twitter.follow_recommendations.common.base - -import com.twitter.finagle.stats.NullStatsReceiver -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.follow_recommendations.common.models.FilterReason -import com.twitter.stitch.Arrow -import com.twitter.stitch.Stitch - -trait Predicate[-Q] { - - def apply(item: Q): Stitch[PredicateResult] - def arrow: Arrow[Q, PredicateResult] = Arrow.apply(apply) - - def map[K](mapper: K => Q): Predicate[K] = Predicate(arrow.contramap(mapper)) - - /** - * check the predicate results for a batch of items for convenience. - * - * mark it as final to avoid potential abuse usage - */ - final def batch(items: Seq[Q]): Stitch[Seq[PredicateResult]] = { - this.arrow.traverse(items) - } - - /** - * Syntax sugar for functions which take in 2 inputs as a tuple. - */ - def apply[Q1, Q2](item1: Q1, item2: Q2)(implicit ev: ((Q1, Q2)) => Q): Stitch[PredicateResult] = { - apply((item1, item2)) - } - - /** - * Runs the predicates in sequence. The returned predicate will return true iff both the predicates return true. - * ie. it is an AND operation - * - * We short-circuit the evaluation, ie we don't evaluate the 2nd predicate if the 1st is false - * - * @param p predicate to run in sequence - * - * @return a new predicate object that represents the logical AND of both predicates - */ - def andThen[Q1 <: Q](p: Predicate[Q1]): Predicate[Q1] = { - Predicate({ query: Q1 => - apply(query).flatMap { - case PredicateResult.Valid => p(query) - case PredicateResult.Invalid(reasons) => Stitch.value(PredicateResult.Invalid(reasons)) - } - }) - } - - /** - * Creates a predicate which runs the current & given predicate in sequence. - * The returned predicate will return true if either current or given predicate returns true. - * That is, given predicate will be only run if current predicate returns false. - * - * @param p predicate to run in sequence - * - * @return new predicate object that represents the logical OR of both predicates. - * if both are invalid, the reason would be the set of all invalid reasons. - */ - def or[Q1 <: Q](p: Predicate[Q1]): Predicate[Q1] = { - Predicate({ query: Q1 => - apply(query).flatMap { - case PredicateResult.Valid => Stitch.value(PredicateResult.Valid) - case PredicateResult.Invalid(reasons) => - p(query).flatMap { - case PredicateResult.Valid => Stitch.value(PredicateResult.Valid) - case PredicateResult.Invalid(newReasons) => - Stitch.value(PredicateResult.Invalid(reasons ++ newReasons)) - } - } - }) - } - - /* - * Runs the predicate only if the provided predicate is valid, otherwise returns valid. - * */ - def gate[Q1 <: Q](gatingPredicate: Predicate[Q1]): Predicate[Q1] = { - Predicate { query: Q1 => - gatingPredicate(query).flatMap { result => - if (result == PredicateResult.Valid) { - apply(query) - } else { - Stitch.value(PredicateResult.Valid) - } - } - } - } - - def observe(statsReceiver: StatsReceiver): Predicate[Q] = Predicate( - StatsUtil.profilePredicateResult(this.arrow, statsReceiver)) - - def convertToFailOpenWithResultType(resultType: PredicateResult): Predicate[Q] = { - Predicate { query: Q => - apply(query).handle { - case _: Exception => - resultType - } - - } - } - -} - -class TruePredicate[Q] extends Predicate[Q] { - override def apply(item: Q): Stitch[PredicateResult] = Predicate.AlwaysTrueStitch -} - -class FalsePredicate[Q](reason: FilterReason) extends Predicate[Q] { - val InvalidResult = Stitch.value(PredicateResult.Invalid(Set(reason))) - override def apply(item: Q): Stitch[PredicateResult] = InvalidResult -} - -object Predicate { - - val AlwaysTrueStitch = Stitch.value(PredicateResult.Valid) - - val NumBatchesStat = "num_batches_stats" - val NumBatchesCount = "num_batches" - - def apply[Q](func: Q => Stitch[PredicateResult]): Predicate[Q] = new Predicate[Q] { - override def apply(item: Q): Stitch[PredicateResult] = func(item) - - override val arrow: Arrow[Q, PredicateResult] = Arrow(func) - } - - def apply[Q](outerArrow: Arrow[Q, PredicateResult]): Predicate[Q] = new Predicate[Q] { - override def apply(item: Q): Stitch[PredicateResult] = arrow(item) - - override val arrow: Arrow[Q, PredicateResult] = outerArrow - } - - /** - * Given some items, this function - * 1. chunks them up in groups - * 2. lazily applies a predicate on each group - * 3. filters based on the predicate - * 4. takes first numToTake items. - * - * If numToTake is satisfied, then any later predicates are not called. - * - * @param items items of type Q - * @param predicate predicate that determines whether an item is acceptable - * @param batchSize batch size to call the predicate with - * @param numToTake max number of items to return - * @param stats stats receiver - * @tparam Q type of item - * - * @return a future of K items - */ - def batchFilterTake[Q]( - items: Seq[Q], - predicate: Predicate[Q], - batchSize: Int, - numToTake: Int, - stats: StatsReceiver - ): Stitch[Seq[Q]] = { - - def take( - input: Iterator[Stitch[Seq[Q]]], - prev: Seq[Q], - takeSize: Int, - numOfBatch: Int - ): Stitch[(Seq[Q], Int)] = { - if (input.hasNext) { - val currFut = input.next() - currFut.flatMap { curr => - val taken = curr.take(takeSize) - val combined = prev ++ taken - if (taken.size < takeSize) - take(input, combined, takeSize - taken.size, numOfBatch + 1) - else Stitch.value((combined, numOfBatch + 1)) - } - } else { - Stitch.value((prev, numOfBatch)) - } - } - - val batchedItems = items.view.grouped(batchSize) - val batchedFutures = batchedItems.map { batch => - Stitch.traverse(batch)(predicate.apply).map { conds => - (batch.zip(conds)).withFilter(_._2.value).map(_._1) - } - } - take(batchedFutures, Nil, numToTake, 0).map { - case (filtered: Seq[Q], numOfBatch: Int) => - stats.stat(NumBatchesStat).add(numOfBatch) - stats.counter(NumBatchesCount).incr(numOfBatch) - filtered - } - } - - /** - * filter a list of items based on the predicate - * - * @param items a list of items - * @param predicate predicate of the item - * @tparam Q item type - * @return the list of items that satisfy the predicate - */ - def filter[Q](items: Seq[Q], predicate: Predicate[Q]): Stitch[Seq[Q]] = { - predicate.batch(items).map { results => - items.zip(results).collect { - case (item, PredicateResult.Valid) => item - } - } - } - - /** - * filter a list of items based on the predicate given the target - * - * @param target target item - * @param items a list of items - * @param predicate predicate of the (target, item) pair - * @tparam Q item type - * @return the list of items that satisfy the predicate given the target - */ - def filter[T, Q](target: T, items: Seq[Q], predicate: Predicate[(T, Q)]): Stitch[Seq[Q]] = { - predicate.batch(items.map(i => (target, i))).map { results => - items.zip(results).collect { - case (item, PredicateResult.Valid) => item - } - } - } - - /** - * Returns a predicate, where an element is true iff it that element is true for all input predicates. - * ie. it is an AND operation - * - * This is done concurrently. - * - * @param predicates list of predicates - * @tparam Q Type parameter - * - * @return new predicate object that is the logical "and" of the input predicates - */ - def andConcurrently[Q](predicates: Seq[Predicate[Q]]): Predicate[Q] = { - Predicate { query: Q => - Stitch.traverse(predicates)(p => p(query)).map { predicateResults => - val allInvalid = predicateResults - .collect { - case PredicateResult.Invalid(reason) => - reason - } - if (allInvalid.isEmpty) { - PredicateResult.Valid - } else { - val allInvalidReasons = allInvalid.reduce(_ ++ _) - PredicateResult.Invalid(allInvalidReasons) - } - } - } - } -} - -/** - * applies the underlying predicate when the param is on. - */ -abstract class GatedPredicateBase[Q]( - underlyingPredicate: Predicate[Q], - stats: StatsReceiver = NullStatsReceiver) - extends Predicate[Q] { - def gate(item: Q): Boolean - - val underlyingPredicateTotal = stats.counter("underlying_total") - val underlyingPredicateValid = stats.counter("underlying_valid") - val underlyingPredicateInvalid = stats.counter("underlying_invalid") - val notGatedCounter = stats.counter("not_gated") - - val ValidStitch: Stitch[PredicateResult.Valid.type] = Stitch.value(PredicateResult.Valid) - - override def apply(item: Q): Stitch[PredicateResult] = { - if (gate(item)) { - underlyingPredicateTotal.incr() - underlyingPredicate(item) - } else { - notGatedCounter.incr() - ValidStitch - } - } - -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.docx new file mode 100644 index 0000000000000000000000000000000000000000..03483be9b996390cac8cc21ba56455e023b842ca GIT binary patch literal 36858 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 literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.scala b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.scala deleted file mode 100644 index 002e90275..000000000 --- a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/PredicateResult.scala +++ /dev/null @@ -1,18 +0,0 @@ -package com.twitter.follow_recommendations.common.base - -import com.twitter.follow_recommendations.common.models.FilterReason - -sealed trait PredicateResult { - def value: Boolean -} - -object PredicateResult { - - case object Valid extends PredicateResult { - override val value = true - } - - case class Invalid(reasons: Set[FilterReason] = Set.empty[FilterReason]) extends PredicateResult { - override val value = false - } -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Ranker.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/Ranker.docx new file mode 100644 index 0000000000000000000000000000000000000000..de1c41de42a9653d81d1f837a73d75e28876261e GIT binary patch literal 37634 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 - - def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] - - override def transform(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = { - rank(target, candidates) - } - - override def observe(statsReceiver: StatsReceiver): Ranker[Target, Candidate] = { - val originalRanker = this - new Ranker[Target, Candidate] { - override def rank(target: Target, items: Seq[Candidate]): Stitch[Seq[Candidate]] = { - statsReceiver.counter(Transform.InputCandidatesCount).incr(items.size) - statsReceiver.stat(Transform.InputCandidatesStat).add(items.size) - StatsUtil.profileStitchSeqResults(originalRanker.rank(target, items), statsReceiver) - } - } - } - - def reverse: Ranker[Target, Candidate] = new Ranker[Target, Candidate] { - def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = - ranker.rank(target, candidates).map(_.reverse) - } - - def andThen(other: Ranker[Target, Candidate]): Ranker[Target, Candidate] = { - val original = this - new Ranker[Target, Candidate] { - def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = { - original.rank(target, candidates).flatMap { results => other.rank(target, results) } - } - } - } - - /** - * This method wraps the Ranker in a designated timeout. - * If the ranker timeouts, it would return the original candidates directly, - * instead of failing the whole recommendation flow - */ - def within(timeout: Duration, statsReceiver: StatsReceiver): Ranker[Target, Candidate] = { - val timeoutCounter = statsReceiver.counter("timeout") - val original = this - new Ranker[Target, Candidate] { - override def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = { - original - .rank(target, candidates) - .within(timeout)(com.twitter.finagle.util.DefaultTimer) - .rescue { - case _: TimeoutException => - timeoutCounter.incr() - Stitch.value(candidates) - } - } - } - } -} - -object Ranker { - - def chain[Target, Candidate]( - transformer: Transform[Target, Candidate], - ranker: Ranker[Target, Candidate] - ): Ranker[Target, Candidate] = { - new Ranker[Target, Candidate] { - def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = { - transformer - .transform(target, candidates) - .flatMap { results => ranker.rank(target, results) } - } - } - } -} - -class IdentityRanker[Target, Candidate] extends Ranker[Target, Candidate] { - def rank(target: Target, candidates: Seq[Candidate]): Stitch[Seq[Candidate]] = - Stitch.value(candidates) -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.docx new file mode 100644 index 0000000000000000000000000000000000000000..75e26468b4cedd8e808fedd1dc93f35acdda18e9 GIT binary patch literal 39579 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�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 Nf^2}{A(;C8*WZzxB*_2( literal 0 HcmV?d00001 diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.scala b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.scala deleted file mode 100644 index 6bddc9751..000000000 --- a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/RecommendationFlow.scala +++ /dev/null @@ -1,250 +0,0 @@ -package com.twitter.follow_recommendations.common.base - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.RecommendationPipelineIdentifier -import com.twitter.product_mixer.core.pipeline.recommendation.RecommendationPipelineResult -import com.twitter.product_mixer.core.quality_factor.QualityFactorObserver -import com.twitter.stitch.Stitch - -/** - * configs for results generated from the recommendation flow - * - * @param desiredCandidateCount num of desired candidates to return - * @param batchForCandidatesCheck batch size for candidates check - */ -case class RecommendationResultsConfig(desiredCandidateCount: Int, batchForCandidatesCheck: Int) - -trait BaseRecommendationFlow[Target, Candidate <: UniversalNoun[Long]] { - val identifier = RecommendationPipelineIdentifier("RecommendationFlow") - - def process( - pipelineRequest: Target - ): Stitch[RecommendationPipelineResult[Candidate, Seq[Candidate]]] - - def mapKey[Target2](fn: Target2 => Target): BaseRecommendationFlow[Target2, Candidate] = { - val original = this - new BaseRecommendationFlow[Target2, Candidate] { - override def process( - pipelineRequest: Target2 - ): Stitch[RecommendationPipelineResult[Candidate, Seq[Candidate]]] = - original.process(fn(pipelineRequest)) - } - } -} - -/** - * Defines a typical recommendation flow to fetch, filter, rank and transform candidates. - * - * 1. targetEligibility: determine the eligibility of target request - * 2. candidateSources: fetch candidates from candidate sources based on target type - * 3. preRankerCandidateFilter: light filtering of candidates - * 4. ranker: ranking of candidates (could be composed of multiple stages, light ranking, heavy ranking and etc) - * 5. postRankerTransform: deduping, grouping, rule based promotion / demotions and etc - * 6. validateCandidates: heavy filters to determine the eligibility of the candidates. - * will only be applied to candidates that we expect to return. - * 7. transformResults: transform the individual candidates into desired format (e.g. hydrate social proof) - * - * Note that the actual implementations may not need to implement all the steps if not needed - * (could just leave to IdentityRanker if ranking is not needed). - * - * Theoretically, the actual implementation could override the above flow to add - * more steps (e.g. add a transform step before ranking). - * But it is recommended to add the additional steps into this base flow if the step proves - * to have significant justification, or merge it into an existing step if it is a minor change. - * - * @tparam Target type of target request - * @tparam Candidate type of candidate to return - */ -trait RecommendationFlow[Target, Candidate <: UniversalNoun[Long]] - extends BaseRecommendationFlow[Target, Candidate] - with SideEffectsUtil[Target, Candidate] { - - /** - * optionally update or enrich the request before executing the flows - */ - protected def updateTarget(target: Target): Stitch[Target] = Stitch.value(target) - - /** - * check if the target is eligible for the flow - */ - protected def targetEligibility: Predicate[Target] - - /** - * define the candidate sources that should be used for the given target - */ - protected def candidateSources(target: Target): Seq[CandidateSource[Target, Candidate]] - - /** - * filter invalid candidates before the ranking phase. - */ - protected def preRankerCandidateFilter: Predicate[(Target, Candidate)] - - /** - * rank the candidates - */ - protected def selectRanker(target: Target): Ranker[Target, Candidate] - - /** - * transform the candidates after ranking (e.g. dedupping, grouping and etc) - */ - protected def postRankerTransform: Transform[Target, Candidate] - - /** - * filter invalid candidates before returning the results. - * - * Some heavy filters e.g. SGS filter could be applied in this step - */ - protected def validateCandidates: Predicate[(Target, Candidate)] - - /** - * transform the candidates into results and return - */ - protected def transformResults: Transform[Target, Candidate] - - /** - * configuration for recommendation results - */ - protected def resultsConfig(target: Target): RecommendationResultsConfig - - /** - * track the quality factor the recommendation pipeline - */ - protected def qualityFactorObserver: Option[QualityFactorObserver] = None - - def statsReceiver: StatsReceiver - - /** - * high level monitoring for the whole flow - * (make sure to add monitoring for each individual component by yourself) - * - * additional candidates: count, stats, non_empty_count - * target eligibility: latency, success, failures, request, count, valid_count, invalid_count, invalid_reasons - * candidate generation: latency, success, failures, request, count, non_empty_count, results_stat - * pre ranker filter: latency, success, failures, request, count, non_empty_count, results_stat - * ranker: latency, success, failures, request, count, non_empty_count, results_stat - * post ranker: latency, success, failures, request, count, non_empty_count, results_stat - * filter and take: latency, success, failures, request, count, non_empty_count, results_stat, batch count - * transform results: latency, success, failures, request, count, non_empty_count, results_stat - */ - import RecommendationFlow._ - lazy val additionalCandidatesStats = statsReceiver.scope(AdditionalCandidatesStats) - lazy val targetEligibilityStats = statsReceiver.scope(TargetEligibilityStats) - lazy val candidateGenerationStats = statsReceiver.scope(CandidateGenerationStats) - lazy val preRankerFilterStats = statsReceiver.scope(PreRankerFilterStats) - lazy val rankerStats = statsReceiver.scope(RankerStats) - lazy val postRankerTransformStats = statsReceiver.scope(PostRankerTransformStats) - lazy val filterAndTakeStats = statsReceiver.scope(FilterAndTakeStats) - lazy val transformResultsStats = statsReceiver.scope(TransformResultsStats) - - lazy val overallStats = statsReceiver.scope(OverallStats) - - import StatsUtil._ - - override def process( - pipelineRequest: Target - ): Stitch[RecommendationPipelineResult[Candidate, Seq[Candidate]]] = { - - observeStitchQualityFactor( - profileStitchSeqResults( - updateTarget(pipelineRequest).flatMap { target => - profilePredicateResult(targetEligibility(target), targetEligibilityStats).flatMap { - case PredicateResult.Valid => processValidTarget(target, Seq.empty) - case PredicateResult.Invalid(_) => Stitch.Nil - } - }, - overallStats - ).map { candidates => - RecommendationPipelineResult.empty.withResult(candidates) - }, - qualityFactorObserver, - overallStats - ) - } - - protected def processValidTarget( - target: Target, - additionalCandidates: Seq[Candidate] - ): Stitch[Seq[Candidate]] = { - - /** - * A basic recommendation flow looks like this: - * - * 1. fetch candidates from candidate sources - * 2. blend candidates with existing candidates - * 3. filter the candidates (light filters) before ranking - * 4. ranking - * 5. filter and truncate the candidates using postRankerCandidateFilter - * 6. transform the candidates based on product requirement - */ - val candidateSourcesToFetch = candidateSources(target) - for { - candidates <- profileStitchSeqResults( - Stitch.traverse(candidateSourcesToFetch)(_(target)).map(_.flatten), - candidateGenerationStats - ) - mergedCandidates = - profileSeqResults(additionalCandidates, additionalCandidatesStats) ++ - candidates - filteredCandidates <- profileStitchSeqResults( - Predicate.filter(target, mergedCandidates, preRankerCandidateFilter), - preRankerFilterStats - ) - rankedCandidates <- profileStitchSeqResults( - selectRanker(target).rank(target, filteredCandidates), - rankerStats - ) - transformed <- profileStitchSeqResults( - postRankerTransform.transform(target, rankedCandidates), - postRankerTransformStats - ) - truncated <- profileStitchSeqResults( - take(target, transformed, resultsConfig(target)), - filterAndTakeStats - ) - results <- profileStitchSeqResults( - transformResults.transform(target, truncated), - transformResultsStats - ) - _ <- applySideEffects( - target, - candidateSourcesToFetch, - candidates, - mergedCandidates, - filteredCandidates, - rankedCandidates, - transformed, - truncated, - results) - } yield results - } - - private[this] def take( - target: Target, - candidates: Seq[Candidate], - config: RecommendationResultsConfig - ): Stitch[Seq[Candidate]] = { - Predicate - .batchFilterTake( - candidates.map(c => (target, c)), - validateCandidates, - config.batchForCandidatesCheck, - config.desiredCandidateCount, - statsReceiver - ).map(_.map(_._2)) - } -} - -object RecommendationFlow { - - val AdditionalCandidatesStats = "additional_candidates" - val TargetEligibilityStats = "target_eligibility" - val CandidateGenerationStats = "candidate_generation" - val PreRankerFilterStats = "pre_ranker_filter" - val RankerStats = "ranker" - val PostRankerTransformStats = "post_ranker_transform" - val FilterAndTakeStats = "filter_and_take" - val TransformResultsStats = "transform_results" - val OverallStats = "overall" -} diff --git a/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/SideEffectsUtil.docx b/follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/base/SideEffectsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..f9886d7566d99221f2b281dbcb23dea4b9ffcdaa GIT binary patch literal 37003 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

{863XE;{!Go%|2q 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.scala deleted file mode 100644 index 4fa4dfb93..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceFetcher.scala +++ /dev/null @@ -1,101 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.core_workflows.user_model.thriftscala.UserState -import com.twitter.cr_mixer.config.TimeoutConfig -import com.twitter.cr_mixer.source_signal.SourceFetcher.FetcherQuery -import com.twitter.simclusters_v2.common.UserId -import com.twitter.timelines.configapi.Params -import com.twitter.cr_mixer.thriftscala.{Product => TProduct} -import com.twitter.finagle.GlobalRequestTimeoutException -import com.twitter.finagle.mux.ClientDiscardedRequestException -import com.twitter.finagle.mux.ServerApplicationError -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Future -import com.twitter.util.TimeoutException -import org.apache.thrift.TApplicationException -import com.twitter.util.logging.Logging - -/** - * A SourceFetcher is a trait which, given a [[FetcherQuery]], returns [[ResultType]] - * The main purposes of a SourceFetcher is to provide a consistent interface for source fetch - * logic, and provides default functions, including: - * - Identification - * - Observability - * - Timeout settings - * - Exception Handling - */ -trait SourceFetcher[ResultType] extends ReadableStore[FetcherQuery, ResultType] with Logging { - - protected final val timer = com.twitter.finagle.util.DefaultTimer - protected final def identifier: String = this.getClass.getSimpleName - protected def stats: StatsReceiver - protected def timeoutConfig: TimeoutConfig - - /*** - * Use FeatureSwitch to decide if a specific source is enabled. - */ - def isEnabled(query: FetcherQuery): Boolean - - /*** - * This function fetches the raw sources and process them. - * Custom stats tracking can be added depending on the type of ResultType - */ - def fetchAndProcess( - query: FetcherQuery, - ): Future[Option[ResultType]] - - /*** - * Side-effect function to track stats for signal fetching and processing. - */ - def trackStats( - query: FetcherQuery - )( - func: => Future[Option[ResultType]] - ): Future[Option[ResultType]] - - /*** - * This function is called by the top level class to fetch sources. It executes the pipeline to - * fetch raw data, process and transform the sources. Exceptions, Stats, and timeout control are - * handled here. - */ - override def get( - query: FetcherQuery - ): Future[Option[ResultType]] = { - val scopedStats = stats.scope(query.product.originalName) - if (isEnabled(query)) { - scopedStats.counter("gate_enabled").incr() - trackStats(query)(fetchAndProcess(query)) - .raiseWithin(timeoutConfig.signalFetchTimeout)(timer) - .onFailure { e => - scopedStats.scope("exceptions").counter(e.getClass.getSimpleName).incr() - } - .rescue { - case _: TimeoutException | _: GlobalRequestTimeoutException | _: TApplicationException | - _: ClientDiscardedRequestException | - _: ServerApplicationError // TApplicationException inside - => - Future.None - case e => - logger.info(e) - Future.None - } - } else { - scopedStats.counter("gate_disabled").incr() - Future.None - } - } -} - -object SourceFetcher { - - /*** - * Every SourceFetcher all share the same input: FetcherQuery - */ - case class FetcherQuery( - userId: UserId, - product: TProduct, - userState: UserState, - params: Params) - -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..af42b387bf885122af99c4ad3613be6f0a945a3e GIT binary patch literal 37510 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ΞG%zxuWH1jWP)OLM;z&s*?{;L_6bKED3k;=j`ojG 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∋9|~s>3O)&KYQq3#r$7$o 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 KVD{ke1MvW#JR_d~ literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.scala deleted file mode 100644 index ac33d91e9..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceGraphFetcher.scala +++ /dev/null @@ -1,70 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.cr_mixer.model.GraphSourceInfo -import com.twitter.cr_mixer.source_signal.SourceFetcher.FetcherQuery -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.frigate.common.util.StatsUtil -import com.twitter.simclusters_v2.common.UserId -import com.twitter.util.Future - -/*** - * A SourceGraphFetcher is a trait that extends from `SourceFetcher` - * and is specialized in tackling User Graph (eg., RealGraphOon, FRS) fetch. - * - * The [[ResultType]] of a SourceGraphFetcher is a `GraphSourceInfo` which contains a userSeedSet. - * When we pass in userId, the underlying store returns one GraphSourceInfo. - */ -trait SourceGraphFetcher extends SourceFetcher[GraphSourceInfo] { - protected final val DefaultSeedScore = 1.0 - protected def graphSourceType: SourceType - - /*** - * RawDataType contains a consumers seed UserId and a score (weight) - */ - protected type RawDataType = (UserId, Double) - - def trackStats( - query: FetcherQuery - )( - func: => Future[Option[GraphSourceInfo]] - ): Future[Option[GraphSourceInfo]] = { - val productScopedStats = stats.scope(query.product.originalName) - val productUserStateScopedStats = productScopedStats.scope(query.userState.toString) - StatsUtil - .trackOptionStats(productScopedStats) { - StatsUtil - .trackOptionStats(productUserStateScopedStats) { - func - } - } - } - - // Track per item stats on the fetched graph results - def trackPerItemStats( - query: FetcherQuery - )( - func: => Future[Option[Seq[RawDataType]]] - ): Future[Option[Seq[RawDataType]]] = { - val productScopedStats = stats.scope(query.product.originalName) - val productUserStateScopedStats = productScopedStats.scope(query.userState.toString) - StatsUtil.trackOptionItemsStats(productScopedStats) { - StatsUtil.trackOptionItemsStats(productUserStateScopedStats) { - func - } - } - } - - /*** - * Convert Seq[RawDataType] into GraphSourceInfo - */ - protected final def convertGraphSourceInfo( - userWithScores: Seq[RawDataType] - ): GraphSourceInfo = { - GraphSourceInfo( - sourceType = graphSourceType, - seedWithScores = userWithScores.map { userWithScore => - userWithScore._1 -> userWithScore._2 - }.toMap - ) - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.docx new file mode 100644 index 0000000000000000000000000000000000000000..4c67b3e914fd8f49c894bddab119375909672360 GIT binary patch literal 37373 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 X)?t7*D=-Iva+M%MA~1Wj^@4Z+G0oZY literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.scala deleted file mode 100644 index 5942fb8e4..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceInfoRouter.scala +++ /dev/null @@ -1,68 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.core_workflows.user_model.thriftscala.UserState -import com.twitter.cr_mixer.model.GraphSourceInfo -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.source_signal.SourceFetcher.FetcherQuery -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.cr_mixer.thriftscala.{Product => TProduct} -import com.twitter.simclusters_v2.common.UserId -import com.twitter.timelines.configapi -import com.twitter.util.Future -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -case class SourceInfoRouter @Inject() ( - ussSourceSignalFetcher: UssSourceSignalFetcher, - frsSourceSignalFetcher: FrsSourceSignalFetcher, - frsSourceGraphFetcher: FrsSourceGraphFetcher, - realGraphOonSourceGraphFetcher: RealGraphOonSourceGraphFetcher, - realGraphInSourceGraphFetcher: RealGraphInSourceGraphFetcher, -) { - - def get( - userId: UserId, - product: TProduct, - userState: UserState, - params: configapi.Params - ): Future[(Set[SourceInfo], Map[String, Option[GraphSourceInfo]])] = { - - val fetcherQuery = FetcherQuery(userId, product, userState, params) - Future.join( - getSourceSignals(fetcherQuery), - getSourceGraphs(fetcherQuery) - ) - } - - private def getSourceSignals( - fetcherQuery: FetcherQuery - ): Future[Set[SourceInfo]] = { - Future - .join( - ussSourceSignalFetcher.get(fetcherQuery), - frsSourceSignalFetcher.get(fetcherQuery)).map { - case (ussSignalsOpt, frsSignalsOpt) => - (ussSignalsOpt.getOrElse(Seq.empty) ++ frsSignalsOpt.getOrElse(Seq.empty)).toSet - } - } - - private def getSourceGraphs( - fetcherQuery: FetcherQuery - ): Future[Map[String, Option[GraphSourceInfo]]] = { - - Future - .join( - frsSourceGraphFetcher.get(fetcherQuery), - realGraphOonSourceGraphFetcher.get(fetcherQuery), - realGraphInSourceGraphFetcher.get(fetcherQuery) - ).map { - case (frsGraphOpt, realGraphOonGraphOpt, realGraphInGraphOpt) => - Map( - SourceType.FollowRecommendation.name -> frsGraphOpt, - SourceType.RealGraphOon.name -> realGraphOonGraphOpt, - SourceType.RealGraphIn.name -> realGraphInGraphOpt, - ) - } - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..a09e88c7c70b387cc0faf68ffdd713081b1d5381 GIT binary patch literal 37334 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.scala deleted file mode 100644 index 01d302661..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/SourceSignalFetcher.scala +++ /dev/null @@ -1,45 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.source_signal.SourceFetcher.FetcherQuery -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.frigate.common.util.StatsUtil -import com.twitter.util.Future - -/*** - * A SourceSignalFetcher is a trait that extends from `SourceFetcher` - * and is specialized in tackling Signals (eg., USS, FRS) fetch. - * Currently, we define Signals as (but not limited to) a set of past engagements that - * the user makes, such as RecentFav, RecentFollow, etc. - * - * The [[ResultType]] of a SourceSignalFetcher is `Seq[SourceInfo]`. When we pass in userId, - * the underlying store returns a list of signals. - */ -trait SourceSignalFetcher extends SourceFetcher[Seq[SourceInfo]] { - - protected type SignalConvertType - - def trackStats( - query: FetcherQuery - )( - func: => Future[Option[Seq[SourceInfo]]] - ): Future[Option[Seq[SourceInfo]]] = { - val productScopedStats = stats.scope(query.product.originalName) - val productUserStateScopedStats = productScopedStats.scope(query.userState.toString) - StatsUtil - .trackOptionItemsStats(productScopedStats) { - StatsUtil - .trackOptionItemsStats(productUserStateScopedStats) { - func - } - } - } - - /*** - * Convert a list of Signals of type [[SignalConvertType]] into SourceInfo - */ - def convertSourceInfo( - sourceType: SourceType, - signals: Seq[SignalConvertType] - ): Seq[SourceInfo] -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.docx new file mode 100644 index 0000000000000000000000000000000000000000..2f0b3de1bc9b758d6998799f239870f2f31786b3 GIT binary patch literal 38505 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 B8I=G4 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.scala deleted file mode 100644 index dcce3e94e..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssSourceSignalFetcher.scala +++ /dev/null @@ -1,160 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.cr_mixer.config.TimeoutConfig -import com.twitter.cr_mixer.model.ModuleNames -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.cr_mixer.source_signal.SourceFetcher.FetcherQuery -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.storehaus.ReadableStore -import com.twitter.usersignalservice.thriftscala.{Signal => UssSignal} -import com.twitter.usersignalservice.thriftscala.SignalType -import com.twitter.frigate.common.util.StatsUtil.Size -import com.twitter.frigate.common.util.StatsUtil.Success -import com.twitter.frigate.common.util.StatsUtil.Empty -import com.twitter.util.Future -import com.twitter.util.Time -import javax.inject.Singleton -import javax.inject.Inject -import javax.inject.Named - -@Singleton -case class UssSourceSignalFetcher @Inject() ( - @Named(ModuleNames.UssStore) ussStore: ReadableStore[UssStore.Query, Seq[ - (SignalType, Seq[UssSignal]) - ]], - override val timeoutConfig: TimeoutConfig, - globalStats: StatsReceiver) - extends SourceSignalFetcher { - - override protected val stats: StatsReceiver = globalStats.scope(identifier) - override type SignalConvertType = UssSignal - - // always enable USS call. We have fine-grained FS to decider which signal to fetch - override def isEnabled(query: FetcherQuery): Boolean = true - - override def fetchAndProcess( - query: FetcherQuery, - ): Future[Option[Seq[SourceInfo]]] = { - // Fetch raw signals - val rawSignals = ussStore.get(UssStore.Query(query.userId, query.params, query.product)).map { - _.map { - _.map { - case (signalType, signals) => - trackUssSignalStatsPerSignalType(query, signalType, signals) - (signalType, signals) - } - } - } - - /** - * Process signals: - * Transform a Seq of USS Signals with signalType specified to a Seq of SourceInfo - * We do case match to make sure the SignalType can correctly map to a SourceType defined in CrMixer - * and it should be simplified. - */ - rawSignals.map { - _.map { nestedSignal => - val sourceInfoList = nestedSignal.flatMap { - case (signalType, ussSignals) => - signalType match { - case SignalType.TweetFavorite => - convertSourceInfo(sourceType = SourceType.TweetFavorite, signals = ussSignals) - case SignalType.Retweet => - convertSourceInfo(sourceType = SourceType.Retweet, signals = ussSignals) - case SignalType.Reply => - convertSourceInfo(sourceType = SourceType.Reply, signals = ussSignals) - case SignalType.OriginalTweet => - convertSourceInfo(sourceType = SourceType.OriginalTweet, signals = ussSignals) - case SignalType.AccountFollow => - convertSourceInfo(sourceType = SourceType.UserFollow, signals = ussSignals) - case SignalType.RepeatedProfileVisit180dMinVisit6V1 | - SignalType.RepeatedProfileVisit90dMinVisit6V1 | - SignalType.RepeatedProfileVisit14dMinVisit2V1 => - convertSourceInfo( - sourceType = SourceType.UserRepeatedProfileVisit, - signals = ussSignals) - case SignalType.NotificationOpenAndClickV1 => - convertSourceInfo(sourceType = SourceType.NotificationClick, signals = ussSignals) - case SignalType.TweetShareV1 => - convertSourceInfo(sourceType = SourceType.TweetShare, signals = ussSignals) - case SignalType.RealGraphOon => - convertSourceInfo(sourceType = SourceType.RealGraphOon, signals = ussSignals) - case SignalType.GoodTweetClick | SignalType.GoodTweetClick5s | - SignalType.GoodTweetClick10s | SignalType.GoodTweetClick30s => - convertSourceInfo(sourceType = SourceType.GoodTweetClick, signals = ussSignals) - case SignalType.VideoView90dPlayback50V1 => - convertSourceInfo( - sourceType = SourceType.VideoTweetPlayback50, - signals = ussSignals) - case SignalType.VideoView90dQualityV1 => - convertSourceInfo( - sourceType = SourceType.VideoTweetQualityView, - signals = ussSignals) - case SignalType.GoodProfileClick | SignalType.GoodProfileClick20s | - SignalType.GoodProfileClick30s => - convertSourceInfo(sourceType = SourceType.GoodProfileClick, signals = ussSignals) - // negative signals - case SignalType.AccountBlock => - convertSourceInfo(sourceType = SourceType.AccountBlock, signals = ussSignals) - case SignalType.AccountMute => - convertSourceInfo(sourceType = SourceType.AccountMute, signals = ussSignals) - case SignalType.TweetReport => - convertSourceInfo(sourceType = SourceType.TweetReport, signals = ussSignals) - case SignalType.TweetDontLike => - convertSourceInfo(sourceType = SourceType.TweetDontLike, signals = ussSignals) - // Aggregated Signals - case SignalType.TweetBasedUnifiedEngagementWeightedSignal | - SignalType.TweetBasedUnifiedUniformSignal => - convertSourceInfo(sourceType = SourceType.TweetAggregation, signals = ussSignals) - case SignalType.ProducerBasedUnifiedEngagementWeightedSignal | - SignalType.ProducerBasedUnifiedUniformSignal => - convertSourceInfo(sourceType = SourceType.ProducerAggregation, signals = ussSignals) - - // Default - case _ => - Seq.empty[SourceInfo] - } - } - sourceInfoList - } - } - } - - override def convertSourceInfo( - sourceType: SourceType, - signals: Seq[SignalConvertType] - ): Seq[SourceInfo] = { - signals.map { signal => - SourceInfo( - sourceType = sourceType, - internalId = signal.targetInternalId.getOrElse( - throw new IllegalArgumentException( - s"${sourceType.toString} Signal does not have internalId")), - sourceEventTime = - if (signal.timestamp == 0L) None else Some(Time.fromMilliseconds(signal.timestamp)) - ) - } - } - - private def trackUssSignalStatsPerSignalType( - query: FetcherQuery, - signalType: SignalType, - ussSignals: Seq[UssSignal] - ): Unit = { - val productScopedStats = stats.scope(query.product.originalName) - val productUserStateScopedStats = productScopedStats.scope(query.userState.toString) - val productStats = productScopedStats.scope(signalType.toString) - val productUserStateStats = productUserStateScopedStats.scope(signalType.toString) - - productStats.counter(Success).incr() - productUserStateStats.counter(Success).incr() - val size = ussSignals.size - productStats.stat(Size).add(size) - productUserStateStats.stat(Size).add(size) - if (size == 0) { - productStats.counter(Empty).incr() - productUserStateStats.counter(Empty).incr() - } - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.docx new file mode 100644 index 0000000000000000000000000000000000000000..3095c6a9d41b5fda977158f607f4c76a15794438 GIT binary patch literal 38343 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 bHy7I;9U2?30Uq?-tN0*xfO{Axd_Vga4Wqv^ literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.scala deleted file mode 100644 index 02f0287f5..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/source_signal/UssStore.scala +++ /dev/null @@ -1,209 +0,0 @@ -package com.twitter.cr_mixer.source_signal - -import com.twitter.cr_mixer.param.GlobalParams -import com.twitter.cr_mixer.param.GoodProfileClickParams -import com.twitter.cr_mixer.param.GoodTweetClickParams -import com.twitter.cr_mixer.param.RealGraphOonParams -import com.twitter.cr_mixer.param.RecentFollowsParams -import com.twitter.cr_mixer.param.RecentNegativeSignalParams -import com.twitter.cr_mixer.param.RecentNotificationsParams -import com.twitter.cr_mixer.param.RecentOriginalTweetsParams -import com.twitter.cr_mixer.param.RecentReplyTweetsParams -import com.twitter.cr_mixer.param.RecentRetweetsParams -import com.twitter.cr_mixer.param.RecentTweetFavoritesParams -import com.twitter.cr_mixer.param.RepeatedProfileVisitsParams -import com.twitter.cr_mixer.param.TweetSharesParams -import com.twitter.cr_mixer.param.UnifiedUSSSignalParams -import com.twitter.cr_mixer.param.VideoViewTweetsParams -import com.twitter.cr_mixer.source_signal.UssStore.Query -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.simclusters_v2.common.UserId -import com.twitter.storehaus.ReadableStore -import com.twitter.usersignalservice.thriftscala.{Signal => UssSignal} -import com.twitter.usersignalservice.thriftscala.SignalType -import javax.inject.Singleton -import com.twitter.timelines.configapi -import com.twitter.timelines.configapi.Params -import com.twitter.usersignalservice.thriftscala.BatchSignalRequest -import com.twitter.usersignalservice.thriftscala.BatchSignalResponse -import com.twitter.usersignalservice.thriftscala.SignalRequest -import com.twitter.util.Future -import com.twitter.cr_mixer.thriftscala.Product -import com.twitter.usersignalservice.thriftscala.ClientIdentifier - -@Singleton -case class UssStore( - stratoStore: ReadableStore[BatchSignalRequest, BatchSignalResponse], - statsReceiver: StatsReceiver) - extends ReadableStore[Query, Seq[(SignalType, Seq[UssSignal])]] { - - import com.twitter.cr_mixer.source_signal.UssStore._ - - override def get(query: Query): Future[Option[Seq[(SignalType, Seq[UssSignal])]]] = { - val ussClientIdentifier = query.product match { - case Product.Home => - ClientIdentifier.CrMixerHome - case Product.Notifications => - ClientIdentifier.CrMixerNotifications - case Product.Email => - ClientIdentifier.CrMixerEmail - case _ => - ClientIdentifier.Unknown - } - val batchSignalRequest = - BatchSignalRequest( - query.userId, - buildUserSignalServiceRequests(query.params), - Some(ussClientIdentifier)) - - stratoStore - .get(batchSignalRequest) - .map { - _.map { batchSignalResponse => - batchSignalResponse.signalResponse.toSeq.map { - case (signalType, ussSignals) => - (signalType, ussSignals) - } - } - } - } - - private def buildUserSignalServiceRequests( - param: Params, - ): Seq[SignalRequest] = { - val unifiedMaxSourceKeyNum = param(GlobalParams.UnifiedMaxSourceKeyNum) - val goodTweetClickMaxSignalNum = param(GoodTweetClickParams.MaxSignalNumParam) - val aggrTweetMaxSourceKeyNum = param(UnifiedUSSSignalParams.UnifiedTweetSourceNumberParam) - val aggrProducerMaxSourceKeyNum = param(UnifiedUSSSignalParams.UnifiedProducerSourceNumberParam) - - val maybeRecentTweetFavorite = - if (param(RecentTweetFavoritesParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.TweetFavorite)) - else None - val maybeRecentRetweet = - if (param(RecentRetweetsParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.Retweet)) - else None - val maybeRecentReply = - if (param(RecentReplyTweetsParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.Reply)) - else None - val maybeRecentOriginalTweet = - if (param(RecentOriginalTweetsParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.OriginalTweet)) - else None - val maybeRecentFollow = - if (param(RecentFollowsParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.AccountFollow)) - else None - val maybeRepeatedProfileVisits = - if (param(RepeatedProfileVisitsParams.EnableSourceParam)) - Some( - SignalRequest( - Some(unifiedMaxSourceKeyNum), - param(RepeatedProfileVisitsParams.ProfileMinVisitType).signalType)) - else None - val maybeRecentNotifications = - if (param(RecentNotificationsParams.EnableSourceParam)) - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.NotificationOpenAndClickV1)) - else None - val maybeTweetShares = - if (param(TweetSharesParams.EnableSourceParam)) { - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.TweetShareV1)) - } else None - val maybeRealGraphOon = - if (param(RealGraphOonParams.EnableSourceParam)) { - Some(SignalRequest(Some(unifiedMaxSourceKeyNum), SignalType.RealGraphOon)) - } else None - - val maybeGoodTweetClick = - if (param(GoodTweetClickParams.EnableSourceParam)) - Some( - SignalRequest( - Some(goodTweetClickMaxSignalNum), - param(GoodTweetClickParams.ClickMinDwellTimeType).signalType)) - else None - val maybeVideoViewTweets = - if (param(VideoViewTweetsParams.EnableSourceParam)) { - Some( - SignalRequest( - Some(unifiedMaxSourceKeyNum), - param(VideoViewTweetsParams.VideoViewTweetTypeParam).signalType)) - } else None - val maybeGoodProfileClick = - if (param(GoodProfileClickParams.EnableSourceParam)) - Some( - SignalRequest( - Some(unifiedMaxSourceKeyNum), - param(GoodProfileClickParams.ClickMinDwellTimeType).signalType)) - else None - val maybeAggTweetSignal = - if (param(UnifiedUSSSignalParams.EnableTweetAggSourceParam)) - Some( - SignalRequest( - Some(aggrTweetMaxSourceKeyNum), - param(UnifiedUSSSignalParams.TweetAggTypeParam).signalType - ) - ) - else None - val maybeAggProducerSignal = - if (param(UnifiedUSSSignalParams.EnableProducerAggSourceParam)) - Some( - SignalRequest( - Some(aggrProducerMaxSourceKeyNum), - param(UnifiedUSSSignalParams.ProducerAggTypeParam).signalType - ) - ) - else None - - // negative signals - val maybeNegativeSignals = if (param(RecentNegativeSignalParams.EnableSourceParam)) { - EnabledNegativeSignalTypes - .map(negativeSignal => SignalRequest(Some(unifiedMaxSourceKeyNum), negativeSignal)).toSeq - } else Seq.empty - - val allPositiveSignals = - if (param(UnifiedUSSSignalParams.ReplaceIndividualUSSSourcesParam)) - Seq( - maybeRecentOriginalTweet, - maybeRecentNotifications, - maybeRealGraphOon, - maybeGoodTweetClick, - maybeGoodProfileClick, - maybeAggProducerSignal, - maybeAggTweetSignal, - ) - else - Seq( - maybeRecentTweetFavorite, - maybeRecentRetweet, - maybeRecentReply, - maybeRecentOriginalTweet, - maybeRecentFollow, - maybeRepeatedProfileVisits, - maybeRecentNotifications, - maybeTweetShares, - maybeRealGraphOon, - maybeGoodTweetClick, - maybeVideoViewTweets, - maybeGoodProfileClick, - maybeAggProducerSignal, - maybeAggTweetSignal, - ) - allPositiveSignals.flatten ++ maybeNegativeSignals - } - -} - -object UssStore { - case class Query( - userId: UserId, - params: configapi.Params, - product: Product) - - val EnabledNegativeSourceTypes: Set[SourceType] = - Set(SourceType.AccountBlock, SourceType.AccountMute) - private val EnabledNegativeSignalTypes: Set[SignalType] = - Set(SignalType.AccountBlock, SignalType.AccountMute) -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD deleted file mode 100644 index 46c71420a..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD +++ /dev/null @@ -1,29 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/storehaus:core", - "3rdparty/jvm/org/lz4:lz4-java", - "3rdparty/src/jvm/com/twitter/storehaus:core", - "configapi/configapi-core", - "content-recommender/thrift/src/main/thrift:thrift-scala", - "cr-mixer/server/src/main/scala/com/twitter/cr_mixer/config", - "cr-mixer/server/src/main/scala/com/twitter/cr_mixer/model", - "cr-mixer/server/src/main/scala/com/twitter/cr_mixer/param", - "cr-mixer/thrift/src/main/thrift:thrift-scala", - "finatra/inject/inject-core/src/main/scala", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/util:stats_util", - "relevance-platform/src/main/scala/com/twitter/relevance_platform/common/stats", - "src/java/com/twitter/search/common/schema/base", - "src/java/com/twitter/search/common/schema/earlybird", - "src/java/com/twitter/search/queryparser/query:core-query-nodes", - "src/java/com/twitter/search/queryparser/query/search:search-query-nodes", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/core_workflows/user_model:user_model-scala", - "src/thrift/com/twitter/search:earlybird-scala", - "src/thrift/com/twitter/search/common:ranking-scala", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - ], -) diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..0da42da83d881e849cd23e123afcc93609ad8c8a GIT binary patch literal 37096 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 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CandidateGenerationKeyUtil.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CandidateGenerationKeyUtil.scala deleted file mode 100644 index fd698f6d9..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CandidateGenerationKeyUtil.scala +++ /dev/null @@ -1,39 +0,0 @@ -package com.twitter.cr_mixer.util - -import com.twitter.cr_mixer.model.CandidateGenerationInfo -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.thriftscala.CandidateGenerationKey -import com.twitter.cr_mixer.thriftscala.SimilarityEngine -import com.twitter.cr_mixer.thriftscala.SourceType -import com.twitter.simclusters_v2.common.UserId -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.util.Time - -object CandidateGenerationKeyUtil { - private val PlaceholderUserId = 0L // this default value will not be used - - private val DefaultSourceInfo: SourceInfo = SourceInfo( - sourceType = SourceType.RequestUserId, - sourceEventTime = None, - internalId = InternalId.UserId(PlaceholderUserId) - ) - - def toThrift( - candidateGenerationInfo: CandidateGenerationInfo, - requestUserId: UserId - ): CandidateGenerationKey = { - CandidateGenerationKey( - sourceType = candidateGenerationInfo.sourceInfoOpt.getOrElse(DefaultSourceInfo).sourceType, - sourceEventTime = candidateGenerationInfo.sourceInfoOpt - .getOrElse(DefaultSourceInfo).sourceEventTime.getOrElse(Time.fromMilliseconds(0L)).inMillis, - id = candidateGenerationInfo.sourceInfoOpt - .map(_.internalId).getOrElse(InternalId.UserId(requestUserId)), - modelId = candidateGenerationInfo.similarityEngineInfo.modelId.getOrElse(""), - similarityEngineType = - Some(candidateGenerationInfo.similarityEngineInfo.similarityEngineType), - contributingSimilarityEngine = - Some(candidateGenerationInfo.contributingSimilarityEngines.map(se => - SimilarityEngine(se.similarityEngineType, se.modelId, se.score))) - ) - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..2e7b4f4c7b65dc4a88bf8c2c5a6be99832eae4ae GIT binary patch literal 38835 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⪙`LZ2>s0=Nbc8sPr}`I``L5ef_)Lpn!}(n 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 AhyVZp literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.scala deleted file mode 100644 index bfae90057..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/CountWeightedInterleaveUtil.scala +++ /dev/null @@ -1,180 +0,0 @@ -package com.twitter.cr_mixer.util - -import com.twitter.cr_mixer.model.Candidate -import com.twitter.cr_mixer.model.InitialCandidate -import com.twitter.cr_mixer.model.RankedCandidate -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.param.BlenderParams.BlendGroupingMethodEnum -import com.twitter.cr_mixer.thriftscala.SimilarityEngineType -import com.twitter.simclusters_v2.thriftscala.InternalId - -object CountWeightedInterleaveUtil { - - /** - * Grouping key for interleaving candidates - * - * @param sourceInfoOpt optional SourceInfo, containing the source information - * @param similarityEngineTypeOpt optional SimilarityEngineType, containing similarity engine - * information - * @param modelIdOpt optional modelId, containing the model ID - * @param authorIdOpt optional authorId, containing the tweet author ID - * @param groupIdOpt optional groupId, containing the ID corresponding to the blending group - */ - case class GroupingKey( - sourceInfoOpt: Option[SourceInfo], - similarityEngineTypeOpt: Option[SimilarityEngineType], - modelIdOpt: Option[String], - authorIdOpt: Option[Long], - groupIdOpt: Option[Int]) - - /** - * Converts candidates to grouping key based upon the feature that we interleave with. - */ - def toGroupingKey[CandidateType <: Candidate]( - candidate: CandidateType, - interleaveFeature: Option[BlendGroupingMethodEnum.Value], - groupId: Option[Int], - ): GroupingKey = { - val grouping: GroupingKey = candidate match { - case c: RankedCandidate => - interleaveFeature.getOrElse(BlendGroupingMethodEnum.SourceKeyDefault) match { - case BlendGroupingMethodEnum.SourceKeyDefault => - GroupingKey( - sourceInfoOpt = c.reasonChosen.sourceInfoOpt, - similarityEngineTypeOpt = - Some(c.reasonChosen.similarityEngineInfo.similarityEngineType), - modelIdOpt = c.reasonChosen.similarityEngineInfo.modelId, - authorIdOpt = None, - groupIdOpt = groupId - ) - // Some candidate sources don't have a sourceType, so it defaults to similarityEngine - case BlendGroupingMethodEnum.SourceTypeSimilarityEngine => - val sourceInfoOpt = c.reasonChosen.sourceInfoOpt.map(_.sourceType).map { sourceType => - SourceInfo( - sourceType = sourceType, - internalId = InternalId.UserId(0), - sourceEventTime = None) - } - GroupingKey( - sourceInfoOpt = sourceInfoOpt, - similarityEngineTypeOpt = - Some(c.reasonChosen.similarityEngineInfo.similarityEngineType), - modelIdOpt = c.reasonChosen.similarityEngineInfo.modelId, - authorIdOpt = None, - groupIdOpt = groupId - ) - case BlendGroupingMethodEnum.AuthorId => - GroupingKey( - sourceInfoOpt = None, - similarityEngineTypeOpt = None, - modelIdOpt = None, - authorIdOpt = Some(c.tweetInfo.authorId), - groupIdOpt = groupId - ) - case _ => - throw new UnsupportedOperationException( - s"Unsupported interleave feature: $interleaveFeature") - } - case _ => - GroupingKey( - sourceInfoOpt = None, - similarityEngineTypeOpt = None, - modelIdOpt = None, - authorIdOpt = None, - groupIdOpt = groupId - ) - } - grouping - } - - /** - * Rather than manually calculating and maintaining the weights to rank with, we instead - * calculate the weights on the fly, based upon the frequencies of the candidates within each - * group. To ensure that diversity of the feature is maintained, we additionally employ a - * 'shrinkage' parameter which enforces more diversity by moving the weights closer to uniformity. - * More details are available at go/weighted-interleave. - * - * @param candidateSeqKeyByFeature candidate to key. - * @param rankerWeightShrinkage value between [0, 1] with 1 being complete uniformity. - * @return Interleaving weights keyed by feature. - */ - private def calculateWeightsKeyByFeature[CandidateType <: Candidate]( - candidateSeqKeyByFeature: Map[GroupingKey, Seq[CandidateType]], - rankerWeightShrinkage: Double - ): Map[GroupingKey, Double] = { - val maxNumberCandidates: Double = candidateSeqKeyByFeature.values - .map { candidates => - candidates.size - }.max.toDouble - candidateSeqKeyByFeature.map { - case (featureKey: GroupingKey, candidateSeq: Seq[CandidateType]) => - val observedWeight: Double = candidateSeq.size.toDouble / maxNumberCandidates - // How much to shrink empirical estimates to 1 (Default is to make all weights 1). - val finalWeight = - (1.0 - rankerWeightShrinkage) * observedWeight + rankerWeightShrinkage * 1.0 - featureKey -> finalWeight - } - } - - /** - * Builds out the groups and weights for weighted interleaving of the candidates. - * More details are available at go/weighted-interleave. - * - * @param rankedCandidateSeq candidates to interleave. - * @param rankerWeightShrinkage value between [0, 1] with 1 being complete uniformity. - * @return Candidates grouped by feature key and with calculated interleaving weights. - */ - def buildRankedCandidatesWithWeightKeyByFeature( - rankedCandidateSeq: Seq[RankedCandidate], - rankerWeightShrinkage: Double, - interleaveFeature: BlendGroupingMethodEnum.Value - ): Seq[(Seq[RankedCandidate], Double)] = { - // To accommodate the re-grouping in InterleaveRanker - // In InterleaveBlender, we have already abandoned the grouping keys, and use Seq[Seq[]] to do interleave - // Since that we build the candidateSeq with groupingKey, we can guarantee there is no empty candidateSeq - val candidateSeqKeyByFeature: Map[GroupingKey, Seq[RankedCandidate]] = - rankedCandidateSeq.groupBy { candidate: RankedCandidate => - toGroupingKey(candidate, Some(interleaveFeature), None) - } - - // These weights [0, 1] are used to do weighted interleaving - // The default value of 1.0 ensures the group is always sampled. - val candidateWeightsKeyByFeature: Map[GroupingKey, Double] = - calculateWeightsKeyByFeature(candidateSeqKeyByFeature, rankerWeightShrinkage) - - candidateSeqKeyByFeature.map { - case (groupingKey: GroupingKey, candidateSeq: Seq[RankedCandidate]) => - Tuple2( - candidateSeq.sortBy(-_.predictionScore), - candidateWeightsKeyByFeature.getOrElse(groupingKey, 1.0)) - }.toSeq - } - - /** - * Takes current grouping (as implied by the outer Seq) and computes blending weights. - * - * @param initialCandidatesSeqSeq grouped candidates to interleave. - * @param rankerWeightShrinkage value between [0, 1] with 1 being complete uniformity. - * @return Grouped candidates with calculated interleaving weights. - */ - def buildInitialCandidatesWithWeightKeyByFeature( - initialCandidatesSeqSeq: Seq[Seq[InitialCandidate]], - rankerWeightShrinkage: Double, - ): Seq[(Seq[InitialCandidate], Double)] = { - val candidateSeqKeyByFeature: Map[GroupingKey, Seq[InitialCandidate]] = - initialCandidatesSeqSeq.zipWithIndex.map(_.swap).toMap.map { - case (groupId: Int, initialCandidatesSeq: Seq[InitialCandidate]) => - toGroupingKey(initialCandidatesSeq.head, None, Some(groupId)) -> initialCandidatesSeq - } - - // These weights [0, 1] are used to do weighted interleaving - // The default value of 1.0 ensures the group is always sampled. - val candidateWeightsKeyByFeature = - calculateWeightsKeyByFeature(candidateSeqKeyByFeature, rankerWeightShrinkage) - - candidateSeqKeyByFeature.map { - case (groupingKey: GroupingKey, candidateSeq: Seq[InitialCandidate]) => - Tuple2(candidateSeq, candidateWeightsKeyByFeature.getOrElse(groupingKey, 1.0)) - }.toSeq - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..ecc710e695cc54186223e107a77db5e06cdac1e2 GIT binary patch literal 38280 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⪙i4B>ASp$)i=+6?raBLhTO{T7 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 V#$4bE`nIZs0ef(H2vfe@{R^JIoDTp1 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.scala deleted file mode 100644 index 6ddd358dc..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/EarlybirdSearchUtil.scala +++ /dev/null @@ -1,130 +0,0 @@ -package com.twitter.cr_mixer.util - -import com.twitter.search.common.schema.earlybird.EarlybirdFieldConstants.EarlybirdFieldConstant -import com.twitter.search.queryparser.query.search.SearchOperator -import com.twitter.search.queryparser.query.search.SearchOperatorConstants -import com.twitter.search.queryparser.query.{Query => EbQuery} -import com.twitter.search.queryparser.query.Conjunction -import scala.collection.JavaConverters._ -import com.twitter.search.earlybird.thriftscala.ThriftSearchResultMetadataOptions -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.search.queryparser.query.Query -import com.twitter.util.Duration -import com.twitter.search.common.query.thriftjava.thriftscala.CollectorTerminationParams - -object EarlybirdSearchUtil { - val EarlybirdClientId: String = "cr-mixer.prod" - - val Mentions: String = EarlybirdFieldConstant.MENTIONS_FACET - val Hashtags: String = EarlybirdFieldConstant.HASHTAGS_FACET - val FacetsToFetch: Seq[String] = Seq(Mentions, Hashtags) - - val MetadataOptions: ThriftSearchResultMetadataOptions = ThriftSearchResultMetadataOptions( - getTweetUrls = true, - getResultLocation = false, - getLuceneScore = false, - getInReplyToStatusId = true, - getReferencedTweetAuthorId = true, - getMediaBits = true, - getAllFeatures = true, - getFromUserId = true, - returnSearchResultFeatures = true, - // Set getExclusiveConversationAuthorId in order to retrieve Exclusive / SuperFollow tweets. - getExclusiveConversationAuthorId = true - ) - - // Filter out retweets and replies - val TweetTypesToExclude: Seq[String] = - Seq( - SearchOperatorConstants.NATIVE_RETWEETS, - SearchOperatorConstants.REPLIES) - - def GetCollectorTerminationParams( - maxNumHitsPerShard: Int, - processingTimeout: Duration - ): Option[CollectorTerminationParams] = { - Some( - CollectorTerminationParams( - // maxHitsToProcess is used for early termination on each EB shard - maxHitsToProcess = Some(maxNumHitsPerShard), - timeoutMs = processingTimeout.inMilliseconds.toInt - )) - } - - /** - * Get EarlybirdQuery - * This function creates a EBQuery based on the search input - */ - def GetEarlybirdQuery( - beforeTweetIdExclusive: Option[TweetId], - afterTweetIdExclusive: Option[TweetId], - excludedTweetIds: Set[TweetId], - filterOutRetweetsAndReplies: Boolean - ): Option[EbQuery] = - CreateConjunction( - Seq( - CreateRangeQuery(beforeTweetIdExclusive, afterTweetIdExclusive), - CreateExcludedTweetIdsQuery(excludedTweetIds), - CreateTweetTypesFilters(filterOutRetweetsAndReplies) - ).flatten) - - def CreateRangeQuery( - beforeTweetIdExclusive: Option[TweetId], - afterTweetIdExclusive: Option[TweetId] - ): Option[EbQuery] = { - val beforeIdClause = beforeTweetIdExclusive.map { beforeId => - // MAX_ID is an inclusive value therefore we subtract 1 from beforeId. - new SearchOperator(SearchOperator.Type.MAX_ID, (beforeId - 1).toString) - } - val afterIdClause = afterTweetIdExclusive.map { afterId => - new SearchOperator(SearchOperator.Type.SINCE_ID, afterId.toString) - } - CreateConjunction(Seq(beforeIdClause, afterIdClause).flatten) - } - - def CreateTweetTypesFilters(filterOutRetweetsAndReplies: Boolean): Option[EbQuery] = { - if (filterOutRetweetsAndReplies) { - val tweetTypeFilters = TweetTypesToExclude.map { searchOperator => - new SearchOperator(SearchOperator.Type.EXCLUDE, searchOperator) - } - CreateConjunction(tweetTypeFilters) - } else None - } - - def CreateConjunction(clauses: Seq[EbQuery]): Option[EbQuery] = { - clauses.size match { - case 0 => None - case 1 => Some(clauses.head) - case _ => Some(new Conjunction(clauses.asJava)) - } - } - - def CreateExcludedTweetIdsQuery(tweetIds: Set[TweetId]): Option[EbQuery] = { - if (tweetIds.nonEmpty) { - Some( - new SearchOperator.Builder() - .setType(SearchOperator.Type.NAMED_MULTI_TERM_DISJUNCTION) - .addOperand(EarlybirdFieldConstant.ID_FIELD.getFieldName) - .addOperand(EXCLUDE_TWEET_IDS) - .setOccur(Query.Occur.MUST_NOT) - .build()) - } else None - } - - /** - * Get NamedDisjunctions with excludedTweetIds - */ - def GetNamedDisjunctions(excludedTweetIds: Set[TweetId]): Option[Map[String, Seq[Long]]] = - if (excludedTweetIds.nonEmpty) - createNamedDisjunctionsExcludedTweetIds(excludedTweetIds) - else None - - val EXCLUDE_TWEET_IDS = "exclude_tweet_ids" - private def createNamedDisjunctionsExcludedTweetIds( - tweetIds: Set[TweetId] - ): Option[Map[String, Seq[Long]]] = { - if (tweetIds.nonEmpty) { - Some(Map(EXCLUDE_TWEET_IDS -> tweetIds.toSeq)) - } else None - } -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..02b45a67dcba000268c43437180f489667f7c8d1 GIT binary patch literal 38556 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 BDlGs2 literal 0 HcmV?d00001 diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.scala b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.scala deleted file mode 100644 index c75abde2e..000000000 --- a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/InterleaveUtil.scala +++ /dev/null @@ -1,160 +0,0 @@ -package com.twitter.cr_mixer.util - -import com.twitter.cr_mixer.model.Candidate -import com.twitter.cr_mixer.model.CandidateGenerationInfo -import com.twitter.cr_mixer.model.RankedCandidate -import com.twitter.cr_mixer.model.SourceInfo -import com.twitter.cr_mixer.thriftscala.SimilarityEngineType -import com.twitter.simclusters_v2.common.TweetId -import scala.collection.mutable -import scala.collection.mutable.ArrayBuffer - -object InterleaveUtil { - - /** - * Interleaves candidates by iteratively taking one candidate from the 1st Seq and adding it to the result. - * Once we take a candidate from a Seq, we move this Seq to the end of the queue to process, - * and remove the candidate from that Seq. - * - * We keep a mutable.Set[TweetId] buffer to ensure there are no duplicates. - * - * @param candidates candidates assumed to be sorted by eventTime (latest event comes first) - * @return interleaved candidates - */ - def interleave[CandidateType <: Candidate]( - candidates: Seq[Seq[CandidateType]] - ): Seq[CandidateType] = { - - // copy candidates into a mutable map so this method is thread-safe - val candidatesPerSequence = candidates.map { tweetCandidates => - mutable.Queue() ++= tweetCandidates - } - - val seen = mutable.Set[TweetId]() - - val candidateSeqQueue = mutable.Queue() ++= candidatesPerSequence - - val result = ArrayBuffer[CandidateType]() - - while (candidateSeqQueue.nonEmpty) { - val candidatesQueue = candidateSeqQueue.head - - if (candidatesQueue.nonEmpty) { - val candidate = candidatesQueue.dequeue() - val candidateTweetId = candidate.tweetId - val seenCandidate = seen.contains(candidateTweetId) - if (!seenCandidate) { - result += candidate - seen.add(candidate.tweetId) - candidateSeqQueue.enqueue( - candidateSeqQueue.dequeue() - ) // move this Seq to end - } - } else { - candidateSeqQueue.dequeue() //finished processing this Seq - } - } - //convert result to immutable seq - result.toList - } - - /** - * Interleaves candidates by iteratively - * 1. Checking weight to see if enough accumulation has occurred to sample from - * 2. If yes, taking one candidate from the the Seq and adding it to the result. - * 3. Move this Seq to the end of the queue to process (and remove the candidate from that Seq if - * we sampled it from step 2). - * - * We keep count of the iterations to prevent infinite loops. - * We keep a mutable.Set[TweetId] buffer to ensure there are no duplicates. - * - * @param candidatesAndWeight candidates assumed to be sorted by eventTime (latest event comes first), - * along with sampling weights to help prioritize important groups. - * @param maxWeightAdjustments Maximum number of iterations to account for weighting before - * defaulting to uniform interleaving. - * @return interleaved candidates - */ - def weightedInterleave[CandidateType <: Candidate]( - candidatesAndWeight: Seq[(Seq[CandidateType], Double)], - maxWeightAdjustments: Int = 0 - ): Seq[CandidateType] = { - - // Set to avoid numerical issues around 1.0 - val min_weight = 1 - 1e-30 - - // copy candidates into a mutable map so this method is thread-safe - // adds a counter to use towards sampling - val candidatesAndWeightsPerSequence: Seq[ - (mutable.Queue[CandidateType], InterleaveWeights) - ] = - candidatesAndWeight.map { candidatesAndWeight => - (mutable.Queue() ++= candidatesAndWeight._1, InterleaveWeights(candidatesAndWeight._2, 0.0)) - } - - val seen: mutable.Set[TweetId] = mutable.Set[TweetId]() - - val candidateSeqQueue: mutable.Queue[(mutable.Queue[CandidateType], InterleaveWeights)] = - mutable.Queue() ++= candidatesAndWeightsPerSequence - - val result: ArrayBuffer[CandidateType] = ArrayBuffer[CandidateType]() - var number_iterations: Int = 0 - - while (candidateSeqQueue.nonEmpty) { - val (candidatesQueue, currentWeights) = candidateSeqQueue.head - if (candidatesQueue.nonEmpty) { - // Confirm weighting scheme - currentWeights.summed_weight += currentWeights.weight - number_iterations += 1 - if (currentWeights.summed_weight >= min_weight || number_iterations >= maxWeightAdjustments) { - // If we sample, then adjust the counter - currentWeights.summed_weight -= 1.0 - val candidate = candidatesQueue.dequeue() - val candidateTweetId = candidate.tweetId - val seenCandidate = seen.contains(candidateTweetId) - if (!seenCandidate) { - result += candidate - seen.add(candidate.tweetId) - candidateSeqQueue.enqueue(candidateSeqQueue.dequeue()) // move this Seq to end - } - } else { - candidateSeqQueue.enqueue(candidateSeqQueue.dequeue()) // move this Seq to end - } - } else { - candidateSeqQueue.dequeue() //finished processing this Seq - } - } - //convert result to immutable seq - result.toList - } - - def buildCandidatesKeyByCGInfo( - candidates: Seq[RankedCandidate], - ): Seq[Seq[RankedCandidate]] = { - // To accommodate the re-grouping in InterleaveRanker - // In InterleaveBlender, we have already abandoned the grouping keys, and use Seq[Seq[]] to do interleave - // Since that we build the candidateSeq with groupingKey, we can guarantee there is no empty candidateSeq - val candidateSeqKeyByCG = - candidates.groupBy(candidate => GroupingKey.toGroupingKey(candidate.reasonChosen)) - candidateSeqKeyByCG.map { - case (groupingKey, candidateSeq) => - candidateSeq.sortBy(-_.predictionScore) - }.toSeq - } -} - -case class GroupingKey( - sourceInfoOpt: Option[SourceInfo], - similarityEngineType: SimilarityEngineType, - modelId: Option[String]) {} - -object GroupingKey { - def toGroupingKey(candidateGenerationInfo: CandidateGenerationInfo): GroupingKey = { - GroupingKey( - candidateGenerationInfo.sourceInfoOpt, - candidateGenerationInfo.similarityEngineInfo.similarityEngineType, - candidateGenerationInfo.similarityEngineInfo.modelId - ) - } -} - -case class InterleaveWeights(weight: Double, var summed_weight: Double) diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/MetricTagUtil.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/MetricTagUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..8474800ec17022a9b916418b783b7227061c9a60 GIT binary patch literal 38311 zcmagEWmp_rw=Rlna1HM6F2N;`;O;I#8+RHH5Zr^iyG!Hlgy8NH2=0D5Ykj)+Irsjl zetK4oSH`HWIcD`#`V0+&4FLgx08#v%SF2K`FfIua0%8;n0s;#>sw)AocQLnjF;w$( zFn88x@vyUPOp;ez5k>!c_JWhlDoo}rfreAI?LgM<*~z>j5H~wlYQolXNfyK}Bd3Hmo{-nm4zd(m_q-Xqa|~ z@yp(*lH1F;pF72aguhhQ%OVSnMy5?VQdzLLdyC(pfV49klL+C8cH+#XH;}s3YFYP+o z(Q3X{M?o?KUUw3x8OPm$^tAQl`iXF99PKfcKEZc=cX#xKF;v12i(v+LvorE`imKq&oJ z6+LM_i{68)w+;mXfeijMbTYSfW@Y(vtc;)d1kH}_eq%K*oWFUDcUm)E5 zef+e@9w<|^+}WWlsjr3GLvnDoV`?#>QSY#WdX`($Bn7h!UwLyQ;05V)fNJeZA zAooz)4%W6!i@2dg6*Z^1pP7nsLep!~!gW1J+0S8$?^XW75Fxv1}6vuoFFrRsge`G!I{+*;AH;iCeMr?Q|Mzu zm%8(jnw8fGzd}cll4XEA`u0f%J7BT(mWx~7b}Wl$Vq>SkPA7-ajbuY`=*mHOjkmEG z+B76SgfuknEWqp=vNq1^iV5!OQrY& zx%n^w%KkcTuGz1XDnk!$o8=5e+2}PgeOqO*JG467m+|@ zV3g!Sh9~zM%S{@<%q*58203ln!nhGs=_qa=uIsWBtTdslxYV>gnqIQ|0f}``f`5M; zFjCpiFsG}5;~+Y5dw_k12FWR^oT}p9qQSBG?Zny1abwC2TEF~VbLczN5)x^C-${=(X!+1c$?W@l=D5f`%-&Kj(jrZGO+6k}kUXWS)TpL;I}|GO^ND=T=% z;JVntKtQ1XXI+dP9R4bc+L-+c8+!W_BaFVwH!FBCW&HTSd9i7UHG-P>jON)amF6pe$lfkDb!NXXaxCq1@jlE@iXM|NIb6=XyYENZ#WO9~6b1gck#;E0Jf&NK z!28y4Tu-K2SE?Cy8Fdodr6o3$!_N)oM( z78T}EP<-(jSCU~_0$ztWHlZmM%dd76aP^y)?_EOWCA1dgx69q9{mdGyL{TfEr8W#I z-^poVsoJrc@=x0=734xygS1r1#7`!qgp8*2rLz*fjT z04;2yjS#-lM>m~q(z`DNFX${6cI*e653WMUNA7TZz?OPMl9Urf+n15ZF_M55+l`bY z;R($RD#6eUJaund#kiFI68#JJBke=-V+H?eUG2b=)1N!zMDIj(hX?Czy-Pd+jXIZ~)*;bg2KgijDkb%jgX(&W zlUTZTPfIG$+4XuNTx+Z`1jZi??(-^HPQe0ZL=;R3}d#umm;@|YoLe;=MSq18HLm;kw6*8?GwprKg17(7cs3a&6s&p zND<-WPZvk=Z1X;786gOpSJ+06R+JV8yocutgvD+PnvO&cFMfv}&>uHFJP)Z=TzY;w z?rtW+Qt^#D7sAP5_nM{?g9@NWHj}#Vi2XUxHc)_I`E+ zCWXB&qZ63+!yz%jE@sGJO6@XR5tHp=kjk5mwi6XugRb`YM3Zio-siACoOiXKoPD`h zi=NMuKxiW$HBJuy*-v!qscSTDRr$S~-`h-6=14uttpOimTo8?w*U>)(yRa)t zPpEkRWbrrCiVE?}s}q8l+?bI2JZDkNppzt7s16Dk`CdNsEfcgtg^liIxas9R)IsgaSmV0zYoOjRk$ZyA_Q%OL-;*3br*=n6?rMYK&)Bw* zyXHCW#WN!2LCJ+rl^x4|5cB0Ljzf75N|b2_MI0R`Cno|ST~Xo{YY@h2zmsczZV5d{ zijBPNdUHpU$a*0I(_M2H_>sR_o~I)NjQzV8ReI8|^FMDZS{4{M)tH+|eUcMQ2uAmf z1i)&M#oIF|5y!i+1P{;<&mQL@Q}kdBM!w2^;KIOg#gT+Q6uP#-f2E#=TeIHO-s24N zq2anIwVA05jcnsZvD?Gh((7m7i$M@cu_RDrMrSO!gW)930neNQgcz9yJWM&xvc{DC zwkqScGrijWN_Rz|iWv;h%DatZmzifB@)&5Q5sU9EhrAOHII|?kgOYXcCy^i1H;EFX zx}{I_WwunMf%)I;zqD?I7Cj`1>YH>&w#zez5Q$Q@8(I?HrEcEX_qozozrF>AVtC9$ zemRYskW?~Pogb`UdBIy>csW z(JTP-Zvs6_%!5jQihV?;PGs+kr^0}?&T>q56-^3SXQysET)j(uzaDIIGvv1`0m6i4 zshj;Z=`QH4ZoNC9NV$SjDJ);UvXH63X?#`oiw|3GfIRNwR-(uLdTpb6!tToY?I8}%!!A7fmT|$wJ8ChkuhB=$+`M-9@+a6t@14KmL2q8f1p%YEFLS>|^q+gf z}pa@5zRv0T(BWsnHMeV=gCGa~>6=}duwwFT^K${yJoJ4q? z^3S?(@{TH$RzlWeIm%k>Qf}HcW}evS)~%qq-*$E^ot)iPZ<#i~SsXkmjKxhw=h{Z6 z%VDfhcHQ2%S*p^GlbRre{M3ajCG}Ju{L);$Di7ojepKNt_3H>}JVLUn{KoRc$8s@Z8BH6MOgDVb%J1 zu0gH;dl>|zbLQWkvv=VWnyKGq$hY!gvsTRZnPl@KCWk-jv;3O%sRP7M&U;yXCw@9Z z=Ha%}_V=u(w=nzZ5zl3}wx5V#DWLy-c6Vn;I*B~= zVGok_vz`4{1`-5moM~GM?()ik4r;Xjt}5KP!K;8w#@^! zL??JakP=wRL$*lizYo$EY-bH->6kRJGvsutGD7-PFUx6XTT8o&B`d_qQxS!X^!ikD zC%I~;p|LQD>D>pKQ+eTl%W?_V9x-wU_@>~sEJ#3hO; z2C?CPJ$ps!4N1T*vX6NGJC6p$AYEPP6C%AFe=D)Kp}S_rB(WW^bI0SGO=~wZajQDN zE{M66-|FBJ!$66K$f zYFnxM>yW4#bL~Z2ajK#U4y9G&zt-{UKxs=($A32t&CYW10#RH{RJB}oRM>2atfe{k zY%0`i1omRU)Gp2$=~Hr38*QH*{J6O{Bl3HJH$bvzm?M%X+6#D=*Neh5gweRmfbQeG zH?kVtv6wf7kaX{oNRi+utjSQ_g1#)~j1c3au1ix5wh4JZVZ&#AJ)PL^rGV(-4G$%< zBOF;ww9QYfWurW%`SDn&_xw9%02!?vuJdw<#=g<&XTIg@>1r7MhoGOV|DEfoa$La( zRtN|Kbyx_rf9BfR#naZ@`LAA5Uq4}6y3V(&D=**hdDkvB7-DGB9wOe2$k@9htM-gj zo^$5+j~{qnVonVGsL4f1)m79rK9$AS3HD~;D$(z0W+teazr1AowcDNn4N0TZUryI} z`?^p%TXoMgo{A?oP?MDI>rt+il8+b#$1zXPx%5aQ<{i6^06H;yz3_WcUL}<8(7SqedM>YuNQ%e!g|NPM zu6BZ&E5?!r*!}E4tG=Cjx@Vm)HxiE)Dk&s=jvH&NXdA%qQlvgIStsOg{nZa$COy?- zb2Q2I&n`NlK#VkM0v8Zs$N4$|C`AP58KDO95j?>nuMUsBu0ew>3_ZmZms#h8cS`Mtaz^jY{Jyj-unxTNVl*8rE=H$Dhex}TkfrtqF-@hTp_ z`5K%7g{rdc7v8Y?JCh?@mb*?A4pw3S+xNR~wK`qWS%jT!y3#xk^pD*80QL z{hR*%xXdEFu)V^Ht2q<_Ls1*m$;M0j2PP5H~o4#K) z8@^T8rrOpf&nXKBdydW(xCJGTF&O8qPYcFZYV_9qsh0OaZ|(Y3^HWbJGmj2;jxR&9 zw^t%3XTllE(vA9av*&&LS69DI`-`<;_6 zD5f{3L|DW82(w}QR#PU$CyEgVDM?~nz|q+S$|dA(d?}vYTH@3BK!m zV|smBv+5A6I_oc3`c}ivxgoo#Ww)JxUcdwW2|*&eu*0!7~2k8kn`u{7w}2kf1ZTdq5?pQ{p0$oMgnRU z7*VHjj|w{2D|W*!GZ`}T|B%Q`hCu6yjPRH0*#!4S z^!7hj{cEVeS)yUm4b+KckR>3gGe_1*qT%X$_5kUp?WaRJ4@&C(gd`P^LYo*{($eJ7 zx#8D}rMqb7OeCo_yYC2E8XB{GWr`GH(M^6n8(4d~ac$MNAMh4??pqjl%l)$Gaix1d zIFntyPFV3^Z+|3j>pp5jM8Ek)k~G?Wn`KEfNiX`0JC5M($>E&@v*(l%I@4+? zamL2LD%tHR&}}ip9c5splf`c+TgL9#DgL1KcmFp)^>#p240@@pFWraUs|P2hBggm4 z=Np3aGj_Zn)|BIeINYhRT~l6Uy>)hZHxjdspj?6tVuk&1>-Y}S;=LXAhqpanub+i+@SI;gIb?c((3xr ziN|tRe{}L)PU6o?8on+UchxVGs3W*x$7Ky3&@e*`>bP5_hV$uxFR%UQMT!Sw9P2J5 z;q9`c=_;Sb(l?*u%XnewCFalMWd%q%>SsJ{#F9Rr%==|XVro(q%`TbMd2X8-&L1yi zi$9=&pPvZwem=vGBRh{Xujtm@sr~DYuIcx7PtB^kEF#aH9Y~)9EQT_FT~-((klm0)BXNcLe6C2h*~;TY>V82tXFk)A%-DUrB<-SN0GTK5_z;zE9Jn zFqTG*V$Er@%r+0)P$ADGFhMGsm{mSzFfLi@@99ZUW{e@y^tBE-SG6;?zSDHV&>Pur zi;w#CsVTS0%(X8GJF|aFAUx<7RkVM?s!V#5u<7v;XZn@j%6SgPLXh-#60W1K@cfS+ zN`s%7hEOLrq!BiA9sM_XSr!0#a$Sy~EnZ6B=OU^Ft}`jqD!eH6jxVbytWHtq6qe{O z`yGeaN89@nq`b->^ZCCb%eSy_^|<89^6Gu5h(V@zsDcb~MnU(n8oeo`FJhGkZGFb_ z^+9AOHs;qUDj0q63f0D%0Ff1AVGQ|xH976;I#ZqXE#A%AIsH($@p)|kP+GR7A$b4G zF&%q`w0Yx<;_WqU7BuDlcs+FadO0}Y1$uGx1m3+Sz0IFI&ir~la$qxVe{B)Tyk&i! z8iMtDg+NL{ySXi}5C#`S~B`x+8d2rzG#_S}TywS1y5dKM$uyLoj3jJX7jb!kWVGb_Aa@Cp-l{PStB~P%qC81lLx*1ca zUmsNyuT>s(ftOuCDTZnF*~yu!h_jp~SxxfXS8J-lByC_R{AjtE8?b(ijQ{J1L(6I~ zFlR4TG2^Xv3Af8b(O{NRtihR88@v4ozr7G*l$PP8*OKJ=sB1?B_+=j3bN0t7 zJL6L<5YZq_`qn3J<})hJ45Y%#sSDGrr&y+_gy*N@e33k32W=d2u4Xy zX^mIPBHt2ZuQjb23DAYSi~8Wrp3pyKkSTfOeY<7!^GDy*M$-!S%Gp``LYjJC64KYV z``5>LBD{*vXc=sLU5g%EHR{IP`A7|h zJgpTf^bG7j==9I3d`_jQ#8p_;oBQdq8&*pF)%4Ko!Le1~cj`@f%3%^kOdAj)q=ciP zXAy#ko~-TI190{wqlRUj@N3_gCgG}kB&%WQ`MU8Ebn!MZ)*#F7xS*}2nq#p7ABg7R z;&~RwkX5onY#lY7vs8fqO|Obd@*3$!4en-=!(9dA?h7ptr*Pi=N}2vB>$Z|-ZUnXc zYMRBfFtb{tkTkA(WIJxuWHx@8FO#ljS1=qrcNnmIJ92BLHMLfpTT!9eWSl^dGQTC; zcXidC+99hvaBS&Gl~izJF3d7)70P;B8QvF{WsLq*$tPa7U4pDp;b)UvaI&hh(kj#B z3^D>0@h-{gIO$oBu*Xvm5jRu4O7qHcDtwyY6XVz^K(?^8tWPZvDlWXupjdKVhV`~? z*@}>l#U1gy^DM85KURwG*V5uLSypsC*sQFeY}wgA!q>(}is>ddMH@!1gWqkkJ#$&) zY+|KO*`tW;sbYelmS;qM)LMuxcz_3W<~)BW)9_tqj#p2;ZW|qR>81Ak~7Xu2--iuuIw10+$1@ zunH4@R$Gzw@$0ZUXv8R<>8d2{N-UD$%v4VZ$4i2dR+a91amw+-o z!#@79f}X?9RgWJDhx(B-t=Z9> zdwJN}tQ59=?{XvJbKhk<($9%;ZGmC?k11s2Hw~=xJfx{bj^U!b5$P&hbnIJ)V!sdv^@@%qY78rsLq1&dt`dzRT+Sd?-6ql`mIK6I{R2As;K~Ce8gG ze>y^6Z%wc?^gnhi5BUZ8KIi5D6IK$jq3MOq>G*4dYq6 z^RnV`u4s~0?G)s5S}=6|?wU*i6{DqhRXx5p*x>|zv z&Sqcq_~7vJqj+M=11ZXT%4Gog*W~R_sC(*iuEf>FC0LD-B=yRy*eocwbUVA#xX%xo z%B^}?pjX|~M+s?CG(2XZ0+bQelilPvWeBb2kF&R)1Yl0dFm)9<&TU6p7DNf9{v zmITO#)w#ae)mW$2AOn)ibDHO?84E(Jj>9|a8?w&tnbi3<2g?z}dgijF2QRPZnrCy+ zAr>2x@lFc#k|3fVgTm*M&J}Qn>=raSSoh2C;@hM~{eu@9(pO;HA?@7oVx>x=m_83r z;D6a(GT40L{}P|g`4qXPgi{c})x(!jZzTt)YNF&H>Cw*Z{=7L87f^Kw9dYJ}9jVX?dK-7ratkG8>8%F^VtMS<1h2bf?0|Cwa8+w$5(k)Riv#xkvBt7tmtge<`0E!AQB=V&6F3rp zs_?^!=CuKTRd3KvYvxm5F@9XOFQC&sw>BbIDWqC7{Ad(C9*@=oe z%~nEQMY@!I zbRoSmgNDyd5_OqKM|(GEviSxc`R{3t^vB_=j<0cUKHWzA04=>6J}wQB$5RG?!*SpF zN_YGfUh1_pgl{6#uejczaq`U3Y>kyMA7Ak|7~j)8$<3D;2wZ!pDd`SOC)S&>qWtI(`0^?GKD$4D>w z%@C+8CDsXYuNJkAk`&ueGeN7_r|Q1_@F2IHlpM0Vy53Y#7H&F>_nZq?Xs)vxN*}4o zSm5cr>)alKB-9k?ex@$-nSkc6F{Fov)?$X*Gvb zk1l<#8f39c!%QY34|6BUCv0|>+%(H9z9hvdi~8O@V!|*DmPCy~S(WkJZM=kk%#T&w zYnfH8vrCtq)x--ryc4i*!?J(W;Uu0Mp_I$9Uw%xL0?x~eNL0?LU+YG#=dA;hzPZl= zP&gP$!e~EKnMJDjX)zdoCt6!I$zs{6)EFzNzoALGE?Hs=k#Gb4XylU~5JKvt2@24$ zwlNnBr--!l4mdOXI7xyM+gWDS8sn3%URGQ?HK+MVnLX2ga6|`nxja=I;eUR6r3S;a zn6W&C6p6$Dg%rd1zHpW$`x^<(N8VOx1qB^9JZ1-t`#$pu9YbtLmC$Y2c< zdPHd>zksO%BS}4)hEB6mJIbsuV*kYhL-kJ{g&kQu$gScFC5##)=c7SZHii-eI`Yhu@j=04)CD0GI zbe=_3QCgx!%Nfo!Ajou1GtA8_9vm@3#ZOsnJG){-dWK>ZfnD_>mLh1?@DnRg{hQ7B z+y7wWcm4llqZ{@J;Ju(-h^s&NQe17V14Fg(CF#iOxAP4S7#@hM>_ z^*x;pnH6ZCTj|13t;jAb6p@)e)RV1*pYS+5mK8~fUPft@W(^8!nktH3@(cM?MN{N3 zD#5f90p+AbgDJ>}^_l-=4vDx?UaC79PiQ>K-X23KUxAV7t^b$ev3>IwsmkU7u##q_C~gts#=r@8`J}X0Ik23YpK&L>*;8+bU8gs@ z-F`WDM*0rFx!l(9PN`I12dUtag&C#^sHE~v{dt#x$f`4e?!_dB>~*C4)v@*Q@}b5L z*?88s1DTqRgfQx(fg@!r>Y!%OJ#A?9f8yVTa$e8SDcej@^rCw*Sj{H5?a zox1PaJ;xt#p+$h1T5{xsEP)q3<5mqex$@-b^f?KW5Kd$tvmyJtqa9LkC7FsCnZ8og zXAW0X$ENZxuz7ErXKTOXZ-b0hV3OW|P9Xeblt#Q%P8~s?MKos0etu;dK7d`fwQ9gb zlc5m6vy2TD2bC&L<^-XNAo(tAU>KPKcLoPnB5p~+Y#tWM37*qD=Jye21o=na?& zL+@=m-!Ekl;vqU%0&ygvVVLp3H|Zi6RIWW=zC(ueoo}Z zL-e3|KU8yCvR|UMc02X%@gm~*r@7)H35*KD=b=N5yX?Iip{IQvaow!QH zD|Wzv(pWzMk{x7MIV(dHaa+7@EfGlX#8>ket|%?(WT80D`Y`@#lSYr{fs$7+p=ax zTJT^3pXGu|e7~8U(b$*m3~C|U(!K*exZZd&iHGbnOatE9;x;OH zyp(grPDpiA6AfkvbE=CQ4(|3 z%LtgZZdE3GF+C{F1F2hTs1_pGu_ACk^fQK1YnkvdVbnP^8_TBG&RA-hZ2bBgE!43*6*xZ#zt;o)GF*pnj@W!xp&#KT{88pKd${sV}hyS zKmX~z$6MFuQId`RqINSI15*p~{7wCn8Y=?z|3Q7x*^k&Bo^819)B3T)2=S=0tOwJ6 zCX0zF!2LJ5R$zM*73f$5D}vG^OcV8UO}~Q{h1r&UUp$X#@l;K}Xvayzx|2=)Fux4F6M|a zEc0v3k;9A^?aZfukwfN^_VW9%ifrm+F;7^`OP%5j{A zXIV*3!Pr`s?Gw^|`KhY@QGeax+dR+^b3#_<1&JaJF3$?b@O$aqSMs!Z$TXTCt75=Y zn{rbagzIaNd$bsr{QUEvM6rNXn%OFr{7hI8;^L&*1h2wOL2+4hTl*GQ<%_U<+DyYE zjwBa~m`H=sZ?6CX)Gs!1!(=`R!=c)vPO=1;Uy$RT6wGfl! zM}=-ze9Guk39vog6^6tkN<=UrQx5V9VfW>Bz8z&N1#cdkx@^-kM!i zeA+NHc6#stTK`byhmz>go<^V19p~3YfJQ*_UNl30LGoH`83=Mm2Vf(>mZb@2lLvUs zSoXq&_>)dq2EjImP~i%IyN*rhFd_(X|1d~nm=-eGL^9SAT0XJL8?(?jsBu#SMz#)H zo-FvRmXyYDTqS@y3abMs#^M61{fTZX#Dulp=mV)U&xr1L4ZN!y^q*-GW;lRr209FK z3l@yl{s+xNtP)-)^x_X1tHUka#2}~U;@EOOa!GU9SG*Rx^Ewa6b-0*waq`~>wyFBk=2_zYiR-oy!M$t2_U64;Q_xd~f%GD19v%oao5-fe)*b}23Vq|2I|(%1%sywaFE zhjI_~!e#AtFTpaPJ9ST=gf~@K1c8%xQU*@m2?G3ZfNcxRe<#l_TkjvqtLd=q{64Xm z!1fP?NPWnA$3$CWgtQag(AGw(v^k|7bO>IhM3_+O4Dhg<@uTcwWRebQvi-^@KED2V zQ2>zIC&-%jeeU^&J(ffYg~d%s?}G381H(pohvkIqYi7Qo%z5A717L93I<22yO`=wD z>OPYf4vFN^uO;)STJo4#&gy=X1OGXU=%7|(I$L>mOLz+LE8~Zo`)6N}-~|ZvT#)wr zyMtBVCeg37Y;+|;iZ?Z}zz=izy#(iB(TppO#n!7?4js5nlg&N1?cGR=$d_Sf7#ozG z#ZeexXSs_5=}(lC-ze7b4WI0|XZf=kK0(GHyTv{>+6!Ej--|1DI3lulp|W)i7;!o9 zVOWc$W_Rc0NHfg!i9Z&p#UR-vPzY4nY9^LBdiOr-dVR_6 zz>RS983qovv899r_vdt;mzowd^0cG*le${e3f}&Lk6<~^_YJyT;BO?_WBTxiR0#X< z2iG46{m)9jF>lb%7YkV|bO3P=jT=V_nGdCT*ykvBI-05me=)zISr z4u{NH`x&`l0i}I#@`4`_-ys_Tq4ER2XP>vkk5@abX0dhQ5@0p;JTr+PEaE84t72Yp zLabt59p_<$J#4Xc#o^uC8coR^Gjnv^rYDziil`?-k>LF%yZM_6cU}d63{C>{_*Ci? zE^-QSE+yR+7Cv^vRJE7ZuyEIrvhmZiV%E9klCEuC(u@7xAIH2z>}k2-sP?%qo5*8ZQRn#%V2 zt%Ao{**yHbEFvTNkNi2nm+BuEadch2_@3MO&RB$HDL2sDtoC;}&%-Ly)&_`O%i4ZH z2*D(LpPXYhm@KbCVR{#=(CEO|O9TIvXYX8QR_7Z`e}8N^Ro@PncuDflh)rjFte1#(_#c^Um0tbUQ= zhcbnNxj3F(?MhCM#M;I{sW1}MibKTAdDHUjc?oLaPv~mf#~$I;Nt})@VvqaqLO2iT zMc1n%SWEah9NC@gfYHPS!h>S*?9ve7Yod~BJf%{!xka_#oUV_`u9OoBoRk~ZnG^2S ztD#3b*05cd63ezX63Zo;fW)l#jZWBUEFK%rImLmby#-l<4s?XjYUeWxPx7gk zUOUff=bVk3p;^#3H&6`sxdiD*z#;{aQR45{0{!tm<*qy%9f71}G37YV47aCc*%Pv` zBA+nS&X2u%s-v*jTzj7W2!2MVxmo3R1`7`Sx8T6+Qdp6{1^4_BeEvsp72&a~8~cOC zv2CX}tcV(^CgXh)>44@AvfIWJulY(OY39QuSVit`zF$jV4e0>8{Eoxuq6Tx|w zW4_Nl5cTcwM*@}%7J-RoV#)}u+{}dj3plDD37C>FUAp-ZRs=;A2Im>S+Wn>7TmQWC zK}-==B$CHsNwu(^T@+Ttw__ubzM6LuJgSNeJmgn0WX%D)t}WfPJi5+b?E~ya`M9lp zA0RH-ToBth@&fxAnnMCsY4uDM29koM$%9j3+P-eo!+P!$dW8aa+~Uk|{|o0@?Ofvf zY|zE5>*DiJVPN*)Ka2T)&5c|BgUO&a-RL$dIKMdn*N#naMLA$a0G{`k;H@wWY7cpM zr`wwTAsrVvsl5gqgp5m%VSqLt|8-CZ}LO^p?EBjlOU0fdaZ=c%g18o7q_)`_f+!bhRiacqGO5EYPn zUyr7z<<+4|l)BUr#a2h|jwOUIJAImgh<1USFg@&(!_?>sWbF}Tt4_bW%~?6f@Ymtq zHLoeNnFFpU$kxUExr}07MK6jHmyp?_%jIDC3_jGgK@9Z_sbdkHVG-d8_e5{<^<1#@ zIxf@^jqSrg^jzRhsycw*`1hlTJFI$mU&BZ97LFTqJL;J;bYE--#KZET3d_ZBdSq|5 zoIh~D3?W9lV?+yf3N|dt-`Z&?(DE77i~V`mFBR=b&bN;9KLH#S{{S3?{{`T1=N`BN zGXz2yI_V~fUfl2ysK`)oXtxN8gt8RK3MUNSY`M5SL?Z%xO6~C9X&F`X-x=t`M{*$Y zL5J?S5bkl@TCezr0^OkLeqv`R|4k2Mo1suFO94DygdWG8lW9`E^+XPD$RWq1Qi!35 z%6Mc4qE(vIzv&OS{y|@CYWZOk7Hochs|5gxfCTLiaQ)A4dg!5@`p3`O3?C~u#Xc8#oqsQ! zP*NuFb56@;hIeO6b`$k*;Ru9fZbDakLNm)nu3ZN`+D=My1$p zg7t==5X5r+9Eu4=U3EGft4<|z2zwNe%4MNQ4Kj#r%HP(dg4bs-0yoEN&xmgYzA ziWV`y4;gJ{288#JapFThvrHMmD-wJ+ zsJ-Z%vcOFYuX2;pv-?jfHZT=_W>DpSxGp8 z5?5O9+r_wQIm|SYj~|m${q^V=$6Vbe-wBu$8Z;P_d)JhGq}C{6XT0j@Mp;ZyYQnKR z&`K5kjmdaS$5=mjYCB#v%t81ATppQf{=NO8;IX~5JEJ*(k%>9DkN~vgV^3jkRSp|* zTUWICVZsO7y0JEO6Z6Z8ibb-Fq0vp>-tZ*ydJaehim6eUO^W}lD3pkU&uwt(3tS~Q zvrV7GDk=mkY)_+CAql)}?p#CrE2H zGRc`YQS3vA{=ouBS#nZuPjje^CO8;2PFoTqY%oXS=D;?6fb0=xT#e_ohld0CdoSrU zVdI!R_BX^bLj2+>r(kzhn%Ey`u|Ir1>I5RfU?I?;%f&X8Sb9SiQ~KMB_M|`M8_@yF zUByG1JN&Q_kLL{v!(uVnMFlNWPR z-A)|V5BHrA547pJb*55oL9q$}LpLDw7^t;;cF1$eDzXa5zvl zwrGpRiENs~3#d3wylS1{K{-%ju=+WHIB~99dUHoQA*pBZP4|`ah&Z3zvWs(}e2)3W zLJUMhaGS91P#6{``_pTWi^g$j|D^&M?Qaz!-B-j4<;ogW)~=O-2a5bCda2FdP;p*e z7e8E(i$619zh4Y~H=6cyc0p*5oV6@HR?_?o9U(SR-hP`AbBDAC1ZOLrlD@qMB{fA` z)kPk9p1(gk;ynw)F|kLRwd}2WcvbQxij*ekQ1izdLO|;se!AufZaX z0(gxoRiIRd#}S3S=}nGEkFHXJMPG7)YmG*KpZ{PcjN5spKo;_ttxZ|L2L5l{qK{&K zUOhif92zac-PVPTaB2~`LK_UE@(&=KKR~+w00Hn^{0YXapJ^Bq=&gw`~ksK1)?&!3I#b$>Lo(pIE>;) z^1mGzq0vqzzBJ-HbAFqa0cT=Bw^->Zyu*uxr6LUb)2&!h9Fz|!6*;Upk}CylW2X2C zI4)*w2JGN%oPZp5!wrvvm?csg3FQORc0h`2Hbv<{Knibx!^6S_=^NUA@7p)>44mQT zhJbLchJzsZ?|u84RxV$pEG*1TUH;y}@2j7ZFI{)?^nlZNG@zK33_(6J<~xZAHE1xl zbCG&`FI-+etDjaCfAoo=8N7>MG}|9@I7VhT_yqW!Ui5uzE2r}iYS{g&->Zjb=aX;i zS|!i%-Nw5&p8I|KR^Z}?s`=~d9@y&Ca%Gy+P;O{?y)S`rE_V+vDr8 zJLn~QYHUsa^6BOjR9%gBc9wk$-rB$3u_E+=*$@}h)losxl)kn<^9n#qPjOFI%+^2~ zb2sE&8FHUA;^TYnS~%G^Ze5`s+>f|9i&%RpZB0Qjv|)`1y?S$n3zEIOv-Y*xxsB$j z9&>fNoUwSSTcq`~7oqK11bTYE@K{~B)*AZi302?v71=$cSOER}-kS9N+^u(3#(WF9 z9#~of&VYWN!iMdoZMPoz#c%v?CS%SCL)pRUq0K3KUVbed?kjuFPJQV&r&c#!C%jAZ z@d=6t(hQ`0S2c!)p;^m0p(_ImyM9$Dm#eQk7av)th6Jna9r-r#;~K)pSUv2?0are> z+ULGW$7!|)K#k*-E&wl}dSPC}y7Hyv)yaxc8%}arAWHdm+Rd8xYRl>(O)e)T^bGji zzHW<0nw=o{$?KU#YWKzOZDCEn?t_p$N$+0qz{(Xcg@m7I<+VwEcvDH}-yLnW-i=V)ZnfZ1<1vZ6G` z$rm9>uKtymp;u>6(D&^8SblI#3yQ3jAOw^jGZUj>%aNkKzSXa7wdRk?2{GgSs`BNn zXyl=8*k>ce0}N4H4^diMO3p?r&Q5+W$wX8ZR2^`;O%J71skduU&B|UAjXtyFMc8>- zLdm%Yx&@JTX0LUJfQJq@!9)1qARku@P%Qtp1wHaBrsUSn# zm4Snk?VDdLd$7DkM`;h|w~kZpGZKO6uQeO?D!00(V~z;6QmoaA5o^|(fG86_puG0_ z+D3EvkdAkL{7dCvFY8o9=-$jec&lK?{~_!xpyJrJZeiSl2X}XO3liKKcY?cnu;A|Q z?(XjH?gV!ycz^(TP0qRZ-E;r%egEh|^YtO18sFweg5>)BO<%k#>Bc)dpnvo>`RGw75I2aiMi6&6^?XH0TUXx{rsu>NZW& zoYUzS#m%OdD#mo2M~p6y1Y$PdbtCL5=?z=Cv$X<#m>?mA3Xg#sFD|P0B%IdK>4lkm z!(fuAm;Zo8rd|tKF-pJjTl1~!dnRo2W6KYgj^+o9jW|RU1D4;vnpT(NjeOKR-JSmjH?3026XaK18gaz$;VxKKno;T zsE^*KA7=-nM?cc;!}ir!X%h&dk}_}y^>^S7q6^@T7~qZ?u@*?Xe?#Cc!8C)srr~yz z@4h$s*U|5dTqmtT@rp{`Q5xRi|DgP5ga1VNpIKnBH$&Q` z0D`gqgX`avzJs08qu2tQ!2+9E{@tv{*5<=DlW5~R&ITA4{MV6J%{5{TkPBKQ zo4{tMz-I5#5G@_bC7%%=Zf~M~1s)I|Xi>aWOU8GAczG^((+kiykKcn2pV6bKPEXV5 zCG8^I>D50u4F8n$(elG%_9%~@E}z^fED^AUkFea*`+f9s8GLY%Io9{{V+5|Gfa|!| zrVE$L^CeHK=kFuSxl_vr_R8Ts&JV?3$B{7K9$lYcE*v~gUe`0b(D^dkH-DWlR6#ej z8--<65y0=Z3OMhbArM3?Y^@&X06sApZB5?eHkH3dhZ|MAwK8<>+}}ihI~hG%d>((= zU%h)VubtF(zz?|%RBFBC%9!#*NqxCDZuNZSZteaWXedy*H2&pb`@VlPdR#8udhXli zzR%SB*MwyDOS}6+>ufKPr}-b#$-J%WpD#(r)|V@{lE1CBJ<1I>SDuW{*=jig$FFN? z1XJE?X;Frk(QcR5gmbUkFLYG`Va3o8gx`73(SQ8F43^z>=i0!U=f*yYFyhb7L<1P{ zXJs0BoGl2$>A95ko|{3`lR_N6Jez`y$Yn!2`gyJp$9P;DVFefyG5R*>BARDo%-OIP ze2I*4`2}HKY#USLTdam4Cr8TniP%*~(%h8j>^s7$$|Vx(HeXrLtpsU?__yGCQ~nIc z8YezZ{;+wxb6321u*GVqvTBqPuPt957Q&KsOUrU10yTfv3Y3ApF8`Gu$RV9V&($!y z-{vCKV1Bnr-HJdCz+@?ty5^zu#&?mrTJifW1_lZ3h=`eC&3ty#L^voFqmuiDco6y| zzto0hDf%i5Ry8Qhf{5;$suWc^Ui=UYuQc%_9~W5$*CA|wr7AGXFWakp%@&L%dtY1B z-tWA43vk)J5a2(`Nq>3WZ>mFw-=i|2c*9YJt*SoM5*d5IR~Pe1Uw)qI`b8>@S1 z5YXYklPP0(X<7Zj$%sd9gJk=#z?K@Na@{32?7H3RBN`q`F#}HGMmU*$DYU@!?dzL5^F#bDXf5Tb}i-rf2u&s!7_;IRph$oC)*B z$Yl!YDCF#mJ}2FI(?nsJg9pBYZ6$lA<&=$)GmH{4E8vp}p2Gy!ry-eNC_+L3E%z|? zqbR#z#EUQrPUBJ4O3cvru2TL2E@mxD*tjNJw@Pa{y8gp_^X>BW{XgdMZi~N;y-9Tz zwC^QlbtO1rO&NCIPAz|R^PuzEMs&sQgGD=AsCCog%XW>tw$Vl$>bI}^wCSY%ECSeA zay@D3An|gDZN{YAJkLnZ<|_PfI5OL$rvs|PUwf=Nw#!$UDz#J*j}M9Bf#0dQ``r~XRF*SVh%e9#xN2u?iFRf zB%4A*8Gqn9u=*8eD1q|>`o*X!Y_U{3Y9rzU-4h$)ZFeKu#Zw~6qBPy->+zf#p~V}P z)Gj!VXm0}4Io5XSPaYF$(_6x;+)g%~{8)Xr-;KK%P3!f!V4s}pa{Jw*GflpYeKK{H zo1>Rc&fU9Qxj|I+1&rdJE>mK-iD%yX;Qh$u1kVn~b$<5BBhF>tLUPWOMXJHskrC*V z(!uKHZy2H7tDxL>rSGVO3=_hyYCoyb&ci*8KfdWy+XHyKY(P+@m(l<@r&WOXkw3BR^FvvJ$K*?;#vVePVU z8Eq1nvQkP^LkwQEbG$Fyvl?l;Q5?p1?MMdH3G29(o<+J6j!U~Ld1hk2C#y#Kq7C+~`biDO!A+S(=vzww7l?hPc%1t>!nP~{{DY=L#qIF<%^vmJ zeabKLFya2j4>9?1<}?Dx>({%zI|2{EENwmB7m+s#IsKmY@|Mq?yc-$g@_pwgw;rto zPads0_h9kd>IC7A&F|x=|0|B;@gOSWHUwDsryc+z= zr`?#Rw8*63c}bGu^y|7GB~X~|buQY*%C$(H*yMq77<4Z)7!a`>dr8JQT})zg4Cy1)iU& zIDNaEyMJO>waWf@s=Jwc+iSL+=w$X5f7;yVB>{Jpw%J8*BC@jay_M!kUfGMG+B9RX z4S?<@!D5^ZBR*tpYc$rT&Yn0faCGFZG~qRYQ9yGcA;!X};N6i)m)3m3P`v7O;Ldpx zcYXD}_$0Q$?2BY_Q8AL}#h3?MIz?^SmKd0j#q*0}aM1odHB|b=o`aSv=4lL|c4!jY zXg$MoH=R_7pF&I7GGO_j%=|E;NTD)ukq7(x0g}kYOVQjE^*1B^^R6GpUK4Aj-X+Z* zG{YJXS*Aq`HP2w%A0D04FnnHyhF<-~pSESevL>Qbn|ko@uDz|hpnxOI;6>f!DSV9N zl>Wfb)$bpi=``ZwUxQkTpt^Exc<}m zs;6TSlV#X#ksz$Cggc-<=giS$xO8V~o z<~V7@9vYX6>upB2^UN7l$ets}E9jTT;O>5~6uy~HpmYQBTP?HEu;5s4P3xCGB;~cC z8cDp@sg?=py$G_|_(_7dJSN5lO$I*d_&p|7+soQ8FQ;yEH+ zexjYFPj3@5%yQ9k1&>odR~TGH+sNYfx;h^`#HFmc*T*0arP#v)+{?)Y$8XED9&7pC zmk38%Ompo_KeRaPY_~V%g;jAI(b~bsOUT!8^=ho)`#Mk9tD}IwX{W29k)(DM-Pc*` zgaxynJ}2W3|Fei>M~`zoy;i_^o!f)c&f|Pj#-9jFcKlg%qjSfK@DgDi*I~pWKgr;$ z9(H4Z2RM9Fq)-dz>*1moS|BM!wTq+p&ZasKkXt0>_NEbQw98y4_TZ)ypWzRv_7+YIByeAky$>y% zt8faLPPQb=*+^1(oXfI#-j}j`StJKwDlhxn~;7&T_SKBH7ZEg^43IX_H}|n ztql>ar|aCFaz%91q|}rHdtwvV6N;CUa^)LcW5wJVYCjF@%$Fi0A8neGd$Xfk`RY4* zTeED7*-#~aF0!{J672SS4=TL1xIW&vwYy0-WqNP~Z?F5cB;SI4uQO*#Y@W{IMTkys zj$S^wEUzSYUl!V+&0T6lwh1D(5i_J7^8F^eLh0fP0;2^&eBpj=Q~{{Ymr+B|rSs6( z8!Z^5%pxu=Go~b9(eJ0UoTH@OrqAyDsH5>wC)G2_44*p(cZx-}^SF<vkI4zK z;i3=}iymBfQL9|0C-Z)Zs?Ijq!}3-SINn7=xmr4QGz^y$5N5F*2Ye!X2x?v`Xjbjf z;>V`$Xr$<1e=1n!QPkwjU`uzO4Qw_kY!2eqJH|6x(*kGGgbFHaR!x=TJF8S6`xxAu z)LC(@ytO+&9V4<^r-bA-wo}P|Qi*<*G+ha2TM26`%OBhv1;2rC1X8Tyv{R{ZQmK!K z#RL8QVF@H6$v5}3Ql&_I+T9YZb#|xHn9-8YvGwtem5j0Nd_nlTv#X`7yCrb#l+s|I zmSvw-yqshe>5gkZ^<*jL7gtMFcgqy;pef&`PIi!dW4#i0%f!{q`b`|svaha|tK&Fw z0}R(Bb=c;c#>E76BmG*IckPXQn>VSpK#Dt+qo(T1u>zet@D~f=3?1yWo$M2!!bgH@ zn>aqREKJIsjbr=w8n%%nj-NUj&y6FG5;3#Af{ZGYGuA~^QUaL+U~L+LfZ!&BQ{{8(EwOiXs+s=mxH{utlGEzI+l zG=EKq!>D{TGyh_XlNKy(o+aHH$$9q5VD0gKSS*P$C8a5oTo?K%1XI*rRG&8C$NL zB)9-Dfxs+$cEmYgQuXPW>;Vz95g2g}hM|!TGZBVBBNs&>8PN%f%L__CGk!X0gNI=t zpbAUVdPF9v`SP)*xa^C0NKZzcizeidOBn-+$jmO9*rLvaUH}X-2?&0TJ^hJt2uRNi zJUsI~TbMAX5vJ29;RPV%KSLse{ww6!iYYLp^ZB2UJP$z&wWfcE%z#2B5e(@;l457o6J}qsb8V%>=Cql#QyHto83fsUKFD8@Y z)~X572PIOUaE&b(0zwSN%LaOho$oPN_N9Kz5(Or8rq#+E9qVbCBLIenC6L<^MV&Q} z*5=~D@6wN$;HMpI5o!;)8T4)?=Y|b zxx)bXB#*;4_V*7rzYowuOf~|W7OL()x zl?A>kItC%Ociwhret7+Say?*pt8JLDO&?E`{DaN|m8aLOJBp6?_x`AqzavWVFO?8tr zU9*T>+j$}wF|{Kq=`C&NBB<)@{0NQ$sr0&|IRin}Msj0k$&E18ggV}&I^8b`W}dO;`l;q# zxy(Ub=rlM-(&qhVwtfGO(zZ-Ev_qDbK04?@O@~o(kj!v(~@9#$oK-1MvpVlCx1G8CmG*SSK0ThGv>S z$M$(T%ecM*T}w&tOijOfUiQU>x507B|;vtRo-_s_Xi?I&KE{2=MQ1 zG4j8m<)kW=)g8@H{)UL|&vL+{d_IZ}n$+`9Z zjj!`1Hk0pnclJMUKlRrkP|K-Vd{vxs*%s>aC%Y$Vz4j31*N~yrctQ?UWpQN zMCAEvZ^@I|C&9n{KrMq*LK-szV;%h?rsR?Ys9Ge07e0tGzJa^IRNSU_@h{$tg5NYt zXXmL4AGC|Q&1IXI-ddN&7kYC*vCJBDb{tV$W|-e(yxe%0O?#L|nFg8j@?k6DB~L6oxE`r-_tm>FYt7sV#R>Nr3iVsZ}xo*HBZ zg@#3*X5XbLra^>}r}4lNVuCzLly>hJh-v8ascZmtc0woRGn>De$Ri-;T$sh955`AYzE4(u#EZ3ltLT0YAu^5l6S^*b#W25)>HWlA!z~ut5h~lo{2l5xN3F5TSU9>!G?7ze~ z{6EE*sj>YsZ!D)yP1O-nq+tD}smXh)PEf~vg;}PV-IGmgnF-!Gsi}qio%`9xkcGMt z@k^CVGA+Z#nrr>$k2&sI5A{kf+4j5F*YRC}^b4eVBYR0(^Hiqat2T`zSrLHYxm&rD zzzJRc^M};_-c$RAtKOKw3y zcrZyqO`>wQ=j!cdd_roE^W{bN-*20dlV3#|KgED$AJ9O0?>8nmZwuLdz)Taf`{2wa z_svczM9IB(*NTt~ldKsf$M=wi1@F?U$%;(K88krb*ycFM9*r4XrwLUjGP(fZR{o*& zkeX2xT}^(oFR(~q^D}zodfhIvyw22vkeiSjE+`IFHOc(WrRlgBY67O9S-_2$eIN4b z>cEZoMQ#TUp=9QbYO?;gl1>7+<9Dn_3f_=Ed=Dm><=Tua)6#h((V3C(RGQdu{O%JQHG^x9@P2lPfYQ}nb1pa%z5 zgbA1l?<#I+Sn&T+;RYIDqGJ`(FRA?UcJm_dqWHHCrJN(6jyK1D>3ADmuVW$kUr0FT zX=Hd0-apGHDe8RtW5vgmcPkzg{{`_-0<_}e|6;|E{(j)#KGacgUHpxOCz;#W`1LBz z;Ic)RK78{hFA$f?m{+=Vii>a9iIJ> zS?{&8rhO4I1qo)D!qpRM6~v2=Zj|=Fc0uA4$I+ay-X>BJjSppDSdmR6>RiI=@q``x z#^Njr@B#(omsWEXl@$)ZbBS#pvj((HrW{ z4Bk;IeAWL(9mGj2IQ@fK8x-3+m&SLOiD9XU1r@@MhioBPu~VYDEw4)JqYhphRG{d` zwai?A=ug)wmI@uho&iITZaIKDrX@t%&af1MfIWZ{!mjDF7_GpmRiQu)?N_S9bBt_> zMdQnkuG~hy#3t}>t_r5ZxfS)`wNM5Kl97b=RfZCf#2OBfV4^@VD4H}&A&H-B{Zw7P zRG{Fpyenz|DJRUgX;RNu9D!5nbebVvV(RLyEqYKZ9!$ds0yRK@4$wrk|}e5v)qf5$BN5_=wiPEfo;)I5QN9#7k{?a?h!CGBQxHTH_DD;W22aC` z+{z>rV&RpUJ+Ni*t6lLTq#X!(7Q=ItzrdqADkgR*!;d9cDAZDlqQla`DT-=@=Y&0% zOZw25TnUSzqaR|G_oV^e37pH+Gb2CAp;On@`qP*&=2LTFzGrIP=PHbTijdmM6OxGqO3YMBN)m(r zL@j{*Cn^zQ5INyO4Mhrq^4}I{*8nYu{ebaq!DM?_{1egLO89n(J4%APn!;elLVFku zl<}sDaxLZ0s=PMQ*{|s2fB5b}z9Vn6hut{BE6+-lap4B$hr9+sTl%dEqO_g7(6Pns06rb)3MSkL33EVAMQ_vE$!LT7yQ0+<03)jb(!I4;B z*Dbhe3B*K3;~cWAdfTP;DgJgff%N;@0aOiNdc;{3VO$FA^5c1SBAWIr2q+OQp@6g^ z4ec?@OX>;U*n|_Z1<^tRXTcqBsrc93j^cM)$KPh>)NM3F=IzJawql?VWCk0ZgV5Rfd)DC-8z_I%m^*b zOq()}!n@KSIG|E8WuQ`kJU@7h9ZxL%rUa}hnw-?8rolZX8J+}JaxUjOb8rB70gw{6 z>l|G)F|SDPJ~)O1*TcdYQKDVTXiG;x|MXATt}{z7G!N1pJ7slyD%uLcKHmVP(>*z; zu4GBbL@nhGFhk^II}y#~SUZvL$uV{!X~}VR0|+ouTp3VAJ5G6F;jySu9|xIvu?9{V z-<@I*wrw#4(wFcJn0LGq$!CgM$zq8|QYYG3Q4$YV?%Sc*yFo=1*iwTw`H;VY3mcq& zlPaw71dobHmT_Z5{XUVq8a`IigGJ`B1Jl5e_(449TdFn}*yQ*@9|{Li+K1q25V8z_ zvKp&GUufS-bn*HtB+#rW<70%c6T~|p)G>DMh*@?Rz#0$J&~!0&=cTri=^uiVBgUn< zUOcmjFafuJg(WE!)`&&>6P71+uk=SE9gUYSvqXX-y4ja9hcdxmEP;xUY02f`G**HQ z@HE+=5?q-j?iP6gAH{3cPz#OzzdrN2_L-h#4%59h{!Um`R9Ty~JGTPvX z94`uw3$4_)D0TjVieqD*`{tN?l8?gEs1Z@pTgX|u!j^S__CuofPD=;K#1&}!{+zs4|*L;g}4#(N{nA# z!ncdGZ5krbAX9bdKigyYYYR~zx@<0l$rQ!AC!^7Hisa4b(I0_J^ab=9dY(D#5g6rd zedXGU&oKFiQR_yC05FiiUxD~SlcuhrjkG@l+XnLv5VqlXU*%IxsD0sLTzHxz4iWIl zCVta{Xib9>VlprdB$ogQe+1t}N~w35)OhDs16mv+K=h`^BZlG)QaD5S`9r_m5QFxB zLp$*QDim)fL$A_dLO$O|VGb^z_aon1&lEliV+F^X^=X%U8u}dh2>yt@i$ot^4txwE z73S^s!dE6m+Lr;O@3@r3{U;vBHrl%vGQ(86NI7WViSY({negm@p8bauQs2jZn7$6G!0<82YCcPv1xX=zlAjeG~>xdP(MROdz`^^uy`dwqVHvk#La!LDUYEe$u80|i;8R^FU{oa8ZO}cNj(+EW- zi7n)DQ#`tjsqpL<6h(1&?p7tOv5-AxL@WWM6i|4U`1N7T(*(b+8eFyKVlXG0;LD8_jD}Jy**kO8bP{P){))vwSrpzyFe%A}`O5mXMZhFw)hXIHTij6WUu?ZG42E(v>Y#oToDUi>;C69VGW zVS4?5qXs0nRT>;Nc{R&d*(nVlP`v6p54@x}irx6J5crzr&y9jV0$4LlxF)}?gnk>o z#%neb^_gF1EOt9>?K->m2L(8O%{&Cc6u-k1{{`~}Q2eAgj{km~R>q+@GDJSL<7VsX zP5=-Z8{kOjV!(J4jM&~+JN`X%hwbZ%Il(Wb;mq6r8SE3FnEPzD&pc?}DsX;6NgnfW zI;)`@EBH|>KRn$kGO+-T!I_5&=d#1BUQ9jamsRuYP#D{6U(Jbj*w$EM!T^qvxwp8* zsW~Iu?@|!F=O+{(5&sR8*=x2NEv*W{HTmk0wy`si4)vl36#1pN6@dcUJEyrxCHDY{!56nO@?JZgM?xFZf@K_faZkpcO+%lnLw$s| zOKU%4YxafYn*4$z!8Q2+Ur;jdsSYjBi7!L`fqKo9U)Sktm(+&gRM8g4lp({_(Y%hm zQp||5ZYm_;I&LAbL8BNzwLfVfv+j9oT^P^?tkVm-h+ADzAg&m7@6t-b>7Z!{ zm*Yp%uetJiM>zjuihy?s4i7-QFvBSJP~+2w#^+b)2{k9do~KfG5MX5OI-WmBsUg%j zW)085nOPQ1C+$j&Sg9{;3bm!SwKENkouA5TE^~no*TLL?-!r)oIhgj@{N?+@jsQUC z;Fkyz8G{FmCso?po+lApp;xC2HRI2h0|)yX2BzPYp4Km_Xri&FV+Nx30d+lC%5i;x zpOhrw?z1TTBVOI8&SG;iQgSmA7O?1)08~;4pSh{E%`zMmsaRu35p-^-p+aWC@dZAF0d8(*VBCvPxD@c}18-j16J}rn z*ugGEM+s1&BXekRd^x{@cUQPpQ}7^0ZokZEvibGJU_3nC?qIO{aWFwg3L-jGS}|IK zh%}2aWluxvGpCDl_ty!L!tCl{)fM6`k?vf;v2IpTm6mH1WymKi2RJCU%y1nP$ZL{{ zRzxcKbHX0MKL5`y2#=V!-jNFpgSgsHsm$2xqRE0lam2MOSv8%_h|uR zOj0f3qv`qd&^ZitJq%t#{J6PNV*KBnI9S~qe7LD79bzmg^Tj`a%x2B@BlU-5vPKTp zSjhuS^6k)SAsLoPg}9l8xv8nEG=Y>B)C2#bBqD-`tOgKq!p1%jDfk8p+_+IuzA6HC zsUAo;)JD5QfoF+2_l{1&d2W+Dpe-*0;%$Vm2KG}uD$ze#U?j!^ojDNsw=)i?(7Bj3 zj=6PMNeE+-coU|qO%8qTWK@*a)RY31F28VE_w7R4MB-#K;6ejbNqomGBukYHS40xq zd7R*{1&d;N9aqyov3^_jw8{Fa;TnW@&?T9t<_U7qWpW~ayA<0b#I$Ws<0eX>*zC7i zLZ%Wpt?&eR1U@2Z&1_L7r*-yX_j-)}>8t$)t*D=y5ePpoOzLoMY2?Mujd^wZ33>8pBj!7wW9IoWEyH)Tn(tsc?B7v1;*L;{l*TE~`Gr52>s`m?nNO$rn1@oro0tV@eW;>LGoXQtir$ZNdzMNF{CI79LPs-oCZFR}dElOE0vR zd|*iHj)@7cqe#14pQ3~(xo~*xNS>IT1z}Cf<$WP!#0TDMt-@qN7U&fDQnT;Bm}$=G zTxQWksA$M#Qh5vZV8D;FTiVH;0NQx43x0E%!ist+ZipzXftSvROcel53KJwVdvHHs z`f)x4a!OIo)MRo)#Xs>Gn9f3dWo!9ZX&n9jO<_J(gqPaHuDMB~KQkotjH^Aw?EI*p z;T7Xu3C6K#tI0hiKn&4`Kv5~vwwg>)v3xz$h*m;8y15uYLy{=q)AHBVi1gIT@@cxd zNFWYLzbi*pZ8w4OBs#8o!H_tKUaYfuTpe8;i7cwR(az_Zk**qvlLWM;`jMIFb)Q!Q z+OytX5`+^GOO5@NY#s(VU0>0rIkh&8eLnbp?BCk8zM{Zs5HJjlyc;w*HG03*F6)cYNl{@BbMyW%nG7ot(^VO#iI2YE<2D z_|ApawNPO z-Cd3Y!*Yxn2rfAYi3a>|jDE8qBGj}r9JjN}#a1u+Y)nZZVNBF|{5(F`-`d_T_W0TL z=q*w~-H|B{4m?{LRSV-oshfL3TVvoL{47hkYadHFKLYL?D~AgA!_+n9#V+(wA%$4Z z*GHaemPjtNBe>}s*&M7hC25u|H9!B{qrc;}*NQKsvqbFUK%vCJIwT5QRW$D4eADeD zZn+1z{6MeWn>f4Z-;Qwjsi;wpO8e3<&Qa#Di;&RZ};M#zr2Ep)lOS$A9$!g zlkq%(z)Km6;hqyn@obj?$vEF08Iy(ve<(a*;u;z8OhHa~K94VS1c{Zdz?;DZ5*~ZD zj`{%x7czp|9Z?zzBJ*NCk^(RFfILzb(o&K2mq^&U)WOD7UQXaR{cJ%)j-#m5T~kb- z#b}2P`R^nbU%JJWfu+6}d_Id6g%yFhxg{J;afHN;QjVC{YeB@iCUJ?)C|Dkh0K;0_ zlI}S47BCCh>F(%UIn=cW08yw?r8%Tr)oAM{rjeSV3@?9Ng^lGQ#k&>w9!8@p9WWy8 z{b`BtVt+sQkh9dMY(I9)B<3r(-2%OYl%8$65v&BcmWw=x!Ja*SFWHfjN4eFXMO&A_8+hS zSmSoupO71F!f+Y`oE=SQ^Ef-V0K(Y`yB00p_bMcEg1<|RD>a>}LoH7BRQk9s=}K#m z5C2{hH|~I|e)$_Ex=r8-CHgnSFb5tjFGHXQR&a$!Js**>7v0Tid^|SDl+?2zxu-G#bfV=02AXdm}rKugm_FwJy{h-GJh_ zFxfSkv1xP0H&50L+Va$!TG_(Vg!RisF0G6 zaLq!OT&q2bvpV)T5F0+v-Db;Mp#NN6d8~P$1OhBU)dc)|FA4pp1l3n#1Ev4C;3H>x zE&7?@L1sL<`u5|L_KYH!KgY3P;kPFUH6hvIkux^}7eh@x|76wRz-qsvAU+{3-Sozp zWZ0I>eP3_S0;Rf}bG~3i_#=43aEJi9sn#o#YWR z@TZbTu_JQu@K@CFW^qvrPAP2y1Tr@OdG;hFI_BtAFI7|obCK80R9sO~eXL{kptwtJ zmqOww^pj(=(M{`l^vBRg3SbHy!^gJMFvi}gH*bVS33n1)L3{-D)(wjG9dt`0#|hXP zodAr^V|F(4fH@9*Ixl&%$nmx7K-(uDarn%Zo{!G<2nf)H#2A)uM{CwMkpFb-7k7@M zA+UzSpGo-BI8_`f`hJqT#5pg|0 zKH}A2ti@gkw$A;U;MPk8?)^H>{?6c4bP+S`msYkHm&xD+&hJ&=!IpVs7gu@8q#Hf)- zVD0d9ZY7ejMER97M=p+8yN9ePkLc5h3MQ~dDV4@q#b;(;bIJMWmI0u2l3+(abdOxIkV^ zl-jEKEfm*&@eSlY@z=5$DuP$aX348)HnQma2!H$95%Z+u%i{{lcPnhNuW|)eynX-u z9LCwb6QR1QRGX8prT?rbOwApZHQUh5nHe`lRMlSdW|WKGE%(+AtYl6%vFTW3L``2MlvbQYUs=|Z6s$9%|^Q6z8kzbGXHLD>DHa-&gQp~ zfe(F|zM(*s46PW$Wpd+<*)YFJ5@^!dR@SrI?@hYpPf{ALsM)oJ1Y?}6{c-RubjtZ9 zxr^eg*j=_ttnAzMf0a;95F%+A0#7SDnSK!1hU%e+2l9w@pY5N#D9J`7(p zdicK$F5zs0JtLAWh+i~P?^-Tbe`$fMhQV}$k!YE&?rA!JL(!&AY@rV(?iK;xA8$o5 zCP2H1jg&_8hmKn!EwpG|r*lL8g>jV|{C#O-7G@0w9<9*%0u03QjUbk=YukbjuMu{w zu|G3jf;J6FjmsnPN$GK-xI-FiCAh$P^cCNoNiet%48nn!^1CYcOT84cxFl&Tnh0H< z%*=hiKqi9_vXuJb$%-r1t;+NL{dl^$d0848wWWSrA@q{D_pd}2|OT>a*W6V4e$nr2W@mfSoI=NYcbN7+xp^Hepmrul2uX=XUs zX(s%#zi-^@Z3@gO%(VSpJ3Ud+8&3r1iBOsH_Dz_jrRy3LXRGrUBr;s=Nuo*^F^uw{ z2^E);&l)yh(N>@haB@%@$g4iU60mrZ3AMoW4#X{FOx_+PsQawJL+4q4!xPjnh+69U z_O!Q_Jl$I^&ZzV0`CxHxxSHTq8=@Qb)gJZj@E7Bo*E99w+0$3sEYC)ek@%i1@8|Po z-EM6kWXXZE>g?C+-PJQ&{@=I3l%g#NP{ESxARZz9yvHEt@^Un~4dgg=XLX?x!%0Cc2ktlq;fiy)6)Pak z30RVAvM<+Qtt(`(E53H!@)b5T0q*gFhd2!D1!p9(iPj|fa8a?*5b};rNVz00;1TS< zt@P6s0ODYLJvrd^wZzb_R1?SPEAdfT7-I~=QuW76-)3?P?D}OJs)dc(J}b7slB8kU z^o088)T+*qN{(1lt$!AEDV|uu8xDjoVkSYm!y9lTeq>0upxKCPv==h6jx8+~PU-Oo zj9H7BBQuJ>bpCP-Iq0sxCF{q(>%pQ#v{IC(&R=#^;wzvjc6p2cwTEXTs6k)9uK3s5 zXTi2|XKKf*;MoO^oq;Ve7T;-)?{0FuKg>-_is>t)%6}NSFNa-v-?neeI!|jkt>Nl_ zb{R~_S<|-l(M}sW8DGtxHRIb4XUy}Z?Y8)y5TPE5$BKmrCN@Z^-qOwhUm$}{+t{CC zSvQbRl%u_wP5+HXx8$zv_!TWF2@#Y1?x#2pA)3}g=+ffYVPJ0F?Kh>}q=b%EnuUcW z%0jV=8}m|yP%Jr#XsNvv_x;BU-4m3^fFn;JJuIOz2H zbF3rx@x{IF!CDE`DpBHUx0V`G%D5Wn#{#5{+dpVq{Y>qc zPf<=#1*uD+1_$~4dL?UOhX<}uuBX!m2K*Lcx?fzZRIxif%S$^gzq>n8m$nW{<&|>1 z;)1u`XH{tIk+lTqt>tznvgHfhWtvrRAw@5{2@b)jv~&3P-QZZ$iD>h?c&d?(qb7Kf zbya*SC@{6^=LnDx3nMi(Di<~_!hilCv5+4+&Z~b)B0;g_{<&pUkr_Zj8`2m=ya507 ztwTb|u*eHV2hce%F2Nr2WSqhSia;m@%Q*`Jkk~yk;ENFs%^L8xR+ZvIDrH?1hlzIA zaELHPG#}U!BK64>7A7gk(|?#RJwGrylBipmVYam9UcwIE5yWOyOE!$sa7sNWr7=O= zB4gB}gi0liGNK}bC&&~vU<_)~ZIw%Im<7vDQahX{H@ph)q(Mx+GCv=@ddVKuDcsA| ztKt2k{pAt*pSf6;56^Nj@Bi zv#6w_9h}F77=ZBS?V;c;a^P8@5OhWrvYC>pxQ26!D%EP0e?hAJp7{fkQatPS$O z>K3?kBZq*+)&J7PKX$O#3DiRg)J5jwl zu6Wxd5;fU3(26mgf)+eq=6~w7Xf-ms4iyn1!ER+LwyhkcN2XIrAxat#;8tfa%yO=~ zG%%e>Z+n}2>LzZdRKgP@z16oWz#@R%thG<;@W*en^ci8KX=q0^TRX=;y_y+QYva#^Ci=Cj z?`C(DIS0ZFEkpu@+Hz6q3%;ulxfSV}NMzZYhb#}f;qccgr^`iNJb{A%8@-Ad8p>G; zG8pA@-rS&!j&61~(h;629)5F3?pA;DVG=GUmo59@%6TXTM6w%#gVf3E#m3hzZCe=4=cDb-Rw~7U0#k3nk zUrJvXPSRFn3Y3Jg%AmT8M}G9);(qf4yg)v_ zT=~asB8H+la$Ndr6>kaC9ZF9u?Y;d>KBhSTsR+A@iaIsZ;w@~B`WMRD93(1D zbupDX&v(k}mG2U%5mvmBoFRR8NxSM-3Dx`76Qz@Cw0NW*(}Qy^_}fNmq1((-N`tI{ zR?tf2Ir%Rv9B_L#bIuv^8-}X(9n~R}A*I`4AK(hx&@BUztJn6$>?!1TAt}@e*wo}_ z&xe*&YZQ9zl@@cENmY8x#3fTF&Kzz(hv$lfNQX@jvl7@+8?ew$V}z9WaZ7V@ai18%|r;orX{-PUV5wFxQJqw^66guYO+2S`bC?cN`5mn!?Cek{4vvm_n&AMJ& zy;*h5J7OG!qNp{E9L)L!;BwObEgXLFtI^=h?x(^3Y3t0xq1yjAer#hISsF_sDd7^? z!`wpBDp5!gV{L4?)|eT~H1=g;?8y?TE;5r__*t`-kflV(h{nECQ*xQ#$*tr(&L8JI z=lh)3`+L6M=lOikXL+9Ut&}bvCpO&@zbVRHedd&%OvjRLLGrT?rm5tbGyc7w>N#Dj zJBR107tUGh6RQ{WhS=+@%&nf&!f+=PVeXlN$o^_XOG&+Quq#Z z$gM5U2d^`Dp6-pZi_}cazobqq{wA~-a2I}FWkTQi+cjp@{On>u(`eA!4fFJq{`h`u zw(X8lZeKt@(R1FY(_ZN4&@1FpiIv7GM-5CGRXtYZ2^+hhHa(%69&mI>q;j#u4E-+$ zndclioM@G)l~^0tw)##GG^v?mZbUU2IMqXuqxl3P@Cn1`Lo*!t=hf2&2GlBHoC zq?NpCV&=L#_M=-lI@l1pL;>)AM351YkPcbhrCil)$Vt-+}^G> zIU+C@o8zi&T48-Mj2tQhzIDaQZSFx=vjIS;1ONzwD;BtM_r@{>MqZ$Oy4yOt9dhw- zM9*Gw^+1>jXjkGiWUs&C`$Iv1y}nYVHcvtCAoF48{s&2i^Asqa;b#&J5$V#les5CF zXOg}FpCgV0Fp33CeKI_ay9mgOCv;D-^T7pnJ>T!LsD4BM#j^N*FptwXl!R)Z8SGoD z$ygrr?$E-GyXU^hMKyFT?Zj~^akDu3AN%yQrq#WK?4enBc1G~94=_Snz$@n!q6 zFQqzAj7D5|TAKe5BoHS2?l>um*)>n|a-5l@HU`GrQ|61JXu#%u@^i3Ec05IcGAUa2 zRSmQMm`P?w1_WO&HC}a~>73Z@5)*I4W)p#FO0Y2NpbktGULhPol)q3MaJ8fN*jPCx zBU5MHI21gdtE~xbpQ1-#p^n&Y)nnl{K_jgAi z%qv>b8FR8j@v^^`~}G;NhQfqNzKZ6ayYr!BI{zBeS=uQ%(*iof<{41Wr|ZtVMHeF^Zf{%I8#13-Dd4DIF z(30d-xtu_YdKYb%^}hG^R5z;2`eOPa-hL@}L|Moxe&FToh&DT-?9TL z3q|MSZu(KWMJXv**mMcN6w;*BuT*F3w#zlm;qTLpstzJvI~>DhCq#}eP!oC$$W6Sh z3nKGVA6)Y*z>TkRuH@@pM2dyJ?VVw~b5jYY?Oau_EXB`_{!b76MsPa1Ht$Zs!S2zi z7TLJ*hj$1ydIA09e&0D!Q;7rl3DX(m8Dxd|Q9xYe!B|#F(I7heH zf8PBi*vE62Y?C$dVI;#WuM1&wpCRt<+9^>c8WJ@Jv*(JD^@`=cEZHD(dqR9yO!-oQ z#Ja8Hm4ZC>o`<0sq9+ASQ2N- z?4V>uM7v=d1u+njckLQcEcvMOQc_0cgZ3(1&kUg+_o%5f;k615<7+rOBJ~wJC|+kd zzf4J@oi_1qo$84Y52AIIOpD_JK0bJu6*Sg2o)w(q-P)6C9ppGrNU2`w8TgZmDRUhs z$7xfSUs3~Cb=GED8&IFcw6Kr9_zz9~)gG`q_+xp5^g*%=>@<+wFAs=C&t>Y9zg0$Jl_0 zS%BqxdYl7zn5J>L=;D1+GU%bUfH}ACVaLw{54Hh-<#8|>?C9=;GR1f}dRu+>&Y%Jq zX#?G_;G)_b8!`<}LxxH~ - val sourceMetricTag = cgInfo.sourceInfoOpt.flatMap { sourceInfo => - toMetricTagFromSource(sourceInfo.sourceType) - } - val similarityEngineTags = toMetricTagFromSimilarityEngine( - cgInfo.similarityEngineInfo, - cgInfo.contributingSimilarityEngines) - - val combinedMetricTag = cgInfo.sourceInfoOpt.flatMap { sourceInfo => - toMetricTagFromSourceAndSimilarityEngine(sourceInfo, cgInfo.similarityEngineInfo) - } - - Seq(sourceMetricTag) ++ similarityEngineTags ++ Seq(combinedMetricTag) - }.flatten.toSet - (interestedInMetricTag ++ cgInfoMetricTags).toSeq - } - - /*** - * match a sourceType to a metricTag - */ - private def toMetricTagFromSource(sourceType: SourceType): Option[MetricTag] = { - sourceType match { - case SourceType.TweetFavorite => Some(MetricTag.TweetFavorite) // Personalized Topics in Home - case SourceType.Retweet => Some(MetricTag.Retweet) // Personalized Topics in Home - case SourceType.NotificationClick => - Some(MetricTag.PushOpenOrNtabClick) // Health Filter in MR - case SourceType.OriginalTweet => - Some(MetricTag.OriginalTweet) - case SourceType.Reply => - Some(MetricTag.Reply) - case SourceType.TweetShare => - Some(MetricTag.TweetShare) - case SourceType.UserFollow => - Some(MetricTag.UserFollow) - case SourceType.UserRepeatedProfileVisit => - Some(MetricTag.UserRepeatedProfileVisit) - case SourceType.TwiceUserId => - Some(MetricTag.TwiceUserId) - case _ => None - } - } - - /*** - * If the SEInfo is built by a unified sim engine, we un-wrap the contributing sim engines. - * If not, we log the sim engine as usual. - * @param seInfo (CandidateGenerationInfo.similarityEngineInfo): SimilarityEngineInfo, - * @param cseInfo (CandidateGenerationInfo.contributingSimilarityEngines): Seq[SimilarityEngineInfo] - */ - private def toMetricTagFromSimilarityEngine( - seInfo: SimilarityEngineInfo, - cseInfo: Seq[SimilarityEngineInfo] - ): Seq[Option[MetricTag]] = { - seInfo.similarityEngineType match { - case SimilarityEngineType.TweetBasedUnifiedSimilarityEngine => // un-wrap the unified sim engine - cseInfo.map { contributingSimEngine => - toMetricTagFromSimilarityEngine(contributingSimEngine, Seq.empty) - }.flatten - case SimilarityEngineType.ProducerBasedUnifiedSimilarityEngine => // un-wrap the unified sim engine - cseInfo.map { contributingSimEngine => - toMetricTagFromSimilarityEngine(contributingSimEngine, Seq.empty) - }.flatten - // SimClustersANN can either be called on its own, or be called under unified sim engine - case SimilarityEngineType.SimClustersANN => // the old "UserInterestedIn" will be replaced by this. Also, OfflineTwice - Seq(Some(MetricTag.SimClustersANN), seInfo.modelId.flatMap(toMetricTagFromModelId(_))) - case SimilarityEngineType.ConsumerEmbeddingBasedTwHINANN => - Seq(Some(MetricTag.ConsumerEmbeddingBasedTwHINANN)) - case SimilarityEngineType.TwhinCollabFilter => Seq(Some(MetricTag.TwhinCollabFilter)) - // In the current implementation, TweetBasedUserTweetGraph/TweetBasedTwHINANN has a tag when - // it's either a base SE or a contributing SE. But for now they only show up in contributing SE. - case SimilarityEngineType.TweetBasedUserTweetGraph => - Seq(Some(MetricTag.TweetBasedUserTweetGraph)) - case SimilarityEngineType.TweetBasedTwHINANN => - Seq(Some(MetricTag.TweetBasedTwHINANN)) - case _ => Seq.empty - } - } - - /*** - * pass in a model id, and match it with the metric tag type. - */ - private def toMetricTagFromModelId( - modelId: String - ): Option[MetricTag] = { - - val pushOpenBasedModelRegex = "(.*_Model20m145k2020_20220819)".r - - modelId match { - case pushOpenBasedModelRegex(_*) => - Some(MetricTag.RequestHealthFilterPushOpenBasedTweetEmbedding) - case _ => None - } - } - - private def toMetricTagFromSourceAndSimilarityEngine( - sourceInfo: SourceInfo, - seInfo: SimilarityEngineInfo - ): Option[MetricTag] = { - sourceInfo.sourceType match { - case SourceType.Lookalike - if seInfo.similarityEngineType == SimilarityEngineType.ConsumersBasedUserTweetGraph => - Some(MetricTag.LookalikeUTG) - case _ => None - } - } - - /** - * Special use case: used by Notifications team to generate the UserInterestedIn CRT push copy. - * - * if we have different types of InterestedIn (eg. UserInterestedIn, NextInterestedIn), - * this if statement will have to be refactored to contain the real UserInterestedIn. - * @return - */ - private def isFromInterestedIn(candidate: RankedCandidate): Set[MetricTag] = { - if (candidate.reasonChosen.sourceInfoOpt.isEmpty - && candidate.reasonChosen.similarityEngineInfo.similarityEngineType == SimilarityEngineType.SimClustersANN) { - Set(MetricTag.UserInterestedIn) - } else Set.empty - } - -} diff --git a/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.docx b/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/util/SignalTimestampStatsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..913e99d31153eac90f13624936fe942b045ec893 GIT binary patch literal 37450 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