From f21bb8a1d4a865d35db82389cec27b945b925cf3 Mon Sep 17 00:00:00 2001
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Aug 2018 00:55:23 +0200
Subject: [PATCH] Release 68.0.3440.121
---
CHANGELOG.md | 8 +
filters/adblock_entries.h | 264 ++++++-
...-chromium-Clear-HTTP-cache-menu-item.patch | 2 +-
...-chromium-Disable-domain-reliability.patch | 676 ++++++++++++++++++
... BRM035_Disable-Omaha-update-checks.patch} | 0
...BRM036_Add-DuckDuckGo-search-engine.patch} | 0
... BRM037_Add-StartPage-search-engine.patch} | 0
...M038_Add-Google-English-only-engine.patch} | 0
...h => BRM039_Add-Qwant-search-engine.patch} | 0
...n-accessing-page-info-site-settings.patch} | 0
...H264-enable-ARM-ARM64-optimizations.patch} | 0
...MP-and-tracking-from-search-results.patch} | 0
...=> BRM043_Play-videos-in-background.patch} | 0
...4_Allow-playing-audio-in-background.patch} | 0
...RM045_Open-YouTube-links-in-Bromite.patch} | 0
....patch => BRM046_Add-exit-menu-item.patch} | 26 +-
...tch => BRM047_Remove-help-menu-item.patch} | 0
...toggle-global-Javascript-preference.patch} | 0
...48_url_request-hooks-and-ad-url-data.patch | 189 -----
patches/BRM049_Bromite-adblock-engine.patch | 331 +++------
...nfigure-maximum-connections-per-host.patch | 39 +-
...M059_Add-flag-to-show-hide-NTP-tiles.patch | 2 +-
...d-flag-to-disable-custom-tab-intents.patch | 2 +-
...tions-in-bookmarks-activity-and-page.patch | 4 +-
...-to-not-persist-tabs-across-sessions.patch | 109 +++
.../BRM065_Add-an-always-incognito-mode.patch | 313 ++++++++
...isable-fetching-of-all-field-trials.patch} | 0
...7_Disable-smooth-scrolling-on-Linux.patch} | 0
... BRM068_Disable-plugins-enumeration.patch} | 0
...account-access-permission-on-reboot.patch} | 0
...length-for-newly-generated-RSA-keys.patch} | 0
...obes-to-RIPE-DNS-rather-than-Google.patch} | 0
...o-not-tick-send-settings-by-default.patch} | 0
...able-warning-about-missing-API-keys.patch} | 0
...l-disable-autofill-download-manager.patch} | 0
..._run-deactivate-autoupdate-globally.patch} | 0
...browsing-disable-incident-reporting.patch} | 0
...-reporting-of-safebrowsing-override.patch} | 0
...rowsing-disable-cookie-transmission.patch} | 0
...omponent-extensions-in-the-ext-list.patch} | 0
...-of-translate-languages-from-server.patch} | 0
...nt-suppress-hardcoded-text-warnings.patch} | 0
...-Vision.patch => BRM082_kill-Vision.patch} | 0
...1_kill-GCM.patch => BRM083_kill-GCM.patch} | 4 +-
...kill-Auth.patch => BRM084_kill-Auth.patch} | 0
...kill-remaining-Play-Services-checks.patch} | 2 +-
...BRM086_kill-TOS-and-metrics-opt-out.patch} | 0
... BRM087_kill-Translate-doesn-t-work.patch} | 0
48 files changed, 1479 insertions(+), 492 deletions(-)
create mode 100644 patches/BRM034_ungoogled-chromium-Disable-domain-reliability.patch
rename patches/{BRM034_Disable-Omaha-update-checks.patch => BRM035_Disable-Omaha-update-checks.patch} (100%)
rename patches/{BRM035_Add-DuckDuckGo-search-engine.patch => BRM036_Add-DuckDuckGo-search-engine.patch} (100%)
rename patches/{BRM036_Add-StartPage-search-engine.patch => BRM037_Add-StartPage-search-engine.patch} (100%)
rename patches/{BRM037_Add-Google-English-only-engine.patch => BRM038_Add-Google-English-only-engine.patch} (100%)
rename patches/{BRM038_Add-Qwant-search-engine.patch => BRM039_Add-Qwant-search-engine.patch} (100%)
rename patches/{BRM039_Fix-crash-when-accessing-page-info-site-settings.patch => BRM040_Fix-crash-when-accessing-page-info-site-settings.patch} (100%)
rename patches/{BRM040_openH264-enable-ARM-ARM64-optimizations.patch => BRM041_openH264-enable-ARM-ARM64-optimizations.patch} (100%)
rename patches/{BRM041_Cure-AMP-and-tracking-from-search-results.patch => BRM042_Cure-AMP-and-tracking-from-search-results.patch} (100%)
rename patches/{BRM042_Play-videos-in-background.patch => BRM043_Play-videos-in-background.patch} (100%)
rename patches/{BRM043_Allow-playing-audio-in-background.patch => BRM044_Allow-playing-audio-in-background.patch} (100%)
rename patches/{BRM044_Open-YouTube-links-in-Bromite.patch => BRM045_Open-YouTube-links-in-Bromite.patch} (100%)
rename patches/{BRM045_Add-exit-menu-item.patch => BRM046_Add-exit-menu-item.patch} (66%)
rename patches/{BRM046_Remove-help-menu-item.patch => BRM047_Remove-help-menu-item.patch} (100%)
rename patches/{BRM047_Add-menu-option-to-toggle-global-Javascript-preference.patch => BRM048_Add-menu-option-to-toggle-global-Javascript-preference.patch} (100%)
delete mode 100644 patches/BRM048_url_request-hooks-and-ad-url-data.patch
create mode 100644 patches/BRM064_Add-option-to-not-persist-tabs-across-sessions.patch
create mode 100644 patches/BRM065_Add-an-always-incognito-mode.patch
rename patches/{BRM064_Disable-fetching-of-all-field-trials.patch => BRM066_Disable-fetching-of-all-field-trials.patch} (100%)
rename patches/{BRM065_Disable-smooth-scrolling-on-Linux.patch => BRM067_Disable-smooth-scrolling-on-Linux.patch} (100%)
rename patches/{BRM066_Disable-plugins-enumeration.patch => BRM068_Disable-plugins-enumeration.patch} (100%)
rename patches/{BRM067_Remove-google-account-access-permission-on-reboot.patch => BRM069_Remove-google-account-access-permission-on-reboot.patch} (100%)
rename patches/{BRM068_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch => BRM070_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch} (100%)
rename patches/{BRM069_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch => BRM071_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch} (100%)
rename patches/{BRM070_profile-resetter-do-not-tick-send-settings-by-default.patch => BRM072_profile-resetter-do-not-tick-send-settings-by-default.patch} (100%)
rename patches/{BRM071_browser-ui-disable-warning-about-missing-API-keys.patch => BRM073_browser-ui-disable-warning-about-missing-API-keys.patch} (100%)
rename patches/{BRM072_autofill-disable-autofill-download-manager.patch => BRM074_autofill-disable-autofill-download-manager.patch} (100%)
rename patches/{BRM073_first_run-deactivate-autoupdate-globally.patch => BRM075_first_run-deactivate-autoupdate-globally.patch} (100%)
rename patches/{BRM074_safe_browsing-disable-incident-reporting.patch => BRM076_safe_browsing-disable-incident-reporting.patch} (100%)
rename patches/{BRM075_safe_browsing-disable-reporting-of-safebrowsing-override.patch => BRM077_safe_browsing-disable-reporting-of-safebrowsing-override.patch} (100%)
rename patches/{BRM076_safe_browsing-disable-cookie-transmission.patch => BRM078_safe_browsing-disable-cookie-transmission.patch} (100%)
rename patches/{BRM077_extensions-always-show-component-extensions-in-the-ext-list.patch => BRM079_extensions-always-show-component-extensions-in-the-ext-list.patch} (100%)
rename patches/{BRM078_translate-disable-fetching-of-translate-languages-from-server.patch => BRM080_translate-disable-fetching-of-translate-languages-from-server.patch} (100%)
rename patches/{BRM079_lint-suppress-hardcoded-text-warnings.patch => BRM081_lint-suppress-hardcoded-text-warnings.patch} (100%)
rename patches/{BRM080_kill-Vision.patch => BRM082_kill-Vision.patch} (100%)
rename patches/{BRM081_kill-GCM.patch => BRM083_kill-GCM.patch} (99%)
rename patches/{BRM082_kill-Auth.patch => BRM084_kill-Auth.patch} (100%)
rename patches/{BRM083_kill-remaining-Play-Services-checks.patch => BRM085_kill-remaining-Play-Services-checks.patch} (99%)
rename patches/{BRM084_kill-TOS-and-metrics-opt-out.patch => BRM086_kill-TOS-and-metrics-opt-out.patch} (100%)
rename patches/{BRM085_kill-Translate-doesn-t-work.patch => BRM087_kill-Translate-doesn-t-work.patch} (100%)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3b88a8a1..428f7c9e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+# 68.0.3440.121
+* add option to not persist tabs across sessions (fixes https://github.com/bromite/bromite/issues/106)
+* always incognito mode (fixes https://github.com/bromite/bromite/issues/18)
+* disable domain reliability (ungoogled-chromium)
+* more efficient adblock interception by using proper handler
+* fix log message about default maximum connections
+* improvement for exit menu patch
+
# 68.0.3440.110
* add import action to Bookmarks activity page
* use different user-agent version based on Android OS version
diff --git a/filters/adblock_entries.h b/filters/adblock_entries.h
index 146e04be..899d2e5c 100644
--- a/filters/adblock_entries.h
+++ b/filters/adblock_entries.h
@@ -19,7 +19,7 @@ struct adblock_entry {
const char **domains, **domains_skip;
};
-#define ADBLOCK_ENTRY_COUNT 52610
+#define ADBLOCK_ENTRY_COUNT 52704
const char *m10030a28[] = { "/InsightTrk/", NULL };
const char *m10045299[] = { "award.sitekeuring.net^", NULL };
const char *m100458cd[] = { "eluhhfyxx.com^", NULL };
@@ -293,6 +293,7 @@ const char *m113b376c[] = { "krrmpgdmoexc.club^", NULL };
const char *m113cceb4[] = { "stat.4u.pl^", NULL };
const char *m113da737[] = { "lp.musicboxnewtab.com^", NULL };
const char *m113dfae4[] = { "nydailynews.com^", "^tracker.js", NULL };
+const char *m113e7069[] = { "asbqyhrpty.com^", NULL };
const char *m113e8304[] = { "flirt4free.com/_special/pops/", NULL };
const char *m113f84f1[] = { "jlarmqbypyku.com^", NULL };
const char *m1140723e[] = { "intellibanners.com^", NULL };
@@ -420,6 +421,7 @@ const char *m11cf6f14[] = { "hb-247.com^", NULL };
const char *m11d12b93[] = { "/cdn-cgi/pe/bag2?r", "ero-advertising.com", NULL };
const char *m11d15689[] = { "complaintsboard.com/img/300x250anti.gif", NULL };
const char *m11d77264[] = { "tujswypf.bid^", NULL };
+const char *m11d86188[] = { "uxnssjly.com^", NULL };
const char *m11d8bdf5[] = { "ad120m.com^", NULL };
const char *m11d9056f[] = { "ilcorsaronero.info/home.gif", NULL };
const char *m11dfbef8[] = { "realtracker.com^", NULL };
@@ -665,6 +667,7 @@ const char *m12e8695f[] = { "geo.digitalpoint.com^", NULL };
const char *m12e94ca1[] = { "0194c6fcbb3.com^", NULL };
const char *m12ec9ef3[] = { "-468x060_", NULL };
const char *m12efe750[] = { "&pppi=", "=http", NULL };
+const char *m12f77aec[] = { "adquality.ch^", NULL };
const char *m12f7c02 [] = { "ymmoeffaosvdua.com^", NULL };
const char *m12f8ecf [] = { "hotelscombined.com/SearchBox/", NULL };
const char *m12fadcb8[] = { "_imp?Log=", NULL };
@@ -843,6 +846,7 @@ const char *m13d26d14[] = { "rockthebells.net/images/banners/", NULL };
const char *m13d49b32[] = { "intergid.ru^", NULL };
const char *m13d6f163[] = { "sexvidx.tv/js/eroex.js", NULL };
const char *m13d7902 [] = { "eragi.ru^", NULL };
+const char *m13dab28c[] = { "cfskcqrwbog.com^", NULL };
const char *m13dabc0f[] = { "dashboardad.net^", NULL };
const char *m13dc77a9[] = { "yhtytxeskrqgpl.bid^", NULL };
const char *m13dcee3b[] = { "nzpages.co.nz^", "^track.js", NULL };
@@ -1255,6 +1259,7 @@ const char *m15e6710b[] = { "/popunder2.", NULL };
const char *m15e81ae0[] = { "/eloqua_", NULL };
const char *m15e9aff2[] = { "crackdb.com/img/vpn.png", NULL };
const char *m15ea4783[] = { "/adblade-publisher-tools/", NULL };
+const char *m15eb112d[] = { "klhjuuwrmxyjsn.com^", NULL };
const char *m15eb3a1c[] = { "logger.viki.io^", NULL };
const char *m15ec29f0[] = { "ximeldnjuusl.com^", NULL };
const char *m15ec816e[] = { "wkexsfmw.com^", NULL };
@@ -2210,6 +2215,7 @@ const char *m1a54a8b7[] = { "colliersads.com^", NULL };
const char *m1a560155[] = { "meta.ua/c.asp?", NULL };
const char *m1a569c23[] = { "mmoculture.com/wp-content/uploads/", "-background-", NULL };
const char *m1a5b06a7[] = { "-ad-column-", NULL };
+const char *m1a5bb655[] = { "/get_site_data?", "&cookie=", NULL };
const char *m1a5c062b[] = { "delivery-dev.thebloggernetwork.com^", NULL };
const char *m1a5eb3c8[] = { "ltassrv.com/track/", NULL };
const char *m1a5f5828[] = { "adsrevenue.net^", NULL };
@@ -3223,6 +3229,7 @@ const char *m1f034dd3[] = { "demanier.com^", NULL };
const char *m1f04b6a9[] = { "/adriver.", NULL };
const char *m1f05d08f[] = { "freeones.com/cd/?cookies=", NULL };
const char *m1f05d2af[] = { "rjxspgol.com^", NULL };
+const char *m1f08906a[] = { "uubxhbwnwmfqp.com^", NULL };
const char *m1f098ebb[] = { "ctnetwork.hu^", NULL };
const char *m1f0ce3d4[] = { "ssvolkkihcyp.com^", NULL };
const char *m1f1058a1[] = { "/advertize_", NULL };
@@ -4134,6 +4141,7 @@ const char *m232e1dab[] = { "thenonleaguefootballpaper.com^", "^Budweiser.jpg",
const char *m232ede9 [] = { "tpmemhesupkn.bid^", NULL };
const char *m232fe87f[] = { "cpalead.com/gwjs.php?pub=", NULL };
const char *m23300e7e[] = { "rndntpmgnj-a.akamaihd.net/NA2L50A6M.js", NULL };
+const char *m2330f708[] = { "jeeumttalzwt.com^", NULL };
const char *m233340b0[] = { "/cmslog.dll?", NULL };
const char *m233463d2[] = { "clhqmynew.bid^", NULL };
const char *m2334d3cf[] = { "/cdn-cgi/pe/bag2?", "geoiplookup", NULL };
@@ -4817,6 +4825,7 @@ const char *m265e9b6a[] = { "lookit.cz^", NULL };
const char *m265fb731[] = { "uaclvtrcno.bid^", NULL };
const char *m26642332[] = { "uckxjsiy.com^", NULL };
const char *m266455e [] = { "-amazon-ads/", NULL };
+const char *m26659aa1[] = { "wznnfwhwwjkp.com^", NULL };
const char *m26660e16[] = { "nsmartad.com^", NULL };
const char *m2666b3fa[] = { "/adscripts3.", NULL };
const char *m26673cbe[] = { "/weather-sponsor/", NULL };
@@ -5473,6 +5482,7 @@ const char *m2959f2ad[] = { "/sponsorship/targeting/", NULL };
const char *m2959ff08[] = { "openprofilemeta.com^", NULL };
const char *m295a85dc[] = { "allcarpictures.com/stat/", NULL };
const char *m295c6ad [] = { "/dni_reporting.js", NULL };
+const char *m295cbdd2[] = { "kfxrukfzqazrs.com^", NULL };
const char *m295d203d[] = { "fpctraffic3.com^", NULL };
const char *m29600529[] = { "da-ads.com/truex.html?", NULL };
const char *m2965d2bb[] = { "stalesplit.com^", NULL };
@@ -5754,6 +5764,7 @@ const char *m2aa17c37[] = { "/track_metric/", NULL };
const char *m2aa26d19[] = { "hit2map.com^", NULL };
const char *m2aa2f207[] = { "_files/ad.", NULL };
const char *m2aa30470[] = { "ads.yimg.com^", "^search^b^syc_logo_2.gif", NULL };
+const char *m2aa48edc[] = { "ykixjehac.com^", NULL };
const char *m2aa49ff9[] = { "phncdn.com/js/karmaInfo/", NULL };
const char *m2aa50865[] = { "box.com/gen204?", NULL };
const char *m2aa5e5bd[] = { "qelllwrite.com^", NULL };
@@ -5989,6 +6000,7 @@ const char *m2bd5cb1e[] = { "iokggekuz.bid^", NULL };
const char *m2bd66c90[] = { ".utils.ads.", NULL };
const char *m2bd6a571[] = { "tracker.pinnaclesports.com^", NULL };
const char *m2bd72bc7[] = { "xcxepcbypxwf.com^", NULL };
+const char *m2bd73e5b[] = { "pusheify.com^", NULL };
const char *m2bd8eb4 [] = { "hd-plugin.com^", NULL };
const char *m2bd90774[] = { "stattds.club^", NULL };
const char *m2bd9ce25[] = { "gawkerassets.com^", "^background.jpg", NULL };
@@ -6239,6 +6251,7 @@ const char *m2d0e19a4[] = { "fileloadr.com^", NULL };
const char *m2d0e8478[] = { "oiffrtkdgoef.com^", NULL };
const char *m2d1005d1[] = { "freeapkgame.net/wp-content/themes/nyeo-final/js/bypasskiller.js", NULL };
const char *m2d10ca11[] = { "autoscout24.net/unifiedtracking/ivw.js", NULL };
+const char *m2d114ffd[] = { "wyuakcwxmiunqj.com^", NULL };
const char *m2d124525[] = { "dealtoday.com.mt/banners/", NULL };
const char *m2d129b52[] = { "apextwo.com^", NULL };
const char *m2d1316db[] = { "adobedtm.com^", "^satelliteLib-", NULL };
@@ -6524,6 +6537,7 @@ const char *m2e56ae67[] = { "pornpause.com/fakevideo/", NULL };
const char *m2e56bd1e[] = { "monsterpops.com^", NULL };
const char *m2e580cde[] = { "amqtbshegbqg.com^", NULL };
const char *m2e5bffef[] = { "axaggthnkquj.com^", NULL };
+const char *m2e5cb753[] = { "hpufwccrmiwz.com^", NULL };
const char *m2e5df0db[] = { "minexmr.stream^", NULL };
const char *m2e5e299a[] = { "/900x130_", NULL };
const char *m2e5fa04f[] = { "/fulladbazee.", NULL };
@@ -6660,6 +6674,7 @@ const char *m2ef3a7e2[] = { "a.ucoz.ru^", NULL };
const char *m2ef5111d[] = { "www2.gogoanime.se^", ".js", NULL };
const char *m2ef52ca0[] = { "heyos.com^", NULL };
const char *m2ef5a523[] = { "trasholita.com^", NULL };
+const char *m2ef5d71f[] = { "withdromnit.pro^", NULL };
const char *m2ef66544[] = { "/adtool/", NULL };
const char *m2ef8230b[] = { "/ads/motherless.", NULL };
const char *m2ef84cd0[] = { "/trackingfilter.json?", NULL };
@@ -6744,6 +6759,7 @@ const char *m2f4d7d89[] = { "ip.pichunter.com^", NULL };
const char *m2f4de939[] = { "xjehskjzyedb.com^", NULL };
const char *m2f4df20f[] = { "fnjzuwviiyedmp.com^", NULL };
const char *m2f4e1fa3[] = { "webassembly.stream^", NULL };
+const char *m2f4e394e[] = { "aitdwhmcvlm.com^", NULL };
const char *m2f5017f8[] = { "tny.cz/red/first.php", NULL };
const char *m2f5024d6[] = { "/analytics_embed.", NULL };
const char *m2f545b3d[] = { "pagesjaunes.fr/stat/", NULL };
@@ -7447,6 +7463,7 @@ const char *m327f1d60[] = { "/edAnalyticsWrapper.", NULL };
const char *m327f712 [] = { "adroll.com/j/roundtrip.js", NULL };
const char *m327fd9e4[] = { "/ad/sponsors/", NULL };
const char *m327ff5bb[] = { "facebook.com/rtb_video/?", NULL };
+const char *m328164d [] = { "ah.pe^", NULL };
const char *m3282cf73[] = { "&advtile=", NULL };
const char *m32832ae [] = { "t1.openload.co^", NULL };
const char *m32857d0f[] = { "lafvopkskbeuj.bid^", NULL };
@@ -7609,6 +7626,7 @@ const char *m3343260d[] = { "edtp.de^", NULL };
const char *m3343599a[] = { "burningcamel.com/ads/banner.jpg", NULL };
const char *m3343baf3[] = { "perr.h-cdn.com^", NULL };
const char *m33446dd3[] = { "mitotach.com^", NULL };
+const char *m3348c2cf[] = { "eqhawyidkdug.com^", NULL };
const char *m3348cc21[] = { "foxtel.com.au/cms/fragments/corp_analytics/", NULL };
const char *m3349a4e8[] = { "marketgid.com^", NULL };
const char *m3349f89 [] = { "tozer.youwatch.org^", NULL };
@@ -8011,7 +8029,6 @@ const char *m350ecf1e[] = { "sabotage-films.com/ads/", NULL };
const char *m350f3a45[] = { "wadldetroit.com/images/banners/", NULL };
const char *m3510210c[] = { "bwzohoomljs.com^", NULL };
const char *m351054d8[] = { "infoq.com^", "^banners^", NULL };
-const char *m3510c1ef[] = { "djtflbt20bdde.cloudfront.net^", NULL };
const char *m3510e1a3[] = { "5f8fbbfc2244adc9.com^", NULL };
const char *m35118ff1[] = { "gsiqerorqkxu.com^", NULL };
const char *m35120b10[] = { "phncdn.com/js/signin-min.js", NULL };
@@ -8475,6 +8492,7 @@ const char *m3766174 [] = { "fapping.club^", NULL };
const char *m3767c3d [] = { "newipnow.com/ad-js.php", NULL };
const char *m3769cb44[] = { "/quant.swf?", NULL };
const char *m376bcae4[] = { "/analyticstracking_", NULL };
+const char *m376d0c55[] = { "imgtown.pw^", NULL };
const char *m376def94[] = { "/oiopub-ads/", NULL };
const char *m376e25cd[] = { "terra.com.br/metrics/", NULL };
const char *m376e352 [] = { "jasmin.com^", NULL };
@@ -8965,6 +8983,7 @@ const char *m39a9e67c[] = { "_ChatAd_", NULL };
const char *m39aa977 [] = { "", "/blockadblock.", NULL };
const char *m39ac0057[] = { "ksyrium0014.com^", NULL };
const char *m39ac5ffe[] = { "etbmvqjnfxtk.com^", NULL };
+const char *m39adbe3a[] = { "kweayxzfazrws.com^", NULL };
const char *m39b0c8be[] = { "/google_adv/", NULL };
const char *m39b3a5e3[] = { "/admantx.", NULL };
const char *m39b3e26a[] = { "/ABAdsv1.", NULL };
@@ -9782,7 +9801,6 @@ const char *m3db70590[] = { "/onesheet-ad-", NULL };
const char *m3db70607[] = { "eurifsiooyof.bid^", NULL };
const char *m3db7720b[] = { "googleusercontent.com/tracker/", NULL };
const char *m3db8a228[] = { "yhazcicy.bid^", NULL };
-const char *m3db9ec39[] = { "viewpoint.com^", NULL };
const char *m3dba08fe[] = { "/adtracker?", NULL };
const char *m3dbe2504[] = { "/clicky.js", NULL };
const char *m3dbff935[] = { "/js2.ad/size=", NULL };
@@ -9877,6 +9895,7 @@ const char *m3e1b7ec7[] = { "/yesbaby.", NULL };
const char *m3e1bc3b1[] = { "observer.com.na/images/banners/", NULL };
const char *m3e1c52b [] = { "deb.gs/track/", NULL };
const char *m3e1c8950[] = { "luvstnqpw.com^", NULL };
+const char *m3e1cac27[] = { "imgdew.pw^", NULL };
const char *m3e1d7d60[] = { "stats.olark.com^", NULL };
const char *m3e1dc0f4[] = { "/inviteads/", NULL };
const char *m3e1dc2bf[] = { "?handler=ads&", NULL };
@@ -10084,7 +10103,6 @@ const char *m3f171339[] = { "digitalsatellite.tv/banners/", NULL };
const char *m3f1861c6[] = { "vip.freelive365.com/adblocker.js", NULL };
const char *m3f18c725[] = { "p.aty.sohu.com^", NULL };
const char *m3f19f419[] = { "ibs.indiatimes.com^", NULL };
-const char *m3f1a61ba[] = { "visioncloud.rocks/ads/", NULL };
const char *m3f1b6462[] = { "/adservices/", NULL };
const char *m3f1d23e6[] = { "ujfm.co.za/images/banners/", NULL };
const char *m3f1e3ca3[] = { "mfcdn.net/media/", "left", NULL };
@@ -10371,6 +10389,7 @@ const char *m408207ce[] = { "topsem.com^", NULL };
const char *m4083262c[] = { "mmismm.com^", NULL };
const char *m40835e63[] = { "analytics.themarketiq.com^", NULL };
const char *m40859841[] = { "lhekiqlzatfv.com^", NULL };
+const char *m4085f823[] = { "thebugs.ws^", NULL };
const char *m4086a786[] = { "i.imedia.cz^", NULL };
const char *m408761af[] = { "tyxznbghnfkvb.com^", NULL };
const char *m40879b72[] = { ".adnigma.", NULL };
@@ -10713,6 +10732,7 @@ const char *m41f6cc97[] = { "dadi.technology^", NULL };
const char *m41f7f1d7[] = { "arcadebanners.com^", NULL };
const char *m41f80d24[] = { "tiscali.it/banner-tiscali/stats.html?", NULL };
const char *m41f95243[] = { "xyrjlbxkxojoi.bid^", NULL };
+const char *m41f9c7b2[] = { "jlmnnrwuqz.com^", NULL };
const char *m41fa308d[] = { "distilled.ie^", NULL };
const char *m41fa5211[] = { "arcadebannerexchange.net^", NULL };
const char *m41fabc14[] = { "/javascripts/ads/", NULL };
@@ -11088,6 +11108,7 @@ const char *m43b7daf1[] = { "dymlo6ffhj97l.cloudfront.net^", NULL };
const char *m43b888d5[] = { "aditor.com^", NULL };
const char *m43ba0b2e[] = { "tailpdulprkp.com^", NULL };
const char *m43bff32b[] = { "counter.mirohost.net^", NULL };
+const char *m43c27010[] = { "wowescape.com/node_modules/", NULL };
const char *m43c2cb91[] = { "ca4ec6874a33a13.com^", NULL };
const char *m43c30e02[] = { "uploadrocket.net/advertising/ads.js", NULL };
const char *m43c3910c[] = { "_ad_choices.", NULL };
@@ -11103,6 +11124,7 @@ const char *m43cc18ac[] = { "google.com/ads/search/module/ads/", "/search.js", N
const char *m43cd32bb[] = { "/leftad_", NULL };
const char *m43ce3344[] = { "uamfjudim.bid^", NULL };
const char *m43cfd39e[] = { "/adver.", NULL };
+const char *m43d0d2a0[] = { "gateway.reddit.com", NULL };
const char *m43d0f636[] = { "/nugg.min.js", NULL };
const char *m43d3667a[] = { "dprdhzofq.bid^", NULL };
const char *m43d36c1b[] = { "vintage-erotica-forum.com/clientscript/ncode_imageresizer.js?", NULL };
@@ -11440,6 +11462,7 @@ const char *m455e7ce2[] = { "optimatic.com/shell.js", NULL };
const char *m4560dfde[] = { "sydnkqqscbxc.com^", NULL };
const char *m456170f7[] = { "suvkxcypywspux.bid^", NULL };
const char *m4561a256[] = { "/targetingAd.", NULL };
+const char *m4562850 [] = { "vlhdmywfi.com^", NULL };
const char *m45641066[] = { "/analytics.php.", NULL };
const char *m45642a82[] = { "shareasale.com/image/", NULL };
const char *m4564cd8d[] = { "/cyberestat/", NULL };
@@ -11852,6 +11875,7 @@ const char *m4744f857[] = { "tdrmwnjwnccws.com^", NULL };
const char *m4745213f[] = { "w00tmedia.net^", NULL };
const char *m4745341e[] = { "yvqdhpyaoike.bid^", NULL };
const char *m47460b3d[] = { "juba-get.com^", "^advertisement.js", NULL };
+const char *m474943b1[] = { "mldsiekmhy.com^", NULL };
const char *m4749d190[] = { "aykosfkx.bid^", NULL };
const char *m474b8c16[] = { "tracking.i-click.com.hk^", NULL };
const char *m474bb176[] = { "zgalwqht.com^", NULL };
@@ -12121,6 +12145,7 @@ const char *m48693104[] = { "rankingpartner.com^", NULL };
const char *m4869dbb1[] = { "xwwkuacmqblu.com^", NULL };
const char *m486ae9ff[] = { "/ads-sa.", NULL };
const char *m486d22f0[] = { "matchbin.com/javascripts/remote_widget.js", NULL };
+const char *m486d5cfc[] = { "ccemeoqbqb.com^", NULL };
const char *m486da2b3[] = { "admax.nexage.com^", NULL };
const char *m486f05c6[] = { "/adClick/", NULL };
const char *m48719db2[] = { "fantasti.cc^", "^ad^", NULL };
@@ -12244,6 +12269,7 @@ const char *m4900edb7[] = { "acs86.com^", NULL };
const char *m4901baa7[] = { "/728x90_", NULL };
const char *m490249f1[] = { "/header-ad.", NULL };
const char *m4905ba1d[] = { "indiantelevision.com/banner/", NULL };
+const char *m49063ad3[] = { "wdjbxcdriyjoeu.com^", NULL };
const char *m4908e7a [] = { "_adsys.", NULL };
const char *m490a683b[] = { "24porn7.com/toonad/", NULL };
const char *m490b15ae[] = { "crpiucewddag.com^", NULL };
@@ -13039,6 +13065,7 @@ const char *m4ce6c50 [] = { "click.jasmin.com^", NULL };
const char *m4ce72239[] = { "xmwqbnrbvghq.bid^", NULL };
const char *m4ce79253[] = { "google.com/uds/", NULL };
const char *m4ce8017d[] = { "imrworldwide.com^", "^ggce354.swf", NULL };
+const char *m4ceaa3cb[] = { "ntkuokicthbxc.com^", NULL };
const char *m4cead307[] = { "akstat.io^", NULL };
const char *m4cec0aae[] = { "/ads/writecapture.", NULL };
const char *m4cef6210[] = { "/adgalleryheader.", NULL };
@@ -13441,6 +13468,7 @@ const char *m4ec06ff8[] = { "web-soft.in/counters/", NULL };
const char *m4ec2342 [] = { "/urchinstats.", NULL };
const char *m4ec25b63[] = { "adtrovert.com^", NULL };
const char *m4ec2a00d[] = { "/ad2/res/", NULL };
+const char *m4ec385be[] = { "afzoyaquhjltdd.com^", NULL };
const char *m4ec4a6f0[] = { "easybytez.com/pop3.js", NULL };
const char *m4ec4b87f[] = { "kxujlopfsmttyc.com^", NULL };
const char *m4ec7dfe0[] = { "/ads20.", NULL };
@@ -13657,6 +13685,7 @@ const char *m4fcfb8e7[] = { "esomniture.com^", NULL };
const char *m4fcfbb34[] = { "jngnaymz.com^", NULL };
const char *m4fd0081e[] = { "/directadvert-", NULL };
const char *m4fd128d [] = { "mediaticks.com/bollywood.jpg", NULL };
+const char *m4fd2479b[] = { "ulrryqpp.com^", NULL };
const char *m4fd2a885[] = { "maps.googleapis.com^", NULL };
const char *m4fd4c0ba[] = { "etggealva.com^", NULL };
const char *m4fd50d76[] = { "svapqzplbwjx.com^", NULL };
@@ -14577,6 +14606,7 @@ const char *m54029e46[] = { "ufrzvzpympib.com^", NULL };
const char *m54058db9[] = { "ofino.ru^", NULL };
const char *m5406a52d[] = { "carvarial.pro^", NULL };
const char *m54072fc2[] = { "30daychange.co^", NULL };
+const char *m54076ebe[] = { "nitratory.com^", NULL };
const char *m540939e9[] = { "/adz/solus/", NULL };
const char *m540a1451[] = { "sbftffngpzwt.com^", NULL };
const char *m540a1bc7[] = { "_ad_code.", NULL };
@@ -14588,6 +14618,7 @@ const char *m540faee5[] = { "7a042b464636.com^", NULL };
const char *m541046d6[] = { "forms.aweber.com^", "^displays.htm^id^", NULL };
const char *m5410b8e8[] = { "/abmw/", NULL };
const char *m541132d9[] = { "etracker.de^", NULL };
+const char *m5411611b[] = { "prgncwamr.com^", NULL };
const char *m5411a2b7[] = { "wephuklsjobdxqllpeklcrvquyyifgkictuepzxxhzpjbclmcq.com^", NULL };
const char *m54138d53[] = { "/advertising/", NULL };
const char *m54142ba8[] = { "codigobarras.net^", NULL };
@@ -15617,6 +15648,7 @@ const char *m58fa6dce[] = { "/ads/initialize/", NULL };
const char *m58fb6fee[] = { "/ext_ads.", NULL };
const char *m58fffecf[] = { "dv0.info^", NULL };
const char *m5900152 [] = { "geo.kaloo.ga^", NULL };
+const char *m59028e95[] = { "akamai.advsnx.net/CDN/nana10/html5/amsdk.js", NULL };
const char *m590602ea[] = { "politicalwire.com/images/", "-sponsor.jpg", NULL };
const char *m59066afb[] = { ".1.1.1.l80.js^", NULL };
const char *m5906b797[] = { "/reklam-ads2.", NULL };
@@ -16034,6 +16066,7 @@ const char *m5b09d3ea[] = { "coolmirage.com^", NULL };
const char *m5b0a0388[] = { "d8g345wuhgd7e.cloudfront.net^", NULL };
const char *m5b0cceff[] = { "game1games.com/exchange/", NULL };
const char *m5b0df283[] = { "vadpay.com^", NULL };
+const char *m5b13c453[] = { "nywpxugigwfzb.com^", NULL };
const char *m5b14a42b[] = { "fjuouqwxgbir.com^", NULL };
const char *m5b1614ed[] = { "crtntrvjuun.bid^", NULL };
const char *m5b16b013[] = { "ajxftwwmlinv.com^", NULL };
@@ -17152,6 +17185,7 @@ const char *m60246323[] = { "/thumb-ads.", NULL };
const char *m60249f75[] = { "24porn7.com/24roll.html", NULL };
const char *m60274690[] = { "dc.tremormedia.com^", NULL };
const char *m602774c1[] = { "espn.vad.go.com^", NULL };
+const char *m60289f3c[] = { "qnhwhedcrzeodd.com^", NULL };
const char *m6028cfe3[] = { "/cdn-cgi/pe/bag2?", "adsrvmedia", NULL };
const char *m602d3ed2[] = { "banners.fastcupid.com^", NULL };
const char *m602eab23[] = { "getclicky.com^", NULL };
@@ -17311,6 +17345,7 @@ const char *m60dc7f0d[] = { "wordego.com^", NULL };
const char *m60dd68b1[] = { "pagefair.net/ads.min.js", NULL };
const char *m60ddb010[] = { "/adservice.", NULL };
const char *m60ddcc59[] = { "allafrica.com/img/static/s_trans_nc.gif", NULL };
+const char *m60e4762a[] = { "/Chartbeatanalytics.", NULL };
const char *m60e51177[] = { "newscom.com/js/v2/ga.js", NULL };
const char *m60e5cc0a[] = { "generic4all.com^", "^refid^", NULL };
const char *m60e6194c[] = { "destinypublicevents.com/src/advertisement.js", NULL };
@@ -17596,6 +17631,7 @@ const char *m620c05a4[] = { "mmdcash.com/mmdcash01.gif", NULL };
const char *m620e33ea[] = { "/_30/ads/", NULL };
const char *m620f8fb4[] = { "catholicweb.com^", "^banners^", NULL };
const char *m6211dfe0[] = { "/getAd;", NULL };
+const char *m621279a7[] = { "optnmstr.com^", NULL };
const char *m6213507 [] = { "sahibinden.com/sbbi/", NULL };
const char *m6213a382[] = { "fluencymedia.com^", NULL };
const char *m621609db[] = { "-logging/log?", NULL };
@@ -19487,6 +19523,7 @@ const char *m6a92a5fb[] = { "elastx.net^", NULL };
const char *m6a931b6f[] = { "trk.sele.co^", NULL };
const char *m6a953707[] = { "events.privy.com^", NULL };
const char *m6a97f7df[] = { "jdhnfbmrhwkn.com^", NULL };
+const char *m6a9b3473[] = { "/amp.gif?", NULL };
const char *m6a9d607 [] = { ".popunder.js", NULL };
const char *m6a9e3fc1[] = { "rockincontent.net^", NULL };
const char *m6aa122d8[] = { "ugo.com/takeover/", NULL };
@@ -19507,6 +19544,7 @@ const char *m6ab0d8e1[] = { "/thirdPartyTags.js", NULL };
const char *m6ab29625[] = { "/adtadd1.", NULL };
const char *m6ab34303[] = { "mobred.net^", NULL };
const char *m6ab3fdb [] = { "/ad125b.", NULL };
+const char *m6ab65f2e[] = { "ens.nzz.ch^", NULL };
const char *m6ab866c1[] = { "wufel.ml^", NULL };
const char *m6ab89c6c[] = { "kuhbcpckauwt.bid^", NULL };
const char *m6ab96fbf[] = { "178.17.164.58^", NULL };
@@ -19701,6 +19739,7 @@ const char *m6b85cb57[] = { "/weblog_", "&wlog_", NULL };
const char *m6b88902a[] = { "noelshack.com^", NULL };
const char *m6b8913af[] = { "/hg?hc=&hb=", "&vjs=", NULL };
const char *m6b8a1292[] = { "audienceapi.newsdiscover.com.au^", NULL };
+const char *m6b8af9e8[] = { "nikxhdrys.com^", NULL };
const char *m6b8b798 [] = { "brainient.com^", NULL };
const char *m6b8d9300[] = { "/ad_mobile.", NULL };
const char *m6b8dc065[] = { "azbdbtsmdocl.com^", NULL };
@@ -19858,9 +19897,11 @@ const char *m6c50842a[] = { "statistx.com^", NULL };
const char *m6c508f3c[] = { "selsin.net^", NULL };
const char *m6c5119f5[] = { "fafmybvsoj.com^", NULL };
const char *m6c52ba30[] = { "banner.ambercoastcasino.com^", NULL };
+const char *m6c52f6ff[] = { "hsufwxpdtddlh.com^", NULL };
const char *m6c52f84e[] = { "/games_ad_", NULL };
const char *m6c565367[] = { "feeds.logicbuy.com^", NULL };
const char *m6c5749fd[] = { "3e35c218b3d623dde.com^", NULL };
+const char *m6c57db0a[] = { "kacfofrcndc.com^", NULL };
const char *m6c5c4888[] = { "trafficbroker.com^", NULL };
const char *m6c5c5472[] = { "hypestat.com^", NULL };
const char *m6c5d439a[] = { "hranere.info^", NULL };
@@ -20346,6 +20387,7 @@ const char *m6ea31bf9[] = { "auditude.com^", NULL };
const char *m6ea327a [] = { "redtube.com/js/track.js", NULL };
const char *m6ea330d6[] = { "/logging_requests.", NULL };
const char *m6ea55b74[] = { "pntrac.com^", NULL };
+const char *m6ea5c1d3[] = { "llhjbwcjnuii.com^", NULL };
const char *m6ea5cbd7[] = { "abacast.com/banner/", NULL };
const char *m6ea80f1b[] = { "/sponsor_ads.", NULL };
const char *m6ea8a900[] = { "/cashad.", NULL };
@@ -20480,6 +20522,7 @@ const char *m6f2f193a[] = { "mobiyield.com^", NULL };
const char *m6f3099b9[] = { "livesports.pw/", "adblock.js", NULL };
const char *m6f3240ea[] = { "pm14.com^", NULL };
const char *m6f33484a[] = { "3dsemulator.org/img/download.png", NULL };
+const char *m6f3525b1[] = { "xsgacudwlysw.com^", NULL };
const char *m6f355edd[] = { "whoisonline.net^", NULL };
const char *m6f39167f[] = { "ads.twitter.com^", NULL };
const char *m6f3c17cd[] = { "teknologilink.com/js/advertisement.js", NULL };
@@ -21384,6 +21427,7 @@ const char *m732ec3df[] = { "/track.png?", NULL };
const char *m73310fe9[] = { "apple.com^", "^includes^ads", NULL };
const char *m7331861e[] = { "structuresofa.com^", NULL };
const char *m73325731[] = { "stroeerdigitalmedia.de/dynback/call.sjs?", NULL };
+const char *m7332787a[] = { "pixelsfighting.co^", NULL };
const char *m73329d60[] = { "tgfehyikznu.bid^", NULL };
const char *m7332df39[] = { "/click?pid=", "&offer", NULL };
const char *m7333eb3f[] = { "dailymail.co.uk^", "^promoboxes^", NULL };
@@ -22130,6 +22174,7 @@ const char *m76be3194[] = { "mxf.dfp.host^", NULL };
const char *m76bea24f[] = { "scripts.demandmedia.com/wm.js", NULL };
const char *m76bedb1 [] = { "glam.com/gad/glamadapt_jsrv.act?", NULL };
const char *m76bf6c1f[] = { "jscode.yavli.com^", NULL };
+const char *m76bf6f69[] = { "dfjaoecxqyox.com^", NULL };
const char *m76bf8531[] = { "/stat/track_", NULL };
const char *m76c05076[] = { "red.bayimg.net^", NULL };
const char *m76c33ca2[] = { "short.zain.biz^", NULL };
@@ -23033,6 +23078,7 @@ const char *m7af5a0fd[] = { ".png?cpn=", NULL };
const char *m7af5e2ad[] = { "variti.net^", NULL };
const char *m7af61e16[] = { "surveywidget.biz^", NULL };
const char *m7af6d222[] = { "acc-hd.de^", NULL };
+const char *m7af7742b[] = { "wcyqoiyohhav.com^", NULL };
const char *m7af794ea[] = { "/ad_serv.", NULL };
const char *m7af80f6f[] = { "bluesattv.net/bluesat.swf", NULL };
const char *m7afab68c[] = { "50.16.191.59^", NULL };
@@ -23767,6 +23813,7 @@ const char *m7e54c763[] = { "weqpkntrxqzh.com^", NULL };
const char *m7e55d51c[] = { "contentinsights.com^", NULL };
const char *m7e575b37[] = { "globalwebindex.net^", NULL };
const char *m7e586de3[] = { "/pv.gif?1=", NULL };
+const char *m7e5872b8[] = { "kujwlsnl.com^", NULL };
const char *m7e58937d[] = { "_ad_promo2.", NULL };
const char *m7e59df18[] = { "static9.net.au^", "^advert.js", NULL };
const char *m7e5a33c6[] = { "museter.com/track.php?", NULL };
@@ -23874,7 +23921,6 @@ const char *m7ebd93f6[] = { "wbvwcyssssh.com^", NULL };
const char *m7ebe7cc7[] = { "seedtag.com^", NULL };
const char *m7ebf5f4f[] = { "wovencube.com/track/", NULL };
const char *m7ec22806[] = { "link.huffingtonpost.com^", NULL };
-const char *m7ec27b4c[] = { "gateway.reddit.com^", NULL };
const char *m7ec393d4[] = { "/ad_art/", NULL };
const char *m7ec49752[] = { "wywrettqmke.com^", NULL };
const char *m7ec56001[] = { ".trafficTracking.", NULL };
@@ -24133,6 +24179,7 @@ const char *m8010b9b0[] = { "popmyad.com^", NULL };
const char *m8012aef6[] = { "/cbgads.", NULL };
const char *m8013ab4e[] = { "tvesvlvse.com^", NULL };
const char *m80145b1a[] = { "jiayuan.com^", "^pv.js", NULL };
+const char *m80185941[] = { "wozltvfxtntaqk.com^", NULL };
const char *m801a7d5a[] = { "sdancelive.com/images/banners/", NULL };
const char *m801a806f[] = { "crazy-torrent.com/web/banner/online.jpg", NULL };
const char *m801b2845[] = { "ad-clicks.com^", NULL };
@@ -24604,6 +24651,7 @@ const char *m82517f15[] = { "firefoxchina.cn/", "/trac.js", NULL };
const char *m82537927[] = { "brand.ad^", NULL };
const char *m8253cdde[] = { "trackcdn.com^", NULL };
const char *m82540eef[] = { "mahnatka.ru^", NULL };
+const char *m8254788a[] = { "zafrc.5780.site^", NULL };
const char *m8254cc8f[] = { ".com/ad2/", NULL };
const char *m82569f6b[] = { "/pic.gif?m=", NULL };
const char *m8257758 [] = { "dwabissw.com^", NULL };
@@ -25287,6 +25335,7 @@ const char *m858f6378[] = { "dc.letv.com^", NULL };
const char *m858f9ea6[] = { "aircanada.com/shared/common/sitecatalyst/s_code.js", NULL };
const char *m85938639[] = { "/_iframe728x90.", NULL };
const char *m85940554[] = { "coupling-media.de^", NULL };
+const char *m859566d0[] = { "freecoursesonline.us/sw.js", NULL };
const char *m859590f4[] = { "eth-pocket.com^", NULL };
const char *m85985dd [] = { "codingcrazy.com/demo/adframe.js", NULL };
const char *m85989844[] = { "start.no/advertpro/servlet/view/text/html/zone?zid=", NULL };
@@ -25532,6 +25581,7 @@ const char *m86cf39a7[] = { "204fb89cebc76.com^", NULL };
const char *m86d08014[] = { "cxmedia.co^", NULL };
const char *m86d17e5b[] = { "/impression.track?", NULL };
const char *m86d2aa4 [] = { "andyhoppe.com^", NULL };
+const char *m86d515c3[] = { "abc.es/pixel/", NULL };
const char *m86d53525[] = { "esus.com/images/regiochat_logo.png", NULL };
const char *m86d63402[] = { "/advs-instream.", NULL };
const char *m86db9ac8[] = { "mkfumtmi.bid^", NULL };
@@ -26159,6 +26209,7 @@ const char *m89c68413[] = { "vcommission.com^", NULL };
const char *m89c6ff22[] = { "/adswrappermsni.", NULL };
const char *m89c86f5a[] = { "-adv.js", NULL };
const char *m89cbcfaf[] = { "/tracking/csp?", NULL };
+const char *m89cd07a [] = { "/services/getbanner?", NULL };
const char *m89cd5333[] = { "bing.com^", "^GLinkPing.aspx", NULL };
const char *m89cdc6f0[] = { "adzincome.in^", NULL };
const char *m89cf0cb8[] = { "egotastic.us.intellitxt.com/intellitxt/front.asp", NULL };
@@ -26179,6 +26230,7 @@ const char *m89e7bb6b[] = { "vertical-stats.huffpost.com^", NULL };
const char *m89e95a26[] = { "/betamax_tracker.gif?", NULL };
const char *m89e9e41d[] = { "/streambeam-jw.", NULL };
const char *m89eb3654[] = { "newser.com/utility.aspx?", NULL };
+const char *m89eccc07[] = { "hcyqwhquqjosn.com^", NULL };
const char *m89eda53 [] = { "zhqzqupvgczom.com^", NULL };
const char *m89edb286[] = { "/950_250.", NULL };
const char *m89ef6e1 [] = { "dyncdn.celebuzz.com/assets/", NULL };
@@ -26193,6 +26245,7 @@ const char *m89f86e67[] = { ",970x90;", NULL };
const char *m89f97cf4[] = { "northjersey.com^", "_Sponsor.", NULL };
const char *m89fa0957[] = { "dropbox.com/el/?b=open:", NULL };
const char *m89fa7526[] = { "24counter.com^", NULL };
+const char *m89fca81e[] = { "tqixovpneycfmk.com^", NULL };
const char *m89fd2fa2[] = { "phpbb.com^", "^images^hosting^hostmonster-downloads.gif", NULL };
const char *m89fd6b3 [] = { "kwyxncikkzz.bid^", NULL };
const char *m89fdad64[] = { ".php?adv=", NULL };
@@ -26619,6 +26672,7 @@ const char *m8beda0d0[] = { "/ontopadvertising.", NULL };
const char *m8bef815a[] = { "revitalize.club^", NULL };
const char *m8bf004c1[] = { "piano-media.com/auth/index.php?", NULL };
const char *m8bf0e931[] = { "kutlvuitevgw.com^", NULL };
+const char *m8bf29f85[] = { "games.gamesplaza.com/shared/loader/gads.js", NULL };
const char *m8bf58e5a[] = { "bestbuy.com^", "^tracking^liveManager-min.js", NULL };
const char *m8bf90c49[] = { "mezihrnjuc.com^", NULL };
const char *m8bfb937d[] = { ".com/promodisplay?", NULL };
@@ -27501,6 +27555,7 @@ const char *m9027d08f[] = { "zeus.developershed.com^", NULL };
const char *m90289bad[] = { "/AdCookies.js", NULL };
const char *m9028ad2e[] = { "/td-ads-", NULL };
const char *m9028e0c4[] = { "/adimages/", NULL };
+const char *m902ab125[] = { "smassets.net/assets/anonweb/anonweb-click-", NULL };
const char *m902b6572[] = { "pixazza.com/track/", NULL };
const char *m902e1b50[] = { "gdbohhvoo.com^", NULL };
const char *m902e301d[] = { "adfootprints.com^", NULL };
@@ -27719,6 +27774,7 @@ const char *m91161f63[] = { "125x600.swf", NULL };
const char *m9117a536[] = { "cdn.mgid.com^", NULL };
const char *m9117e13e[] = { "meatballsandads.com^", NULL };
const char *m91189243[] = { "promo-reklama.ru^", NULL };
+const char *m911e6915[] = { "flbecoidmt.com^", NULL };
const char *m912089f1[] = { "adtikimdtfbb.com^", NULL };
const char *m9120d7dc[] = { "adserver.irishwebmasterforum.com^", NULL };
const char *m91216b5b[] = { "yrfrvrbmipzb.com^", NULL };
@@ -28379,6 +28435,7 @@ const char *m943ca017[] = { "wdnalofau.bid^", NULL };
const char *m943e4d4e[] = { "/ads?callback", NULL };
const char *m943f7d9b[] = { "bdafhnltyxlw.com^", NULL };
const char *m943f7e4d[] = { "sporcle.com/adn/yak.php?", NULL };
+const char *m944375b1[] = { "tracker.trackerfix.com^", NULL };
const char *m94438da [] = { "click2jump.com^", NULL };
const char *m94462164[] = { "skyroyale.io^", NULL };
const char *m94483c26[] = { "eabgoszdtq.com^", NULL };
@@ -28403,7 +28460,6 @@ const char *m946148a8[] = { "ajmyrtdiwvg.bid^", NULL };
const char *m9464554e[] = { "nanopress.it/lab.js", NULL };
const char *m9464633c[] = { "reundcwkqvctq.com^", NULL };
const char *m9464c6c [] = { "acrididae.com^", NULL };
-const char *m9465a7ba[] = { "/servlet/click/zone?", NULL };
const char *m9466ac3d[] = { "/adseperator_", NULL };
const char *m94695a5 [] = { "kbb.com/js/advert.js", NULL };
const char *m946ebc1f[] = { "linknotification.com^", NULL };
@@ -28547,6 +28603,7 @@ const char *m95224e4d[] = { "/600x90.", NULL };
const char *m9522f7 [] = { "akipress.org/bimages/", NULL };
const char *m9523fe40[] = { "tracking.ukwm.co.uk^", NULL };
const char *m9528a78f[] = { "/netrum.", NULL };
+const char *m9529ffa0[] = { "adnz.co^", NULL };
const char *m952bb90a[] = { "settleships.com^", NULL };
const char *m952f637d[] = { "/ads/header/", NULL };
const char *m952fa43f[] = { "mitel.marketbright.com^", NULL };
@@ -28926,7 +28983,6 @@ const char *m96fd80cc[] = { "efjucmgdzexeab.com^", NULL };
const char *m96fe0bcf[] = { "td553.com^", NULL };
const char *m96fef82b[] = { "lifehacker.co.in/doubleclickads/", NULL };
const char *m96ffd93 [] = { "smartad.ee^", NULL };
-const char *m9700317d[] = { "mediadvertising.ro^", NULL };
const char *m9701f76f[] = { "/ad_title_", NULL };
const char *m970306e6[] = { "analytics.infobae.com^", NULL };
const char *m97035fe8[] = { "d2cgumzzqhgmdu.cloudfront.net^", NULL };
@@ -30407,6 +30463,7 @@ const char *m9e139b63[] = { "6200a50af8e3.com^", NULL };
const char *m9e1421a7[] = { "ifirstrowit.eu^", NULL };
const char *m9e18e7a8[] = { "728x90.php?", NULL };
const char *m9e199b97[] = { "vkzziiuqacv.com^", NULL };
+const char *m9e19f58c[] = { "logs.roku.com^", NULL };
const char *m9e1bb1a9[] = { "ksloibpah.com^", NULL };
const char *m9e1c9973[] = { "/webanalytics3.", NULL };
const char *m9e1d1790[] = { "vjyzfgwkzp.com^", NULL };
@@ -31109,7 +31166,6 @@ const char *ma165e02d[] = { "turner.com^", "^ads^freewheel^", "^admanager.swf",
const char *ma165e3a6[] = { "egxkjjqke.bid^", NULL };
const char *ma167e00e[] = { "/search/ads_", NULL };
const char *ma1682ed1[] = { "exchangeandmart.co.uk/js/ga.js", NULL };
-const char *ma1685d99[] = { "sx.trhnt.com^", NULL };
const char *ma16a520c[] = { "directaclick.com^", NULL };
const char *ma16ab54f[] = { "bruceleadx2.com^", NULL };
const char *ma16bfb90[] = { "ccmoxtwauruz.bid^", NULL };
@@ -31466,7 +31522,6 @@ const char *ma2fde934[] = { "busyd5s0.faith^", NULL };
const char *ma2fdf356[] = { "g22rbb7.com^", NULL };
const char *ma2ff4a67[] = { "loginlog.sdo.com^", NULL };
const char *ma300b222[] = { "viedeo2k.tv^", NULL };
-const char *ma302b6c6[] = { "ov2ochu.bid^", NULL };
const char *ma3045bc1[] = { "swagmp3.com/cdn-cgi/pe/", NULL };
const char *ma305652e[] = { "classicsdujour.com/artistbanners/", NULL };
const char *ma305bf13[] = { "subs4free.com^", "^wh4_s4f_", NULL };
@@ -31649,6 +31704,7 @@ const char *ma3dfb6e1[] = { "silvergamed.com^", NULL };
const char *ma3e03d24[] = { "/rcom-video-ads.", NULL };
const char *ma3e1da29[] = { "/adsense4.", NULL };
const char *ma3e268fc[] = { "khgwakmfavzch.bid^", NULL };
+const char *ma3e271b9[] = { "ctjtlrmy.com^", NULL };
const char *ma3e2a51a[] = { "/ems/ads.", NULL };
const char *ma3e32730[] = { "russian-dreams.net/static/js/", NULL };
const char *ma3e415d1[] = { "analytics.prod.aws.ecnext.net^", NULL };
@@ -32116,6 +32172,7 @@ const char *ma5ea29a4[] = { "speedcafe.com^", "-banner-", NULL };
const char *ma5ebcc71[] = { "xhmakwcpmg.bid^", NULL };
const char *ma5eda26b[] = { "rqtrk.eu^", NULL };
const char *ma5ee416a[] = { "/apixel?", NULL };
+const char *ma5eebb73[] = { "flnqkhnqjcmvp.com^", NULL };
const char *ma5ef505e[] = { "/banner/700", NULL };
const char *ma5ef9361[] = { "/lijit-ad-", NULL };
const char *ma5f0fd3a[] = { "ualobhbpjbjtm.bid^", NULL };
@@ -32637,6 +32694,7 @@ const char *ma8776d51[] = { "vibrant.co^", NULL };
const char *ma87afd8c[] = { "izigo.pt^", "^adsearch^", NULL };
const char *ma87b3897[] = { "93.93.53.198^", NULL };
const char *ma87b7819[] = { "kassfm.co.ke/images/moneygram.gif", NULL };
+const char *ma87db459[] = { "docqacvwhgbxv.com^", NULL };
const char *ma87dcf54[] = { "/amazon-async-", NULL };
const char *ma87de212[] = { "trafficvance.com^", NULL };
const char *ma87df34a[] = { "tower-colocation.info^", NULL };
@@ -32704,6 +32762,7 @@ const char *ma8cdc602[] = { "bango.net/exid/", ".gif?", NULL };
const char *ma8ce7913[] = { "lowellsun.com/litebanner/", NULL };
const char *ma8d11158[] = { "unibet.co.uk/", "affiliate", NULL };
const char *ma8d26fb7[] = { "brothersincash.com^", NULL };
+const char *ma8d296ed[] = { "nxewruvxprbd.com^", NULL };
const char *ma8d2eb51[] = { "servedbyadbutler.com/adserve/", NULL };
const char *ma8d34e0f[] = { "/xmladparser.", NULL };
const char *ma8d3e766[] = { "/17/ads/", NULL };
@@ -33152,6 +33211,7 @@ const char *maac685e [] = { "afyqzjxzuupmz.bid^", NULL };
const char *maac7a3a8[] = { "/md.js?country=", NULL };
const char *maacb5cbf[] = { "software.informer.com", "/ads.js", NULL };
const char *maacf25ab[] = { "thoughtleadr.com^", NULL };
+const char *maad0df55[] = { "utmcttmdaoqd.com^", NULL };
const char *maad46507[] = { "ge.tt/api/", NULL };
const char *maad49c8d[] = { "jpnudjqejbpx.bid^", NULL };
const char *maad60bb [] = { "exitexplosion.com^", NULL };
@@ -34630,6 +34690,7 @@ const char *mb15d8e65[] = { "revcontent.com/video.js.php", NULL };
const char *mb15def20[] = { "instinctiveads.com^", NULL };
const char *mb15e2271[] = { "piet2eix3l.com^", NULL };
const char *mb15e3725[] = { "meta4-group.com^", NULL };
+const char *mb1617609[] = { "polarcdn-pentos.com^", NULL };
const char *mb163186f[] = { "ltnjtphbbvigi.bid^", NULL };
const char *mb163cd8c[] = { "affiliates.digitalriver.com^", NULL };
const char *mb1664e49[] = { "oicbwkyjsyxjgj.bid^", NULL };
@@ -34998,6 +35059,7 @@ const char *mb31c397b[] = { "ad-miner.com^", NULL };
const char *mb31ec9f9[] = { "passport.pfn.bz^", NULL };
const char *mb31f269d[] = { "sslboost.com^", NULL };
const char *mb31f3570[] = { "spycock.com/exa/", NULL };
+const char *mb31f3af4[] = { "webpushcloud.info^", NULL };
const char *mb31f504b[] = { "/googleana.", NULL };
const char *mb3216a4c[] = { ".1d/ads/", NULL };
const char *mb322fcce[] = { "zip2save.com/widget.php?", NULL };
@@ -35460,6 +35522,7 @@ const char *mb546a349[] = { "/advertisements_", NULL };
const char *mb546ba1e[] = { "magical-sky.com^", NULL };
const char *mb54cac8c[] = { "mypromocenter.com^", NULL };
const char *mb54cd4c9[] = { "tracking.chacha.com^", NULL };
+const char *mb54f64fd[] = { "ipehunxxyir.com^", NULL };
const char *mb5507070[] = { "nnioduwnrwpq.bid^", NULL };
const char *mb552bf8b[] = { "april29-disp-download.com^", NULL };
const char *mb552e122[] = { "/dyn_banners_", NULL };
@@ -35621,10 +35684,12 @@ const char *mb60cf95 [] = { "akamai.net^", "^button.clickability.com^", NULL };
const char *mb60d1ffc[] = { "affiliates.homestead.com^", NULL };
const char *mb60f314 [] = { "/b/ss/", "&aqe=", NULL };
const char *mb60f64f0[] = { "drtuber.com^", "^aff_banner.swf", NULL };
+const char *mb6114fb7[] = { "bimwswreljucxa.com^", NULL };
const char *mb6116850[] = { "/anti-adblock/", NULL };
const char *mb613c72c[] = { "karelia.info/counter/", NULL };
const char *mb613fa62[] = { "/xitcore-min.js", NULL };
const char *mb6141767[] = { "redirectpopads.com^", NULL };
+const char *mb617cb04[] = { "imgmaze.pw^", NULL };
const char *mb61b9377[] = { "/csm/analytics;", NULL };
const char *mb61ba405[] = { "macintouch.com/images/owc_", NULL };
const char *mb61c3f26[] = { "/rcolads2.", NULL };
@@ -35857,6 +35922,7 @@ const char *mb72c2d6b[] = { "visit.homepagle.com^", NULL };
const char *mb72d0026[] = { "sp.battlecreekenquirer.com^", NULL };
const char *mb72d3ddb[] = { "mlb.com/shared/scripts/bam.tracking.js", NULL };
const char *mb72d6f0 [] = { "lendingtree.com/forms/eventtracking?", NULL };
+const char *mb72d7426[] = { "nnroeulsnslk.com^", NULL };
const char *mb72d750c[] = { "facepunch.io^", NULL };
const char *mb72e6d0a[] = { "storage.to/affiliate/", NULL };
const char *mb72e7c56[] = { "player.flix.co.il/scripts/GoogleAnalytics.js", NULL };
@@ -36307,6 +36373,7 @@ const char *mb95468a5[] = { "thefappeningblog.com/sproject/", NULL };
const char *mb955bb22[] = { "/adv-f.", NULL };
const char *mb955d4da[] = { "/analytics-beacon-", NULL };
const char *mb9563271[] = { ".com/u.gif?", NULL };
+const char *mb95641a3[] = { "chardwardse.club^", NULL };
const char *mb958255a[] = { "ar15.com^", "_60x180.jpg", NULL };
const char *mb9588280[] = { "thepornsurvey.com^", NULL };
const char *mb9598268[] = { "brothersoft.com/gg/g.js", NULL };
@@ -36623,6 +36690,7 @@ const char *mbaafb23c[] = { "google-analytics.com^batch^", NULL };
const char *mbab106c8[] = { "localsearch24.co.uk^", NULL };
const char *mbab27fc [] = { "metricsdirect.com^", NULL };
const char *mbab48ccc[] = { "analytics.live.com^", NULL };
+const char *mbab57209[] = { "vuwojxgklca.com^", NULL };
const char *mbab60e55[] = { "pubdirecte.com^", "^advertisement.js", NULL };
const char *mbaba3091[] = { "torrentz.", "/wgmpop/", NULL };
const char *mbabb71a6[] = { "tricasi.info^", NULL };
@@ -36991,6 +37059,7 @@ const char *mbc586138[] = { "interest.co.nz^", "_skin_", NULL };
const char *mbc58b624[] = { "tubepornclassic.com/js/111.js", NULL };
const char *mbc59701b[] = { "tugaflix.net/tema/marsbet_3.gif", NULL };
const char *mbc5badb7[] = { "dnews.de^", "^arnostat302.js", NULL };
+const char *mbc5c40a7[] = { "logs.logrocket.com^", NULL };
const char *mbc5d45a6[] = { "cloudfront.net", "/keywee.min.js", NULL };
const char *mbc5dfae8[] = { "/advobj.", NULL };
const char *mbc62bd45[] = { "statking.net^", "^count.js", NULL };
@@ -37246,6 +37315,7 @@ const char *mbd8eac1d[] = { "bedorm.com^", NULL };
const char *mbd8f02c0[] = { "ryeoanvkettth.com^", NULL };
const char *mbd900f88[] = { "longtailvideo.com/5/adtvideo/adtvideo.js", NULL };
const char *mbd92c5cb[] = { "sdrive.skoda-auto.com^", NULL };
+const char *mbd937ac5[] = { "lvcrcimfmfx.com^", NULL };
const char *mbd941e73[] = { "_ad_bsb.", NULL };
const char *mbd946730[] = { "/event/pageview/", NULL };
const char *mbd9564b5[] = { "linkwi.se^", NULL };
@@ -37310,6 +37380,7 @@ const char *mbdd3a1fd[] = { "43137c93a82b0e81da.com^", NULL };
const char *mbdd5305d[] = { "/stats/impression", NULL };
const char *mbdd60695[] = { "metrigo.com^", NULL };
const char *mbdd64b1 [] = { "pings.reembed.com^", NULL };
+const char *mbdd75ce7[] = { "/chartbeatanalytics/", NULL };
const char *mbdd92373[] = { "merkur.de/connector.php?", NULL };
const char *mbddbe34e[] = { "alltheladyz.xyz^", NULL };
const char *mbde03f24[] = { "_trafficTracking.", NULL };
@@ -38209,6 +38280,7 @@ const char *mc2099993[] = { "irrttzthsxot.com^", NULL };
const char *mc20b1be7[] = { "friedrice.la/widget/", NULL };
const char *mc20c3b8 [] = { "fcfd5de4b3be3.com^", NULL };
const char *mc20d3159[] = { "my-stats.info^", NULL };
+const char *mc20db6f [] = { "mhhjdlsnji.com^", NULL };
const char *mc20ebc49[] = { "popwin.net^", NULL };
const char *mc20ec65d[] = { "oovoo.com^", "^banners^", NULL };
const char *mc213a8f8[] = { "/webstatistik/track.asp", NULL };
@@ -38424,6 +38496,7 @@ const char *mc31997dd[] = { "-300x250_", NULL };
const char *mc31a00d2[] = { "bizo.com^", NULL };
const char *mc31c65bc[] = { "wsrjplhhhfmfsx.com^", NULL };
const char *mc31c721 [] = { "linkclicks.com^", NULL };
+const char *mc31d9c7f[] = { "/limitedads/", NULL };
const char *mc31e4e3d[] = { "propbn.com^", NULL };
const char *mc31fb820[] = { "pixel.indieclicktv.com/annonymous/", NULL };
const char *mc321350b[] = { "dvdempire.com/images/empty2.asp", NULL };
@@ -38630,6 +38703,7 @@ const char *mc41df9e0[] = { "d-h.st/assets/img/download1.png", NULL };
const char *mc41f302a[] = { "steepto.com^", NULL };
const char *mc41f59f0[] = { "rawstory.com/givememyrawgfpdirect.php?", NULL };
const char *mc41fcfd7[] = { "teasernet.com^", NULL };
+const char *mc42192e2[] = { "pegfkacjwjca.com^", NULL };
const char *mc4247211[] = { "/dspads.", NULL };
const char *mc4265681[] = { "rules.noadblock.org^", NULL };
const char *mc426da1a[] = { "/ajaxtracker.", NULL };
@@ -39304,6 +39378,7 @@ const char *mc7466daf[] = { "sexwebvideo.com/js/ads.js", NULL };
const char *mc748e4cf[] = { "israelidiamond.co.il^", "^bannerdisplay.aspx^", NULL };
const char *mc749374b[] = { "/rolluptracker_", NULL };
const char *mc74af261[] = { "yfqlqjpdsckc.com^", NULL };
+const char *mc74b1159[] = { "cdnserv.pw^", NULL };
const char *mc74b77ae[] = { "/ad132m.", NULL };
const char *mc74c5a7b[] = { "wiilovemario.com/images/fc-twin-play-nes-snes-cartridges.png", NULL };
const char *mc74d47f7[] = { "lazkslkkmtpy.com^", NULL };
@@ -41476,6 +41551,7 @@ const char *md12eafaf[] = { "twimg.com/jot?", NULL };
const char *md130046 [] = { "webstatistika.lv^", NULL };
const char *md1312761[] = { "-120x600.", NULL };
const char *md131914a[] = { "n4g.com^", "^IndieMonthSideBarWidget^", NULL };
+const char *md131f8bb[] = { "ens.tagblatt.ch^", NULL };
const char *md132b6fb[] = { "telegraphcouk.skimlinks.com/api/telegraph.skimlinks.js", NULL };
const char *md1353841[] = { "rue1mi4.bid^", NULL };
const char *md1356290[] = { "trendemon.com^", NULL };
@@ -41605,6 +41681,7 @@ const char *md1cd9eac[] = { "maxmind.com/geoip/", NULL };
const char *md1d18dc9[] = { "banik.redigy.cz^", NULL };
const char *md1d19641[] = { "opienetwork.com^", NULL };
const char *md1d24be0[] = { "bravome.pro^", NULL };
+const char *md1d2b83d[] = { "peyttlwbznahi.com^", NULL };
const char *md1d2c2a4[] = { "/revealaads.", NULL };
const char *md1d436de[] = { "honeybadger.io^", "^honeybadger.min.js", NULL };
const char *md1d8fed3[] = { "yigouw.com/c.js", NULL };
@@ -43203,6 +43280,7 @@ const char *md94b58c8[] = { "coedmediagroup.com^", NULL };
const char *md94baef6[] = { "scoutingbook.com/js/adsense.js", NULL };
const char *md94daee7[] = { "_left_ad.", NULL };
const char *md950d62b[] = { "itrac.it^", NULL };
+const char *md9537d22[] = { "katxkxcncwool.com^", NULL };
const char *md954527 [] = { "clickmanage.com^", NULL };
const char *md954a08f[] = { "mlfvoqwjvbzy.bid^", NULL };
const char *md955d5fb[] = { "lemde.fr^", "^metrics^", NULL };
@@ -43575,6 +43653,7 @@ const char *mdaffef7d[] = { "pguwtwcougzrc.bid^", NULL };
const char *mdb0002bf[] = { "glocktalk.com/forums/images/banners/", NULL };
const char *mdb006887[] = { "bannercommunity.de^", NULL };
const char *mdb021c3f[] = { "/google-analytics-", NULL };
+const char *mdb02956b[] = { "khefhmgfwnnqgv.com^", NULL };
const char *mdb06439d[] = { "ad.foxnetworks.com^", NULL };
const char *mdb06d23d[] = { "/semsocial/", "/analytics.js", NULL };
const char *mdb074935[] = { "tightexact.net^", NULL };
@@ -44594,6 +44673,7 @@ const char *mdf982f3 [] = { "/ajaxClicktrack.", NULL };
const char *mdf99389f[] = { "8muses.com^", NULL };
const char *mdf99b8ef[] = { "oougyykaeipzg.bid^", NULL };
const char *mdf99e034[] = { "narrative.ly/ads/", NULL };
+const char *mdf9b70ad[] = { "rkgznnhikrfphq.com^", NULL };
const char *mdf9bde3a[] = { "linkbucks.com/visitScript/", NULL };
const char *mdf9bfa2c[] = { "webseeds.com^", NULL };
const char *mdf9e2a3d[] = { "/cnt.cgi?", NULL };
@@ -44607,6 +44687,7 @@ const char *mdfa6f1cd[] = { "pub.sheknows.com^", NULL };
const char *mdfa8aedb[] = { "clicktracker.iscan.nl^", NULL };
const char *mdfaa9f88[] = { "jwplatform.com^", NULL };
const char *mdfaad6f2[] = { "uhytajrtpo-a.akamaihd.net/nrse.html", NULL };
+const char *mdfb15bcf[] = { "ntwhbuqmel.com^", NULL };
const char *mdfb5d6da[] = { "/sdctag1.js", NULL };
const char *mdfb5f067[] = { "/unica.gif?", NULL };
const char *mdfb60f9a[] = { "poppysol.com^", NULL };
@@ -44694,7 +44775,6 @@ const char *me0147eab[] = { "replacescript.in^", NULL };
const char *me014e71 [] = { "ebbldazyvt.com^", NULL };
const char *me01629bc[] = { "worldvision.org/kana/wvcg_wvorg.asp?", NULL };
const char *me0183bd5[] = { "ozhwenyohtpb.com^", NULL };
-const char *me0198232[] = { "playhaven.com^", NULL };
const char *me01a0bbd[] = { "krxexwfnghfu.com^", NULL };
const char *me01af6d1[] = { "princetonreview.com/logging/", NULL };
const char *me01c37ae[] = { "phncdn.com/js/ad_form_header/ad_form_header-min.js?", NULL };
@@ -44808,6 +44888,7 @@ const char *me0900ef2[] = { "dhenktvqqmbcnj.bid^", NULL };
const char *me090b4f2[] = { "hasingham.com^", NULL };
const char *me090e6b3[] = { "idownloadgalore.com^", NULL };
const char *me094b412[] = { "nkjssnadxejm.com^", NULL };
+const char *me095ca3f[] = { "qknfsqxxm.com^", NULL };
const char *me09886df[] = { "qknuubmfneib.com^", NULL };
const char *me0996939[] = { "slacker.com^", "^adnetworks.swf", NULL };
const char *me0999d27[] = { "infomine.com/imcounter.js", NULL };
@@ -44824,6 +44905,7 @@ const char *me0b0d34d[] = { "vanilladev.com/analytics.", NULL };
const char *me0b1bce1[] = { "vast.videe.tv/vast-proxy/", NULL };
const char *me0b2a61a[] = { "candid.zone^", NULL };
const char *me0b47eca[] = { "nrk.no^", "^stats^", NULL };
+const char *me0b53ad8[] = { "vbjpddtj.com^", NULL };
const char *me0b72650[] = { "track.bluecompany.cl^", NULL };
const char *me0b7762d[] = { "adbasket.net^", NULL };
const char *me0b96a1b[] = { "fastcontentdelivery.com^", NULL };
@@ -46149,7 +46231,6 @@ const char *me6e7351f[] = { "/get/ad?", NULL };
const char *me6e93cf [] = { "/bundles/ads-", NULL };
const char *me6e9989e[] = { "affiliates-pro.com^", NULL };
const char *me6ea481b[] = { "pix.friendscout24.de^", NULL };
-const char *me6ee959a[] = { "crazypanda.ru/m/js/social-", NULL };
const char *me6efd8af[] = { "paymentgate.ru/payment/", "_Advert/", NULL };
const char *me6f082ac[] = { "nelgpwiezcwynt.bid^", NULL };
const char *me6f083c4[] = { "bebusiness.eu/js/adview.js", NULL };
@@ -46164,6 +46245,7 @@ const char *me6f92ce9[] = { "/adsame.", NULL };
const char *me6faade7[] = { "zlfpmrmkr.com^", NULL };
const char *me6fd6da4[] = { "origin.getprice.com.au/widgetnewssmall.aspx", NULL };
const char *me7013545[] = { "plemencomp.co^", NULL };
+const char *me702b645[] = { "ens.luzernerzeitung.ch^", NULL };
const char *me7036e04[] = { "htonrwegnifw.com^", NULL };
const char *me7042c4e[] = { "ads.leovegas.com/redirect.aspx?pid=", "&bid=", NULL };
const char *me704e1da[] = { "halogennetwork.com^", NULL };
@@ -47284,6 +47366,7 @@ const char *mec5e0af1[] = { "webtraffic.ttinet.com^", NULL };
const char *mec5f7785[] = { "log.wilmaa.com^", NULL };
const char *mec5fa6eb[] = { "/bottom_adv.", NULL };
const char *mec6018da[] = { "ticrite.com^", NULL };
+const char *mec645a87[] = { "uvlyzxml.com^", NULL };
const char *mec647d37[] = { "tmjavresvaqxly.bid^", NULL };
const char *mec650a34[] = { "rjljndfgnkcu.com^", NULL };
const char *mec66b05 [] = { "mediaffiliation.com^", NULL };
@@ -47803,6 +47886,7 @@ const char *meea8f5a4[] = { "analytics.edgesuite.net/html5/akamaihtml5-min.js?",
const char *meea95bcb[] = { "fm.tuba.pl/tuba3/_js/advert.js", NULL };
const char *meeab16ca[] = { "204st.us^", NULL };
const char *meeab666f[] = { "/siteads.", NULL };
+const char *meeac3b7a[] = { "baphruesqm.com^", NULL };
const char *meeaca8fb[] = { "pleasedontslaymy.download^", NULL };
const char *meeb0dc7c[] = { "-728x90px2.", NULL };
const char *meeb16044[] = { "/open?shu=", NULL };
@@ -47854,6 +47938,7 @@ const char *meeed5363[] = { "eu5.org^", "^advert.js", NULL };
const char *meeed6946[] = { "supert.ag^", NULL };
const char *meeee2035[] = { "/scaradcontrol.", NULL };
const char *meeee47cb[] = { "sinaimg.cn/unipro/pub/", NULL };
+const char *meeeecbd5[] = { "1movies.se/sw.js", NULL };
const char *meeef5df3[] = { "blogbannerexchange.com^", NULL };
const char *meeef9446[] = { "ndqvlall.com^", NULL };
const char *meef032da[] = { "ajuegtbkqnh.com^", NULL };
@@ -47929,6 +48014,7 @@ const char *mef4d8947[] = { "ncregister.com/images/ads/", NULL };
const char *mef50737c[] = { "/pool.ads.", NULL };
const char *mef51c1d8[] = { "/adnetwork_", NULL };
const char *mef51d7ff[] = { "adsdk.com^", NULL };
+const char *mef5234a [] = { "/mms/get_loaders?", NULL };
const char *mef534c55[] = { "/flesh_banner", NULL };
const char *mef559a67[] = { "/seostats/", NULL };
const char *mef55ab49[] = { "ukbride.co.uk/css/", "/adverts.css", NULL };
@@ -47953,6 +48039,7 @@ const char *mef7103ea[] = { "105app.com/report/?", NULL };
const char *mef7153e8[] = { "seiqobwpbofg.com^", NULL };
const char *mef717ed4[] = { "paypopup.com^", NULL };
const char *mef71e51c[] = { "rankingscout.com^", NULL };
+const char *mef71fce2[] = { "vrzparvhipmo.com^", NULL };
const char *mef7432c6[] = { "dailymaverick.co.za/js/ads/ads.js", NULL };
const char *mef74c36a[] = { "/adzilla/", NULL };
const char *mef780a8f[] = { "mcagbtdcwklf.com^", NULL };
@@ -49483,6 +49570,7 @@ const char *mf6ab5b3f[] = { "wnp.com^", NULL };
const char *mf6ac21ff[] = { "adk2.co^", NULL };
const char *mf6ad4bfc[] = { ".net/p.gif?", NULL };
const char *mf6b0fa2c[] = { "sexyclips.org/banners/", NULL };
+const char *mf6b17ad2[] = { "ptrahwwg.com^", NULL };
const char *mf6b2c6cf[] = { "/cgi-bin/ivw/", NULL };
const char *mf6b2ea87[] = { "youjizz.com/js/localdata.js", NULL };
const char *mf6b52c08[] = { "vcwdjbbughuy.com^", NULL };
@@ -49519,10 +49607,12 @@ const char *mf6d5abd7[] = { "mixpo.com/js/bust.js", NULL };
const char *mf6d74a10[] = { "bc.geocities.", NULL };
const char *mf6dac25b[] = { "goodyhoo.com/banners/", NULL };
const char *mf6dcc983[] = { "/spotxchangeplugin.", NULL };
+const char *mf6dccada[] = { "imgview.pw^", NULL };
const char *mf6df0b69[] = { "ecxtuyttpfe.bid^", NULL };
const char *mf6e084b6[] = { "lasttorrents.org/pcmadd.swf", NULL };
const char *mf6e37445[] = { "amazonaws.com^", "-Banner.jpg", NULL };
const char *mf6e3f4c4[] = { "neddwrmmced.bid^", NULL };
+const char *mf6e3fc84[] = { "xv9xm6zxb8.com^", NULL };
const char *mf6e4ade7[] = { "bigstats.net^", NULL };
const char *mf6e582ed[] = { "/railsad_", NULL };
const char *mf6e6fe64[] = { "yourfastpaydayloans.com^", NULL };
@@ -51098,6 +51188,7 @@ const char *mfe0bb26d[] = { "count.west263.com^", NULL };
const char *mfe0c3595[] = { "sp.dnj.com^", NULL };
const char *mfe0c9475[] = { "/addeals/", NULL };
const char *mfe0f5b78[] = { "powvideo.net/ban/", NULL };
+const char *mfe0fd36a[] = { "media.net/bidexchange.js", NULL };
const char *mfe103f3b[] = { "vtqdavdjsymt.com^", NULL };
const char *mfe108da5[] = { "newsvine.com/jenga/widget/", NULL };
const char *mfe126658[] = { "iivt.com^", NULL };
@@ -51267,6 +51358,7 @@ const char *mfecffe27[] = { "ranking-counter.de^", NULL };
const char *mfed0b4a6[] = { "lmheosvft.com^", NULL };
const char *mfed13102[] = { "stimergeners.pro^", NULL };
const char *mfed2cac1[] = { "pceqybrdyncq.com^", NULL };
+const char *mfed47da9[] = { "ftymzxmic.com^", NULL };
const char *mfed504bd[] = { "/adpan/", NULL };
const char *mfed9c5fe[] = { "uupqrsjbxrstncicwcdlzrcgoycrgurvfbuiraklyimzzyimrq.com^", NULL };
const char *mfedc0fd [] = { "banners.babylon-x.com^", NULL };
@@ -51391,6 +51483,7 @@ const char *mff7b694e[] = { "dronml.ml^", NULL };
const char *mff7bb69f[] = { "plunderguide.com/rectangle2.html", NULL };
const char *mff7bfa32[] = { "bt.com^", "^touchclarity^homepage^omtr_tc.js", NULL };
const char *mff7d8f6f[] = { "pop-rev.com^", NULL };
+const char *mff7ed327[] = { "/OnlineAdServing/", NULL };
const char *mff7fc180[] = { "/redx/c.gif?", NULL };
const char *mff81322e[] = { "jaludo.com/pm.php?", NULL };
const char *mff818b21[] = { "gocdn.site^", NULL };
@@ -51533,6 +51626,7 @@ const char *d138ec66b[] = { "100percentfedup.com", "activistpost.com", "addictin
const char *d13994618[] = { "urlgalleries.net", "xxxstreams.eu", NULL };
const char *d13dfc5e4[] = { "dafiti.cl", "dafiti.com.ar", "dafiti.com.br", "dafiti.com.co", NULL };
const char *d13f79a7a[] = { "yourtailorednews.com", NULL };
+const char *d143659c6[] = { "mahjong.com", NULL };
const char *d143d3e80[] = { "verliga.net", NULL };
const char *d143df0d8[] = { "batmanstream.com", "collectivelyconscious.net", "live.robinwidget.com", NULL };
const char *d144b8e9 [] = { "hanime.tv", NULL };
@@ -51658,7 +51752,6 @@ const char *d252845ad[] = { "cars.com", NULL };
const char *d25a04bd7[] = { "player.vgtrk.com", NULL };
const char *d25a2bb9e[] = { "pandasecurity.com", NULL };
const char *d25a737e1[] = { "adwords.google.com", NULL };
-const char *d25b576b3[] = { "crazypanda.ru", NULL };
const char *d25e3c348[] = { "bigfile.to", NULL };
const char *d25e3d9d5[] = { "afdah.tv", NULL };
const char *d25eaf46d[] = { "spiegel.de", NULL };
@@ -51671,7 +51764,6 @@ const char *d26e53886[] = { "boreburn.com", "yourtailorednews.com", NULL };
const char *d26ef662 [] = { "games.co.uk", NULL };
const char *d270c433f[] = { "m.tv.naver.com", NULL };
const char *d2735dcd7[] = { "arstechnica.com", NULL };
-const char *d2775e5a2[] = { "devast.io", NULL };
const char *d278f2477[] = { "tv4play.se", NULL };
const char *d2794d9e7[] = { "zerozero.pt", NULL };
const char *d27b1e39e[] = { "hentaihaven.org", NULL };
@@ -51692,6 +51784,7 @@ const char *d2a757180[] = { "marketingmag.ca", NULL };
const char *d2aa66467[] = { "slader.com", NULL };
const char *d2ad2f10e[] = { "ynet.com", NULL };
const char *d2ae9a005[] = { "ad.atown.jp", NULL };
+const char *d2b3eb661[] = { "whatismyipaddress.com", NULL };
const char *d2b507479[] = { "eurogamer.net", "nintendolife.com", "rockpapershotgun.com", "usgamer.net", "vg247.com", NULL };
const char *d2b809c2b[] = { "christianity.com", NULL };
const char *d2ba3bb00[] = { "mediafire.com", NULL };
@@ -51881,6 +51974,7 @@ const char *d489a7301[] = { "reempresa.org", NULL };
const char *d48b14044[] = { "wg-gesucht.de", NULL };
const char *d48bb4156[] = { "mackolik.com", "sahadan.com", NULL };
const char *d48ed309a[] = { "cpahero.com", NULL };
+const char *d48f82118[] = { "insuranceloansonline.com", NULL };
const char *d4957d372[] = { "telesurtv.net", NULL };
const char *d4983898a[] = { "asana.com", NULL };
const char *d498adcc1[] = { "flash-x.tv", "flashsx.tv", "flashx.bz", "flashx.cc", "flashx.me", "flashx.run", "flashx.sx", "flashx.to", "flashx.tv", "flashx.ws", "flashx1.tv", "flashxx.tv", NULL };
@@ -52078,6 +52172,7 @@ const char *d68e0d005[] = { "kickass2.ch", NULL };
const char *d68fc130d[] = { "memegenerator.net", NULL };
const char *d6927796d[] = { "yttalk.com", NULL };
const char *d697a503f[] = { "asiananimaltube.org", NULL };
+const char *d699e2efa[] = { "10tv.nana10.co.il", NULL };
const char *d69b67018[] = { "100percentfedup.com", "activistpost.com", "addictinginfo.com", "alfonzorachel.com", "allenwestrepublic.com", "allthingsvegas.com", "americansublime.com", "askmefast.com", "auntyacid.com", "barbwire.com", "bestfunnyjokes4u.com", "bighealthreport.com", "bipartisanreport.com", "breaking911.com", "breathecast.com", "bulletsfirst.net", "celebrity-gossip.net", "clashdaily.com", "classicalite.com", "collapse.news", "comicallyincorrect.com", "conservativebyte.com", "conservativevideos.com", "constitution.com", "coviral.com", "craigjames.com", "creepybasement.com", "crossmap.com", "cyberwar.news", "dailydot.com", "dailyfeed.co.uk", "dailyheadlines.net", "dailyhealthpost.com", "dailysurge.com", "dccrimestories.com", "deneenborelli.com", "digitaljournal.com", "eaglerising.com", "earnthenecklace.com", "enstarz.com", "evil.news", "fitnessconnoisseur.com", "foreverymom.com", "freedom.news", "freedomdaily.com", "freedomforce.com", "freedomoutpost.com", "girlsjustwannahaveguns.com", "glitch.news", "groopspeak.com", "guardianlv.com", "guns.news", "gymflow100.com", "hallels.com", "hautereport.com", "healthstatus.com", "hispolitica.com", "hngn.com", "honesttopaws.com", "ifyouonlynews.com", "infowars.com", "instigatornews.com", "jobsnhire.com", "joeforamerica.com", "juicerhead.com", "justdiy.com", "kdramastars.com", "keepandbear.com", "kpopstarz.com", "lastresistance.com", "latinpost.com", "legalinsurrection.com", "liberty.news", "libertyalliance.com", "libertyunyielding.com", "lidblog.com", "medicine.news", "mentalflare.com", "minutemennews.com", "musictimes.com", "myscienceacademy.org", "natural.news", "naturalblaze.com", "naturalnews.com", "naturalsociety.com", "natureworldnews.com", "newser.com", "newseveryday.com", "newsthump.com", "oddee.com", "opednews.com", "parentherald.com", "patriotoutdoornews.com", "patriottribune.com", "pickthebrain.com", "politicaloutcast.com", "politichicks.com", "practicallyviral.com", "quirlycues.com", "rantlifestyle.com", "realfarmacy.com", "realmomsrealreviews.com", "realtytoday.com", "redhotchacha.com", "redmaryland.com", "returnofkings.com", "rightwingnews.com", "robotics.news", "shark-tank.com", "shedthoselbs.com", "slender.news", "sonsoflibertymedia.com", "spectator.org", "stevedeace.com", "stupid.news", "techconsumer.com", "techtimes.com", "theblacksphere.net", "theboredmind.com", "thefreethoughtproject.com", "thegatewaypundit.com", "themattwalshblog.com", "thepoke.co.uk", "therealside.com", "theviralmob.com", "tosavealife.com", "traileraddict.com", "truththeory.com", "twisted.news", "universityherald.com", "usherald.com", "valuewalk.com", "vcpost.com", "victoriajackson.com", "videogamesblogger.com", "viralnova.com", "viralthread.com", "visiontoamerica.com", "wakingtimes.com", "winningdemocrats.com", "xtribune.com", "youthhealthmag.com", NULL };
const char *d69d1913e[] = { "vidzi.online", "vidzi.si", "vidzi.tv", NULL };
const char *d6a1b33b0[] = { "games.baltimoresun.com", "games.charlotteobserver.com", "games.chicagotribune.com", "games.dailypress.com", "games.express.co.uk", "games.mcall.com", "games.nydailynews.com", "games.orlandosentinel.com", "games.parade.com", "games.reviewjournal.com", "games.sandiegouniontribune.com", "games.somersetlive.co.uk", "games.sun-sentinel.com", "puzzles.bestforpuzzles.com", "puzzles.independent.co.uk", "puzzles.standard.co.uk", NULL };
@@ -52233,7 +52328,6 @@ const char *d81392654[] = { "professionaladviser.com", "theinquirer.net", NULL }
const char *d8197f3f0[] = { "songza.com", NULL };
const char *d81e7e0dd[] = { "shipwire.com", NULL };
const char *d82163398[] = { "i-makeawish.com", NULL };
-const char *d822598a7[] = { "", "povw1deo.com", "povwideo.net", "powvideo.net", NULL };
const char *d82381e14[] = { "o4anews.com", "viralnova.com", NULL };
const char *d82440f54[] = { "mamba.ru", NULL };
const char *d82ffee9f[] = { "i24news.tv", "newindianexpress.com", NULL };
@@ -52298,6 +52392,7 @@ const char *d8b2b79a7[] = { "monova.org", NULL };
const char *d8b41c829[] = { "news-headlines.co.za", NULL };
const char *d8b541797[] = { "apps.facebook.com", "caranddriver.com", "g4tv.com", "nymag.com", "salon.com", "theblaze.com", NULL };
const char *d8b7cf2ce[] = { "yify.tv", NULL };
+const char *d8b9cc160[] = { "wowescape.com", NULL };
const char *d8baf81ba[] = { "fbstreams.me", "livecamtv.me", "mlbstream.me", "nbastreams.me", "nflstreams.me", "nhlstreams.me", NULL };
const char *d8bd1f9fb[] = { "coedmagazine.com", NULL };
const char *d8bedb18c[] = { "mixpanel.com", NULL };
@@ -52350,7 +52445,6 @@ const char *d91eeaa8f[] = { "boxlive.tv", "directon.tv", "foxnews.ws", "icastliv
const char *d92956edb[] = { "gogoanime.se", NULL };
const char *d93773def[] = { "ogame.org", "ogame.us", NULL };
const char *d93db5a33[] = { "animecrave.com", "bostonherald.com", "deluxemusic.tv", "deluxetelevision.com", "theunlockr.com", "videopoker.com", "weeklyworldnews.com", NULL };
-const char *d93dd7f24[] = { "uplod.it", NULL };
const char *d93f89464[] = { "amazon.com", NULL };
const char *d9404804e[] = { "t-online.de", NULL };
const char *d941b4a40[] = { "fijivillage.com", NULL };
@@ -52477,6 +52571,7 @@ const char *da75f0901[] = { "mlbtraderumors.com", NULL };
const char *da763cd1d[] = { "ostrow24.tv", NULL };
const char *da7a0e3f0[] = { "1fichier.com", "limetorrents.cc", "thepiratebay.みんな", NULL };
const char *da7d09f54[] = { "subaru.com", NULL };
+const char *da7dc3aac[] = { "anitubebr.com", NULL };
const char *da7f08201[] = { "0dt.net", "123movies.net", "adyou.me", "animesonlinetk.info", "asianvote.com", "biqle.ru", "bittorrent.am", "bmovies.to", "bonstreams.net", "briansarmiento.website", "bro.adca.st", "buzzfil.net", "clicknupload.org", "clik.pw", "ddlvalley.me", "divxatope1.com", "dropapk.com", "dwatchseries.to", "ewatchseries.to", "eztv.ag", "fbstreams.me", "fileone.tv", "firstrowsports.eu", "flash-x.tv", "flashsx.tv", "flashx.me", "flashx.run", "flashx.sx", "flashx.to", "flashx.tv", "flashx.ws", "flashx1.tv", "flashxx.tv", "gamestorrent.co", "gorillavid.in", "gounlimited.to", "icefilms.info", "igg-games.com", "jkanime.net", "katcr.host", "kissanime.ru", "lavamovies.se", "livecamtv.me", "m4ufree.com", "m4ufree.tv", "masterani.me", "megaup.net", "mlbstream.me", "moecdn.io", "monova.org", "movpod.in", "my-project-free.tv", "myfeed4u.me", "nbastreams.me", "newpct.com", "newpct1.com", "nflstreams.me", "nhlstreams.me", "nowvideo.sx", "oload.site", "oloadcdn.net", "openload.co", "opensubtitles.org", "pcgames-download.com", "pelispedia.tv", "pelisplus.tv", "pirateproxy.ist", "pirateproxy.sh", "putlockertv.se", "rapidvideo.com", "readmanga.today", "sawlive.tv", "serietvsubita.net", "skidrowcrack.com", "sportshd.me", "stream.moe", "stream2watch.cc", "streamango.com", "streamfilmzzz.com", "streamzzz.online", "strikeout.co", "subtorrents.io", "sunmusiq.com", "telepisodes.co", "thehiddenbay.ws", "thepiratebay.cr", "thepixstate.com", "thevideobee.to", "torrentz2.eu", "unblocked.mx", "unblocked.sh", "unblocked.vet", "unblocker.cc", "uptobox.com", "vidgg.to", "vidlox.me", "vidlox.tv", "vidtod.me", "vidtudu.com", "vidup.me", "vidup.tv", "vidzi.tv", "vodlock.co", "watchers.to", "watchonline.to", "watchonlinemovies.com.pk", "yts.ag", "yts.am", "yts.gs", "zooqle.com", NULL };
const char *da7f79682[] = { "gaytube.com", "pornhub.com", "redtube.com", "redtube.it", "tube8.com", "tube8.es", "tube8.fr", "xtube.com", "youjizz.com", "youporn.com", "youporngay.com", NULL };
const char *da7ff8ce9[] = { "classifieds.nydailynews.com", NULL };
@@ -52510,7 +52605,6 @@ const char *dabb2f3c1[] = { "infowars.com", NULL };
const char *dabc23de9[] = { "userscloud.work", NULL };
const char *dabc97409[] = { "enjoydressup.com", NULL };
const char *dabd90dc8[] = { "stocporn.com", NULL };
-const char *dac39e2f4[] = { "androgalaxy.in", NULL };
const char *dac3b13de[] = { "robinwidget.com", "space.com", "techworld.com", "theinquirer.net", "tomshardware.co.uk", "tomshardware.com", NULL };
const char *dac9dc7e4[] = { "comicbook.com", "multiup.org", NULL };
const char *daca89cbe[] = { "hardforum.com", NULL };
@@ -52771,6 +52865,7 @@ const char *dd4c91c43[] = { "ddlvalley.net", NULL };
const char *dd4d68f68[] = { "yibada.com", NULL };
const char *dd4f52466[] = { "photobucket.com", NULL };
const char *dd52d2650[] = { "g9g.eu", NULL };
+const char *dd57fd7db[] = { "povw1deo.com", "povwideo.net", "powvideo.net", NULL };
const char *dd5d7eed5[] = { "kisscartoon.me", NULL };
const char *dd656f79e[] = { "keezmovies.com", NULL };
const char *dd65cf449[] = { "ouo.press", NULL };
@@ -52852,7 +52947,6 @@ const char *de1deeaa5[] = { "activistpost.com", "addictinginfo.com", "alfonzorac
const char *de2047f67[] = { "lci.fr", NULL };
const char *de20c8b74[] = { "norton.com", NULL };
const char *de2603e9f[] = { "rtl.nl", NULL };
-const char *de26cc11 [] = { "discoveryrom.org", NULL };
const char *de2c29e93[] = { "3bmeteo.com", "quotidiano.net", "radioitalia.it", NULL };
const char *de2cac017[] = { "financialpost.com", NULL };
const char *de2e66dda[] = { "contv.com", NULL };
@@ -58370,6 +58464,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m8a44bb47, ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma5ef9361, 0, NULL, NULL },
{me15e2fca, 0, NULL, NULL },
+ {mc31d9c7f, 0, NULL, NULL },
{m87097e11, 0, NULL, NULL },
{m6e31be2a, 0, NULL, NULL },
{m4d562765, 0, NULL, NULL },
@@ -58673,6 +58768,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m57e26da5, 0, NULL, NULL },
{m34fe2d95, 0, NULL, NULL },
{mccab7666, 0, NULL, NULL },
+ {mff7ed327, 0, NULL, NULL },
{mdbc07fbf, 0, NULL, NULL },
{m8beda0d0, 0, NULL, NULL },
{m67ea4ccf, 0, NULL, NULL },
@@ -59217,7 +59313,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mbf555adb, 0, NULL, NULL },
{m453e2f5c, 0, NULL, NULL },
{m90023ac2, 0, NULL, NULL },
- {m9465a7ba, 0, NULL, NULL },
+ {m89cd07a, 0, NULL, NULL },
{ma5d72ca0, 0, NULL, NULL },
{m6a2f77ab, 0, NULL, NULL },
{mfc862c7b, 0, NULL, NULL },
@@ -62842,6 +62938,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m9f7c3ddd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m774532b0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8e1ad42d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mc74b1159, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m9df23f23, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m29221bc4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m33d26d09, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -64733,6 +64830,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m24df3264, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma65d4879, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m80cdde1c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m621279a7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, d2b3eb661, NULL },
{m6dfee4d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mc3a1181a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mcc7bb6cf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -65045,6 +65143,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{md3fa3e44, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8808b23e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{maf625a71, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2bd73e5b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{md84aec4e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m9f03fae9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mfa1fcf1b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -66035,6 +66134,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m68d40fa4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m96ed4fe1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m5c26724d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mb31f3af4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mdf9bfa2c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma5330b9f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mec5e0af1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -66194,6 +66294,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m795374a9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m196f06db, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mc94bfa31, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m8254788a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mc3edc6a0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{meb80a5ee, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m19b58542, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -67474,44 +67575,88 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mc7648b10, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4c0c7163, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mee4099cd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m4ec385be, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2f4e394e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m9760907b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m113e7069, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{md767719e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {meeac3b7a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma1e11adb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mb6114fb7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m2bd0cefe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mdbbd7cfc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m12cea13d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4ec8e906, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m486d5cfc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m13dab28c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mc696038, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {ma3e271b9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m51267f0c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m43b47b6e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m76bf6f69, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{maa3a0936, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {ma87db459, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m7a00e05, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma3a49108, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mad2b1ab9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m340f1275, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m5d61a9e2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m3348c2cf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m2cf7a381, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m2f06adc1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m911e6915, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {ma5eebb73, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mfed47da9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m7a92fef3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m9363361a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf02f5988, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m3c118123, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{meab001a7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mb6469aa4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m89eccc07, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma257675c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2e5cb753, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m6c52f6ff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mffaa0c9a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mb54f64fd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m3a4c708b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2330f708, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m41f9c7b2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m342b3bf7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m12229eaa, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m6c57db0a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {md9537d22, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m295cbdd2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mdb02956b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m15eb112d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m7e5872b8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m39adbe3a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8a570d04, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m6ea5c1d3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{maeae73cb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mbd937ac5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mc20db6f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m474943b1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m99dabef2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m25577bb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m93173622, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m6b8af9e8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mb72d7426, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m4ceaa3cb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mdfb15bcf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {ma8d296ed, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m5b13c453, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mc42192e2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {md1d2b83d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m6165c4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m5411611b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mf6b17ad2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m905a6521, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m992138af, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {me095ca3f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m60289f3c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m7c92bf95, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mdf9b70ad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m59fc515b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m667444d0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m37a5e790, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -67521,26 +67666,43 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{ma0d1ee4b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m55d68710, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m96855ada, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m89fca81e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m5575232a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m5c244661, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m4fd2479b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{me4906fe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4c67cae8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {maad0df55, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m1f08906a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mec645a87, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m9de4a95e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m11d86188, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{me0f8e4f6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {me0b53ad8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mccb0efbd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m4562850, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mef71fce2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{me82d6e0d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma39ec6b3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m6524a42a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mbab57209, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m1ba8db02, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m7af7742b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m49063ad3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf6a16644, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mad0081fd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4dcadd4c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m80185941, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2d114ffd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m7ffb3329, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m26659aa1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m6f3525b1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf8bd8e9c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m680bdd19, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{md32fc425, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m18202baf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m57427d32, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m2aa48edc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mb2784381, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m2093d209, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8ad15061, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -75638,6 +75800,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m21b850a3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mfca55e57, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m42b4fe9e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m7332787a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8a9a5dad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m1e9b0f1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m68f9fa28, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -75890,6 +76053,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m18192ee4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m11538e54, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m5047a19d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m2ef5d71f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m67670a2c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mad06b424, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mceee1e4a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -75899,6 +76063,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m99711d31, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4a895f8b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m66c9684e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mf6e3fc84, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m9041172c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma9a2cfff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{md0031354, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -77684,7 +77849,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m4a1e7915, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m205d31c2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m5bd0e500, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m3510c1ef, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m7d26c87, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m4e2ff935, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m82042ff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -77916,7 +78080,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m2a93cd39, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mc417bb82, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4b1cd05b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
- {mab3cb866, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{ma3e43030, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m675d86d5, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m3f7fdfe3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -83877,6 +84040,10 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mc494bdb8, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d4e745af3, NULL },
{m7ed5f45f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, da53487b3, NULL },
{m804aba8f, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, d9b3c6143, NULL },
+ {m3e1cac27, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mb617cb04, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m376d0c55, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mf6dccada, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mf60455aa, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{m8c88cdb4, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{med429e34, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
@@ -83900,8 +84067,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mafc5cef2, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_WILDCARD, db11f7532, NULL },
{mc946ffbb, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_WILDCARD, db11f7532, NULL },
{m3833a66, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, db11f7532, NULL },
- {m8d049219, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d822598a7, NULL },
- {mc1feac7, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, d93dd7f24, NULL },
+ {m8d049219, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, dd57fd7db, NULL },
{mc4c72a2b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m17ce3a60, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m8455d9ab, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, db71d48f7, NULL },
@@ -86475,6 +86641,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m79cd360e, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mc479d10f, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{m2a000fbf, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, dc72d5ef6, NULL },
+ {mfe0fd36a, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d8ded2648, NULL },
{m5c900b54, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mdcc04ff5, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mb7a968d7, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_THIRD_PARTY, dc2e4f62e, NULL },
@@ -88012,6 +88179,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mffa070e9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mdd3d9407, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m892ab560, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m62ec0feb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m27960a60, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m14fb9d0c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mce6022b0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -88200,7 +88368,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m27a8f702, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m86fbb6b6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, df908fd49, NULL },
{m9a8eddac, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {ma302b6c6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m695c0d1a, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m46abdd7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf33a5c33, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
@@ -88474,6 +88641,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m2b23739f, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{mc7646cab, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{m939fcc01, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d31b44e64, NULL },
+ {meeeecbd5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{md43990e7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m401bc9c1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf72c487f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -88506,6 +88674,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mac9dbcda, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{m3f7de1fc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{mb78e2b4e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
+ {m859566d0, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{meecf8fdc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma30e0437, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mf71f7945, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, db0ddb6a9, NULL },
@@ -88536,6 +88705,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{maa3b9bd2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m83b59ad9, 0, NULL, NULL },
{mb931125a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m8bf29f85, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{m5b23b6ad, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{me16f9cc9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf7643da8, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
@@ -88616,7 +88786,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m842347d6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{m44bf2d51, ADBLOCK_FLAG_MATCH_DOMAIN, de9d10838, NULL },
{mbcd2f850, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
- {m3f1a61ba, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{m8bde606e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, d71dc8d1f, NULL },
{m885ebfb1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m8789c20f, ADBLOCK_FLAG_HAS_WILDCARD, d30155ba, NULL },
@@ -88624,7 +88793,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mcf063f40, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
{mb4359bf4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m23b36ac, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
- {m824a8ca4, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, de26cc11, NULL },
{m983d48f7, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d2e7883ff, NULL },
{md124d2e1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma80ab550, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
@@ -88685,9 +88853,15 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m45ab6eca, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m8732810e, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m6de72169, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
- {m5d0f3e9, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d2775e5a2, NULL },
- {mfc23311b, ADBLOCK_FLAG_MATCH_DOMAIN, dac39e2f4, NULL },
+ {ma88c83b0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, da7dc3aac, NULL },
{m1034f55c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
+ {m824a8ca4, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d8b9cc160, NULL },
+ {m43c27010, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL },
+ {m328164d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m59028e95, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d699e2efa, NULL },
+ {mfc23311b, ADBLOCK_FLAG_MATCH_DOMAIN, d48f82118, NULL },
+ {mab3cb866, ADBLOCK_FLAG_MATCH_DOMAIN, d1dc4a272, NULL },
+ {m5d0f3e9, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d143659c6, NULL },
{m959374f7, 0, NULL, NULL },
{m69eee246, 0, NULL, NULL },
{m480a1f0f, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
@@ -89132,6 +89306,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m9debfe57, 0, NULL, NULL },
{m709cfea9, 0, NULL, NULL },
{m3059f5a8, 0, NULL, NULL },
+ {m6a9b3473, 0, NULL, NULL },
{me9863371, 0, NULL, NULL },
{m4a5a6008, 0, NULL, NULL },
{m5f7216d9, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
@@ -89563,6 +89738,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m7ffe6407, 0, NULL, NULL },
{m6e386f2d, 0, NULL, NULL },
{m2dc1491d, 0, NULL, NULL },
+ {m60e4762a, 0, NULL, NULL },
+ {mbdd75ce7, 0, NULL, NULL },
{md828a8e5, 0, NULL, NULL },
{mfc9a29e6, 0, NULL, NULL },
{m6f590b78, 0, NULL, NULL },
@@ -90191,6 +90368,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mcb0f5ad2, 0, NULL, NULL },
{mde2a80ba, 0, NULL, NULL },
{m1319906, 0, NULL, NULL },
+ {m1a5bb655, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{me0fffa59, 0, NULL, NULL },
{m31f5f9b1, 0, NULL, NULL },
{md643fb60, 0, NULL, NULL },
@@ -90793,6 +90971,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m9b3cb1ca, 0, NULL, NULL },
{m63578b6e, 0, NULL, NULL },
{mf911b9a3, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
+ {mef5234a, 0, NULL, NULL },
{m31568358, 0, NULL, NULL },
{m87a2d861, 0, NULL, NULL },
{m64b5fc9b, 0, NULL, NULL },
@@ -91105,7 +91284,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m1674ef3b, 0, NULL, NULL },
{m9fd10b01, 0, NULL, NULL },
{m9c80ad53, 0, NULL, NULL },
- {m39cba4e1, 0, NULL, NULL },
+ {m39cba4e1, ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m2e4ac18a, 0, NULL, NULL },
{md45bfd91, 0, NULL, NULL },
{m5ee13fa5, 0, NULL, NULL },
@@ -94286,6 +94465,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m6ea55b74, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{ma6a15869, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m69aee417, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {mb1617609, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{md5e7e161, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mcec3111d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mbe95d85f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -95593,6 +95773,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{md244b9a2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m8aea0fc2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mf75ec33, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m9529ffa0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
+ {m12f77aec, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m4b1dc491, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{m1862b664, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
{mcc5bd575, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL },
@@ -96847,7 +97029,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m22d560c, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m3cee1b4c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mbc5d45a6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
- {m7ea75de5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
+ {m7ea75de5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{m5660ce7a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{m1d38e5ad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL },
{mbb27781e, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
@@ -99776,7 +99958,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m8df3f933, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mf1a7bd7b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma2ded9c9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m7ec27b4c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m43d0d2a0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END, NULL, NULL },
{me2a28ed3, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m25d758ca, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{me6dea707, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -100692,6 +100874,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mb927bceb, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m2efd682a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma1b73c0, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
+ {m902ab125, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m846275b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m28663b1e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m4d18897c, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
@@ -101613,6 +101796,9 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m7f18b7ad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m70d73493, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{mfe3037d2, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
+ {me702b645, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m6ab65f2e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {md131f8bb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m5a4f268f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m1e5c6bfc, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{me15b9785, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -102280,6 +102466,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mbb569d9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m118779b1, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{md15e66af, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m86d515c3, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m970306e6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m8cb8c2c5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m27b6abe1, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
@@ -103191,7 +103378,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{ma9fdec0d, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m59ff1749, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
{m60f67a81, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL },
- {me6ee959a, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d25b576b3, NULL },
{m2e885ee1, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d9748b10e, NULL },
{m85a31a40, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d4f86a933, NULL },
{me7abf845, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d3fde7f18, NULL },
@@ -104279,6 +104465,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m5320b907, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mbbc3b5ab, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m6d04088c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m437c27c8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mf6185d87, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{md9fb0565, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{me0b9b871, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -104376,6 +104563,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m30d4d326, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m6aebd4a6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m7a845150, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mb95641a3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m1b87c384, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mfb2cd64, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mcb07cc1e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -104751,6 +104939,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mb3ce7a36, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m82748b48, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m36684d46, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m5517681e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{me8ecd3de, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma1f28711, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m8d2adfe9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -104934,7 +105123,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m6cbf8c80, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mbe90e36e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mb067054a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m31be670e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mbc5c40a7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m9e19f58c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m8e62b400, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{md32f86cb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m9afb18cd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -104981,7 +105171,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mdd32a3c4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m656d6da4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mf8a07d36, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m9700317d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m280b9498, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mdf6f8e86, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mdbaf555e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105098,6 +105287,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m2aac5043, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mfa214bd6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mef99cf87, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m54076ebe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{md2727c61, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{med1dfd7a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{md91e3388, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105218,7 +105408,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mbaf755b1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m94e9cc76, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m64a940e7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {me0198232, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m9e810816, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m2f1725bf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m5b8efc32, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105263,7 +105452,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{me5ae152a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mf5f3fe8c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mb9ac394a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {mc0381b97, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mc1021ab4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m3a14e25f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m32fc1d12, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105547,7 +105735,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m18329e2c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{me4b927a2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m6c6d5606, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {ma1685d99, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m42546627, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mf89becad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m91483b0e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105583,6 +105770,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m92316dff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mdd7ab944, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m7b9fcabe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m4085f823, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma8d83d49, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma32dbac0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m2308f079, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105644,6 +105832,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{m536c44e2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m74c27511, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m601cdfa5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {m944375b1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mbe7abd92, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m86b28288, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m29ca3088, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105675,7 +105864,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{mc996d182, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mfae37659, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m2d7595f2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m62ec0feb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m433961d0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m71ba700, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m965c37da, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105731,7 +105919,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{me3f84448, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m7d6b2861, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{me5b7adba, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
- {m3db9ec39, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m3f273b9b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m62f9b29b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mb14bcb3d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
@@ -105838,6 +106025,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = {
{maca00791, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m52f26d9a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{maefe1c0d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
+ {mc1d26645, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{ma749b78c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{m956aff9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
{mc3edc6a0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL },
diff --git a/patches/BRM033_ungoogled-chromium-Clear-HTTP-cache-menu-item.patch b/patches/BRM033_ungoogled-chromium-Clear-HTTP-cache-menu-item.patch
index 383643f9..16f3b867 100644
--- a/patches/BRM033_ungoogled-chromium-Clear-HTTP-cache-menu-item.patch
+++ b/patches/BRM033_ungoogled-chromium-Clear-HTTP-cache-menu-item.patch
@@ -152,7 +152,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
-@@ -111339,6 +111339,7 @@ uploading your change for review.
+@@ -111352,6 +111352,7 @@ uploading your change for review.
diff --git a/patches/BRM034_ungoogled-chromium-Disable-domain-reliability.patch b/patches/BRM034_ungoogled-chromium-Disable-domain-reliability.patch
new file mode 100644
index 00000000..89f1f760
--- /dev/null
+++ b/patches/BRM034_ungoogled-chromium-Disable-domain-reliability.patch
@@ -0,0 +1,676 @@
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Sat, 25 Aug 2018 22:58:52 +0200
+Subject: ungoogled-chromium: Disable domain reliability
+
+---
+ components/domain_reliability/BUILD.gn | 42 +-
+ components/domain_reliability/bake_in_configs.py | 2 +-
+ components/domain_reliability/google_configs.cc | 565 -----------------------
+ components/domain_reliability/uploader.cc | 2 +-
+ 4 files changed, 17 insertions(+), 594 deletions(-)
+
+diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliability/BUILD.gn
+--- a/components/domain_reliability/BUILD.gn
++++ b/components/domain_reliability/BUILD.gn
+@@ -7,26 +7,6 @@ action("bake_in_configs") {
+ script = "bake_in_configs.py"
+
+ inputs = [
+- "baked_in_configs/c_android_clients_google_com.json",
+- "baked_in_configs/c_bigcache_googleapis_com.json",
+- "baked_in_configs/c_doc-0-0-sj_sj_googleusercontent_com.json",
+- "baked_in_configs/c_docs_google_com.json",
+- "baked_in_configs/c_drive_google_com.json",
+- "baked_in_configs/c_googlesyndication_com.json",
+- "baked_in_configs/c_pack_google_com.json",
+- "baked_in_configs/c_play_google_com.json",
+- "baked_in_configs/c_youtube_com.json",
+- "baked_in_configs/clients2_google_com.json",
+- "baked_in_configs/docs_google_com.json",
+- "baked_in_configs/gcp_gvt2_com.json",
+- "baked_in_configs/gcp_gvt6_com.json",
+- "baked_in_configs/google-analytics_com.json",
+- "baked_in_configs/googlevideo_com.json",
+- "baked_in_configs/gvt1_com.json",
+- "baked_in_configs/gvt2_com.json",
+- "baked_in_configs/gvt6_com.json",
+- "baked_in_configs/ssl_gstatic_com.json",
+- "baked_in_configs/www_google_com.json",
+ ]
+
+ output_file = "$target_gen_dir/baked_in_configs.cc"
+@@ -36,13 +16,21 @@ action("bake_in_configs") {
+
+ # The JSON file list is too long for the command line on Windows, so put
+ # them in a response file.
+- response_file_contents = rebase_path(inputs, root_build_dir)
+- args = [
+- "--file-list",
+- "{{response_file_name}}",
+- "--output",
+- rebase_path(output_file, root_build_dir),
+- ]
++ if (is_win) {
++ args = [
++ "--file-list",
++ "nul",
++ "--output",
++ rebase_path(output_file, root_build_dir),
++ ]
++ } else {
++ args = [
++ "--file-list",
++ "/dev/null",
++ "--output",
++ rebase_path(output_file, root_build_dir),
++ ]
++ }
+ }
+
+ component("domain_reliability") {
+diff --git a/components/domain_reliability/bake_in_configs.py b/components/domain_reliability/bake_in_configs.py
+--- a/components/domain_reliability/bake_in_configs.py
++++ b/components/domain_reliability/bake_in_configs.py
+@@ -489,7 +489,7 @@ def origin_is_whitelisted(origin):
+ domain = origin[8:-1]
+ else:
+ return False
+- return any(domain == e or domain.endswith('.' + e) for e in DOMAIN_WHITELIST)
++ return False
+
+
+ def quote_and_wrap_text(text, width=79, prefix=' "', suffix='"'):
+diff --git a/components/domain_reliability/google_configs.cc b/components/domain_reliability/google_configs.cc
+--- a/components/domain_reliability/google_configs.cc
++++ b/components/domain_reliability/google_configs.cc
+@@ -13,575 +13,10 @@
+
+ namespace domain_reliability {
+
+-namespace {
+-
+-struct GoogleConfigParams {
+- const char* hostname;
+- bool include_subdomains;
+-
+- // If true, prepend a collector URL within https://|hostname|/.
+- bool include_origin_specific_collector;
+-
+- // If true, also add a config for www.|hostname|.
+- //
+- // |include_subdomains| will be false in the extra config, but
+- // |include_origin_specific_collector| will be respected, and will use the
+- // www subdomain as the origin for the collector so it matches the config.
+- bool duplicate_for_www;
+-};
+-
+-const GoogleConfigParams kGoogleConfigs[] = {
+- // Origins with subdomains and same-origin collectors. Currently, all
+- // origins with same-origin collectors also run collectors on their www
+- // subdomain. (e.g., both foo.com and www.foo.com.)
+- {"google.ac", true, true, true},
+- {"google.ad", true, true, true},
+- {"google.ae", true, true, true},
+- {"google.af", true, true, true},
+- {"google.ag", true, true, true},
+- {"google.al", true, true, true},
+- {"google.am", true, true, true},
+- {"google.as", true, true, true},
+- {"google.at", true, true, true},
+- {"google.az", true, true, true},
+- {"google.ba", true, true, true},
+- {"google.be", true, true, true},
+- {"google.bf", true, true, true},
+- {"google.bg", true, true, true},
+- {"google.bi", true, true, true},
+- {"google.bj", true, true, true},
+- {"google.bs", true, true, true},
+- {"google.bt", true, true, true},
+- {"google.by", true, true, true},
+- {"google.ca", true, true, true},
+- {"google.cc", true, true, true},
+- {"google.cd", true, true, true},
+- {"google.cf", true, true, true},
+- {"google.cg", true, true, true},
+- {"google.ch", true, true, true},
+- {"google.ci", true, true, true},
+- {"google.cl", true, true, true},
+- {"google.cm", true, true, true},
+- {"google.cn", true, true, true},
+- {"google.co.ao", true, true, true},
+- {"google.co.bw", true, true, true},
+- {"google.co.ck", true, true, true},
+- {"google.co.cr", true, true, true},
+- {"google.co.hu", true, true, true},
+- {"google.co.id", true, true, true},
+- {"google.co.il", true, true, true},
+- {"google.co.im", true, true, true},
+- {"google.co.in", true, true, true},
+- {"google.co.je", true, true, true},
+- {"google.co.jp", true, true, true},
+- {"google.co.ke", true, true, true},
+- {"google.co.kr", true, true, true},
+- {"google.co.ls", true, true, true},
+- {"google.co.ma", true, true, true},
+- {"google.co.mz", true, true, true},
+- {"google.co.nz", true, true, true},
+- {"google.co.th", true, true, true},
+- {"google.co.tz", true, true, true},
+- {"google.co.ug", true, true, true},
+- {"google.co.uk", true, true, true},
+- {"google.co.uz", true, true, true},
+- {"google.co.ve", true, true, true},
+- {"google.co.vi", true, true, true},
+- {"google.co.za", true, true, true},
+- {"google.co.zm", true, true, true},
+- {"google.co.zw", true, true, true},
+- {"google.com.af", true, true, true},
+- {"google.com.ag", true, true, true},
+- {"google.com.ai", true, true, true},
+- {"google.com.ar", true, true, true},
+- {"google.com.au", true, true, true},
+- {"google.com.bd", true, true, true},
+- {"google.com.bh", true, true, true},
+- {"google.com.bn", true, true, true},
+- {"google.com.bo", true, true, true},
+- {"google.com.br", true, true, true},
+- {"google.com.by", true, true, true},
+- {"google.com.bz", true, true, true},
+- {"google.com.cn", true, true, true},
+- {"google.com.co", true, true, true},
+- {"google.com.cu", true, true, true},
+- {"google.com.cy", true, true, true},
+- {"google.com.do", true, true, true},
+- {"google.com.ec", true, true, true},
+- {"google.com.eg", true, true, true},
+- {"google.com.et", true, true, true},
+- {"google.com.fj", true, true, true},
+- {"google.com.ge", true, true, true},
+- {"google.com.gh", true, true, true},
+- {"google.com.gi", true, true, true},
+- {"google.com.gr", true, true, true},
+- {"google.com.gt", true, true, true},
+- {"google.com.hk", true, true, true},
+- {"google.com.iq", true, true, true},
+- {"google.com.jm", true, true, true},
+- {"google.com.jo", true, true, true},
+- {"google.com.kh", true, true, true},
+- {"google.com.kw", true, true, true},
+- {"google.com.lb", true, true, true},
+- {"google.com.ly", true, true, true},
+- {"google.com.mm", true, true, true},
+- {"google.com.mt", true, true, true},
+- {"google.com.mx", true, true, true},
+- {"google.com.my", true, true, true},
+- {"google.com.na", true, true, true},
+- {"google.com.nf", true, true, true},
+- {"google.com.ng", true, true, true},
+- {"google.com.ni", true, true, true},
+- {"google.com.np", true, true, true},
+- {"google.com.nr", true, true, true},
+- {"google.com.om", true, true, true},
+- {"google.com.pa", true, true, true},
+- {"google.com.pe", true, true, true},
+- {"google.com.pg", true, true, true},
+- {"google.com.ph", true, true, true},
+- {"google.com.pk", true, true, true},
+- {"google.com.pl", true, true, true},
+- {"google.com.pr", true, true, true},
+- {"google.com.py", true, true, true},
+- {"google.com.qa", true, true, true},
+- {"google.com.ru", true, true, true},
+- {"google.com.sa", true, true, true},
+- {"google.com.sb", true, true, true},
+- {"google.com.sg", true, true, true},
+- {"google.com.sl", true, true, true},
+- {"google.com.sv", true, true, true},
+- {"google.com.tj", true, true, true},
+- {"google.com.tn", true, true, true},
+- {"google.com.tr", true, true, true},
+- {"google.com.tw", true, true, true},
+- {"google.com.ua", true, true, true},
+- {"google.com.uy", true, true, true},
+- {"google.com.vc", true, true, true},
+- {"google.com.ve", true, true, true},
+- {"google.com.vn", true, true, true},
+- {"google.cv", true, true, true},
+- {"google.cz", true, true, true},
+- {"google.de", true, true, true},
+- {"google.dj", true, true, true},
+- {"google.dk", true, true, true},
+- {"google.dm", true, true, true},
+- {"google.dz", true, true, true},
+- {"google.ee", true, true, true},
+- {"google.es", true, true, true},
+- {"google.fi", true, true, true},
+- {"google.fm", true, true, true},
+- {"google.fr", true, true, true},
+- {"google.ga", true, true, true},
+- {"google.ge", true, true, true},
+- {"google.gg", true, true, true},
+- {"google.gl", true, true, true},
+- {"google.gm", true, true, true},
+- {"google.gp", true, true, true},
+- {"google.gr", true, true, true},
+- {"google.gy", true, true, true},
+- {"google.hk", true, true, true},
+- {"google.hn", true, true, true},
+- {"google.hr", true, true, true},
+- {"google.ht", true, true, true},
+- {"google.hu", true, true, true},
+- {"google.ie", true, true, true},
+- {"google.im", true, true, true},
+- {"google.iq", true, true, true},
+- {"google.ir", true, true, true},
+- {"google.is", true, true, true},
+- {"google.it", true, true, true},
+- {"google.it.ao", true, true, true},
+- {"google.je", true, true, true},
+- {"google.jo", true, true, true},
+- {"google.jp", true, true, true},
+- {"google.kg", true, true, true},
+- {"google.ki", true, true, true},
+- {"google.kz", true, true, true},
+- {"google.la", true, true, true},
+- {"google.li", true, true, true},
+- {"google.lk", true, true, true},
+- {"google.lt", true, true, true},
+- {"google.lu", true, true, true},
+- {"google.lv", true, true, true},
+- {"google.md", true, true, true},
+- {"google.me", true, true, true},
+- {"google.mg", true, true, true},
+- {"google.mk", true, true, true},
+- {"google.ml", true, true, true},
+- {"google.mn", true, true, true},
+- {"google.ms", true, true, true},
+- {"google.mu", true, true, true},
+- {"google.mv", true, true, true},
+- {"google.mw", true, true, true},
+- {"google.ne", true, true, true},
+- {"google.ne.jp", true, true, true},
+- {"google.ng", true, true, true},
+- {"google.nl", true, true, true},
+- {"google.no", true, true, true},
+- {"google.nr", true, true, true},
+- {"google.nu", true, true, true},
+- {"google.off.ai", true, true, true},
+- {"google.pk", true, true, true},
+- {"google.pl", true, true, true},
+- {"google.pn", true, true, true},
+- {"google.ps", true, true, true},
+- {"google.pt", true, true, true},
+- {"google.ro", true, true, true},
+- {"google.rs", true, true, true},
+- {"google.ru", true, true, true},
+- {"google.rw", true, true, true},
+- {"google.sc", true, true, true},
+- {"google.se", true, true, true},
+- {"google.sh", true, true, true},
+- {"google.si", true, true, true},
+- {"google.sk", true, true, true},
+- {"google.sm", true, true, true},
+- {"google.sn", true, true, true},
+- {"google.so", true, true, true},
+- {"google.sr", true, true, true},
+- {"google.st", true, true, true},
+- {"google.td", true, true, true},
+- {"google.tg", true, true, true},
+- {"google.tk", true, true, true},
+- {"google.tl", true, true, true},
+- {"google.tm", true, true, true},
+- {"google.tn", true, true, true},
+- {"google.to", true, true, true},
+- {"google.tt", true, true, true},
+- {"google.us", true, true, true},
+- {"google.uz", true, true, true},
+- {"google.vg", true, true, true},
+- {"google.vu", true, true, true},
+- {"google.ws", true, true, true},
+- {"l.google.com", true, true, true},
+-
+- // google.com is a special case. We have a custom config for www.google.com,
+- // so set generate_config_for_www_subdomain = false.
+- {"google.com", true, true, false},
+-
+- // Origins with subdomains and without same-origin collectors.
+- {"2mdn.net", true, false, false},
+- {"adgoogle.net", true, false, false},
+- {"admeld.com", true, false, false},
+- {"admob.biz", true, false, false},
+- {"admob.co.in", true, false, false},
+- {"admob.co.kr", true, false, false},
+- {"admob.co.nz", true, false, false},
+- {"admob.co.uk", true, false, false},
+- {"admob.co.za", true, false, false},
+- {"admob.com", true, false, false},
+- {"admob.com.br", true, false, false},
+- {"admob.com.es", true, false, false},
+- {"admob.com.fr", true, false, false},
+- {"admob.com.mx", true, false, false},
+- {"admob.com.pt", true, false, false},
+- {"admob.de", true, false, false},
+- {"admob.dk", true, false, false},
+- {"admob.es", true, false, false},
+- {"admob.fi", true, false, false},
+- {"admob.fr", true, false, false},
+- {"admob.gr", true, false, false},
+- {"admob.hk", true, false, false},
+- {"admob.ie", true, false, false},
+- {"admob.in", true, false, false},
+- {"admob.it", true, false, false},
+- {"admob.jp", true, false, false},
+- {"admob.kr", true, false, false},
+- {"admob.mobi", true, false, false},
+- {"admob.no", true, false, false},
+- {"admob.ph", true, false, false},
+- {"admob.pt", true, false, false},
+- {"admob.sg", true, false, false},
+- {"admob.tw", true, false, false},
+- {"admob.us", true, false, false},
+- {"admob.vn", true, false, false},
+- {"adwhirl.com", true, false, false},
+- {"ampproject.com", true, false, false},
+- {"ampproject.net", true, false, false},
+- {"ampproject.org", true, false, false},
+- {"android.com", true, false, false},
+- {"anycast-edge.metric.gstatic.com", true, false, false},
+- {"anycast-stb.metric.gstatic.com", true, false, false},
+- {"anycast.metric.gstatic.com", true, false, false},
+- {"cdn.ampproject.org", true, false, false},
+- {"chromecast.com", true, false, false},
+- {"chromeexperiments.com", true, false, false},
+- {"chromestatus.com", true, false, false},
+- {"chromium.org", true, false, false},
+- {"clients6.google.com", true, false, false},
+- {"cloudendpointsapis.com", true, false, false},
+- {"dartmotif.com", true, false, false},
+- {"dartsearch.net", true, false, false},
+- {"doubleclick.com", true, false, false},
+- {"doubleclick.ne.jp", true, false, false},
+- {"doubleclick.net", true, false, false},
+- {"doubleclickusercontent.com", true, false, false},
+- {"fls.doubleclick.net", true, false, false},
+- {"g.co", true, false, false},
+- {"g.doubleclick.net", true, false, false},
+- {"ggpht.com", true, false, false},
+- {"gmodules.com", true, false, false},
+- {"goo.gl", true, false, false},
+- {"google-syndication.com", true, false, false},
+- {"google.cat", true, false, false},
+- {"google.info", true, false, false},
+- {"google.jobs", true, false, false},
+- {"google.net", true, false, false},
+- {"google.org", true, false, false},
+- {"google.stackdriver.com", true, false, false},
+- {"googleadapis.com", true, false, false},
+- {"googleadservices.com", true, false, false},
+- {"googleadsserving.cn", true, false, false},
+- {"googlealumni.com", true, false, false},
+- {"googleapis.cn", true, false, false},
+- {"googleapis.com", true, false, false},
+- {"googleapps.com", true, false, false},
+- {"googlecbs.com", true, false, false},
+- {"googlecode.com", true, false, false},
+- {"googlecommerce.com", true, false, false},
+- {"googledrive.com", true, false, false},
+- {"googleenterprise.com", true, false, false},
+- {"googlefiber.com", true, false, false},
+- {"googlefiber.net", true, false, false},
+- {"googlegoro.com", true, false, false},
+- {"googlehosted.com", true, false, false},
+- {"googlepayments.com", true, false, false},
+- {"googlesource.com", true, false, false},
+- {"googlesyndication.com", true, false, false},
+- {"googletagmanager.com", true, false, false},
+- {"googletagservices.com", true, false, false},
+- {"googleusercontent.com", true, false, false},
+- {"googlezip.net", true, false, false},
+- {"gstatic.cn", true, false, false},
+- {"gstatic.com", true, false, false},
+- {"gvt3.com", true, false, false},
+- {"gvt9.com", true, false, false},
+- {"picasa.com", true, false, false},
+- {"recaptcha.net", true, false, false},
+- {"stackdriver.com", true, false, false},
+- {"stbcast-stb.metric.gstatic.com", true, false, false},
+- {"stbcast.metric.gstatic.com", true, false, false},
+- {"stbcast2-stb.metric.gstatic.com", true, false, false},
+- {"stbcast2.metric.gstatic.com", true, false, false},
+- {"stbcast3-stb.metric.gstatic.com", true, false, false},
+- {"stbcast3.metric.gstatic.com", true, false, false},
+- {"stbcast4-stb.metric.gstatic.com", true, false, false},
+- {"stbcast4.metric.gstatic.com", true, false, false},
+- {"unicast-edge.metric.gstatic.com", true, false, false},
+- {"unicast-stb.metric.gstatic.com", true, false, false},
+- {"unicast.metric.gstatic.com", true, false, false},
+- {"unicast2-stb.metric.gstatic.com", true, false, false},
+- {"unicast2.metric.gstatic.com", true, false, false},
+- {"waze.com", true, false, false},
+- {"withgoogle.com", true, false, false},
+- {"youtu.be", true, false, false},
+- {"youtube-3rd-party.com", true, false, false},
+- {"youtube-nocookie.com", true, false, false},
+- {"youtube.ae", true, false, false},
+- {"youtube.al", true, false, false},
+- {"youtube.am", true, false, false},
+- {"youtube.at", true, false, false},
+- {"youtube.az", true, false, false},
+- {"youtube.ba", true, false, false},
+- {"youtube.be", true, false, false},
+- {"youtube.bg", true, false, false},
+- {"youtube.bh", true, false, false},
+- {"youtube.bo", true, false, false},
+- {"youtube.ca", true, false, false},
+- {"youtube.cat", true, false, false},
+- {"youtube.ch", true, false, false},
+- {"youtube.cl", true, false, false},
+- {"youtube.co", true, false, false},
+- {"youtube.co.ae", true, false, false},
+- {"youtube.co.at", true, false, false},
+- {"youtube.co.hu", true, false, false},
+- {"youtube.co.id", true, false, false},
+- {"youtube.co.il", true, false, false},
+- {"youtube.co.in", true, false, false},
+- {"youtube.co.jp", true, false, false},
+- {"youtube.co.ke", true, false, false},
+- {"youtube.co.kr", true, false, false},
+- {"youtube.co.ma", true, false, false},
+- {"youtube.co.nz", true, false, false},
+- {"youtube.co.th", true, false, false},
+- {"youtube.co.ug", true, false, false},
+- {"youtube.co.uk", true, false, false},
+- {"youtube.co.ve", true, false, false},
+- {"youtube.co.za", true, false, false},
+- {"youtube.com", true, false, false},
+- {"youtube.com.ar", true, false, false},
+- {"youtube.com.au", true, false, false},
+- {"youtube.com.az", true, false, false},
+- {"youtube.com.bh", true, false, false},
+- {"youtube.com.bo", true, false, false},
+- {"youtube.com.br", true, false, false},
+- {"youtube.com.by", true, false, false},
+- {"youtube.com.co", true, false, false},
+- {"youtube.com.do", true, false, false},
+- {"youtube.com.ee", true, false, false},
+- {"youtube.com.eg", true, false, false},
+- {"youtube.com.es", true, false, false},
+- {"youtube.com.gh", true, false, false},
+- {"youtube.com.gr", true, false, false},
+- {"youtube.com.gt", true, false, false},
+- {"youtube.com.hk", true, false, false},
+- {"youtube.com.hr", true, false, false},
+- {"youtube.com.jm", true, false, false},
+- {"youtube.com.jo", true, false, false},
+- {"youtube.com.kw", true, false, false},
+- {"youtube.com.lb", true, false, false},
+- {"youtube.com.lv", true, false, false},
+- {"youtube.com.mk", true, false, false},
+- {"youtube.com.mt", true, false, false},
+- {"youtube.com.mx", true, false, false},
+- {"youtube.com.my", true, false, false},
+- {"youtube.com.ng", true, false, false},
+- {"youtube.com.om", true, false, false},
+- {"youtube.com.pe", true, false, false},
+- {"youtube.com.ph", true, false, false},
+- {"youtube.com.pk", true, false, false},
+- {"youtube.com.pt", true, false, false},
+- {"youtube.com.qa", true, false, false},
+- {"youtube.com.ro", true, false, false},
+- {"youtube.com.sa", true, false, false},
+- {"youtube.com.sg", true, false, false},
+- {"youtube.com.tn", true, false, false},
+- {"youtube.com.tr", true, false, false},
+- {"youtube.com.tw", true, false, false},
+- {"youtube.com.ua", true, false, false},
+- {"youtube.com.uy", true, false, false},
+- {"youtube.com.ve", true, false, false},
+- {"youtube.cz", true, false, false},
+- {"youtube.de", true, false, false},
+- {"youtube.dk", true, false, false},
+- {"youtube.ee", true, false, false},
+- {"youtube.es", true, false, false},
+- {"youtube.fi", true, false, false},
+- {"youtube.fr", true, false, false},
+- {"youtube.ge", true, false, false},
+- {"youtube.gr", true, false, false},
+- {"youtube.gt", true, false, false},
+- {"youtube.hk", true, false, false},
+- {"youtube.hr", true, false, false},
+- {"youtube.hu", true, false, false},
+- {"youtube.ie", true, false, false},
+- {"youtube.in", true, false, false},
+- {"youtube.is", true, false, false},
+- {"youtube.it", true, false, false},
+- {"youtube.jo", true, false, false},
+- {"youtube.jp", true, false, false},
+- {"youtube.kr", true, false, false},
+- {"youtube.lk", true, false, false},
+- {"youtube.lt", true, false, false},
+- {"youtube.lv", true, false, false},
+- {"youtube.ma", true, false, false},
+- {"youtube.md", true, false, false},
+- {"youtube.me", true, false, false},
+- {"youtube.mk", true, false, false},
+- {"youtube.mx", true, false, false},
+- {"youtube.my", true, false, false},
+- {"youtube.ng", true, false, false},
+- {"youtube.nl", true, false, false},
+- {"youtube.no", true, false, false},
+- {"youtube.pe", true, false, false},
+- {"youtube.ph", true, false, false},
+- {"youtube.pk", true, false, false},
+- {"youtube.pl", true, false, false},
+- {"youtube.pr", true, false, false},
+- {"youtube.pt", true, false, false},
+- {"youtube.qa", true, false, false},
+- {"youtube.ro", true, false, false},
+- {"youtube.rs", true, false, false},
+- {"youtube.ru", true, false, false},
+- {"youtube.sa", true, false, false},
+- {"youtube.se", true, false, false},
+- {"youtube.sg", true, false, false},
+- {"youtube.si", true, false, false},
+- {"youtube.sk", true, false, false},
+- {"youtube.sn", true, false, false},
+- {"youtube.tn", true, false, false},
+- {"youtube.ua", true, false, false},
+- {"youtube.ug", true, false, false},
+- {"youtube.uy", true, false, false},
+- {"youtube.vn", true, false, false},
+- {"youtubeeducation.com", true, false, false},
+- {"youtubemobilesupport.com", true, false, false},
+- {"ytimg.com", true, false, false},
+-
+- // Origins without subdomains and with same-origin collectors.
+- {"accounts.google.com", false, true, false},
+- {"apis.google.com", false, true, false},
+- {"app.google.stackdriver.com", false, true, false},
+- {"b.mail.google.com", false, true, false},
+- {"chatenabled.mail.google.com", false, true, false},
+- {"ddm.google.com", false, true, false},
+- {"gmail.com", false, true, false},
+- {"gmail.google.com", false, true, false},
+- {"mail-attachment.googleusercontent.com", false, true, false},
+- {"mail.google.com", false, true, false},
+- {"www.gmail.com", false, true, false},
+-
+- // Origins without subdomains or same-origin collectors.
+- {"ad.doubleclick.net", false, false, false},
+- {"drive.google.com", false, false, false},
+- {"redirector.googlevideo.com", false, false, false},
+-};
+-
+-const char* const kGoogleStandardCollectors[] = {
+- "https://beacons.gcp.gvt2.com/domainreliability/upload",
+- "https://beacons.gvt2.com/domainreliability/upload",
+- "https://beacons2.gvt2.com/domainreliability/upload",
+- "https://beacons3.gvt2.com/domainreliability/upload",
+- "https://beacons4.gvt2.com/domainreliability/upload",
+- "https://beacons5.gvt2.com/domainreliability/upload",
+- "https://beacons5.gvt3.com/domainreliability/upload",
+- "https://clients2.google.com/domainreliability/upload",
+-};
+-
+-const char* const kGoogleOriginSpecificCollectorPathString =
+- "/domainreliability/upload";
+-
+-static std::unique_ptr CreateGoogleConfig(
+- const GoogleConfigParams& params,
+- bool is_www) {
+- if (is_www)
+- DCHECK(params.duplicate_for_www);
+-
+- std::string hostname = (is_www ? "www." : "") + std::string(params.hostname);
+- bool include_subdomains = params.include_subdomains && !is_www;
+-
+- std::unique_ptr config(
+- new DomainReliabilityConfig());
+- config->origin = GURL("https://" + hostname + "/");
+- config->include_subdomains = include_subdomains;
+- config->collectors.clear();
+- if (params.include_origin_specific_collector) {
+- GURL::Replacements replacements;
+- replacements.SetPathStr(kGoogleOriginSpecificCollectorPathString);
+- config->collectors.push_back(
+- std::make_unique(config->origin.ReplaceComponents(replacements)));
+- }
+- for (size_t i = 0; i < arraysize(kGoogleStandardCollectors); i++)
+- config->collectors.push_back(
+- std::make_unique(kGoogleStandardCollectors[i]));
+- config->success_sample_rate = 0.05;
+- config->failure_sample_rate = 1.00;
+- config->path_prefixes.clear();
+- return config;
+-}
+-
+-} // namespace
+-
+ // static
+ void GetAllGoogleConfigs(
+ std::vector>* configs_out) {
+ configs_out->clear();
+-
+- for (auto& params : kGoogleConfigs) {
+- configs_out->push_back(CreateGoogleConfig(params, false));
+- if (params.duplicate_for_www)
+- configs_out->push_back(CreateGoogleConfig(params, true));
+- }
+ }
+
+ } // namespace domain_reliability
+diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc
+--- a/components/domain_reliability/uploader.cc
++++ b/components/domain_reliability/uploader.cc
+@@ -82,7 +82,7 @@ class DomainReliabilityUploaderImpl
+ if (discard_uploads_)
+ discarded_upload_count_++;
+
+- if (discard_uploads_ || shutdown_) {
++ if (true) {
+ VLOG(1) << "Discarding report instead of uploading.";
+ UploadResult result;
+ result.status = UploadResult::SUCCESS;
+--
+2.7.4
+
diff --git a/patches/BRM034_Disable-Omaha-update-checks.patch b/patches/BRM035_Disable-Omaha-update-checks.patch
similarity index 100%
rename from patches/BRM034_Disable-Omaha-update-checks.patch
rename to patches/BRM035_Disable-Omaha-update-checks.patch
diff --git a/patches/BRM035_Add-DuckDuckGo-search-engine.patch b/patches/BRM036_Add-DuckDuckGo-search-engine.patch
similarity index 100%
rename from patches/BRM035_Add-DuckDuckGo-search-engine.patch
rename to patches/BRM036_Add-DuckDuckGo-search-engine.patch
diff --git a/patches/BRM036_Add-StartPage-search-engine.patch b/patches/BRM037_Add-StartPage-search-engine.patch
similarity index 100%
rename from patches/BRM036_Add-StartPage-search-engine.patch
rename to patches/BRM037_Add-StartPage-search-engine.patch
diff --git a/patches/BRM037_Add-Google-English-only-engine.patch b/patches/BRM038_Add-Google-English-only-engine.patch
similarity index 100%
rename from patches/BRM037_Add-Google-English-only-engine.patch
rename to patches/BRM038_Add-Google-English-only-engine.patch
diff --git a/patches/BRM038_Add-Qwant-search-engine.patch b/patches/BRM039_Add-Qwant-search-engine.patch
similarity index 100%
rename from patches/BRM038_Add-Qwant-search-engine.patch
rename to patches/BRM039_Add-Qwant-search-engine.patch
diff --git a/patches/BRM039_Fix-crash-when-accessing-page-info-site-settings.patch b/patches/BRM040_Fix-crash-when-accessing-page-info-site-settings.patch
similarity index 100%
rename from patches/BRM039_Fix-crash-when-accessing-page-info-site-settings.patch
rename to patches/BRM040_Fix-crash-when-accessing-page-info-site-settings.patch
diff --git a/patches/BRM040_openH264-enable-ARM-ARM64-optimizations.patch b/patches/BRM041_openH264-enable-ARM-ARM64-optimizations.patch
similarity index 100%
rename from patches/BRM040_openH264-enable-ARM-ARM64-optimizations.patch
rename to patches/BRM041_openH264-enable-ARM-ARM64-optimizations.patch
diff --git a/patches/BRM041_Cure-AMP-and-tracking-from-search-results.patch b/patches/BRM042_Cure-AMP-and-tracking-from-search-results.patch
similarity index 100%
rename from patches/BRM041_Cure-AMP-and-tracking-from-search-results.patch
rename to patches/BRM042_Cure-AMP-and-tracking-from-search-results.patch
diff --git a/patches/BRM042_Play-videos-in-background.patch b/patches/BRM043_Play-videos-in-background.patch
similarity index 100%
rename from patches/BRM042_Play-videos-in-background.patch
rename to patches/BRM043_Play-videos-in-background.patch
diff --git a/patches/BRM043_Allow-playing-audio-in-background.patch b/patches/BRM044_Allow-playing-audio-in-background.patch
similarity index 100%
rename from patches/BRM043_Allow-playing-audio-in-background.patch
rename to patches/BRM044_Allow-playing-audio-in-background.patch
diff --git a/patches/BRM044_Open-YouTube-links-in-Bromite.patch b/patches/BRM045_Open-YouTube-links-in-Bromite.patch
similarity index 100%
rename from patches/BRM044_Open-YouTube-links-in-Bromite.patch
rename to patches/BRM045_Open-YouTube-links-in-Bromite.patch
diff --git a/patches/BRM045_Add-exit-menu-item.patch b/patches/BRM046_Add-exit-menu-item.patch
similarity index 66%
rename from patches/BRM045_Add-exit-menu-item.patch
rename to patches/BRM046_Add-exit-menu-item.patch
index 64263b9e..16946b48 100644
--- a/patches/BRM045_Add-exit-menu-item.patch
+++ b/patches/BRM046_Add-exit-menu-item.patch
@@ -2,11 +2,13 @@ From: Serg
Date: Tue, 31 Jan 2017 22:12:27 -0500
Subject: Add exit menu item
+Corrected Exit functionality
---
- chrome/android/java/res/menu/main_menu.xml | 2 ++
- .../android/java/src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
- chrome/android/java/strings/android_chrome_strings.grd | 3 +++
- 3 files changed, 7 insertions(+)
+ chrome/android/java/res/menu/main_menu.xml | 2 ++
+ .../java/src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
+ .../org/chromium/chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
+ chrome/android/java/strings/android_chrome_strings.grd | 3 +++
+ 4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@@ -32,6 +34,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
} else if (id == R.id.find_in_page_id) {
if (mFindToolbarManager == null) return false;
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
+@@ -87,7 +87,11 @@ class ChromeLifetimeController implements ApplicationLifetime.Observer,
+
+ // Kick off a timer to kill the process after a delay, which fires only if the Activities
+ // take too long to be finished.
+- mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
++ if (restart) {
++ mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
++ } else {
++ fireBrowserRestartActivityIntent();
++ }
+ }
+
+ @Override
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
diff --git a/patches/BRM046_Remove-help-menu-item.patch b/patches/BRM047_Remove-help-menu-item.patch
similarity index 100%
rename from patches/BRM046_Remove-help-menu-item.patch
rename to patches/BRM047_Remove-help-menu-item.patch
diff --git a/patches/BRM047_Add-menu-option-to-toggle-global-Javascript-preference.patch b/patches/BRM048_Add-menu-option-to-toggle-global-Javascript-preference.patch
similarity index 100%
rename from patches/BRM047_Add-menu-option-to-toggle-global-Javascript-preference.patch
rename to patches/BRM048_Add-menu-option-to-toggle-global-Javascript-preference.patch
diff --git a/patches/BRM048_url_request-hooks-and-ad-url-data.patch b/patches/BRM048_url_request-hooks-and-ad-url-data.patch
deleted file mode 100644
index dd711afa..00000000
--- a/patches/BRM048_url_request-hooks-and-ad-url-data.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From: NoChromo
-Date: Sun, 3 Apr 2016 12:44:50 +0800
-Subject: url_request: hooks and ad url data
-
----
- net/BUILD.gn | 2 +
- net/url_request/nochromo_intercept.cc | 116 ++++++++++++++++++++++++++++++++++
- net/url_request/nochromo_intercept.h | 13 ++++
- net/url_request/url_request.cc | 4 ++
- 4 files changed, 135 insertions(+)
- create mode 100644 net/url_request/nochromo_intercept.cc
- create mode 100644 net/url_request/nochromo_intercept.h
-
-diff --git a/net/BUILD.gn b/net/BUILD.gn
---- a/net/BUILD.gn
-+++ b/net/BUILD.gn
-@@ -1734,6 +1734,8 @@ component("net") {
- "url_request/url_fetcher_response_writer.h",
- "url_request/url_range_request_job.cc",
- "url_request/url_range_request_job.h",
-+ "url_request/nochromo_intercept.cc",
-+ "url_request/nochromo_intercept.h",
- "url_request/url_request.cc",
- "url_request/url_request.h",
- "url_request/url_request_context.cc",
-diff --git a/net/url_request/nochromo_intercept.cc b/net/url_request/nochromo_intercept.cc
-new file mode 100644
---- /dev/null
-+++ b/net/url_request/nochromo_intercept.cc
-@@ -0,0 +1,116 @@
-+#include "url/gurl.h"
-+#include "net/url_request/nochromo_entries.h"
-+
-+#include
-+
-+namespace net {
-+
-+#define NOCHROMO_LOG 0
-+#define NOCHROMO_LOG_MORE 0
-+
-+static char* strtolower(const char* str) {
-+ int len = strlen(str);
-+ char* ret = (char*)malloc(len + 1);
-+ ret[len] = '\0';
-+ for (int i = 0; i < len; i++) {
-+ if ((65 <= str[i]) && (str[i] <= 90)) {
-+ ret[i] = str[i] + 32;
-+ } else {
-+ ret[i] = str[i];
-+ }
-+ }
-+ return ret;
-+}
-+
-+static char* strtosep(const char* str) {
-+ int len = strlen(str);
-+ char* ret = (char*)malloc(len + 3);
-+ ret[0] = '^';
-+ ret[len + 1] = '^';
-+ ret[len + 2] = '\0';
-+ for (int i = 0; i < len; i++) {
-+ if ((str[i] == ':') || (str[i] == '/') || (str[i] == '?') || (str[i] == '&') || (str[i] == '=')) {
-+ ret[i + 1] = '^';
-+ } else {
-+ ret[i + 1] = str[i];
-+ }
-+ }
-+ return ret;
-+}
-+
-+int nochromo_intercept(const GURL& url) {
-+ if (url.is_valid() && url.SchemeIsHTTPOrHTTPS()) {
-+ const char* c_url = url.spec().c_str();
-+ char* c_url_lower = strtolower(c_url);
-+ char* c_url_sep = strtosep(c_url);
-+ char* c_url_lower_sep = strtosep(c_url_lower);
-+
-+ if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[%s]", c_url);
-+
-+ bool intercept = false;
-+ for (int i = 0; i < NOCHROMO_ENTRY_COUNT; i++) {
-+ nochromo_entry* entry = &NOCHROMO_ENTRIES[i];
-+
-+ // no use checking rules when we're intercepting, or exceptions when not
-+ bool check =
-+ (!intercept && ((entry->flags & NOCHROMO_FLAG_EXCEPTION) == 0)) ||
-+ (intercept && ((entry->flags & NOCHROMO_FLAG_EXCEPTION) != 0));
-+
-+ if (check) {
-+ bool match = false;
-+
-+ // select comparison string based on case and separator presence (separator takes some shortcuts)
-+ bool match_case = ((entry->flags & NOCHROMO_FLAG_MATCH_CASE) != 0);
-+ bool match_separator = ((entry->flags & NOCHROMO_FLAG_HAS_SEPARATOR) != 0);
-+ const char* match_url = match_case ? (match_separator ? c_url_sep : c_url) : (match_separator ? c_url_lower_sep : c_url_lower);
-+
-+ if (NOCHROMO_LOG || NOCHROMO_LOG_MORE) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[case:%d][sep:%d][%s]", match_case, match_separator, match_url);
-+
-+ // check for all match parts at >= position of last match
-+ const char* last = match_url;
-+ for (int m = 0; m < entry->matchcount; m++) {
-+ const char* pos = strstr(last, entry->matches[m]);
-+ match = (pos != NULL);
-+
-+ if (NOCHROMO_LOG || NOCHROMO_LOG_MORE) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[%s][found:%d][match:%d]", entry->matches[m], pos == NULL ? 0 : 1, match ? 1 : 0);
-+
-+ // check if the url starts with the first match part
-+ if (match && (m == 0) && ((entry->flags & NOCHROMO_FLAG_MATCH_BEGIN) != 0) && (pos != match_url)) match = false;
-+
-+ // check if the url ends with the last match part
-+ if (match && (m == entry->matchcount - 1) && ((entry->flags & NOCHROMO_FLAG_MATCH_END) != 0) && (pos != &match_url[strlen(match_url) - strlen(entry->matches[m])])) match = false;
-+
-+ // check domain match
-+ if (match && (m == 0) && ((entry->flags & NOCHROMO_FLAG_MATCH_DOMAIN) != 0) && (pos != match_url) && (pos[-1] != '^') && (pos[-1] != '.') && (pos[-1] != '/')) match = false;
-+
-+ // short circuit
-+ if (!match) break;
-+ }
-+
-+ if (match) {
-+ if (NOCHROMO_LOG) {
-+ if (!intercept) {
-+ __android_log_print(ANDROID_LOG_INFO, "NoChromo", "--> intercept (%d) (%d)", i, entry->flags);
-+ } else {
-+ __android_log_print(ANDROID_LOG_INFO, "NoChromo", "--> pass (%d) (%d)", i, entry->flags);
-+ }
-+ }
-+ intercept = !intercept;
-+ }
-+ }
-+ }
-+
-+ free(c_url_sep);
-+ free(c_url_lower);
-+ free(c_url_lower_sep);
-+
-+ if (intercept) {
-+ if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "intercepted!");
-+ return 1;
-+ }
-+ if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "pass!");
-+ }
-+ return 0;
-+}
-+
-+} // namespace net
-\ No newline at end of file
-diff --git a/net/url_request/nochromo_intercept.h b/net/url_request/nochromo_intercept.h
-new file mode 100644
---- /dev/null
-+++ b/net/url_request/nochromo_intercept.h
-@@ -0,0 +1,13 @@
-+#ifndef NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
-+#define NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
-+
-+#include "url/gurl.h"
-+
-+namespace net {
-+
-+GURL nochromo_intercepted = GURL("http://127.0.0.1/");
-+int nochromo_intercept(const GURL& url);
-+
-+} // namespace net
-+
-+#endif // NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
-diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
---- a/net/url_request/url_request.cc
-+++ b/net/url_request/url_request.cc
-@@ -44,6 +44,8 @@
- #include "url/gurl.h"
- #include "url/origin.h"
-
-+#include "net/url_request/nochromo_intercept.h"
-+
- #if BUILDFLAG(ENABLE_REPORTING)
- #include "net/network_error_logging/network_error_logging_service.h"
- #include "net/reporting/reporting_service.h"
-@@ -583,6 +585,8 @@ URLRequest::URLRequest(const GURL& url,
- // Sanity check out environment.
- DCHECK(base::ThreadTaskRunnerHandle::IsSet());
-
-+ if (nochromo_intercept(url)) url_chain_.push_back(nochromo_intercepted);
-+
- context->url_requests()->insert(this);
- net_log_.BeginEvent(
- NetLogEventType::REQUEST_ALIVE,
---
-2.7.4
-
diff --git a/patches/BRM049_Bromite-adblock-engine.patch b/patches/BRM049_Bromite-adblock-engine.patch
index 11a3ed86..329f8e89 100644
--- a/patches/BRM049_Bromite-adblock-engine.patch
+++ b/patches/BRM049_Bromite-adblock-engine.patch
@@ -1,17 +1,15 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
-Date: Wed, 28 Mar 2018 15:55:11 +0200
+Date: Thu, 23 Aug 2018 19:30:15 +0200
Subject: Bromite adblock engine
-Ported from NoChromo patch
+Original adblock engine ported from NoChromo patch
Make interception testable
Add domain support
Re-land: third-party filters support
-
Add menu option to toggle global Adblock preference
-
Allow toggling Chromium's "ads enabled" content settings option together with Bromite adblock engine.
-
Perform adblock interception in StartJob to address lagging issues
+New mechanism for adblocking based on Brave's adblocking hook
---
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +
chrome/android/java/res/menu/main_menu.xml | 11 +
@@ -20,18 +18,14 @@ Perform adblock interception in StartJob to address lagging issues
.../browser/appmenu/AppMenuPropertiesDelegate.java | 38 +++
.../CustomTabAppMenuPropertiesDelegate.java | 2 +
.../java/strings/android_chrome_strings.grd | 11 +
+ chrome/browser/net/chrome_network_delegate.cc | 55 ++++
.../subresource_filter_content_settings_manager.cc | 3 +
- net/BUILD.gn | 9 +-
- net/url_request/adblock_intercept.cc | 326 +++++++++++++++++++++
- net/url_request/adblock_intercept.h | 18 ++
- net/url_request/nochromo_intercept.cc | 116 --------
- net/url_request/nochromo_intercept.h | 13 -
- net/url_request/url_request.cc | 36 ++-
- 14 files changed, 477 insertions(+), 134 deletions(-)
+ net/BUILD.gn | 7 +
+ net/url_request/adblock_intercept.cc | 323 +++++++++++++++++++++
+ net/url_request/adblock_intercept.h | 19 ++
+ 12 files changed, 497 insertions(+)
create mode 100644 net/url_request/adblock_intercept.cc
create mode 100644 net/url_request/adblock_intercept.h
- delete mode 100644 net/url_request/nochromo_intercept.cc
- delete mode 100644 net/url_request/nochromo_intercept.h
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -198,6 +192,90 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
Appearance
+diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
+--- a/chrome/browser/net/chrome_network_delegate.cc
++++ b/chrome/browser/net/chrome_network_delegate.cc
+@@ -62,6 +62,7 @@
+ #if defined(OS_ANDROID)
+ #include "base/android/path_utils.h"
+ #include "chrome/browser/io_thread.h"
++#include "net/url_request/adblock_intercept.h"
+ #endif
+
+ #if defined(OS_CHROMEOS)
+@@ -269,11 +270,63 @@ void ChromeNetworkDelegate::InitializePrefsOnUIThread(
+ }
+ }
+
++#define TRANSPARENT1PXGIF "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
++
+ int ChromeNetworkDelegate::OnBeforeURLRequest(
+ net::URLRequest* request,
+ const net::CompletionCallback& callback,
+ GURL* new_url) {
+
++#if defined(OS_ANDROID)
++ if (request) {
++ bool block = false, isValidUrl;
++
++ //LOG(INFO) << "OnBeforeURLRequest " << request->url();
++ isValidUrl = request->url().is_valid();
++ std::string scheme = request->url().scheme();
++ if (isValidUrl && scheme.length()) {
++ std::transform(scheme.begin(), scheme.end(), scheme.begin(), ::tolower);
++ if ("http" != scheme && "https" != scheme) {
++ isValidUrl = false;
++ }
++ }
++ const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
++
++ if (isValidUrl && info) {
++#if 0
++ // not working
++ const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter = info->GetWebContentsGetterForRequest();
++ content::WebContents* web_contents = web_contents_getter.Run();
++ if (web_contents) {
++ TabSpecificContentSettings* content_settings =
++ TabSpecificContentSettings::FromWebContents(web_contents);
++ if (content_settings) {
++ bool adblock_enabled = content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_ADS);
++ LOG(INFO) << "adblock_enabled from tab: " << adblock_enabled;
++ }
++ }
++#endif
++
++ if (net::adblock_enabled
++ && content::RESOURCE_TYPE_MAIN_FRAME != info->GetResourceType()
++ && net::adblock_intercept(request->url(),
++ request->site_for_cookies().host(),
++ info->GetResourceType())) {
++ block = true;
++ }
++
++ if (block) {
++ if (content::RESOURCE_TYPE_IMAGE == info->GetResourceType()) {
++ *new_url = GURL(TRANSPARENT1PXGIF);
++ } else {
++ *new_url = GURL("");
++ }
++ return net::ERR_BLOCKED_BY_ADMINISTRATOR;
++ }
++ } // valid URL and info
++ } // request
++#endif // OS_ANDROID
++
+ extensions_delegate_->ForwardStartRequestStatus(request);
+
+ if (!enable_referrers_->GetValue())
+@@ -307,6 +360,8 @@ int ChromeNetworkDelegate::OnBeforeURLRequest(
+ return rv;
+ }
+
++#undef TRANSPARENT1PXGIF
++
+ int ChromeNetworkDelegate::OnBeforeStartTransaction(
+ net::URLRequest* request,
+ const net::CompletionCallback& callback,
diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
--- a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
+++ b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
@@ -224,16 +302,7 @@ diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settin
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
-@@ -1734,8 +1734,6 @@ component("net") {
- "url_request/url_fetcher_response_writer.h",
- "url_request/url_range_request_job.cc",
- "url_request/url_range_request_job.h",
-- "url_request/nochromo_intercept.cc",
-- "url_request/nochromo_intercept.h",
- "url_request/url_request.cc",
- "url_request/url_request.h",
- "url_request/url_request_context.cc",
-@@ -1793,6 +1791,13 @@ component("net") {
+@@ -1791,6 +1791,13 @@ component("net") {
"//third_party/zlib",
]
@@ -251,8 +320,9 @@ diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_inte
new file mode 100644
--- /dev/null
+++ b/net/url_request/adblock_intercept.cc
-@@ -0,0 +1,326 @@
+@@ -0,0 +1,323 @@
+#include "url/gurl.h"
++#include "content/public/common/resource_type.h"
+
+#ifdef ADB_TESTER
+#include
@@ -506,11 +576,7 @@ new file mode 100644
+ return fp == wanted_fp;
+}
+
-+int adblock_intercept(const GURL &url, const std::string &origin_host) {
-+ // if (!url.is_valid() || !url.SchemeIsHTTPOrHTTPS()) {
-+ // return 0;
-+ // }
-+
++int adblock_intercept(const GURL &url, const std::string &origin_host, content::ResourceType resource_type) {
+ if (url.is_valid() && url.SchemeIsHTTPOrHTTPS()) {
+ const char *c_url = url.spec().c_str();
+ char *c_url_lower = strtolower(c_url);
@@ -582,11 +648,12 @@ diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_inter
new file mode 100644
--- /dev/null
+++ b/net/url_request/adblock_intercept.h
-@@ -0,0 +1,18 @@
+@@ -0,0 +1,19 @@
+#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
+#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
+
+#include "url/gurl.h"
++#include "content/public/common/resource_type.h"
+
+namespace net {
+
@@ -594,213 +661,13 @@ new file mode 100644
+int adblock_rules_count();
+#endif
+
-+int adblock_intercept(const GURL &url, const std::string &origin_host);
++int adblock_intercept(const GURL &url, const std::string &origin_host, content::ResourceType resource_type);
+
+extern bool adblock_enabled;
+
+} // namespace net
+
+#endif // NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
-diff --git a/net/url_request/nochromo_intercept.cc b/net/url_request/nochromo_intercept.cc
-deleted file mode 100644
---- a/net/url_request/nochromo_intercept.cc
-+++ /dev/null
-@@ -1,116 +0,0 @@
--#include "url/gurl.h"
--#include "net/url_request/nochromo_entries.h"
--
--#include
--
--namespace net {
--
--#define NOCHROMO_LOG 0
--#define NOCHROMO_LOG_MORE 0
--
--static char* strtolower(const char* str) {
-- int len = strlen(str);
-- char* ret = (char*)malloc(len + 1);
-- ret[len] = '\0';
-- for (int i = 0; i < len; i++) {
-- if ((65 <= str[i]) && (str[i] <= 90)) {
-- ret[i] = str[i] + 32;
-- } else {
-- ret[i] = str[i];
-- }
-- }
-- return ret;
--}
--
--static char* strtosep(const char* str) {
-- int len = strlen(str);
-- char* ret = (char*)malloc(len + 3);
-- ret[0] = '^';
-- ret[len + 1] = '^';
-- ret[len + 2] = '\0';
-- for (int i = 0; i < len; i++) {
-- if ((str[i] == ':') || (str[i] == '/') || (str[i] == '?') || (str[i] == '&') || (str[i] == '=')) {
-- ret[i + 1] = '^';
-- } else {
-- ret[i + 1] = str[i];
-- }
-- }
-- return ret;
--}
--
--int nochromo_intercept(const GURL& url) {
-- if (url.is_valid() && url.SchemeIsHTTPOrHTTPS()) {
-- const char* c_url = url.spec().c_str();
-- char* c_url_lower = strtolower(c_url);
-- char* c_url_sep = strtosep(c_url);
-- char* c_url_lower_sep = strtosep(c_url_lower);
--
-- if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[%s]", c_url);
--
-- bool intercept = false;
-- for (int i = 0; i < NOCHROMO_ENTRY_COUNT; i++) {
-- nochromo_entry* entry = &NOCHROMO_ENTRIES[i];
--
-- // no use checking rules when we're intercepting, or exceptions when not
-- bool check =
-- (!intercept && ((entry->flags & NOCHROMO_FLAG_EXCEPTION) == 0)) ||
-- (intercept && ((entry->flags & NOCHROMO_FLAG_EXCEPTION) != 0));
--
-- if (check) {
-- bool match = false;
--
-- // select comparison string based on case and separator presence (separator takes some shortcuts)
-- bool match_case = ((entry->flags & NOCHROMO_FLAG_MATCH_CASE) != 0);
-- bool match_separator = ((entry->flags & NOCHROMO_FLAG_HAS_SEPARATOR) != 0);
-- const char* match_url = match_case ? (match_separator ? c_url_sep : c_url) : (match_separator ? c_url_lower_sep : c_url_lower);
--
-- if (NOCHROMO_LOG || NOCHROMO_LOG_MORE) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[case:%d][sep:%d][%s]", match_case, match_separator, match_url);
--
-- // check for all match parts at >= position of last match
-- const char* last = match_url;
-- for (int m = 0; m < entry->matchcount; m++) {
-- const char* pos = strstr(last, entry->matches[m]);
-- match = (pos != NULL);
--
-- if (NOCHROMO_LOG || NOCHROMO_LOG_MORE) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "[%s][found:%d][match:%d]", entry->matches[m], pos == NULL ? 0 : 1, match ? 1 : 0);
--
-- // check if the url starts with the first match part
-- if (match && (m == 0) && ((entry->flags & NOCHROMO_FLAG_MATCH_BEGIN) != 0) && (pos != match_url)) match = false;
--
-- // check if the url ends with the last match part
-- if (match && (m == entry->matchcount - 1) && ((entry->flags & NOCHROMO_FLAG_MATCH_END) != 0) && (pos != &match_url[strlen(match_url) - strlen(entry->matches[m])])) match = false;
--
-- // check domain match
-- if (match && (m == 0) && ((entry->flags & NOCHROMO_FLAG_MATCH_DOMAIN) != 0) && (pos != match_url) && (pos[-1] != '^') && (pos[-1] != '.') && (pos[-1] != '/')) match = false;
--
-- // short circuit
-- if (!match) break;
-- }
--
-- if (match) {
-- if (NOCHROMO_LOG) {
-- if (!intercept) {
-- __android_log_print(ANDROID_LOG_INFO, "NoChromo", "--> intercept (%d) (%d)", i, entry->flags);
-- } else {
-- __android_log_print(ANDROID_LOG_INFO, "NoChromo", "--> pass (%d) (%d)", i, entry->flags);
-- }
-- }
-- intercept = !intercept;
-- }
-- }
-- }
--
-- free(c_url_sep);
-- free(c_url_lower);
-- free(c_url_lower_sep);
--
-- if (intercept) {
-- if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "intercepted!");
-- return 1;
-- }
-- if (NOCHROMO_LOG) __android_log_print(ANDROID_LOG_INFO, "NoChromo", "pass!");
-- }
-- return 0;
--}
--
--} // namespace net
-\ No newline at end of file
-diff --git a/net/url_request/nochromo_intercept.h b/net/url_request/nochromo_intercept.h
-deleted file mode 100644
---- a/net/url_request/nochromo_intercept.h
-+++ /dev/null
-@@ -1,13 +0,0 @@
--#ifndef NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
--#define NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
--
--#include "url/gurl.h"
--
--namespace net {
--
--GURL nochromo_intercepted = GURL("http://127.0.0.1/");
--int nochromo_intercept(const GURL& url);
--
--} // namespace net
--
--#endif // NET_URL_REQUEST_NOCHROMO_INTERCEPT_H_
-diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
---- a/net/url_request/url_request.cc
-+++ b/net/url_request/url_request.cc
-@@ -44,7 +44,9 @@
- #include "url/gurl.h"
- #include "url/origin.h"
-
--#include "net/url_request/nochromo_intercept.h"
-+#if defined(OS_ANDROID)
-+#include "net/url_request/adblock_intercept.h"
-+#endif
-
- #if BUILDFLAG(ENABLE_REPORTING)
- #include "net/network_error_logging/network_error_logging_service.h"
-@@ -585,8 +587,6 @@ URLRequest::URLRequest(const GURL& url,
- // Sanity check out environment.
- DCHECK(base::ThreadTaskRunnerHandle::IsSet());
-
-- if (nochromo_intercept(url)) url_chain_.push_back(nochromo_intercepted);
--
- context->url_requests()->insert(this);
- net_log_.BeginEvent(
- NetLogEventType::REQUEST_ALIVE,
-@@ -665,6 +665,36 @@ void URLRequest::StartJob(URLRequestJob* job) {
- }
- }
-
-+#if defined(OS_ANDROID)
-+ if (net::adblock_enabled) {
-+ std::string initiatorHost;
-+ if (initiator_.has_value()) {
-+ initiatorHost = initiator_.value().host();
-+ }
-+
-+ if (adblock_intercept(url(), initiatorHost)) {
-+ std::string source("delegate");
-+ net_log_.AddEvent(NetLogEventType::CANCELLED,
-+ NetLog::StringCallback("source", &source));
-+
-+ job_.reset(new URLRequestErrorJob(
-+ this, network_delegate_, ERR_BLOCKED_BY_CLIENT));
-+
-+ job_->SetExtraRequestHeaders(extra_request_headers_);
-+ job_->SetPriority(priority_);
-+ job_->SetRequestHeadersCallback(request_headers_callback_);
-+ job_->SetResponseHeadersCallback(response_headers_callback_);
-+
-+ if (upload_data_stream_.get())
-+ job_->SetUpload(upload_data_stream_.get());
-+
-+ // on fallthrough the initial status will be ERR_IO_PENDING,
-+ // but the URLRequestErrorJob will then call NotifyResponseStarted
-+ // with the correct ERR_BLOCKED_BYCLIENT status
-+ }
-+ }
-+#endif
-+
- // Start() always completes asynchronously.
- //
- // Status is generally set by URLRequestJob itself, but Start() calls
--
2.7.4
diff --git a/patches/BRM058_Add-flag-to-configure-maximum-connections-per-host.patch b/patches/BRM058_Add-flag-to-configure-maximum-connections-per-host.patch
index 6ca8f28b..02a175ba 100644
--- a/patches/BRM058_Add-flag-to-configure-maximum-connections-per-host.patch
+++ b/patches/BRM058_Add-flag-to-configure-maximum-connections-per-host.patch
@@ -6,32 +6,31 @@ With the introduction of this flag it is possible to increase the maximum
allowed connections per host; this can however be detrimental to devices
with limited CPU/memory resources and it is disabled by default.
---
- chrome/browser/about_flags.cc | 9 +++++++++
- chrome/browser/flag_descriptions.cc | 4 ++++
- chrome/browser/flag_descriptions.h | 3 +++
- .../common/network_features.cc | 4 ++++
- .../common/network_features.h | 4 ++++
- .../common/network_switch_list.h | 4 ++++
- net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
- 7 files changed, 45 insertions(+)
+ chrome/browser/about_flags.cc | 8 ++++++++
+ chrome/browser/flag_descriptions.cc | 4 ++++
+ chrome/browser/flag_descriptions.h | 3 +++
+ .../common/network_features.cc | 3 +++
+ .../common/network_features.h | 4 ++++
+ .../common/network_switch_list.h | 4 ++++
+ net/socket/client_socket_pool_manager.cc | 16 ++++++++++++++++
+ 7 files changed, 42 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -798,6 +798,12 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
+@@ -798,6 +798,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
-+ {features::kMaxConnectionsPerHostChoiceDefault, "", "6"},
-+ {features::kMaxConnectionsPerHostChoice6, switches::kMaxConnectionsPerHost, "6"},
++ {features::kMaxConnectionsPerHostChoiceDefault, "", ""},
+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
+};
+
// Ensure that all effective connection types returned by Network Quality
// Estimator (NQE) are also exposed via flags.
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
-@@ -2398,6 +2404,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2398,6 +2403,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kMaterialDesignIncognitoNTPName,
flag_descriptions::kMaterialDesignIncognitoNTPDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kMaterialDesignIncognitoNTP)},
@@ -71,12 +70,11 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
--- a/components/network_session_configurator/common/network_features.cc
+++ b/components/network_session_configurator/common/network_features.cc
-@@ -8,6 +8,10 @@
+@@ -8,6 +8,9 @@
namespace features {
-+const char kMaxConnectionsPerHostChoiceDefault[] = "Default",
-+ kMaxConnectionsPerHostChoice6[] = "6",
++const char kMaxConnectionsPerHostChoiceDefault[] = "6",
+ kMaxConnectionsPerHostChoice15[] = "15";
+
const base::Feature kTokenBinding{"token-binding",
@@ -132,17 +130,16 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
namespace net {
-@@ -316,6 +319,20 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
+@@ -316,6 +319,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
int ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
+
+ if (pool_type == HttpNetworkSession::NORMAL_SOCKET_POOL) {
-+ int maxConnectionsPerHost;
-+ if (!base::StringToInt(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost),
-+ &maxConnectionsPerHost)) {
-+ LOG(DFATAL) << "--" << switches::kMaxConnectionsPerHost << " only accepts integers as arguments";
-+ maxConnectionsPerHost = 0;
++ int maxConnectionsPerHost = 0;
++ auto value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost);
++ if (!value.empty() && !base::StringToInt(value, &maxConnectionsPerHost)) {
++ LOG(DFATAL) << "--" << switches::kMaxConnectionsPerHost << " only accepts integers as arguments (\"" << value << "\" is invalid)";
+ }
+ if (maxConnectionsPerHost != 0) {
+ return maxConnectionsPerHost;
diff --git a/patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch b/patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch
index 4f42bee7..3986e814 100644
--- a/patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch
+++ b/patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch
@@ -14,7 +14,7 @@ Subject: Add flag to show/hide NTP tiles
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1916,6 +1916,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1915,6 +1915,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kChromeModernAlternateCardLayoutName,
flag_descriptions::kChromeModernAlternateCardLayoutDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kChromeModernAlternateCardLayout)},
diff --git a/patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch b/patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch
index c78444ed..79d46f10 100644
--- a/patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch
+++ b/patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch
@@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1298,6 +1298,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1297,6 +1297,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kMediaScreenCaptureName,
flag_descriptions::kMediaScreenCaptureDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kUserMediaScreenCapturing)},
diff --git a/patches/BRM063_Add-bookmark-import-export-actions-in-bookmarks-activity-and-page.patch b/patches/BRM063_Add-bookmark-import-export-actions-in-bookmarks-activity-and-page.patch
index be86a323..39b5e415 100644
--- a/patches/BRM063_Add-bookmark-import-export-actions-in-bookmarks-activity-and-page.patch
+++ b/patches/BRM063_Add-bookmark-import-export-actions-in-bookmarks-activity-and-page.patch
@@ -29,14 +29,14 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
app:iconTint="@color/dark_mode_tint" />
+ -
+Date: Tue, 17 Apr 2018 17:14:00 +0300
+Subject: Add option to not persist tabs across sessions
+
+---
+ chrome/android/java/res/values/values.xml | 3 +++
+ chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
+ .../src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 +++-
+ .../browser/preferences/privacy/PrivacyPreferences.java | 11 +++++++++++
+ chrome/android/java/strings/android_chrome_strings.grd | 6 ++++++
+ 5 files changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
+--- a/chrome/android/java/res/values/values.xml
++++ b/chrome/android/java/res/values/values.xml
+@@ -59,6 +59,9 @@
+ change_sync_passphrase
+
+
++
++ Close tabs on exit
++ Don\'t persist tabs between browsing sessions
+
+
+
+diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
+--- a/chrome/android/java/res/xml/privacy_preferences.xml
++++ b/chrome/android/java/res/xml/privacy_preferences.xml
+@@ -15,6 +15,11 @@
+ android:summary="@string/search_suggestions_summary"
+ android:defaultValue="true" />
+
++
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+@@ -1004,8 +1004,10 @@ public class ChromeTabbedActivity
+ boolean hadCipherData =
+ CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
+
++ String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+ boolean noRestoreState =
+- CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE);
++ CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE) ||
++ ContextUtils.getAppSharedPreferences().getBoolean(PREF_CLOSE_TABS_ON_EXIT, false);
+ if (noRestoreState) {
+ // Clear the state files because they are inconsistent and useless from now on.
+ mTabModelSelectorImpl.clearState();
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+@@ -44,6 +44,7 @@ public class PrivacyPreferences extends PreferenceFragment
+ private static final String PREF_DO_NOT_TRACK = "do_not_track";
+ private static final String PREF_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports";
+ private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
++ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
+ private ManagedPreferenceDelegate mManagedPreferenceDelegate;
+
+@@ -109,6 +110,11 @@ public class PrivacyPreferences extends PreferenceFragment
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
+ canMakePaymentPref.setOnPreferenceChangeListener(this);
+
++ ChromeBaseCheckBoxPreference closeTabsOnExitPref =
++ (ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
++ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
++ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
++
+ updateSummaries();
+ }
+
+@@ -148,6 +154,11 @@ public class PrivacyPreferences extends PreferenceFragment
+ }
+
+ /**
++ else if (PREF_CLOSE_TABS_ON_EXIT.equals(key)) {
++ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
++ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
++ sharedPreferencesEditor.apply();
++ }
+ * Updates the summaries for several preferences.
+ */
+ public void updateSummaries() {
+diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
+--- a/chrome/android/java/strings/android_chrome_strings.grd
++++ b/chrome/android/java/strings/android_chrome_strings.grd
+@@ -3450,6 +3450,12 @@ However, you aren’t invisible. Going incognito doesn’t hide your browsing fr
+
+ Resume
+
++
++ Close all open tabs on exit
++
++
++ Don't persist tabs between browsing sessions
++
+
+
+
+--
+2.7.4
+
diff --git a/patches/BRM065_Add-an-always-incognito-mode.patch b/patches/BRM065_Add-an-always-incognito-mode.patch
new file mode 100644
index 00000000..a74a7ffa
--- /dev/null
+++ b/patches/BRM065_Add-an-always-incognito-mode.patch
@@ -0,0 +1,313 @@
+From: Ryan Archer
+Date: Wed, 2 Aug 2017 01:41:28 -0400
+Subject: Add an always-incognito mode.
+
+More specifically, add a preference that causes all new tabs and all
+clicked links to launch as incognito.
+---
+ .../android/java/res/xml/privacy_preferences.xml | 5 ++
+ .../browser/AlwaysIncognitoLinkInterceptor.java | 72 ++++++++++++++++++++++
+ .../chromium/chrome/browser/ChromeActivity.java | 4 ++
+ .../chrome/browser/appmenu/AppMenuHandler.java | 12 ++++
+ .../contextmenu/ChromeContextMenuPopulator.java | 7 +++
+ .../chrome/browser/tabmodel/ChromeTabCreator.java | 24 +++++++-
+ .../java/strings/android_chrome_strings.grd | 6 ++
+ chrome/android/java_sources.gni | 1 +
+ 8 files changed, 130 insertions(+), 1 deletion(-)
+ create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
+
+diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
+--- a/chrome/android/java/res/xml/privacy_preferences.xml
++++ b/chrome/android/java/res/xml/privacy_preferences.xml
+@@ -20,6 +20,11 @@
+ android:summary="@string/close_tabs_on_exit_summary"
+ android:defaultValue="false" />
+
++
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
+new file mode 100644
+--- /dev/null
++++ b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
+@@ -0,0 +1,72 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++package org.chromium.chrome.browser;
++
++import android.content.SharedPreferences;
++
++import org.chromium.chrome.browser.tab.EmptyTabObserver;
++import org.chromium.chrome.browser.tab.Tab;
++import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
++import org.chromium.chrome.browser.tabmodel.TabModel;
++import org.chromium.content_public.browser.LoadUrlParams;
++
++import java.util.HashMap;
++import java.util.HashSet;
++import java.util.Map;
++import java.util.Set;
++/**
++ * A {@link TabObserver} that implements the always-incognito preference behavior for links. When the preference is set
++ * to true, it intercepts links opened within observed {@link Tab}s and opens them in new incognito
Tabs instead.
++ */
++public class AlwaysIncognitoLinkInterceptor extends EmptyTabObserver {
++
++ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
++
++ private final SharedPreferences alwaysIncognitoContainer;
++ private final Map lastUrls;
++ private final Set revertingTabs;
++
++ public AlwaysIncognitoLinkInterceptor(final SharedPreferences alwaysIncognitoContainer) {
++
++ assert alwaysIncognitoContainer != null;
++
++ this.alwaysIncognitoContainer = alwaysIncognitoContainer;
++ lastUrls = new HashMap();
++ revertingTabs = new HashSet();
++ }
++
++ @Override
++ public void onDestroyed(final Tab tab)
++ {
++ lastUrls.remove(tab);
++ revertingTabs.remove(tab);
++ }
++
++ @Override
++ public void onUpdateUrl(final Tab tab, final String url) {
++
++ if (tab == null) return;
++ if (url == null) return;
++ if (tab.isIncognito()) return;
++ if (alwaysIncognitoContainer == null) return;
++
++ final String lastUrl = lastUrls.put(tab, url);
++
++ if (!alwaysIncognitoContainer.getBoolean(PREF_ALWAYS_INCOGNITO, false)) return;
++ if (revertingTabs.contains(tab)) {
++ revertingTabs.remove(tab);
++ return;
++ }
++
++ tab.getActivity().getTabCreator(true).createNewTab(new LoadUrlParams(url), TabModel.TabLaunchType.FROM_LINK, tab);
++
++ if ((url.equals(lastUrl)) || (!tab.canGoBack())) {
++ // this call was triggered by a reload
++ } else {
++ revertingTabs.add(tab);
++ tab.goBack();
++ }
++ }
++}
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+@@ -243,6 +243,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
+ private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
+
+ // Observes when sync becomes ready to create the mContextReporter.
++ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+ private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
+
+ private ChromeFullscreenManager mFullscreenManager;
+@@ -1593,6 +1594,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
+ throw new IllegalStateException(
+ "Attempting to access TabCreator before initialization");
+ }
++ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)) {
++ return mIncognitoTabCreator;
++ }
+ return incognito ? mIncognitoTabCreator : mRegularTabCreator;
+ }
+
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
+@@ -17,6 +17,7 @@ import android.view.View;
+ import android.widget.PopupMenu;
+
+ import org.chromium.base.metrics.RecordUserAction;
++import org.chromium.base.ContextUtils;
+ import org.chromium.chrome.R;
+
+ import java.util.ArrayList;
+@@ -26,6 +27,9 @@ import java.util.ArrayList;
+ * AppMenuObservers about these actions.
+ */
+ public class AppMenuHandler {
++
++ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
++
+ private AppMenu mAppMenu;
+ private AppMenuDragHelper mAppMenuDragHelper;
+ private Menu mMenu;
+@@ -166,6 +170,14 @@ public class AppMenuHandler {
+ if (mDelegate.shouldShowHeader(appRect.height())) {
+ headerView = mDelegate.getHeaderView();
+ }
++
++ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)) {
++ final MenuItem newTabOption = mAppMenu.getMenu().findItem(R.id.new_tab_menu_id);
++ if (newTabOption != null) {
++ newTabOption.setVisible(false);
++ }
++ }
++
+ mAppMenu.show(wrapper, anchorView, isByPermanentButton, rotation, appRect, pt.y,
+ footerResourceId, headerView, mHighlightMenuId);
+ mAppMenuDragHelper.onShow(startDragging);
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+@@ -14,6 +14,7 @@ import android.view.ContextMenu;
+ import android.webkit.MimeTypeMap;
+
+ import org.chromium.base.CollectionUtil;
++import org.chromium.base.ContextUtils;
+ import org.chromium.base.library_loader.LibraryProcessType;
+ import org.chromium.base.metrics.RecordHistogram;
+ import org.chromium.chrome.R;
+@@ -45,6 +46,7 @@ import java.util.Set;
+ */
+ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
+ private static final String TAG = "CCMenuPopulator";
++ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+ private static final ShareContextMenuItem SHARE_IMAGE =
+ new ShareContextMenuItem(R.drawable.ic_share_white_24dp,
+ R.string.contextmenu_share_image, R.id.contextmenu_share_image, false);
+@@ -463,6 +465,11 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
+ disabledOptions.add(ChromeContextMenuItem.OPEN_IN_INCOGNITO_TAB);
+ }
+
++ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)
++ && !mDelegate.isIncognito()) {
++ disabledOptions.add(ChromeContextMenuItem.OPEN_IN_NEW_TAB);
++ }
++
+ if (params.getLinkText().trim().isEmpty() || params.isImage()) {
+ disabledOptions.add(ChromeContextMenuItem.COPY_LINK_TEXT);
+ }
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+@@ -7,8 +7,10 @@ package org.chromium.chrome.browser.tabmodel;
+ import android.content.Intent;
+ import android.text.TextUtils;
+
++import org.chromium.base.ContextUtils;
+ import org.chromium.base.SysUtils;
+ import org.chromium.base.TraceEvent;
++import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+ import org.chromium.chrome.browser.ChromeActivity;
+ import org.chromium.chrome.browser.ChromeFeatureList;
+ import org.chromium.chrome.browser.IntentHandler;
+@@ -19,6 +21,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
+ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
+ import org.chromium.chrome.browser.tab.Tab;
+ import org.chromium.chrome.browser.tab.TabDelegateFactory;
++import org.chromium.chrome.browser.tab.TabObserver;
+ import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
+ import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
+ import org.chromium.chrome.browser.util.IntentUtils;
+@@ -36,6 +39,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+
+ private final ChromeActivity mActivity;
+ private final boolean mIncognito;
++ private final TabObserver mExtraLogic;
+
+ private WindowAndroid mNativeWindow;
+ private TabModel mTabModel;
+@@ -47,6 +51,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+ mActivity = activity;
+ mNativeWindow = nativeWindow;
+ mIncognito = incognito;
++ if (!mIncognito) {
++ mExtraLogic = new AlwaysIncognitoLinkInterceptor(ContextUtils.getAppSharedPreferences());
++ } else {
++ mExtraLogic = null;
++ }
+ }
+
+ @Override
+@@ -159,6 +168,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+ tab.getWebContents());
+ }
+
++ if (mExtraLogic != null) {
++ tab.addObserver(mExtraLogic);
++ }
++
+ mTabModel.addTab(tab, position, type);
+ return tab;
+ } finally {
+@@ -199,6 +212,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+ Tab tab = Tab.createLiveTab(
+ Tab.INVALID_TAB_ID, mIncognito, mNativeWindow, type, parentId, !openInForeground);
+ tab.initialize(webContents, mTabContentManager, delegateFactory, !openInForeground, false);
++
++ if (mExtraLogic != null) {
++ tab.addObserver(mExtraLogic);
++ }
++
+ mTabModel.addTab(tab, position, type);
+ return true;
+ }
+@@ -242,7 +260,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+ */
+ public Tab launchUrlFromExternalApp(String url, String referer, String headers,
+ String appId, boolean forceNewTab, Intent intent, long intentTimestamp) {
+- assert !mIncognito;
+ boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName());
+
+ // If an external app sends an intent for a Weblite URL and the Data Reduction Proxy is
+@@ -302,6 +319,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+ tab.initialize(
+ null, mTabContentManager, createDefaultTabDelegateFactory(), !selectTab, false);
+ assert state.isIncognito() == mIncognito;
++
++ if (mExtraLogic != null) {
++ tab.addObserver(mExtraLogic);
++ }
++
+ mTabModel.addTab(tab, index, TabLaunchType.FROM_RESTORE);
+ return tab;
+ }
+diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
+--- a/chrome/android/java/strings/android_chrome_strings.grd
++++ b/chrome/android/java/strings/android_chrome_strings.grd
+@@ -615,6 +615,12 @@ CHAR-LIMIT guidelines:
+
+ Automatically send some system information and page content to Google to help detect dangerous apps and sites
+
++
++ Open links in incognito tabs always
++
++
++ Opens links in incognito tabs when you click on new tab or on a link
++
+
+ Safe Browsing
+
+diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
+--- a/chrome/android/java_sources.gni
++++ b/chrome/android/java_sources.gni
+@@ -7,6 +7,7 @@ import("//components/offline_pages/buildflags/features.gni")
+ import("//device/vr/buildflags/buildflags.gni")
+
+ chrome_java_sources = [
++ "java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java",
+ "java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
+ "java/src/org/chromium/chrome/browser/ActivityTabTaskDescriptionHelper.java",
+ "java/src/org/chromium/chrome/browser/ActivityTaskDescriptionIconGenerator.java",
+--
+2.7.4
+
diff --git a/patches/BRM064_Disable-fetching-of-all-field-trials.patch b/patches/BRM066_Disable-fetching-of-all-field-trials.patch
similarity index 100%
rename from patches/BRM064_Disable-fetching-of-all-field-trials.patch
rename to patches/BRM066_Disable-fetching-of-all-field-trials.patch
diff --git a/patches/BRM065_Disable-smooth-scrolling-on-Linux.patch b/patches/BRM067_Disable-smooth-scrolling-on-Linux.patch
similarity index 100%
rename from patches/BRM065_Disable-smooth-scrolling-on-Linux.patch
rename to patches/BRM067_Disable-smooth-scrolling-on-Linux.patch
diff --git a/patches/BRM066_Disable-plugins-enumeration.patch b/patches/BRM068_Disable-plugins-enumeration.patch
similarity index 100%
rename from patches/BRM066_Disable-plugins-enumeration.patch
rename to patches/BRM068_Disable-plugins-enumeration.patch
diff --git a/patches/BRM067_Remove-google-account-access-permission-on-reboot.patch b/patches/BRM069_Remove-google-account-access-permission-on-reboot.patch
similarity index 100%
rename from patches/BRM067_Remove-google-account-access-permission-on-reboot.patch
rename to patches/BRM069_Remove-google-account-access-permission-on-reboot.patch
diff --git a/patches/BRM068_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch b/patches/BRM070_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch
similarity index 100%
rename from patches/BRM068_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch
rename to patches/BRM070_net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch
diff --git a/patches/BRM069_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch b/patches/BRM071_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch
similarity index 100%
rename from patches/BRM069_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch
rename to patches/BRM071_dns-send-IPv6-connectivity-probes-to-RIPE-DNS-rather-than-Google.patch
diff --git a/patches/BRM070_profile-resetter-do-not-tick-send-settings-by-default.patch b/patches/BRM072_profile-resetter-do-not-tick-send-settings-by-default.patch
similarity index 100%
rename from patches/BRM070_profile-resetter-do-not-tick-send-settings-by-default.patch
rename to patches/BRM072_profile-resetter-do-not-tick-send-settings-by-default.patch
diff --git a/patches/BRM071_browser-ui-disable-warning-about-missing-API-keys.patch b/patches/BRM073_browser-ui-disable-warning-about-missing-API-keys.patch
similarity index 100%
rename from patches/BRM071_browser-ui-disable-warning-about-missing-API-keys.patch
rename to patches/BRM073_browser-ui-disable-warning-about-missing-API-keys.patch
diff --git a/patches/BRM072_autofill-disable-autofill-download-manager.patch b/patches/BRM074_autofill-disable-autofill-download-manager.patch
similarity index 100%
rename from patches/BRM072_autofill-disable-autofill-download-manager.patch
rename to patches/BRM074_autofill-disable-autofill-download-manager.patch
diff --git a/patches/BRM073_first_run-deactivate-autoupdate-globally.patch b/patches/BRM075_first_run-deactivate-autoupdate-globally.patch
similarity index 100%
rename from patches/BRM073_first_run-deactivate-autoupdate-globally.patch
rename to patches/BRM075_first_run-deactivate-autoupdate-globally.patch
diff --git a/patches/BRM074_safe_browsing-disable-incident-reporting.patch b/patches/BRM076_safe_browsing-disable-incident-reporting.patch
similarity index 100%
rename from patches/BRM074_safe_browsing-disable-incident-reporting.patch
rename to patches/BRM076_safe_browsing-disable-incident-reporting.patch
diff --git a/patches/BRM075_safe_browsing-disable-reporting-of-safebrowsing-override.patch b/patches/BRM077_safe_browsing-disable-reporting-of-safebrowsing-override.patch
similarity index 100%
rename from patches/BRM075_safe_browsing-disable-reporting-of-safebrowsing-override.patch
rename to patches/BRM077_safe_browsing-disable-reporting-of-safebrowsing-override.patch
diff --git a/patches/BRM076_safe_browsing-disable-cookie-transmission.patch b/patches/BRM078_safe_browsing-disable-cookie-transmission.patch
similarity index 100%
rename from patches/BRM076_safe_browsing-disable-cookie-transmission.patch
rename to patches/BRM078_safe_browsing-disable-cookie-transmission.patch
diff --git a/patches/BRM077_extensions-always-show-component-extensions-in-the-ext-list.patch b/patches/BRM079_extensions-always-show-component-extensions-in-the-ext-list.patch
similarity index 100%
rename from patches/BRM077_extensions-always-show-component-extensions-in-the-ext-list.patch
rename to patches/BRM079_extensions-always-show-component-extensions-in-the-ext-list.patch
diff --git a/patches/BRM078_translate-disable-fetching-of-translate-languages-from-server.patch b/patches/BRM080_translate-disable-fetching-of-translate-languages-from-server.patch
similarity index 100%
rename from patches/BRM078_translate-disable-fetching-of-translate-languages-from-server.patch
rename to patches/BRM080_translate-disable-fetching-of-translate-languages-from-server.patch
diff --git a/patches/BRM079_lint-suppress-hardcoded-text-warnings.patch b/patches/BRM081_lint-suppress-hardcoded-text-warnings.patch
similarity index 100%
rename from patches/BRM079_lint-suppress-hardcoded-text-warnings.patch
rename to patches/BRM081_lint-suppress-hardcoded-text-warnings.patch
diff --git a/patches/BRM080_kill-Vision.patch b/patches/BRM082_kill-Vision.patch
similarity index 100%
rename from patches/BRM080_kill-Vision.patch
rename to patches/BRM082_kill-Vision.patch
diff --git a/patches/BRM081_kill-GCM.patch b/patches/BRM083_kill-GCM.patch
similarity index 99%
rename from patches/BRM081_kill-GCM.patch
rename to patches/BRM083_kill-GCM.patch
index 29727d11..a8d8f28b 100644
--- a/patches/BRM081_kill-GCM.patch
+++ b/patches/BRM083_kill-GCM.patch
@@ -413,7 +413,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/In
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
-@@ -24,7 +24,6 @@ chrome_java_sources = [
+@@ -25,7 +25,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/ChromeActivity.java",
"java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
"java/src/org/chromium/chrome/browser/ChromeApplication.java",
@@ -421,7 +421,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeFeatureList.java",
-@@ -1159,7 +1158,6 @@ chrome_java_sources = [
+@@ -1160,7 +1159,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
"java/src/org/chromium/chrome/browser/services/AndroidEduOwnerCheckCallback.java",
"java/src/org/chromium/chrome/browser/services/GoogleServicesManager.java",
diff --git a/patches/BRM082_kill-Auth.patch b/patches/BRM084_kill-Auth.patch
similarity index 100%
rename from patches/BRM082_kill-Auth.patch
rename to patches/BRM084_kill-Auth.patch
diff --git a/patches/BRM083_kill-remaining-Play-Services-checks.patch b/patches/BRM085_kill-remaining-Play-Services-checks.patch
similarity index 99%
rename from patches/BRM083_kill-remaining-Play-Services-checks.patch
rename to patches/BRM085_kill-remaining-Play-Services-checks.patch
index cb6bc2cc..59a82f6d 100644
--- a/patches/BRM083_kill-remaining-Play-Services-checks.patch
+++ b/patches/BRM085_kill-remaining-Play-Services-checks.patch
@@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMen
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
-@@ -540,10 +540,7 @@ chrome_java_sources = [
+@@ -541,10 +541,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/fullscreen/FullscreenManager.java",
"java/src/org/chromium/chrome/browser/fullscreen/FullscreenOptions.java",
"java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClient.java",
diff --git a/patches/BRM084_kill-TOS-and-metrics-opt-out.patch b/patches/BRM086_kill-TOS-and-metrics-opt-out.patch
similarity index 100%
rename from patches/BRM084_kill-TOS-and-metrics-opt-out.patch
rename to patches/BRM086_kill-TOS-and-metrics-opt-out.patch
diff --git a/patches/BRM085_kill-Translate-doesn-t-work.patch b/patches/BRM087_kill-Translate-doesn-t-work.patch
similarity index 100%
rename from patches/BRM085_kill-Translate-doesn-t-work.patch
rename to patches/BRM087_kill-Translate-doesn-t-work.patch