Version in base suite: 78.14.0-1~deb11u1 Version in overlay suite: 91.8.0-1~deb11u1 Base version: thunderbird_91.8.0-1~deb11u1 Target version: thunderbird_91.10.0-1~deb11u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/t/thunderbird/thunderbird_91.8.0-1~deb11u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/t/thunderbird/thunderbird_91.10.0-1~deb11u1.dsc /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/nightly/background.png |binary /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/nightly/dsstore |binary /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/thunderbird/dsstore |binary thunderbird-91.10.0/.taskcluster.yml | 4 thunderbird-91.10.0/.vscode/extensions.json | 2 thunderbird-91.10.0/CLOBBER | 2 thunderbird-91.10.0/browser/actors/AboutReaderParent.jsm | 7 thunderbird-91.10.0/browser/actors/DOMFullscreenParent.jsm | 39 thunderbird-91.10.0/browser/base/content/browser-fullScreenAndPointerLock.js | 41 thunderbird-91.10.0/browser/components/BrowserContentHandler.jsm | 17 thunderbird-91.10.0/browser/components/enterprisepolicies/Policies.jsm | 6 thunderbird-91.10.0/browser/components/enterprisepolicies/schemas/policies-schema.json | 8 thunderbird-91.10.0/browser/components/enterprisepolicies/tests/browser/browser_policy_search_engine.js | 55 thunderbird-91.10.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js | 17 thunderbird-91.10.0/browser/components/preferences/dialogs/permissions.js | 40 thunderbird-91.10.0/browser/components/preferences/home.js | 1 thunderbird-91.10.0/browser/components/preferences/search.js | 16 thunderbird-91.10.0/browser/components/preferences/tests/browser.ini | 1 thunderbird-91.10.0/browser/components/preferences/tests/browser_site_login_exceptions_policy.js | 65 thunderbird-91.10.0/browser/config/version.txt | 2 thunderbird-91.10.0/browser/config/version_display.txt | 2 thunderbird-91.10.0/browser/locales/en-US/browser/policies/policies-descriptions.ftl | 2 thunderbird-91.10.0/comm/.gecko_rev.yml | 4 thunderbird-91.10.0/comm/.taskcluster.yml | 4 thunderbird-91.10.0/comm/build/moz.configure/gecko_source.configure | 42 thunderbird-91.10.0/comm/calendar/base/themes/osx/calendar-task-view.css | 5 thunderbird-91.10.0/comm/calendar/providers/caldav/modules/CalDavRequest.jsm | 33 thunderbird-91.10.0/comm/calendar/providers/memory/CalMemoryCalendar.jsm | 2 thunderbird-91.10.0/comm/calendar/test/CalDAVServer.jsm | 22 thunderbird-91.10.0/comm/calendar/test/browser/browser_calDAV_discovery.js | 78 thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_cached.js | 15 thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_uncached.js | 15 thunderbird-91.10.0/comm/mail/base/content/msgMail3PaneWindow.js | 4 thunderbird-91.10.0/comm/mail/components/compose/content/dialogs/EdInsertChars.xhtml | 4 thunderbird-91.10.0/comm/mail/config/version.txt | 2 thunderbird-91.10.0/comm/mail/config/version_display.txt | 2 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNP.jsm | 147 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNPLib.jsm | 41 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/GnuPGCryptoAPI.jsm | 12 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/RNPCryptoAPI.jsm | 12 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/interface.js | 12 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyObj.jsm | 3 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyRing.jsm | 2 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm | 18 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeVerify.jsm | 89 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/enigmailKeyManager.js | 5 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.js | 9 thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.xhtml | 10 thunderbird-91.10.0/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl | 2 thunderbird-91.10.0/comm/mail/test/browser/openpgp/browser_viewMessage.js | 76 thunderbird-91.10.0/comm/mail/test/browser/openpgp/data/eml/fwd-unsigned-encrypted.eml | 75 thunderbird-91.10.0/comm/mail/test/browser/shared-modules/OpenPGPTestUtils.jsm | 3 thunderbird-91.10.0/comm/mail/themes/shared/openpgp/keyDetails.css | 10 thunderbird-91.10.0/comm/mail/themes/windows/editor/EditorDialog.css | 7 thunderbird-91.10.0/comm/mail/themes/windows/mail/messenger.css | 5 thunderbird-91.10.0/comm/mailnews/base/src/MailNotificationManager.jsm | 63 thunderbird-91.10.0/comm/mailnews/compose/src/MessageSend.jsm | 17 thunderbird-91.10.0/comm/mailnews/compose/src/SmtpClient.jsm | 63 thunderbird-91.10.0/comm/mailnews/compose/src/SmtpServer.jsm | 2 thunderbird-91.10.0/comm/mailnews/compose/test/unit/test_smtpClient.js | 97 thunderbird-91.10.0/comm/mailnews/compose/test/unit/xpcshell-jsm.ini | 1 thunderbird-91.10.0/comm/mailnews/mime/jsmime/jsmime.js | 6 thunderbird-91.10.0/comm/mailnews/mime/jsmime/test/unit/test_header.js | 2 thunderbird-91.10.0/comm/mailnews/test/fakeserver/Smtpd.jsm | 5 thunderbird-91.10.0/comm/taskcluster/ci/build/kind.yml | 1 thunderbird-91.10.0/comm/taskcluster/ci/config.yml | 7 thunderbird-91.10.0/comm/taskcluster/ci/test/test-platforms.yml | 14 thunderbird-91.10.0/comm/taskcluster/comm_taskgraph/transforms/tb_build.py | 24 thunderbird-91.10.0/comm/third_party/rnp/src/lib/crypto/signatures.cpp | 38 thunderbird-91.10.0/comm/third_party/rnpdefs.mozbuild | 4 thunderbird-91.10.0/config/milestone.txt | 2 thunderbird-91.10.0/debian/changelog | 63 thunderbird-91.10.0/debian/control | 2 thunderbird-91.10.0/devtools/server/actors/network-monitor/network-content.js | 6 thunderbird-91.10.0/docshell/base/BaseHistory.cpp | 13 thunderbird-91.10.0/dom/base/Document.cpp | 19 thunderbird-91.10.0/dom/base/Link.cpp | 10 thunderbird-91.10.0/dom/base/nsObjectLoadingContent.cpp | 31 thunderbird-91.10.0/dom/base/nsObjectLoadingContent.h | 6 thunderbird-91.10.0/dom/canvas/CanvasRenderingContext2D.cpp | 28 thunderbird-91.10.0/dom/canvas/WebGLContextGL.cpp | 19 thunderbird-91.10.0/dom/gamepad/ipc/GamepadTestChannelParent.cpp | 6 thunderbird-91.10.0/dom/html/test/file_fullscreen-resize.html | 39 thunderbird-91.10.0/dom/html/test/mochitest.ini | 1 thunderbird-91.10.0/dom/html/test/test_fullscreen-api.html | 1 thunderbird-91.10.0/dom/ipc/ContentParent.cpp | 3 thunderbird-91.10.0/dom/jsurl/nsJSProtocolHandler.cpp | 21 thunderbird-91.10.0/dom/media/AudioConverter.cpp | 6 thunderbird-91.10.0/dom/media/BaseMediaResource.cpp | 17 thunderbird-91.10.0/dom/media/BaseMediaResource.h | 2 thunderbird-91.10.0/dom/media/ChannelMediaDecoder.cpp | 3 thunderbird-91.10.0/dom/media/ChannelMediaResource.cpp | 41 thunderbird-91.10.0/dom/media/ChannelMediaResource.h | 11 thunderbird-91.10.0/dom/media/systemservices/MediaParent.cpp | 51 thunderbird-91.10.0/dom/media/test/test_midflight_redirect_blocked.html | 19 thunderbird-91.10.0/dom/media/webrtc/jsep/JsepSessionImpl.cpp | 7 thunderbird-91.10.0/dom/notification/old/NotificationDB.jsm | 19 thunderbird-91.10.0/dom/webauthn/WebAuthnManager.cpp | 8 thunderbird-91.10.0/dom/webauthn/tests/test_webauthn_get_assertion.html | 17 thunderbird-91.10.0/gfx/2d/BaseRect.h | 33 thunderbird-91.10.0/gfx/wr/swgl/src/composite.h | 54 thunderbird-91.10.0/gfx/wr/swgl/src/swgl_ext.h | 50 thunderbird-91.10.0/gfx/wr/webrender/res/brush_yuv_image.glsl | 3 thunderbird-91.10.0/gfx/wr/webrender/res/composite.glsl | 3 thunderbird-91.10.0/js/src/builtin/Array.cpp | 32 thunderbird-91.10.0/js/src/builtin/Array.h | 2 thunderbird-91.10.0/js/src/builtin/Module.js | 17 thunderbird-91.10.0/js/src/builtin/RegExp.js | 6 thunderbird-91.10.0/js/src/builtin/Utilities.js | 11 thunderbird-91.10.0/js/src/ds/InlineTable.h | 2 thunderbird-91.10.0/js/src/jit/arm64/CodeGenerator-arm64.cpp | 9 thunderbird-91.10.0/js/src/jit/arm64/Lowering-arm64.cpp | 8 thunderbird-91.10.0/js/src/vm/SelfHosting.cpp | 3 thunderbird-91.10.0/media/libopus/README_MOZILLA | 2 thunderbird-91.10.0/media/libopus/celt/arch.h | 5 thunderbird-91.10.0/media/libopus/celt/arm/armcpu.c | 2 thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_fft.c | 173 thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_mdct.c | 258 thunderbird-91.10.0/media/libopus/celt/bands.c | 11 thunderbird-91.10.0/media/libopus/celt/celt_decoder.c | 10 thunderbird-91.10.0/media/libopus/celt/celt_encoder.c | 4 thunderbird-91.10.0/media/libopus/celt/celt_lpc.c | 62 thunderbird-91.10.0/media/libopus/celt/ecintrin.h | 4 thunderbird-91.10.0/media/libopus/celt/fixed_debug.h | 45 thunderbird-91.10.0/media/libopus/celt/fixed_generic.h | 14 thunderbird-91.10.0/media/libopus/celt/float_cast.h | 58 thunderbird-91.10.0/media/libopus/celt/mathops.h | 4 thunderbird-91.10.0/media/libopus/celt/mips/celt_mipsr1.h | 1 thunderbird-91.10.0/media/libopus/celt/mips/vq_mipsr1.h | 8 thunderbird-91.10.0/media/libopus/celt/os_support.h | 1 thunderbird-91.10.0/media/libopus/celt/rate.c | 2 thunderbird-91.10.0/media/libopus/celt/rate.h | 2 thunderbird-91.10.0/media/libopus/celt/stack_alloc.h | 4 thunderbird-91.10.0/media/libopus/celt/vq.c | 4 thunderbird-91.10.0/media/libopus/celt/vq.h | 4 thunderbird-91.10.0/media/libopus/celt/x86/celt_lpc_sse.c | 89 thunderbird-91.10.0/media/libopus/celt/x86/pitch_sse.h | 2 thunderbird-91.10.0/media/libopus/celt/x86/pitch_sse4_1.c | 51 thunderbird-91.10.0/media/libopus/celt/x86/x86cpu.h | 34 thunderbird-91.10.0/media/libopus/include/opus_custom.h | 4 thunderbird-91.10.0/media/libopus/include/opus_defines.h | 13 thunderbird-91.10.0/media/libopus/moz.build | 2 thunderbird-91.10.0/media/libopus/nonunified2.patch | 2 thunderbird-91.10.0/media/libopus/silk/CNG.c | 4 thunderbird-91.10.0/media/libopus/silk/LPC_fit.c | 3 thunderbird-91.10.0/media/libopus/silk/MacroCount.h | 2 thunderbird-91.10.0/media/libopus/silk/NSQ.c | 36 thunderbird-91.10.0/media/libopus/silk/NSQ_del_dec.c | 40 thunderbird-91.10.0/media/libopus/silk/PLC.c | 6 thunderbird-91.10.0/media/libopus/silk/SigProc_FIX.h | 6 thunderbird-91.10.0/media/libopus/silk/VAD.c | 5 thunderbird-91.10.0/media/libopus/silk/VQ_WMat_EC.c | 4 thunderbird-91.10.0/media/libopus/silk/arm/LPC_inv_pred_gain_neon_intr.c | 22 thunderbird-91.10.0/media/libopus/silk/bwexpander_32.c | 3 thunderbird-91.10.0/media/libopus/silk/debug.c | 10 thunderbird-91.10.0/media/libopus/silk/debug.h | 25 thunderbird-91.10.0/media/libopus/silk/decode_frame.c | 1 thunderbird-91.10.0/media/libopus/silk/define.h | 1 thunderbird-91.10.0/media/libopus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c | 9 thunderbird-91.10.0/media/libopus/silk/fixed/burg_modified_FIX.c | 8 thunderbird-91.10.0/media/libopus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h | 7 thunderbird-91.10.0/media/libopus/silk/fixed/vector_ops_FIX.c | 2 thunderbird-91.10.0/media/libopus/silk/fixed/warped_autocorrelation_FIX.c | 2 thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse.c | 377 thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse4_1.c | 69 thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse.c | 88 thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse4_1.c | 42 thunderbird-91.10.0/media/libopus/silk/float/warped_autocorrelation_FLP.c | 4 thunderbird-91.10.0/media/libopus/silk/main.h | 60 thunderbird-91.10.0/media/libopus/silk/typedef.h | 3 thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse.c | 859 -- thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse4_1.c | 179 thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse.c | 719 - thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse4_1.c | 211 thunderbird-91.10.0/media/libopus/silk/x86/SigProc_FIX_sse.h | 12 thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse.c | 277 thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse4_1.c | 28 thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse.c | 142 thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse4_1.c | 187 thunderbird-91.10.0/media/libopus/silk/x86/main_sse.h | 170 thunderbird-91.10.0/media/libopus/silk/x86/x86_silk_map.c | 89 thunderbird-91.10.0/media/libopus/src/analysis.c | 66 thunderbird-91.10.0/media/libopus/src/analysis.h | 1 thunderbird-91.10.0/media/libopus/src/mapping_matrix.h | 2 thunderbird-91.10.0/media/libopus/src/mlp.c | 75 thunderbird-91.10.0/media/libopus/src/mlp_data.c | 1248 +-- thunderbird-91.10.0/media/libopus/src/opus.c | 2 thunderbird-91.10.0/media/libopus/src/opus_encoder.c | 144 thunderbird-91.10.0/media/libopus/src/opus_multistream_decoder.c | 9 thunderbird-91.10.0/media/libopus/src/opus_multistream_encoder.c | 11 thunderbird-91.10.0/media/libopus/src/opus_private.h | 1 thunderbird-91.10.0/modules/libpref/init/StaticPrefList.yaml | 2 thunderbird-91.10.0/modules/libpref/init/all.js | 13 thunderbird-91.10.0/mozglue/dllservices/WindowsDllBlocklistDefs.in | 3 thunderbird-91.10.0/netwerk/dns/effective_tld_names.dat | 83 thunderbird-91.10.0/python/mozbuild/mozbuild/action/dumpsymbols.py | 3 thunderbird-91.10.0/security/manager/ssl/StaticHPKPins.h | 2 thunderbird-91.10.0/security/manager/ssl/nsSTSPreloadList.inc | 2885 ++----- thunderbird-91.10.0/security/nss/TAG-INFO | 2 thunderbird-91.10.0/security/nss/cmd/smimetools/cmsutil.c | 2 thunderbird-91.10.0/security/nss/coreconf/coreconf.dep | 1 thunderbird-91.10.0/security/nss/lib/nss/nss.h | 4 thunderbird-91.10.0/security/nss/lib/smime/cmsdigest.c | 4 thunderbird-91.10.0/security/nss/lib/softoken/softkver.h | 4 thunderbird-91.10.0/security/nss/lib/util/nssutil.h | 4 thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/linux_32bit_arg_fixup.patch | 84 thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/patch_order.txt | 1 thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc | 27 thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h | 8 thunderbird-91.10.0/security/sandbox/common/test/SandboxTestingChildTests.h | 52 thunderbird-91.10.0/security/sandbox/linux/SandboxFilter.cpp | 6 thunderbird-91.10.0/services/settings/dumps/blocklists/addons-bloomfilters.json | 249 thunderbird-91.10.0/services/settings/dumps/main/password-rules.json | 306 thunderbird-91.10.0/services/settings/dumps/main/websites-with-shared-credential-backends.json | 201 thunderbird-91.10.0/services/settings/dumps/security-state/intermediates.json | 4056 +++++----- thunderbird-91.10.0/sourcestamp.txt | 6 thunderbird-91.10.0/taskcluster/docker/decision/HASH | 2 thunderbird-91.10.0/taskcluster/taskgraph/transforms/geckodriver_signing.py | 2 thunderbird-91.10.0/taskcluster/taskgraph/transforms/openh264_signing.py | 2 thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing.py | 6 thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing_partner.py | 4 thunderbird-91.10.0/taskcluster/taskgraph/util/signed_artifacts.py | 4 thunderbird-91.10.0/testing/firefox-ui/tests/functional/security/manifest.ini | 1 thunderbird-91.10.0/testing/web-platform/meta/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html.ini | 11 thunderbird-91.10.0/testing/web-platform/meta/infrastructure/server/__dir__.ini | 1 thunderbird-91.10.0/testing/web-platform/meta/websockets/__dir__.ini | 1 thunderbird-91.10.0/testing/web-platform/meta/websockets/extended-payload-length.html.ini | 19 thunderbird-91.10.0/thunderbird-l10n/af/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ar/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ast/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/be/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/bg/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/br/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ca/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/cak/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/cs/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/cy/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/da/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/de/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/dsb/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/el/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/en-CA/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/en-GB/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/es-AR/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/es-ES/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/et/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/eu/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/fi/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/fr/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/fy-NL/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ga-IE/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/gd/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/gl/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/he/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/hr/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/hsb/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/hu/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/hy-AM/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/id/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/is/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/it/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ja/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ka/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/kab/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/kk/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ko/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/lt/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/lv/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ms/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/nb-NO/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/nl/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/nn-NO/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/pa-IN/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/pl/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/pt-BR/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/pt-PT/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/rm/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ro/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/ru/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/sk/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/sl/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/sq/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/sr/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/sv-SE/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/th/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/tr/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/uk/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/uz/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/vi/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/zh-CN/manifest.json | 2 thunderbird-91.10.0/thunderbird-l10n/zh-TW/manifest.json | 2 thunderbird-91.10.0/toolkit/components/reader/AboutReader.jsm | 7 thunderbird-91.10.0/toolkit/components/reader/ReaderMode.jsm | 73 thunderbird-91.10.0/toolkit/components/windowwatcher/nsWindowWatcher.cpp | 4 thunderbird-91.10.0/widget/cocoa/nsChildView.mm | 18 thunderbird-91.10.0/widget/windows/GfxInfo.cpp | 18 thunderbird-91.10.0/widget/windows/nsFilePicker.cpp | 7 thunderbird-91.10.0/xpcom/base/CycleCollectedJSRuntime.cpp | 10 298 files changed, 8187 insertions(+), 8430 deletions(-) diff -Nru thunderbird-91.8.0/.taskcluster.yml thunderbird-91.10.0/.taskcluster.yml --- thunderbird-91.8.0/.taskcluster.yml 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/.taskcluster.yml 2022-05-25 21:45:06.000000000 +0000 @@ -214,7 +214,7 @@ ACTION_CALLBACK: '${action.cb_name}' cache: - "${trustDomain}-level-${repository.level}-checkouts-sparse-v2": /builds/worker/checkouts + "${trustDomain}-level-${repository.level}-checkouts-sparse-v3": /builds/worker/checkouts features: taskclusterProxy: true @@ -222,7 +222,7 @@ # Note: This task is built server side without the context or tooling that # exist in tree so we must hard code the hash - image: 'mozillareleases/gecko_decision:3.0.1@sha256:9964730ed951584e65032bd1d6a2b7ede6d880a8b7aefb72d0d7f82346d834e3' + image: 'mozillareleases/gecko_decision:4.0.0@sha256:9f69fe08c28e3cb3cc296451f0a2735df6e25d0e3c877ea735ef1b7f0b345b06' maxRunTime: 1800 diff -Nru thunderbird-91.8.0/.vscode/extensions.json thunderbird-91.10.0/.vscode/extensions.json --- thunderbird-91.8.0/.vscode/extensions.json 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/.vscode/extensions.json 2022-05-25 21:45:06.000000000 +0000 @@ -11,7 +11,7 @@ // C/C++ language support with clangd "llvm-vs-code-extensions.vscode-clangd", // Provides support for rust-analyzer: novel LSP server for the Rust programming language. - "matklad.rust-analyzer", + "rust-lang.rust-analyzer", // CSS support for HTML documents. "ecmel.vscode-html-css", // Web app and extension debugging. diff -Nru thunderbird-91.8.0/CLOBBER thunderbird-91.10.0/CLOBBER --- thunderbird-91.8.0/CLOBBER 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/CLOBBER 2022-05-25 21:45:06.000000000 +0000 @@ -22,4 +22,4 @@ # changes to stick? As of bug 928195, this shouldn't be necessary! Please # don't change CLOBBER for WebIDL changes any more. -Merge day clobber \ No newline at end of file +Merge day clobber 2022-05-02 \ No newline at end of file diff -Nru thunderbird-91.8.0/browser/actors/AboutReaderParent.jsm thunderbird-91.10.0/browser/actors/AboutReaderParent.jsm --- thunderbird-91.8.0/browser/actors/AboutReaderParent.jsm 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/actors/AboutReaderParent.jsm 2022-05-25 21:45:06.000000000 +0000 @@ -157,6 +157,13 @@ break; } + case "RedirectTo": { + gCachedArticles.set(message.data.newURL, message.data.article); + // This is setup as a query so we can navigate the page after we've + // cached the relevant info in the parent. + return true; + } + default: this.callListeners(message); break; diff -Nru thunderbird-91.8.0/browser/actors/DOMFullscreenParent.jsm thunderbird-91.10.0/browser/actors/DOMFullscreenParent.jsm --- thunderbird-91.8.0/browser/actors/DOMFullscreenParent.jsm 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/actors/DOMFullscreenParent.jsm 2022-05-25 21:45:06.000000000 +0000 @@ -48,20 +48,38 @@ } } + /** + * Clean up fullscreen state and resume chrome UI if window is in fullscreen + * and this actor is the one where the original fullscreen enter or + * exit request comes. + */ + _cleanupFullscreenStateAndResumeChromeUI(aWindow) { + this.cleanupDomFullscreen(aWindow); + if (this.requestOrigin == this && aWindow.document.fullscreen) { + aWindow.windowUtils.remoteFrameFullscreenReverted(); + } + } + didDestroy() { this._didDestroy = true; let window = this._fullscreenWindow; if (!window) { - if (this.waitingForChildExitFullscreen) { + let topBrowsingContext = this.browsingContext.top; + let browser = topBrowsingContext.embedderElement; + if (!browser) { + return; + } + + if ( + this.waitingForChildExitFullscreen || + this.waitingForChildEnterFullscreen + ) { this.waitingForChildExitFullscreen = false; + this.waitingForChildEnterFullscreen = false; // We were destroyed while waiting for our DOMFullscreenChild to exit - // and have exited fullscreen, run cleanup steps anyway. - let topBrowsingContext = this.browsingContext.top; - let browser = topBrowsingContext.embedderElement; - if (browser) { - this.cleanupDomFullscreen(browser.ownerGlobal); - } + // or enter fullscreen, run cleanup steps anyway. + this._cleanupFullscreenStateAndResumeChromeUI(browser.ownerGlobal); } return; } @@ -93,9 +111,9 @@ } } else if (this.waitingForChildExitFullscreen) { this.waitingForChildExitFullscreen = false; - // We were destroyed while waiting for our DOMFullscreenChild to exit and - // have exited fullscreen, run cleanup steps anyway. - this.cleanupDomFullscreen(window); + // We were destroyed while waiting for our DOMFullscreenChild to exit + // run cleanup steps anyway. + this._cleanupFullscreenStateAndResumeChromeUI(window); } this.updateFullscreenWindowReference(window); } @@ -114,7 +132,6 @@ switch (aMessage.name) { case "DOMFullscreen:Request": { this.waitingForChildExitFullscreen = false; - this.nextMsgRecipient = null; this.requestOrigin = this; this.addListeners(window); window.windowUtils.remoteFrameFullscreenChanged(browser); diff -Nru thunderbird-91.8.0/browser/base/content/browser-fullScreenAndPointerLock.js thunderbird-91.10.0/browser/base/content/browser-fullScreenAndPointerLock.js --- thunderbird-91.8.0/browser/base/content/browser-fullScreenAndPointerLock.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/base/content/browser-fullScreenAndPointerLock.js 2022-05-25 21:45:06.000000000 +0000 @@ -471,7 +471,12 @@ // before the check is fine since we also check the activeness of // the requesting document in content-side handling code. if (this._isRemoteBrowser(aBrowser)) { - let [targetActor, inProcessBC] = this._getNextMsgRecipientActor(aActor); + // The cached message recipient in actor is used for fullscreen state + // cleanup, we should not use it while entering fullscreen. + let [targetActor, inProcessBC] = this._getNextMsgRecipientActor( + aActor, + false /* aUseCache */ + ); if (!targetActor) { // If there is no appropriate actor to send the message we have // no way to complete the transition and should abort by exiting @@ -479,14 +484,14 @@ this._abortEnterFullscreen(); return; } + // Record that the actor is waiting for its child to enter + // fullscreen so that if it dies we can abort. + targetActor.waitingForChildEnterFullscreen = true; targetActor.sendAsyncMessage("DOMFullscreen:Entered", { remoteFrameBC: inProcessBC, }); if (inProcessBC) { - // Record that the actor is waiting for its child to enter - // fullscreen so that if it dies we can abort. - targetActor.waitingForChildEnterFullscreen = true; // We aren't messaging the request origin yet, skip this time. return; } @@ -563,17 +568,21 @@ */ cleanupDomFullscreen(aActor) { let needToWaitForChildExit = false; - let [target, inProcessBC] = this._getNextMsgRecipientActor(aActor); + // Use the message recipient cached in the actor if possible, especially for + // the case that actor is destroyed, which we are unable to find it by + // walking up the browsing context tree. + let [target, inProcessBC] = this._getNextMsgRecipientActor( + aActor, + true /* aUseCache */ + ); if (target) { needToWaitForChildExit = true; - if (!target.waitingForChildExitFullscreen) { - // Record that the actor is waiting for its child to exit fullscreen so - // that if it dies we can continue cleanup. - target.waitingForChildExitFullscreen = true; - target.sendAsyncMessage("DOMFullscreen:CleanUp", { - remoteFrameBC: inProcessBC, - }); - } + // Record that the actor is waiting for its child to exit fullscreen so + // that if it dies we can continue cleanup. + target.waitingForChildExitFullscreen = true; + target.sendAsyncMessage("DOMFullscreen:CleanUp", { + remoteFrameBC: inProcessBC, + }); if (inProcessBC) { return needToWaitForChildExit; } @@ -618,6 +627,8 @@ * * @param {JSWindowActorParent} aActor * The actor that called this function. + * @param {bool} aUseCache + * Use the recipient cached in the aActor if available. * * @return {[JSWindowActorParent, BrowsingContext]} * The parent actor which should be sent the next msg and the @@ -627,10 +638,10 @@ * the calling actor has been destroyed or its associated * WindowContext is in BFCache. */ - _getNextMsgRecipientActor(aActor) { + _getNextMsgRecipientActor(aActor, aUseCache) { // Walk up the cached nextMsgRecipient to find the next available actor if // any. - if (aActor.nextMsgRecipient) { + if (aUseCache && aActor.nextMsgRecipient) { let nextMsgRecipient = aActor.nextMsgRecipient; while (nextMsgRecipient) { let [actor] = nextMsgRecipient; diff -Nru thunderbird-91.8.0/browser/components/BrowserContentHandler.jsm thunderbird-91.10.0/browser/components/BrowserContentHandler.jsm --- thunderbird-91.8.0/browser/components/BrowserContentHandler.jsm 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/BrowserContentHandler.jsm 2022-05-25 21:45:06.000000000 +0000 @@ -373,6 +373,19 @@ if (cmdLine.handleFlag("kiosk", false)) { gKiosk = true; } + if (cmdLine.handleFlag("disable-pinch", false)) { + let defaults = Services.prefs.getDefaultBranch(null); + defaults.setBoolPref("apz.allow_zooming", false); + Services.prefs.lockPref("apz.allow_zooming"); + defaults.setCharPref("browser.gesture.pinch.in", ""); + Services.prefs.lockPref("browser.gesture.pinch.in"); + defaults.setCharPref("browser.gesture.pinch.in.shift", ""); + Services.prefs.lockPref("browser.gesture.pinch.in.shift"); + defaults.setCharPref("browser.gesture.pinch.out", ""); + Services.prefs.lockPref("browser.gesture.pinch.out"); + defaults.setCharPref("browser.gesture.pinch.out.shift", ""); + Services.prefs.lockPref("browser.gesture.pinch.out.shift"); + } if (cmdLine.handleFlag("browser", false)) { openBrowserWindow(cmdLine, gSystemPrincipal); cmdLine.preventDefault = true; @@ -586,7 +599,9 @@ info += " --setDefaultBrowser Set this app as the default browser.\n"; info += " --first-startup Run post-install actions before opening a new window.\n"; - info += " --kiosk Start the browser in kiosk mode.\n"; + info += " --kiosk Start the browser in kiosk mode.\n"; + info += + " --disable-pinch Disable touch-screen and touch-pad pinch gestures.\n"; return info; }, diff -Nru thunderbird-91.8.0/browser/components/enterprisepolicies/Policies.jsm thunderbird-91.10.0/browser/components/enterprisepolicies/Policies.jsm --- thunderbird-91.8.0/browser/components/enterprisepolicies/Policies.jsm 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/enterprisepolicies/Policies.jsm 2022-05-25 21:45:06.000000000 +0000 @@ -1419,6 +1419,12 @@ }, }, + PasswordManagerExceptions: { + onBeforeUIStartup(manager, param) { + addAllowDenyPermissions("login-saving", null, param); + }, + }, + PDFjs: { onBeforeAddons(manager, param) { if ("Enabled" in param) { diff -Nru thunderbird-91.8.0/browser/components/enterprisepolicies/schemas/policies-schema.json thunderbird-91.10.0/browser/components/enterprisepolicies/schemas/policies-schema.json --- thunderbird-91.8.0/browser/components/enterprisepolicies/schemas/policies-schema.json 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/enterprisepolicies/schemas/policies-schema.json 2022-05-25 21:45:06.000000000 +0000 @@ -787,6 +787,14 @@ "type": "boolean" }, + "PasswordManagerExceptions": { + "type": "array", + "strict": false, + "items": { + "type": "origin" + } + }, + "PDFjs": { "type": "object", "properties": { diff -Nru thunderbird-91.8.0/browser/components/enterprisepolicies/tests/browser/browser_policy_search_engine.js thunderbird-91.10.0/browser/components/enterprisepolicies/tests/browser/browser_policy_search_engine.js --- thunderbird-91.8.0/browser/components/enterprisepolicies/tests/browser/browser_policy_search_engine.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/enterprisepolicies/tests/browser/browser_policy_search_engine.js 2022-05-25 21:45:06.000000000 +0000 @@ -2,6 +2,12 @@ * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; +const { SearchTestUtils } = ChromeUtils.import( + "resource://testing-common/SearchTestUtils.jsm" +); +const { SearchUtils } = ChromeUtils.import( + "resource://gre/modules/SearchUtils.jsm" +); const { CustomizableUITestUtils } = ChromeUtils.import( "resource://testing-common/CustomizableUITestUtils.jsm" ); @@ -468,3 +474,52 @@ await Services.search.removeEngine(engine); EnterprisePolicyTesting.resetRunOnceState(); }); + +add_task(async function test_reset_default() { + await setupPolicyEngineWithJson({ + policies: { + SearchEngines: { + Remove: ["DuckDuckGo"], + }, + }, + }); + // Get in line, because the Search policy callbacks are async. + await TestUtils.waitForTick(); + + let engine = Services.search.getEngineByName("DuckDuckGo"); + + is(engine.hidden, true, "Application specified engine should be hidden."); + + await BrowserTestUtils.withNewTab( + "about:preferences#search", + async browser => { + let tree = browser.contentDocument.querySelector("#engineList"); + for (let i = 0; i < tree.view.rowCount; i++) { + let cellName = tree.view.getCellText( + i, + tree.columns.getNamedColumn("engineName") + ); + isnot(cellName, "DuckDuckGo", "DuckDuckGo should be invisible"); + } + let restoreDefaultsButton = browser.contentDocument.getElementById( + "restoreDefaultSearchEngines" + ); + let updatedPromise = SearchTestUtils.promiseSearchNotification( + SearchUtils.MODIFIED_TYPE.CHANGED, + SearchUtils.TOPIC_ENGINE_MODIFIED + ); + restoreDefaultsButton.click(); + await updatedPromise; + for (let i = 0; i < tree.view.rowCount; i++) { + let cellName = tree.view.getCellText( + i, + tree.columns.getNamedColumn("engineName") + ); + isnot(cellName, "DuckDuckGo", "DuckDuckGo should be invisible"); + } + } + ); + + engine.hidden = false; + EnterprisePolicyTesting.resetRunOnceState(); +}); diff -Nru thunderbird-91.8.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js thunderbird-91.10.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js --- thunderbird-91.8.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js 2022-05-25 21:45:06.000000000 +0000 @@ -336,3 +336,20 @@ Ci.nsIPermissionManager.ALLOW_ACTION ); }); + +// This again seems out of places, but PasswordManagerExceptions +// is all permissions. +add_task(async function test_passwordmanagerexceptions() { + await setupPolicyEngineWithJson({ + policies: { + PasswordManagerExceptions: ["https://pwexception.example.com"], + }, + }); + equal( + PermissionTestUtils.testPermission( + URI("https://pwexception.example.com"), + "login-saving" + ), + Ci.nsIPermissionManager.DENY_ACTION + ); +}); diff -Nru thunderbird-91.8.0/browser/components/preferences/dialogs/permissions.js thunderbird-91.10.0/browser/components/preferences/dialogs/permissions.js --- thunderbird-91.8.0/browser/components/preferences/dialogs/permissions.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/preferences/dialogs/permissions.js 2022-05-25 21:45:07.000000000 +0000 @@ -346,6 +346,7 @@ }, _createPermissionListItem(permission) { + let disabledByPolicy = this._permissionDisabledByPolicy(permission); let richlistitem = document.createXULElement("richlistitem"); richlistitem.setAttribute("origin", permission.origin); let row = document.createXULElement("hbox"); @@ -353,6 +354,8 @@ let hbox = document.createXULElement("hbox"); let website = document.createXULElement("label"); + website.setAttribute("disabled", disabledByPolicy); + website.setAttribute("class", "website-name-value"); website.setAttribute("value", permission.origin); hbox.setAttribute("width", "0"); hbox.setAttribute("class", "website-name"); @@ -363,6 +366,7 @@ if (!this._hideStatusColumn) { hbox = document.createXULElement("hbox"); let capability = document.createXULElement("label"); + capability.setAttribute("disabled", disabledByPolicy); capability.setAttribute("class", "website-capability-value"); document.l10n.setAttributes( capability, @@ -434,15 +438,31 @@ } let hasSelection = this._list.selectedIndex >= 0; - let hasRows = this._list.itemCount > 0; - this._removeButton.disabled = !hasSelection; - this._removeAllButton.disabled = !hasRows; + + let disabledByPolicy = false; + if (Services.policies.status === Services.policies.ACTIVE && hasSelection) { + let origin = this._list.selectedItem.getAttribute("origin"); + disabledByPolicy = this._permissionDisabledByPolicy( + this._permissions.get(origin) + ); + } + + this._removeButton.disabled = !hasSelection || disabledByPolicy; + let disabledItems = this._list.querySelectorAll( + "label.website-name-value[disabled='true']" + ); + + this._removeAllButton.disabled = + this._list.itemCount == disabledItems.length; }, onPermissionDelete() { let richlistitem = this._list.selectedItem; let origin = richlistitem.getAttribute("origin"); let permission = this._permissions.get(origin); + if (this._permissionDisabledByPolicy(permission)) { + return; + } this._removePermission(permission); @@ -451,6 +471,9 @@ onAllPermissionsDelete() { for (let permission of this._permissions.values()) { + if (this._permissionDisabledByPolicy(permission)) { + continue; + } this._removePermission(permission); } @@ -513,6 +536,17 @@ this._setRemoveButtonState(); }, + _permissionDisabledByPolicy(permission) { + let permissionObject = Services.perms.getPermissionObject( + permission.principal, + this._type, + false + ); + return ( + permissionObject?.expireType == Ci.nsIPermissionManager.EXPIRE_POLICY + ); + }, + _sortPermissions(list, frag, column) { let sortDirection; diff -Nru thunderbird-91.8.0/browser/components/preferences/home.js thunderbird-91.10.0/browser/components/preferences/home.js --- thunderbird-91.8.0/browser/components/preferences/home.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/preferences/home.js 2022-05-25 21:45:07.000000000 +0000 @@ -117,6 +117,7 @@ if (newValue !== menulist.value) { menulist.value = newValue; } + menulist.disabled = Preferences.get(this.NEWTAB_ENABLED_PREF).locked; // If change was triggered by installing an addon we need to update // the value of the menulist to be that addon. } else { diff -Nru thunderbird-91.8.0/browser/components/preferences/search.js thunderbird-91.10.0/browser/components/preferences/search.js --- thunderbird-91.8.0/browser/components/preferences/search.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/preferences/search.js 2022-05-25 21:45:06.000000000 +0000 @@ -784,6 +784,22 @@ added++; } } + + // We can't do this as part of the loop above because the indices are + // used for moving engines. + let policyRemovedEngineNames = + Services.policies.getActivePolicies()?.SearchEngines?.Remove || []; + for (let engineName of policyRemovedEngineNames) { + let engine = Services.search.getEngineByName(engineName); + if (engine) { + try { + await Services.search.removeEngine(engine); + } catch (ex) { + // Engine might not exist + } + } + } + Services.search.resetToOriginalDefaultEngine(); gSearchPane.showRestoreDefaults(false); gSearchPane.buildDefaultEngineDropDowns(); diff -Nru thunderbird-91.8.0/browser/components/preferences/tests/browser.ini thunderbird-91.10.0/browser/components/preferences/tests/browser.ini --- thunderbird-91.8.0/browser/components/preferences/tests/browser.ini 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/components/preferences/tests/browser.ini 2022-05-25 21:45:07.000000000 +0000 @@ -115,6 +115,7 @@ [browser_security-2.js] [browser_spotlight.js] [browser_site_login_exceptions.js] +[browser_site_login_exceptions_policy.js] [browser_permissions_dialog.js] [browser_permissions_dialog_default_perm.js] [browser_statePartitioning_PBM_strings.js] diff -Nru thunderbird-91.8.0/browser/components/preferences/tests/browser_site_login_exceptions_policy.js thunderbird-91.10.0/browser/components/preferences/tests/browser_site_login_exceptions_policy.js --- thunderbird-91.8.0/browser/components/preferences/tests/browser_site_login_exceptions_policy.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/browser/components/preferences/tests/browser_site_login_exceptions_policy.js 2022-05-25 21:45:07.000000000 +0000 @@ -0,0 +1,65 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const { EnterprisePolicyTesting } = ChromeUtils.import( + "resource://testing-common/EnterprisePolicyTesting.jsm" +); + +const PERMISSIONS_URL = + "chrome://browser/content/preferences/dialogs/permissions.xhtml"; + +var exceptionsDialog; + +add_task(async function openLoginExceptionsSubDialog() { + // ensure rememberSignons is off for this test; + ok( + !Services.prefs.getBoolPref("signon.rememberSignons"), + "Check initial value of signon.rememberSignons pref" + ); + + // Undo the save password change. + registerCleanupFunction(async function() { + await SpecialPowers.spawn(gBrowser.selectedBrowser, [], function() { + let doc = content.document; + let savePasswordCheckBox = doc.getElementById("savePasswords"); + if (savePasswordCheckBox.checked) { + savePasswordCheckBox.click(); + } + }); + + gBrowser.removeCurrentTab(); + await EnterprisePolicyTesting.setupPolicyEngineWithJson(""); + }); + + await EnterprisePolicyTesting.setupPolicyEngineWithJson({ + policies: { + PasswordManagerExceptions: ["https://pwexception.example.com"], + }, + }); + + await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true }); + + let dialogOpened = promiseLoadSubDialog(PERMISSIONS_URL); + + await SpecialPowers.spawn(gBrowser.selectedBrowser, [], function() { + let doc = content.document; + let savePasswordCheckBox = doc.getElementById("savePasswords"); + savePasswordCheckBox.click(); + + let loginExceptionsButton = doc.getElementById("passwordExceptions"); + loginExceptionsButton.click(); + }); + + exceptionsDialog = await dialogOpened; + + let doc = exceptionsDialog.document; + + let richlistbox = doc.getElementById("permissionsBox"); + Assert.equal(richlistbox.itemCount, 1, `Row count should initially be 1`); + + richlistbox.focus(); + richlistbox.selectedIndex = 0; + Assert.ok(doc.getElementById("removePermission").disabled); +}); diff -Nru thunderbird-91.8.0/browser/config/version.txt thunderbird-91.10.0/browser/config/version.txt --- thunderbird-91.8.0/browser/config/version.txt 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/config/version.txt 2022-05-25 21:45:07.000000000 +0000 @@ -1 +1 @@ -91.8.0 +91.10.0 diff -Nru thunderbird-91.8.0/browser/config/version_display.txt thunderbird-91.10.0/browser/config/version_display.txt --- thunderbird-91.8.0/browser/config/version_display.txt 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/config/version_display.txt 2022-05-25 21:45:07.000000000 +0000 @@ -1 +1 @@ -91.8.0esr +91.10.0esr diff -Nru thunderbird-91.8.0/browser/locales/en-US/browser/policies/policies-descriptions.ftl thunderbird-91.10.0/browser/locales/en-US/browser/policies/policies-descriptions.ftl --- thunderbird-91.8.0/browser/locales/en-US/browser/policies/policies-descriptions.ftl 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/browser/locales/en-US/browser/policies/policies-descriptions.ftl 2022-05-25 21:45:07.000000000 +0000 @@ -158,6 +158,8 @@ policy-PasswordManagerEnabled = Enable saving passwords to the password manager. +policy-PasswordManagerExceptions = Prevent { -brand-short-name } from saving passwords for specific sites. + # PDF.js and PDF should not be translated policy-PDFjs = Disable or configure PDF.js, the built-in PDF viewer in { -brand-short-name }. diff -Nru thunderbird-91.8.0/comm/.gecko_rev.yml thunderbird-91.10.0/comm/.gecko_rev.yml --- thunderbird-91.8.0/comm/.gecko_rev.yml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/.gecko_rev.yml 2022-05-25 21:49:58.000000000 +0000 @@ -1,8 +1,8 @@ --- GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr91 -GECKO_HEAD_REF: FIREFOX_91_8_0esr_BUILD1 -GECKO_HEAD_REV: 3b54d6b5407fca03efdb2e2f57a9838498e0d038 +GECKO_HEAD_REF: FIREFOX_91_10_0esr_BUILD1 +GECKO_HEAD_REV: 9cbe8ffa12101019dbe0da698f869ed3ef0b9370 ### For comm-central # GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified diff -Nru thunderbird-91.8.0/comm/.taskcluster.yml thunderbird-91.10.0/comm/.taskcluster.yml --- thunderbird-91.8.0/comm/.taskcluster.yml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/.taskcluster.yml 2022-05-25 21:49:58.000000000 +0000 @@ -212,7 +212,7 @@ ACTION_CALLBACK: '${action.cb_name}' cache: - "${trustDomain}-level-${repository.level}-checkouts-sparse-v2": /builds/worker/checkouts + "${trustDomain}-level-${repository.level}-checkouts-sparse-v3": /builds/worker/checkouts features: taskclusterProxy: true @@ -220,7 +220,7 @@ # Note: This task is built server side without the context or tooling that # exist in tree so we must hard code the hash - image: 'mozillareleases/gecko_decision:3.0.1@sha256:9964730ed951584e65032bd1d6a2b7ede6d880a8b7aefb72d0d7f82346d834e3' + image: 'mozillareleases/gecko_decision:4.0.0@sha256:9f69fe08c28e3cb3cc296451f0a2735df6e25d0e3c877ea735ef1b7f0b345b06' maxRunTime: 1800 diff -Nru thunderbird-91.8.0/comm/build/moz.configure/gecko_source.configure thunderbird-91.10.0/comm/build/moz.configure/gecko_source.configure --- thunderbird-91.8.0/comm/build/moz.configure/gecko_source.configure 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/build/moz.configure/gecko_source.configure 2022-05-25 21:49:58.000000000 +0000 @@ -4,9 +4,7 @@ # 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/. -# Attempt to ascertain the Gecko source repository information. This is -# necessary because MOZ_SOURCE_REPOSITORY and MOZ_SOURCE_CHANGESET both refer -# to the Thunderbird (comm) repository. +# Attempt to ascertain the Gecko source repository information. # We need to have accurate source repository information for MPL compliance. @@ -105,12 +103,12 @@ """ Read the Thunderbird source repository information from the environment. - Taskcluster builds set MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET pointing + Taskcluster builds set COMM_HEAD_REPOSITORY and COMM_HEAD_REV pointing to the comm-* repository. """ log.info("Determining COMM source information from environment...") - comm_repo = environ.get("MOZ_SOURCE_REPO", None) - comm_rev = environ.get("MOZ_SOURCE_CHANGESET", None) + comm_repo = environ.get("COMM_HEAD_REPOSITORY", None) + comm_rev = environ.get("COMM_HEAD_REV", None) if all([comm_repo, comm_rev]): comm_repo = ensure_text(comm_repo) @@ -130,21 +128,13 @@ def comm_repo_heuristics(comm_environ, paths, hg, sourcestamp): """ Determine the Thunderbird Mercurial repository and revision from Mercurial - or sourcestamp.txt when MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET are unset + or sourcestamp.txt when COMM_HEAD_REPOSITORY and COMM_HEAD_REV are unset (local developer builds). - - In that case, MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET are set - by build/variables.py, but will refer to the mozilla- repository, - which is incorrect for Thunderbird builds. - - There's no set_config call for MOZ_SOURCE_REPO or MOZ_SOURCE_CHANGESET - here as that will be done when old-configure runs later. Here we just - set the environment variables the same as Taskcluster would. """ if not comm_environ: comm_repo = comm_rev = None if hg: - log.info("Determining COMM source information from " "Mercurial...") + log.info("Determining COMM source information from Mercurial...") comm_rev = hg_cmd_output( hg, "-R", paths.commtopsrcdir, "parent", "--template={node}" ) @@ -162,16 +152,12 @@ except: pass - # If values are found, set MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET - if comm_repo and comm_rev: - environ["MOZ_SOURCE_REPO"] = comm_repo - environ["MOZ_SOURCE_CHANGESET"] = comm_rev - if comm_repo and comm_rev: return namespace(comm_repo=comm_repo, comm_rev=comm_rev) @depends(comm_repo_from_environ, comm_repo_heuristics, "MOZ_AUTOMATION") +@imports(_from="os", _import="environ") def comm_source_repo(from_environ, from_config, automation): rv = None if from_environ: @@ -179,13 +165,19 @@ elif from_config: rv = from_config elif automation: - die(get_fail_msg("COMM", "MOZ_SOURCE_REPO", "MOZ_SOURCE_CHANGESET")) + die(get_fail_msg("COMM", "COMM_HEAD_REPOSITORY", "COMM_HEAD_REV")) else: - log.info(get_fail_msg("COMM", "MOZ_SOURCE_REPO", "MOZ_SOURCE_CHANGESET")) + log.info(get_fail_msg("COMM", "COMM_HEAD_REPOSITORY", "COMM_HEAD_REV")) rv = namespace(comm_repo="unknown", comm_rev="unknown") log.info("COMM_SOURCE_REPOSITORY: {}".format(rv.comm_repo)) log.info("COMM_SOURCE_CHANGESET: {}".format(rv.comm_rev)) + + # Used by old-configure to set in buildconfig. This is configure's environment + # not the same as used by the build itself. + environ["MOZ_SOURCE_REPO"] = rv.comm_repo + environ["MOZ_SOURCE_CHANGESET"] = rv.comm_rev + return rv @@ -238,9 +230,7 @@ # "default" when a revision hash is needed. Try to query # Mercurial first. if hg: - log.info( - "Determining GECKO source information from " "Mercurial..." - ) + log.info("Determining GECKO source information from Mercurial...") gecko_rev = hg_cmd_output( hg, "-R", paths.moztopsrcdir, "parent", "--template={node}" ) diff -Nru thunderbird-91.8.0/comm/calendar/base/themes/osx/calendar-task-view.css thunderbird-91.10.0/comm/calendar/base/themes/osx/calendar-task-view.css --- thunderbird-91.8.0/comm/calendar/base/themes/osx/calendar-task-view.css 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/base/themes/osx/calendar-task-view.css 2022-05-25 21:49:58.000000000 +0000 @@ -13,8 +13,9 @@ border-bottom-color: #bebebe } -/* Hide the search glass */ -.task-edit-field { +/* Hide the magnifying glass icon */ +#view-task-edit-field, +#unifinder-task-edit-field { margin-block: 0; background-image: none; padding-inline-start: 4px !important; diff -Nru thunderbird-91.8.0/comm/calendar/providers/caldav/modules/CalDavRequest.jsm thunderbird-91.10.0/comm/calendar/providers/caldav/modules/CalDavRequest.jsm --- thunderbird-91.8.0/comm/calendar/providers/caldav/modules/CalDavRequest.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/providers/caldav/modules/CalDavRequest.jsm 2022-05-25 21:49:58.000000000 +0000 @@ -755,6 +755,20 @@ } /** + * Returns a Set for the "current-user-privilege-set" properties. If a 404 + * status is detected, null is returned indicating the server does not + * support this directive. + * + * @param {string} path The css path to search + * @param {Element} parent The parent element to search in + * @param {string} status The status of the enclosing + * @return {Set} + */ + function privSet(path, parent, status = "") { + return status.includes("404") ? null : nodeNames(path, parent); + } + + /** * Returns a Set with the respective attribute values in the path * * @param {String} path The css path to search @@ -787,7 +801,7 @@ "C:calendar-home-set": href, "C:calendar-user-address-set": href, "D:current-user-principal": singleHref, - "D:current-user-privilege-set": nodeNames.bind(null, ":scope > privilege > *"), + "D:current-user-privilege-set": privSet.bind(null, ":scope > privilege > *"), "D:owner": singleHref, "D:supported-report-set": nodeNames.bind(null, ":scope > supported-report > report > *"), "D:resourcetype": nodeNames.bind(null, ":scope > *"), @@ -811,13 +825,16 @@ // This will throw 200's and 400's in one pot, but since 400's are empty that is ok // for our needs. - for (let prop of response.querySelectorAll(":scope > propstat > prop > *")) { - let prefix = CalDavNsUnresolver(prop.namespaceURI) || prop.prefix; - let qname = prefix + ":" + prop.localName; - if (qname in this.decorators) { - this._data[href][qname] = this.decorators[qname](prop) || null; - } else { - this._data[href][qname] = prop.textContent.trim() || null; + for (let propStat of response.querySelectorAll(":scope > propstat")) { + let status = propStat.querySelector(":scope > status").textContent; + for (let prop of propStat.querySelectorAll(":scope > prop > *")) { + let prefix = CalDavNsUnresolver(prop.namespaceURI) || prop.prefix; + let qname = prefix + ":" + prop.localName; + if (qname in this.decorators) { + this._data[href][qname] = this.decorators[qname](prop, status) || null; + } else { + this._data[href][qname] = prop.textContent.trim() || null; + } } } } diff -Nru thunderbird-91.8.0/comm/calendar/providers/memory/CalMemoryCalendar.jsm thunderbird-91.10.0/comm/calendar/providers/memory/CalMemoryCalendar.jsm --- thunderbird-91.8.0/comm/calendar/providers/memory/CalMemoryCalendar.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/providers/memory/CalMemoryCalendar.jsm 2022-05-25 21:49:58.000000000 +0000 @@ -61,7 +61,7 @@ }, get shortName() { - return this.displayName(); + return this.displayName; }, createCalendar() { diff -Nru thunderbird-91.8.0/comm/calendar/test/CalDAVServer.jsm thunderbird-91.10.0/comm/calendar/test/CalDAVServer.jsm --- thunderbird-91.8.0/comm/calendar/test/CalDAVServer.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/test/CalDAVServer.jsm 2022-05-25 21:49:58.000000000 +0000 @@ -27,6 +27,11 @@ server: null, isOpen: false, + /** + * The "current-user-privilege-set" in responses. Set to null to have no privilege set. + */ + privileges: "", + open(username, password) { this.server = new HttpServer(); this.server.start(-1); @@ -43,6 +48,7 @@ this.items.clear(); this.deletedItems.clear(); this.changeCount = 0; + this.privileges = ""; this.resetHandlers(); }, @@ -194,6 +200,12 @@ ); let propNames = this._inputProps(input); + let propValues = { + "d:resourcetype": "", + "d:displayname": "CalDAV Test", + "i:calendar-color": "#ff8000", + "d:current-user-privilege-set": this.privileges, + }; response.setStatusLine("1.1", 207, "Multi-Status"); response.setHeader("Content-Type", "text/xml"); @@ -208,11 +220,7 @@ ${this.path} - ${this._outputProps(propNames, { - "d:resourcetype": "", - "d:displayname": "CalDAV Test", - "i:calendar-color": "#ff8000", - })} + ${this._outputProps(propNames, propValues)} `.replace(/>\s+<") ); @@ -301,7 +309,7 @@ "d:resourcetype": "", "d:owner": "/principals/me/", "d:current-user-principal": "/principals/me/", - "d:current-user-privilege-set": "", + "d:current-user-privilege-set": this.privileges, "d:supported-report-set": "", "c:supported-calendar-component-set": "", @@ -426,7 +434,7 @@ let found = []; let notFound = []; for (let p of propNames) { - if (p in propValues) { + if (p in propValues && propValues[p] != null) { found.push(`<${p}>${propValues[p]}`); } else { notFound.push(`<${p}/>`); diff -Nru thunderbird-91.8.0/comm/calendar/test/browser/browser_calDAV_discovery.js thunderbird-91.10.0/comm/calendar/test/browser/browser_calDAV_discovery.js --- thunderbird-91.8.0/comm/calendar/test/browser/browser_calDAV_discovery.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/test/browser/browser_calDAV_discovery.js 2022-05-25 21:49:59.000000000 +0000 @@ -83,8 +83,15 @@ expectedCalendars[i].color ); Assert.equal(item.querySelector(".calendar-name").value, expectedCalendars[i].name); - } + if (expectedCalendars[i].hasOwnProperty("readOnly")) { + Assert.equal( + item.calendar.readOnly, + expectedCalendars[i].readOnly, + `calendar read-only property is ${expectedCalendars[i].readOnly}` + ); + } + } EventUtils.synthesizeMouseAtCenter(cancelButton, {}, wizardWindow); } @@ -161,3 +168,72 @@ CalDAVServer.close(); }); + +/** + * Tests calendars with only the "read" "current-user-privilege-set" are + * flagged read-only. + */ +add_task(async function testCalendarWithOnlyReadPriv() { + CalDAVServer.open("alice", "alice"); + CalDAVServer.privileges = ""; + await openWizard({ + username: "alice", + url: CalDAVServer.origin, + password: "alice", + expectedCalendars: [ + { + uri: CalDAVServer.url, + name: "CalDAV Test", + color: "rgb(255, 128, 0)", + readOnly: true, + }, + ], + }); + CalDAVServer.close(); +}); + +/** + * Tests calendars that return none of the expected values for "current-user-privilege-set" + * are flagged read-only. + */ +add_task(async function testCalendarWithoutPrivs() { + CalDAVServer.open("alice", "alice"); + CalDAVServer.privileges = ""; + await openWizard({ + username: "alice", + url: CalDAVServer.origin, + password: "alice", + expectedCalendars: [ + { + uri: CalDAVServer.url, + name: "CalDAV Test", + color: "rgb(255, 128, 0)", + readOnly: true, + }, + ], + }); + CalDAVServer.close(); +}); + +/** + * Tests calendars that return status 404 for "current-user-privilege-set" are + * not flagged read-only. + */ +add_task(async function testCalendarWithNoPrivSupport() { + CalDAVServer.open("alice", "alice"); + CalDAVServer.privileges = null; + await openWizard({ + username: "alice", + url: CalDAVServer.origin, + password: "alice", + expectedCalendars: [ + { + uri: CalDAVServer.url, + name: "CalDAV Test", + color: "rgb(255, 128, 0)", + readOnly: false, + }, + ], + }); + CalDAVServer.close(); +}); diff -Nru thunderbird-91.8.0/comm/calendar/test/unit/providers/test_caldavCalendar_cached.js thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_cached.js --- thunderbird-91.8.0/comm/calendar/test/unit/providers/test_caldavCalendar_cached.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_cached.js 2022-05-25 21:49:58.000000000 +0000 @@ -44,3 +44,18 @@ info("deleting the item"); await runDeleteItem(calendar); }); + +/** + * Tests calendars that return status 404 for "current-user-privilege-set" are + * not flagged read-only. + */ +add_task(async function testCalendarWithNoPrivSupport() { + CalDAVServer.privileges = null; + calendarObserver._onLoadPromise = PromiseUtils.defer(); + + let calendar = createCalendar("caldav", CalDAVServer.url, true); + await calendarObserver._onLoadPromise.promise; + info("calendar set-up complete"); + + Assert.ok(!calendar.readOnly, "calendar was not marked read-only"); +}); diff -Nru thunderbird-91.8.0/comm/calendar/test/unit/providers/test_caldavCalendar_uncached.js thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_uncached.js --- thunderbird-91.8.0/comm/calendar/test/unit/providers/test_caldavCalendar_uncached.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/calendar/test/unit/providers/test_caldavCalendar_uncached.js 2022-05-25 21:49:58.000000000 +0000 @@ -44,3 +44,18 @@ info("deleting the item"); await runDeleteItem(calendar); }); + +/** + * Tests calendars that return status 404 for "current-user-privilege-set" are + * not flagged read-only. + */ +add_task(async function testCalendarWithNoPrivSupport() { + CalDAVServer.privileges = null; + calendarObserver._onLoadPromise = PromiseUtils.defer(); + + let calendar = createCalendar("caldav", CalDAVServer.url, false); + await calendarObserver._onLoadPromise.promise; + info("calendar set-up complete"); + + Assert.ok(!calendar.readOnly, "calendar was not marked read-only"); +}); diff -Nru thunderbird-91.8.0/comm/mail/base/content/msgMail3PaneWindow.js thunderbird-91.10.0/comm/mail/base/content/msgMail3PaneWindow.js --- thunderbird-91.8.0/comm/mail/base/content/msgMail3PaneWindow.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/base/content/msgMail3PaneWindow.js 2022-05-25 21:49:59.000000000 +0000 @@ -1211,6 +1211,10 @@ Services.tm.dispatchToMainThread(loadExtraTabs); SessionStoreManager._restored = true; Services.obs.notifyObservers(window, "mail-tabs-session-restored"); + // Notify observer to resolve the browserStartupPromise, which is used for the + // delayed background startup of WebExtensions. + Services.obs.notifyObservers(window, "extensions-late-startup"); + return !!state; } Binary files /srv/release.debian.org/tmp/FrFIjozYyG/thunderbird-91.8.0/comm/mail/branding/nightly/background.png and /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/nightly/background.png differ Binary files /srv/release.debian.org/tmp/FrFIjozYyG/thunderbird-91.8.0/comm/mail/branding/nightly/dsstore and /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/nightly/dsstore differ Binary files /srv/release.debian.org/tmp/FrFIjozYyG/thunderbird-91.8.0/comm/mail/branding/thunderbird/dsstore and /srv/release.debian.org/tmp/xzDe0d0zF1/thunderbird-91.10.0/comm/mail/branding/thunderbird/dsstore differ diff -Nru thunderbird-91.8.0/comm/mail/components/compose/content/dialogs/EdInsertChars.xhtml thunderbird-91.10.0/comm/mail/components/compose/content/dialogs/EdInsertChars.xhtml --- thunderbird-91.8.0/comm/mail/components/compose/content/dialogs/EdInsertChars.xhtml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/components/compose/content/dialogs/EdInsertChars.xhtml 2022-05-25 21:49:58.000000000 +0000 @@ -44,11 +44,11 @@ diff -Nru thunderbird-91.8.0/comm/mail/config/version.txt thunderbird-91.10.0/comm/mail/config/version.txt --- thunderbird-91.8.0/comm/mail/config/version.txt 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/config/version.txt 2022-05-25 21:49:59.000000000 +0000 @@ -1 +1 @@ -91.8.0 +91.10.0 diff -Nru thunderbird-91.8.0/comm/mail/config/version_display.txt thunderbird-91.10.0/comm/mail/config/version_display.txt --- thunderbird-91.8.0/comm/mail/config/version_display.txt 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/config/version_display.txt 2022-05-25 21:49:59.000000000 +0000 @@ -1 +1 @@ -91.8.0 +91.10.0 diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/RNP.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNP.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/RNP.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNP.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -361,6 +361,73 @@ return this.getPrimaryKeyHandleFromSub(ffi, handle); }, + hasKeyWeakSelfSignature(selfId, handle) { + let sig_count = new ctypes.size_t(); + if (RNPLib.rnp_key_get_signature_count(handle, sig_count.address())) { + throw new Error("rnp_key_get_signature_count failed"); + } + + let hasWeak = false; + for (let i = 0; !hasWeak && i < sig_count.value; i++) { + let sig_handle = new RNPLib.rnp_signature_handle_t(); + + if (RNPLib.rnp_key_get_signature_at(handle, i, sig_handle.address())) { + throw new Error("rnp_key_get_signature_at failed"); + } + + hasWeak = RNP.isWeakSelfSignature(selfId, sig_handle); + RNPLib.rnp_signature_handle_destroy(sig_handle); + } + return hasWeak; + }, + + isWeakSelfSignature(selfId, sig_handle) { + let sig_id_str = new ctypes.char.ptr(); + if (RNPLib.rnp_signature_get_keyid(sig_handle, sig_id_str.address())) { + throw new Error("rnp_signature_get_keyid failed"); + } + + let sigId = sig_id_str.readString(); + RNPLib.rnp_buffer_destroy(sig_id_str); + + // Is it a self-signature? + if (sigId != selfId) { + return false; + } + + let creation = new ctypes.uint32_t(); + if (RNPLib.rnp_signature_get_creation(sig_handle, creation.address())) { + throw new Error("rnp_signature_get_creation failed"); + } + + let hash_str = new ctypes.char.ptr(); + if (RNPLib.rnp_signature_get_hash_alg(sig_handle, hash_str.address())) { + throw new Error("rnp_signature_get_hash_alg failed"); + } + + let creation64 = new ctypes.uint64_t(); + creation64.value = creation.value; + + let level = new ctypes.uint32_t(); + + if ( + RNPLib.rnp_get_security_rule( + RNPLib.ffi, + RNPLib.RNP_FEATURE_HASH_ALG, + hash_str, + creation64, + null, + null, + level.address() + ) + ) { + throw new Error("rnp_get_security_rule failed"); + } + + RNPLib.rnp_buffer_destroy(hash_str); + return level.value < RNPLib.RNP_SECURITY_DEFAULT; + }, + // return false if handle refers to subkey and should be ignored getKeyInfoFromHandle( ffi, @@ -375,6 +442,7 @@ keyObj.userIds = []; keyObj.subKeys = []; keyObj.photoAvailable = false; + keyObj.hasIgnoredAttributes = false; let is_subkey = new ctypes.bool(); let sub_count = new ctypes.size_t(); @@ -442,13 +510,23 @@ if (uidOkToUse) { // Usually, we don't allow user IDs reported as not valid uidOkToUse = !this.isBadUid(uid_handle); + + let { + hasGoodSignature, + hasWeakSignature, + } = this.getUidSignatureQuality(keyObj.keyId, uid_handle); + + if (hasWeakSignature) { + keyObj.hasIgnoredAttributes = true; + } + if (!uidOkToUse && keyObj.keyTrust == "e") { // However, a user might be not valid, because it has // expired. If the primary key has expired, we should show // some user ID, even if all user IDs have expired, // otherwise the user cannot see any text description. // We allow showing user IDs with a good self-signature. - uidOkToUse = this.uidHasGoodSignature(keyObj.keyId, uid_handle); + uidOkToUse = hasGoodSignature; } } @@ -504,6 +582,10 @@ throw new Error("rnp_key_get_subkey_at failed"); } + if (RNP.hasKeyWeakSelfSignature(keyObj.keyId, sub_handle)) { + keyObj.hasIgnoredAttributes = true; + } + if (!RNP.isBadKey(sub_handle)) { let subKeyObj = {}; this.addKeyAttributes(sub_handle, meta, subKeyObj, true, forListing); @@ -639,6 +721,10 @@ if (meta.e) { keyObj.keyUseFor += "E"; } + + if (RNP.hasKeyWeakSelfSignature(keyObj.keyId, handle)) { + keyObj.hasIgnoredAttributes = true; + } } return true; @@ -703,15 +789,18 @@ return is_primary.value; }, - uidHasGoodSignature(self_key_id, uid_handle) { + getUidSignatureQuality(self_key_id, uid_handle) { + let result = { + hasGoodSignature: false, + hasWeakSignature: false, + }; + let sig_count = new ctypes.size_t(); if (RNPLib.rnp_uid_get_signature_count(uid_handle, sig_count.address())) { throw new Error("rnp_uid_get_signature_count failed"); } - let found_result = false; - let is_good = false; - for (let i = 0; !found_result && i < sig_count.value; i++) { + for (let i = 0; i < sig_count.value; i++) { let sig_handle = new RNPLib.rnp_signature_handle_t(); if ( @@ -726,18 +815,26 @@ } if (sig_id_str.readString() == self_key_id) { - found_result = true; + if (!result.hasGoodSignature) { + let sig_validity = RNPLib.rnp_signature_is_valid(sig_handle, 0); + result.hasGoodSignature = + sig_validity == RNPLib.RNP_SUCCESS || + sig_validity == RNPLib.RNP_ERROR_SIGNATURE_EXPIRED; + } - let sig_validity = RNPLib.rnp_signature_is_valid(sig_handle, 0); - is_good = - sig_validity == RNPLib.RNP_SUCCESS || - sig_validity == RNPLib.RNP_ERROR_SIGNATURE_EXPIRED; + if (!result.hasWeakSignature) { + result.hasWeakSignature = RNP.isWeakSelfSignature( + self_key_id, + sig_handle + ); + } } + RNPLib.rnp_buffer_destroy(sig_id_str); RNPLib.rnp_signature_handle_destroy(sig_handle); } - return is_good; + return result; }, isBadUid(uid_handle) { @@ -779,6 +876,26 @@ false ); + let result = RNP._getSignatures(mainKeyObj, handle, ignoreUnknownUid); + RNPLib.rnp_key_handle_destroy(handle); + return result; + }, + + getKeyObjSignatures(keyObj, ignoreUnknownUid) { + let handle = this.getKeyHandleByKeyIdOrFingerprint( + RNPLib.ffi, + "0x" + keyObj.keyId + ); + if (handle.isNull()) { + return null; + } + + let result = RNP._getSignatures(keyObj, handle, ignoreUnknownUid); + RNPLib.rnp_key_handle_destroy(handle); + return result; + }, + + _getSignatures(keyObj, handle, ignoreUnknownUid) { let rList = {}; try { @@ -809,9 +926,9 @@ let subList = {}; subList = {}; - subList.created = mainKeyObj.created; - subList.fpr = mainKeyObj.fpr; - subList.keyId = mainKeyObj.keyId; + subList.created = keyObj.created; + subList.fpr = keyObj.fpr; + subList.keyId = keyObj.keyId; subList.userId = userIdStr; subList.sigList = []; @@ -907,8 +1024,6 @@ } } catch (ex) { console.log(ex); - } finally { - RNPLib.rnp_key_handle_destroy(handle); } return rList; }, diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/RNPLib.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNPLib.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/RNPLib.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/RNPLib.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -1377,6 +1377,31 @@ rnp_signature_handle_t.ptr ), + rnp_key_get_signature_count: librnp.declare( + "rnp_key_get_signature_count", + abi, + rnp_result_t, + rnp_uid_handle_t, + ctypes.size_t.ptr + ), + + rnp_key_get_signature_at: librnp.declare( + "rnp_key_get_signature_at", + abi, + rnp_result_t, + rnp_key_handle_t, + ctypes.size_t, + rnp_signature_handle_t.ptr + ), + + rnp_signature_get_hash_alg: librnp.declare( + "rnp_signature_get_hash_alg", + abi, + rnp_result_t, + rnp_signature_handle_t, + ctypes.char.ptr.ptr + ), + rnp_signature_get_creation: librnp.declare( "rnp_signature_get_creation", abi, @@ -1642,6 +1667,19 @@ ctypes.char.ptr.ptr ), + rnp_get_security_rule: librnp.declare( + "rnp_get_security_rule", + abi, + rnp_result_t, + rnp_ffi_t, + ctypes.char.ptr, + ctypes.char.ptr, + ctypes.uint64_t, + ctypes.uint32_t.ptr, + ctypes.uint64_t.ptr, + ctypes.uint32_t.ptr + ), + rnp_result_t, rnp_ffi_t, rnp_password_cb_t, @@ -1675,6 +1713,9 @@ RNP_SUCCESS: 0x00000000, + RNP_FEATURE_HASH_ALG: "hash algorithm", + RNP_SECURITY_DEFAULT: 2, + /* Common error codes */ RNP_ERROR_GENERIC: 0x10000000, // 268435456 RNP_ERROR_BAD_FORMAT: 0x10000001, // 268435457 diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/GnuPGCryptoAPI.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/GnuPGCryptoAPI.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/GnuPGCryptoAPI.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/GnuPGCryptoAPI.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -72,6 +72,18 @@ } /** + * Obtain signatures for a given key. + * + * @param {KeyObj} keyObj: the signatures of this key will be returned + * @param {Boolean} ignoreUnknownUid: if true, filter out unknown signer's UIDs + * + * @return {Promise} - see extractSignatures() + */ + async getKeyObjSignatures(keyObj, ignoreUnknownUid = false) { + throw new Error("Not implemented"); + } + + /** * Export the minimum key for the public key object: * public key, primary user ID, newest encryption subkey * diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/RNPCryptoAPI.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/RNPCryptoAPI.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/RNPCryptoAPI.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/RNPCryptoAPI.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -60,6 +60,18 @@ } /** + * Obtain signatures for a given key. + * + * @param {KeyObj} keyObj: the signatures of this key will be returned + * @param {Boolean} ignoreUnknownUid: if true, filter out unknown signer's UIDs + * + * @return {Promise} - see extractSignatures() + */ + async getKeyObjSignatures(keyId, ignoreUnknownUid = false) { + return RNP.getKeyObjSignatures(keyId, ignoreUnknownUid); + } + + /** * Export the minimum key for the public key object: * public key, primary user ID, newest encryption subkey * diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/interface.js thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/interface.js --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/interface.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/cryptoAPI/interface.js 2022-05-25 21:49:59.000000000 +0000 @@ -70,6 +70,18 @@ } /** + * Obtain signatures for a given key. + * + * @param {KeyObj} keyObj: the signatures of this key will be returned + * @param {Boolean} ignoreUnknownUid: if true, filter out unknown signer's UIDs + * + * @return {Promise} - see extractSignatures() + */ + async getKeyObjSignatures(keyObj, ignoreUnknownUid = false) { + return null; + } + + /** * Export the minimum key for the public key object: * public key, user ID, newest encryption subkey * diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/keyObj.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyObj.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/keyObj.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyObj.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -139,6 +139,7 @@ "secretMaterial", "photoAvailable", "userId", + "hasIgnoredAttributes", ]; for (let i of ATTRS) { if (i in keyData) { @@ -159,7 +160,7 @@ get signatures() { if (this._sigList === null) { const cApi = EnigmailCryptoAPI(); - this._sigList = cApi.sync(cApi.getKeySignatures(this.keyId)); + this._sigList = cApi.sync(cApi.getKeyObjSignatures(this)); } return this._sigList; diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/keyRing.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyRing.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/keyRing.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/keyRing.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -694,8 +694,8 @@ minimizeKey, limitedUids, importSecret, - passCB, allowPermissiveFallbackWithPrompt, + passCB, acceptance ) ); diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -61,17 +61,10 @@ emptyAttachment() { EnigmailLog.DEBUG("mimeDecrypt.jsm: emptyAttachment()\n"); - let encPart = l10n.formatValueSync( - "mime-decrypt-encrypted-part-attachment-label" - ); let concealed = l10n.formatValueSync( "mime-decrypt-encrypted-part-concealed-data" ); - let retData = `Content-Type: message/rfc822; name="${encPart}.eml" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; filename="${encPart}.eml" - -Content-Type: text/html + let retData = `Content-Type: text/html

${concealed}

`; @@ -404,6 +397,15 @@ this.msgWindow = EnigmailVerify.lastMsgWindow; this.msgUriSpec = EnigmailVerify.lastMsgUri; + let href = Services.wm.getMostRecentWindow(null)?.document?.location.href; + + if ( + href == "about:blank" || + href == "chrome://messenger/content/viewSource.xhtml" + ) { + return; + } + let url = {}; let currMsg = EnigmailURIs.msgIdentificationFromUrl(this.uri); diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/mimeVerify.jsm thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeVerify.jsm --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/modules/mimeVerify.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/modules/mimeVerify.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -411,6 +411,66 @@ return -1; }, + isAllowedSigPart(queryMimePartNumber, loadedUriSpec) { + // allowed are: + // - the top part 1 + // - the child 1.1 if 1 is an encryption layer + // - a part that is the one we are loading + // - a part that is the first child of the one we are loading, + // and the child we are loading is an encryption layer + + if (queryMimePartNumber.length === 0) { + return false; + } + + if (queryMimePartNumber === "1") { + return true; + } + + if (queryMimePartNumber == "1.1") { + // We are processing "1.1", which means we're the child of the + // top mime part. Don't process the signature unless the top + // level mime part is an encryption layer. + let currMsg = EnigmailURIs.msgIdentificationFromUrl(this.uri); + if ( + EnigmailSingletons.isLastDecryptedMessagePart( + currMsg.folder, + currMsg.msgNum, + "1" + ) + ) { + return true; + } + } + + if (!loadedUriSpec) { + return false; + } + + // is the message a subpart of a complete attachment? + let msgPart = EnigmailMime.getMimePartNumber(loadedUriSpec); + + if (msgPart.length > 0) { + if (queryMimePartNumber === msgPart + ".1") { + return true; + } + + let currMsg = EnigmailURIs.msgIdentificationFromUrl(this.uri); + if ( + queryMimePartNumber === msgPart + ".1.1" && + EnigmailSingletons.isLastDecryptedMessagePart( + currMsg.folder, + currMsg.msgNum, + msgPart + ".1" + ) + ) { + return true; + } + } + + return false; + }, + onStopRequest() { EnigmailLog.DEBUG("mimeVerify.jsm: onStopRequest\n"); @@ -422,6 +482,15 @@ // don't try to verify if no message found // if (this.verifyEmbedded && (!this.foundMsg)) return; // TODO - check + let href = Services.wm.getMostRecentWindow(null)?.document?.location.href; + + if ( + href == "about:blank" || + href == "chrome://messenger/content/viewSource.xhtml" + ) { + return; + } + if (this.readMode < 4) { // we got incomplete data; simply return what we got this.returnData( @@ -448,24 +517,8 @@ this.returnData(this.signedData); } - // return if not verifying first mime part - if (this.mimePartNumber != "1") { - if (this.mimePartNumber != "1.1") { - return; - } - // We are processing "1.1", which means we're the child of the - // top mime part. Don't process the signature unless the top - // level mime part is an encryption layer. - let currMsg = EnigmailURIs.msgIdentificationFromUrl(this.uri); - if ( - !EnigmailSingletons.isLastDecryptedMessagePart( - currMsg.folder, - currMsg.msgNum, - "1" - ) - ) { - return; - } + if (!this.isAllowedSigPart(this.mimePartNumber, this.msgUriSpec)) { + return; } if (this.uri) { diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/enigmailKeyManager.js thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/enigmailKeyManager.js --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/enigmailKeyManager.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/enigmailKeyManager.js 2022-05-25 21:49:59.000000000 +0000 @@ -1528,8 +1528,11 @@ let keyObj = gKeyList[keyNum]; let uidAdded = 0; - for (let i = 1; i < keyObj.userIds.length; i++) { + for (let i = 0; i < keyObj.userIds.length; i++) { if (keyObj.userIds[i].type === uidType) { + if (keyObj.userIds[i].userId == keyObj.userId) { + continue; + } ++uidAdded; this.keyViewList.splice(realRow + uidAdded, 0, { rowType: uidType, diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.js thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.js --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.js 2022-05-25 21:49:59.000000000 +0000 @@ -279,6 +279,10 @@ document.l10n.setAttributes(acceptanceIntro2, acceptanceIntro2Text); } + document.getElementById( + "key-detail-has-insecure" + ).hidden = !keyObj.hasIgnoredAttributes; + // Resize the dialog only if the data was changed since the first load. if (!firstLoad) { resizeDialog(); @@ -286,8 +290,11 @@ } function createUidData(listNode, keyDetails) { - for (let i = 1; i < keyDetails.userIds.length; i++) { + for (let i = 0; i < keyDetails.userIds.length; i++) { if (keyDetails.userIds[i].type === "uid") { + if (keyDetails.userIds[i].userId == keyDetails.userId) { + continue; + } let item = listNode.appendItem(keyDetails.userIds[i].userId); item.setAttribute("label", keyDetails.userIds[i].userId); if ("dre".search(keyDetails.userIds[i].keyTrust) >= 0) { diff -Nru thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.xhtml thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.xhtml --- thunderbird-91.8.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.xhtml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/extensions/openpgp/content/ui/keyDetailsDlg.xhtml 2022-05-25 21:49:59.000000000 +0000 @@ -82,6 +82,16 @@ data-l10n-id="openpgp-key-details-also-known-label"/> + + diff -Nru thunderbird-91.8.0/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl thunderbird-91.10.0/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl --- thunderbird-91.8.0/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl 2022-05-25 21:49:59.000000000 +0000 @@ -246,6 +246,7 @@ openpgp-key-details-key-type-label = Type openpgp-key-details-key-part-label = .label = Key Part +openpgp-key-details-attr-ignored = Warning: This key might not work as expected, because some of its properties are unsafe and might be ignored. openpgp-key-details-algorithm-label = .label = Algorithm openpgp-key-details-size-label = @@ -382,7 +383,6 @@ window-locked = Compose window is locked; send cancelled # Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-attachment-label = Encrypted message part mime-decrypt-encrypted-part-concealed-data = This is an encrypted message part. You need to open it in a separate window by clicking on the attachment. # Strings in keyserver.jsm diff -Nru thunderbird-91.8.0/comm/mail/test/browser/openpgp/browser_viewMessage.js thunderbird-91.10.0/comm/mail/test/browser/openpgp/browser_viewMessage.js --- thunderbird-91.8.0/comm/mail/test/browser/openpgp/browser_viewMessage.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/test/browser/openpgp/browser_viewMessage.js 2022-05-25 21:49:59.000000000 +0000 @@ -8,12 +8,18 @@ "use strict"; -const { open_message_from_file } = ChromeUtils.import( +const { + open_message_from_file, + wait_for_message_display_completion, +} = ChromeUtils.import( "resource://testing-common/mozmill/FolderDisplayHelpers.jsm" ); -const { close_window } = ChromeUtils.import( - "resource://testing-common/mozmill/WindowHelpers.jsm" -); +const { + async_plan_for_new_window, + close_window, + wait_for_new_window, + wait_for_window_focused, +} = ChromeUtils.import("resource://testing-common/mozmill/WindowHelpers.jsm"); const { waitForCondition } = ChromeUtils.import( "resource://testing-common/mozmill/utils.jsm" ); @@ -171,6 +177,68 @@ close_window(mc); }); +/** + * Test that opening an attached encrypted message has no effect + * on security status icons of the parent message window. + */ +add_task(async function testOpenForwardedEncrypted() { + let mc = await open_message_from_file( + new FileUtils.File(getTestFilePath("data/eml/fwd-unsigned-encrypted.eml")) + ); + + Assert.ok( + getMsgBodyTxt(mc).includes("wrapper message with plain text"), + "wrapper message text should be shown" + ); + Assert.ok( + !getMsgBodyTxt(mc).includes(MSG_TEXT), + "message text should not be shown" + ); + Assert.ok( + OpenPGPTestUtils.hasNoSignedIconState(mc.window.document), + "signed icon is not displayed" + ); + Assert.ok( + !OpenPGPTestUtils.hasEncryptedIconState(mc.window.document, "ok"), + "encrypted icon is not displayed" + ); + + let newWindowPromise = async_plan_for_new_window("mail:messageWindow"); + mc.click(mc.e("attachmentName")); + let mc2 = await newWindowPromise; + wait_for_message_display_completion(mc2, true); + wait_for_window_focused(mc2.window); + + // Check properties of the opened attachment window. + Assert.ok( + getMsgBodyTxt(mc2).includes(MSG_TEXT), + "message text should be shown" + ); + Assert.ok( + OpenPGPTestUtils.hasNoSignedIconState(mc2.window.document), + "signed icon is not displayed" + ); + Assert.ok( + OpenPGPTestUtils.hasEncryptedIconState(mc2.window.document, "ok"), + "encrypted icon is displayed" + ); + close_window(mc2); + + wait_for_window_focused(mc.window); + + // Ensure there were no side effects for the primary window. + Assert.ok( + OpenPGPTestUtils.hasNoSignedIconState(mc.window.document), + "signed icon is still not displayed" + ); + Assert.ok( + !OpenPGPTestUtils.hasEncryptedIconState(mc.window.document, "ok"), + "encrypted icon is still not displayed" + ); + + close_window(mc); +}); + /** * Test that opening a message that is signed by a verified key shows as such. */ diff -Nru thunderbird-91.8.0/comm/mail/test/browser/openpgp/data/eml/fwd-unsigned-encrypted.eml thunderbird-91.10.0/comm/mail/test/browser/openpgp/data/eml/fwd-unsigned-encrypted.eml --- thunderbird-91.8.0/comm/mail/test/browser/openpgp/data/eml/fwd-unsigned-encrypted.eml 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/test/browser/openpgp/data/eml/fwd-unsigned-encrypted.eml 2022-05-25 21:49:59.000000000 +0000 @@ -0,0 +1,75 @@ +Content-Type: multipart/mixed; boundary="------------LkTnU6PdkUwoxLbEONGg5YWI" +Message-ID: <51b2b268-52a6-c8a6-3a9e-6222653b9338@openpgp.example> +Date: Wed, 15 Oct 2020 14:46:19 -0400 +MIME-Version: 1.0 +References: <41b2b268-52a6-c8a6-3a9e-6222653b9338@openpgp.example> +Subject: encrypted message forwarded as attachment +To: alice@openpgp.example +From: alice@openpgp.example +In-Reply-To: <41b2b268-52a6-c8a6-3a9e-6222653b9338@openpgp.example> +X-Forwarded-Message-Id: <41b2b268-52a6-c8a6-3a9e-6222653b9338@openpgp.example> + +This is a multi-part message in MIME format. +--------------LkTnU6PdkUwoxLbEONGg5YWI +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: 7bit + +wrapper message with plain text + + +--------------LkTnU6PdkUwoxLbEONGg5YWI +Content-Type: message/rfc822; name="attached-message.eml" +Content-Disposition: attachment; filename="attached-message.eml" +Content-Transfer-Encoding: 7bit + +To: alice@openpgp.example +From: Bob Babbage +Message-ID: <41b2b268-52a6-c8a6-3a9e-6222653b9338@openpgp.example> +Date: Wed, 14 Oct 2020 14:46:19 -0400 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 + Thunderbird/83.0a1 +MIME-Version: 1.0 +Subject: ... +Content-Type: multipart/encrypted; + protocol="application/pgp-encrypted"; + boundary="2W16lTBQJ4ZzVzryxZDTtDj0yHOSWfd6l" + +This is an OpenPGP/MIME encrypted message (RFC 4880 and 3156) +--2W16lTBQJ4ZzVzryxZDTtDj0yHOSWfd6l +Content-Type: application/pgp-encrypted +Content-Description: PGP/MIME version identification + +Version: 1 + +--2W16lTBQJ4ZzVzryxZDTtDj0yHOSWfd6l +Content-Type: application/octet-stream; name="encrypted.asc" +Content-Description: OpenPGP encrypted message +Content-Disposition: inline; filename="encrypted.asc" + +-----BEGIN PGP MESSAGE----- + +wcDMA3wvqk35PDeyAQwAx/6/zGSIvT4IyNpRmcM00iVQhUfdfxUTL/o1hV+MdB7rKZIr+qWJEgiJ +F7IyNPJW0ps2W4myyCkDQtIy1682ahq6D6kHCNmDFxMSpElrG5Xup4Ibf1es3g9n/OytGXx8699m +RymR4EA5yAiLEiGYO37N+nwnWhP5BNpk8jgzDSNTD9qbOrXb7Tx32rvOwFCrBHqZsx6LbaD5BWp9 +WdeSqNjJ6c35dhBxy7MlIZWOK27y5TQArsgyoq//3645cQX3jYV0jJbJeWHuPMoMxYfdRHi8oEIm +P3HnqjtSLUtOTwAcc7Vmp5k9/+PG0IZGLtoR0QLNqrJO607mWrCgYowXZofqt3Bs+Nrtf6cuetWd +pBcGkfdYldCWgG55dER67jP7rKyx6QjFPgPBPbYPFl/H0lqLBH4YrwyVTQDFDcmXe11k1s9JdrlJ +JXEqITi4gFFF9E4mj7voC97Fhy2GLPdKH+343gCgTVU5stz8+NyNX7wC2QSogtxEIcBd6FQbTj/j +wV4DR2b2udXyHrYSAQdAJwk2G0weJUqgb4P+/9f76USsiwNpQO9m0k0FxS5OPGowdVTr0bB/bHyV +fo2DKIkfmgYKnmoiL99VsigzSMIVh1+visa0mDW2a2oVfJBnHS/D0sF5AfHIvERSb7+yLgpMQPkk +4cizr+7wiQ6BNbTN6FwG/yhrFbBXp+r//y3ZcTGh6G6IDlAbkAwj4VhTTnxdvBHJCpfnAj2G3AZR +arZ3nC1IC9RLccV66K0oUOdvehgOMBF37Y+BLHXSL6RMc9PZIvtwH4gVMzATUeOQ1SYENGf5LSYq +5zXs0sfRCXmC74FwM+PF9h4mBm0zOvEbyL6uqxTEMYDwAACkl8QzsHqhUe8VEhZTu2c1BcGhES4b +9ajkctWgzG/bA4a8kTwyXDaREZoywIHro0iR5+gzbf3aUm+akWGlCRHCOmaF4ZcYpvFfH65tKgwv +pRzYheCdjK367qiAOwPXh16vBYB1YOZtm7tSot/jBZ60qaIi5BP9FHXAFoR4Y+VWfx8lZYuE1ZNE +k/VMN47PJPXgK+f8aMXDbalXuuq+sFl1XezGW3osppOkcL7reOZ/0heH1Say3wLLADnb3NyYaBg6 +ihl8FrVMdvzCFt59ytXn+H33BbrrYb2PfiEABPjzEPoeFItpQxltY5E0SGRYSOCKnpN2G7M1yoKf +eG7/fXa0EUf1KLLzz+Pj88i4Ht6MQkkb19rwYHgxrxPKhmbV8zJfID5ne2PaE28XPa69wzRIyM2+ +DD5IF7iYLF4KcPURqrF7wYuAtTmOQTSWVv6mlHCxjz/ECeCXJhA+24W0m4/O55h0C3dG4looraOD +JJMITsjObyRasT5sgS1y7axqlJY8NmJrEdZMn735+kjR1HPPinZiat4= +=s0kk +-----END PGP MESSAGE----- + +--2W16lTBQJ4ZzVzryxZDTtDj0yHOSWfd6l-- + +--------------LkTnU6PdkUwoxLbEONGg5YWI-- diff -Nru thunderbird-91.8.0/comm/mail/test/browser/shared-modules/OpenPGPTestUtils.jsm thunderbird-91.10.0/comm/mail/test/browser/shared-modules/OpenPGPTestUtils.jsm --- thunderbird-91.8.0/comm/mail/test/browser/shared-modules/OpenPGPTestUtils.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/test/browser/shared-modules/OpenPGPTestUtils.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -188,7 +188,8 @@ fingerPrintObj, false, [], - isSecret + isSecret, + false ); if (result !== 0) { diff -Nru thunderbird-91.8.0/comm/mail/themes/shared/openpgp/keyDetails.css thunderbird-91.10.0/comm/mail/themes/shared/openpgp/keyDetails.css --- thunderbird-91.8.0/comm/mail/themes/shared/openpgp/keyDetails.css 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/themes/shared/openpgp/keyDetails.css 2022-05-25 21:49:59.000000000 +0000 @@ -41,3 +41,13 @@ .additional-key-identity > richlistitem { padding: 2px 4px; } + +.tail-with-learn-more { + margin-inline-end: 10px; + font-weight: bold; +} + +#key-detail-has-insecure { + max-width: 50em; + margin-inline: 2em; +} diff -Nru thunderbird-91.8.0/comm/mail/themes/windows/editor/EditorDialog.css thunderbird-91.10.0/comm/mail/themes/windows/editor/EditorDialog.css --- thunderbird-91.8.0/comm/mail/themes/windows/editor/EditorDialog.css 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/themes/windows/editor/EditorDialog.css 2022-05-25 21:49:59.000000000 +0000 @@ -3,3 +3,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ @import url("chrome://messenger/skin/shared/EditorDialog.css"); + +@media (-moz-windows-non-native-menus) { + menulist > menupopup > menuitem, + menulist > menupopup > menu { + padding-block: 0.2em; + } +} diff -Nru thunderbird-91.8.0/comm/mail/themes/windows/mail/messenger.css thunderbird-91.10.0/comm/mail/themes/windows/mail/messenger.css --- thunderbird-91.8.0/comm/mail/themes/windows/mail/messenger.css 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mail/themes/windows/mail/messenger.css 2022-05-25 21:49:59.000000000 +0000 @@ -66,7 +66,7 @@ --tabs-border-color: ThreeDShadow; --tabline-color: Highlight; --item-focus-selected-border-color: HighlightText; - --new-folder-color: Highligt; + --new-folder-color: Highlight; --menuitem-vertical-padding: 3px; --arrowpanel-dimmed: Highlight; --arrowpanel-dimmed-further: Highlight; @@ -174,6 +174,9 @@ (-moz-os-version: windows-win10) and (-moz-windows-default-theme) { #menubar-items > #mail-menubar > menu { appearance: none; + } + + #menubar-items > #mail-menubar > menu:not([disabled="true"]) { color: inherit; } } diff -Nru thunderbird-91.8.0/comm/mailnews/base/src/MailNotificationManager.jsm thunderbird-91.10.0/comm/mailnews/base/src/MailNotificationManager.jsm --- thunderbird-91.8.0/comm/mailnews/base/src/MailNotificationManager.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/base/src/MailNotificationManager.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -195,16 +195,16 @@ return; } - let numNewMessages = folder.getNumNewMessages(false); - let msgDb = folder.msgDatabase; - let newMsgKeys = msgDb.getNewList().slice(-numNewMessages); - if (newMsgKeys.length == 0) { + let newMsgKeys = this._getNewMsgKeysNotNotified(folder); + let numNewMessages = newMsgKeys.length; + if (!numNewMessages) { return; } + this._logger.debug( `Filling alert info; folder.URI=${folder.URI}, numNewMessages=${numNewMessages}` ); - let firstNewMsgHdr = msgDb.GetMsgHdrForKey(newMsgKeys[0]); + let firstNewMsgHdr = folder.msgDatabase.GetMsgHdrForKey(newMsgKeys[0]); let title = this._getAlertTitle(folder, numNewMessages); let body; @@ -363,6 +363,8 @@ // The use_system_alert pref is false or showAlert somehow failed, use the // customized alert window. this._showCustomizedAlert(folder); + + this._folderBiffTime.set(folder, Date.now()); } /** @@ -372,43 +374,27 @@ * @param {nsIMsgFolder} [folder] - The folder containing new messages. */ _showCustomizedAlert(folder) { - let newMsgKeys; - if (folder) { - // Show this folder or queue it. - newMsgKeys = folder.msgDatabase - .getNewList() - .slice(-folder.getNumNewMessages(false)); - if (this._customizedAlertShown) { - this._pendingFolders.add(folder); - return; - } - } else { + if (this._customizedAlertShown) { + // Queue the folder. + this._pendingFolders.add(folder); + return; + } + if (!folder) { // Get the next folder from the queue. folder = this._pendingFolders.keys().next().value; if (!folder) { return; } - let msgDb = folder.msgDatabase; - let lastBiffTime = this._folderBiffTime.get(folder) || 0; - newMsgKeys = msgDb.getNewList().filter(key => { - // It's possible that after we queued the folder, user has opened the - // folder and read some new messages. We compare the timestamp of each - // NEW message with the last biff time to make sure only real NEW - // messages are alerted. - let msgHdr = msgDb.GetMsgHdrForKey(key); - return msgHdr.dateInSeconds * 1000 > lastBiffTime; - }); - this._pendingFolders.delete(folder); } - if (newMsgKeys.length == 0) { + + let newMsgKeys = this._getNewMsgKeysNotNotified(folder); + if (!newMsgKeys.length) { // No NEW message in the current folder, try the next queued folder. this._showCustomizedAlert(); return; } - this._folderBiffTime.set(folder, Date.now()); - let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); args.appendElement(folder); args.appendElement({ @@ -425,6 +411,23 @@ this._customizedAlertShown = true; } + /** + * Get all NEW messages from a folder that we received after last biff time. + * @param {nsIMsgFolder} folder - The message folder to check. + * @returns {number[]} An array of message keys. + */ + _getNewMsgKeysNotNotified(folder) { + let msgDb = folder.msgDatabase; + let lastBiffTime = this._folderBiffTime.get(folder) || 0; + return msgDb + .getNewList() + .slice(-folder.getNumNewMessages(false)) + .filter(key => { + let msgHdr = msgDb.GetMsgHdrForKey(key); + return msgHdr.dateInSeconds * 1000 > lastBiffTime; + }); + } + async _updateUnreadCount() { if (this._updatingUnreadCount) { // _updateUnreadCount can be triggered faster than we finish rendering the diff -Nru thunderbird-91.8.0/comm/mailnews/compose/src/MessageSend.jsm thunderbird-91.10.0/comm/mailnews/compose/src/MessageSend.jsm --- thunderbird-91.8.0/comm/mailnews/compose/src/MessageSend.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/compose/src/MessageSend.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -328,7 +328,11 @@ fail(exitCode, errorMsg) { this._failed = true; let prompt = this.getDefaultPrompt(); - if (!Components.isSuccessCode(exitCode) && prompt) { + if ( + !Components.isSuccessCode(exitCode) && + exitCode != Cr.NS_ERROR_ABORT && + prompt + ) { MsgUtils.sendLogger.error( `Sending failed; ${errorMsg}, exitCode=${exitCode}, originalMsgURI=${this._originalMsgURI}` ); @@ -590,15 +594,15 @@ ); isNSSError = true; } catch (e) { - if (errorName == "sendFailed") { + if (url.errorMessage) { + // url.errorMessage is an already localized message, usually + // combined with the error message from SMTP server. + errorMsg = url.errorMessage; + } else if (errorName != "sendFailed") { // Not the default string. A mailnews error occurred that does not // require the server name to be encoded. Just print the descriptive // string. errorMsg = this._composeBundle.GetStringFromName(errorName); - } else if (url.errorMessage) { - // url.errorMessage is an already localized message, usually - // combined with the error message from SMTP server. - errorMsg = url.errorMessage; } else { errorMsg = this._composeBundle.GetStringFromName( "sendFailedUnexpected" @@ -669,7 +673,6 @@ exitCode = MsgUtils.NS_ERROR_SMTP_SEND_FAILED_REFUSED; break; case Cr.NS_ERROR_NET_INTERRUPT: - case Cr.NS_ERROR_ABORT: exitCode = MsgUtils.NS_ERROR_SMTP_SEND_FAILED_INTERRUPTED; break; case Cr.NS_ERROR_NET_TIMEOUT: diff -Nru thunderbird-91.8.0/comm/mailnews/compose/src/SmtpClient.jsm thunderbird-91.10.0/comm/mailnews/compose/src/SmtpClient.jsm --- thunderbird-91.8.0/comm/mailnews/compose/src/SmtpClient.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/compose/src/SmtpClient.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -139,6 +139,7 @@ * Sends QUIT */ quit() { + this._authenticating = false; this._sendCommand("QUIT"); this._currentAction = this.close; } @@ -633,7 +634,7 @@ // According to rfc4616#section-2, password should be UTF-8 BinaryString // before base64 encoded. let password = String.fromCharCode( - ...new TextEncoder().encode(this._authenticator.getPassword()) + ...new TextEncoder().encode(this._getPassword()) ); this._sendCommand( @@ -910,7 +911,20 @@ } } - this._authenticateUser(); + if ( + command.data.match(/\bCLIENTID\b/) && + (this._secureTransport || + // For test purpose. + ["localhost", "127.0.0.1", "::1"].includes(this._server.hostname)) && + this._server.clientidEnabled && + this._server.clientid + ) { + // Client identity extension, still a draft. + this._currentAction = this._actionCLIENTID; + this._sendCommand("CLIENTID UUID " + this._server.clientid, true); + } else { + this._authenticateUser(); + } } /** @@ -948,6 +962,39 @@ } /** + * Handles server response for CLIENTID command. If successful then will + * initiate the authenticateUser process. + * + * @param {Object} command Parsed command from the server {statusCode, data} + */ + _actionCLIENTID(command) { + if (!command.success) { + this._onNsError(MsgUtils.NS_ERROR_SMTP_SERVER_ERROR, command.data); + return; + } + this._authenticateUser(); + } + + /** + * Returns the saved/cached server password, or show a password dialog. If the + * user cancels the dialog, abort sending. + * @returns {string} The server password. + */ + _getPassword() { + try { + return this._authenticator.getPassword(); + } catch (e) { + if (e.result == Cr.NS_ERROR_ABORT) { + this.quit(); + this.onerror(e.result); + } else { + throw e; + } + } + return null; + } + + /** * Response to AUTH LOGIN, if successful expects base64 encoded username * * @param {Object} command Parsed command from the server {statusCode, data} @@ -974,7 +1021,7 @@ } this.logger.debug("AUTH LOGIN PASS"); this._currentAction = this._actionAUTHComplete; - let password = this._authenticator.getPassword(); + let password = this._getPassword(); if ( !Services.prefs.getBoolPref( "mail.smtp_login_pop3_user_pass_auth_is_latin1", @@ -1002,7 +1049,7 @@ } // Server sent us a base64 encoded challenge. let challenge = atob(command.data); - let password = this._authenticator.getPassword(); + let password = this._getPassword(); // Use password as key, challenge as payload, generate a HMAC-MD5 signature. let signature = MailCryptoUtils.hmacMd5( new TextEncoder().encode(password), @@ -1097,7 +1144,7 @@ * @param {Object} command Parsed command from the server {statusCode, data} */ _actionIdle(command) { - this._onError(new Error(command.data)); + this._onNsError(MsgUtils.NS_ERROR_SMTP_SERVER_ERROR, command.data); } /** @@ -1247,7 +1294,11 @@ } this._currentAction = this._actionIdle; - this.ondone(command.success ? 0 : MsgUtils.NS_ERROR_SENDING_MESSAGE); + if (command.success) { + this.ondone(0); + } else { + this._onNsError(MsgUtils.NS_ERROR_SENDING_MESSAGE, command.data); + } } // If the client wanted to do something else (eg. to quit), do not force idle diff -Nru thunderbird-91.8.0/comm/mailnews/compose/src/SmtpServer.jsm thunderbird-91.10.0/comm/mailnews/compose/src/SmtpServer.jsm --- thunderbird-91.8.0/comm/mailnews/compose/src/SmtpServer.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/compose/src/SmtpServer.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -231,6 +231,8 @@ this.username = outUsername.value; } this.password = outPassword.value; + } else { + throw Components.Exception("Password dialog canceled", Cr.NS_ERROR_ABORT); } return this.password; }, diff -Nru thunderbird-91.8.0/comm/mailnews/compose/test/unit/test_smtpClient.js thunderbird-91.10.0/comm/mailnews/compose/test/unit/test_smtpClient.js --- thunderbird-91.8.0/comm/mailnews/compose/test/unit/test_smtpClient.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/compose/test/unit/test_smtpClient.js 2022-05-25 21:49:59.000000000 +0000 @@ -0,0 +1,97 @@ +/* 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/. */ + +const { PromiseTestUtils } = ChromeUtils.import( + "resource://testing-common/mailnews/PromiseTestUtils.jsm" +); + +let server = setupServerDaemon(); +server.start(); +registerCleanupFunction(() => { + server.stop(); +}); + +/** + * Test sending is aborted when alwaysSTARTTLS is set, but the server doesn't + * support STARTTLS. + */ +add_task(async function testAbort() { + server.resetTest(); + let smtpServer = getBasicSmtpServer(server.port); + let identity = getSmtpIdentity("identity@foo.invalid", smtpServer); + // Set to always use STARTTLS. + smtpServer.socketType = Ci.nsMsgSocketType.alwaysSTARTTLS; + + do_test_pending(); + + let urlListener = { + OnStartRunningUrl(url) {}, + OnStopRunningUrl(url, status) { + // Test sending is aborted with NS_ERROR_STARTTLS_FAILED_EHLO_STARTTLS. + Assert.equal(status, 0x80553126); + do_test_finished(); + }, + }; + + // Send a message. + let testFile = do_get_file("data/message1.eml"); + MailServices.smtp.sendMailMessage( + testFile, + "to@foo.invalid", + identity, + "from@foo.invalid", + null, + urlListener, + null, + null, + false, + "", + {}, + {} + ); + server.performTest(); +}); + +/** + * Test client identity extension works. + */ +add_task(async function testClientIdentityExtension() { + server.resetTest(); + let smtpServer = getBasicSmtpServer(server.port); + let identity = getSmtpIdentity("identity@foo.invalid", smtpServer); + // Enable and set clientid to the smtp server. + smtpServer.clientidEnabled = true; + smtpServer.clientid = "uuid-111"; + + // Send a message. + let asyncUrlListener = new PromiseTestUtils.PromiseUrlListener(); + let testFile = do_get_file("data/message1.eml"); + MailServices.smtp.sendMailMessage( + testFile, + "to@foo.invalid", + identity, + "from@foo.invalid", + null, + asyncUrlListener, + null, + null, + false, + "", + {}, + {} + ); + server.performTest(); + + await asyncUrlListener.promise; + + // Check CLIENTID command is sent. + let transaction = server.playTransaction(); + do_check_transaction(transaction, [ + "EHLO test", + "CLIENTID UUID uuid-111", + "MAIL FROM: BODY=8BITMIME SIZE=159", + "RCPT TO:", + "DATA", + ]); +}); diff -Nru thunderbird-91.8.0/comm/mailnews/compose/test/unit/xpcshell-jsm.ini thunderbird-91.10.0/comm/mailnews/compose/test/unit/xpcshell-jsm.ini --- thunderbird-91.8.0/comm/mailnews/compose/test/unit/xpcshell-jsm.ini 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/compose/test/unit/xpcshell-jsm.ini 2022-05-25 21:49:59.000000000 +0000 @@ -9,5 +9,6 @@ # For some reason this fails with the C++ modules. [test_createAndSendMessage.js] +[test_smtpClient.js] [include:xpcshell-shared.ini] diff -Nru thunderbird-91.8.0/comm/mailnews/mime/jsmime/jsmime.js thunderbird-91.10.0/comm/mailnews/mime/jsmime/jsmime.js --- thunderbird-91.8.0/comm/mailnews/mime/jsmime/jsmime.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/mime/jsmime/jsmime.js 2022-05-25 21:49:59.000000000 +0000 @@ -340,6 +340,7 @@ // B) "Mark, Nonspacing" (Mn) // C) "Other, Control" (Cc) // D) "Other, Format" (Cf) + // E) "Symbol, Other" // Unfortunately, no support for the needed regexp Unicode property escapes // in our engine. So we need to hand-roll it. Used the regexpu tool for // that: https://mothereff.in/regexpu. @@ -388,6 +389,11 @@ " " ); + // -- case E: problematic symbols + // https://www.fileformat.info/info/unicode/category/So/list.htm + // Replace U+2800 BRAILLE PATTERN BLANK with space. + token = token.replace(/\u2800/g, " "); + return token; } diff -Nru thunderbird-91.8.0/comm/mailnews/mime/jsmime/test/unit/test_header.js thunderbird-91.10.0/comm/mailnews/mime/jsmime/test/unit/test_header.js --- thunderbird-91.8.0/comm/mailnews/mime/jsmime/test/unit/test_header.js 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/mime/jsmime/test/unit/test_header.js 2022-05-25 21:49:59.000000000 +0000 @@ -678,7 +678,7 @@ ], // Collapse extraneous whitespace and make sure unexpected characters aren't there. [ - 'Friend "" \t \t \u00A0\u00A0\u2003 \u00AD \x20\u200B\x20\u200B\x20 \t \u034F \u2028 \uDB40\uDD01 \t ', + 'Friend "" \t \t \u00A0\u00A0\u2003 \u00AD \x20\u200B\x20\u200B\x20 \t \u034F \u2028 \uDB40\uDD01 \u2800 \t ', [{ name: "Friend ", email: "ws@example.com" }], ], // Collapse multiple "special" spaces like NBSP (\u00A0), EM space (\u2003), etc. diff -Nru thunderbird-91.8.0/comm/mailnews/test/fakeserver/Smtpd.jsm thunderbird-91.10.0/comm/mailnews/test/fakeserver/Smtpd.jsm --- thunderbird-91.8.0/comm/mailnews/test/fakeserver/Smtpd.jsm 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/mailnews/test/fakeserver/Smtpd.jsm 2022-05-25 21:49:59.000000000 +0000 @@ -43,7 +43,7 @@ kUsername: "testsmtp", kPassword: "smtptest", kAuthSchemes: ["CRAM-MD5", "PLAIN", "LOGIN"], - kCapabilities: ["8BITMIME", "SIZE"], + kCapabilities: ["8BITMIME", "SIZE", "CLIENTID"], _nextAuthFunction: undefined, resetTest() { @@ -63,6 +63,9 @@ capa += "\n250 HELP"; // the odd one: no "-", per RFC 2821 return capa; }, + CLIENTID(args) { + return "250 ok"; + }, AUTH(lineRest) { if (this._state == kStateAuthenticated) { return "503 You're already authenticated"; diff -Nru thunderbird-91.8.0/comm/taskcluster/ci/build/kind.yml thunderbird-91.10.0/comm/taskcluster/ci/build/kind.yml --- thunderbird-91.8.0/comm/taskcluster/ci/build/kind.yml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/taskcluster/ci/build/kind.yml 2022-05-25 21:49:59.000000000 +0000 @@ -13,6 +13,7 @@ - taskgraph.transforms.build_attrs:transforms - taskgraph.transforms.build_lints:transforms - taskgraph.transforms.job:transforms + - comm_taskgraph.transforms.tb_build:transforms - taskgraph.transforms.task:transforms jobs-from: diff -Nru thunderbird-91.8.0/comm/taskcluster/ci/config.yml thunderbird-91.10.0/comm/taskcluster/ci/config.yml --- thunderbird-91.8.0/comm/taskcluster/ci/config.yml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/taskcluster/ci/config.yml 2022-05-25 21:49:59.000000000 +0000 @@ -247,11 +247,16 @@ implementation: generic-worker os: macosx worker-type: 'gecko-{alias}' - t-win.*: + t-win7-32: provisioner: comm-t implementation: generic-worker os: windows worker-type: '{alias}' + win10-(32|64)-2004: + provisioner: comm-t + implementation: generic-worker + os: windows + worker-type: '{alias}' succeed: provisioner: built-in implementation: succeed diff -Nru thunderbird-91.8.0/comm/taskcluster/ci/test/test-platforms.yml thunderbird-91.10.0/comm/taskcluster/ci/test/test-platforms.yml --- thunderbird-91.8.0/comm/taskcluster/ci/test/test-platforms.yml 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/taskcluster/ci/test/test-platforms.yml 2022-05-25 21:49:59.000000000 +0000 @@ -81,13 +81,7 @@ - xpcshell-tests # win64 -windows10-64/opt: - build-platform: win64/opt - test-sets: - - mochitest-tests - - xpcshell-tests - -windows10-64-qr/opt: +windows10-64-2004-qr/opt: build-platform: win64/opt test-sets: - gtest-tests @@ -95,7 +89,7 @@ - mochitest-tests - xpcshell-tests -windows10-64-shippable-qr/opt: +windows10-64-2004-shippable-qr/opt: build-platform: win64-shippable/opt test-sets: - gtest-tests @@ -103,7 +97,7 @@ - mochitest-tests - xpcshell-tests -windows10-64-qr/debug: +windows10-64-2004-qr/debug: build-platform: win64/debug test-sets: - gtest-tests @@ -111,7 +105,7 @@ - mochitest-tests - xpcshell-tests -windows10-64-asan-qr/opt: +windows10-64-2004-asan-qr/opt: build-platform: win64-asan/opt test-sets: - mochitest-tests diff -Nru thunderbird-91.8.0/comm/taskcluster/comm_taskgraph/transforms/tb_build.py thunderbird-91.10.0/comm/taskcluster/comm_taskgraph/transforms/tb_build.py --- thunderbird-91.8.0/comm/taskcluster/comm_taskgraph/transforms/tb_build.py 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/comm/taskcluster/comm_taskgraph/transforms/tb_build.py 2022-05-25 21:49:59.000000000 +0000 @@ -0,0 +1,24 @@ +# 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/. + +import logging + +from taskgraph.transforms.base import TransformSequence + +logger = logging.getLogger(__name__) + +transforms = TransformSequence() + + +@transforms.add +def munge_environment(config, jobs): + for job in jobs: + env = job["worker"]["env"] + # Remove MOZ_SOURCE_CHANGESET/REPO from the job environment and discard + # if present. Having these variables set in the environment causes problems + # with generating debug sym files. Bug 1747879. + env.pop("MOZ_SOURCE_CHANGESET", None) + env.pop("MOZ_SOURCE_REPO", None) + + yield job diff -Nru thunderbird-91.8.0/comm/third_party/rnp/src/lib/crypto/signatures.cpp thunderbird-91.10.0/comm/third_party/rnp/src/lib/crypto/signatures.cpp --- thunderbird-91.8.0/comm/third_party/rnp/src/lib/crypto/signatures.cpp 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/third_party/rnp/src/lib/crypto/signatures.cpp 2022-05-25 21:49:59.000000000 +0000 @@ -263,10 +263,40 @@ return RNP_ERROR_BAD_PARAMETERS; } - /* Check signature security */ - if (ctx.profile.hash_level(sig.halg, sig.creation()) < rnp::SecurityLevel::Default) { - RNP_LOG("Insecure hash algorithm %d, marking signature as invalid.", sig.halg); - return RNP_ERROR_SIGNATURE_INVALID; + bool check_security_level = true; + if (hash.alg() == PGP_HASH_SHA1) { + /* Check signature security */ + switch (sig.type()) { + /* key certifications */ + case PGP_CERT_GENERIC: + case PGP_CERT_PERSONA: + case PGP_CERT_CASUAL: + case PGP_CERT_POSITIVE: + /* subkey binding signature */ + case PGP_SIG_SUBKEY: + case PGP_SIG_PRIMARY: + /* direct-key signature */ + case PGP_SIG_DIRECT: + /* revocation signatures */ + case PGP_SIG_REV_KEY: + case PGP_SIG_REV_SUBKEY: + case PGP_SIG_REV_CERT: + /* Allow */ + check_security_level = false; + break; + + default: + break; + } + } + + if (check_security_level) { + /* Only allow if the additional check passes. */ + if (ctx.profile.hash_level(sig.halg, sig.creation()) < rnp::SecurityLevel::Default) { + RNP_LOG("Insecure hash algorithm %d, marking signature as invalid.", sig.halg); + return RNP_ERROR_SIGNATURE_INVALID; + + } } /* Finalize hash */ diff -Nru thunderbird-91.8.0/comm/third_party/rnpdefs.mozbuild thunderbird-91.10.0/comm/third_party/rnpdefs.mozbuild --- thunderbird-91.8.0/comm/third_party/rnpdefs.mozbuild 2022-04-01 22:08:33.000000000 +0000 +++ thunderbird-91.10.0/comm/third_party/rnpdefs.mozbuild 2022-05-25 21:49:59.000000000 +0000 @@ -20,6 +20,10 @@ DEFINES["RNP_NO_DEPRECATED"] = True DEFINES["CRYPTO_BACKEND_BOTAN"] = True +DEFINES["ENABLE_AEAD"] = True +DEFINES["ENABLE_TWOFISH"] = True +DEFINES["ENABLE_BRAINPOOL"] = True + if CONFIG["COMPILE_ENVIRONMENT"]: COMPILE_FLAGS["MOZ_HARDENING_CFLAGS"] = [] diff -Nru thunderbird-91.8.0/config/milestone.txt thunderbird-91.10.0/config/milestone.txt --- thunderbird-91.8.0/config/milestone.txt 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/config/milestone.txt 2022-05-25 21:45:07.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -91.8.0 +91.10.0 diff -Nru thunderbird-91.8.0/debian/changelog thunderbird-91.10.0/debian/changelog --- thunderbird-91.8.0/debian/changelog 2022-04-07 16:45:43.000000000 +0000 +++ thunderbird-91.10.0/debian/changelog 2022-06-02 18:57:37.000000000 +0000 @@ -1,3 +1,66 @@ +thunderbird (1:91.10.0-1~deb11u1) bullseye-security; urgency=medium + + * Rebuild for bullseye-security + + -- Carsten Schoenert Thu, 02 Jun 2022 20:57:37 +0200 + +thunderbird (1:91.10.0-1) unstable; urgency=medium + + * [969960a] New upstream version 91.10.0 + Fixed CVE issues in upstream version 91.9.1 (MFSA 2022-19): + CVE-2022-1802: Prototype pollution in Top-Level Await implementation + CVE-2022-1529: Untrusted input used in JavaScript object indexing, leading + to prototype pollution + + Fixed CVE issues in upstream version 91.10 (MFSA 2022-22): + CVE-2022-31736: Cross-Origin resource's length leaked + CVE-2022-31737: Heap buffer overflow in WebGL + CVE-2022-31738: Browser window spoof using fullscreen mode + CVE-2022-31739: Attacker-influenced path traversal when saving downloaded + files + CVE-2022-31740: Register allocation problem in WASM on arm64 + CVE-2022-31741: Uninitialized variable leads to invalid memory read + CVE-2022-1834: Braille space character caused incorrect sender email to be + shown for a digitally signed email + CVE-2022-31742: Querying a WebAuthn token with a large number of + allowCredential entries may have leaked cross-origin + information + CVE-2022-31747: Memory safety bugs fixed in Thunderbird 91.10 + * [4b55e16] d/control: Increase Standards-Version to 4.6.0 + No further changes needed. + + -- Carsten Schoenert Mon, 30 May 2022 19:36:06 +0200 + +thunderbird (1:91.9.0-1~deb11u1) bullseye-security; urgency=medium + + * Rebuild for bullseye-security + (Closes: #1009321) + + -- Carsten Schoenert Tue, 17 May 2022 08:17:47 +0200 + +thunderbird (1:91.9.0-1) unstable; urgency=medium + + * [88b99d1] New upstream version 91.9.0 + Fixed CVE issues in upstream version 91.9 (MFSA 2022-18): + CVE-2022-1520: Incorrect security status shown after viewing an attached + email + CVE-2022-29914: Fullscreen notification bypass using popups + CVE-2022-29909: Bypassing permission prompt in nested browsing contexts + CVE-2022-29916: Leaking browser history with CSS variables + CVE-2022-29911: iframe sandbox bypass + CVE-2022-29912: Reader mode bypassed SameSite cookies + CVE-2022-29913: Speech Synthesis feature not properly disabled + CVE-2022-29917: Memory safety bugs fixed in Thunderbird 91.9 + + -- Carsten Schoenert Mon, 16 May 2022 13:51:59 +0200 + +thunderbird (1:91.8.1-1) unstable; urgency=medium + + * [b57406c] New upstream version 91.8.1 + (Closes: #1009321) + + -- Carsten Schoenert Tue, 19 Apr 2022 20:27:13 +0200 + thunderbird (1:91.8.0-1~deb11u1) bullseye-security; urgency=medium * Rebuild for bullseye-security diff -Nru thunderbird-91.8.0/debian/control thunderbird-91.10.0/debian/control --- thunderbird-91.8.0/debian/control 2022-04-07 16:43:06.000000000 +0000 +++ thunderbird-91.10.0/debian/control 2022-06-02 18:50:16.000000000 +0000 @@ -59,7 +59,7 @@ Vcs-Browser: https://salsa.debian.org/mozilla-team/thunderbird/commits/debian/bullseye/ Homepage: https://www.thunderbird.net/ X-Debian-Homepage: http://wiki.debian.org/Thunderbird -Standards-Version: 4.6.0 +Standards-Version: 4.6.1 Package: thunderbird Architecture: amd64 arm64 i386 mips64el ppc64el s390x ppc64 diff -Nru thunderbird-91.8.0/devtools/server/actors/network-monitor/network-content.js thunderbird-91.10.0/devtools/server/actors/network-monitor/network-content.js --- thunderbird-91.8.0/devtools/server/actors/network-monitor/network-content.js 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/devtools/server/actors/network-monitor/network-content.js 2022-05-25 21:45:07.000000000 +0000 @@ -86,7 +86,13 @@ Ci.nsIRequest.INHIBIT_CACHING | Ci.nsIRequest.LOAD_ANONYMOUS; + if (method == "CONNECT") { + throw new Error( + "The CONNECT method is restricted and cannot be sent by devtools" + ); + } channel.requestMethod = method; + if (headers) { for (const { name, value } of headers) { if (name.toLowerCase() == "referer") { diff -Nru thunderbird-91.8.0/docshell/base/BaseHistory.cpp thunderbird-91.10.0/docshell/base/BaseHistory.cpp --- thunderbird-91.8.0/docshell/base/BaseHistory.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/docshell/base/BaseHistory.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -116,10 +116,6 @@ // This will not catch a case where it is registered for two different URIs. MOZ_DIAGNOSTIC_ASSERT(!links->mLinks.Contains(aLink), "Already tracking this Link object!"); - // FIXME(emilio): We should consider changing this (see the entry.Remove() - // call in NotifyVisitedInThisProcess). - MOZ_DIAGNOSTIC_ASSERT(links->mStatus != VisitedStatus::Visited, - "We don't keep tracking known-visited links"); links->mLinks.AppendElement(aLink); @@ -205,15 +201,6 @@ for (Link* link : links.mLinks.BackwardRange()) { link->VisitedQueryFinished(visited); } - - // We never go from visited -> unvisited. - // - // FIXME(emilio): It seems unfortunate to remove a link to a visited uri and - // then re-add it to the document to trigger a new visited query. It shouldn't - // if we keep track of mStatus. - if (visited) { - entry.Remove(); - } } void BaseHistory::SendPendingVisitedResultsToChildProcesses() { diff -Nru thunderbird-91.8.0/dom/base/Document.cpp thunderbird-91.10.0/dom/base/Document.cpp --- thunderbird-91.8.0/dom/base/Document.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/base/Document.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -3692,6 +3692,20 @@ return NS_OK; } +static Document* GetInProcessParentDocumentFrom(BrowsingContext* aContext) { + BrowsingContext* parentContext = aContext->GetParent(); + if (!parentContext) { + return nullptr; + } + + WindowContext* windowContext = parentContext->GetCurrentWindowContext(); + if (!windowContext) { + return nullptr; + } + + return windowContext->GetDocument(); +} + already_AddRefed Document::GetParentFeaturePolicy() { BrowsingContext* browsingContext = GetBrowsingContext(); if (!browsingContext) { @@ -3711,6 +3725,11 @@ return do_AddRef(browsingContext->Canonical()->GetContainerFeaturePolicy()); } + if (Document* parentDocument = + GetInProcessParentDocumentFrom(browsingContext)) { + return do_AddRef(parentDocument->FeaturePolicy()); + } + WindowContext* windowContext = browsingContext->GetCurrentWindowContext(); if (!windowContext) { return nullptr; diff -Nru thunderbird-91.8.0/dom/base/Link.cpp thunderbird-91.10.0/dom/base/Link.cpp --- thunderbird-91.8.0/dom/base/Link.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/base/Link.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -60,25 +60,17 @@ void Link::VisitedQueryFinished(bool aVisited) { MOZ_ASSERT(mRegistered, "Setting the link state of an unregistered Link!"); - MOZ_ASSERT(mState == State::Unvisited, - "Why would we want to know our visited state otherwise?"); auto newState = aVisited ? State::Visited : State::Unvisited; // Set our current state as appropriate. mState = newState; - // We will be no longer registered if we're visited, as it'd be pointless, we - // never transition from visited -> unvisited. - if (aVisited) { - mRegistered = false; - } - MOZ_ASSERT(LinkState() == NS_EVENT_STATE_VISITED || LinkState() == NS_EVENT_STATE_UNVISITED, "Unexpected state obtained from LinkState()!"); - // Tell the element to update its visited state + // Tell the element to update its visited state. mElement->UpdateState(true); if (StaticPrefs::layout_css_always_repaint_on_unvisited()) { diff -Nru thunderbird-91.8.0/dom/base/nsObjectLoadingContent.cpp thunderbird-91.10.0/dom/base/nsObjectLoadingContent.cpp --- thunderbird-91.8.0/dom/base/nsObjectLoadingContent.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/base/nsObjectLoadingContent.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -83,6 +83,7 @@ #include "mozilla/IMEStateManager.h" #include "mozilla/widget/IMEData.h" #include "mozilla/IntegerPrintfMacros.h" +#include "mozilla/dom/ContentChild.h" #include "mozilla/dom/HTMLObjectElementBinding.h" #include "mozilla/dom/HTMLEmbedElement.h" #include "mozilla/dom/HTMLObjectElement.h" @@ -362,6 +363,8 @@ return nullptr; } + MaybeStoreCrossOriginFeaturePolicy(); + return docShell.forget(); } @@ -2364,3 +2367,31 @@ sdf->SubdocumentIntrinsicSizeOrRatioChanged(); } } + +void nsObjectLoadingContent::MaybeStoreCrossOriginFeaturePolicy() { + MOZ_DIAGNOSTIC_ASSERT(mFrameLoader); + + // If the browsingContext is not ready (because docshell is dead), don't try + // to create one. + if (!mFrameLoader->IsRemoteFrame() && !mFrameLoader->GetExistingDocShell()) { + return; + } + + RefPtr browsingContext = mFrameLoader->GetBrowsingContext(); + + if (!browsingContext || !browsingContext->IsContentSubframe()) { + return; + } + + nsCOMPtr thisContent = AsContent(); + + if (!thisContent->IsInComposedDoc()) { + return; + } + + FeaturePolicy* featurePolicy = thisContent->OwnerDoc()->FeaturePolicy(); + + if (ContentChild* cc = ContentChild::GetSingleton()) { + Unused << cc->SendSetContainerFeaturePolicy(browsingContext, featurePolicy); + } +} diff -Nru thunderbird-91.8.0/dom/base/nsObjectLoadingContent.h thunderbird-91.10.0/dom/base/nsObjectLoadingContent.h --- thunderbird-91.8.0/dom/base/nsObjectLoadingContent.h 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/base/nsObjectLoadingContent.h 2022-05-25 21:45:07.000000000 +0000 @@ -490,6 +490,12 @@ // Utility for firing an error event, if we're an . void MaybeFireErrorEvent(); + /** + * Store feature policy in container browsing context so that it can be + * accessed cross process. + */ + void MaybeStoreCrossOriginFeaturePolicy(); + // The final listener for mChannel (uriloader, pluginstreamlistener, etc.) nsCOMPtr mFinalListener; diff -Nru thunderbird-91.8.0/dom/canvas/CanvasRenderingContext2D.cpp thunderbird-91.10.0/dom/canvas/CanvasRenderingContext2D.cpp --- thunderbird-91.8.0/dom/canvas/CanvasRenderingContext2D.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/canvas/CanvasRenderingContext2D.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -5044,6 +5044,16 @@ return MakeAndAddRef(w, h, *array); } +static IntRect ClipImageDataTransfer(IntRect& aSrc, const IntPoint& aDestOffset, + const IntSize& aDestBounds) { + IntRect dest = aSrc; + dest.SafeMoveBy(aDestOffset); + dest = IntRect(IntPoint(0, 0), aDestBounds).SafeIntersect(dest); + + aSrc = aSrc.SafeIntersect(dest - aDestOffset); + return aSrc + aDestOffset; +} + nsresult CanvasRenderingContext2D::GetImageDataArray( JSContext* aCx, int32_t aX, int32_t aY, uint32_t aWidth, uint32_t aHeight, nsIPrincipal& aSubjectPrincipal, JSObject** aRetval) { @@ -5073,9 +5083,9 @@ return NS_OK; } - IntRect srcRect(0, 0, mWidth, mHeight); - IntRect destRect(aX, aY, aWidth, aHeight); - IntRect srcReadRect = srcRect.Intersect(destRect); + IntRect dstWriteRect(0, 0, aWidth, aHeight); + IntRect srcReadRect = ClipImageDataTransfer(dstWriteRect, IntPoint(aX, aY), + IntSize(mWidth, mHeight)); if (srcReadRect.IsEmpty()) { *aRetval = darray; return NS_OK; @@ -5100,9 +5110,6 @@ return NS_ERROR_OUT_OF_MEMORY; } - IntRect dstWriteRect = srcReadRect; - dstWriteRect.MoveBy(-aX, -aY); - // Check for site-specific permission. This check is not needed if the // canvas was created with a docshell (that is only done for special // internal uses). @@ -5253,10 +5260,10 @@ dirtyRect = imageDataRect; } - dirtyRect.MoveBy(IntPoint(aX, aY)); - dirtyRect = IntRect(0, 0, mWidth, mHeight).Intersect(dirtyRect); - - if (dirtyRect.Width() <= 0 || dirtyRect.Height() <= 0) { + IntRect srcRect = dirtyRect; + dirtyRect = ClipImageDataTransfer(srcRect, IntPoint(aX, aY), + IntSize(mWidth, mHeight)); + if (dirtyRect.IsEmpty()) { return; } @@ -5311,7 +5318,6 @@ dstFormat = sourceSurface->GetFormat(); } - IntRect srcRect = dirtyRect - IntPoint(aX, aY); uint8_t* srcData = arr.Data() + srcRect.y * (width * 4) + srcRect.x * 4; PremultiplyData( diff -Nru thunderbird-91.8.0/dom/canvas/WebGLContextGL.cpp thunderbird-91.10.0/dom/canvas/WebGLContextGL.cpp --- thunderbird-91.8.0/dom/canvas/WebGLContextGL.cpp 2022-04-01 22:08:13.000000000 +0000 +++ thunderbird-91.10.0/dom/canvas/WebGLContextGL.cpp 2022-05-25 21:45:07.000000000 +0000 @@ -1203,13 +1203,20 @@ desc2.srcOffset = {readX, readY}; desc2.size = {rwSize.x, 1}; - auto row = dest + writeX * bytesPerPixel; - row += writeY * rowStride; - for (const auto j : IntegerRange(size.y)) { + const auto skipBytes = writeX * bytesPerPixel; + const auto usedRowBytes = rwSize.x * bytesPerPixel; + for (const auto j : IntegerRange(rwSize.y)) { desc2.srcOffset.y = readY + j; - DoReadPixelsAndConvert(srcFormat->format, desc2, row, bytesNeeded, - rowStride); - row += rowStride; + const auto destWriteBegin = dest + skipBytes + (writeY + j) * rowStride; + MOZ_RELEASE_ASSERT(dest <= destWriteBegin); + MOZ_RELEASE_ASSERT(destWriteBegin <= dest + availBytes); + + const auto destWriteEnd = destWriteBegin + usedRowBytes; + MOZ_RELEASE_ASSERT(dest <= destWriteEnd); + MOZ_RELEASE_ASSERT(destWriteEnd <= dest + availBytes); + + DoReadPixelsAndConvert(srcFormat->format, desc2, destWriteBegin, + destWriteEnd - destWriteBegin, rowStride); } } diff -Nru thunderbird-91.8.0/dom/gamepad/ipc/GamepadTestChannelParent.cpp thunderbird-91.10.0/dom/gamepad/ipc/GamepadTestChannelParent.cpp --- thunderbird-91.8.0/dom/gamepad/ipc/GamepadTestChannelParent.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/gamepad/ipc/GamepadTestChannelParent.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -8,11 +8,17 @@ #include "mozilla/dom/GamepadPlatformService.h" #include "mozilla/ipc/BackgroundParent.h" +#include "mozilla/StaticPrefs_dom.h" #include "mozilla/Unused.h" namespace mozilla::dom { already_AddRefed GamepadTestChannelParent::Create() { + // Refuse to create the parent actor if this pref is disabled + if (!StaticPrefs::dom_gamepad_test_enabled()) { + return nullptr; + } + return RefPtr(new GamepadTestChannelParent()) .forget(); } diff -Nru thunderbird-91.8.0/dom/html/test/file_fullscreen-resize.html thunderbird-91.10.0/dom/html/test/file_fullscreen-resize.html --- thunderbird-91.8.0/dom/html/test/file_fullscreen-resize.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/dom/html/test/file_fullscreen-resize.html 2022-05-25 21:45:08.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + Test for Bug 1742421 + + + + + +Mozilla Bug 1742421 +

+ +
+
+
+ + diff -Nru thunderbird-91.8.0/dom/html/test/mochitest.ini thunderbird-91.10.0/dom/html/test/mochitest.ini --- thunderbird-91.8.0/dom/html/test/mochitest.ini 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/html/test/mochitest.ini 2022-05-25 21:45:08.000000000 +0000 @@ -471,6 +471,7 @@ file_fullscreen-table.html file_fullscreen-top-layer.html file_fullscreen-utils.js + file_fullscreen-resize.html [test_fullscreen_meta_viewport.html] support-files = file_fullscreen_meta_viewport.html diff -Nru thunderbird-91.8.0/dom/html/test/test_fullscreen-api.html thunderbird-91.10.0/dom/html/test/test_fullscreen-api.html --- thunderbird-91.8.0/dom/html/test/test_fullscreen-api.html 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/html/test/test_fullscreen-api.html 2022-05-25 21:45:08.000000000 +0000 @@ -54,6 +54,7 @@ ["dom.security.featurePolicy.webidl.enabled", true]] }, { test: "file_fullscreen-async.html" }, { test: "file_fullscreen-sub-iframe.html" }, + { test: "file_fullscreen-resize.html" }, ]; var testWindow = null; diff -Nru thunderbird-91.8.0/dom/ipc/ContentParent.cpp thunderbird-91.10.0/dom/ipc/ContentParent.cpp --- thunderbird-91.8.0/dom/ipc/ContentParent.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/ipc/ContentParent.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -4368,6 +4368,9 @@ #ifdef MOZ_WEBSPEECH PSpeechSynthesisParent* ContentParent::AllocPSpeechSynthesisParent() { + if (!StaticPrefs::media_webspeech_synth_enabled()) { + return nullptr; + } return new mozilla::dom::SpeechSynthesisParent(); } diff -Nru thunderbird-91.8.0/dom/jsurl/nsJSProtocolHandler.cpp thunderbird-91.10.0/dom/jsurl/nsJSProtocolHandler.cpp --- thunderbird-91.8.0/dom/jsurl/nsJSProtocolHandler.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/jsurl/nsJSProtocolHandler.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -232,18 +232,19 @@ mozilla::dom::Document* targetDoc = innerWin->GetExtantDoc(); - if (targetDoc) { - // Sandboxed document check: javascript: URI execution is disabled - // in a sandboxed document unless 'allow-scripts' was specified. - if (targetDoc->HasScriptsBlockedBySandbox()) { - if (nsCOMPtr obs = - mozilla::services::GetObserverService()) { - obs->NotifyWhenScriptSafe(ToSupports(innerWin), - "javascript-uri-blocked-by-sandbox"); - } - return NS_ERROR_DOM_RETVAL_UNDEFINED; + // Sandboxed document check: javascript: URI execution is disabled in a + // sandboxed document unless 'allow-scripts' was specified. + if ((targetDoc && !targetDoc->IsScriptEnabled()) || + (loadInfo->GetTriggeringSandboxFlags() & SANDBOXED_SCRIPTS)) { + if (nsCOMPtr obs = + mozilla::services::GetObserverService()) { + obs->NotifyWhenScriptSafe(ToSupports(innerWin), + "javascript-uri-blocked-by-sandbox"); } + return NS_ERROR_DOM_RETVAL_UNDEFINED; + } + if (targetDoc) { // Perform a Security check against the CSP of the document we are // running against. javascript: URIs are disabled unless "inline" // scripts are allowed. We only do that if targetDoc->NodePrincipal() diff -Nru thunderbird-91.8.0/dom/media/AudioConverter.cpp thunderbird-91.10.0/dom/media/AudioConverter.cpp --- thunderbird-91.8.0/dom/media/AudioConverter.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/AudioConverter.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -156,8 +156,10 @@ for (int32_t j = 0; j < commonChannels; j++) { aOut[i * aOutChannels + j] = aIn[i * aInChannels + j]; } - for (int32_t j = 0; j < aInChannels - aOutChannels; j++) { - aOut[i * aOutChannels + j] = 0; + if (aOutChannels > aInChannels) { + for (int32_t j = 0; j < aInChannels - aOutChannels; j++) { + aOut[i * aOutChannels + j] = 0; + } } } } diff -Nru thunderbird-91.8.0/dom/media/BaseMediaResource.cpp thunderbird-91.10.0/dom/media/BaseMediaResource.cpp --- thunderbird-91.8.0/dom/media/BaseMediaResource.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/BaseMediaResource.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -136,24 +136,25 @@ } else { loadFlags &= ~nsIRequest::LOAD_BACKGROUND; } - ModifyLoadFlags(loadFlags); + Unused << NS_WARN_IF(NS_FAILED(ModifyLoadFlags(loadFlags))); } } -void BaseMediaResource::ModifyLoadFlags(nsLoadFlags aFlags) { +nsresult BaseMediaResource::ModifyLoadFlags(nsLoadFlags aFlags) { nsCOMPtr loadGroup; nsresult rv = mChannel->GetLoadGroup(getter_AddRefs(loadGroup)); MOZ_ASSERT(NS_SUCCEEDED(rv), "GetLoadGroup() failed!"); - nsresult status; - mChannel->GetStatus(&status); - bool inLoadGroup = false; if (loadGroup) { + nsresult status; + mChannel->GetStatus(&status); + rv = loadGroup->RemoveRequest(mChannel, nullptr, status); - if (NS_SUCCEEDED(rv)) { - inLoadGroup = true; + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; } + inLoadGroup = true; } rv = mChannel->SetLoadFlags(aFlags); @@ -163,6 +164,8 @@ rv = loadGroup->AddRequest(mChannel, nullptr); MOZ_ASSERT(NS_SUCCEEDED(rv), "AddRequest() failed!"); } + + return NS_OK; } } // namespace mozilla diff -Nru thunderbird-91.8.0/dom/media/BaseMediaResource.h thunderbird-91.10.0/dom/media/BaseMediaResource.h --- thunderbird-91.8.0/dom/media/BaseMediaResource.h 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/BaseMediaResource.h 2022-05-25 21:45:08.000000000 +0000 @@ -127,7 +127,7 @@ // Set the request's load flags to aFlags. If the request is part of a // load group, the request is removed from the group, the flags are set, and // then the request is added back to the load group. - void ModifyLoadFlags(nsLoadFlags aFlags); + nsresult ModifyLoadFlags(nsLoadFlags aFlags); RefPtr mCallback; diff -Nru thunderbird-91.8.0/dom/media/ChannelMediaDecoder.cpp thunderbird-91.10.0/dom/media/ChannelMediaDecoder.cpp --- thunderbird-91.8.0/dom/media/ChannelMediaDecoder.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/ChannelMediaDecoder.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -139,8 +139,7 @@ mInitialChannelPrincipalKnown = true; return; } - if (!mSameOriginMedia && - Preferences::GetBool("media.block-midflight-redirects", true)) { + if (!mSameOriginMedia) { // Block mid-flight redirects to non CORS same origin destinations. // See bugs 1441153, 1443942. LOG("ChannnelMediaDecoder prohibited cross origin redirect blocked."); diff -Nru thunderbird-91.8.0/dom/media/ChannelMediaResource.cpp thunderbird-91.10.0/dom/media/ChannelMediaResource.cpp --- thunderbird-91.8.0/dom/media/ChannelMediaResource.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/ChannelMediaResource.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -339,7 +339,7 @@ NS_ASSERTION(NS_SUCCEEDED(rv), "GetLoadFlags() failed!"); if (loadFlags & nsIRequest::LOAD_BACKGROUND) { - ModifyLoadFlags(loadFlags & ~nsIRequest::LOAD_BACKGROUND); + Unused << NS_WARN_IF(NS_FAILED(ModifyLoadFlags(loadFlags & ~nsIRequest::LOAD_BACKGROUND))); } // Note that aStatus might have succeeded --- this might be a normal close @@ -803,6 +803,7 @@ if (!secMan) { return; } + bool hadData = mSharedInfo->mPrincipal != nullptr; nsCOMPtr principal; secMan->GetChannelResultPrincipal(mChannel, getter_AddRefs(principal)); if (nsContentUtils::CombineResourcePrincipals(&mSharedInfo->mPrincipal, @@ -810,8 +811,44 @@ for (auto* r : mSharedInfo->mResources) { r->CacheClientNotifyPrincipalChanged(); } + if (!mChannel) { // Sometimes cleared during NotifyPrincipalChanged() + return; + } + } + nsCOMPtr loadInfo = mChannel->LoadInfo(); + auto mode = loadInfo->GetSecurityMode(); + if (mode != nsILoadInfo::SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT) { + MOZ_ASSERT( + mode == nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_INHERITS_SEC_CONTEXT || + mode == nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL, + "no-cors request"); + bool finalResponseIsOpaque = + // GetChannelResultPrincipal() returns the original request URL for + // null-origin Responses from ServiceWorker, in which case the URL + // does not indicate the real source of data. Such null-origin + // Responses have Basic LoadTainting. CORS filtered Responses from + // ServiceWorker also cannot be mixed with no-cors cross-origin + // responses. + loadInfo->GetTainting() == LoadTainting::Opaque && + // Although intermediate cross-origin redirects back to URIs with + // loadingPrincipal will have LoadTainting::Opaque and will taint the + // media element, they are not considered opaque when verifying + // network responses; they can be mixed with non-opaque responses from + // subsequent loads on the same-origin finalURI. + !nsContentUtils::CheckMayLoad(loadInfo->GetLoadingPrincipal(), mChannel, + /*allowIfInheritsPrincipal*/ true); + if (!hadData) { // First response with data + mSharedInfo->mFinalResponsesAreOpaque = finalResponseIsOpaque; + } else if (mSharedInfo->mFinalResponsesAreOpaque != finalResponseIsOpaque) { + for (auto* r : mSharedInfo->mResources) { + r->mCallback->NotifyNetworkError(MediaResult( + NS_ERROR_CONTENT_BLOCKED, "opaque and non-opaque responses")); + } + // Our caller, OnStartRequest() will CloseChannel() on discovering the + // error, so no data will be read from the channel. + return; + } } - // ChannelMediaResource can recreate the channel. When this happens, we don't // want to overwrite mHadCrossOriginRedirects because the new channel could // skip intermediate redirects. diff -Nru thunderbird-91.8.0/dom/media/ChannelMediaResource.h thunderbird-91.10.0/dom/media/ChannelMediaResource.h --- thunderbird-91.8.0/dom/media/ChannelMediaResource.h 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/ChannelMediaResource.h 2022-05-25 21:45:08.000000000 +0000 @@ -68,11 +68,14 @@ struct SharedInfo { NS_INLINE_DECL_REFCOUNTING(SharedInfo); - SharedInfo() : mHadCrossOriginRedirects(false) {} - - nsCOMPtr mPrincipal; nsTArray mResources; - bool mHadCrossOriginRedirects; + // Null if there is not yet any data from any origin. + nsCOMPtr mPrincipal; + // Meaningful only when mPrincipal is non-null, + // unaffected by intermediate cross-origin redirects. + bool mFinalResponsesAreOpaque = false; + + bool mHadCrossOriginRedirects = false; private: ~SharedInfo() = default; diff -Nru thunderbird-91.8.0/dom/media/systemservices/MediaParent.cpp thunderbird-91.10.0/dom/media/systemservices/MediaParent.cpp --- thunderbird-91.8.0/dom/media/systemservices/MediaParent.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/systemservices/MediaParent.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -37,11 +37,10 @@ namespace mozilla::media { -StaticMutex sOriginKeyStoreMutex; -static OriginKeyStore* sOriginKeyStore = nullptr; +StaticMutex sOriginKeyStoreStsMutex; -class OriginKeyStore : public nsISupports { - NS_DECL_THREADSAFE_ISUPPORTS +class OriginKeyStore { + NS_INLINE_DECL_REFCOUNTING(OriginKeyStore); class OriginKey { public: static const size_t DecodedLength = 18; @@ -375,28 +374,28 @@ }; private: + static OriginKeyStore* sOriginKeyStore; + virtual ~OriginKeyStore() { - StaticMutexAutoLock lock(sOriginKeyStoreMutex); + MOZ_ASSERT(NS_IsMainThread()); sOriginKeyStore = nullptr; LOG(("%s", __FUNCTION__)); } public: - static OriginKeyStore* Get() { + static RefPtr Get() { MOZ_ASSERT(NS_IsMainThread()); - StaticMutexAutoLock lock(sOriginKeyStoreMutex); if (!sOriginKeyStore) { sOriginKeyStore = new OriginKeyStore(); } - return sOriginKeyStore; + return RefPtr(sOriginKeyStore); } - // Only accessed on StreamTS thread + // Only accessed on StreamTS threads OriginKeysLoader mOriginKeys; OriginKeysTable mPrivateBrowsingOriginKeys; }; - -NS_IMPL_ISUPPORTS0(OriginKeyStore) +OriginKeyStore* OriginKeyStore::sOriginKeyStore = nullptr; template mozilla::ipc::IPCResult Parent::RecvGetPrincipalKey( @@ -429,23 +428,19 @@ InvokeAsync( taskQueue, __func__, - [that, profileDir, aPrincipalInfo, aPersist]() { + [this, that, profileDir, aPrincipalInfo, aPersist]() { MOZ_ASSERT(!NS_IsMainThread()); - StaticMutexAutoLock lock(sOriginKeyStoreMutex); - if (!sOriginKeyStore) { - return PrincipalKeyPromise::CreateAndReject(NS_ERROR_FAILURE, - __func__); - } - sOriginKeyStore->mOriginKeys.SetProfileDir(profileDir); + StaticMutexAutoLock lock(sOriginKeyStoreStsMutex); + mOriginKeyStore->mOriginKeys.SetProfileDir(profileDir); nsresult rv; nsAutoCString result; if (IsPrincipalInfoPrivate(aPrincipalInfo)) { - rv = sOriginKeyStore->mPrivateBrowsingOriginKeys.GetPrincipalKey( + rv = mOriginKeyStore->mPrivateBrowsingOriginKeys.GetPrincipalKey( aPrincipalInfo, result); } else { - rv = sOriginKeyStore->mOriginKeys.GetPrincipalKey(aPrincipalInfo, + rv = mOriginKeyStore->mOriginKeys.GetPrincipalKey(aPrincipalInfo, result, aPersist); } @@ -482,19 +477,17 @@ nsCOMPtr sts = do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID); MOZ_ASSERT(sts); + RefPtr> that(this); rv = sts->Dispatch( NewRunnableFrom( - [profileDir, aSinceWhen, aOnlyPrivateBrowsing]() -> nsresult { + [this, that, profileDir, aSinceWhen, aOnlyPrivateBrowsing]() { MOZ_ASSERT(!NS_IsMainThread()); - StaticMutexAutoLock lock(sOriginKeyStoreMutex); - if (!sOriginKeyStore) { - return NS_ERROR_FAILURE; - } - sOriginKeyStore->mPrivateBrowsingOriginKeys.Clear(aSinceWhen); + StaticMutexAutoLock lock(sOriginKeyStoreStsMutex); + mOriginKeyStore->mPrivateBrowsingOriginKeys.Clear(aSinceWhen); if (!aOnlyPrivateBrowsing) { - sOriginKeyStore->mOriginKeys.SetProfileDir(profileDir); - sOriginKeyStore->mOriginKeys.Clear(aSinceWhen); + mOriginKeyStore->mOriginKeys.SetProfileDir(profileDir); + mOriginKeyStore->mOriginKeys.Clear(aSinceWhen); } return NS_OK; }), @@ -520,6 +513,8 @@ template Parent::~Parent() { + NS_ReleaseOnMainThread("Parent::mOriginKeyStore", + mOriginKeyStore.forget()); LOG(("~media::Parent: %p", this)); } diff -Nru thunderbird-91.8.0/dom/media/test/test_midflight_redirect_blocked.html thunderbird-91.10.0/dom/media/test/test_midflight_redirect_blocked.html --- thunderbird-91.8.0/dom/media/test/test_midflight_redirect_blocked.html 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/test/test_midflight_redirect_blocked.html 2022-05-25 21:45:08.000000000 +0000 @@ -56,29 +56,20 @@ let v = document.createElement("video"); const testCases = gSmallTests.filter(t => v.canPlayType(t.type)); - async function testMediaLoad(expectedToLoad, message, useCors) { + async function testMediaLoad(message, {useCors}) { for (let test of testCases) { let loaded = await testIfLoadsToMetadata(test, useCors); - is(loaded, expectedToLoad, test.name + " " + message); + is(loaded, useCors, test.name + " " + message); } } async function runTest() { try { - SimpleTest.info("Allowing midflight redirects..."); - await SpecialPowers.pushPrefEnv({'set': [["media.block-midflight-redirects", false]]}); - - SimpleTest.info("Test that all media plays..."); - await testMediaLoad(true, "expected to load", false); - - SimpleTest.info("Blocking midflight redirects..."); - await SpecialPowers.pushPrefEnv({'set': [["media.block-midflight-redirects", true]]}); - - SimpleTest.info("Test that all media no longer play..."); - await testMediaLoad(false, "expected to be blocked", false); + SimpleTest.info("Test that all media do not play without CORS..."); + await testMediaLoad("expected to be blocked", {useCors: false}); SimpleTest.info("Test that all media play if CORS used..."); - await testMediaLoad(true, "expected to play with CORS", true); + await testMediaLoad("expected to play with CORS", {useCors: true}); } catch (e) { info("Exception " + e.message); ok(false, "Threw exception " + e.message); diff -Nru thunderbird-91.8.0/dom/media/webrtc/jsep/JsepSessionImpl.cpp thunderbird-91.10.0/dom/media/webrtc/jsep/JsepSessionImpl.cpp --- thunderbird-91.8.0/dom/media/webrtc/jsep/JsepSessionImpl.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/media/webrtc/jsep/JsepSessionImpl.cpp 2022-05-25 21:45:08.000000000 +0000 @@ -2461,6 +2461,13 @@ } size_t level = transceiver->GetLevel(); + if (NS_WARN_IF(mCurrentLocalDescription->GetMediaSectionCount() <= level) || + NS_WARN_IF(mCurrentRemoteDescription->GetMediaSectionCount() <= + level)) { + MOZ_ASSERT(false); + continue; + } + const SdpMediaSection& local = mCurrentLocalDescription->GetMediaSection(level); const SdpMediaSection& remote = diff -Nru thunderbird-91.8.0/dom/notification/old/NotificationDB.jsm thunderbird-91.10.0/dom/notification/old/NotificationDB.jsm --- thunderbird-91.8.0/dom/notification/old/NotificationDB.jsm 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/notification/old/NotificationDB.jsm 2022-05-25 21:45:08.000000000 +0000 @@ -40,8 +40,8 @@ return; } - this.notifications = {}; - this.byTag = {}; + this.notifications = Object.create(null); + this.byTag = Object.create(null); this.loaded = false; this.tasks = []; // read/write operation queue @@ -75,13 +75,14 @@ }, filterNonAppNotifications(notifications) { + let result = Object.create(null); for (let origin in notifications) { + result[origin] = Object.create(null); let persistentNotificationCount = 0; for (let id in notifications[origin]) { if (notifications[origin][id].serviceWorkerRegistrationScope) { persistentNotificationCount++; - } else { - delete notifications[origin][id]; + result[origin][id] = notifications[origin][id]; } } if (persistentNotificationCount == 0) { @@ -90,11 +91,11 @@ "Origin " + origin + " is not linked to an app manifest, deleting." ); } - delete notifications[origin]; + delete result[origin]; } } - return notifications; + return result; }, // Attempt to read notification file, if it's not there we will create it. @@ -111,7 +112,7 @@ // populate the list of notifications by tag if (this.notifications) { for (var origin in this.notifications) { - this.byTag[origin] = {}; + this.byTag[origin] = Object.create(null); for (var id in this.notifications[origin]) { var curNotification = this.notifications[origin][id]; if (curNotification.tag) { @@ -344,8 +345,8 @@ var origin = data.origin; var notification = data.notification; if (!this.notifications[origin]) { - this.notifications[origin] = {}; - this.byTag[origin] = {}; + this.notifications[origin] = Object.create(null); + this.byTag[origin] = Object.create(null); } // We might have existing notification with this tag, diff -Nru thunderbird-91.8.0/dom/webauthn/WebAuthnManager.cpp thunderbird-91.10.0/dom/webauthn/WebAuthnManager.cpp --- thunderbird-91.8.0/dom/webauthn/WebAuthnManager.cpp 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/webauthn/WebAuthnManager.cpp 2022-05-25 21:45:09.000000000 +0000 @@ -447,6 +447,8 @@ return promise.forget(); } +const size_t MAX_ALLOWED_CREDENTIALS = 20; + already_AddRefed WebAuthnManager::GetAssertion( const PublicKeyCredentialRequestOptions& aOptions, const Optional>& aSignal) { @@ -520,6 +522,12 @@ return promise.forget(); } + // Abort the request if the allowCredentials set is too large + if (aOptions.mAllowCredentials.Length() > MAX_ALLOWED_CREDENTIALS) { + promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); + return promise.forget(); + } + // Use assertionChallenge, callerOrigin and rpId, along with the token binding // key associated with callerOrigin (if any), to create a ClientData structure // representing this request. Choose a hash algorithm for hashAlg and compute diff -Nru thunderbird-91.8.0/dom/webauthn/tests/test_webauthn_get_assertion.html thunderbird-91.10.0/dom/webauthn/tests/test_webauthn_get_assertion.html --- thunderbird-91.8.0/dom/webauthn/tests/test_webauthn_get_assertion.html 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/dom/webauthn/tests/test_webauthn_get_assertion.html 2022-05-25 21:45:09.000000000 +0000 @@ -54,6 +54,10 @@ ok(aResult.toString().startsWith("TypeError"), "Expecting a TypeError, got " + aResult); } + function expectSecurityError(aResult) { + ok(aResult.toString().startsWith("SecurityError"), "Expecting a SecurityError, got " + aResult); + } + function expectAbortError(aResult) { is(aResult.code, DOMException.ABORT_ERR, "Expecting an AbortError"); } @@ -172,6 +176,19 @@ .catch(expectInvalidStateError); }); + // Test with too many credentials + add_task(async () => { + let tooManyCredentials = Array(21).fill(validCred); + let publicKey = { + challenge: gAssertionChallenge, + allowCredentials: tooManyCredentials, + }; + + await requestGetAssertion({publicKey}) + .then(arrivingHereIsBad) + .catch(expectSecurityError); + }); + // Test with an unexpected option and an invalid credential add_task(async () => { let publicKey = { diff -Nru thunderbird-91.8.0/gfx/2d/BaseRect.h thunderbird-91.10.0/gfx/2d/BaseRect.h --- thunderbird-91.8.0/gfx/2d/BaseRect.h 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/gfx/2d/BaseRect.h 2022-05-25 21:45:08.000000000 +0000 @@ -313,6 +313,39 @@ height = aSize.height; } + // Variant of MoveBy that ensures that even after translation by a point that + // the rectangle coordinates will still fit within numeric limits. The origin + // and size will be clipped within numeric limits to ensure this. + void SafeMoveByX(T aDx) { + T x2 = XMost(); + if (aDx >= T(0)) { + T limit = std::numeric_limits::max(); + x = limit - aDx < x ? limit : x + aDx; + width = (limit - aDx < x2 ? limit : x2 + aDx) - x; + } else { + T limit = std::numeric_limits::min(); + x = limit - aDx > x ? limit : x + aDx; + width = (limit - aDx > x2 ? limit : x2 + aDx) - x; + } + } + void SafeMoveByY(T aDy) { + T y2 = YMost(); + if (aDy >= T(0)) { + T limit = std::numeric_limits::max(); + y = limit - aDy < y ? limit : y + aDy; + height = (limit - aDy < y2 ? limit : y2 + aDy) - y; + } else { + T limit = std::numeric_limits::min(); + y = limit - aDy > y ? limit : y + aDy; + height = (limit - aDy > y2 ? limit : y2 + aDy) - y; + } + } + void SafeMoveBy(T aDx, T aDy) { + SafeMoveByX(aDx); + SafeMoveByY(aDy); + } + void SafeMoveBy(const Point& aPoint) { SafeMoveBy(aPoint.x, aPoint.y); } + void Inflate(T aD) { Inflate(aD, aD); } void Inflate(T aDx, T aDy) { x -= aDx; diff -Nru thunderbird-91.8.0/gfx/wr/swgl/src/composite.h thunderbird-91.10.0/gfx/wr/swgl/src/composite.h --- thunderbird-91.8.0/gfx/wr/swgl/src/composite.h 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/gfx/wr/swgl/src/composite.h 2022-05-25 21:45:09.000000000 +0000 @@ -518,7 +518,8 @@ // [ yScale, g_from_u, g_from_v ] x ([cb] - ycbcr_bias ) // [ yScale, b_from_u, 0 ] ([cr] ) static YUVMatrix From(const vec3_scalar& ycbcr_bias, - const mat3_scalar& rgb_from_debiased_ycbcr) { + const mat3_scalar& rgb_from_debiased_ycbcr, + int rescale_factor = 0) { assert(ycbcr_bias.z == ycbcr_bias.y); const auto rgb_from_y = rgb_from_debiased_ycbcr[0].y; @@ -528,14 +529,14 @@ if (rgb_from_debiased_ycbcr[0].x == 0.0) { // gbr-identity matrix? assert(rgb_from_debiased_ycbcr[0].x == 0); - assert(rgb_from_debiased_ycbcr[0].y == 1); + assert(rgb_from_debiased_ycbcr[0].y >= 1); assert(rgb_from_debiased_ycbcr[0].z == 0); assert(rgb_from_debiased_ycbcr[1].x == 0); assert(rgb_from_debiased_ycbcr[1].y == 0); - assert(rgb_from_debiased_ycbcr[1].z == 1); + assert(rgb_from_debiased_ycbcr[1].z >= 1); - assert(rgb_from_debiased_ycbcr[2].x == 1); + assert(rgb_from_debiased_ycbcr[2].x >= 1); assert(rgb_from_debiased_ycbcr[2].y == 0); assert(rgb_from_debiased_ycbcr[2].z == 0); @@ -557,24 +558,30 @@ assert(rgb_from_debiased_ycbcr[2].z == 0.0); return YUVMatrix({ycbcr_bias.x, ycbcr_bias.y}, rgb_from_y, br_from_y_mask, - r_from_v, g_from_u, g_from_v, b_from_u); + r_from_v, g_from_u, g_from_v, b_from_u, rescale_factor); } - // Convert matrix coefficients to fixed-point representation. + // Convert matrix coefficients to fixed-point representation. If the matrix + // has a rescaling applied to it, then we need to take care to undo the + // scaling so that we can convert the coefficients to fixed-point range. The + // bias still requires shifting to apply the rescaling. The rescaling will be + // applied to the actual YCbCr sample data later by manually shifting it + // before applying this matrix. YUVMatrix(vec2_scalar yuv_bias, double yCoeff, int16_t br_yMask_, double rv, - double gu, double gv, double bu) - : br_uvCoeffs(zip(I16(int16_t(bu * (1 << 6) + 0.5)), - I16(int16_t(rv * (1 << 6) + 0.5)))), - gg_uvCoeffs(zip(I16(-int16_t(-gu * (1 << 6) + - 0.5)), // These are negative coeffs, so - // round them away from zero - I16(-int16_t(-gv * (1 << 6) + 0.5)))), - yCoeffs(uint16_t(yCoeff * (1 << (6 + 1)) + 0.5)), + double gu, double gv, double bu, int rescale_factor = 0) + : br_uvCoeffs(zip(I16(int16_t(bu * (1 << (6 - rescale_factor)) + 0.5)), + I16(int16_t(rv * (1 << (6 - rescale_factor)) + 0.5)))), + gg_uvCoeffs( + zip(I16(-int16_t(-gu * (1 << (6 - rescale_factor)) + + 0.5)), // These are negative coeffs, so + // round them away from zero + I16(-int16_t(-gv * (1 << (6 - rescale_factor)) + 0.5)))), + yCoeffs(uint16_t(yCoeff * (1 << (6 + 1 - rescale_factor)) + 0.5)), // We have a +0.5 fudge-factor for -ybias. // Without this, we get white=254 not 255. // This approximates rounding rather than truncation during `gg >>= 6`. - yBias(int16_t( ((yuv_bias.x * 255 * yCoeff) - 0.5 ) * (1<<6) )), - uvBias(int16_t(yuv_bias.y * 255 + 0.5)), + yBias(int16_t(((yuv_bias.x * 255 * yCoeff) - 0.5) * (1 << 6))), + uvBias(int16_t(yuv_bias.y * (255 << rescale_factor) + 0.5)), br_yMask(br_yMask_) { assert(yuv_bias.x >= 0); assert(yuv_bias.y >= 0); @@ -584,6 +591,7 @@ assert(rv > 0); assert(gu <= 0); assert(gv <= 0); + assert(rescale_factor <= 6); } ALWAYS_INLINE PackedRGBA8 convert(V8 yy, V8 uv) const { @@ -865,11 +873,15 @@ // If the source row has less than 2 pixels, it's not safe to use a linear // filter because it may overread the row. Just convert the single pixel // with nearest filtering and fill the row with it. - I16 yuv = CONVERT( - round_pixel((Float){texelFetch(samplerY, ivec2(srcUV)).x.x, - texelFetch(samplerU, ivec2(chromaUV)).x.x, - texelFetch(samplerV, ivec2(chromaUV)).x.x, 1.0f}), - I16); + Float yuvF = {texelFetch(samplerY, ivec2(srcUV)).x.x, + texelFetch(samplerU, ivec2(chromaUV)).x.x, + texelFetch(samplerV, ivec2(chromaUV)).x.x, 1.0f}; + // If this is an HDR LSB format, we need to renormalize the result. + if (colorDepth > 8) { + int rescaleFactor = 16 - colorDepth; + yuvF *= float(1 << rescaleFactor); + } + I16 yuv = CONVERT(round_pixel(yuvF), I16); commit_solid_span( dest, unpack(colorSpace.convert(V8(yuv.x), diff -Nru thunderbird-91.8.0/gfx/wr/swgl/src/swgl_ext.h thunderbird-91.10.0/gfx/wr/swgl/src/swgl_ext.h --- thunderbird-91.8.0/gfx/wr/swgl/src/swgl_ext.h 2022-04-01 22:08:14.000000000 +0000 +++ thunderbird-91.10.0/gfx/wr/swgl/src/swgl_ext.h 2022-05-25 21:45:16.000000000 +0000 @@ -413,26 +413,36 @@ swgl_LinearQuantizeScale)) - uv.x.x; if (uv_step.x > 0.0f && insideDist >= uv_step.x) { - int inside = int(end - buf); + int32_t inside = int(end - buf); if (filter == LINEAR_FILTER_DOWNSCALE) { - inside = clamp(int(insideDist * (0.5f / swgl_LinearQuantizeScale)) & - ~(swgl_StepSize - 1), - 0, inside); - blendTextureLinearDownscale(sampler, uv, inside, min_uv, max_uv, - color, buf); + inside = min(int(insideDist * (0.5f / swgl_LinearQuantizeScale)) & + ~(swgl_StepSize - 1), + inside); + if (inside > 0) { + blendTextureLinearDownscale(sampler, uv, inside, min_uv, + max_uv, color, buf); + buf += inside; + uv.x += (inside / swgl_StepSize) * uv_step.x; + } } else if (filter == LINEAR_FILTER_UPSCALE) { - inside = clamp(int(insideDist / uv_step.x) * swgl_StepSize, 0, inside); - blendTextureLinearUpscale(sampler, uv, inside, uv_step, min_uv, - max_uv, color, buf); + inside = min(int(insideDist / uv_step.x) * swgl_StepSize, inside); + if (inside > 0) { + blendTextureLinearUpscale(sampler, uv, inside, uv_step, min_uv, + max_uv, color, buf); + buf += inside; + uv.x += (inside / swgl_StepSize) * uv_step.x; + } } else { - inside = clamp(int(insideDist * (1.0f / swgl_LinearQuantizeScale)) & - ~(swgl_StepSize - 1), - 0, inside); - blendTextureLinearFast(sampler, uv, inside, min_uv, max_uv, - color, buf); + inside = min(int(insideDist * (1.0f / swgl_LinearQuantizeScale)) & + ~(swgl_StepSize - 1), + inside); + if (inside > 0) { + blendTextureLinearFast(sampler, uv, inside, min_uv, max_uv, + color, buf); + buf += inside; + uv.x += (inside / swgl_StepSize) * uv_step.x; + } } - buf += inside; - uv.x += (inside / swgl_StepSize) * uv_step.x; } } // If the fallback filter was requested, or if there are any samples left that @@ -1019,7 +1029,7 @@ } LINEAR_QUANTIZE_UV(sampler0, uv0, uv_step0, uv_rect0, min_uv0, max_uv0); const auto rgb_from_ycbcr = - YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr); + YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr, rescaleFactor); auto c = packColor(buf, color); auto* end = buf + span; for (; buf < end; buf += swgl_StepSize, uv0 += uv_step0) { @@ -1070,7 +1080,7 @@ LINEAR_QUANTIZE_UV(sampler0, uv0, uv_step0, uv_rect0, min_uv0, max_uv0); LINEAR_QUANTIZE_UV(sampler1, uv1, uv_step1, uv_rect1, min_uv1, max_uv1); const auto rgb_from_ycbcr = - YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr); + YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr, rescaleFactor); auto c = packColor(buf, color); auto* end = buf + span; for (; buf < end; buf += swgl_StepSize, uv0 += uv_step0, uv1 += uv_step1) { @@ -1132,7 +1142,7 @@ const mat3_scalar& rgb_from_debiased_ycbcr, int rescaleFactor, C color) { const auto rgb_from_ycbcr = - YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr); + YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr, rescaleFactor); for (auto* end = buf + span; buf < end; buf += swgl_StepSize, uv0 += uv_step0, uv1 += uv_step1, uv2 += uv_step2) { commit_blend_span( @@ -1230,7 +1240,7 @@ (sampler0->format == TextureFormat::R16 ? 16 : 8) - rescaleFactor; // Finally, call the inner loop of CompositeYUV. const auto rgb_from_ycbcr = - YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr); + YUVMatrix::From(ycbcr_bias, rgb_from_debiased_ycbcr, rescaleFactor); linear_row_yuv( buf, inside * swgl_StepSize, sampler0, force_scalar(uv0), uv_step0.x / swgl_StepSize, sampler1, sampler2, force_scalar(uv1), diff -Nru thunderbird-91.8.0/gfx/wr/webrender/res/brush_yuv_image.glsl thunderbird-91.10.0/gfx/wr/webrender/res/brush_yuv_image.glsl --- thunderbird-91.8.0/gfx/wr/webrender/res/brush_yuv_image.glsl 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/gfx/wr/webrender/res/brush_yuv_image.glsl 2022-05-25 21:45:09.000000000 +0000 @@ -58,9 +58,6 @@ if (prim.channel_bit_depth > 8) { vRescaleFactor = 16 - prim.channel_bit_depth; } - // Since SWGL rescales filtered YUV values to 8bpc before yuv->rgb - // conversion, don't embed a 10bpc channel multiplier into the yuv matrix. - prim.channel_bit_depth = 8; #endif YuvColorMatrixInfo mat_info = get_rgb_from_ycbcr_info(prim); diff -Nru thunderbird-91.8.0/gfx/wr/webrender/res/composite.glsl thunderbird-91.10.0/gfx/wr/webrender/res/composite.glsl --- thunderbird-91.8.0/gfx/wr/webrender/res/composite.glsl 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/gfx/wr/webrender/res/composite.glsl 2022-05-25 21:45:09.000000000 +0000 @@ -96,9 +96,6 @@ if (prim.channel_bit_depth > 8) { vRescaleFactor = 16 - prim.channel_bit_depth; } - // Since SWGL rescales filtered YUV values to 8bpc before yuv->rgb - // conversion, don't embed a 10bpc channel multiplier into the yuv matrix. - prim.channel_bit_depth = 8; #endif YuvColorMatrixInfo mat_info = get_rgb_from_ycbcr_info(prim); diff -Nru thunderbird-91.8.0/js/src/builtin/Array.cpp thunderbird-91.10.0/js/src/builtin/Array.cpp --- thunderbird-91.8.0/js/src/builtin/Array.cpp 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/builtin/Array.cpp 2022-05-25 21:45:21.000000000 +0000 @@ -4243,3 +4243,35 @@ return SetLengthProperty(cx, obj, length); } + +bool js::intrinsic_newList(JSContext* cx, unsigned argc, js::Value* vp) { + CallArgs args = CallArgsFromVp(argc, vp); + MOZ_ASSERT(args.length() == 0); + + size_t length = 0; + gc::AllocKind allocKind = GuessArrayGCKind(length); + MOZ_ASSERT(CanChangeToBackgroundAllocKind(allocKind, &ArrayObject::class_)); + allocKind = ForegroundToBackgroundAllocKind(allocKind); + + /* + * Get a shape with zero fixed slots, regardless of the size class. + * See JSObject::createArray. + */ + RootedShape shape( + cx, SharedShape::getInitialShape(cx, &ArrayObject::class_, cx->realm(), + TaggedProto(), gc::AllocKind::OBJECT0)); + if (!shape) { + return false; + } + + gc::InitialHeap heap = gc::InitialHeap::DefaultHeap; + AutoSetNewObjectMetadata metadata(cx); + RootedArrayObject list(cx, ArrayObject::createArray(cx, allocKind, heap, + shape, length, metadata)); + if (!list || !AddLengthProperty(cx, list)) { + return false; + } + + args.rval().setObject(*list); + return true; +} diff -Nru thunderbird-91.8.0/js/src/builtin/Array.h thunderbird-91.10.0/js/src/builtin/Array.h --- thunderbird-91.8.0/js/src/builtin/Array.h 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/builtin/Array.h 2022-05-25 21:45:21.000000000 +0000 @@ -116,6 +116,8 @@ extern JSObject* ArraySliceDense(JSContext* cx, HandleObject obj, int32_t begin, int32_t end, HandleObject result); +extern bool intrinsic_newList(JSContext* cx, unsigned argc, js::Value* vp); + /* * Append the given (non-hole) value to the end of an array. The array must be * a newborn array -- that is, one which has not been exposed to script for diff -Nru thunderbird-91.8.0/js/src/builtin/Module.js thunderbird-91.10.0/js/src/builtin/Module.js --- thunderbird-91.8.0/js/src/builtin/Module.js 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/builtin/Module.js 2022-05-25 21:45:16.000000000 +0000 @@ -14,7 +14,7 @@ // https://tc39.es/ecma262/#sec-getexportednames // ES2020 15.2.1.17.2 GetExportedNames -function ModuleGetExportedNames(exportStarSet = []) +function ModuleGetExportedNames(exportStarSet = new_List()) { if (!IsObject(this) || !IsModule(this)) { return callFunction(CallModuleMethodIfWrapped, this, exportStarSet, @@ -26,13 +26,13 @@ // Step 4 if (callFunction(ArrayIncludes, exportStarSet, module)) - return []; + return new_List(); // Step 5 DefineDataProperty(exportStarSet, exportStarSet.length, module); // Step 6 - let exportedNames = []; + let exportedNames = new_List(); let namesCount = 0; // Step 7 @@ -99,7 +99,7 @@ // - If the request is found to be ambiguous, the string `"ambiguous"` is // returned. // -function ModuleResolveExport(exportName, resolveSet = []) +function ModuleResolveExport(exportName, resolveSet = new_List()) { assert(typeof exportName === "string", "ModuleResolveExport"); @@ -206,7 +206,7 @@ // Step 4 if (typeof namespace === "undefined") { let exportedNames = callFunction(module.getExportedNames, module); - let unambiguousNames = []; + let unambiguousNames = new_List(); for (let i = 0; i < exportedNames.length; i++) { let name = exportedNames[i]; let resolution = callFunction(module.resolveExport, module, name); @@ -312,7 +312,7 @@ } // Step 3 - let stack = []; + let stack = new_List(); // Steps 4-5 try { @@ -606,7 +606,7 @@ } // Step 4 - let stack = []; + let stack = new_List(); // Steps 5-6 try { @@ -769,7 +769,7 @@ } // https://tc39.es/proposal-top-level-await/#sec-gather-async-parent-completions -function GatherAsyncParentCompletions(module, execList = []) { +function GatherAsyncParentCompletions(module, execList = new_List()) { assert(module.status == MODULE_STATUS_EVALUATED, "bad status for async module"); // Step 5. @@ -809,4 +809,3 @@ ExecuteModule(module); } - diff -Nru thunderbird-91.8.0/js/src/builtin/RegExp.js thunderbird-91.10.0/js/src/builtin/RegExp.js --- thunderbird-91.8.0/js/src/builtin/RegExp.js 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/builtin/RegExp.js 2022-05-25 21:45:21.000000000 +0000 @@ -349,7 +349,7 @@ } // Step 9. - var results = []; + var results = new_List(); var nResults = 0; // Step 11. @@ -456,7 +456,7 @@ functionalReplace, firstDollarIndex) { // Step 14.h. - var captures = []; + var captures = new_List(); var capturesLength = 0; // Step 14.k.i (reordered). @@ -546,7 +546,7 @@ } // Steps 14.g-i, 14.k.i-ii. - var captures = []; + var captures = new_List(); for (var n = 0; n <= nCaptures; n++) { assert(typeof result[n] === "string" || result[n] === undefined, "RegExpMatcher returns only strings and undefined"); diff -Nru thunderbird-91.8.0/js/src/builtin/Utilities.js thunderbird-91.10.0/js/src/builtin/Utilities.js --- thunderbird-91.8.0/js/src/builtin/Utilities.js 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/builtin/Utilities.js 2022-05-25 21:45:16.000000000 +0000 @@ -27,16 +27,7 @@ // code are installed via the std_functions JSFunctionSpec[] in // SelfHosting.cpp. -/********** List / Record specification types **********/ - -// A "List" is an internal type used in the ECMAScript spec to define a simple -// ordered list of values. It is never exposed to user script, but we use a -// simple Object (with null prototype) as a convenient implementation. -// -// NOTE: This does not track a `length` field. -function new_List() { - return std_Object_create(null); -} +/********** Specification types **********/ // A "Record" is an internal type used in the ECMAScript spec to define a struct diff -Nru thunderbird-91.8.0/js/src/ds/InlineTable.h thunderbird-91.10.0/js/src/ds/InlineTable.h --- thunderbird-91.8.0/js/src/ds/InlineTable.h 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/ds/InlineTable.h 2022-05-25 21:45:28.000000000 +0000 @@ -94,7 +94,7 @@ [[nodiscard]] bool switchToTable() { MOZ_ASSERT(inlNext_ == InlineEntries); - table_.clear(); + table_.clearAndCompact(); InlineEntry* end = inlineEnd(); for (InlineEntry* it = inlineStart(); it != end; ++it) { diff -Nru thunderbird-91.8.0/js/src/jit/arm64/CodeGenerator-arm64.cpp thunderbird-91.10.0/js/src/jit/arm64/CodeGenerator-arm64.cpp --- thunderbird-91.8.0/js/src/jit/arm64/CodeGenerator-arm64.cpp 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/jit/arm64/CodeGenerator-arm64.cpp 2022-05-25 21:45:16.000000000 +0000 @@ -2489,7 +2489,14 @@ } // Act on flag. - Assembler::Condition cond = JSOpToCondition(ins->compareType(), ins->jsop()); + Assembler::Condition cond; + if (compTy == MCompare::Compare_Float32 || + compTy == MCompare::Compare_Double) { + cond = Assembler::ConditionFromDoubleCondition( + JSOpToDoubleCondition(ins->jsop())); + } else { + cond = JSOpToCondition(compTy, ins->jsop()); + } MIRType insTy = ins->mir()->type(); if (insTy == MIRType::Int32) { Register outReg = ToRegister(ins->output()); diff -Nru thunderbird-91.8.0/js/src/jit/arm64/Lowering-arm64.cpp thunderbird-91.10.0/js/src/jit/arm64/Lowering-arm64.cpp --- thunderbird-91.8.0/js/src/jit/arm64/Lowering-arm64.cpp 2022-04-01 22:08:15.000000000 +0000 +++ thunderbird-91.10.0/js/src/jit/arm64/Lowering-arm64.cpp 2022-05-25 21:45:28.000000000 +0000 @@ -960,8 +960,12 @@ } lir->setOperand(0, useRegisterAtStart(lhs)); - lir->setOperand(1, useRegisterAtStart(rhs)); - define(lir, ins); + lir->setOperand(1, willHaveDifferentLIRNodes(lhs, rhs) + ? useRegister(rhs) + : useRegisterAtStart(rhs)); + // The copySignDouble and copySignFloat32 are optimized for lhs == output. + // It also prevents rhs == output when lhs != output, avoids clobbering. + defineReuseInput(lir, ins, 0); } void LIRGenerator::visitExtendInt32ToInt64(MExtendInt32ToInt64* ins) { diff -Nru thunderbird-91.8.0/js/src/vm/SelfHosting.cpp thunderbird-91.10.0/js/src/vm/SelfHosting.cpp --- thunderbird-91.8.0/js/src/vm/SelfHosting.cpp 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/js/src/vm/SelfHosting.cpp 2022-05-25 21:45:21.000000000 +0000 @@ -2386,7 +2386,7 @@ JS_INLINABLE_FN("UnsafeSetReservedSlot", intrinsic_UnsafeSetReservedSlot, 3, 0, IntrinsicUnsafeSetReservedSlot), - // Intrinsics and standard functions used by Intl API implementation. +// Intrinsics and standard functions used by Intl API implementation. #ifdef JS_HAS_INTL_API JS_FN("intl_BestAvailableLocale", intl_BestAvailableLocale, 3, 0), JS_FN("intl_CallCollatorMethodIfWrapped", @@ -2476,6 +2476,7 @@ #endif // JS_HAS_INTL_API // Standard builtins used by self-hosting. + JS_FN("new_List", intrinsic_newList, 0, 0), JS_INLINABLE_FN("std_Array", array_construct, 1, 0, Array), JS_INLINABLE_FN("std_Array_pop", array_pop, 0, 0, ArrayPop), JS_INLINABLE_FN("std_Array_push", array_push, 1, 0, ArrayPush), diff -Nru thunderbird-91.8.0/media/libopus/README_MOZILLA thunderbird-91.10.0/media/libopus/README_MOZILLA --- thunderbird-91.8.0/media/libopus/README_MOZILLA 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/README_MOZILLA 2022-05-25 21:47:01.000000000 +0000 @@ -8,4 +8,4 @@ The upstream repository is https://git.xiph.org/opus.git -The git tag/revision used was v1.3-rc-19-g5cbd7d5f. +The git tag/revision used was 2654707e86cc94413998976d179b2ab4a2aa3114. diff -Nru thunderbird-91.8.0/media/libopus/celt/arch.h thunderbird-91.10.0/media/libopus/celt/arch.h --- thunderbird-91.8.0/media/libopus/celt/arch.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/arch.h 2022-05-25 21:46:12.000000000 +0000 @@ -73,6 +73,9 @@ void celt_fatal(const char *str, const char *file, int line) { fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str); +#if defined(_MSC_VER) + _set_abort_behavior( 0, _WRITE_ABORT_MSG); +#endif abort(); } #endif @@ -160,7 +163,7 @@ #ifdef OPUS_ARM_PRESUME_AARCH64_NEON_INTR #include "arm/fixed_arm64.h" -#elif OPUS_ARM_INLINE_EDSP +#elif defined (OPUS_ARM_INLINE_EDSP) #include "arm/fixed_armv5e.h" #elif defined (OPUS_ARM_INLINE_ASM) #include "arm/fixed_armv4.h" diff -Nru thunderbird-91.8.0/media/libopus/celt/arm/armcpu.c thunderbird-91.10.0/media/libopus/celt/arm/armcpu.c --- thunderbird-91.8.0/media/libopus/celt/arm/armcpu.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/arm/armcpu.c 2022-05-25 21:45:48.000000000 +0000 @@ -93,6 +93,8 @@ #elif defined(__linux__) /* Linux based */ +#include + opus_uint32 opus_cpu_capabilities(void) { opus_uint32 flags = 0; diff -Nru thunderbird-91.8.0/media/libopus/celt/arm/celt_ne10_fft.c thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_fft.c --- thunderbird-91.8.0/media/libopus/celt/arm/celt_ne10_fft.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_fft.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,173 +0,0 @@ -/* Copyright (c) 2015 Xiph.Org Foundation - Written by Viswanath Puttagunta */ -/** - @file celt_ne10_fft.c - @brief ARM Neon optimizations for fft using NE10 library - */ - -/* - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef SKIP_CONFIG_H -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#endif - -#include -#include "os_support.h" -#include "kiss_fft.h" -#include "stack_alloc.h" - -#if !defined(FIXED_POINT) -# define NE10_FFT_ALLOC_C2C_TYPE_NEON ne10_fft_alloc_c2c_float32_neon -# define NE10_FFT_CFG_TYPE_T ne10_fft_cfg_float32_t -# define NE10_FFT_STATE_TYPE_T ne10_fft_state_float32_t -# define NE10_FFT_DESTROY_C2C_TYPE ne10_fft_destroy_c2c_float32 -# define NE10_FFT_CPX_TYPE_T ne10_fft_cpx_float32_t -# define NE10_FFT_C2C_1D_TYPE_NEON ne10_fft_c2c_1d_float32_neon -#else -# define NE10_FFT_ALLOC_C2C_TYPE_NEON(nfft) ne10_fft_alloc_c2c_int32_neon(nfft) -# define NE10_FFT_CFG_TYPE_T ne10_fft_cfg_int32_t -# define NE10_FFT_STATE_TYPE_T ne10_fft_state_int32_t -# define NE10_FFT_DESTROY_C2C_TYPE ne10_fft_destroy_c2c_int32 -# define NE10_FFT_DESTROY_C2C_TYPE ne10_fft_destroy_c2c_int32 -# define NE10_FFT_CPX_TYPE_T ne10_fft_cpx_int32_t -# define NE10_FFT_C2C_1D_TYPE_NEON ne10_fft_c2c_1d_int32_neon -#endif - -#if defined(CUSTOM_MODES) - -/* nfft lengths in NE10 that support scaled fft */ -# define NE10_FFTSCALED_SUPPORT_MAX 4 -static const int ne10_fft_scaled_support[NE10_FFTSCALED_SUPPORT_MAX] = { - 480, 240, 120, 60 -}; - -int opus_fft_alloc_arm_neon(kiss_fft_state *st) -{ - int i; - size_t memneeded = sizeof(struct arch_fft_state); - - st->arch_fft = (arch_fft_state *)opus_alloc(memneeded); - if (!st->arch_fft) - return -1; - - for (i = 0; i < NE10_FFTSCALED_SUPPORT_MAX; i++) { - if(st->nfft == ne10_fft_scaled_support[i]) - break; - } - if (i == NE10_FFTSCALED_SUPPORT_MAX) { - /* This nfft length (scaled fft) is not supported in NE10 */ - st->arch_fft->is_supported = 0; - st->arch_fft->priv = NULL; - } - else { - st->arch_fft->is_supported = 1; - st->arch_fft->priv = (void *)NE10_FFT_ALLOC_C2C_TYPE_NEON(st->nfft); - if (st->arch_fft->priv == NULL) { - return -1; - } - } - return 0; -} - -void opus_fft_free_arm_neon(kiss_fft_state *st) -{ - NE10_FFT_CFG_TYPE_T cfg; - - if (!st->arch_fft) - return; - - cfg = (NE10_FFT_CFG_TYPE_T)st->arch_fft->priv; - if (cfg) - NE10_FFT_DESTROY_C2C_TYPE(cfg); - opus_free(st->arch_fft); -} -#endif - -void opus_fft_neon(const kiss_fft_state *st, - const kiss_fft_cpx *fin, - kiss_fft_cpx *fout) -{ - NE10_FFT_STATE_TYPE_T state; - NE10_FFT_CFG_TYPE_T cfg = &state; - VARDECL(NE10_FFT_CPX_TYPE_T, buffer); - SAVE_STACK; - ALLOC(buffer, st->nfft, NE10_FFT_CPX_TYPE_T); - - if (!st->arch_fft->is_supported) { - /* This nfft length (scaled fft) not supported in NE10 */ - opus_fft_c(st, fin, fout); - } - else { - memcpy((void *)cfg, st->arch_fft->priv, sizeof(NE10_FFT_STATE_TYPE_T)); - state.buffer = (NE10_FFT_CPX_TYPE_T *)&buffer[0]; -#if !defined(FIXED_POINT) - state.is_forward_scaled = 1; - - NE10_FFT_C2C_1D_TYPE_NEON((NE10_FFT_CPX_TYPE_T *)fout, - (NE10_FFT_CPX_TYPE_T *)fin, - cfg, 0); -#else - NE10_FFT_C2C_1D_TYPE_NEON((NE10_FFT_CPX_TYPE_T *)fout, - (NE10_FFT_CPX_TYPE_T *)fin, - cfg, 0, 1); -#endif - } - RESTORE_STACK; -} - -void opus_ifft_neon(const kiss_fft_state *st, - const kiss_fft_cpx *fin, - kiss_fft_cpx *fout) -{ - NE10_FFT_STATE_TYPE_T state; - NE10_FFT_CFG_TYPE_T cfg = &state; - VARDECL(NE10_FFT_CPX_TYPE_T, buffer); - SAVE_STACK; - ALLOC(buffer, st->nfft, NE10_FFT_CPX_TYPE_T); - - if (!st->arch_fft->is_supported) { - /* This nfft length (scaled fft) not supported in NE10 */ - opus_ifft_c(st, fin, fout); - } - else { - memcpy((void *)cfg, st->arch_fft->priv, sizeof(NE10_FFT_STATE_TYPE_T)); - state.buffer = (NE10_FFT_CPX_TYPE_T *)&buffer[0]; -#if !defined(FIXED_POINT) - state.is_backward_scaled = 0; - - NE10_FFT_C2C_1D_TYPE_NEON((NE10_FFT_CPX_TYPE_T *)fout, - (NE10_FFT_CPX_TYPE_T *)fin, - cfg, 1); -#else - NE10_FFT_C2C_1D_TYPE_NEON((NE10_FFT_CPX_TYPE_T *)fout, - (NE10_FFT_CPX_TYPE_T *)fin, - cfg, 1, 0); -#endif - } - RESTORE_STACK; -} diff -Nru thunderbird-91.8.0/media/libopus/celt/arm/celt_ne10_mdct.c thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_mdct.c --- thunderbird-91.8.0/media/libopus/celt/arm/celt_ne10_mdct.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/arm/celt_ne10_mdct.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,258 +0,0 @@ -/* Copyright (c) 2015 Xiph.Org Foundation - Written by Viswanath Puttagunta */ -/** - @file celt_ne10_mdct.c - @brief ARM Neon optimizations for mdct using NE10 library - */ - -/* - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef SKIP_CONFIG_H -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#endif - -#include "kiss_fft.h" -#include "_kiss_fft_guts.h" -#include "mdct.h" -#include "stack_alloc.h" - -void clt_mdct_forward_neon(const mdct_lookup *l, - kiss_fft_scalar *in, - kiss_fft_scalar * OPUS_RESTRICT out, - const opus_val16 *window, - int overlap, int shift, int stride, int arch) -{ - int i; - int N, N2, N4; - VARDECL(kiss_fft_scalar, f); - VARDECL(kiss_fft_cpx, f2); - const kiss_fft_state *st = l->kfft[shift]; - const kiss_twiddle_scalar *trig; - - SAVE_STACK; - - N = l->n; - trig = l->trig; - for (i=0;i>= 1; - trig += N; - } - N2 = N>>1; - N4 = N>>2; - - ALLOC(f, N2, kiss_fft_scalar); - ALLOC(f2, N4, kiss_fft_cpx); - - /* Consider the input to be composed of four blocks: [a, b, c, d] */ - /* Window, shuffle, fold */ - { - /* Temp pointers to make it really clear to the compiler what we're doing */ - const kiss_fft_scalar * OPUS_RESTRICT xp1 = in+(overlap>>1); - const kiss_fft_scalar * OPUS_RESTRICT xp2 = in+N2-1+(overlap>>1); - kiss_fft_scalar * OPUS_RESTRICT yp = f; - const opus_val16 * OPUS_RESTRICT wp1 = window+(overlap>>1); - const opus_val16 * OPUS_RESTRICT wp2 = window+(overlap>>1)-1; - for(i=0;i<((overlap+3)>>2);i++) - { - /* Real part arranged as -d-cR, Imag part arranged as -b+aR*/ - *yp++ = MULT16_32_Q15(*wp2, xp1[N2]) + MULT16_32_Q15(*wp1,*xp2); - *yp++ = MULT16_32_Q15(*wp1, *xp1) - MULT16_32_Q15(*wp2, xp2[-N2]); - xp1+=2; - xp2-=2; - wp1+=2; - wp2-=2; - } - wp1 = window; - wp2 = window+overlap-1; - for(;i>2);i++) - { - /* Real part arranged as a-bR, Imag part arranged as -c-dR */ - *yp++ = *xp2; - *yp++ = *xp1; - xp1+=2; - xp2-=2; - } - for(;ii,t[N4+i]) - S_MUL(fp->r,t[i]); - yi = S_MUL(fp->r,t[N4+i]) + S_MUL(fp->i,t[i]); - *yp1 = yr; - *yp2 = yi; - fp++; - yp1 += 2*stride; - yp2 -= 2*stride; - } - } - RESTORE_STACK; -} - -void clt_mdct_backward_neon(const mdct_lookup *l, - kiss_fft_scalar *in, - kiss_fft_scalar * OPUS_RESTRICT out, - const opus_val16 * OPUS_RESTRICT window, - int overlap, int shift, int stride, int arch) -{ - int i; - int N, N2, N4; - VARDECL(kiss_fft_scalar, f); - const kiss_twiddle_scalar *trig; - const kiss_fft_state *st = l->kfft[shift]; - - N = l->n; - trig = l->trig; - for (i=0;i>= 1; - trig += N; - } - N2 = N>>1; - N4 = N>>2; - - ALLOC(f, N2, kiss_fft_scalar); - - /* Pre-rotate */ - { - /* Temp pointers to make it really clear to the compiler what we're doing */ - const kiss_fft_scalar * OPUS_RESTRICT xp1 = in; - const kiss_fft_scalar * OPUS_RESTRICT xp2 = in+stride*(N2-1); - kiss_fft_scalar * OPUS_RESTRICT yp = f; - const kiss_twiddle_scalar * OPUS_RESTRICT t = &trig[0]; - for(i=0;i>1)), arch); - - /* Post-rotate and de-shuffle from both ends of the buffer at once to make - it in-place. */ - { - kiss_fft_scalar * yp0 = out+(overlap>>1); - kiss_fft_scalar * yp1 = out+(overlap>>1)+N2-2; - const kiss_twiddle_scalar *t = &trig[0]; - /* Loop to (N4+1)>>1 to handle odd N4. When N4 is odd, the - middle pair will be computed twice. */ - for(i=0;i<(N4+1)>>1;i++) - { - kiss_fft_scalar re, im, yr, yi; - kiss_twiddle_scalar t0, t1; - re = yp0[0]; - im = yp0[1]; - t0 = t[i]; - t1 = t[N4+i]; - /* We'd scale up by 2 here, but instead it's done when mixing the windows */ - yr = S_MUL(re,t0) + S_MUL(im,t1); - yi = S_MUL(re,t1) - S_MUL(im,t0); - re = yp1[0]; - im = yp1[1]; - yp0[0] = yr; - yp1[1] = yi; - - t0 = t[(N4-i-1)]; - t1 = t[(N2-i-1)]; - /* We'd scale up by 2 here, but instead it's done when mixing the windows */ - yr = S_MUL(re,t0) + S_MUL(im,t1); - yi = S_MUL(re,t1) - S_MUL(im,t0); - yp1[0] = yr; - yp0[1] = yi; - yp0 += 2; - yp1 -= 2; - } - } - - /* Mirror on both sides for TDAC */ - { - kiss_fft_scalar * OPUS_RESTRICT xp1 = out+overlap-1; - kiss_fft_scalar * OPUS_RESTRICT yp1 = out; - const opus_val16 * OPUS_RESTRICT wp1 = window; - const opus_val16 * OPUS_RESTRICT wp2 = window+overlap-1; - - for(i = 0; i < overlap/2; i++) - { - kiss_fft_scalar x1, x2; - x1 = *xp1; - x2 = *yp1; - *yp1++ = MULT16_32_Q15(*wp2, x2) - MULT16_32_Q15(*wp1, x1); - *xp1-- = MULT16_32_Q15(*wp1, x2) + MULT16_32_Q15(*wp2, x1); - wp1++; - wp2--; - } - } - RESTORE_STACK; -} diff -Nru thunderbird-91.8.0/media/libopus/celt/bands.c thunderbird-91.10.0/media/libopus/celt/bands.c --- thunderbird-91.8.0/media/libopus/celt/bands.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/bands.c 2022-05-25 21:46:20.000000000 +0000 @@ -371,14 +371,14 @@ static void compute_channel_weights(celt_ener Ex, celt_ener Ey, opus_val16 w[2]) { celt_ener minE; -#if FIXED_POINT +#ifdef FIXED_POINT int shift; #endif minE = MIN32(Ex, Ey); /* Adjustment to make the weights a bit more conservative. */ Ex = ADD32(Ex, minE/3); Ey = ADD32(Ey, minE/3); -#if FIXED_POINT +#ifdef FIXED_POINT shift = celt_ilog2(EPSILON+MAX32(Ex, Ey))-14; #endif w[0] = VSHR32(Ex, shift); @@ -901,7 +901,7 @@ sctx->itheta = itheta; sctx->qalloc = qalloc; } -static unsigned quant_band_n1(struct band_ctx *ctx, celt_norm *X, celt_norm *Y, int b, +static unsigned quant_band_n1(struct band_ctx *ctx, celt_norm *X, celt_norm *Y, celt_norm *lowband_out) { int c; @@ -926,7 +926,6 @@ sign = ec_dec_bits(ec, 1); } ctx->remaining_bits -= 1<resynth) x[0] = sign ? -NORM_SCALING : NORM_SCALING; @@ -1134,7 +1133,7 @@ /* Special case for one sample */ if (N==1) { - return quant_band_n1(ctx, X, NULL, b, lowband_out); + return quant_band_n1(ctx, X, NULL, lowband_out); } if (tf_change>0) @@ -1256,7 +1255,7 @@ /* Special case for one sample */ if (N==1) { - return quant_band_n1(ctx, X, Y, b, lowband_out); + return quant_band_n1(ctx, X, Y, lowband_out); } orig_fill = fill; diff -Nru thunderbird-91.8.0/media/libopus/celt/celt_decoder.c thunderbird-91.10.0/media/libopus/celt/celt_decoder.c --- thunderbird-91.8.0/media/libopus/celt/celt_decoder.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/celt_decoder.c 2022-05-25 21:47:14.000000000 +0000 @@ -117,13 +117,19 @@ #ifndef CUSTOM_MODES celt_assert(st->mode == opus_custom_mode_create(48000, 960, NULL)); celt_assert(st->overlap == 120); + celt_assert(st->end <= 21); +#else +/* From Section 4.3 in the spec: "The normal CELT layer uses 21 of those bands, + though Opus Custom (see Section 6.2) may use a different number of bands" + + Check if it's within the maximum number of Bark frequency bands instead */ + celt_assert(st->end <= 25); #endif celt_assert(st->channels == 1 || st->channels == 2); celt_assert(st->stream_channels == 1 || st->stream_channels == 2); celt_assert(st->downsample > 0); celt_assert(st->start == 0 || st->start == 17); celt_assert(st->start < st->end); - celt_assert(st->end <= 21); #ifdef OPUS_ARCHMASK celt_assert(st->arch >= 0); celt_assert(st->arch <= OPUS_ARCHMASK); @@ -1059,7 +1065,7 @@ ALLOC(pulses, nbEBands, int); ALLOC(fine_priority, nbEBands, int); - codedBands = compute_allocation(mode, start, end, offsets, cap, + codedBands = clt_compute_allocation(mode, start, end, offsets, cap, alloc_trim, &intensity, &dual_stereo, bits, &balance, pulses, fine_quant, fine_priority, C, LM, dec, 0, 0, 0); diff -Nru thunderbird-91.8.0/media/libopus/celt/celt_encoder.c thunderbird-91.10.0/media/libopus/celt/celt_encoder.c --- thunderbird-91.8.0/media/libopus/celt/celt_encoder.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/celt_encoder.c 2022-05-25 21:45:33.000000000 +0000 @@ -1571,7 +1571,7 @@ (tmp+4*mode->Fs)/(8*mode->Fs)-!!st->signalling)); effectiveBytes = nbCompressedBytes - nbFilledBytes; } - equiv_rate = ((opus_int32)nbCompressedBytes*8*50 >> (3-LM)) - (40*C+20)*((400>>LM) - 50); + equiv_rate = ((opus_int32)nbCompressedBytes*8*50 << (3-LM)) - (40*C+20)*((400>>LM) - 50); if (st->bitrate != OPUS_BITRATE_MAX) equiv_rate = IMIN(equiv_rate, st->bitrate - (40*C+20)*((400>>LM) - 50)); @@ -2191,7 +2191,7 @@ #endif if (st->lfe) signalBandwidth = 1; - codedBands = compute_allocation(mode, start, end, offsets, cap, + codedBands = clt_compute_allocation(mode, start, end, offsets, cap, alloc_trim, &st->intensity, &dual_stereo, bits, &balance, pulses, fine_quant, fine_priority, C, LM, enc, 1, st->lastCodedBands, signalBandwidth); if (st->lastCodedBands) diff -Nru thunderbird-91.8.0/media/libopus/celt/celt_lpc.c thunderbird-91.10.0/media/libopus/celt/celt_lpc.c --- thunderbird-91.8.0/media/libopus/celt/celt_lpc.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/celt_lpc.c 2022-05-25 21:46:55.000000000 +0000 @@ -50,17 +50,21 @@ #endif OPUS_CLEAR(lpc, p); +#ifdef FIXED_POINT if (ac[0] != 0) +#else + if (ac[0] > 1e-10f) +#endif { for (i = 0; i < p; i++) { /* Sum up this iteration's reflection coefficient */ opus_val32 rr = 0; for (j = 0; j < i; j++) rr += MULT32_32_Q31(lpc[j],ac[i - j]); - rr += SHR32(ac[i + 1],3); - r = -frac_div32(SHL32(rr,3), error); + rr += SHR32(ac[i + 1],6); + r = -frac_div32(SHL32(rr,6), error); /* Update LPC coefficients and total error */ - lpc[i] = SHR32(r,3); + lpc[i] = SHR32(r,6); for (j = 0; j < (i+1)>>1; j++) { opus_val32 tmp1, tmp2; @@ -73,17 +77,61 @@ error = error - MULT32_32_Q31(MULT32_32_Q31(r,r),error); /* Bail out once we get 30 dB gain */ #ifdef FIXED_POINT - if (error maxabs) { + maxabs = absval; + idx = i; + } + } + maxabs = PSHR32(maxabs, 13); /* Q25->Q12 */ + + if (maxabs > 32767) { + maxabs = MIN32(maxabs, 163838); + chirp_Q16 = QCONST32(0.999, 16) - DIV32(SHL32(maxabs - 32767, 14), + SHR32(MULT32_32_32(maxabs, idx + 1), 2)); + chirp_minus_one_Q16 = chirp_Q16 - 65536; + + /* Apply bandwidth expansion. */ + for (i = 0; i < p - 1; i++) { + lpc[i] = MULT32_32_Q16(chirp_Q16, lpc[i]); + chirp_Q16 += PSHR32(MULT32_32_32(chirp_Q16, chirp_minus_one_Q16), 16); + } + lpc[p - 1] = MULT32_32_Q16(chirp_Q16, lpc[p - 1]); + } else { + break; + } + } + + if (iter == 10) { + /* If the coeffs still do not fit into the 16 bit range after 10 iterations, + fall back to the A(z)=1 filter. */ + OPUS_CLEAR(lpc, p); + _lpc[0] = 4096; /* Q12 */ + } else { + for (i = 0; i < p; i++) { + _lpc[i] = EXTRACT16(PSHR32(lpc[i], 13)); /* Q25->Q12 */ + } + } + } #endif } diff -Nru thunderbird-91.8.0/media/libopus/celt/ecintrin.h thunderbird-91.10.0/media/libopus/celt/ecintrin.h --- thunderbird-91.8.0/media/libopus/celt/ecintrin.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/ecintrin.h 2022-05-25 21:47:01.000000000 +0000 @@ -49,7 +49,11 @@ This macro should only be used for implementing ec_ilog(), if it is defined. All other code should use EC_ILOG() instead.*/ #if defined(_MSC_VER) && (_MSC_VER >= 1400) +#if defined(_MSC_VER) && (_MSC_VER >= 1910) +# include /* Improve compiler throughput. */ +#else # include +#endif /*In _DEBUG mode this is not an intrinsic by default.*/ # pragma intrinsic(_BitScanReverse) diff -Nru thunderbird-91.8.0/media/libopus/celt/fixed_debug.h thunderbird-91.10.0/media/libopus/celt/fixed_debug.h --- thunderbird-91.8.0/media/libopus/celt/fixed_debug.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/fixed_debug.h 2022-05-25 21:47:01.000000000 +0000 @@ -410,6 +410,51 @@ return res; } +/* result fits in 32 bits */ +static OPUS_INLINE int MULT32_32_32(opus_int64 a, opus_int64 b) +{ + opus_int64 res; + if (!VERIFY_INT(a) || !VERIFY_INT(b)) + { + fprintf (stderr, "MULT32_32_32: inputs are not int: %d %d\n", a, b); +#ifdef FIXED_DEBUG_ASSERT + celt_assert(0); +#endif + } + res = a*b; + if (!VERIFY_INT(res)) + { + fprintf (stderr, "MULT32_32_32: output is not int: %d\n", res); +#ifdef FIXED_DEBUG_ASSERT + celt_assert(0); +#endif + } + celt_mips+=5; + return res; +} + +static OPUS_INLINE int MULT32_32_Q16(opus_int64 a, opus_int64 b) +{ + opus_int64 res; + if (!VERIFY_INT(a) || !VERIFY_INT(b)) + { + fprintf (stderr, "MULT32_32_Q16: inputs are not int: %d %d\n", a, b); +#ifdef FIXED_DEBUG_ASSERT + celt_assert(0); +#endif + } + res = ((opus_int64)(a)*(opus_int64)(b)) >> 16; + if (!VERIFY_INT(res)) + { + fprintf (stderr, "MULT32_32_Q16: output is not int: %d*%d=%d\n", a, b, (int)res); +#ifdef FIXED_DEBUG_ASSERT + celt_assert(0); +#endif + } + celt_mips+=5; + return res; +} + #define MULT16_16(a, b) MULT16_16_(a, b, __FILE__, __LINE__) static OPUS_INLINE int MULT16_16_(int a, int b, char *file, int line) { diff -Nru thunderbird-91.8.0/media/libopus/celt/fixed_generic.h thunderbird-91.10.0/media/libopus/celt/fixed_generic.h --- thunderbird-91.8.0/media/libopus/celt/fixed_generic.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/fixed_generic.h 2022-05-25 21:45:33.000000000 +0000 @@ -57,6 +57,13 @@ #define MULT16_32_Q15(a,b) ADD32(SHL(MULT16_16((a),SHR((b),16)),1), SHR(MULT16_16SU((a),((b)&0x0000ffff)),15)) #endif +/** 32x32 multiplication, followed by a 16-bit shift right. Results fits in 32 bits */ +#if OPUS_FAST_INT64 +#define MULT32_32_Q16(a,b) ((opus_val32)SHR((opus_int64)(a)*(opus_int64)(b),16)) +#else +#define MULT32_32_Q16(a,b) (ADD32(ADD32(ADD32((opus_val32)(SHR32(((opus_uint32)((a)&0x0000ffff)*(opus_uint32)((b)&0x0000ffff)),16)), MULT16_16SU(SHR32(a,16),((b)&0x0000ffff))), MULT16_16SU(SHR32(b,16),((a)&0x0000ffff))), SHL32(MULT16_16(SHR32(a,16),SHR32(b,16)),16))) +#endif + /** 32x32 multiplication, followed by a 31-bit shift right. Results fits in 32 bits */ #if OPUS_FAST_INT64 #define MULT32_32_Q31(a,b) ((opus_val32)SHR((opus_int64)(a)*(opus_int64)(b),31)) @@ -102,9 +109,9 @@ #define SATURATE16(x) (EXTRACT16((x)>32767 ? 32767 : (x)<-32768 ? -32768 : (x))) -/** Shift by a and round-to-neareast 32-bit value. Result is a 16-bit value */ +/** Shift by a and round-to-nearest 32-bit value. Result is a 16-bit value */ #define ROUND16(x,a) (EXTRACT16(PSHR32((x),(a)))) -/** Shift by a and round-to-neareast 32-bit value. Result is a saturated 16-bit value */ +/** Shift by a and round-to-nearest 32-bit value. Result is a saturated 16-bit value */ #define SROUND16(x,a) EXTRACT16(SATURATE(PSHR32(x,a), 32767)); /** Divide by two */ @@ -131,6 +138,9 @@ /** 16x16 multiplication where the result fits in 16 bits */ #define MULT16_16_16(a,b) ((((opus_val16)(a))*((opus_val16)(b)))) +/** 32x32 multiplication where the result fits in 32 bits */ +#define MULT32_32_32(a,b) ((((opus_val32)(a))*((opus_val32)(b)))) + /* (opus_val32)(opus_val16) gives TI compiler a hint that it's 16x16->32 multiply */ /** 16x16 multiplication where the result fits in 32 bits */ #define MULT16_16(a,b) (((opus_val32)(opus_val16)(a))*((opus_val32)(opus_val16)(b))) diff -Nru thunderbird-91.8.0/media/libopus/celt/float_cast.h thunderbird-91.10.0/media/libopus/celt/float_cast.h --- thunderbird-91.8.0/media/libopus/celt/float_cast.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/float_cast.h 2022-05-25 21:47:14.000000000 +0000 @@ -67,6 +67,38 @@ #include static OPUS_INLINE opus_int32 float2int(float x) {return _mm_cvt_ss2si(_mm_set_ss(x));} +#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 1)) + + #include + static OPUS_INLINE opus_int32 float2int(float value) + { + /* _mm_load_ss will generate same code as _mm_set_ss + ** in _MSC_VER >= 1914 /02 so keep __mm_load__ss + ** for backward compatibility. + */ + return _mm_cvtss_si32(_mm_load_ss(&value)); + } + +#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && defined (_M_IX86) + + #include + + /* Win32 doesn't seem to have these functions. + ** Therefore implement OPUS_INLINE versions of these functions here. + */ + + static OPUS_INLINE opus_int32 + float2int (float flt) + { int intgr; + + _asm + { fld flt + fistp intgr + } ; + + return intgr ; + } + #elif defined(HAVE_LRINTF) /* These defines enable functionality introduced with the 1999 ISO C @@ -96,32 +128,6 @@ #include #define float2int(x) lrint(x) -#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && defined (_M_X64) - #include - - __inline long int float2int(float value) - { - return _mm_cvtss_si32(_mm_load_ss(&value)); - } -#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && defined (_M_IX86) - #include - - /* Win32 doesn't seem to have these functions. - ** Therefore implement OPUS_INLINE versions of these functions here. - */ - - __inline long int - float2int (float flt) - { int intgr; - - _asm - { fld flt - fistp intgr - } ; - - return intgr ; - } - #else #if (defined(__GNUC__) && defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) diff -Nru thunderbird-91.8.0/media/libopus/celt/mathops.h thunderbird-91.10.0/media/libopus/celt/mathops.h --- thunderbird-91.8.0/media/libopus/celt/mathops.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/mathops.h 2022-05-25 21:47:01.000000000 +0000 @@ -137,7 +137,7 @@ } in; in.f = x; integer = (in.i>>23)-127; - in.i -= integer<<23; + in.i -= (opus_uint32)integer<<23; frac = in.f - 1.5f; frac = -0.41445418f + frac*(0.95909232f + frac*(-0.33951290f + frac*0.16541097f)); @@ -160,7 +160,7 @@ /* K0 = 1, K1 = log(2), K2 = 3-4*log(2), K3 = 3*log(2) - 2 */ res.f = 0.99992522f + frac * (0.69583354f + frac * (0.22606716f + 0.078024523f*frac)); - res.i = (res.i + (integer<<23)) & 0x7fffffff; + res.i = (res.i + ((opus_uint32)integer<<23)) & 0x7fffffff; return res.f; } diff -Nru thunderbird-91.8.0/media/libopus/celt/mips/celt_mipsr1.h thunderbird-91.10.0/media/libopus/celt/mips/celt_mipsr1.h --- thunderbird-91.8.0/media/libopus/celt/mips/celt_mipsr1.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/mips/celt_mipsr1.h 2022-05-25 21:46:54.000000000 +0000 @@ -53,6 +53,7 @@ #include "celt_lpc.h" #include "vq.h" +#define OVERRIDE_COMB_FILTER_CONST #define OVERRIDE_comb_filter void comb_filter(opus_val32 *y, opus_val32 *x, int T0, int T1, int N, opus_val16 g0, opus_val16 g1, int tapset0, int tapset1, diff -Nru thunderbird-91.8.0/media/libopus/celt/mips/vq_mipsr1.h thunderbird-91.10.0/media/libopus/celt/mips/vq_mipsr1.h --- thunderbird-91.8.0/media/libopus/celt/mips/vq_mipsr1.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/mips/vq_mipsr1.h 2022-05-25 21:45:33.000000000 +0000 @@ -36,8 +36,6 @@ #include "mathops.h" #include "arch.h" -static void renormalise_vector_mips(celt_norm *X, int N, opus_val16 gain, int arch); - #define OVERRIDE_vq_exp_rotation1 static void exp_rotation1(celt_norm *X, int len, int stride, opus_val16 c, opus_val16 s) { @@ -66,11 +64,7 @@ } #define OVERRIDE_renormalise_vector - -#define renormalise_vector(X, N, gain, arch) \ - (renormalise_vector_mips(X, N, gain, arch)) - -void renormalise_vector_mips(celt_norm *X, int N, opus_val16 gain, int arch) +void renormalise_vector(celt_norm *X, int N, opus_val16 gain, int arch) { int i; #ifdef FIXED_POINT diff -Nru thunderbird-91.8.0/media/libopus/celt/os_support.h thunderbird-91.10.0/media/libopus/celt/os_support.h --- thunderbird-91.8.0/media/libopus/celt/os_support.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/os_support.h 2022-05-25 21:46:55.000000000 +0000 @@ -39,7 +39,6 @@ #include "opus_defines.h" #include -#include #include /** Opus wrapper for malloc(). To do your own dynamic allocation, all you need to do is replace this function and opus_free */ diff -Nru thunderbird-91.8.0/media/libopus/celt/rate.c thunderbird-91.10.0/media/libopus/celt/rate.c --- thunderbird-91.8.0/media/libopus/celt/rate.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/rate.c 2022-05-25 21:47:01.000000000 +0000 @@ -529,7 +529,7 @@ return codedBands; } -int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, +int clt_compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, opus_int32 total, opus_int32 *balance, int *pulses, int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev, int signalBandwidth) { int lo, hi, len, j; diff -Nru thunderbird-91.8.0/media/libopus/celt/rate.h thunderbird-91.10.0/media/libopus/celt/rate.h --- thunderbird-91.8.0/media/libopus/celt/rate.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/rate.h 2022-05-25 21:46:12.000000000 +0000 @@ -95,7 +95,7 @@ @param pulses Number of pulses per band (returned) @return Total number of bits allocated */ -int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stero, +int clt_compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stereo, opus_int32 total, opus_int32 *balance, int *pulses, int *ebits, int *fine_priority, int C, int LM, ec_ctx *ec, int encode, int prev, int signalBandwidth); #endif diff -Nru thunderbird-91.8.0/media/libopus/celt/stack_alloc.h thunderbird-91.10.0/media/libopus/celt/stack_alloc.h --- thunderbird-91.8.0/media/libopus/celt/stack_alloc.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/stack_alloc.h 2022-05-25 21:47:09.000000000 +0000 @@ -40,7 +40,7 @@ #endif #ifdef USE_ALLOCA -# ifdef WIN32 +# ifdef _WIN32 # include # else # ifdef HAVE_ALLOCA_H @@ -102,7 +102,7 @@ #define VARDECL(type, var) type *var -# ifdef WIN32 +# ifdef _WIN32 # define ALLOC(var, size, type) var = ((type*)_alloca(sizeof(type)*(size))) # else # define ALLOC(var, size, type) var = ((type*)alloca(sizeof(type)*(size))) diff -Nru thunderbird-91.8.0/media/libopus/celt/vq.c thunderbird-91.10.0/media/libopus/celt/vq.c --- thunderbird-91.8.0/media/libopus/celt/vq.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/vq.c 2022-05-25 21:47:01.000000000 +0000 @@ -39,6 +39,10 @@ #include "rate.h" #include "pitch.h" +#if defined(MIPSr1_ASM) +#include "mips/vq_mipsr1.h" +#endif + #ifndef OVERRIDE_vq_exp_rotation1 static void exp_rotation1(celt_norm *X, int len, int stride, opus_val16 c, opus_val16 s) { diff -Nru thunderbird-91.8.0/media/libopus/celt/vq.h thunderbird-91.10.0/media/libopus/celt/vq.h --- thunderbird-91.8.0/media/libopus/celt/vq.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/vq.h 2022-05-25 21:45:33.000000000 +0000 @@ -41,10 +41,6 @@ #include "x86/vq_sse.h" #endif -#if defined(MIPSr1_ASM) -#include "mips/vq_mipsr1.h" -#endif - void exp_rotation(celt_norm *X, int len, int dir, int stride, int K, int spread); opus_val16 op_pvq_search_c(celt_norm *X, int *iy, int K, int N, int arch); diff -Nru thunderbird-91.8.0/media/libopus/celt/x86/celt_lpc_sse.c thunderbird-91.10.0/media/libopus/celt/x86/celt_lpc_sse.c --- thunderbird-91.8.0/media/libopus/celt/x86/celt_lpc_sse.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/celt/x86/celt_lpc_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "celt_lpc.h" -#include "stack_alloc.h" -#include "mathops.h" -#include "pitch.h" -#include "x86cpu.h" - -#if defined(FIXED_POINT) - -void celt_fir_sse4_1(const opus_val16 *x, - const opus_val16 *num, - opus_val16 *y, - int N, - int ord, - int arch) -{ - int i,j; - VARDECL(opus_val16, rnum); - - __m128i vecNoA; - opus_int32 noA ; - SAVE_STACK; - - ALLOC(rnum, ord, opus_val16); - for(i=0;i> 1; - vecNoA = _mm_set_epi32(noA, noA, noA, noA); - - for (i=0;i= 3); sum0 = _mm_setzero_si128(); @@ -177,19 +185,56 @@ vecSum = _mm_add_epi32(vecSum, sum2); } - for (;jOpusCustomEncoder*: State to be freed. */ OPUS_CUSTOM_EXPORT void opus_custom_encoder_destroy(OpusCustomEncoder *st); @@ -286,7 +286,7 @@ int *error ) OPUS_ARG_NONNULL(1); -/** Destroys a an decoder state. +/** Destroys a decoder state. * @param[in] st OpusCustomDecoder*: State to be freed. */ OPUS_CUSTOM_EXPORT void opus_custom_decoder_destroy(OpusCustomDecoder *st); diff -Nru thunderbird-91.8.0/media/libopus/include/opus_defines.h thunderbird-91.10.0/media/libopus/include/opus_defines.h --- thunderbird-91.8.0/media/libopus/include/opus_defines.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/include/opus_defines.h 2022-05-25 21:47:01.000000000 +0000 @@ -64,7 +64,7 @@ /**Export control for opus functions */ #ifndef OPUS_EXPORT -# if defined(WIN32) +# if defined(_WIN32) # if defined(OPUS_BUILD) && defined(DLL_EXPORT) # define OPUS_EXPORT __declspec(dllexport) # else @@ -168,6 +168,7 @@ /* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ #define OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST 4046 #define OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST 4047 +#define OPUS_GET_IN_DTX_REQUEST 4049 /** Defines for the presence of extended APIs. */ #define OPUS_HAVE_OPUS_PROJECTION_H @@ -715,6 +716,16 @@ * * @hideinitializer */ #define OPUS_GET_PHASE_INVERSION_DISABLED(x) OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int_ptr(x) +/** Gets the DTX state of the encoder. + * Returns whether the last encoded frame was either a comfort noise update + * during DTX or not encoded because of DTX. + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
The encoder is not in DTX.
+ *
1
The encoder is in DTX.
+ *
+ * @hideinitializer */ +#define OPUS_GET_IN_DTX(x) OPUS_GET_IN_DTX_REQUEST, __opus_check_int_ptr(x) /**@}*/ diff -Nru thunderbird-91.8.0/media/libopus/moz.build thunderbird-91.10.0/media/libopus/moz.build --- thunderbird-91.8.0/media/libopus/moz.build 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/moz.build 2022-05-25 21:46:55.000000000 +0000 @@ -20,7 +20,7 @@ FINAL_LIBRARY = 'gkmedias' DEFINES['OPUS_BUILD'] = True -DEFINES['OPUS_VERSION'] = '"v1.3-rc-19-g5cbd7d5f-mozilla"' +DEFINES['OPUS_VERSION'] = '2654707e86cc94413998976d179b2ab4a2aa3114' DEFINES['USE_ALLOCA'] = True DEFINES['ENABLE_HARDENING'] = True diff -Nru thunderbird-91.8.0/media/libopus/nonunified2.patch thunderbird-91.10.0/media/libopus/nonunified2.patch --- thunderbird-91.8.0/media/libopus/nonunified2.patch 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/nonunified2.patch 2022-05-25 21:46:08.000000000 +0000 @@ -1,5 +1,3 @@ -diff --git a/media/libopus/nonunified2.patch b/media/libopus/nonunified2.patch -new file mode 100644 diff --git a/media/libopus/sources.mozbuild b/media/libopus/sources.mozbuild --- a/media/libopus/sources.mozbuild +++ b/media/libopus/sources.mozbuild diff -Nru thunderbird-91.8.0/media/libopus/silk/CNG.c thunderbird-91.10.0/media/libopus/silk/CNG.c --- thunderbird-91.8.0/media/libopus/silk/CNG.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/CNG.c 2022-05-25 21:47:01.000000000 +0000 @@ -118,6 +118,10 @@ /* Smooth gains */ for( i = 0; i < psDec->nb_subfr; i++ ) { psCNG->CNG_smth_Gain_Q16 += silk_SMULWB( psDecCtrl->Gains_Q16[ i ] - psCNG->CNG_smth_Gain_Q16, CNG_GAIN_SMTH_Q16 ); + /* If the smoothed gain is 3 dB greater than this subframe's gain, use this subframe's gain to adapt faster. */ + if( silk_SMULWW( psCNG->CNG_smth_Gain_Q16, CNG_GAIN_SMTH_THRESHOLD_Q16 ) > psDecCtrl->Gains_Q16[ i ] ) { + psCNG->CNG_smth_Gain_Q16 = psDecCtrl->Gains_Q16[ i ]; + } } } diff -Nru thunderbird-91.8.0/media/libopus/silk/LPC_fit.c thunderbird-91.10.0/media/libopus/silk/LPC_fit.c --- thunderbird-91.8.0/media/libopus/silk/LPC_fit.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/LPC_fit.c 2022-05-25 21:45:49.000000000 +0000 @@ -31,7 +31,8 @@ #include "SigProc_FIX.h" -/* Convert int32 coefficients to int16 coefs and make sure there's no wrap-around */ +/* Convert int32 coefficients to int16 coefs and make sure there's no wrap-around. + This logic is reused in _celt_lpc(). Any bug fixes should also be applied there. */ void silk_LPC_fit( opus_int16 *a_QOUT, /* O Output signal */ opus_int32 *a_QIN, /* I/O Input signal */ diff -Nru thunderbird-91.8.0/media/libopus/silk/MacroCount.h thunderbird-91.10.0/media/libopus/silk/MacroCount.h --- thunderbird-91.8.0/media/libopus/silk/MacroCount.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/MacroCount.h 2022-05-25 21:47:01.000000000 +0000 @@ -27,9 +27,9 @@ #ifndef SIGPROCFIX_API_MACROCOUNT_H #define SIGPROCFIX_API_MACROCOUNT_H -#include #ifdef silk_MACRO_COUNT +#include #define varDefine opus_int64 ops_count = 0; extern opus_int64 ops_count; diff -Nru thunderbird-91.8.0/media/libopus/silk/NSQ.c thunderbird-91.10.0/media/libopus/silk/NSQ.c --- thunderbird-91.8.0/media/libopus/silk/NSQ.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/NSQ.c 2022-05-25 21:46:12.000000000 +0000 @@ -75,21 +75,21 @@ void silk_NSQ_c ( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ const opus_int16 x16[], /* I Input */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) { opus_int k, lag, start_idx, LSF_interpolation_flag; @@ -173,9 +173,9 @@ RESTORE_STACK; } -/***********************************/ -/* silk_noise_shape_quantizer */ -/***********************************/ +/******************************/ +/* silk_noise_shape_quantizer */ +/******************************/ #if !defined(OPUS_X86_MAY_HAVE_SSE4_1) static OPUS_INLINE @@ -262,7 +262,7 @@ tmp1 = silk_SUB32( tmp1, n_LF_Q12 ); /* Q12 */ if( lag > 0 ) { /* Symmetric, packed FIR coefficients */ - n_LTP_Q13 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); + n_LTP_Q13 = silk_SMULWB( silk_ADD_SAT32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); n_LTP_Q13 = silk_SMLAWT( n_LTP_Q13, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); n_LTP_Q13 = silk_LSHIFT( n_LTP_Q13, 1 ); shp_lag_ptr++; diff -Nru thunderbird-91.8.0/media/libopus/silk/NSQ_del_dec.c thunderbird-91.10.0/media/libopus/silk/NSQ_del_dec.c --- thunderbird-91.8.0/media/libopus/silk/NSQ_del_dec.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/NSQ_del_dec.c 2022-05-25 21:46:54.000000000 +0000 @@ -115,21 +115,21 @@ ); void silk_NSQ_del_dec_c( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ const opus_int16 x16[], /* I Input */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) { opus_int i, k, lag, start_idx, LSF_interpolation_flag, Winner_ind, subfr; @@ -394,8 +394,8 @@ /* Long-term shaping */ if( lag > 0 ) { /* Symmetric, packed FIR coefficients */ - n_LTP_Q14 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); - n_LTP_Q14 = silk_SMLAWT( n_LTP_Q14, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); + n_LTP_Q14 = silk_SMULWB( silk_ADD_SAT32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); + n_LTP_Q14 = silk_SMLAWT( n_LTP_Q14, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); n_LTP_Q14 = silk_SUB_LSHIFT32( LTP_pred_Q14, n_LTP_Q14, 2 ); /* Q12 -> Q14 */ shp_lag_ptr++; } else { @@ -451,9 +451,9 @@ /* Input minus prediction plus noise feedback */ /* r = x[ i ] - LTP_pred - LPC_pred + n_AR + n_Tilt + n_LF + n_LTP */ - tmp1 = silk_ADD32( n_AR_Q14, n_LF_Q14 ); /* Q14 */ + tmp1 = silk_ADD_SAT32( n_AR_Q14, n_LF_Q14 ); /* Q14 */ tmp2 = silk_ADD32( n_LTP_Q14, LPC_pred_Q14 ); /* Q13 */ - tmp1 = silk_SUB32( tmp2, tmp1 ); /* Q13 */ + tmp1 = silk_SUB_SAT32( tmp2, tmp1 ); /* Q13 */ tmp1 = silk_RSHIFT_ROUND( tmp1, 4 ); /* Q10 */ r_Q10 = silk_SUB32( x_Q10[ i ], tmp1 ); /* residual error Q10 */ @@ -535,7 +535,7 @@ /* Update states */ psSS[ 0 ].Diff_Q14 = silk_SUB_LSHIFT32( xq_Q14, x_Q10[ i ], 4 ); sLF_AR_shp_Q14 = silk_SUB32( psSS[ 0 ].Diff_Q14, n_AR_Q14 ); - psSS[ 0 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); + psSS[ 0 ].sLTP_shp_Q14 = silk_SUB_SAT32( sLF_AR_shp_Q14, n_LF_Q14 ); psSS[ 0 ].LF_AR_Q14 = sLF_AR_shp_Q14; psSS[ 0 ].LPC_exc_Q14 = LPC_exc_Q14; psSS[ 0 ].xq_Q14 = xq_Q14; @@ -555,7 +555,7 @@ /* Update states */ psSS[ 1 ].Diff_Q14 = silk_SUB_LSHIFT32( xq_Q14, x_Q10[ i ], 4 ); sLF_AR_shp_Q14 = silk_SUB32( psSS[ 1 ].Diff_Q14, n_AR_Q14 ); - psSS[ 1 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); + psSS[ 1 ].sLTP_shp_Q14 = silk_SUB_SAT32( sLF_AR_shp_Q14, n_LF_Q14 ); psSS[ 1 ].LF_AR_Q14 = sLF_AR_shp_Q14; psSS[ 1 ].LPC_exc_Q14 = LPC_exc_Q14; psSS[ 1 ].xq_Q14 = xq_Q14; diff -Nru thunderbird-91.8.0/media/libopus/silk/PLC.c thunderbird-91.10.0/media/libopus/silk/PLC.c --- thunderbird-91.8.0/media/libopus/silk/PLC.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/PLC.c 2022-05-25 21:45:49.000000000 +0000 @@ -328,10 +328,8 @@ for( j = 0; j < LTP_ORDER; j++ ) { B_Q14[ j ] = silk_RSHIFT( silk_SMULBB( harm_Gain_Q15, B_Q14[ j ] ), 15 ); } - if ( psDec->indices.signalType != TYPE_NO_VOICE_ACTIVITY ) { - /* Gradually reduce excitation gain */ - rand_scale_Q14 = silk_RSHIFT( silk_SMULBB( rand_scale_Q14, rand_Gain_Q15 ), 15 ); - } + /* Gradually reduce excitation gain */ + rand_scale_Q14 = silk_RSHIFT( silk_SMULBB( rand_scale_Q14, rand_Gain_Q15 ), 15 ); /* Slowly increase pitch lag */ psPLC->pitchL_Q8 = silk_SMLAWB( psPLC->pitchL_Q8, psPLC->pitchL_Q8, PITCH_DRIFT_FAC_Q16 ); diff -Nru thunderbird-91.8.0/media/libopus/silk/SigProc_FIX.h thunderbird-91.10.0/media/libopus/silk/SigProc_FIX.h --- thunderbird-91.8.0/media/libopus/silk/SigProc_FIX.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/SigProc_FIX.h 2022-05-25 21:46:56.000000000 +0000 @@ -381,7 +381,7 @@ const opus_int len /* I vector lengths */ ); -opus_int64 silk_inner_prod16_aligned_64_c( +opus_int64 silk_inner_prod16_c( const opus_int16 *inVec1, /* I input vector 1 */ const opus_int16 *inVec2, /* I input vector 2 */ const opus_int len /* I vector lengths */ @@ -613,8 +613,8 @@ #define silk_burg_modified(res_nrg, res_nrg_Q, A_Q16, x, minInvGain_Q30, subfr_length, nb_subfr, D, arch) \ ((void)(arch), silk_burg_modified_c(res_nrg, res_nrg_Q, A_Q16, x, minInvGain_Q30, subfr_length, nb_subfr, D, arch)) -#define silk_inner_prod16_aligned_64(inVec1, inVec2, len, arch) \ - ((void)(arch),silk_inner_prod16_aligned_64_c(inVec1, inVec2, len)) +#define silk_inner_prod16(inVec1, inVec2, len, arch) \ + ((void)(arch),silk_inner_prod16_c(inVec1, inVec2, len)) #endif #include "Inlines.h" diff -Nru thunderbird-91.8.0/media/libopus/silk/VAD.c thunderbird-91.10.0/media/libopus/silk/VAD.c --- thunderbird-91.8.0/media/libopus/silk/VAD.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/VAD.c 2022-05-25 21:47:01.000000000 +0000 @@ -312,6 +312,8 @@ /* Initially faster smoothing */ if( psSilk_VAD->counter < 1000 ) { /* 1000 = 20 sec */ min_coef = silk_DIV32_16( silk_int16_MAX, silk_RSHIFT( psSilk_VAD->counter, 4 ) + 1 ); + /* Increment frame counter */ + psSilk_VAD->counter++; } else { min_coef = 0; } @@ -355,7 +357,4 @@ /* Store as part of state */ psSilk_VAD->NL[ k ] = nl; } - - /* Increment frame counter */ - psSilk_VAD->counter++; } diff -Nru thunderbird-91.8.0/media/libopus/silk/VQ_WMat_EC.c thunderbird-91.10.0/media/libopus/silk/VQ_WMat_EC.c --- thunderbird-91.8.0/media/libopus/silk/VQ_WMat_EC.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/VQ_WMat_EC.c 2022-05-25 21:45:33.000000000 +0000 @@ -64,7 +64,7 @@ *rate_dist_Q8 = silk_int32_MAX; *res_nrg_Q15 = silk_int32_MAX; cb_row_Q7 = cb_Q7; - /* In things go really bad, at least *ind is set to something safe. */ + /* If things go really bad, at least *ind is set to something safe. */ *ind = 0; for( k = 0; k < L; k++ ) { opus_int32 penalty; @@ -115,7 +115,7 @@ if( sum1_Q15 >= 0 ) { /* Translate residual energy to bits using high-rate assumption (6 dB ==> 1 bit/sample) */ bits_res_Q8 = silk_SMULBB( subfr_len, silk_lin2log( sum1_Q15 + penalty) - (15 << 7) ); - /* In the following line we reduce the codelength component by half ("-1"); seems to slghtly improve quality */ + /* In the following line we reduce the codelength component by half ("-1"); seems to slightly improve quality */ bits_tot_Q8 = silk_ADD_LSHIFT32( bits_res_Q8, cl_Q5[ k ], 3-1 ); if( bits_tot_Q8 <= *rate_dist_Q8 ) { *rate_dist_Q8 = bits_tot_Q8; diff -Nru thunderbird-91.8.0/media/libopus/silk/arm/LPC_inv_pred_gain_neon_intr.c thunderbird-91.10.0/media/libopus/silk/arm/LPC_inv_pred_gain_neon_intr.c --- thunderbird-91.8.0/media/libopus/silk/arm/LPC_inv_pred_gain_neon_intr.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/arm/LPC_inv_pred_gain_neon_intr.c 2022-05-25 21:46:55.000000000 +0000 @@ -210,19 +210,23 @@ /* Increase Q domain of the AR coefficients */ t0_s16x8 = vld1q_s16( A_Q12 + 0 ); t1_s16x8 = vld1q_s16( A_Q12 + 8 ); - t2_s16x8 = vld1q_s16( A_Q12 + 16 ); + if ( order > 16 ) { + t2_s16x8 = vld1q_s16( A_Q12 + 16 ); + } t0_s32x4 = vpaddlq_s16( t0_s16x8 ); switch( order - leftover ) { case 24: t0_s32x4 = vpadalq_s16( t0_s32x4, t2_s16x8 ); + vst1q_s32( Atmp_QA + 16, vshll_n_s16( vget_low_s16 ( t2_s16x8 ), QA - 12 ) ); + vst1q_s32( Atmp_QA + 20, vshll_n_s16( vget_high_s16( t2_s16x8 ), QA - 12 ) ); /* FALLTHROUGH */ case 16: t0_s32x4 = vpadalq_s16( t0_s32x4, t1_s16x8 ); - vst1q_s32( Atmp_QA + 16, vshll_n_s16( vget_low_s16 ( t2_s16x8 ), QA - 12 ) ); - vst1q_s32( Atmp_QA + 20, vshll_n_s16( vget_high_s16( t2_s16x8 ), QA - 12 ) ); + vst1q_s32( Atmp_QA + 8, vshll_n_s16( vget_low_s16 ( t1_s16x8 ), QA - 12 ) ); + vst1q_s32( Atmp_QA + 12, vshll_n_s16( vget_high_s16( t1_s16x8 ), QA - 12 ) ); /* FALLTHROUGH */ case 8: @@ -230,8 +234,8 @@ const int32x2_t t_s32x2 = vpadd_s32( vget_low_s32( t0_s32x4 ), vget_high_s32( t0_s32x4 ) ); const int64x1_t t_s64x1 = vpaddl_s32( t_s32x2 ); DC_resp = vget_lane_s32( vreinterpret_s32_s64( t_s64x1 ), 0 ); - vst1q_s32( Atmp_QA + 8, vshll_n_s16( vget_low_s16 ( t1_s16x8 ), QA - 12 ) ); - vst1q_s32( Atmp_QA + 12, vshll_n_s16( vget_high_s16( t1_s16x8 ), QA - 12 ) ); + vst1q_s32( Atmp_QA + 0, vshll_n_s16( vget_low_s16 ( t0_s16x8 ), QA - 12 ) ); + vst1q_s32( Atmp_QA + 4, vshll_n_s16( vget_high_s16( t0_s16x8 ), QA - 12 ) ); } break; @@ -246,16 +250,22 @@ case 6: DC_resp += (opus_int32)A_Q12[ 5 ]; DC_resp += (opus_int32)A_Q12[ 4 ]; + Atmp_QA[ order - leftover + 5 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 5 ], QA - 12 ); + Atmp_QA[ order - leftover + 4 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 4 ], QA - 12 ); /* FALLTHROUGH */ case 4: DC_resp += (opus_int32)A_Q12[ 3 ]; DC_resp += (opus_int32)A_Q12[ 2 ]; + Atmp_QA[ order - leftover + 3 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 3 ], QA - 12 ); + Atmp_QA[ order - leftover + 2 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 2 ], QA - 12 ); /* FALLTHROUGH */ case 2: DC_resp += (opus_int32)A_Q12[ 1 ]; DC_resp += (opus_int32)A_Q12[ 0 ]; + Atmp_QA[ order - leftover + 1 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 1 ], QA - 12 ); + Atmp_QA[ order - leftover + 0 ] = silk_LSHIFT32( (opus_int32)A_Q12[ 0 ], QA - 12 ); /* FALLTHROUGH */ default: @@ -266,8 +276,6 @@ if( DC_resp >= 4096 ) { invGain_Q30 = 0; } else { - vst1q_s32( Atmp_QA + 0, vshll_n_s16( vget_low_s16 ( t0_s16x8 ), QA - 12 ) ); - vst1q_s32( Atmp_QA + 4, vshll_n_s16( vget_high_s16( t0_s16x8 ), QA - 12 ) ); invGain_Q30 = LPC_inverse_pred_gain_QA_neon( Atmp_QA, order ); } } diff -Nru thunderbird-91.8.0/media/libopus/silk/bwexpander_32.c thunderbird-91.10.0/media/libopus/silk/bwexpander_32.c --- thunderbird-91.8.0/media/libopus/silk/bwexpander_32.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/bwexpander_32.c 2022-05-25 21:45:33.000000000 +0000 @@ -31,7 +31,8 @@ #include "SigProc_FIX.h" -/* Chirp (bandwidth expand) LP AR filter */ +/* Chirp (bandwidth expand) LP AR filter. + This logic is reused in _celt_lpc(). Any bug fixes should also be applied there. */ void silk_bwexpander_32( opus_int32 *ar, /* I/O AR filter to be expanded (without leading 1) */ const opus_int d, /* I Length of ar */ diff -Nru thunderbird-91.8.0/media/libopus/silk/debug.c thunderbird-91.10.0/media/libopus/silk/debug.c --- thunderbird-91.8.0/media/libopus/silk/debug.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/debug.c 2022-05-25 21:46:13.000000000 +0000 @@ -30,18 +30,20 @@ #endif #include "debug.h" + +#if SILK_DEBUG || SILK_TIC_TOC #include "SigProc_FIX.h" +#endif #if SILK_TIC_TOC -#ifdef _WIN32 - #if (defined(_WIN32) || defined(_WINCE)) #include /* timer */ #else /* Linux or Mac*/ #include #endif +#ifdef _WIN32 unsigned long silk_GetHighResolutionTime(void) /* O time in usec*/ { /* Returns a time counter in microsec */ @@ -65,7 +67,7 @@ int silk_Timer_nTimers = 0; int silk_Timer_depth_ctr = 0; char silk_Timer_tags[silk_NUM_TIMERS_MAX][silk_NUM_TIMERS_MAX_TAG_LEN]; -#ifdef WIN32 +#ifdef _WIN32 LARGE_INTEGER silk_Timer_start[silk_NUM_TIMERS_MAX]; #else unsigned long silk_Timer_start[silk_NUM_TIMERS_MAX]; @@ -76,7 +78,7 @@ opus_int64 silk_Timer_max[silk_NUM_TIMERS_MAX]; opus_int64 silk_Timer_depth[silk_NUM_TIMERS_MAX]; -#ifdef WIN32 +#ifdef _WIN32 void silk_TimerSave(char *file_name) { if( silk_Timer_nTimers > 0 ) diff -Nru thunderbird-91.8.0/media/libopus/silk/debug.h thunderbird-91.10.0/media/libopus/silk/debug.h --- thunderbird-91.8.0/media/libopus/silk/debug.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/debug.h 2022-05-25 21:47:09.000000000 +0000 @@ -28,28 +28,29 @@ #ifndef SILK_DEBUG_H #define SILK_DEBUG_H -#include "typedef.h" -#include /* file writing */ -#include /* strcpy, strcmp */ - -#ifdef __cplusplus -extern "C" -{ -#endif - -unsigned long GetHighResolutionTime(void); /* O time in usec*/ - /* Set to 1 to enable DEBUG_STORE_DATA() macros for dumping * intermediate signals from the codec. */ #define SILK_DEBUG 0 /* Flag for using timers */ -#define SILK_TIC_TOC 0 +#define SILK_TIC_TOC 0 +#if SILK_DEBUG || SILK_TIC_TOC +#include "typedef.h" +#include /* strcpy, strcmp */ +#include /* file writing */ +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif #if SILK_TIC_TOC +unsigned long GetHighResolutionTime(void); /* O time in usec*/ + #if (defined(_WIN32) || defined(_WINCE)) #include /* timer */ #else /* Linux or Mac*/ diff -Nru thunderbird-91.8.0/media/libopus/silk/decode_frame.c thunderbird-91.10.0/media/libopus/silk/decode_frame.c --- thunderbird-91.8.0/media/libopus/silk/decode_frame.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/decode_frame.c 2022-05-25 21:46:21.000000000 +0000 @@ -97,7 +97,6 @@ psDec->first_frame_after_reset = 0; } else { /* Handle packet loss by extrapolation */ - psDec->indices.signalType = psDec->prevSignalType; silk_PLC( psDec, psDecCtrl, pOut, 1, arch ); } diff -Nru thunderbird-91.8.0/media/libopus/silk/define.h thunderbird-91.10.0/media/libopus/silk/define.h --- thunderbird-91.8.0/media/libopus/silk/define.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/define.h 2022-05-25 21:46:55.000000000 +0000 @@ -225,6 +225,7 @@ /* Defines for CN generation */ #define CNG_BUF_MASK_MAX 255 /* 2^floor(log2(MAX_FRAME_LENGTH))-1 */ #define CNG_GAIN_SMTH_Q16 4634 /* 0.25^(1/4) */ +#define CNG_GAIN_SMTH_THRESHOLD_Q16 46396 /* -3 dB */ #define CNG_NLSF_SMTH_Q16 16348 /* 0.25 */ #ifdef __cplusplus diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c thunderbird-91.10.0/media/libopus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c --- thunderbird-91.8.0/media/libopus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c 2022-05-25 21:45:49.000000000 +0000 @@ -84,7 +84,9 @@ silk_assert( ( order & 1 ) == 0 ); silk_assert( 2 * QS - QC >= 0 ); - ALLOC( input_QST, length + 2 * MAX_SHAPE_LPC_ORDER, opus_int32 ); + /* The additional +4 is to ensure a later vld1q_s32 call does not overflow. */ + /* Strictly, only +3 is needed but +4 simplifies initialization using the 4x32 neon load. */ + ALLOC( input_QST, length + 2 * MAX_SHAPE_LPC_ORDER + 4, opus_int32 ); input_QS = input_QST; /* input_QS has zero paddings in the beginning and end. */ @@ -121,6 +123,8 @@ vst1q_s32( input_QS, vdupq_n_s32( 0 ) ); input_QS += 4; vst1q_s32( input_QS, vdupq_n_s32( 0 ) ); + input_QS += 4; + vst1q_s32( input_QS, vdupq_n_s32( 0 ) ); input_QS = input_QST + MAX_SHAPE_LPC_ORDER - orderT; /* The following loop runs ( length + order ) times, with ( order ) extra epilogues. */ @@ -153,7 +157,8 @@ opus_int o = orderT; int32x4_t state_QS_s32x4[ 3 ][ 2 ]; - ALLOC( state, length + orderT, opus_int32 ); + /* The additional +4 is to ensure a later vld1q_s32 call does not overflow. */ + ALLOC( state, length + order + 4, opus_int32 ); state_QS_s32x4[ 2 ][ 1 ] = vdupq_n_s32( 0 ); /* Calculate 8 taps of all inputs in each loop. */ diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/burg_modified_FIX.c thunderbird-91.10.0/media/libopus/silk/fixed/burg_modified_FIX.c --- thunderbird-91.8.0/media/libopus/silk/fixed/burg_modified_FIX.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/burg_modified_FIX.c 2022-05-25 21:46:56.000000000 +0000 @@ -68,7 +68,7 @@ celt_assert( subfr_length * nb_subfr <= MAX_FRAME_SIZE ); /* Compute autocorrelations, added over subframes */ - C0_64 = silk_inner_prod16_aligned_64( x, x, subfr_length*nb_subfr, arch ); + C0_64 = silk_inner_prod16( x, x, subfr_length*nb_subfr, arch ); lz = silk_CLZ64(C0_64); rshifts = 32 + 1 + N_BITS_HEAD_ROOM - lz; if (rshifts > MAX_RSHIFTS) rshifts = MAX_RSHIFTS; @@ -87,7 +87,7 @@ x_ptr = x + s * subfr_length; for( n = 1; n < D + 1; n++ ) { C_first_row[ n - 1 ] += (opus_int32)silk_RSHIFT64( - silk_inner_prod16_aligned_64( x_ptr, x_ptr + n, subfr_length - n, arch ), rshifts ); + silk_inner_prod16( x_ptr, x_ptr + n, subfr_length - n, arch ), rshifts ); } } } else { @@ -150,7 +150,7 @@ C_first_row[ k ] = silk_MLA( C_first_row[ k ], x1, x_ptr[ n - k - 1 ] ); /* Q( -rshifts ) */ C_last_row[ k ] = silk_MLA( C_last_row[ k ], x2, x_ptr[ subfr_length - n + k ] ); /* Q( -rshifts ) */ Atmp1 = silk_RSHIFT_ROUND( Af_QA[ k ], QA - 17 ); /* Q17 */ - /* We sometimes have get overflows in the multiplications (even beyond +/- 2^32), + /* We sometimes get overflows in the multiplications (even beyond +/- 2^32), but they cancel each other and the real result seems to always fit in a 32-bit signed integer. This was determined experimentally, not theoretically (unfortunately). */ tmp1 = silk_MLA_ovflw( tmp1, x_ptr[ n - k - 1 ], Atmp1 ); /* Q17 */ @@ -253,7 +253,7 @@ if( rshifts > 0 ) { for( s = 0; s < nb_subfr; s++ ) { x_ptr = x + s * subfr_length; - C0 -= (opus_int32)silk_RSHIFT64( silk_inner_prod16_aligned_64( x_ptr, x_ptr, D, arch ), rshifts ); + C0 -= (opus_int32)silk_RSHIFT64( silk_inner_prod16( x_ptr, x_ptr, D, arch ), rshifts ); } } else { for( s = 0; s < nb_subfr; s++ ) { diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h thunderbird-91.10.0/media/libopus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h --- thunderbird-91.8.0/media/libopus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h 2022-05-25 21:46:13.000000000 +0000 @@ -41,15 +41,14 @@ #define QS 14 /* Autocorrelations for a warped frequency axis */ -#define OVERRIDE_silk_warped_autocorrelation_FIX -void silk_warped_autocorrelation_FIX( +#define OVERRIDE_silk_warped_autocorrelation_FIX_c +void silk_warped_autocorrelation_FIX_c( opus_int32 *corr, /* O Result [order + 1] */ opus_int *scale, /* O Scaling of the correlation vector */ const opus_int16 *input, /* I Input data to correlate */ const opus_int warping_Q16, /* I Warping coefficient */ const opus_int length, /* I Length of input */ - const opus_int order, /* I Correlation order (even) */ - int arch /* I Run-time architecture */ + const opus_int order /* I Correlation order (even) */ ) { opus_int n, i, lsh; diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/vector_ops_FIX.c thunderbird-91.10.0/media/libopus/silk/fixed/vector_ops_FIX.c --- thunderbird-91.8.0/media/libopus/silk/fixed/vector_ops_FIX.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/vector_ops_FIX.c 2022-05-25 21:46:55.000000000 +0000 @@ -87,7 +87,7 @@ #endif } -opus_int64 silk_inner_prod16_aligned_64_c( +opus_int64 silk_inner_prod16_c( const opus_int16 *inVec1, /* I input vector 1 */ const opus_int16 *inVec2, /* I input vector 2 */ const opus_int len /* I vector lengths */ diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/warped_autocorrelation_FIX.c thunderbird-91.10.0/media/libopus/silk/fixed/warped_autocorrelation_FIX.c --- thunderbird-91.8.0/media/libopus/silk/fixed/warped_autocorrelation_FIX.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/warped_autocorrelation_FIX.c 2022-05-25 21:45:33.000000000 +0000 @@ -37,6 +37,7 @@ /* Autocorrelations for a warped frequency axis */ +#ifndef OVERRIDE_silk_warped_autocorrelation_FIX_c void silk_warped_autocorrelation_FIX_c( opus_int32 *corr, /* O Result [order + 1] */ opus_int *scale, /* O Scaling of the correlation vector */ @@ -88,3 +89,4 @@ } silk_assert( corr_QC[ 0 ] >= 0 ); /* If breaking, decrease QC*/ } +#endif /* OVERRIDE_silk_warped_autocorrelation_FIX_c */ diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse.c thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse.c --- thunderbird-91.8.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,377 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include "SigProc_FIX.h" -#include "define.h" -#include "tuning_parameters.h" -#include "pitch.h" -#include "celt/x86/x86cpu.h" - -#define MAX_FRAME_SIZE 384 /* subfr_length * nb_subfr = ( 0.005 * 16000 + 16 ) * 4 = 384 */ - -#define QA 25 -#define N_BITS_HEAD_ROOM 2 -#define MIN_RSHIFTS -16 -#define MAX_RSHIFTS (32 - QA) - -/* Compute reflection coefficients from input signal */ -void silk_burg_modified_sse4_1( - opus_int32 *res_nrg, /* O Residual energy */ - opus_int *res_nrg_Q, /* O Residual energy Q value */ - opus_int32 A_Q16[], /* O Prediction coefficients (length order) */ - const opus_int16 x[], /* I Input signal, length: nb_subfr * ( D + subfr_length ) */ - const opus_int32 minInvGain_Q30, /* I Inverse of max prediction gain */ - const opus_int subfr_length, /* I Input signal subframe length (incl. D preceding samples) */ - const opus_int nb_subfr, /* I Number of subframes stacked in x */ - const opus_int D, /* I Order */ - int arch /* I Run-time architecture */ -) -{ - opus_int k, n, s, lz, rshifts, rshifts_extra, reached_max_gain; - opus_int32 C0, num, nrg, rc_Q31, invGain_Q30, Atmp_QA, Atmp1, tmp1, tmp2, x1, x2; - const opus_int16 *x_ptr; - opus_int32 C_first_row[ SILK_MAX_ORDER_LPC ]; - opus_int32 C_last_row[ SILK_MAX_ORDER_LPC ]; - opus_int32 Af_QA[ SILK_MAX_ORDER_LPC ]; - opus_int32 CAf[ SILK_MAX_ORDER_LPC + 1 ]; - opus_int32 CAb[ SILK_MAX_ORDER_LPC + 1 ]; - opus_int32 xcorr[ SILK_MAX_ORDER_LPC ]; - - __m128i FIRST_3210, LAST_3210, ATMP_3210, TMP1_3210, TMP2_3210, T1_3210, T2_3210, PTR_3210, SUBFR_3210, X1_3210, X2_3210; - __m128i CONST1 = _mm_set1_epi32(1); - - silk_assert( subfr_length * nb_subfr <= MAX_FRAME_SIZE ); - - /* Compute autocorrelations, added over subframes */ - silk_sum_sqr_shift( &C0, &rshifts, x, nb_subfr * subfr_length ); - if( rshifts > MAX_RSHIFTS ) { - C0 = silk_LSHIFT32( C0, rshifts - MAX_RSHIFTS ); - silk_assert( C0 > 0 ); - rshifts = MAX_RSHIFTS; - } else { - lz = silk_CLZ32( C0 ) - 1; - rshifts_extra = N_BITS_HEAD_ROOM - lz; - if( rshifts_extra > 0 ) { - rshifts_extra = silk_min( rshifts_extra, MAX_RSHIFTS - rshifts ); - C0 = silk_RSHIFT32( C0, rshifts_extra ); - } else { - rshifts_extra = silk_max( rshifts_extra, MIN_RSHIFTS - rshifts ); - C0 = silk_LSHIFT32( C0, -rshifts_extra ); - } - rshifts += rshifts_extra; - } - CAb[ 0 ] = CAf[ 0 ] = C0 + silk_SMMUL( SILK_FIX_CONST( FIND_LPC_COND_FAC, 32 ), C0 ) + 1; /* Q(-rshifts) */ - silk_memset( C_first_row, 0, SILK_MAX_ORDER_LPC * sizeof( opus_int32 ) ); - if( rshifts > 0 ) { - for( s = 0; s < nb_subfr; s++ ) { - x_ptr = x + s * subfr_length; - for( n = 1; n < D + 1; n++ ) { - C_first_row[ n - 1 ] += (opus_int32)silk_RSHIFT64( - silk_inner_prod16_aligned_64( x_ptr, x_ptr + n, subfr_length - n, arch ), rshifts ); - } - } - } else { - for( s = 0; s < nb_subfr; s++ ) { - int i; - opus_int32 d; - x_ptr = x + s * subfr_length; - celt_pitch_xcorr(x_ptr, x_ptr + 1, xcorr, subfr_length - D, D, arch ); - for( n = 1; n < D + 1; n++ ) { - for ( i = n + subfr_length - D, d = 0; i < subfr_length; i++ ) - d = MAC16_16( d, x_ptr[ i ], x_ptr[ i - n ] ); - xcorr[ n - 1 ] += d; - } - for( n = 1; n < D + 1; n++ ) { - C_first_row[ n - 1 ] += silk_LSHIFT32( xcorr[ n - 1 ], -rshifts ); - } - } - } - silk_memcpy( C_last_row, C_first_row, SILK_MAX_ORDER_LPC * sizeof( opus_int32 ) ); - - /* Initialize */ - CAb[ 0 ] = CAf[ 0 ] = C0 + silk_SMMUL( SILK_FIX_CONST( FIND_LPC_COND_FAC, 32 ), C0 ) + 1; /* Q(-rshifts) */ - - invGain_Q30 = (opus_int32)1 << 30; - reached_max_gain = 0; - for( n = 0; n < D; n++ ) { - /* Update first row of correlation matrix (without first element) */ - /* Update last row of correlation matrix (without last element, stored in reversed order) */ - /* Update C * Af */ - /* Update C * flipud(Af) (stored in reversed order) */ - if( rshifts > -2 ) { - for( s = 0; s < nb_subfr; s++ ) { - x_ptr = x + s * subfr_length; - x1 = -silk_LSHIFT32( (opus_int32)x_ptr[ n ], 16 - rshifts ); /* Q(16-rshifts) */ - x2 = -silk_LSHIFT32( (opus_int32)x_ptr[ subfr_length - n - 1 ], 16 - rshifts ); /* Q(16-rshifts) */ - tmp1 = silk_LSHIFT32( (opus_int32)x_ptr[ n ], QA - 16 ); /* Q(QA-16) */ - tmp2 = silk_LSHIFT32( (opus_int32)x_ptr[ subfr_length - n - 1 ], QA - 16 ); /* Q(QA-16) */ - for( k = 0; k < n; k++ ) { - C_first_row[ k ] = silk_SMLAWB( C_first_row[ k ], x1, x_ptr[ n - k - 1 ] ); /* Q( -rshifts ) */ - C_last_row[ k ] = silk_SMLAWB( C_last_row[ k ], x2, x_ptr[ subfr_length - n + k ] ); /* Q( -rshifts ) */ - Atmp_QA = Af_QA[ k ]; - tmp1 = silk_SMLAWB( tmp1, Atmp_QA, x_ptr[ n - k - 1 ] ); /* Q(QA-16) */ - tmp2 = silk_SMLAWB( tmp2, Atmp_QA, x_ptr[ subfr_length - n + k ] ); /* Q(QA-16) */ - } - tmp1 = silk_LSHIFT32( -tmp1, 32 - QA - rshifts ); /* Q(16-rshifts) */ - tmp2 = silk_LSHIFT32( -tmp2, 32 - QA - rshifts ); /* Q(16-rshifts) */ - for( k = 0; k <= n; k++ ) { - CAf[ k ] = silk_SMLAWB( CAf[ k ], tmp1, x_ptr[ n - k ] ); /* Q( -rshift ) */ - CAb[ k ] = silk_SMLAWB( CAb[ k ], tmp2, x_ptr[ subfr_length - n + k - 1 ] ); /* Q( -rshift ) */ - } - } - } else { - for( s = 0; s < nb_subfr; s++ ) { - x_ptr = x + s * subfr_length; - x1 = -silk_LSHIFT32( (opus_int32)x_ptr[ n ], -rshifts ); /* Q( -rshifts ) */ - x2 = -silk_LSHIFT32( (opus_int32)x_ptr[ subfr_length - n - 1 ], -rshifts ); /* Q( -rshifts ) */ - tmp1 = silk_LSHIFT32( (opus_int32)x_ptr[ n ], 17 ); /* Q17 */ - tmp2 = silk_LSHIFT32( (opus_int32)x_ptr[ subfr_length - n - 1 ], 17 ); /* Q17 */ - - X1_3210 = _mm_set1_epi32( x1 ); - X2_3210 = _mm_set1_epi32( x2 ); - TMP1_3210 = _mm_setzero_si128(); - TMP2_3210 = _mm_setzero_si128(); - for( k = 0; k < n - 3; k += 4 ) { - PTR_3210 = OP_CVTEPI16_EPI32_M64( &x_ptr[ n - k - 1 - 3 ] ); - SUBFR_3210 = OP_CVTEPI16_EPI32_M64( &x_ptr[ subfr_length - n + k ] ); - FIRST_3210 = _mm_loadu_si128( (__m128i *)&C_first_row[ k ] ); - PTR_3210 = _mm_shuffle_epi32( PTR_3210, _MM_SHUFFLE( 0, 1, 2, 3 ) ); - LAST_3210 = _mm_loadu_si128( (__m128i *)&C_last_row[ k ] ); - ATMP_3210 = _mm_loadu_si128( (__m128i *)&Af_QA[ k ] ); - - T1_3210 = _mm_mullo_epi32( PTR_3210, X1_3210 ); - T2_3210 = _mm_mullo_epi32( SUBFR_3210, X2_3210 ); - - ATMP_3210 = _mm_srai_epi32( ATMP_3210, 7 ); - ATMP_3210 = _mm_add_epi32( ATMP_3210, CONST1 ); - ATMP_3210 = _mm_srai_epi32( ATMP_3210, 1 ); - - FIRST_3210 = _mm_add_epi32( FIRST_3210, T1_3210 ); - LAST_3210 = _mm_add_epi32( LAST_3210, T2_3210 ); - - PTR_3210 = _mm_mullo_epi32( ATMP_3210, PTR_3210 ); - SUBFR_3210 = _mm_mullo_epi32( ATMP_3210, SUBFR_3210 ); - - _mm_storeu_si128( (__m128i *)&C_first_row[ k ], FIRST_3210 ); - _mm_storeu_si128( (__m128i *)&C_last_row[ k ], LAST_3210 ); - - TMP1_3210 = _mm_add_epi32( TMP1_3210, PTR_3210 ); - TMP2_3210 = _mm_add_epi32( TMP2_3210, SUBFR_3210 ); - } - - TMP1_3210 = _mm_add_epi32( TMP1_3210, _mm_unpackhi_epi64(TMP1_3210, TMP1_3210 ) ); - TMP2_3210 = _mm_add_epi32( TMP2_3210, _mm_unpackhi_epi64(TMP2_3210, TMP2_3210 ) ); - TMP1_3210 = _mm_add_epi32( TMP1_3210, _mm_shufflelo_epi16(TMP1_3210, 0x0E ) ); - TMP2_3210 = _mm_add_epi32( TMP2_3210, _mm_shufflelo_epi16(TMP2_3210, 0x0E ) ); - - tmp1 += _mm_cvtsi128_si32( TMP1_3210 ); - tmp2 += _mm_cvtsi128_si32( TMP2_3210 ); - - for( ; k < n; k++ ) { - C_first_row[ k ] = silk_MLA( C_first_row[ k ], x1, x_ptr[ n - k - 1 ] ); /* Q( -rshifts ) */ - C_last_row[ k ] = silk_MLA( C_last_row[ k ], x2, x_ptr[ subfr_length - n + k ] ); /* Q( -rshifts ) */ - Atmp1 = silk_RSHIFT_ROUND( Af_QA[ k ], QA - 17 ); /* Q17 */ - tmp1 = silk_MLA( tmp1, x_ptr[ n - k - 1 ], Atmp1 ); /* Q17 */ - tmp2 = silk_MLA( tmp2, x_ptr[ subfr_length - n + k ], Atmp1 ); /* Q17 */ - } - - tmp1 = -tmp1; /* Q17 */ - tmp2 = -tmp2; /* Q17 */ - - { - __m128i xmm_tmp1, xmm_tmp2; - __m128i xmm_x_ptr_n_k_x2x0, xmm_x_ptr_n_k_x3x1; - __m128i xmm_x_ptr_sub_x2x0, xmm_x_ptr_sub_x3x1; - - xmm_tmp1 = _mm_set1_epi32( tmp1 ); - xmm_tmp2 = _mm_set1_epi32( tmp2 ); - - for( k = 0; k <= n - 3; k += 4 ) { - xmm_x_ptr_n_k_x2x0 = OP_CVTEPI16_EPI32_M64( &x_ptr[ n - k - 3 ] ); - xmm_x_ptr_sub_x2x0 = OP_CVTEPI16_EPI32_M64( &x_ptr[ subfr_length - n + k - 1 ] ); - - xmm_x_ptr_n_k_x2x0 = _mm_shuffle_epi32( xmm_x_ptr_n_k_x2x0, _MM_SHUFFLE( 0, 1, 2, 3 ) ); - - xmm_x_ptr_n_k_x2x0 = _mm_slli_epi32( xmm_x_ptr_n_k_x2x0, -rshifts - 1 ); - xmm_x_ptr_sub_x2x0 = _mm_slli_epi32( xmm_x_ptr_sub_x2x0, -rshifts - 1 ); - - /* equal shift right 4 bytes, xmm_x_ptr_n_k_x3x1 = _mm_srli_si128(xmm_x_ptr_n_k_x2x0, 4)*/ - xmm_x_ptr_n_k_x3x1 = _mm_shuffle_epi32( xmm_x_ptr_n_k_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - xmm_x_ptr_sub_x3x1 = _mm_shuffle_epi32( xmm_x_ptr_sub_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_x_ptr_n_k_x2x0 = _mm_mul_epi32( xmm_x_ptr_n_k_x2x0, xmm_tmp1 ); - xmm_x_ptr_n_k_x3x1 = _mm_mul_epi32( xmm_x_ptr_n_k_x3x1, xmm_tmp1 ); - xmm_x_ptr_sub_x2x0 = _mm_mul_epi32( xmm_x_ptr_sub_x2x0, xmm_tmp2 ); - xmm_x_ptr_sub_x3x1 = _mm_mul_epi32( xmm_x_ptr_sub_x3x1, xmm_tmp2 ); - - xmm_x_ptr_n_k_x2x0 = _mm_srli_epi64( xmm_x_ptr_n_k_x2x0, 16 ); - xmm_x_ptr_n_k_x3x1 = _mm_slli_epi64( xmm_x_ptr_n_k_x3x1, 16 ); - xmm_x_ptr_sub_x2x0 = _mm_srli_epi64( xmm_x_ptr_sub_x2x0, 16 ); - xmm_x_ptr_sub_x3x1 = _mm_slli_epi64( xmm_x_ptr_sub_x3x1, 16 ); - - xmm_x_ptr_n_k_x2x0 = _mm_blend_epi16( xmm_x_ptr_n_k_x2x0, xmm_x_ptr_n_k_x3x1, 0xCC ); - xmm_x_ptr_sub_x2x0 = _mm_blend_epi16( xmm_x_ptr_sub_x2x0, xmm_x_ptr_sub_x3x1, 0xCC ); - - X1_3210 = _mm_loadu_si128( (__m128i *)&CAf[ k ] ); - PTR_3210 = _mm_loadu_si128( (__m128i *)&CAb[ k ] ); - - X1_3210 = _mm_add_epi32( X1_3210, xmm_x_ptr_n_k_x2x0 ); - PTR_3210 = _mm_add_epi32( PTR_3210, xmm_x_ptr_sub_x2x0 ); - - _mm_storeu_si128( (__m128i *)&CAf[ k ], X1_3210 ); - _mm_storeu_si128( (__m128i *)&CAb[ k ], PTR_3210 ); - } - - for( ; k <= n; k++ ) { - CAf[ k ] = silk_SMLAWW( CAf[ k ], tmp1, - silk_LSHIFT32( (opus_int32)x_ptr[ n - k ], -rshifts - 1 ) ); /* Q( -rshift ) */ - CAb[ k ] = silk_SMLAWW( CAb[ k ], tmp2, - silk_LSHIFT32( (opus_int32)x_ptr[ subfr_length - n + k - 1 ], -rshifts - 1 ) ); /* Q( -rshift ) */ - } - } - } - } - - /* Calculate nominator and denominator for the next order reflection (parcor) coefficient */ - tmp1 = C_first_row[ n ]; /* Q( -rshifts ) */ - tmp2 = C_last_row[ n ]; /* Q( -rshifts ) */ - num = 0; /* Q( -rshifts ) */ - nrg = silk_ADD32( CAb[ 0 ], CAf[ 0 ] ); /* Q( 1-rshifts ) */ - for( k = 0; k < n; k++ ) { - Atmp_QA = Af_QA[ k ]; - lz = silk_CLZ32( silk_abs( Atmp_QA ) ) - 1; - lz = silk_min( 32 - QA, lz ); - Atmp1 = silk_LSHIFT32( Atmp_QA, lz ); /* Q( QA + lz ) */ - - tmp1 = silk_ADD_LSHIFT32( tmp1, silk_SMMUL( C_last_row[ n - k - 1 ], Atmp1 ), 32 - QA - lz ); /* Q( -rshifts ) */ - tmp2 = silk_ADD_LSHIFT32( tmp2, silk_SMMUL( C_first_row[ n - k - 1 ], Atmp1 ), 32 - QA - lz ); /* Q( -rshifts ) */ - num = silk_ADD_LSHIFT32( num, silk_SMMUL( CAb[ n - k ], Atmp1 ), 32 - QA - lz ); /* Q( -rshifts ) */ - nrg = silk_ADD_LSHIFT32( nrg, silk_SMMUL( silk_ADD32( CAb[ k + 1 ], CAf[ k + 1 ] ), - Atmp1 ), 32 - QA - lz ); /* Q( 1-rshifts ) */ - } - CAf[ n + 1 ] = tmp1; /* Q( -rshifts ) */ - CAb[ n + 1 ] = tmp2; /* Q( -rshifts ) */ - num = silk_ADD32( num, tmp2 ); /* Q( -rshifts ) */ - num = silk_LSHIFT32( -num, 1 ); /* Q( 1-rshifts ) */ - - /* Calculate the next order reflection (parcor) coefficient */ - if( silk_abs( num ) < nrg ) { - rc_Q31 = silk_DIV32_varQ( num, nrg, 31 ); - } else { - rc_Q31 = ( num > 0 ) ? silk_int32_MAX : silk_int32_MIN; - } - - /* Update inverse prediction gain */ - tmp1 = ( (opus_int32)1 << 30 ) - silk_SMMUL( rc_Q31, rc_Q31 ); - tmp1 = silk_LSHIFT( silk_SMMUL( invGain_Q30, tmp1 ), 2 ); - if( tmp1 <= minInvGain_Q30 ) { - /* Max prediction gain exceeded; set reflection coefficient such that max prediction gain is exactly hit */ - tmp2 = ( (opus_int32)1 << 30 ) - silk_DIV32_varQ( minInvGain_Q30, invGain_Q30, 30 ); /* Q30 */ - rc_Q31 = silk_SQRT_APPROX( tmp2 ); /* Q15 */ - if( rc_Q31 > 0 ) { - /* Newton-Raphson iteration */ - rc_Q31 = silk_RSHIFT32( rc_Q31 + silk_DIV32( tmp2, rc_Q31 ), 1 ); /* Q15 */ - rc_Q31 = silk_LSHIFT32( rc_Q31, 16 ); /* Q31 */ - if( num < 0 ) { - /* Ensure adjusted reflection coefficients has the original sign */ - rc_Q31 = -rc_Q31; - } - } - invGain_Q30 = minInvGain_Q30; - reached_max_gain = 1; - } else { - invGain_Q30 = tmp1; - } - - /* Update the AR coefficients */ - for( k = 0; k < (n + 1) >> 1; k++ ) { - tmp1 = Af_QA[ k ]; /* QA */ - tmp2 = Af_QA[ n - k - 1 ]; /* QA */ - Af_QA[ k ] = silk_ADD_LSHIFT32( tmp1, silk_SMMUL( tmp2, rc_Q31 ), 1 ); /* QA */ - Af_QA[ n - k - 1 ] = silk_ADD_LSHIFT32( tmp2, silk_SMMUL( tmp1, rc_Q31 ), 1 ); /* QA */ - } - Af_QA[ n ] = silk_RSHIFT32( rc_Q31, 31 - QA ); /* QA */ - - if( reached_max_gain ) { - /* Reached max prediction gain; set remaining coefficients to zero and exit loop */ - for( k = n + 1; k < D; k++ ) { - Af_QA[ k ] = 0; - } - break; - } - - /* Update C * Af and C * Ab */ - for( k = 0; k <= n + 1; k++ ) { - tmp1 = CAf[ k ]; /* Q( -rshifts ) */ - tmp2 = CAb[ n - k + 1 ]; /* Q( -rshifts ) */ - CAf[ k ] = silk_ADD_LSHIFT32( tmp1, silk_SMMUL( tmp2, rc_Q31 ), 1 ); /* Q( -rshifts ) */ - CAb[ n - k + 1 ] = silk_ADD_LSHIFT32( tmp2, silk_SMMUL( tmp1, rc_Q31 ), 1 ); /* Q( -rshifts ) */ - } - } - - if( reached_max_gain ) { - for( k = 0; k < D; k++ ) { - /* Scale coefficients */ - A_Q16[ k ] = -silk_RSHIFT_ROUND( Af_QA[ k ], QA - 16 ); - } - /* Subtract energy of preceding samples from C0 */ - if( rshifts > 0 ) { - for( s = 0; s < nb_subfr; s++ ) { - x_ptr = x + s * subfr_length; - C0 -= (opus_int32)silk_RSHIFT64( silk_inner_prod16_aligned_64( x_ptr, x_ptr, D, arch ), rshifts ); - } - } else { - for( s = 0; s < nb_subfr; s++ ) { - x_ptr = x + s * subfr_length; - C0 -= silk_LSHIFT32( silk_inner_prod_aligned( x_ptr, x_ptr, D, arch ), -rshifts ); - } - } - /* Approximate residual energy */ - *res_nrg = silk_LSHIFT( silk_SMMUL( invGain_Q30, C0 ), 2 ); - *res_nrg_Q = -rshifts; - } else { - /* Return residual energy */ - nrg = CAf[ 0 ]; /* Q( -rshifts ) */ - tmp1 = (opus_int32)1 << 16; /* Q16 */ - for( k = 0; k < D; k++ ) { - Atmp1 = silk_RSHIFT_ROUND( Af_QA[ k ], QA - 16 ); /* Q16 */ - nrg = silk_SMLAWW( nrg, CAf[ k + 1 ], Atmp1 ); /* Q( -rshifts ) */ - tmp1 = silk_SMLAWW( tmp1, Atmp1, Atmp1 ); /* Q16 */ - A_Q16[ k ] = -Atmp1; - } - *res_nrg = silk_SMLAWW( nrg, silk_SMMUL( SILK_FIX_CONST( FIND_LPC_COND_FAC, 32 ), C0 ), -tmp1 );/* Q( -rshifts ) */ - *res_nrg_Q = -rshifts; - } -} diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse4_1.c thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse4_1.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/x86/burg_modified_FIX_sse4_1.c 2022-05-25 21:46:09.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang +/* Copyright (c) 2014-2020, Cisco Systems, INC + Written by XiangMingZhu WeiZhou MinPeng YanWang FrancisQuiers Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -42,7 +42,7 @@ #define MAX_FRAME_SIZE 384 /* subfr_length * nb_subfr = ( 0.005 * 16000 + 16 ) * 4 = 384 */ #define QA 25 -#define N_BITS_HEAD_ROOM 2 +#define N_BITS_HEAD_ROOM 3 #define MIN_RSHIFTS -16 #define MAX_RSHIFTS (32 - QA) @@ -59,7 +59,7 @@ int arch /* I Run-time architecture */ ) { - opus_int k, n, s, lz, rshifts, rshifts_extra, reached_max_gain; + opus_int k, n, s, lz, rshifts, reached_max_gain; opus_int32 C0, num, nrg, rc_Q31, invGain_Q30, Atmp_QA, Atmp1, tmp1, tmp2, x1, x2; const opus_int16 *x_ptr; opus_int32 C_first_row[ SILK_MAX_ORDER_LPC ]; @@ -68,6 +68,7 @@ opus_int32 CAf[ SILK_MAX_ORDER_LPC + 1 ]; opus_int32 CAb[ SILK_MAX_ORDER_LPC + 1 ]; opus_int32 xcorr[ SILK_MAX_ORDER_LPC ]; + opus_int64 C0_64; __m128i FIRST_3210, LAST_3210, ATMP_3210, TMP1_3210, TMP2_3210, T1_3210, T2_3210, PTR_3210, SUBFR_3210, X1_3210, X2_3210; __m128i CONST1 = _mm_set1_epi32(1); @@ -75,23 +76,18 @@ celt_assert( subfr_length * nb_subfr <= MAX_FRAME_SIZE ); /* Compute autocorrelations, added over subframes */ - silk_sum_sqr_shift( &C0, &rshifts, x, nb_subfr * subfr_length ); - if( rshifts > MAX_RSHIFTS ) { - C0 = silk_LSHIFT32( C0, rshifts - MAX_RSHIFTS ); - silk_assert( C0 > 0 ); - rshifts = MAX_RSHIFTS; + C0_64 = silk_inner_prod16( x, x, subfr_length*nb_subfr, arch ); + lz = silk_CLZ64(C0_64); + rshifts = 32 + 1 + N_BITS_HEAD_ROOM - lz; + if (rshifts > MAX_RSHIFTS) rshifts = MAX_RSHIFTS; + if (rshifts < MIN_RSHIFTS) rshifts = MIN_RSHIFTS; + + if (rshifts > 0) { + C0 = (opus_int32)silk_RSHIFT64(C0_64, rshifts ); } else { - lz = silk_CLZ32( C0 ) - 1; - rshifts_extra = N_BITS_HEAD_ROOM - lz; - if( rshifts_extra > 0 ) { - rshifts_extra = silk_min( rshifts_extra, MAX_RSHIFTS - rshifts ); - C0 = silk_RSHIFT32( C0, rshifts_extra ); - } else { - rshifts_extra = silk_max( rshifts_extra, MIN_RSHIFTS - rshifts ); - C0 = silk_LSHIFT32( C0, -rshifts_extra ); - } - rshifts += rshifts_extra; + C0 = silk_LSHIFT32((opus_int32)C0_64, -rshifts ); } + CAb[ 0 ] = CAf[ 0 ] = C0 + silk_SMMUL( SILK_FIX_CONST( FIND_LPC_COND_FAC, 32 ), C0 ) + 1; /* Q(-rshifts) */ silk_memset( C_first_row, 0, SILK_MAX_ORDER_LPC * sizeof( opus_int32 ) ); if( rshifts > 0 ) { @@ -99,7 +95,7 @@ x_ptr = x + s * subfr_length; for( n = 1; n < D + 1; n++ ) { C_first_row[ n - 1 ] += (opus_int32)silk_RSHIFT64( - silk_inner_prod16_aligned_64( x_ptr, x_ptr + n, subfr_length - n, arch ), rshifts ); + silk_inner_prod16( x_ptr, x_ptr + n, subfr_length - n, arch ), rshifts ); } } } else { @@ -203,8 +199,11 @@ C_first_row[ k ] = silk_MLA( C_first_row[ k ], x1, x_ptr[ n - k - 1 ] ); /* Q( -rshifts ) */ C_last_row[ k ] = silk_MLA( C_last_row[ k ], x2, x_ptr[ subfr_length - n + k ] ); /* Q( -rshifts ) */ Atmp1 = silk_RSHIFT_ROUND( Af_QA[ k ], QA - 17 ); /* Q17 */ - tmp1 = silk_MLA( tmp1, x_ptr[ n - k - 1 ], Atmp1 ); /* Q17 */ - tmp2 = silk_MLA( tmp2, x_ptr[ subfr_length - n + k ], Atmp1 ); /* Q17 */ + /* We sometimes get overflows in the multiplications (even beyond +/- 2^32), + but they cancel each other and the real result seems to always fit in a 32-bit + signed integer. This was determined experimentally, not theoretically (unfortunately). */ + tmp1 = silk_MLA_ovflw( tmp1, x_ptr[ n - k - 1 ], Atmp1 ); /* Q17 */ + tmp2 = silk_MLA_ovflw( tmp2, x_ptr[ subfr_length - n + k ], Atmp1 ); /* Q17 */ } tmp1 = -tmp1; /* Q17 */ @@ -350,7 +349,7 @@ if( rshifts > 0 ) { for( s = 0; s < nb_subfr; s++ ) { x_ptr = x + s * subfr_length; - C0 -= (opus_int32)silk_RSHIFT64( silk_inner_prod16_aligned_64( x_ptr, x_ptr, D, arch ), rshifts ); + C0 -= (opus_int32)silk_RSHIFT64( silk_inner_prod16( x_ptr, x_ptr, D, arch ), rshifts ); } } else { for( s = 0; s < nb_subfr; s++ ) { @@ -374,4 +373,28 @@ *res_nrg = silk_SMLAWW( nrg, silk_SMMUL( SILK_FIX_CONST( FIND_LPC_COND_FAC, 32 ), C0 ), -tmp1 );/* Q( -rshifts ) */ *res_nrg_Q = -rshifts; } + +#ifdef OPUS_CHECK_ASM + { + opus_int32 res_nrg_c = 0; + opus_int res_nrg_Q_c = 0; + opus_int32 A_Q16_c[ MAX_LPC_ORDER ] = {0}; + + silk_burg_modified_c( + &res_nrg_c, + &res_nrg_Q_c, + A_Q16_c, + x, + minInvGain_Q30, + subfr_length, + nb_subfr, + D, + 0 + ); + + silk_assert( *res_nrg == res_nrg_c ); + silk_assert( *res_nrg_Q == res_nrg_Q_c ); + silk_assert( !memcmp( A_Q16, A_Q16_c, D * sizeof( *A_Q16 ) ) ); + } +#endif } diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse.c thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse.c --- thunderbird-91.8.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "main.h" - -#include "SigProc_FIX.h" -#include "pitch.h" - -opus_int64 silk_inner_prod16_aligned_64_sse4_1( - const opus_int16 *inVec1, /* I input vector 1 */ - const opus_int16 *inVec2, /* I input vector 2 */ - const opus_int len /* I vector lengths */ -) -{ - opus_int i, dataSize8; - opus_int64 sum; - - __m128i xmm_tempa; - __m128i inVec1_76543210, acc1; - __m128i inVec2_76543210, acc2; - - sum = 0; - dataSize8 = len & ~7; - - acc1 = _mm_setzero_si128(); - acc2 = _mm_setzero_si128(); - - for( i = 0; i < dataSize8; i += 8 ) { - inVec1_76543210 = _mm_loadu_si128( (__m128i *)(&inVec1[i + 0] ) ); - inVec2_76543210 = _mm_loadu_si128( (__m128i *)(&inVec2[i + 0] ) ); - - /* only when all 4 operands are -32768 (0x8000), this results in wrap around */ - inVec1_76543210 = _mm_madd_epi16( inVec1_76543210, inVec2_76543210 ); - - xmm_tempa = _mm_cvtepi32_epi64( inVec1_76543210 ); - /* equal shift right 8 bytes */ - inVec1_76543210 = _mm_shuffle_epi32( inVec1_76543210, _MM_SHUFFLE( 0, 0, 3, 2 ) ); - inVec1_76543210 = _mm_cvtepi32_epi64( inVec1_76543210 ); - - acc1 = _mm_add_epi64( acc1, xmm_tempa ); - acc2 = _mm_add_epi64( acc2, inVec1_76543210 ); - } - - acc1 = _mm_add_epi64( acc1, acc2 ); - - /* equal shift right 8 bytes */ - acc2 = _mm_shuffle_epi32( acc1, _MM_SHUFFLE( 0, 0, 3, 2 ) ); - acc1 = _mm_add_epi64( acc1, acc2 ); - - _mm_storel_epi64( (__m128i *)&sum, acc1 ); - - for( ; i < len; i++ ) { - sum = silk_SMLABB( sum, inVec1[ i ], inVec2[ i ] ); - } - - return sum; -} diff -Nru thunderbird-91.8.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse4_1.c thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse4_1.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/fixed/x86/vector_ops_FIX_sse4_1.c 2022-05-25 21:46:16.000000000 +0000 @@ -37,39 +37,36 @@ #include "SigProc_FIX.h" #include "pitch.h" -opus_int64 silk_inner_prod16_aligned_64_sse4_1( +opus_int64 silk_inner_prod16_sse4_1( const opus_int16 *inVec1, /* I input vector 1 */ const opus_int16 *inVec2, /* I input vector 2 */ const opus_int len /* I vector lengths */ ) { - opus_int i, dataSize8; + opus_int i, dataSize4; opus_int64 sum; - __m128i xmm_tempa; - __m128i inVec1_76543210, acc1; - __m128i inVec2_76543210, acc2; + __m128i xmm_prod_20, xmm_prod_31; + __m128i inVec1_3210, acc1; + __m128i inVec2_3210, acc2; sum = 0; - dataSize8 = len & ~7; + dataSize4 = len & ~3; acc1 = _mm_setzero_si128(); acc2 = _mm_setzero_si128(); - for( i = 0; i < dataSize8; i += 8 ) { - inVec1_76543210 = _mm_loadu_si128( (__m128i *)(&inVec1[i + 0] ) ); - inVec2_76543210 = _mm_loadu_si128( (__m128i *)(&inVec2[i + 0] ) ); - - /* only when all 4 operands are -32768 (0x8000), this results in wrap around */ - inVec1_76543210 = _mm_madd_epi16( inVec1_76543210, inVec2_76543210 ); - - xmm_tempa = _mm_cvtepi32_epi64( inVec1_76543210 ); - /* equal shift right 8 bytes */ - inVec1_76543210 = _mm_shuffle_epi32( inVec1_76543210, _MM_SHUFFLE( 0, 0, 3, 2 ) ); - inVec1_76543210 = _mm_cvtepi32_epi64( inVec1_76543210 ); + for( i = 0; i < dataSize4; i += 4 ) { + inVec1_3210 = OP_CVTEPI16_EPI32_M64( &inVec1[i + 0] ); + inVec2_3210 = OP_CVTEPI16_EPI32_M64( &inVec2[i + 0] ); + xmm_prod_20 = _mm_mul_epi32( inVec1_3210, inVec2_3210 ); + + inVec1_3210 = _mm_shuffle_epi32( inVec1_3210, _MM_SHUFFLE( 0, 3, 2, 1 ) ); + inVec2_3210 = _mm_shuffle_epi32( inVec2_3210, _MM_SHUFFLE( 0, 3, 2, 1 ) ); + xmm_prod_31 = _mm_mul_epi32( inVec1_3210, inVec2_3210 ); - acc1 = _mm_add_epi64( acc1, xmm_tempa ); - acc2 = _mm_add_epi64( acc2, inVec1_76543210 ); + acc1 = _mm_add_epi64( acc1, xmm_prod_20 ); + acc2 = _mm_add_epi64( acc2, xmm_prod_31 ); } acc1 = _mm_add_epi64( acc1, acc2 ); @@ -84,5 +81,12 @@ sum = silk_SMLABB( sum, inVec1[ i ], inVec2[ i ] ); } +#ifdef OPUS_CHECK_ASM + { + opus_int64 sum_c = silk_inner_prod16_c( inVec1, inVec2, len ); + silk_assert( sum == sum_c ); + } +#endif + return sum; } diff -Nru thunderbird-91.8.0/media/libopus/silk/float/warped_autocorrelation_FLP.c thunderbird-91.10.0/media/libopus/silk/float/warped_autocorrelation_FLP.c --- thunderbird-91.8.0/media/libopus/silk/float/warped_autocorrelation_FLP.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/float/warped_autocorrelation_FLP.c 2022-05-25 21:45:33.000000000 +0000 @@ -42,8 +42,8 @@ { opus_int n, i; double tmp1, tmp2; - double state[ MAX_SHAPE_LPC_ORDER + 1 ] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - double C[ MAX_SHAPE_LPC_ORDER + 1 ] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; + double state[ MAX_SHAPE_LPC_ORDER + 1 ] = { 0 }; + double C[ MAX_SHAPE_LPC_ORDER + 1 ] = { 0 }; /* Order must be even */ celt_assert( ( order & 1 ) == 0 ); diff -Nru thunderbird-91.8.0/media/libopus/silk/main.h thunderbird-91.10.0/media/libopus/silk/main.h --- thunderbird-91.8.0/media/libopus/silk/main.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/main.h 2022-05-25 21:46:56.000000000 +0000 @@ -247,21 +247,21 @@ /************************************/ void silk_NSQ_c( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int16 x16[], /* I Input */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); #if !defined(OVERRIDE_silk_NSQ) @@ -273,21 +273,21 @@ /* Noise shaping using delayed decision */ void silk_NSQ_del_dec_c( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int16 x16[], /* I Input */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); #if !defined(OVERRIDE_silk_NSQ_del_dec) diff -Nru thunderbird-91.8.0/media/libopus/silk/typedef.h thunderbird-91.10.0/media/libopus/silk/typedef.h --- thunderbird-91.8.0/media/libopus/silk/typedef.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/typedef.h 2022-05-25 21:46:16.000000000 +0000 @@ -67,6 +67,9 @@ static OPUS_INLINE void _silk_fatal(const char *str, const char *file, int line) { fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str); +#if defined(_MSC_VER) + _set_abort_behavior( 0, _WRITE_ABORT_MSG); +#endif abort(); } # define silk_assert(COND) {if (!(COND)) {silk_fatal("assertion failed: " #COND);}} diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/NSQ_del_dec_sse.c thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse.c --- thunderbird-91.8.0/media/libopus/silk/x86/NSQ_del_dec_sse.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,859 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "main.h" -#include "celt/x86/x86cpu.h" - -#include "stack_alloc.h" - -typedef struct { - opus_int32 sLPC_Q14[ MAX_SUB_FRAME_LENGTH + NSQ_LPC_BUF_LENGTH ]; - opus_int32 RandState[ DECISION_DELAY ]; - opus_int32 Q_Q10[ DECISION_DELAY ]; - opus_int32 Xq_Q14[ DECISION_DELAY ]; - opus_int32 Pred_Q15[ DECISION_DELAY ]; - opus_int32 Shape_Q14[ DECISION_DELAY ]; - opus_int32 sAR2_Q14[ MAX_SHAPE_LPC_ORDER ]; - opus_int32 LF_AR_Q14; - opus_int32 Seed; - opus_int32 SeedInit; - opus_int32 RD_Q10; -} NSQ_del_dec_struct; - -typedef struct { - opus_int32 Q_Q10; - opus_int32 RD_Q10; - opus_int32 xq_Q14; - opus_int32 LF_AR_Q14; - opus_int32 sLTP_shp_Q14; - opus_int32 LPC_exc_Q14; -} NSQ_sample_struct; - -typedef NSQ_sample_struct NSQ_sample_pair[ 2 ]; - -static OPUS_INLINE void silk_nsq_del_dec_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - const opus_int32 x_Q3[], /* I Input in Q3 */ - opus_int32 x_sc_Q10[], /* O Input scaled with 1/Gain in Q10 */ - const opus_int16 sLTP[], /* I Re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I Subframe number */ - opus_int nStatesDelayedDecision, /* I Number of del dec states */ - const opus_int LTP_scale_Q14, /* I LTP state scaling */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type, /* I Signal type */ - const opus_int decisionDelay /* I Decision delay */ -); - -/******************************************/ -/* Noise shape quantizer for one subframe */ -/******************************************/ -static OPUS_INLINE void silk_noise_shape_quantizer_del_dec_sse4_1( - silk_nsq_state *NSQ, /* I/O NSQ state */ - NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - opus_int signalType, /* I Signal type */ - const opus_int32 x_Q10[], /* I */ - opus_int8 pulses[], /* O */ - opus_int16 xq[], /* O */ - opus_int32 sLTP_Q15[], /* I/O LTP filter state */ - opus_int32 delayedGain_Q10[], /* I/O Gain delay buffer */ - const opus_int16 a_Q12[], /* I Short term prediction coefs */ - const opus_int16 b_Q14[], /* I Long term prediction coefs */ - const opus_int16 AR_shp_Q13[], /* I Noise shaping coefs */ - opus_int lag, /* I Pitch lag */ - opus_int32 HarmShapeFIRPacked_Q14, /* I */ - opus_int Tilt_Q14, /* I Spectral tilt */ - opus_int32 LF_shp_Q14, /* I */ - opus_int32 Gain_Q16, /* I */ - opus_int Lambda_Q10, /* I */ - opus_int offset_Q10, /* I */ - opus_int length, /* I Input length */ - opus_int subfr, /* I Subframe number */ - opus_int shapingLPCOrder, /* I Shaping LPC filter order */ - opus_int predictLPCOrder, /* I Prediction filter order */ - opus_int warping_Q16, /* I */ - opus_int nStatesDelayedDecision, /* I Number of states in decision tree */ - opus_int *smpl_buf_idx, /* I/O Index to newest samples in buffers */ - opus_int decisionDelay /* I */ -); - -void silk_NSQ_del_dec_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ -) -{ - opus_int i, k, lag, start_idx, LSF_interpolation_flag, Winner_ind, subfr; - opus_int last_smple_idx, smpl_buf_idx, decisionDelay; - const opus_int16 *A_Q12, *B_Q14, *AR_shp_Q13; - opus_int16 *pxq; - VARDECL( opus_int32, sLTP_Q15 ); - VARDECL( opus_int16, sLTP ); - opus_int32 HarmShapeFIRPacked_Q14; - opus_int offset_Q10; - opus_int32 RDmin_Q10, Gain_Q10; - VARDECL( opus_int32, x_sc_Q10 ); - VARDECL( opus_int32, delayedGain_Q10 ); - VARDECL( NSQ_del_dec_struct, psDelDec ); - NSQ_del_dec_struct *psDD; - SAVE_STACK; - - /* Set unvoiced lag to the previous one, overwrite later for voiced */ - lag = NSQ->lagPrev; - - silk_assert( NSQ->prev_gain_Q16 != 0 ); - - /* Initialize delayed decision states */ - ALLOC( psDelDec, psEncC->nStatesDelayedDecision, NSQ_del_dec_struct ); - silk_memset( psDelDec, 0, psEncC->nStatesDelayedDecision * sizeof( NSQ_del_dec_struct ) ); - for( k = 0; k < psEncC->nStatesDelayedDecision; k++ ) { - psDD = &psDelDec[ k ]; - psDD->Seed = ( k + psIndices->Seed ) & 3; - psDD->SeedInit = psDD->Seed; - psDD->RD_Q10 = 0; - psDD->LF_AR_Q14 = NSQ->sLF_AR_shp_Q14; - psDD->Shape_Q14[ 0 ] = NSQ->sLTP_shp_Q14[ psEncC->ltp_mem_length - 1 ]; - silk_memcpy( psDD->sLPC_Q14, NSQ->sLPC_Q14, NSQ_LPC_BUF_LENGTH * sizeof( opus_int32 ) ); - silk_memcpy( psDD->sAR2_Q14, NSQ->sAR2_Q14, sizeof( NSQ->sAR2_Q14 ) ); - } - - offset_Q10 = silk_Quantization_Offsets_Q10[ psIndices->signalType >> 1 ][ psIndices->quantOffsetType ]; - smpl_buf_idx = 0; /* index of oldest samples */ - - decisionDelay = silk_min_int( DECISION_DELAY, psEncC->subfr_length ); - - /* For voiced frames limit the decision delay to lower than the pitch lag */ - if( psIndices->signalType == TYPE_VOICED ) { - for( k = 0; k < psEncC->nb_subfr; k++ ) { - decisionDelay = silk_min_int( decisionDelay, pitchL[ k ] - LTP_ORDER / 2 - 1 ); - } - } else { - if( lag > 0 ) { - decisionDelay = silk_min_int( decisionDelay, lag - LTP_ORDER / 2 - 1 ); - } - } - - if( psIndices->NLSFInterpCoef_Q2 == 4 ) { - LSF_interpolation_flag = 0; - } else { - LSF_interpolation_flag = 1; - } - - ALLOC( sLTP_Q15, - psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); - ALLOC( sLTP, psEncC->ltp_mem_length + psEncC->frame_length, opus_int16 ); - ALLOC( x_sc_Q10, psEncC->subfr_length, opus_int32 ); - ALLOC( delayedGain_Q10, DECISION_DELAY, opus_int32 ); - /* Set up pointers to start of sub frame */ - pxq = &NSQ->xq[ psEncC->ltp_mem_length ]; - NSQ->sLTP_shp_buf_idx = psEncC->ltp_mem_length; - NSQ->sLTP_buf_idx = psEncC->ltp_mem_length; - subfr = 0; - for( k = 0; k < psEncC->nb_subfr; k++ ) { - A_Q12 = &PredCoef_Q12[ ( ( k >> 1 ) | ( 1 - LSF_interpolation_flag ) ) * MAX_LPC_ORDER ]; - B_Q14 = <PCoef_Q14[ k * LTP_ORDER ]; - AR_shp_Q13 = &AR2_Q13[ k * MAX_SHAPE_LPC_ORDER ]; - - /* Noise shape parameters */ - silk_assert( HarmShapeGain_Q14[ k ] >= 0 ); - HarmShapeFIRPacked_Q14 = silk_RSHIFT( HarmShapeGain_Q14[ k ], 2 ); - HarmShapeFIRPacked_Q14 |= silk_LSHIFT( (opus_int32)silk_RSHIFT( HarmShapeGain_Q14[ k ], 1 ), 16 ); - - NSQ->rewhite_flag = 0; - if( psIndices->signalType == TYPE_VOICED ) { - /* Voiced */ - lag = pitchL[ k ]; - - /* Re-whitening */ - if( ( k & ( 3 - silk_LSHIFT( LSF_interpolation_flag, 1 ) ) ) == 0 ) { - if( k == 2 ) { - /* RESET DELAYED DECISIONS */ - /* Find winner */ - RDmin_Q10 = psDelDec[ 0 ].RD_Q10; - Winner_ind = 0; - for( i = 1; i < psEncC->nStatesDelayedDecision; i++ ) { - if( psDelDec[ i ].RD_Q10 < RDmin_Q10 ) { - RDmin_Q10 = psDelDec[ i ].RD_Q10; - Winner_ind = i; - } - } - for( i = 0; i < psEncC->nStatesDelayedDecision; i++ ) { - if( i != Winner_ind ) { - psDelDec[ i ].RD_Q10 += ( silk_int32_MAX >> 4 ); - silk_assert( psDelDec[ i ].RD_Q10 >= 0 ); - } - } - - /* Copy final part of signals from winner state to output and long-term filter states */ - psDD = &psDelDec[ Winner_ind ]; - last_smple_idx = smpl_buf_idx + decisionDelay; - for( i = 0; i < decisionDelay; i++ ) { - last_smple_idx = ( last_smple_idx - 1 ) % DECISION_DELAY; - if( last_smple_idx < 0 ) last_smple_idx += DECISION_DELAY; - pulses[ i - decisionDelay ] = (opus_int8)silk_RSHIFT_ROUND( psDD->Q_Q10[ last_smple_idx ], 10 ); - pxq[ i - decisionDelay ] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( - silk_SMULWW( psDD->Xq_Q14[ last_smple_idx ], Gains_Q16[ 1 ] ), 14 ) ); - NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - decisionDelay + i ] = psDD->Shape_Q14[ last_smple_idx ]; - } - - subfr = 0; - } - - /* Rewhiten with new A coefs */ - start_idx = psEncC->ltp_mem_length - lag - psEncC->predictLPCOrder - LTP_ORDER / 2; - silk_assert( start_idx > 0 ); - - silk_LPC_analysis_filter( &sLTP[ start_idx ], &NSQ->xq[ start_idx + k * psEncC->subfr_length ], - A_Q12, psEncC->ltp_mem_length - start_idx, psEncC->predictLPCOrder, psEncC->arch ); - - NSQ->sLTP_buf_idx = psEncC->ltp_mem_length; - NSQ->rewhite_flag = 1; - } - } - - silk_nsq_del_dec_scale_states_sse4_1( psEncC, NSQ, psDelDec, x_Q3, x_sc_Q10, sLTP, sLTP_Q15, k, - psEncC->nStatesDelayedDecision, LTP_scale_Q14, Gains_Q16, pitchL, psIndices->signalType, decisionDelay ); - - silk_noise_shape_quantizer_del_dec_sse4_1( NSQ, psDelDec, psIndices->signalType, x_sc_Q10, pulses, pxq, sLTP_Q15, - delayedGain_Q10, A_Q12, B_Q14, AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], - Gains_Q16[ k ], Lambda_Q10, offset_Q10, psEncC->subfr_length, subfr++, psEncC->shapingLPCOrder, - psEncC->predictLPCOrder, psEncC->warping_Q16, psEncC->nStatesDelayedDecision, &smpl_buf_idx, decisionDelay ); - - x_Q3 += psEncC->subfr_length; - pulses += psEncC->subfr_length; - pxq += psEncC->subfr_length; - } - - /* Find winner */ - RDmin_Q10 = psDelDec[ 0 ].RD_Q10; - Winner_ind = 0; - for( k = 1; k < psEncC->nStatesDelayedDecision; k++ ) { - if( psDelDec[ k ].RD_Q10 < RDmin_Q10 ) { - RDmin_Q10 = psDelDec[ k ].RD_Q10; - Winner_ind = k; - } - } - - /* Copy final part of signals from winner state to output and long-term filter states */ - psDD = &psDelDec[ Winner_ind ]; - psIndices->Seed = psDD->SeedInit; - last_smple_idx = smpl_buf_idx + decisionDelay; - Gain_Q10 = silk_RSHIFT32( Gains_Q16[ psEncC->nb_subfr - 1 ], 6 ); - for( i = 0; i < decisionDelay; i++ ) { - last_smple_idx = ( last_smple_idx - 1 ) % DECISION_DELAY; - if( last_smple_idx < 0 ) last_smple_idx += DECISION_DELAY; - pulses[ i - decisionDelay ] = (opus_int8)silk_RSHIFT_ROUND( psDD->Q_Q10[ last_smple_idx ], 10 ); - pxq[ i - decisionDelay ] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( - silk_SMULWW( psDD->Xq_Q14[ last_smple_idx ], Gain_Q10 ), 8 ) ); - NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - decisionDelay + i ] = psDD->Shape_Q14[ last_smple_idx ]; - } - silk_memcpy( NSQ->sLPC_Q14, &psDD->sLPC_Q14[ psEncC->subfr_length ], NSQ_LPC_BUF_LENGTH * sizeof( opus_int32 ) ); - silk_memcpy( NSQ->sAR2_Q14, psDD->sAR2_Q14, sizeof( psDD->sAR2_Q14 ) ); - - /* Update states */ - NSQ->sLF_AR_shp_Q14 = psDD->LF_AR_Q14; - NSQ->lagPrev = pitchL[ psEncC->nb_subfr - 1 ]; - - /* Save quantized speech signal */ - silk_memmove( NSQ->xq, &NSQ->xq[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int16 ) ); - silk_memmove( NSQ->sLTP_shp_Q14, &NSQ->sLTP_shp_Q14[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int32 ) ); - RESTORE_STACK; -} - -/******************************************/ -/* Noise shape quantizer for one subframe */ -/******************************************/ -static OPUS_INLINE void silk_noise_shape_quantizer_del_dec_sse4_1( - silk_nsq_state *NSQ, /* I/O NSQ state */ - NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - opus_int signalType, /* I Signal type */ - const opus_int32 x_Q10[], /* I */ - opus_int8 pulses[], /* O */ - opus_int16 xq[], /* O */ - opus_int32 sLTP_Q15[], /* I/O LTP filter state */ - opus_int32 delayedGain_Q10[], /* I/O Gain delay buffer */ - const opus_int16 a_Q12[], /* I Short term prediction coefs */ - const opus_int16 b_Q14[], /* I Long term prediction coefs */ - const opus_int16 AR_shp_Q13[], /* I Noise shaping coefs */ - opus_int lag, /* I Pitch lag */ - opus_int32 HarmShapeFIRPacked_Q14, /* I */ - opus_int Tilt_Q14, /* I Spectral tilt */ - opus_int32 LF_shp_Q14, /* I */ - opus_int32 Gain_Q16, /* I */ - opus_int Lambda_Q10, /* I */ - opus_int offset_Q10, /* I */ - opus_int length, /* I Input length */ - opus_int subfr, /* I Subframe number */ - opus_int shapingLPCOrder, /* I Shaping LPC filter order */ - opus_int predictLPCOrder, /* I Prediction filter order */ - opus_int warping_Q16, /* I */ - opus_int nStatesDelayedDecision, /* I Number of states in decision tree */ - opus_int *smpl_buf_idx, /* I/O Index to newest samples in buffers */ - opus_int decisionDelay /* I */ -) -{ - opus_int i, j, k, Winner_ind, RDmin_ind, RDmax_ind, last_smple_idx; - opus_int32 Winner_rand_state; - opus_int32 LTP_pred_Q14, LPC_pred_Q14, n_AR_Q14, n_LTP_Q14; - opus_int32 n_LF_Q14, r_Q10, rr_Q10, rd1_Q10, rd2_Q10, RDmin_Q10, RDmax_Q10; - opus_int32 q1_Q0, q1_Q10, q2_Q10, exc_Q14, LPC_exc_Q14, xq_Q14, Gain_Q10; - opus_int32 tmp1, tmp2, sLF_AR_shp_Q14; - opus_int32 *pred_lag_ptr, *shp_lag_ptr, *psLPC_Q14; - VARDECL( NSQ_sample_pair, psSampleState ); - NSQ_del_dec_struct *psDD; - NSQ_sample_struct *psSS; - - __m128i a_Q12_0123, a_Q12_4567, a_Q12_89AB, a_Q12_CDEF; - __m128i b_Q12_0123, b_sr_Q12_0123; - SAVE_STACK; - - silk_assert( nStatesDelayedDecision > 0 ); - ALLOC( psSampleState, nStatesDelayedDecision, NSQ_sample_pair ); - - shp_lag_ptr = &NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - lag + HARM_SHAPE_FIR_TAPS / 2 ]; - pred_lag_ptr = &sLTP_Q15[ NSQ->sLTP_buf_idx - lag + LTP_ORDER / 2 ]; - Gain_Q10 = silk_RSHIFT( Gain_Q16, 6 ); - - a_Q12_0123 = OP_CVTEPI16_EPI32_M64( a_Q12 ); - a_Q12_4567 = OP_CVTEPI16_EPI32_M64( a_Q12 + 4 ); - - if( opus_likely( predictLPCOrder == 16 ) ) { - a_Q12_89AB = OP_CVTEPI16_EPI32_M64( a_Q12 + 8 ); - a_Q12_CDEF = OP_CVTEPI16_EPI32_M64( a_Q12 + 12 ); - } - - if( signalType == TYPE_VOICED ){ - b_Q12_0123 = OP_CVTEPI16_EPI32_M64( b_Q14 ); - b_sr_Q12_0123 = _mm_shuffle_epi32( b_Q12_0123, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - } - for( i = 0; i < length; i++ ) { - /* Perform common calculations used in all states */ - - /* Long-term prediction */ - if( signalType == TYPE_VOICED ) { - /* Unrolled loop */ - /* Avoids introducing a bias because silk_SMLAWB() always rounds to -inf */ - LTP_pred_Q14 = 2; - { - __m128i tmpa, tmpb, pred_lag_ptr_tmp; - pred_lag_ptr_tmp = _mm_loadu_si128( (__m128i *)(&pred_lag_ptr[ -3 ] ) ); - pred_lag_ptr_tmp = _mm_shuffle_epi32( pred_lag_ptr_tmp, 0x1B ); - tmpa = _mm_mul_epi32( pred_lag_ptr_tmp, b_Q12_0123 ); - tmpa = _mm_srli_si128( tmpa, 2 ); - - pred_lag_ptr_tmp = _mm_shuffle_epi32( pred_lag_ptr_tmp, _MM_SHUFFLE( 0, 3, 2, 1 ) );/* equal shift right 4 bytes */ - pred_lag_ptr_tmp = _mm_mul_epi32( pred_lag_ptr_tmp, b_sr_Q12_0123 ); - pred_lag_ptr_tmp = _mm_srli_si128( pred_lag_ptr_tmp, 2 ); - pred_lag_ptr_tmp = _mm_add_epi32( pred_lag_ptr_tmp, tmpa ); - - tmpb = _mm_shuffle_epi32( pred_lag_ptr_tmp, _MM_SHUFFLE( 0, 0, 3, 2 ) );/* equal shift right 8 bytes */ - pred_lag_ptr_tmp = _mm_add_epi32( pred_lag_ptr_tmp, tmpb ); - LTP_pred_Q14 += _mm_cvtsi128_si32( pred_lag_ptr_tmp ); - - LTP_pred_Q14 = silk_SMLAWB( LTP_pred_Q14, pred_lag_ptr[ -4 ], b_Q14[ 4 ] ); - LTP_pred_Q14 = silk_LSHIFT( LTP_pred_Q14, 1 ); /* Q13 -> Q14 */ - pred_lag_ptr++; - } - } else { - LTP_pred_Q14 = 0; - } - - /* Long-term shaping */ - if( lag > 0 ) { - /* Symmetric, packed FIR coefficients */ - n_LTP_Q14 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); - n_LTP_Q14 = silk_SMLAWT( n_LTP_Q14, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); - n_LTP_Q14 = silk_SUB_LSHIFT32( LTP_pred_Q14, n_LTP_Q14, 2 ); /* Q12 -> Q14 */ - shp_lag_ptr++; - } else { - n_LTP_Q14 = 0; - } - { - __m128i tmpa, tmpb, psLPC_Q14_tmp, a_Q12_tmp; - - for( k = 0; k < nStatesDelayedDecision; k++ ) { - /* Delayed decision state */ - psDD = &psDelDec[ k ]; - - /* Sample state */ - psSS = psSampleState[ k ]; - - /* Generate dither */ - psDD->Seed = silk_RAND( psDD->Seed ); - - /* Pointer used in short term prediction and shaping */ - psLPC_Q14 = &psDD->sLPC_Q14[ NSQ_LPC_BUF_LENGTH - 1 + i ]; - /* Short-term prediction */ - silk_assert( predictLPCOrder == 10 || predictLPCOrder == 16 ); - /* Avoids introducing a bias because silk_SMLAWB() always rounds to -inf */ - LPC_pred_Q14 = silk_RSHIFT( predictLPCOrder, 1 ); - - tmpb = _mm_setzero_si128(); - - /* step 1 */ - psLPC_Q14_tmp = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -3 ] ) ); /* -3, -2 , -1, 0 */ - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, 0x1B ); /* 0, -1, -2, -3 */ - tmpa = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_0123 ); /* 0, -1, -2, -3 * 0123 -> 0*0, 2*-2 */ - - tmpa = _mm_srli_epi64( tmpa, 16 ); - tmpb = _mm_add_epi32( tmpb, tmpa ); - - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - a_Q12_tmp = _mm_shuffle_epi32( a_Q12_0123, _MM_SHUFFLE(0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - psLPC_Q14_tmp = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_tmp ); /* 1*-1, 3*-3 */ - psLPC_Q14_tmp = _mm_srli_epi64( psLPC_Q14_tmp, 16 ); - tmpb = _mm_add_epi32( tmpb, psLPC_Q14_tmp ); - - /* step 2 */ - psLPC_Q14_tmp = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -7 ] ) ); - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, 0x1B ); - tmpa = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_4567 ); - tmpa = _mm_srli_epi64( tmpa, 16 ); - tmpb = _mm_add_epi32( tmpb, tmpa ); - - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - a_Q12_tmp = _mm_shuffle_epi32( a_Q12_4567, _MM_SHUFFLE(0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - psLPC_Q14_tmp = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_tmp ); - psLPC_Q14_tmp = _mm_srli_epi64( psLPC_Q14_tmp, 16 ); - tmpb = _mm_add_epi32( tmpb, psLPC_Q14_tmp ); - - if ( opus_likely( predictLPCOrder == 16 ) ) - { - /* step 3 */ - psLPC_Q14_tmp = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -11 ] ) ); - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, 0x1B ); - tmpa = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_89AB ); - tmpa = _mm_srli_epi64( tmpa, 16 ); - tmpb = _mm_add_epi32( tmpb, tmpa ); - - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - a_Q12_tmp = _mm_shuffle_epi32( a_Q12_89AB, _MM_SHUFFLE(0, 3, 2, 1 ) );/* equal shift right 4 bytes */ - psLPC_Q14_tmp = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_tmp ); - psLPC_Q14_tmp = _mm_srli_epi64( psLPC_Q14_tmp, 16 ); - tmpb = _mm_add_epi32( tmpb, psLPC_Q14_tmp ); - - /* setp 4 */ - psLPC_Q14_tmp = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -15 ] ) ); - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, 0x1B ); - tmpa = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_CDEF ); - tmpa = _mm_srli_epi64( tmpa, 16 ); - tmpb = _mm_add_epi32( tmpb, tmpa ); - - psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - a_Q12_tmp = _mm_shuffle_epi32( a_Q12_CDEF, _MM_SHUFFLE(0, 3, 2, 1 ) ); /* equal shift right 4 bytes */ - psLPC_Q14_tmp = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_tmp ); - psLPC_Q14_tmp = _mm_srli_epi64( psLPC_Q14_tmp, 16 ); - tmpb = _mm_add_epi32( tmpb, psLPC_Q14_tmp ); - - /* add at last */ - /* equal shift right 8 bytes*/ - tmpa = _mm_shuffle_epi32( tmpb, _MM_SHUFFLE( 0, 0, 3, 2 ) ); - tmpb = _mm_add_epi32( tmpb, tmpa ); - LPC_pred_Q14 += _mm_cvtsi128_si32( tmpb ); - } - else - { - /* add at last */ - tmpa = _mm_shuffle_epi32( tmpb, _MM_SHUFFLE( 0, 0, 3, 2 ) ); /* equal shift right 8 bytes*/ - tmpb = _mm_add_epi32( tmpb, tmpa ); - LPC_pred_Q14 += _mm_cvtsi128_si32( tmpb ); - - LPC_pred_Q14 = silk_SMLAWB( LPC_pred_Q14, psLPC_Q14[ -8 ], a_Q12[ 8 ] ); - LPC_pred_Q14 = silk_SMLAWB( LPC_pred_Q14, psLPC_Q14[ -9 ], a_Q12[ 9 ] ); - } - - LPC_pred_Q14 = silk_LSHIFT( LPC_pred_Q14, 4 ); /* Q10 -> Q14 */ - - /* Noise shape feedback */ - silk_assert( ( shapingLPCOrder & 1 ) == 0 ); /* check that order is even */ - /* Output of lowpass section */ - tmp2 = silk_SMLAWB( psLPC_Q14[ 0 ], psDD->sAR2_Q14[ 0 ], warping_Q16 ); - /* Output of allpass section */ - tmp1 = silk_SMLAWB( psDD->sAR2_Q14[ 0 ], psDD->sAR2_Q14[ 1 ] - tmp2, warping_Q16 ); - psDD->sAR2_Q14[ 0 ] = tmp2; - n_AR_Q14 = silk_RSHIFT( shapingLPCOrder, 1 ); - n_AR_Q14 = silk_SMLAWB( n_AR_Q14, tmp2, AR_shp_Q13[ 0 ] ); - /* Loop over allpass sections */ - for( j = 2; j < shapingLPCOrder; j += 2 ) { - /* Output of allpass section */ - tmp2 = silk_SMLAWB( psDD->sAR2_Q14[ j - 1 ], psDD->sAR2_Q14[ j + 0 ] - tmp1, warping_Q16 ); - psDD->sAR2_Q14[ j - 1 ] = tmp1; - n_AR_Q14 = silk_SMLAWB( n_AR_Q14, tmp1, AR_shp_Q13[ j - 1 ] ); - /* Output of allpass section */ - tmp1 = silk_SMLAWB( psDD->sAR2_Q14[ j + 0 ], psDD->sAR2_Q14[ j + 1 ] - tmp2, warping_Q16 ); - psDD->sAR2_Q14[ j + 0 ] = tmp2; - n_AR_Q14 = silk_SMLAWB( n_AR_Q14, tmp2, AR_shp_Q13[ j ] ); - } - psDD->sAR2_Q14[ shapingLPCOrder - 1 ] = tmp1; - n_AR_Q14 = silk_SMLAWB( n_AR_Q14, tmp1, AR_shp_Q13[ shapingLPCOrder - 1 ] ); - - n_AR_Q14 = silk_LSHIFT( n_AR_Q14, 1 ); /* Q11 -> Q12 */ - n_AR_Q14 = silk_SMLAWB( n_AR_Q14, psDD->LF_AR_Q14, Tilt_Q14 ); /* Q12 */ - n_AR_Q14 = silk_LSHIFT( n_AR_Q14, 2 ); /* Q12 -> Q14 */ - - n_LF_Q14 = silk_SMULWB( psDD->Shape_Q14[ *smpl_buf_idx ], LF_shp_Q14 ); /* Q12 */ - n_LF_Q14 = silk_SMLAWT( n_LF_Q14, psDD->LF_AR_Q14, LF_shp_Q14 ); /* Q12 */ - n_LF_Q14 = silk_LSHIFT( n_LF_Q14, 2 ); /* Q12 -> Q14 */ - - /* Input minus prediction plus noise feedback */ - /* r = x[ i ] - LTP_pred - LPC_pred + n_AR + n_Tilt + n_LF + n_LTP */ - tmp1 = silk_ADD32( n_AR_Q14, n_LF_Q14 ); /* Q14 */ - tmp2 = silk_ADD32( n_LTP_Q14, LPC_pred_Q14 ); /* Q13 */ - tmp1 = silk_SUB32( tmp2, tmp1 ); /* Q13 */ - tmp1 = silk_RSHIFT_ROUND( tmp1, 4 ); /* Q10 */ - - r_Q10 = silk_SUB32( x_Q10[ i ], tmp1 ); /* residual error Q10 */ - - /* Flip sign depending on dither */ - if ( psDD->Seed < 0 ) { - r_Q10 = -r_Q10; - } - r_Q10 = silk_LIMIT_32( r_Q10, -(31 << 10), 30 << 10 ); - - /* Find two quantization level candidates and measure their rate-distortion */ - q1_Q10 = silk_SUB32( r_Q10, offset_Q10 ); - q1_Q0 = silk_RSHIFT( q1_Q10, 10 ); - if( q1_Q0 > 0 ) { - q1_Q10 = silk_SUB32( silk_LSHIFT( q1_Q0, 10 ), QUANT_LEVEL_ADJUST_Q10 ); - q1_Q10 = silk_ADD32( q1_Q10, offset_Q10 ); - q2_Q10 = silk_ADD32( q1_Q10, 1024 ); - rd1_Q10 = silk_SMULBB( q1_Q10, Lambda_Q10 ); - rd2_Q10 = silk_SMULBB( q2_Q10, Lambda_Q10 ); - } else if( q1_Q0 == 0 ) { - q1_Q10 = offset_Q10; - q2_Q10 = silk_ADD32( q1_Q10, 1024 - QUANT_LEVEL_ADJUST_Q10 ); - rd1_Q10 = silk_SMULBB( q1_Q10, Lambda_Q10 ); - rd2_Q10 = silk_SMULBB( q2_Q10, Lambda_Q10 ); - } else if( q1_Q0 == -1 ) { - q2_Q10 = offset_Q10; - q1_Q10 = silk_SUB32( q2_Q10, 1024 - QUANT_LEVEL_ADJUST_Q10 ); - rd1_Q10 = silk_SMULBB( -q1_Q10, Lambda_Q10 ); - rd2_Q10 = silk_SMULBB( q2_Q10, Lambda_Q10 ); - } else { /* q1_Q0 < -1 */ - q1_Q10 = silk_ADD32( silk_LSHIFT( q1_Q0, 10 ), QUANT_LEVEL_ADJUST_Q10 ); - q1_Q10 = silk_ADD32( q1_Q10, offset_Q10 ); - q2_Q10 = silk_ADD32( q1_Q10, 1024 ); - rd1_Q10 = silk_SMULBB( -q1_Q10, Lambda_Q10 ); - rd2_Q10 = silk_SMULBB( -q2_Q10, Lambda_Q10 ); - } - rr_Q10 = silk_SUB32( r_Q10, q1_Q10 ); - rd1_Q10 = silk_RSHIFT( silk_SMLABB( rd1_Q10, rr_Q10, rr_Q10 ), 10 ); - rr_Q10 = silk_SUB32( r_Q10, q2_Q10 ); - rd2_Q10 = silk_RSHIFT( silk_SMLABB( rd2_Q10, rr_Q10, rr_Q10 ), 10 ); - - if( rd1_Q10 < rd2_Q10 ) { - psSS[ 0 ].RD_Q10 = silk_ADD32( psDD->RD_Q10, rd1_Q10 ); - psSS[ 1 ].RD_Q10 = silk_ADD32( psDD->RD_Q10, rd2_Q10 ); - psSS[ 0 ].Q_Q10 = q1_Q10; - psSS[ 1 ].Q_Q10 = q2_Q10; - } else { - psSS[ 0 ].RD_Q10 = silk_ADD32( psDD->RD_Q10, rd2_Q10 ); - psSS[ 1 ].RD_Q10 = silk_ADD32( psDD->RD_Q10, rd1_Q10 ); - psSS[ 0 ].Q_Q10 = q2_Q10; - psSS[ 1 ].Q_Q10 = q1_Q10; - } - - /* Update states for best quantization */ - - /* Quantized excitation */ - exc_Q14 = silk_LSHIFT32( psSS[ 0 ].Q_Q10, 4 ); - if ( psDD->Seed < 0 ) { - exc_Q14 = -exc_Q14; - } - - /* Add predictions */ - LPC_exc_Q14 = silk_ADD32( exc_Q14, LTP_pred_Q14 ); - xq_Q14 = silk_ADD32( LPC_exc_Q14, LPC_pred_Q14 ); - - /* Update states */ - sLF_AR_shp_Q14 = silk_SUB32( xq_Q14, n_AR_Q14 ); - psSS[ 0 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); - psSS[ 0 ].LF_AR_Q14 = sLF_AR_shp_Q14; - psSS[ 0 ].LPC_exc_Q14 = LPC_exc_Q14; - psSS[ 0 ].xq_Q14 = xq_Q14; - - /* Update states for second best quantization */ - - /* Quantized excitation */ - exc_Q14 = silk_LSHIFT32( psSS[ 1 ].Q_Q10, 4 ); - if ( psDD->Seed < 0 ) { - exc_Q14 = -exc_Q14; - } - - - /* Add predictions */ - LPC_exc_Q14 = silk_ADD32( exc_Q14, LTP_pred_Q14 ); - xq_Q14 = silk_ADD32( LPC_exc_Q14, LPC_pred_Q14 ); - - /* Update states */ - sLF_AR_shp_Q14 = silk_SUB32( xq_Q14, n_AR_Q14 ); - psSS[ 1 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); - psSS[ 1 ].LF_AR_Q14 = sLF_AR_shp_Q14; - psSS[ 1 ].LPC_exc_Q14 = LPC_exc_Q14; - psSS[ 1 ].xq_Q14 = xq_Q14; - } - } - *smpl_buf_idx = ( *smpl_buf_idx - 1 ) % DECISION_DELAY; - if( *smpl_buf_idx < 0 ) *smpl_buf_idx += DECISION_DELAY; - last_smple_idx = ( *smpl_buf_idx + decisionDelay ) % DECISION_DELAY; - - /* Find winner */ - RDmin_Q10 = psSampleState[ 0 ][ 0 ].RD_Q10; - Winner_ind = 0; - for( k = 1; k < nStatesDelayedDecision; k++ ) { - if( psSampleState[ k ][ 0 ].RD_Q10 < RDmin_Q10 ) { - RDmin_Q10 = psSampleState[ k ][ 0 ].RD_Q10; - Winner_ind = k; - } - } - - /* Increase RD values of expired states */ - Winner_rand_state = psDelDec[ Winner_ind ].RandState[ last_smple_idx ]; - for( k = 0; k < nStatesDelayedDecision; k++ ) { - if( psDelDec[ k ].RandState[ last_smple_idx ] != Winner_rand_state ) { - psSampleState[ k ][ 0 ].RD_Q10 = silk_ADD32( psSampleState[ k ][ 0 ].RD_Q10, silk_int32_MAX >> 4 ); - psSampleState[ k ][ 1 ].RD_Q10 = silk_ADD32( psSampleState[ k ][ 1 ].RD_Q10, silk_int32_MAX >> 4 ); - silk_assert( psSampleState[ k ][ 0 ].RD_Q10 >= 0 ); - } - } - - /* Find worst in first set and best in second set */ - RDmax_Q10 = psSampleState[ 0 ][ 0 ].RD_Q10; - RDmin_Q10 = psSampleState[ 0 ][ 1 ].RD_Q10; - RDmax_ind = 0; - RDmin_ind = 0; - for( k = 1; k < nStatesDelayedDecision; k++ ) { - /* find worst in first set */ - if( psSampleState[ k ][ 0 ].RD_Q10 > RDmax_Q10 ) { - RDmax_Q10 = psSampleState[ k ][ 0 ].RD_Q10; - RDmax_ind = k; - } - /* find best in second set */ - if( psSampleState[ k ][ 1 ].RD_Q10 < RDmin_Q10 ) { - RDmin_Q10 = psSampleState[ k ][ 1 ].RD_Q10; - RDmin_ind = k; - } - } - - /* Replace a state if best from second set outperforms worst in first set */ - if( RDmin_Q10 < RDmax_Q10 ) { - silk_memcpy( ( (opus_int32 *)&psDelDec[ RDmax_ind ] ) + i, - ( (opus_int32 *)&psDelDec[ RDmin_ind ] ) + i, sizeof( NSQ_del_dec_struct ) - i * sizeof( opus_int32) ); - silk_memcpy( &psSampleState[ RDmax_ind ][ 0 ], &psSampleState[ RDmin_ind ][ 1 ], sizeof( NSQ_sample_struct ) ); - } - - /* Write samples from winner to output and long-term filter states */ - psDD = &psDelDec[ Winner_ind ]; - if( subfr > 0 || i >= decisionDelay ) { - pulses[ i - decisionDelay ] = (opus_int8)silk_RSHIFT_ROUND( psDD->Q_Q10[ last_smple_idx ], 10 ); - xq[ i - decisionDelay ] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( - silk_SMULWW( psDD->Xq_Q14[ last_smple_idx ], delayedGain_Q10[ last_smple_idx ] ), 8 ) ); - NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - decisionDelay ] = psDD->Shape_Q14[ last_smple_idx ]; - sLTP_Q15[ NSQ->sLTP_buf_idx - decisionDelay ] = psDD->Pred_Q15[ last_smple_idx ]; - } - NSQ->sLTP_shp_buf_idx++; - NSQ->sLTP_buf_idx++; - - /* Update states */ - for( k = 0; k < nStatesDelayedDecision; k++ ) { - psDD = &psDelDec[ k ]; - psSS = &psSampleState[ k ][ 0 ]; - psDD->LF_AR_Q14 = psSS->LF_AR_Q14; - psDD->sLPC_Q14[ NSQ_LPC_BUF_LENGTH + i ] = psSS->xq_Q14; - psDD->Xq_Q14[ *smpl_buf_idx ] = psSS->xq_Q14; - psDD->Q_Q10[ *smpl_buf_idx ] = psSS->Q_Q10; - psDD->Pred_Q15[ *smpl_buf_idx ] = silk_LSHIFT32( psSS->LPC_exc_Q14, 1 ); - psDD->Shape_Q14[ *smpl_buf_idx ] = psSS->sLTP_shp_Q14; - psDD->Seed = silk_ADD32_ovflw( psDD->Seed, silk_RSHIFT_ROUND( psSS->Q_Q10, 10 ) ); - psDD->RandState[ *smpl_buf_idx ] = psDD->Seed; - psDD->RD_Q10 = psSS->RD_Q10; - } - delayedGain_Q10[ *smpl_buf_idx ] = Gain_Q10; - } - /* Update LPC states */ - for( k = 0; k < nStatesDelayedDecision; k++ ) { - psDD = &psDelDec[ k ]; - silk_memcpy( psDD->sLPC_Q14, &psDD->sLPC_Q14[ length ], NSQ_LPC_BUF_LENGTH * sizeof( opus_int32 ) ); - } - RESTORE_STACK; -} - -static OPUS_INLINE void silk_nsq_del_dec_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - const opus_int32 x_Q3[], /* I Input in Q3 */ - opus_int32 x_sc_Q10[], /* O Input scaled with 1/Gain in Q10 */ - const opus_int16 sLTP[], /* I Re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I Subframe number */ - opus_int nStatesDelayedDecision, /* I Number of del dec states */ - const opus_int LTP_scale_Q14, /* I LTP state scaling */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type, /* I Signal type */ - const opus_int decisionDelay /* I Decision delay */ -) -{ - opus_int i, k, lag; - opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q23; - NSQ_del_dec_struct *psDD; - __m128i xmm_inv_gain_Q23, xmm_x_Q3_x2x0, xmm_x_Q3_x3x1; - - lag = pitchL[ subfr ]; - inv_gain_Q31 = silk_INVERSE32_varQ( silk_max( Gains_Q16[ subfr ], 1 ), 47 ); - - silk_assert( inv_gain_Q31 != 0 ); - - /* Calculate gain adjustment factor */ - if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { - gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); - } else { - gain_adj_Q16 = (opus_int32)1 << 16; - } - - /* Scale input */ - inv_gain_Q23 = silk_RSHIFT_ROUND( inv_gain_Q31, 8 ); - - /* prepare inv_gain_Q23 in packed 4 32-bits */ - xmm_inv_gain_Q23 = _mm_set1_epi32(inv_gain_Q23); - - for( i = 0; i < psEncC->subfr_length - 3; i += 4 ) { - xmm_x_Q3_x2x0 = _mm_loadu_si128( (__m128i *)(&(x_Q3[ i ] ) ) ); - /* equal shift right 4 bytes*/ - xmm_x_Q3_x3x1 = _mm_shuffle_epi32( xmm_x_Q3_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_x_Q3_x2x0 = _mm_mul_epi32( xmm_x_Q3_x2x0, xmm_inv_gain_Q23 ); - xmm_x_Q3_x3x1 = _mm_mul_epi32( xmm_x_Q3_x3x1, xmm_inv_gain_Q23 ); - - xmm_x_Q3_x2x0 = _mm_srli_epi64( xmm_x_Q3_x2x0, 16 ); - xmm_x_Q3_x3x1 = _mm_slli_epi64( xmm_x_Q3_x3x1, 16 ); - - xmm_x_Q3_x2x0 = _mm_blend_epi16( xmm_x_Q3_x2x0, xmm_x_Q3_x3x1, 0xCC ); - - _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ])), xmm_x_Q3_x2x0 ); - } - - for( ; i < psEncC->subfr_length; i++ ) { - x_sc_Q10[ i ] = silk_SMULWW( x_Q3[ i ], inv_gain_Q23 ); - } - - /* Save inverse gain */ - NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; - - /* After rewhitening the LTP state is un-scaled, so scale with inv_gain_Q16 */ - if( NSQ->rewhite_flag ) { - if( subfr == 0 ) { - /* Do LTP downscaling */ - inv_gain_Q31 = silk_LSHIFT( silk_SMULWB( inv_gain_Q31, LTP_scale_Q14 ), 2 ); - } - for( i = NSQ->sLTP_buf_idx - lag - LTP_ORDER / 2; i < NSQ->sLTP_buf_idx; i++ ) { - silk_assert( i < MAX_FRAME_LENGTH ); - sLTP_Q15[ i ] = silk_SMULWB( inv_gain_Q31, sLTP[ i ] ); - } - } - - /* Adjust for changing gain */ - if( gain_adj_Q16 != (opus_int32)1 << 16 ) { - /* Scale long-term shaping state */ - { - __m128i xmm_gain_adj_Q16, xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1; - - /* prepare gain_adj_Q16 in packed 4 32-bits */ - xmm_gain_adj_Q16 = _mm_set1_epi32( gain_adj_Q16 ); - - for( i = NSQ->sLTP_shp_buf_idx - psEncC->ltp_mem_length; i < NSQ->sLTP_shp_buf_idx - 3; i += 4 ) - { - xmm_sLTP_shp_Q14_x2x0 = _mm_loadu_si128( (__m128i *)(&(NSQ->sLTP_shp_Q14[ i ] ) ) ); - /* equal shift right 4 bytes*/ - xmm_sLTP_shp_Q14_x3x1 = _mm_shuffle_epi32( xmm_sLTP_shp_Q14_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_mul_epi32( xmm_sLTP_shp_Q14_x2x0, xmm_gain_adj_Q16 ); - xmm_sLTP_shp_Q14_x3x1 = _mm_mul_epi32( xmm_sLTP_shp_Q14_x3x1, xmm_gain_adj_Q16 ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_srli_epi64( xmm_sLTP_shp_Q14_x2x0, 16 ); - xmm_sLTP_shp_Q14_x3x1 = _mm_slli_epi64( xmm_sLTP_shp_Q14_x3x1, 16 ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_blend_epi16( xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1, 0xCC ); - - _mm_storeu_si128( (__m128i *)(&(NSQ->sLTP_shp_Q14[ i ] ) ), xmm_sLTP_shp_Q14_x2x0 ); - } - - for( ; i < NSQ->sLTP_shp_buf_idx; i++ ) { - NSQ->sLTP_shp_Q14[ i ] = silk_SMULWW( gain_adj_Q16, NSQ->sLTP_shp_Q14[ i ] ); - } - - /* Scale long-term prediction state */ - if( signal_type == TYPE_VOICED && NSQ->rewhite_flag == 0 ) { - for( i = NSQ->sLTP_buf_idx - lag - LTP_ORDER / 2; i < NSQ->sLTP_buf_idx - decisionDelay; i++ ) { - sLTP_Q15[ i ] = silk_SMULWW( gain_adj_Q16, sLTP_Q15[ i ] ); - } - } - - for( k = 0; k < nStatesDelayedDecision; k++ ) { - psDD = &psDelDec[ k ]; - - /* Scale scalar states */ - psDD->LF_AR_Q14 = silk_SMULWW( gain_adj_Q16, psDD->LF_AR_Q14 ); - - /* Scale short-term prediction and shaping states */ - for( i = 0; i < NSQ_LPC_BUF_LENGTH; i++ ) { - psDD->sLPC_Q14[ i ] = silk_SMULWW( gain_adj_Q16, psDD->sLPC_Q14[ i ] ); - } - for( i = 0; i < MAX_SHAPE_LPC_ORDER; i++ ) { - psDD->sAR2_Q14[ i ] = silk_SMULWW( gain_adj_Q16, psDD->sAR2_Q14[ i ] ); - } - for( i = 0; i < DECISION_DELAY; i++ ) { - psDD->Pred_Q15[ i ] = silk_SMULWW( gain_adj_Q16, psDD->Pred_Q15[ i ] ); - psDD->Shape_Q14[ i ] = silk_SMULWW( gain_adj_Q16, psDD->Shape_Q14[ i ] ); - } - } - } - } -} diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/NSQ_del_dec_sse4_1.c thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/x86/NSQ_del_dec_sse4_1.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/NSQ_del_dec_sse4_1.c 2022-05-25 21:47:01.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang +/* Copyright (c) 2014-2020, Cisco Systems, INC + Written by XiangMingZhu WeiZhou MinPeng YanWang FrancisQuiers Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -46,6 +46,7 @@ opus_int32 Shape_Q14[ DECISION_DELAY ]; opus_int32 sAR2_Q14[ MAX_SHAPE_LPC_ORDER ]; opus_int32 LF_AR_Q14; + opus_int32 Diff_Q14; opus_int32 Seed; opus_int32 SeedInit; opus_int32 RD_Q10; @@ -56,6 +57,7 @@ opus_int32 RD_Q10; opus_int32 xq_Q14; opus_int32 LF_AR_Q14; + opus_int32 Diff_Q14; opus_int32 sLTP_shp_Q14; opus_int32 LPC_exc_Q14; } NSQ_sample_struct; @@ -66,7 +68,7 @@ const silk_encoder_state *psEncC, /* I Encoder State */ silk_nsq_state *NSQ, /* I/O NSQ state */ NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - const opus_int32 x_Q3[], /* I Input in Q3 */ + const opus_int16 x16[], /* I Input */ opus_int32 x_sc_Q10[], /* O Input scaled with 1/Gain in Q10 */ const opus_int16 sLTP[], /* I Re-whitened LTP state in Q0 */ opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ @@ -112,21 +114,21 @@ ); void silk_NSQ_del_dec_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) { opus_int i, k, lag, start_idx, LSF_interpolation_flag, Winner_ind, subfr; @@ -142,8 +144,39 @@ VARDECL( opus_int32, delayedGain_Q10 ); VARDECL( NSQ_del_dec_struct, psDelDec ); NSQ_del_dec_struct *psDD; +#ifdef OPUS_CHECK_ASM + silk_nsq_state NSQ_c; + SideInfoIndices psIndices_c; + opus_int8 pulses_c[ MAX_FRAME_LENGTH ]; + const opus_int8 *const pulses_a = pulses; +#endif SAVE_STACK; +#ifdef OPUS_CHECK_ASM + ( void )pulses_a; + silk_memcpy( &NSQ_c, NSQ, sizeof( NSQ_c ) ); + silk_memcpy( &psIndices_c, psIndices, sizeof( psIndices_c ) ); + silk_assert( psEncC->nb_subfr * psEncC->subfr_length <= MAX_FRAME_LENGTH ); + silk_memcpy( pulses_c, pulses, psEncC->nb_subfr * psEncC->subfr_length * sizeof( pulses[0] ) ); + silk_NSQ_del_dec_c( + psEncC, + &NSQ_c, + &psIndices_c, + x16, + pulses_c, + PredCoef_Q12, + LTPCoef_Q14, + AR_Q13, + HarmShapeGain_Q14, + Tilt_Q14, + LF_shp_Q14, + Gains_Q16, + pitchL, + Lambda_Q10, + LTP_scale_Q14 + ); +#endif + /* Set unvoiced lag to the previous one, overwrite later for voiced */ lag = NSQ->lagPrev; @@ -158,6 +191,7 @@ psDD->SeedInit = psDD->Seed; psDD->RD_Q10 = 0; psDD->LF_AR_Q14 = NSQ->sLF_AR_shp_Q14; + psDD->Diff_Q14 = NSQ->sDiff_shp_Q14; psDD->Shape_Q14[ 0 ] = NSQ->sLTP_shp_Q14[ psEncC->ltp_mem_length - 1 ]; silk_memcpy( psDD->sLPC_Q14, NSQ->sLPC_Q14, NSQ_LPC_BUF_LENGTH * sizeof( opus_int32 ) ); silk_memcpy( psDD->sAR2_Q14, NSQ->sAR2_Q14, sizeof( NSQ->sAR2_Q14 ) ); @@ -185,8 +219,7 @@ LSF_interpolation_flag = 1; } - ALLOC( sLTP_Q15, - psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); + ALLOC( sLTP_Q15, psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); ALLOC( sLTP, psEncC->ltp_mem_length + psEncC->frame_length, opus_int16 ); ALLOC( x_sc_Q10, psEncC->subfr_length, opus_int32 ); ALLOC( delayedGain_Q10, DECISION_DELAY, opus_int32 ); @@ -198,7 +231,7 @@ for( k = 0; k < psEncC->nb_subfr; k++ ) { A_Q12 = &PredCoef_Q12[ ( ( k >> 1 ) | ( 1 - LSF_interpolation_flag ) ) * MAX_LPC_ORDER ]; B_Q14 = <PCoef_Q14[ k * LTP_ORDER ]; - AR_shp_Q13 = &AR2_Q13[ k * MAX_SHAPE_LPC_ORDER ]; + AR_shp_Q13 = &AR_Q13[ k * MAX_SHAPE_LPC_ORDER ]; /* Noise shape parameters */ silk_assert( HarmShapeGain_Q14[ k ] >= 0 ); @@ -257,7 +290,7 @@ } } - silk_nsq_del_dec_scale_states_sse4_1( psEncC, NSQ, psDelDec, x_Q3, x_sc_Q10, sLTP, sLTP_Q15, k, + silk_nsq_del_dec_scale_states_sse4_1( psEncC, NSQ, psDelDec, x16, x_sc_Q10, sLTP, sLTP_Q15, k, psEncC->nStatesDelayedDecision, LTP_scale_Q14, Gains_Q16, pitchL, psIndices->signalType, decisionDelay ); silk_noise_shape_quantizer_del_dec_sse4_1( NSQ, psDelDec, psIndices->signalType, x_sc_Q10, pulses, pxq, sLTP_Q15, @@ -265,7 +298,7 @@ Gains_Q16[ k ], Lambda_Q10, offset_Q10, psEncC->subfr_length, subfr++, psEncC->shapingLPCOrder, psEncC->predictLPCOrder, psEncC->warping_Q16, psEncC->nStatesDelayedDecision, &smpl_buf_idx, decisionDelay ); - x_Q3 += psEncC->subfr_length; + x16 += psEncC->subfr_length; pulses += psEncC->subfr_length; pxq += psEncC->subfr_length; } @@ -288,6 +321,7 @@ for( i = 0; i < decisionDelay; i++ ) { last_smple_idx = ( last_smple_idx - 1 ) % DECISION_DELAY; if( last_smple_idx < 0 ) last_smple_idx += DECISION_DELAY; + pulses[ i - decisionDelay ] = (opus_int8)silk_RSHIFT_ROUND( psDD->Q_Q10[ last_smple_idx ], 10 ); pxq[ i - decisionDelay ] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( silk_SMULWW( psDD->Xq_Q14[ last_smple_idx ], Gain_Q10 ), 8 ) ); @@ -298,11 +332,19 @@ /* Update states */ NSQ->sLF_AR_shp_Q14 = psDD->LF_AR_Q14; + NSQ->sDiff_shp_Q14 = psDD->Diff_Q14; NSQ->lagPrev = pitchL[ psEncC->nb_subfr - 1 ]; /* Save quantized speech signal */ silk_memmove( NSQ->xq, &NSQ->xq[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int16 ) ); silk_memmove( NSQ->sLTP_shp_Q14, &NSQ->sLTP_shp_Q14[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int32 ) ); + +#ifdef OPUS_CHECK_ASM + silk_assert( !memcmp( &NSQ_c, NSQ, sizeof( NSQ_c ) ) ); + silk_assert( !memcmp( &psIndices_c, psIndices, sizeof( psIndices_c ) ) ); + silk_assert( !memcmp( pulses_c, pulses_a, psEncC->nb_subfr * psEncC->subfr_length * sizeof( pulses[0] ) ) ); +#endif + RESTORE_STACK; } @@ -345,6 +387,7 @@ opus_int32 q1_Q0, q1_Q10, q2_Q10, exc_Q14, LPC_exc_Q14, xq_Q14, Gain_Q10; opus_int32 tmp1, tmp2, sLF_AR_shp_Q14; opus_int32 *pred_lag_ptr, *shp_lag_ptr, *psLPC_Q14; + VARDECL( NSQ_sample_pair, psSampleState ); NSQ_del_dec_struct *psDD; NSQ_sample_struct *psSS; @@ -356,6 +399,8 @@ celt_assert( nStatesDelayedDecision > 0 ); ALLOC( psSampleState, nStatesDelayedDecision, NSQ_sample_pair ); + int rdo_offset = (Lambda_Q10 >> 1) - 512; + shp_lag_ptr = &NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - lag + HARM_SHAPE_FIR_TAPS / 2 ]; pred_lag_ptr = &sLTP_Q15[ NSQ->sLTP_buf_idx - lag + LTP_ORDER / 2 ]; Gain_Q10 = silk_RSHIFT( Gain_Q16, 6 ); @@ -407,8 +452,8 @@ /* Long-term shaping */ if( lag > 0 ) { /* Symmetric, packed FIR coefficients */ - n_LTP_Q14 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); - n_LTP_Q14 = silk_SMLAWT( n_LTP_Q14, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); + n_LTP_Q14 = silk_SMULWB( silk_ADD_SAT32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); + n_LTP_Q14 = silk_SMLAWT( n_LTP_Q14, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); n_LTP_Q14 = silk_SUB_LSHIFT32( LTP_pred_Q14, n_LTP_Q14, 2 ); /* Q12 -> Q14 */ shp_lag_ptr++; } else { @@ -478,7 +523,7 @@ psLPC_Q14_tmp = _mm_srli_epi64( psLPC_Q14_tmp, 16 ); tmpb = _mm_add_epi32( tmpb, psLPC_Q14_tmp ); - /* setp 4 */ + /* step 4 */ psLPC_Q14_tmp = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -15 ] ) ); psLPC_Q14_tmp = _mm_shuffle_epi32( psLPC_Q14_tmp, 0x1B ); tmpa = _mm_mul_epi32( psLPC_Q14_tmp, a_Q12_CDEF ); @@ -511,9 +556,9 @@ LPC_pred_Q14 = silk_LSHIFT( LPC_pred_Q14, 4 ); /* Q10 -> Q14 */ /* Noise shape feedback */ - silk_assert( ( shapingLPCOrder & 1 ) == 0 ); /* check that order is even */ + celt_assert( ( shapingLPCOrder & 1 ) == 0 ); /* check that order is even */ /* Output of lowpass section */ - tmp2 = silk_SMLAWB( psLPC_Q14[ 0 ], psDD->sAR2_Q14[ 0 ], warping_Q16 ); + tmp2 = silk_SMLAWB( psDD->Diff_Q14, psDD->sAR2_Q14[ 0 ], warping_Q16 ); /* Output of allpass section */ tmp1 = silk_SMLAWB( psDD->sAR2_Q14[ 0 ], psDD->sAR2_Q14[ 1 ] - tmp2, warping_Q16 ); psDD->sAR2_Q14[ 0 ] = tmp2; @@ -543,9 +588,9 @@ /* Input minus prediction plus noise feedback */ /* r = x[ i ] - LTP_pred - LPC_pred + n_AR + n_Tilt + n_LF + n_LTP */ - tmp1 = silk_ADD32( n_AR_Q14, n_LF_Q14 ); /* Q14 */ + tmp1 = silk_ADD_SAT32( n_AR_Q14, n_LF_Q14 ); /* Q14 */ tmp2 = silk_ADD32( n_LTP_Q14, LPC_pred_Q14 ); /* Q13 */ - tmp1 = silk_SUB32( tmp2, tmp1 ); /* Q13 */ + tmp1 = silk_SUB_SAT32( tmp2, tmp1 ); /* Q13 */ tmp1 = silk_RSHIFT_ROUND( tmp1, 4 ); /* Q10 */ r_Q10 = silk_SUB32( x_Q10[ i ], tmp1 ); /* residual error Q10 */ @@ -559,6 +604,18 @@ /* Find two quantization level candidates and measure their rate-distortion */ q1_Q10 = silk_SUB32( r_Q10, offset_Q10 ); q1_Q0 = silk_RSHIFT( q1_Q10, 10 ); + if (Lambda_Q10 > 2048) { + /* For aggressive RDO, the bias becomes more than one pulse. */ + if (q1_Q10 > rdo_offset) { + q1_Q0 = silk_RSHIFT( q1_Q10 - rdo_offset, 10 ); + } else if (q1_Q10 < -rdo_offset) { + q1_Q0 = silk_RSHIFT( q1_Q10 + rdo_offset, 10 ); + } else if (q1_Q10 < 0) { + q1_Q0 = -1; + } else { + q1_Q0 = 0; + } + } if( q1_Q0 > 0 ) { q1_Q10 = silk_SUB32( silk_LSHIFT( q1_Q0, 10 ), QUANT_LEVEL_ADJUST_Q10 ); q1_Q10 = silk_ADD32( q1_Q10, offset_Q10 ); @@ -612,8 +669,9 @@ xq_Q14 = silk_ADD32( LPC_exc_Q14, LPC_pred_Q14 ); /* Update states */ - sLF_AR_shp_Q14 = silk_SUB32( xq_Q14, n_AR_Q14 ); - psSS[ 0 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); + psSS[ 0 ].Diff_Q14 = silk_SUB_LSHIFT32( xq_Q14, x_Q10[ i ], 4 ); + sLF_AR_shp_Q14 = silk_SUB32( psSS[ 0 ].Diff_Q14, n_AR_Q14 ); + psSS[ 0 ].sLTP_shp_Q14 = silk_SUB_SAT32( sLF_AR_shp_Q14, n_LF_Q14 ); psSS[ 0 ].LF_AR_Q14 = sLF_AR_shp_Q14; psSS[ 0 ].LPC_exc_Q14 = LPC_exc_Q14; psSS[ 0 ].xq_Q14 = xq_Q14; @@ -626,14 +684,14 @@ exc_Q14 = -exc_Q14; } - /* Add predictions */ LPC_exc_Q14 = silk_ADD32( exc_Q14, LTP_pred_Q14 ); xq_Q14 = silk_ADD32( LPC_exc_Q14, LPC_pred_Q14 ); /* Update states */ - sLF_AR_shp_Q14 = silk_SUB32( xq_Q14, n_AR_Q14 ); - psSS[ 1 ].sLTP_shp_Q14 = silk_SUB32( sLF_AR_shp_Q14, n_LF_Q14 ); + psSS[ 1 ].Diff_Q14 = silk_SUB_LSHIFT32( xq_Q14, x_Q10[ i ], 4 ); + sLF_AR_shp_Q14 = silk_SUB32( psSS[ 1 ].Diff_Q14, n_AR_Q14 ); + psSS[ 1 ].sLTP_shp_Q14 = silk_SUB_SAT32( sLF_AR_shp_Q14, n_LF_Q14 ); psSS[ 1 ].LF_AR_Q14 = sLF_AR_shp_Q14; psSS[ 1 ].LPC_exc_Q14 = LPC_exc_Q14; psSS[ 1 ].xq_Q14 = xq_Q14; @@ -705,6 +763,7 @@ psDD = &psDelDec[ k ]; psSS = &psSampleState[ k ][ 0 ]; psDD->LF_AR_Q14 = psSS->LF_AR_Q14; + psDD->Diff_Q14 = psSS->Diff_Q14; psDD->sLPC_Q14[ NSQ_LPC_BUF_LENGTH + i ] = psSS->xq_Q14; psDD->Xq_Q14[ *smpl_buf_idx ] = psSS->xq_Q14; psDD->Q_Q10[ *smpl_buf_idx ] = psSS->Q_Q10; @@ -728,7 +787,7 @@ const silk_encoder_state *psEncC, /* I Encoder State */ silk_nsq_state *NSQ, /* I/O NSQ state */ NSQ_del_dec_struct psDelDec[], /* I/O Delayed decision states */ - const opus_int32 x_Q3[], /* I Input in Q3 */ + const opus_int16 x16[], /* I Input */ opus_int32 x_sc_Q10[], /* O Input scaled with 1/Gain in Q10 */ const opus_int16 sLTP[], /* I Re-whitened LTP state in Q0 */ opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ @@ -742,51 +801,41 @@ ) { opus_int i, k, lag; - opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q23; + opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q26; NSQ_del_dec_struct *psDD; - __m128i xmm_inv_gain_Q23, xmm_x_Q3_x2x0, xmm_x_Q3_x3x1; + __m128i xmm_inv_gain_Q26, xmm_x16_x2x0, xmm_x16_x3x1; lag = pitchL[ subfr ]; inv_gain_Q31 = silk_INVERSE32_varQ( silk_max( Gains_Q16[ subfr ], 1 ), 47 ); - silk_assert( inv_gain_Q31 != 0 ); - /* Calculate gain adjustment factor */ - if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { - gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); - } else { - gain_adj_Q16 = (opus_int32)1 << 16; - } - /* Scale input */ - inv_gain_Q23 = silk_RSHIFT_ROUND( inv_gain_Q31, 8 ); + inv_gain_Q26 = silk_RSHIFT_ROUND( inv_gain_Q31, 5 ); - /* prepare inv_gain_Q23 in packed 4 32-bits */ - xmm_inv_gain_Q23 = _mm_set1_epi32(inv_gain_Q23); + /* prepare inv_gain_Q26 in packed 4 32-bits */ + xmm_inv_gain_Q26 = _mm_set1_epi32(inv_gain_Q26); for( i = 0; i < psEncC->subfr_length - 3; i += 4 ) { - xmm_x_Q3_x2x0 = _mm_loadu_si128( (__m128i *)(&(x_Q3[ i ] ) ) ); + xmm_x16_x2x0 = OP_CVTEPI16_EPI32_M64( &(x16[ i ] ) ); + /* equal shift right 4 bytes*/ - xmm_x_Q3_x3x1 = _mm_shuffle_epi32( xmm_x_Q3_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); + xmm_x16_x3x1 = _mm_shuffle_epi32( xmm_x16_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - xmm_x_Q3_x2x0 = _mm_mul_epi32( xmm_x_Q3_x2x0, xmm_inv_gain_Q23 ); - xmm_x_Q3_x3x1 = _mm_mul_epi32( xmm_x_Q3_x3x1, xmm_inv_gain_Q23 ); + xmm_x16_x2x0 = _mm_mul_epi32( xmm_x16_x2x0, xmm_inv_gain_Q26 ); + xmm_x16_x3x1 = _mm_mul_epi32( xmm_x16_x3x1, xmm_inv_gain_Q26 ); - xmm_x_Q3_x2x0 = _mm_srli_epi64( xmm_x_Q3_x2x0, 16 ); - xmm_x_Q3_x3x1 = _mm_slli_epi64( xmm_x_Q3_x3x1, 16 ); + xmm_x16_x2x0 = _mm_srli_epi64( xmm_x16_x2x0, 16 ); + xmm_x16_x3x1 = _mm_slli_epi64( xmm_x16_x3x1, 16 ); - xmm_x_Q3_x2x0 = _mm_blend_epi16( xmm_x_Q3_x2x0, xmm_x_Q3_x3x1, 0xCC ); + xmm_x16_x2x0 = _mm_blend_epi16( xmm_x16_x2x0, xmm_x16_x3x1, 0xCC ); - _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ])), xmm_x_Q3_x2x0 ); + _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ] ) ), xmm_x16_x2x0 ); } for( ; i < psEncC->subfr_length; i++ ) { - x_sc_Q10[ i ] = silk_SMULWW( x_Q3[ i ], inv_gain_Q23 ); + x_sc_Q10[ i ] = silk_SMULWW( x16[ i ], inv_gain_Q26 ); } - /* Save inverse gain */ - NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; - /* After rewhitening the LTP state is un-scaled, so scale with inv_gain_Q16 */ if( NSQ->rewhite_flag ) { if( subfr == 0 ) { @@ -800,7 +849,9 @@ } /* Adjust for changing gain */ - if( gain_adj_Q16 != (opus_int32)1 << 16 ) { + if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { + gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); + /* Scale long-term shaping state */ { __m128i xmm_gain_adj_Q16, xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1; @@ -841,6 +892,7 @@ /* Scale scalar states */ psDD->LF_AR_Q14 = silk_SMULWW( gain_adj_Q16, psDD->LF_AR_Q14 ); + psDD->Diff_Q14 = silk_SMULWW( gain_adj_Q16, psDD->Diff_Q14 ); /* Scale short-term prediction and shaping states */ for( i = 0; i < NSQ_LPC_BUF_LENGTH; i++ ) { @@ -855,5 +907,8 @@ } } } + + /* Save inverse gain */ + NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; } } diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/NSQ_sse.c thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse.c --- thunderbird-91.8.0/media/libopus/silk/x86/NSQ_sse.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,719 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "main.h" -#include "celt/x86/x86cpu.h" -#include "stack_alloc.h" - -static OPUS_INLINE void silk_nsq_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - const opus_int32 x_Q3[], /* I input in Q3 */ - opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ - const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I subframe number */ - const opus_int LTP_scale_Q14, /* I */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type /* I Signal type */ -); - -static OPUS_INLINE void silk_noise_shape_quantizer_10_16_sse4_1( - silk_nsq_state *NSQ, /* I/O NSQ state */ - opus_int signalType, /* I Signal type */ - const opus_int32 x_sc_Q10[], /* I */ - opus_int8 pulses[], /* O */ - opus_int16 xq[], /* O */ - opus_int32 sLTP_Q15[], /* I/O LTP state */ - const opus_int16 a_Q12[], /* I Short term prediction coefs */ - const opus_int16 b_Q14[], /* I Long term prediction coefs */ - const opus_int16 AR_shp_Q13[], /* I Noise shaping AR coefs */ - opus_int lag, /* I Pitch lag */ - opus_int32 HarmShapeFIRPacked_Q14, /* I */ - opus_int Tilt_Q14, /* I Spectral tilt */ - opus_int32 LF_shp_Q14, /* I */ - opus_int32 Gain_Q16, /* I */ - opus_int offset_Q10, /* I */ - opus_int length, /* I Input length */ - opus_int32 table[][4] /* I */ -); - -void silk_NSQ_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ -) -{ - opus_int k, lag, start_idx, LSF_interpolation_flag; - const opus_int16 *A_Q12, *B_Q14, *AR_shp_Q13; - opus_int16 *pxq; - VARDECL( opus_int32, sLTP_Q15 ); - VARDECL( opus_int16, sLTP ); - opus_int32 HarmShapeFIRPacked_Q14; - opus_int offset_Q10; - VARDECL( opus_int32, x_sc_Q10 ); - - opus_int32 table[ 64 ][ 4 ]; - opus_int32 tmp1; - opus_int32 q1_Q10, q2_Q10, rd1_Q20, rd2_Q20; - - SAVE_STACK; - - NSQ->rand_seed = psIndices->Seed; - - /* Set unvoiced lag to the previous one, overwrite later for voiced */ - lag = NSQ->lagPrev; - - silk_assert( NSQ->prev_gain_Q16 != 0 ); - - offset_Q10 = silk_Quantization_Offsets_Q10[ psIndices->signalType >> 1 ][ psIndices->quantOffsetType ]; - - /* 0 */ - q1_Q10 = offset_Q10; - q2_Q10 = offset_Q10 + ( 1024 - QUANT_LEVEL_ADJUST_Q10 ); - rd1_Q20 = q1_Q10 * Lambda_Q10; - rd2_Q20 = q2_Q10 * Lambda_Q10; - - table[ 32 ][ 0 ] = q1_Q10; - table[ 32 ][ 1 ] = q2_Q10; - table[ 32 ][ 2 ] = 2 * (q1_Q10 - q2_Q10); - table[ 32 ][ 3 ] = (rd1_Q20 - rd2_Q20) + (q1_Q10 * q1_Q10 - q2_Q10 * q2_Q10); - - /* -1 */ - q1_Q10 = offset_Q10 - ( 1024 - QUANT_LEVEL_ADJUST_Q10 ); - q2_Q10 = offset_Q10; - rd1_Q20 = - q1_Q10 * Lambda_Q10; - rd2_Q20 = q2_Q10 * Lambda_Q10; - - table[ 31 ][ 0 ] = q1_Q10; - table[ 31 ][ 1 ] = q2_Q10; - table[ 31 ][ 2 ] = 2 * (q1_Q10 - q2_Q10); - table[ 31 ][ 3 ] = (rd1_Q20 - rd2_Q20) + (q1_Q10 * q1_Q10 - q2_Q10 * q2_Q10); - - /* > 0 */ - for (k = 1; k <= 31; k++) - { - tmp1 = offset_Q10 + silk_LSHIFT( k, 10 ); - - q1_Q10 = tmp1 - QUANT_LEVEL_ADJUST_Q10; - q2_Q10 = tmp1 - QUANT_LEVEL_ADJUST_Q10 + 1024; - rd1_Q20 = q1_Q10 * Lambda_Q10; - rd2_Q20 = q2_Q10 * Lambda_Q10; - - table[ 32 + k ][ 0 ] = q1_Q10; - table[ 32 + k ][ 1 ] = q2_Q10; - table[ 32 + k ][ 2 ] = 2 * (q1_Q10 - q2_Q10); - table[ 32 + k ][ 3 ] = (rd1_Q20 - rd2_Q20) + (q1_Q10 * q1_Q10 - q2_Q10 * q2_Q10); - } - - /* < -1 */ - for (k = -32; k <= -2; k++) - { - tmp1 = offset_Q10 + silk_LSHIFT( k, 10 ); - - q1_Q10 = tmp1 + QUANT_LEVEL_ADJUST_Q10; - q2_Q10 = tmp1 + QUANT_LEVEL_ADJUST_Q10 + 1024; - rd1_Q20 = - q1_Q10 * Lambda_Q10; - rd2_Q20 = - q2_Q10 * Lambda_Q10; - - table[ 32 + k ][ 0 ] = q1_Q10; - table[ 32 + k ][ 1 ] = q2_Q10; - table[ 32 + k ][ 2 ] = 2 * (q1_Q10 - q2_Q10); - table[ 32 + k ][ 3 ] = (rd1_Q20 - rd2_Q20) + (q1_Q10 * q1_Q10 - q2_Q10 * q2_Q10); - } - - if( psIndices->NLSFInterpCoef_Q2 == 4 ) { - LSF_interpolation_flag = 0; - } else { - LSF_interpolation_flag = 1; - } - - ALLOC( sLTP_Q15, - psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); - ALLOC( sLTP, psEncC->ltp_mem_length + psEncC->frame_length, opus_int16 ); - ALLOC( x_sc_Q10, psEncC->subfr_length, opus_int32 ); - /* Set up pointers to start of sub frame */ - NSQ->sLTP_shp_buf_idx = psEncC->ltp_mem_length; - NSQ->sLTP_buf_idx = psEncC->ltp_mem_length; - pxq = &NSQ->xq[ psEncC->ltp_mem_length ]; - for( k = 0; k < psEncC->nb_subfr; k++ ) { - A_Q12 = &PredCoef_Q12[ (( k >> 1 ) | ( 1 - LSF_interpolation_flag )) * MAX_LPC_ORDER ]; - B_Q14 = <PCoef_Q14[ k * LTP_ORDER ]; - AR_shp_Q13 = &AR2_Q13[ k * MAX_SHAPE_LPC_ORDER ]; - - /* Noise shape parameters */ - silk_assert( HarmShapeGain_Q14[ k ] >= 0 ); - HarmShapeFIRPacked_Q14 = silk_RSHIFT( HarmShapeGain_Q14[ k ], 2 ); - HarmShapeFIRPacked_Q14 |= silk_LSHIFT( (opus_int32)silk_RSHIFT( HarmShapeGain_Q14[ k ], 1 ), 16 ); - - NSQ->rewhite_flag = 0; - if( psIndices->signalType == TYPE_VOICED ) { - /* Voiced */ - lag = pitchL[ k ]; - - /* Re-whitening */ - if( ( k & ( 3 - silk_LSHIFT( LSF_interpolation_flag, 1 ) ) ) == 0 ) { - /* Rewhiten with new A coefs */ - start_idx = psEncC->ltp_mem_length - lag - psEncC->predictLPCOrder - LTP_ORDER / 2; - silk_assert( start_idx > 0 ); - - silk_LPC_analysis_filter( &sLTP[ start_idx ], &NSQ->xq[ start_idx + k * psEncC->subfr_length ], - A_Q12, psEncC->ltp_mem_length - start_idx, psEncC->predictLPCOrder, psEncC->arch ); - - NSQ->rewhite_flag = 1; - NSQ->sLTP_buf_idx = psEncC->ltp_mem_length; - } - } - - silk_nsq_scale_states_sse4_1( psEncC, NSQ, x_Q3, x_sc_Q10, sLTP, sLTP_Q15, k, LTP_scale_Q14, Gains_Q16, pitchL, psIndices->signalType ); - - if ( opus_likely( ( 10 == psEncC->shapingLPCOrder ) && ( 16 == psEncC->predictLPCOrder) ) ) - { - silk_noise_shape_quantizer_10_16_sse4_1( NSQ, psIndices->signalType, x_sc_Q10, pulses, pxq, sLTP_Q15, A_Q12, B_Q14, - AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], - offset_Q10, psEncC->subfr_length, &(table[32]) ); - } - else - { - silk_noise_shape_quantizer( NSQ, psIndices->signalType, x_sc_Q10, pulses, pxq, sLTP_Q15, A_Q12, B_Q14, - AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], Lambda_Q10, - offset_Q10, psEncC->subfr_length, psEncC->shapingLPCOrder, psEncC->predictLPCOrder, psEncC->arch ); - } - - x_Q3 += psEncC->subfr_length; - pulses += psEncC->subfr_length; - pxq += psEncC->subfr_length; - } - - /* Update lagPrev for next frame */ - NSQ->lagPrev = pitchL[ psEncC->nb_subfr - 1 ]; - - /* Save quantized speech and noise shaping signals */ - silk_memmove( NSQ->xq, &NSQ->xq[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int16 ) ); - silk_memmove( NSQ->sLTP_shp_Q14, &NSQ->sLTP_shp_Q14[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int32 ) ); - RESTORE_STACK; -} - -/***********************************/ -/* silk_noise_shape_quantizer_10_16 */ -/***********************************/ -static OPUS_INLINE void silk_noise_shape_quantizer_10_16_sse4_1( - silk_nsq_state *NSQ, /* I/O NSQ state */ - opus_int signalType, /* I Signal type */ - const opus_int32 x_sc_Q10[], /* I */ - opus_int8 pulses[], /* O */ - opus_int16 xq[], /* O */ - opus_int32 sLTP_Q15[], /* I/O LTP state */ - const opus_int16 a_Q12[], /* I Short term prediction coefs */ - const opus_int16 b_Q14[], /* I Long term prediction coefs */ - const opus_int16 AR_shp_Q13[], /* I Noise shaping AR coefs */ - opus_int lag, /* I Pitch lag */ - opus_int32 HarmShapeFIRPacked_Q14, /* I */ - opus_int Tilt_Q14, /* I Spectral tilt */ - opus_int32 LF_shp_Q14, /* I */ - opus_int32 Gain_Q16, /* I */ - opus_int offset_Q10, /* I */ - opus_int length, /* I Input length */ - opus_int32 table[][4] /* I */ -) -{ - opus_int i; - opus_int32 LTP_pred_Q13, LPC_pred_Q10, n_AR_Q12, n_LTP_Q13; - opus_int32 n_LF_Q12, r_Q10, q1_Q0, q1_Q10, q2_Q10; - opus_int32 exc_Q14, LPC_exc_Q14, xq_Q14, Gain_Q10; - opus_int32 tmp1, tmp2, sLF_AR_shp_Q14; - opus_int32 *psLPC_Q14, *shp_lag_ptr, *pred_lag_ptr; - - __m128i xmm_tempa, xmm_tempb; - - __m128i xmm_one; - - __m128i psLPC_Q14_hi_01234567, psLPC_Q14_hi_89ABCDEF; - __m128i psLPC_Q14_lo_01234567, psLPC_Q14_lo_89ABCDEF; - __m128i a_Q12_01234567, a_Q12_89ABCDEF; - - __m128i sAR2_Q14_hi_76543210, sAR2_Q14_lo_76543210; - __m128i AR_shp_Q13_76543210; - - shp_lag_ptr = &NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - lag + HARM_SHAPE_FIR_TAPS / 2 ]; - pred_lag_ptr = &sLTP_Q15[ NSQ->sLTP_buf_idx - lag + LTP_ORDER / 2 ]; - Gain_Q10 = silk_RSHIFT( Gain_Q16, 6 ); - - /* Set up short term AR state */ - psLPC_Q14 = &NSQ->sLPC_Q14[ NSQ_LPC_BUF_LENGTH - 1 ]; - - sLF_AR_shp_Q14 = NSQ->sLF_AR_shp_Q14; - xq_Q14 = psLPC_Q14[ 0 ]; - LTP_pred_Q13 = 0; - - /* load a_Q12 */ - xmm_one = _mm_set_epi8( 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 ); - - /* load a_Q12[0] - a_Q12[7] */ - a_Q12_01234567 = _mm_loadu_si128( (__m128i *)(&a_Q12[ 0 ] ) ); - /* load a_Q12[ 8 ] - a_Q12[ 15 ] */ - a_Q12_89ABCDEF = _mm_loadu_si128( (__m128i *)(&a_Q12[ 8 ] ) ); - - a_Q12_01234567 = _mm_shuffle_epi8( a_Q12_01234567, xmm_one ); - a_Q12_89ABCDEF = _mm_shuffle_epi8( a_Q12_89ABCDEF, xmm_one ); - - /* load AR_shp_Q13 */ - AR_shp_Q13_76543210 = _mm_loadu_si128( (__m128i *)(&AR_shp_Q13[0] ) ); - - /* load psLPC_Q14 */ - xmm_one = _mm_set_epi8(15, 14, 11, 10, 7, 6, 3, 2, 13, 12, 9, 8, 5, 4, 1, 0 ); - - xmm_tempa = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[-16]) ); - xmm_tempb = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[-12]) ); - - xmm_tempa = _mm_shuffle_epi8( xmm_tempa, xmm_one ); - xmm_tempb = _mm_shuffle_epi8( xmm_tempb, xmm_one ); - - psLPC_Q14_hi_89ABCDEF = _mm_unpackhi_epi64( xmm_tempa, xmm_tempb ); - psLPC_Q14_lo_89ABCDEF = _mm_unpacklo_epi64( xmm_tempa, xmm_tempb ); - - xmm_tempa = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -8 ]) ); - xmm_tempb = _mm_loadu_si128( (__m128i *)(&psLPC_Q14[ -4 ]) ); - - xmm_tempa = _mm_shuffle_epi8( xmm_tempa, xmm_one ); - xmm_tempb = _mm_shuffle_epi8( xmm_tempb, xmm_one ); - - psLPC_Q14_hi_01234567 = _mm_unpackhi_epi64( xmm_tempa, xmm_tempb ); - psLPC_Q14_lo_01234567 = _mm_unpacklo_epi64( xmm_tempa, xmm_tempb ); - - /* load sAR2_Q14 */ - xmm_tempa = _mm_loadu_si128( (__m128i *)(&(NSQ->sAR2_Q14[ 0 ]) ) ); - xmm_tempb = _mm_loadu_si128( (__m128i *)(&(NSQ->sAR2_Q14[ 4 ]) ) ); - - xmm_tempa = _mm_shuffle_epi8( xmm_tempa, xmm_one ); - xmm_tempb = _mm_shuffle_epi8( xmm_tempb, xmm_one ); - - sAR2_Q14_hi_76543210 = _mm_unpackhi_epi64( xmm_tempa, xmm_tempb ); - sAR2_Q14_lo_76543210 = _mm_unpacklo_epi64( xmm_tempa, xmm_tempb ); - - /* prepare 1 in 8 * 16bit */ - xmm_one = _mm_set1_epi16(1); - - for( i = 0; i < length; i++ ) - { - /* Short-term prediction */ - __m128i xmm_hi_07, xmm_hi_8F, xmm_lo_07, xmm_lo_8F; - - /* Avoids introducing a bias because silk_SMLAWB() always rounds to -inf */ - LPC_pred_Q10 = 8; /* silk_RSHIFT( predictLPCOrder, 1 ); */ - - /* shift psLPC_Q14 */ - psLPC_Q14_hi_89ABCDEF = _mm_alignr_epi8( psLPC_Q14_hi_01234567, psLPC_Q14_hi_89ABCDEF, 2 ); - psLPC_Q14_lo_89ABCDEF = _mm_alignr_epi8( psLPC_Q14_lo_01234567, psLPC_Q14_lo_89ABCDEF, 2 ); - - psLPC_Q14_hi_01234567 = _mm_srli_si128( psLPC_Q14_hi_01234567, 2 ); - psLPC_Q14_lo_01234567 = _mm_srli_si128( psLPC_Q14_lo_01234567, 2 ); - - psLPC_Q14_hi_01234567 = _mm_insert_epi16( psLPC_Q14_hi_01234567, (xq_Q14 >> 16), 7 ); - psLPC_Q14_lo_01234567 = _mm_insert_epi16( psLPC_Q14_lo_01234567, (xq_Q14), 7 ); - - /* high part, use pmaddwd, results in 4 32-bit */ - xmm_hi_07 = _mm_madd_epi16( psLPC_Q14_hi_01234567, a_Q12_01234567 ); - xmm_hi_8F = _mm_madd_epi16( psLPC_Q14_hi_89ABCDEF, a_Q12_89ABCDEF ); - - /* low part, use pmulhw, results in 8 16-bit, note we need simulate unsigned * signed, _mm_srai_epi16(psLPC_Q14_lo_01234567, 15) */ - xmm_tempa = _mm_cmpgt_epi16( _mm_setzero_si128(), psLPC_Q14_lo_01234567 ); - xmm_tempb = _mm_cmpgt_epi16( _mm_setzero_si128(), psLPC_Q14_lo_89ABCDEF ); - - xmm_tempa = _mm_and_si128( xmm_tempa, a_Q12_01234567 ); - xmm_tempb = _mm_and_si128( xmm_tempb, a_Q12_89ABCDEF ); - - xmm_lo_07 = _mm_mulhi_epi16( psLPC_Q14_lo_01234567, a_Q12_01234567 ); - xmm_lo_8F = _mm_mulhi_epi16( psLPC_Q14_lo_89ABCDEF, a_Q12_89ABCDEF ); - - xmm_lo_07 = _mm_add_epi16( xmm_lo_07, xmm_tempa ); - xmm_lo_8F = _mm_add_epi16( xmm_lo_8F, xmm_tempb ); - - xmm_lo_07 = _mm_madd_epi16( xmm_lo_07, xmm_one ); - xmm_lo_8F = _mm_madd_epi16( xmm_lo_8F, xmm_one ); - - /* accumulate */ - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, xmm_hi_8F ); - xmm_lo_07 = _mm_add_epi32( xmm_lo_07, xmm_lo_8F ); - - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, xmm_lo_07 ); - - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, _mm_unpackhi_epi64(xmm_hi_07, xmm_hi_07 ) ); - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, _mm_shufflelo_epi16(xmm_hi_07, 0x0E ) ); - - LPC_pred_Q10 += _mm_cvtsi128_si32( xmm_hi_07 ); - - /* Long-term prediction */ - if ( opus_likely( signalType == TYPE_VOICED ) ) { - /* Unrolled loop */ - /* Avoids introducing a bias because silk_SMLAWB() always rounds to -inf */ - LTP_pred_Q13 = 2; - { - __m128i b_Q14_3210, b_Q14_0123, pred_lag_ptr_0123; - - b_Q14_3210 = OP_CVTEPI16_EPI32_M64( b_Q14 ); - b_Q14_0123 = _mm_shuffle_epi32( b_Q14_3210, 0x1B ); - - /* loaded: [0] [-1] [-2] [-3] */ - pred_lag_ptr_0123 = _mm_loadu_si128( (__m128i *)(&pred_lag_ptr[ -3 ] ) ); - /* shuffle to [-3] [-2] [-1] [0] and to new xmm */ - xmm_tempa = _mm_shuffle_epi32( pred_lag_ptr_0123, 0x1B ); - /*64-bit multiply, a[2] * b[-2], a[0] * b[0] */ - xmm_tempa = _mm_mul_epi32( xmm_tempa, b_Q14_3210 ); - /* right shift 2 bytes (16 bits), zero extended */ - xmm_tempa = _mm_srli_si128( xmm_tempa, 2 ); - - /* a[1] * b[-1], a[3] * b[-3] */ - pred_lag_ptr_0123 = _mm_mul_epi32( pred_lag_ptr_0123, b_Q14_0123 ); - pred_lag_ptr_0123 = _mm_srli_si128( pred_lag_ptr_0123, 2 ); - - pred_lag_ptr_0123 = _mm_add_epi32( pred_lag_ptr_0123, xmm_tempa ); - /* equal shift right 8 bytes*/ - xmm_tempa = _mm_shuffle_epi32( pred_lag_ptr_0123, _MM_SHUFFLE( 0, 0, 3, 2 ) ); - xmm_tempa = _mm_add_epi32( xmm_tempa, pred_lag_ptr_0123 ); - - LTP_pred_Q13 += _mm_cvtsi128_si32( xmm_tempa ); - - LTP_pred_Q13 = silk_SMLAWB( LTP_pred_Q13, pred_lag_ptr[ -4 ], b_Q14[ 4 ] ); - pred_lag_ptr++; - } - } - - /* Noise shape feedback */ - NSQ->sAR2_Q14[ 9 ] = NSQ->sAR2_Q14[ 8 ]; - NSQ->sAR2_Q14[ 8 ] = _mm_cvtsi128_si32( _mm_srli_si128(_mm_unpackhi_epi16( sAR2_Q14_lo_76543210, sAR2_Q14_hi_76543210 ), 12 ) ); - - sAR2_Q14_hi_76543210 = _mm_slli_si128( sAR2_Q14_hi_76543210, 2 ); - sAR2_Q14_lo_76543210 = _mm_slli_si128( sAR2_Q14_lo_76543210, 2 ); - - sAR2_Q14_hi_76543210 = _mm_insert_epi16( sAR2_Q14_hi_76543210, (xq_Q14 >> 16), 0 ); - sAR2_Q14_lo_76543210 = _mm_insert_epi16( sAR2_Q14_lo_76543210, (xq_Q14), 0 ); - - /* high part, use pmaddwd, results in 4 32-bit */ - xmm_hi_07 = _mm_madd_epi16( sAR2_Q14_hi_76543210, AR_shp_Q13_76543210 ); - - /* low part, use pmulhw, results in 8 16-bit, note we need simulate unsigned * signed,_mm_srai_epi16(sAR2_Q14_lo_76543210, 15) */ - xmm_tempa = _mm_cmpgt_epi16( _mm_setzero_si128(), sAR2_Q14_lo_76543210 ); - xmm_tempa = _mm_and_si128( xmm_tempa, AR_shp_Q13_76543210 ); - - xmm_lo_07 = _mm_mulhi_epi16( sAR2_Q14_lo_76543210, AR_shp_Q13_76543210 ); - xmm_lo_07 = _mm_add_epi16( xmm_lo_07, xmm_tempa ); - - xmm_lo_07 = _mm_madd_epi16( xmm_lo_07, xmm_one ); - - /* accumulate */ - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, xmm_lo_07 ); - - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, _mm_unpackhi_epi64(xmm_hi_07, xmm_hi_07 ) ); - xmm_hi_07 = _mm_add_epi32( xmm_hi_07, _mm_shufflelo_epi16(xmm_hi_07, 0x0E ) ); - - n_AR_Q12 = 5 + _mm_cvtsi128_si32( xmm_hi_07 ); - - n_AR_Q12 = silk_SMLAWB( n_AR_Q12, NSQ->sAR2_Q14[ 8 ], AR_shp_Q13[ 8 ] ); - n_AR_Q12 = silk_SMLAWB( n_AR_Q12, NSQ->sAR2_Q14[ 9 ], AR_shp_Q13[ 9 ] ); - - n_AR_Q12 = silk_LSHIFT32( n_AR_Q12, 1 ); /* Q11 -> Q12 */ - n_AR_Q12 = silk_SMLAWB( n_AR_Q12, sLF_AR_shp_Q14, Tilt_Q14 ); - - n_LF_Q12 = silk_SMULWB( NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - 1 ], LF_shp_Q14 ); - n_LF_Q12 = silk_SMLAWT( n_LF_Q12, sLF_AR_shp_Q14, LF_shp_Q14 ); - - silk_assert( lag > 0 || signalType != TYPE_VOICED ); - - /* Combine prediction and noise shaping signals */ - tmp1 = silk_SUB32( silk_LSHIFT32( LPC_pred_Q10, 2 ), n_AR_Q12 ); /* Q12 */ - tmp1 = silk_SUB32( tmp1, n_LF_Q12 ); /* Q12 */ - if( lag > 0 ) { - /* Symmetric, packed FIR coefficients */ - n_LTP_Q13 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); - n_LTP_Q13 = silk_SMLAWT( n_LTP_Q13, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); - n_LTP_Q13 = silk_LSHIFT( n_LTP_Q13, 1 ); - shp_lag_ptr++; - - tmp2 = silk_SUB32( LTP_pred_Q13, n_LTP_Q13 ); /* Q13 */ - tmp1 = silk_ADD_LSHIFT32( tmp2, tmp1, 1 ); /* Q13 */ - tmp1 = silk_RSHIFT_ROUND( tmp1, 3 ); /* Q10 */ - } else { - tmp1 = silk_RSHIFT_ROUND( tmp1, 2 ); /* Q10 */ - } - - r_Q10 = silk_SUB32( x_sc_Q10[ i ], tmp1 ); /* residual error Q10 */ - - /* Generate dither */ - NSQ->rand_seed = silk_RAND( NSQ->rand_seed ); - - /* Flip sign depending on dither */ - tmp2 = -r_Q10; - if ( NSQ->rand_seed < 0 ) r_Q10 = tmp2; - - r_Q10 = silk_LIMIT_32( r_Q10, -(31 << 10), 30 << 10 ); - - /* Find two quantization level candidates and measure their rate-distortion */ - q1_Q10 = silk_SUB32( r_Q10, offset_Q10 ); - q1_Q0 = silk_RSHIFT( q1_Q10, 10 ); - - q1_Q10 = table[q1_Q0][0]; - q2_Q10 = table[q1_Q0][1]; - - if (r_Q10 * table[q1_Q0][2] - table[q1_Q0][3] < 0) - { - q1_Q10 = q2_Q10; - } - - pulses[ i ] = (opus_int8)silk_RSHIFT_ROUND( q1_Q10, 10 ); - - /* Excitation */ - exc_Q14 = silk_LSHIFT( q1_Q10, 4 ); - - tmp2 = -exc_Q14; - if ( NSQ->rand_seed < 0 ) exc_Q14 = tmp2; - - /* Add predictions */ - LPC_exc_Q14 = silk_ADD_LSHIFT32( exc_Q14, LTP_pred_Q13, 1 ); - xq_Q14 = silk_ADD_LSHIFT32( LPC_exc_Q14, LPC_pred_Q10, 4 ); - - /* Update states */ - psLPC_Q14++; - *psLPC_Q14 = xq_Q14; - sLF_AR_shp_Q14 = silk_SUB_LSHIFT32( xq_Q14, n_AR_Q12, 2 ); - - NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx ] = silk_SUB_LSHIFT32( sLF_AR_shp_Q14, n_LF_Q12, 2 ); - sLTP_Q15[ NSQ->sLTP_buf_idx ] = silk_LSHIFT( LPC_exc_Q14, 1 ); - NSQ->sLTP_shp_buf_idx++; - NSQ->sLTP_buf_idx++; - - /* Make dither dependent on quantized signal */ - NSQ->rand_seed = silk_ADD32_ovflw( NSQ->rand_seed, pulses[ i ] ); - } - - NSQ->sLF_AR_shp_Q14 = sLF_AR_shp_Q14; - - /* Scale XQ back to normal level before saving */ - psLPC_Q14 = &NSQ->sLPC_Q14[ NSQ_LPC_BUF_LENGTH ]; - - /* write back sAR2_Q14 */ - xmm_tempa = _mm_unpackhi_epi16( sAR2_Q14_lo_76543210, sAR2_Q14_hi_76543210 ); - xmm_tempb = _mm_unpacklo_epi16( sAR2_Q14_lo_76543210, sAR2_Q14_hi_76543210 ); - _mm_storeu_si128( (__m128i *)(&NSQ->sAR2_Q14[ 4 ]), xmm_tempa ); - _mm_storeu_si128( (__m128i *)(&NSQ->sAR2_Q14[ 0 ]), xmm_tempb ); - - /* xq[ i ] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( silk_SMULWW( psLPC_Q14[ i ], Gain_Q10 ), 8 ) ); */ - { - __m128i xmm_Gain_Q10; - __m128i xmm_xq_Q14_3210, xmm_xq_Q14_x3x1, xmm_xq_Q14_7654, xmm_xq_Q14_x7x5; - - /* prepare (1 << 7) in packed 4 32-bits */ - xmm_tempa = _mm_set1_epi32( (1 << 7) ); - - /* prepare Gain_Q10 in packed 4 32-bits */ - xmm_Gain_Q10 = _mm_set1_epi32( Gain_Q10 ); - - /* process xq */ - for (i = 0; i < length - 7; i += 8) - { - xmm_xq_Q14_3210 = _mm_loadu_si128( (__m128i *)(&(psLPC_Q14[ i + 0 ] ) ) ); - xmm_xq_Q14_7654 = _mm_loadu_si128( (__m128i *)(&(psLPC_Q14[ i + 4 ] ) ) ); - - /* equal shift right 4 bytes*/ - xmm_xq_Q14_x3x1 = _mm_shuffle_epi32( xmm_xq_Q14_3210, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - /* equal shift right 4 bytes*/ - xmm_xq_Q14_x7x5 = _mm_shuffle_epi32( xmm_xq_Q14_7654, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_xq_Q14_3210 = _mm_mul_epi32( xmm_xq_Q14_3210, xmm_Gain_Q10 ); - xmm_xq_Q14_x3x1 = _mm_mul_epi32( xmm_xq_Q14_x3x1, xmm_Gain_Q10 ); - xmm_xq_Q14_7654 = _mm_mul_epi32( xmm_xq_Q14_7654, xmm_Gain_Q10 ); - xmm_xq_Q14_x7x5 = _mm_mul_epi32( xmm_xq_Q14_x7x5, xmm_Gain_Q10 ); - - xmm_xq_Q14_3210 = _mm_srli_epi64( xmm_xq_Q14_3210, 16 ); - xmm_xq_Q14_x3x1 = _mm_slli_epi64( xmm_xq_Q14_x3x1, 16 ); - xmm_xq_Q14_7654 = _mm_srli_epi64( xmm_xq_Q14_7654, 16 ); - xmm_xq_Q14_x7x5 = _mm_slli_epi64( xmm_xq_Q14_x7x5, 16 ); - - xmm_xq_Q14_3210 = _mm_blend_epi16( xmm_xq_Q14_3210, xmm_xq_Q14_x3x1, 0xCC ); - xmm_xq_Q14_7654 = _mm_blend_epi16( xmm_xq_Q14_7654, xmm_xq_Q14_x7x5, 0xCC ); - - /* silk_RSHIFT_ROUND(xq, 8) */ - xmm_xq_Q14_3210 = _mm_add_epi32( xmm_xq_Q14_3210, xmm_tempa ); - xmm_xq_Q14_7654 = _mm_add_epi32( xmm_xq_Q14_7654, xmm_tempa ); - - xmm_xq_Q14_3210 = _mm_srai_epi32( xmm_xq_Q14_3210, 8 ); - xmm_xq_Q14_7654 = _mm_srai_epi32( xmm_xq_Q14_7654, 8 ); - - /* silk_SAT16 */ - xmm_xq_Q14_3210 = _mm_packs_epi32( xmm_xq_Q14_3210, xmm_xq_Q14_7654 ); - - /* save to xq */ - _mm_storeu_si128( (__m128i *)(&xq[ i ] ), xmm_xq_Q14_3210 ); - } - } - for ( ; i < length; i++) - { - xq[i] = (opus_int16)silk_SAT16( silk_RSHIFT_ROUND( silk_SMULWW( psLPC_Q14[ i ], Gain_Q10 ), 8 ) ); - } - - /* Update LPC synth buffer */ - silk_memcpy( NSQ->sLPC_Q14, &NSQ->sLPC_Q14[ length ], NSQ_LPC_BUF_LENGTH * sizeof( opus_int32 ) ); -} - -static OPUS_INLINE void silk_nsq_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - const opus_int32 x_Q3[], /* I input in Q3 */ - opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ - const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I subframe number */ - const opus_int LTP_scale_Q14, /* I */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type /* I Signal type */ -) -{ - opus_int i, lag; - opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q23; - __m128i xmm_inv_gain_Q23, xmm_x_Q3_x2x0, xmm_x_Q3_x3x1; - - lag = pitchL[ subfr ]; - inv_gain_Q31 = silk_INVERSE32_varQ( silk_max( Gains_Q16[ subfr ], 1 ), 47 ); - silk_assert( inv_gain_Q31 != 0 ); - - /* Calculate gain adjustment factor */ - if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { - gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); - } else { - gain_adj_Q16 = (opus_int32)1 << 16; - } - - /* Scale input */ - inv_gain_Q23 = silk_RSHIFT_ROUND( inv_gain_Q31, 8 ); - - /* prepare inv_gain_Q23 in packed 4 32-bits */ - xmm_inv_gain_Q23 = _mm_set1_epi32(inv_gain_Q23); - - for( i = 0; i < psEncC->subfr_length - 3; i += 4 ) { - xmm_x_Q3_x2x0 = _mm_loadu_si128( (__m128i *)(&(x_Q3[ i ] ) ) ); - - /* equal shift right 4 bytes*/ - xmm_x_Q3_x3x1 = _mm_shuffle_epi32( xmm_x_Q3_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_x_Q3_x2x0 = _mm_mul_epi32( xmm_x_Q3_x2x0, xmm_inv_gain_Q23 ); - xmm_x_Q3_x3x1 = _mm_mul_epi32( xmm_x_Q3_x3x1, xmm_inv_gain_Q23 ); - - xmm_x_Q3_x2x0 = _mm_srli_epi64( xmm_x_Q3_x2x0, 16 ); - xmm_x_Q3_x3x1 = _mm_slli_epi64( xmm_x_Q3_x3x1, 16 ); - - xmm_x_Q3_x2x0 = _mm_blend_epi16( xmm_x_Q3_x2x0, xmm_x_Q3_x3x1, 0xCC ); - - _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ] ) ), xmm_x_Q3_x2x0 ); - } - - for( ; i < psEncC->subfr_length; i++ ) { - x_sc_Q10[ i ] = silk_SMULWW( x_Q3[ i ], inv_gain_Q23 ); - } - - /* Save inverse gain */ - NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; - - /* After rewhitening the LTP state is un-scaled, so scale with inv_gain_Q16 */ - if( NSQ->rewhite_flag ) { - if( subfr == 0 ) { - /* Do LTP downscaling */ - inv_gain_Q31 = silk_LSHIFT( silk_SMULWB( inv_gain_Q31, LTP_scale_Q14 ), 2 ); - } - for( i = NSQ->sLTP_buf_idx - lag - LTP_ORDER / 2; i < NSQ->sLTP_buf_idx; i++ ) { - silk_assert( i < MAX_FRAME_LENGTH ); - sLTP_Q15[ i ] = silk_SMULWB( inv_gain_Q31, sLTP[ i ] ); - } - } - - /* Adjust for changing gain */ - if( gain_adj_Q16 != (opus_int32)1 << 16 ) { - /* Scale long-term shaping state */ - __m128i xmm_gain_adj_Q16, xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1; - - /* prepare gain_adj_Q16 in packed 4 32-bits */ - xmm_gain_adj_Q16 = _mm_set1_epi32(gain_adj_Q16); - - for( i = NSQ->sLTP_shp_buf_idx - psEncC->ltp_mem_length; i < NSQ->sLTP_shp_buf_idx - 3; i += 4 ) - { - xmm_sLTP_shp_Q14_x2x0 = _mm_loadu_si128( (__m128i *)(&(NSQ->sLTP_shp_Q14[ i ] ) ) ); - /* equal shift right 4 bytes*/ - xmm_sLTP_shp_Q14_x3x1 = _mm_shuffle_epi32( xmm_sLTP_shp_Q14_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_mul_epi32( xmm_sLTP_shp_Q14_x2x0, xmm_gain_adj_Q16 ); - xmm_sLTP_shp_Q14_x3x1 = _mm_mul_epi32( xmm_sLTP_shp_Q14_x3x1, xmm_gain_adj_Q16 ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_srli_epi64( xmm_sLTP_shp_Q14_x2x0, 16 ); - xmm_sLTP_shp_Q14_x3x1 = _mm_slli_epi64( xmm_sLTP_shp_Q14_x3x1, 16 ); - - xmm_sLTP_shp_Q14_x2x0 = _mm_blend_epi16( xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1, 0xCC ); - - _mm_storeu_si128( (__m128i *)(&(NSQ->sLTP_shp_Q14[ i ] ) ), xmm_sLTP_shp_Q14_x2x0 ); - } - - for( ; i < NSQ->sLTP_shp_buf_idx; i++ ) { - NSQ->sLTP_shp_Q14[ i ] = silk_SMULWW( gain_adj_Q16, NSQ->sLTP_shp_Q14[ i ] ); - } - - /* Scale long-term prediction state */ - if( signal_type == TYPE_VOICED && NSQ->rewhite_flag == 0 ) { - for( i = NSQ->sLTP_buf_idx - lag - LTP_ORDER / 2; i < NSQ->sLTP_buf_idx; i++ ) { - sLTP_Q15[ i ] = silk_SMULWW( gain_adj_Q16, sLTP_Q15[ i ] ); - } - } - - NSQ->sLF_AR_shp_Q14 = silk_SMULWW( gain_adj_Q16, NSQ->sLF_AR_shp_Q14 ); - - /* Scale short-term prediction and shaping states */ - for( i = 0; i < NSQ_LPC_BUF_LENGTH; i++ ) { - NSQ->sLPC_Q14[ i ] = silk_SMULWW( gain_adj_Q16, NSQ->sLPC_Q14[ i ] ); - } - for( i = 0; i < MAX_SHAPE_LPC_ORDER; i++ ) { - NSQ->sAR2_Q14[ i ] = silk_SMULWW( gain_adj_Q16, NSQ->sAR2_Q14[ i ] ); - } - } -} diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/NSQ_sse4_1.c thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/x86/NSQ_sse4_1.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/NSQ_sse4_1.c 2022-05-25 21:47:01.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang +/* Copyright (c) 2014-2020, Cisco Systems, INC + Written by XiangMingZhu WeiZhou MinPeng YanWang FrancisQuiers Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -37,17 +37,17 @@ #include "stack_alloc.h" static OPUS_INLINE void silk_nsq_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - const opus_int32 x_Q3[], /* I input in Q3 */ - opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ - const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I subframe number */ - const opus_int LTP_scale_Q14, /* I */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type /* I Signal type */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + const opus_int16 x16[], /* I input */ + opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ + const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ + opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ + opus_int subfr, /* I subframe number */ + const opus_int LTP_scale_Q14, /* I */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ + const opus_int signal_type /* I Signal type */ ); static OPUS_INLINE void silk_noise_shape_quantizer_10_16_sse4_1( @@ -65,27 +65,28 @@ opus_int Tilt_Q14, /* I Spectral tilt */ opus_int32 LF_shp_Q14, /* I */ opus_int32 Gain_Q16, /* I */ + opus_int Lambda_Q10, /* I */ opus_int offset_Q10, /* I */ opus_int length, /* I Input length */ opus_int32 table[][4] /* I */ ); void silk_NSQ_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) { opus_int k, lag, start_idx, LSF_interpolation_flag; @@ -101,8 +102,41 @@ opus_int32 tmp1; opus_int32 q1_Q10, q2_Q10, rd1_Q20, rd2_Q20; +#ifdef OPUS_CHECK_ASM + silk_nsq_state NSQ_c; + SideInfoIndices psIndices_c; + opus_int8 pulses_c[ MAX_FRAME_LENGTH ]; + const opus_int8 *const pulses_a = pulses; +#endif + SAVE_STACK; +#ifdef OPUS_CHECK_ASM + ( void )pulses_a; + silk_memcpy( &NSQ_c, NSQ, sizeof( NSQ_c ) ); + silk_memcpy( &psIndices_c, psIndices, sizeof( psIndices_c ) ); + silk_assert( psEncC->nb_subfr * psEncC->subfr_length <= MAX_FRAME_LENGTH ); + silk_memcpy( pulses_c, pulses, psEncC->nb_subfr * psEncC->subfr_length * sizeof( pulses[0] ) ); + + silk_NSQ_c( + psEncC, + &NSQ_c, + &psIndices_c, + x16, + pulses_c, + PredCoef_Q12, + LTPCoef_Q14, + AR_Q13, + HarmShapeGain_Q14, + Tilt_Q14, + LF_shp_Q14, + Gains_Q16, + pitchL, + Lambda_Q10, + LTP_scale_Q14 + ); +#endif + NSQ->rand_seed = psIndices->Seed; /* Set unvoiced lag to the previous one, overwrite later for voiced */ @@ -172,8 +206,7 @@ LSF_interpolation_flag = 1; } - ALLOC( sLTP_Q15, - psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); + ALLOC( sLTP_Q15, psEncC->ltp_mem_length + psEncC->frame_length, opus_int32 ); ALLOC( sLTP, psEncC->ltp_mem_length + psEncC->frame_length, opus_int16 ); ALLOC( x_sc_Q10, psEncC->subfr_length, opus_int32 ); /* Set up pointers to start of sub frame */ @@ -183,7 +216,7 @@ for( k = 0; k < psEncC->nb_subfr; k++ ) { A_Q12 = &PredCoef_Q12[ (( k >> 1 ) | ( 1 - LSF_interpolation_flag )) * MAX_LPC_ORDER ]; B_Q14 = <PCoef_Q14[ k * LTP_ORDER ]; - AR_shp_Q13 = &AR2_Q13[ k * MAX_SHAPE_LPC_ORDER ]; + AR_shp_Q13 = &AR_Q13[ k * MAX_SHAPE_LPC_ORDER ]; /* Noise shape parameters */ silk_assert( HarmShapeGain_Q14[ k ] >= 0 ); @@ -209,12 +242,12 @@ } } - silk_nsq_scale_states_sse4_1( psEncC, NSQ, x_Q3, x_sc_Q10, sLTP, sLTP_Q15, k, LTP_scale_Q14, Gains_Q16, pitchL, psIndices->signalType ); + silk_nsq_scale_states_sse4_1( psEncC, NSQ, x16, x_sc_Q10, sLTP, sLTP_Q15, k, LTP_scale_Q14, Gains_Q16, pitchL, psIndices->signalType ); if ( opus_likely( ( 10 == psEncC->shapingLPCOrder ) && ( 16 == psEncC->predictLPCOrder) ) ) { silk_noise_shape_quantizer_10_16_sse4_1( NSQ, psIndices->signalType, x_sc_Q10, pulses, pxq, sLTP_Q15, A_Q12, B_Q14, - AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], + AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], Lambda_Q10, offset_Q10, psEncC->subfr_length, &(table[32]) ); } else @@ -224,7 +257,7 @@ offset_Q10, psEncC->subfr_length, psEncC->shapingLPCOrder, psEncC->predictLPCOrder, psEncC->arch ); } - x_Q3 += psEncC->subfr_length; + x16 += psEncC->subfr_length; pulses += psEncC->subfr_length; pxq += psEncC->subfr_length; } @@ -235,12 +268,19 @@ /* Save quantized speech and noise shaping signals */ silk_memmove( NSQ->xq, &NSQ->xq[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int16 ) ); silk_memmove( NSQ->sLTP_shp_Q14, &NSQ->sLTP_shp_Q14[ psEncC->frame_length ], psEncC->ltp_mem_length * sizeof( opus_int32 ) ); + +#ifdef OPUS_CHECK_ASM + silk_assert( !memcmp( &NSQ_c, NSQ, sizeof( NSQ_c ) ) ); + silk_assert( !memcmp( &psIndices_c, psIndices, sizeof( psIndices_c ) ) ); + silk_assert( !memcmp( pulses_c, pulses_a, psEncC->nb_subfr * psEncC->subfr_length * sizeof( pulses[0] ) ) ); +#endif + RESTORE_STACK; } -/***********************************/ -/* silk_noise_shape_quantizer_10_16 */ -/***********************************/ +/************************************/ +/* silk_noise_shape_quantizer_10_16 */ +/************************************/ static OPUS_INLINE void silk_noise_shape_quantizer_10_16_sse4_1( silk_nsq_state *NSQ, /* I/O NSQ state */ opus_int signalType, /* I Signal type */ @@ -256,6 +296,7 @@ opus_int Tilt_Q14, /* I Spectral tilt */ opus_int32 LF_shp_Q14, /* I */ opus_int32 Gain_Q16, /* I */ + opus_int Lambda_Q10, /* I */ opus_int offset_Q10, /* I */ opus_int length, /* I Input length */ opus_int32 table[][4] /* I */ @@ -264,7 +305,7 @@ opus_int i; opus_int32 LTP_pred_Q13, LPC_pred_Q10, n_AR_Q12, n_LTP_Q13; opus_int32 n_LF_Q12, r_Q10, q1_Q0, q1_Q10, q2_Q10; - opus_int32 exc_Q14, LPC_exc_Q14, xq_Q14, Gain_Q10; + opus_int32 exc_Q14, LPC_exc_Q14, xq_Q14, Gain_Q10, sDiff_shp_Q14; opus_int32 tmp1, tmp2, sLF_AR_shp_Q14; opus_int32 *psLPC_Q14, *shp_lag_ptr, *pred_lag_ptr; @@ -279,6 +320,8 @@ __m128i sAR2_Q14_hi_76543210, sAR2_Q14_lo_76543210; __m128i AR_shp_Q13_76543210; + int rdo_offset = (Lambda_Q10 >> 1) - 512; + shp_lag_ptr = &NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - lag + HARM_SHAPE_FIR_TAPS / 2 ]; pred_lag_ptr = &sLTP_Q15[ NSQ->sLTP_buf_idx - lag + LTP_ORDER / 2 ]; Gain_Q10 = silk_RSHIFT( Gain_Q16, 6 ); @@ -288,6 +331,7 @@ sLF_AR_shp_Q14 = NSQ->sLF_AR_shp_Q14; xq_Q14 = psLPC_Q14[ 0 ]; + sDiff_shp_Q14 = NSQ->sDiff_shp_Q14; LTP_pred_Q13 = 0; /* load a_Q12 */ @@ -430,8 +474,8 @@ sAR2_Q14_hi_76543210 = _mm_slli_si128( sAR2_Q14_hi_76543210, 2 ); sAR2_Q14_lo_76543210 = _mm_slli_si128( sAR2_Q14_lo_76543210, 2 ); - sAR2_Q14_hi_76543210 = _mm_insert_epi16( sAR2_Q14_hi_76543210, (xq_Q14 >> 16), 0 ); - sAR2_Q14_lo_76543210 = _mm_insert_epi16( sAR2_Q14_lo_76543210, (xq_Q14), 0 ); + sAR2_Q14_hi_76543210 = _mm_insert_epi16( sAR2_Q14_hi_76543210, (sDiff_shp_Q14 >> 16), 0 ); + sAR2_Q14_lo_76543210 = _mm_insert_epi16( sAR2_Q14_lo_76543210, (sDiff_shp_Q14), 0 ); /* high part, use pmaddwd, results in 4 32-bit */ xmm_hi_07 = _mm_madd_epi16( sAR2_Q14_hi_76543210, AR_shp_Q13_76543210 ); @@ -462,14 +506,14 @@ n_LF_Q12 = silk_SMULWB( NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx - 1 ], LF_shp_Q14 ); n_LF_Q12 = silk_SMLAWT( n_LF_Q12, sLF_AR_shp_Q14, LF_shp_Q14 ); - silk_assert( lag > 0 || signalType != TYPE_VOICED ); + celt_assert( lag > 0 || signalType != TYPE_VOICED ); /* Combine prediction and noise shaping signals */ tmp1 = silk_SUB32( silk_LSHIFT32( LPC_pred_Q10, 2 ), n_AR_Q12 ); /* Q12 */ tmp1 = silk_SUB32( tmp1, n_LF_Q12 ); /* Q12 */ if( lag > 0 ) { /* Symmetric, packed FIR coefficients */ - n_LTP_Q13 = silk_SMULWB( silk_ADD32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); + n_LTP_Q13 = silk_SMULWB( silk_ADD_SAT32( shp_lag_ptr[ 0 ], shp_lag_ptr[ -2 ] ), HarmShapeFIRPacked_Q14 ); n_LTP_Q13 = silk_SMLAWT( n_LTP_Q13, shp_lag_ptr[ -1 ], HarmShapeFIRPacked_Q14 ); n_LTP_Q13 = silk_LSHIFT( n_LTP_Q13, 1 ); shp_lag_ptr++; @@ -495,6 +539,18 @@ /* Find two quantization level candidates and measure their rate-distortion */ q1_Q10 = silk_SUB32( r_Q10, offset_Q10 ); q1_Q0 = silk_RSHIFT( q1_Q10, 10 ); + if (Lambda_Q10 > 2048) { + /* For aggressive RDO, the bias becomes more than one pulse. */ + if (q1_Q10 > rdo_offset) { + q1_Q0 = silk_RSHIFT( q1_Q10 - rdo_offset, 10 ); + } else if (q1_Q10 < -rdo_offset) { + q1_Q0 = silk_RSHIFT( q1_Q10 + rdo_offset, 10 ); + } else if (q1_Q10 < 0) { + q1_Q0 = -1; + } else { + q1_Q0 = 0; + } + } q1_Q10 = table[q1_Q0][0]; q2_Q10 = table[q1_Q0][1]; @@ -519,7 +575,8 @@ /* Update states */ psLPC_Q14++; *psLPC_Q14 = xq_Q14; - sLF_AR_shp_Q14 = silk_SUB_LSHIFT32( xq_Q14, n_AR_Q12, 2 ); + NSQ->sDiff_shp_Q14 = silk_SUB_LSHIFT32( xq_Q14, x_sc_Q10[ i ], 4 ); + sLF_AR_shp_Q14 = silk_SUB_LSHIFT32( NSQ->sDiff_shp_Q14, n_AR_Q12, 2 ); NSQ->sLTP_shp_Q14[ NSQ->sLTP_shp_buf_idx ] = silk_SUB_LSHIFT32( sLF_AR_shp_Q14, n_LF_Q12, 2 ); sLTP_Q15[ NSQ->sLTP_buf_idx ] = silk_LSHIFT( LPC_exc_Q14, 1 ); @@ -600,64 +657,54 @@ } static OPUS_INLINE void silk_nsq_scale_states_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - const opus_int32 x_Q3[], /* I input in Q3 */ - opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ - const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ - opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ - opus_int subfr, /* I subframe number */ - const opus_int LTP_scale_Q14, /* I */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ - const opus_int signal_type /* I Signal type */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + const opus_int16 x16[], /* I input */ + opus_int32 x_sc_Q10[], /* O input scaled with 1/Gain */ + const opus_int16 sLTP[], /* I re-whitened LTP state in Q0 */ + opus_int32 sLTP_Q15[], /* O LTP state matching scaled input */ + opus_int subfr, /* I subframe number */ + const opus_int LTP_scale_Q14, /* I */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lag */ + const opus_int signal_type /* I Signal type */ ) { opus_int i, lag; - opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q23; - __m128i xmm_inv_gain_Q23, xmm_x_Q3_x2x0, xmm_x_Q3_x3x1; + opus_int32 gain_adj_Q16, inv_gain_Q31, inv_gain_Q26; + __m128i xmm_inv_gain_Q26, xmm_x16_x2x0, xmm_x16_x3x1; lag = pitchL[ subfr ]; inv_gain_Q31 = silk_INVERSE32_varQ( silk_max( Gains_Q16[ subfr ], 1 ), 47 ); silk_assert( inv_gain_Q31 != 0 ); - /* Calculate gain adjustment factor */ - if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { - gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); - } else { - gain_adj_Q16 = (opus_int32)1 << 16; - } - /* Scale input */ - inv_gain_Q23 = silk_RSHIFT_ROUND( inv_gain_Q31, 8 ); + inv_gain_Q26 = silk_RSHIFT_ROUND( inv_gain_Q31, 5 ); - /* prepare inv_gain_Q23 in packed 4 32-bits */ - xmm_inv_gain_Q23 = _mm_set1_epi32(inv_gain_Q23); + /* prepare inv_gain_Q26 in packed 4 32-bits */ + xmm_inv_gain_Q26 = _mm_set1_epi32(inv_gain_Q26); for( i = 0; i < psEncC->subfr_length - 3; i += 4 ) { - xmm_x_Q3_x2x0 = _mm_loadu_si128( (__m128i *)(&(x_Q3[ i ] ) ) ); + xmm_x16_x2x0 = OP_CVTEPI16_EPI32_M64( &(x16[ i ] ) ); /* equal shift right 4 bytes*/ - xmm_x_Q3_x3x1 = _mm_shuffle_epi32( xmm_x_Q3_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); + xmm_x16_x3x1 = _mm_shuffle_epi32( xmm_x16_x2x0, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - xmm_x_Q3_x2x0 = _mm_mul_epi32( xmm_x_Q3_x2x0, xmm_inv_gain_Q23 ); - xmm_x_Q3_x3x1 = _mm_mul_epi32( xmm_x_Q3_x3x1, xmm_inv_gain_Q23 ); + xmm_x16_x2x0 = _mm_mul_epi32( xmm_x16_x2x0, xmm_inv_gain_Q26 ); + xmm_x16_x3x1 = _mm_mul_epi32( xmm_x16_x3x1, xmm_inv_gain_Q26 ); - xmm_x_Q3_x2x0 = _mm_srli_epi64( xmm_x_Q3_x2x0, 16 ); - xmm_x_Q3_x3x1 = _mm_slli_epi64( xmm_x_Q3_x3x1, 16 ); + xmm_x16_x2x0 = _mm_srli_epi64( xmm_x16_x2x0, 16 ); + xmm_x16_x3x1 = _mm_slli_epi64( xmm_x16_x3x1, 16 ); - xmm_x_Q3_x2x0 = _mm_blend_epi16( xmm_x_Q3_x2x0, xmm_x_Q3_x3x1, 0xCC ); + xmm_x16_x2x0 = _mm_blend_epi16( xmm_x16_x2x0, xmm_x16_x3x1, 0xCC ); - _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ] ) ), xmm_x_Q3_x2x0 ); + _mm_storeu_si128( (__m128i *)(&(x_sc_Q10[ i ] ) ), xmm_x16_x2x0 ); } for( ; i < psEncC->subfr_length; i++ ) { - x_sc_Q10[ i ] = silk_SMULWW( x_Q3[ i ], inv_gain_Q23 ); + x_sc_Q10[ i ] = silk_SMULWW( x16[ i ], inv_gain_Q26 ); } - /* Save inverse gain */ - NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; - /* After rewhitening the LTP state is un-scaled, so scale with inv_gain_Q16 */ if( NSQ->rewhite_flag ) { if( subfr == 0 ) { @@ -671,7 +718,9 @@ } /* Adjust for changing gain */ - if( gain_adj_Q16 != (opus_int32)1 << 16 ) { + if( Gains_Q16[ subfr ] != NSQ->prev_gain_Q16 ) { + gain_adj_Q16 = silk_DIV32_varQ( NSQ->prev_gain_Q16, Gains_Q16[ subfr ], 16 ); + /* Scale long-term shaping state */ __m128i xmm_gain_adj_Q16, xmm_sLTP_shp_Q14_x2x0, xmm_sLTP_shp_Q14_x3x1; @@ -707,6 +756,7 @@ } NSQ->sLF_AR_shp_Q14 = silk_SMULWW( gain_adj_Q16, NSQ->sLF_AR_shp_Q14 ); + NSQ->sDiff_shp_Q14 = silk_SMULWW( gain_adj_Q16, NSQ->sDiff_shp_Q14 ); /* Scale short-term prediction and shaping states */ for( i = 0; i < NSQ_LPC_BUF_LENGTH; i++ ) { @@ -715,5 +765,8 @@ for( i = 0; i < MAX_SHAPE_LPC_ORDER; i++ ) { NSQ->sAR2_Q14[ i ] = silk_SMULWW( gain_adj_Q16, NSQ->sAR2_Q14[ i ] ); } + + /* Save inverse gain */ + NSQ->prev_gain_Q16 = Gains_Q16[ subfr ]; } } diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/SigProc_FIX_sse.h thunderbird-91.10.0/media/libopus/silk/x86/SigProc_FIX_sse.h --- thunderbird-91.8.0/media/libopus/silk/x86/SigProc_FIX_sse.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/SigProc_FIX_sse.h 2022-05-25 21:46:13.000000000 +0000 @@ -67,7 +67,7 @@ #endif -opus_int64 silk_inner_prod16_aligned_64_sse4_1( +opus_int64 silk_inner_prod16_sse4_1( const opus_int16 *inVec1, const opus_int16 *inVec2, const opus_int len @@ -76,18 +76,18 @@ #if defined(OPUS_X86_PRESUME_SSE4_1) -#define silk_inner_prod16_aligned_64(inVec1, inVec2, len, arch) \ - ((void)(arch),silk_inner_prod16_aligned_64_sse4_1(inVec1, inVec2, len)) +#define silk_inner_prod16(inVec1, inVec2, len, arch) \ + ((void)(arch),silk_inner_prod16_sse4_1(inVec1, inVec2, len)) #else -extern opus_int64 (*const SILK_INNER_PROD16_ALIGNED_64_IMPL[OPUS_ARCHMASK + 1])( +extern opus_int64 (*const SILK_INNER_PROD16_IMPL[OPUS_ARCHMASK + 1])( const opus_int16 *inVec1, const opus_int16 *inVec2, const opus_int len); -# define silk_inner_prod16_aligned_64(inVec1, inVec2, len, arch) \ - ((*SILK_INNER_PROD16_ALIGNED_64_IMPL[(arch) & OPUS_ARCHMASK])(inVec1, inVec2, len)) +# define silk_inner_prod16(inVec1, inVec2, len, arch) \ + ((*SILK_INNER_PROD16_IMPL[(arch) & OPUS_ARCHMASK])(inVec1, inVec2, len)) #endif #endif diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/VAD_sse.c thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse.c --- thunderbird-91.8.0/media/libopus/silk/x86/VAD_sse.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,277 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include "main.h" -#include "stack_alloc.h" - -/* Weighting factors for tilt measure */ -static const opus_int32 tiltWeights[ VAD_N_BANDS ] = { 30000, 6000, -12000, -12000 }; - -/***************************************/ -/* Get the speech activity level in Q8 */ -/***************************************/ -opus_int silk_VAD_GetSA_Q8_sse4_1( /* O Return value, 0 if success */ - silk_encoder_state *psEncC, /* I/O Encoder state */ - const opus_int16 pIn[] /* I PCM input */ -) -{ - opus_int SA_Q15, pSNR_dB_Q7, input_tilt; - opus_int decimated_framelength1, decimated_framelength2; - opus_int decimated_framelength; - opus_int dec_subframe_length, dec_subframe_offset, SNR_Q7, i, b, s; - opus_int32 sumSquared, smooth_coef_Q16; - opus_int16 HPstateTmp; - VARDECL( opus_int16, X ); - opus_int32 Xnrg[ VAD_N_BANDS ]; - opus_int32 NrgToNoiseRatio_Q8[ VAD_N_BANDS ]; - opus_int32 speech_nrg, x_tmp; - opus_int X_offset[ VAD_N_BANDS ]; - opus_int ret = 0; - silk_VAD_state *psSilk_VAD = &psEncC->sVAD; - - SAVE_STACK; - - /* Safety checks */ - silk_assert( VAD_N_BANDS == 4 ); - silk_assert( MAX_FRAME_LENGTH >= psEncC->frame_length ); - silk_assert( psEncC->frame_length <= 512 ); - silk_assert( psEncC->frame_length == 8 * silk_RSHIFT( psEncC->frame_length, 3 ) ); - - /***********************/ - /* Filter and Decimate */ - /***********************/ - decimated_framelength1 = silk_RSHIFT( psEncC->frame_length, 1 ); - decimated_framelength2 = silk_RSHIFT( psEncC->frame_length, 2 ); - decimated_framelength = silk_RSHIFT( psEncC->frame_length, 3 ); - /* Decimate into 4 bands: - 0 L 3L L 3L 5L - - -- - -- -- - 8 8 2 4 4 - - [0-1 kHz| temp. |1-2 kHz| 2-4 kHz | 4-8 kHz | - - They're arranged to allow the minimal ( frame_length / 4 ) extra - scratch space during the downsampling process */ - X_offset[ 0 ] = 0; - X_offset[ 1 ] = decimated_framelength + decimated_framelength2; - X_offset[ 2 ] = X_offset[ 1 ] + decimated_framelength; - X_offset[ 3 ] = X_offset[ 2 ] + decimated_framelength2; - ALLOC( X, X_offset[ 3 ] + decimated_framelength1, opus_int16 ); - - /* 0-8 kHz to 0-4 kHz and 4-8 kHz */ - silk_ana_filt_bank_1( pIn, &psSilk_VAD->AnaState[ 0 ], - X, &X[ X_offset[ 3 ] ], psEncC->frame_length ); - - /* 0-4 kHz to 0-2 kHz and 2-4 kHz */ - silk_ana_filt_bank_1( X, &psSilk_VAD->AnaState1[ 0 ], - X, &X[ X_offset[ 2 ] ], decimated_framelength1 ); - - /* 0-2 kHz to 0-1 kHz and 1-2 kHz */ - silk_ana_filt_bank_1( X, &psSilk_VAD->AnaState2[ 0 ], - X, &X[ X_offset[ 1 ] ], decimated_framelength2 ); - - /*********************************************/ - /* HP filter on lowest band (differentiator) */ - /*********************************************/ - X[ decimated_framelength - 1 ] = silk_RSHIFT( X[ decimated_framelength - 1 ], 1 ); - HPstateTmp = X[ decimated_framelength - 1 ]; - for( i = decimated_framelength - 1; i > 0; i-- ) { - X[ i - 1 ] = silk_RSHIFT( X[ i - 1 ], 1 ); - X[ i ] -= X[ i - 1 ]; - } - X[ 0 ] -= psSilk_VAD->HPstate; - psSilk_VAD->HPstate = HPstateTmp; - - /*************************************/ - /* Calculate the energy in each band */ - /*************************************/ - for( b = 0; b < VAD_N_BANDS; b++ ) { - /* Find the decimated framelength in the non-uniformly divided bands */ - decimated_framelength = silk_RSHIFT( psEncC->frame_length, silk_min_int( VAD_N_BANDS - b, VAD_N_BANDS - 1 ) ); - - /* Split length into subframe lengths */ - dec_subframe_length = silk_RSHIFT( decimated_framelength, VAD_INTERNAL_SUBFRAMES_LOG2 ); - dec_subframe_offset = 0; - - /* Compute energy per sub-frame */ - /* initialize with summed energy of last subframe */ - Xnrg[ b ] = psSilk_VAD->XnrgSubfr[ b ]; - for( s = 0; s < VAD_INTERNAL_SUBFRAMES; s++ ) { - __m128i xmm_X, xmm_acc; - sumSquared = 0; - - xmm_acc = _mm_setzero_si128(); - - for( i = 0; i < dec_subframe_length - 7; i += 8 ) - { - xmm_X = _mm_loadu_si128( (__m128i *)&(X[ X_offset[ b ] + i + dec_subframe_offset ] ) ); - xmm_X = _mm_srai_epi16( xmm_X, 3 ); - xmm_X = _mm_madd_epi16( xmm_X, xmm_X ); - xmm_acc = _mm_add_epi32( xmm_acc, xmm_X ); - } - - xmm_acc = _mm_add_epi32( xmm_acc, _mm_unpackhi_epi64( xmm_acc, xmm_acc ) ); - xmm_acc = _mm_add_epi32( xmm_acc, _mm_shufflelo_epi16( xmm_acc, 0x0E ) ); - - sumSquared += _mm_cvtsi128_si32( xmm_acc ); - - for( ; i < dec_subframe_length; i++ ) { - /* The energy will be less than dec_subframe_length * ( silk_int16_MIN / 8 ) ^ 2. */ - /* Therefore we can accumulate with no risk of overflow (unless dec_subframe_length > 128) */ - x_tmp = silk_RSHIFT( - X[ X_offset[ b ] + i + dec_subframe_offset ], 3 ); - sumSquared = silk_SMLABB( sumSquared, x_tmp, x_tmp ); - - /* Safety check */ - silk_assert( sumSquared >= 0 ); - } - - /* Add/saturate summed energy of current subframe */ - if( s < VAD_INTERNAL_SUBFRAMES - 1 ) { - Xnrg[ b ] = silk_ADD_POS_SAT32( Xnrg[ b ], sumSquared ); - } else { - /* Look-ahead subframe */ - Xnrg[ b ] = silk_ADD_POS_SAT32( Xnrg[ b ], silk_RSHIFT( sumSquared, 1 ) ); - } - - dec_subframe_offset += dec_subframe_length; - } - psSilk_VAD->XnrgSubfr[ b ] = sumSquared; - } - - /********************/ - /* Noise estimation */ - /********************/ - silk_VAD_GetNoiseLevels( &Xnrg[ 0 ], psSilk_VAD ); - - /***********************************************/ - /* Signal-plus-noise to noise ratio estimation */ - /***********************************************/ - sumSquared = 0; - input_tilt = 0; - for( b = 0; b < VAD_N_BANDS; b++ ) { - speech_nrg = Xnrg[ b ] - psSilk_VAD->NL[ b ]; - if( speech_nrg > 0 ) { - /* Divide, with sufficient resolution */ - if( ( Xnrg[ b ] & 0xFF800000 ) == 0 ) { - NrgToNoiseRatio_Q8[ b ] = silk_DIV32( silk_LSHIFT( Xnrg[ b ], 8 ), psSilk_VAD->NL[ b ] + 1 ); - } else { - NrgToNoiseRatio_Q8[ b ] = silk_DIV32( Xnrg[ b ], silk_RSHIFT( psSilk_VAD->NL[ b ], 8 ) + 1 ); - } - - /* Convert to log domain */ - SNR_Q7 = silk_lin2log( NrgToNoiseRatio_Q8[ b ] ) - 8 * 128; - - /* Sum-of-squares */ - sumSquared = silk_SMLABB( sumSquared, SNR_Q7, SNR_Q7 ); /* Q14 */ - - /* Tilt measure */ - if( speech_nrg < ( (opus_int32)1 << 20 ) ) { - /* Scale down SNR value for small subband speech energies */ - SNR_Q7 = silk_SMULWB( silk_LSHIFT( silk_SQRT_APPROX( speech_nrg ), 6 ), SNR_Q7 ); - } - input_tilt = silk_SMLAWB( input_tilt, tiltWeights[ b ], SNR_Q7 ); - } else { - NrgToNoiseRatio_Q8[ b ] = 256; - } - } - - /* Mean-of-squares */ - sumSquared = silk_DIV32_16( sumSquared, VAD_N_BANDS ); /* Q14 */ - - /* Root-mean-square approximation, scale to dBs, and write to output pointer */ - pSNR_dB_Q7 = (opus_int16)( 3 * silk_SQRT_APPROX( sumSquared ) ); /* Q7 */ - - /*********************************/ - /* Speech Probability Estimation */ - /*********************************/ - SA_Q15 = silk_sigm_Q15( silk_SMULWB( VAD_SNR_FACTOR_Q16, pSNR_dB_Q7 ) - VAD_NEGATIVE_OFFSET_Q5 ); - - /**************************/ - /* Frequency Tilt Measure */ - /**************************/ - psEncC->input_tilt_Q15 = silk_LSHIFT( silk_sigm_Q15( input_tilt ) - 16384, 1 ); - - /**************************************************/ - /* Scale the sigmoid output based on power levels */ - /**************************************************/ - speech_nrg = 0; - for( b = 0; b < VAD_N_BANDS; b++ ) { - /* Accumulate signal-without-noise energies, higher frequency bands have more weight */ - speech_nrg += ( b + 1 ) * silk_RSHIFT( Xnrg[ b ] - psSilk_VAD->NL[ b ], 4 ); - } - - /* Power scaling */ - if( speech_nrg <= 0 ) { - SA_Q15 = silk_RSHIFT( SA_Q15, 1 ); - } else if( speech_nrg < 32768 ) { - if( psEncC->frame_length == 10 * psEncC->fs_kHz ) { - speech_nrg = silk_LSHIFT_SAT32( speech_nrg, 16 ); - } else { - speech_nrg = silk_LSHIFT_SAT32( speech_nrg, 15 ); - } - - /* square-root */ - speech_nrg = silk_SQRT_APPROX( speech_nrg ); - SA_Q15 = silk_SMULWB( 32768 + speech_nrg, SA_Q15 ); - } - - /* Copy the resulting speech activity in Q8 */ - psEncC->speech_activity_Q8 = silk_min_int( silk_RSHIFT( SA_Q15, 7 ), silk_uint8_MAX ); - - /***********************************/ - /* Energy Level and SNR estimation */ - /***********************************/ - /* Smoothing coefficient */ - smooth_coef_Q16 = silk_SMULWB( VAD_SNR_SMOOTH_COEF_Q18, silk_SMULWB( (opus_int32)SA_Q15, SA_Q15 ) ); - - if( psEncC->frame_length == 10 * psEncC->fs_kHz ) { - smooth_coef_Q16 >>= 1; - } - - for( b = 0; b < VAD_N_BANDS; b++ ) { - /* compute smoothed energy-to-noise ratio per band */ - psSilk_VAD->NrgRatioSmth_Q8[ b ] = silk_SMLAWB( psSilk_VAD->NrgRatioSmth_Q8[ b ], - NrgToNoiseRatio_Q8[ b ] - psSilk_VAD->NrgRatioSmth_Q8[ b ], smooth_coef_Q16 ); - - /* signal to noise ratio in dB per band */ - SNR_Q7 = 3 * ( silk_lin2log( psSilk_VAD->NrgRatioSmth_Q8[b] ) - 8 * 128 ); - /* quality = sigmoid( 0.25 * ( SNR_dB - 16 ) ); */ - psEncC->input_quality_bands_Q15[ b ] = silk_sigm_Q15( silk_RSHIFT( SNR_Q7 - 16 * 128, 4 ) ); - } - - RESTORE_STACK; - return( ret ); -} diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/VAD_sse4_1.c thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/x86/VAD_sse4_1.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/VAD_sse4_1.c 2022-05-25 21:47:09.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang +/* Copyright (c) 2014-2020, Cisco Systems, INC + Written by XiangMingZhu WeiZhou MinPeng YanWang FrancisQuiers Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -63,6 +63,14 @@ SAVE_STACK; +#ifdef OPUS_CHECK_ASM + silk_encoder_state psEncC_c; + opus_int ret_c; + + silk_memcpy( &psEncC_c, psEncC, sizeof( psEncC_c ) ); + ret_c = silk_VAD_GetSA_Q8_c( &psEncC_c, pIn ); +#endif + /* Safety checks */ silk_assert( VAD_N_BANDS == 4 ); celt_assert( MAX_FRAME_LENGTH >= psEncC->frame_length ); @@ -233,15 +241,14 @@ speech_nrg += ( b + 1 ) * silk_RSHIFT( Xnrg[ b ] - psSilk_VAD->NL[ b ], 4 ); } + if( psEncC->frame_length == 20 * psEncC->fs_kHz ) { + speech_nrg = silk_RSHIFT32( speech_nrg, 1 ); + } /* Power scaling */ if( speech_nrg <= 0 ) { SA_Q15 = silk_RSHIFT( SA_Q15, 1 ); - } else if( speech_nrg < 32768 ) { - if( psEncC->frame_length == 10 * psEncC->fs_kHz ) { - speech_nrg = silk_LSHIFT_SAT32( speech_nrg, 16 ); - } else { - speech_nrg = silk_LSHIFT_SAT32( speech_nrg, 15 ); - } + } else if( speech_nrg < 16384 ) { + speech_nrg = silk_LSHIFT32( speech_nrg, 16 ); /* square-root */ speech_nrg = silk_SQRT_APPROX( speech_nrg ); @@ -272,6 +279,11 @@ psEncC->input_quality_bands_Q15[ b ] = silk_sigm_Q15( silk_RSHIFT( SNR_Q7 - 16 * 128, 4 ) ); } +#ifdef OPUS_CHECK_ASM + silk_assert( ret == ret_c ); + silk_assert( !memcmp( &psEncC_c, psEncC, sizeof( psEncC_c ) ) ); +#endif + RESTORE_STACK; return( ret ); } diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/VQ_WMat_EC_sse.c thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse.c --- thunderbird-91.8.0/media/libopus/silk/x86/VQ_WMat_EC_sse.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,142 +0,0 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "main.h" -#include "celt/x86/x86cpu.h" - -/* Entropy constrained matrix-weighted VQ, hard-coded to 5-element vectors, for a single input data vector */ -void silk_VQ_WMat_EC_sse4_1( - opus_int8 *ind, /* O index of best codebook vector */ - opus_int32 *rate_dist_Q14, /* O best weighted quant error + mu * rate */ - opus_int *gain_Q7, /* O sum of absolute LTP coefficients */ - const opus_int16 *in_Q14, /* I input vector to be quantized */ - const opus_int32 *W_Q18, /* I weighting matrix */ - const opus_int8 *cb_Q7, /* I codebook */ - const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ - const opus_uint8 *cl_Q5, /* I code length for each codebook vector */ - const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ - const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ - opus_int L /* I number of vectors in codebook */ -) -{ - opus_int k, gain_tmp_Q7; - const opus_int8 *cb_row_Q7; - opus_int16 diff_Q14[ 5 ]; - opus_int32 sum1_Q14, sum2_Q16; - - __m128i C_tmp1, C_tmp2, C_tmp3, C_tmp4, C_tmp5; - /* Loop over codebook */ - *rate_dist_Q14 = silk_int32_MAX; - cb_row_Q7 = cb_Q7; - for( k = 0; k < L; k++ ) { - gain_tmp_Q7 = cb_gain_Q7[k]; - - diff_Q14[ 0 ] = in_Q14[ 0 ] - silk_LSHIFT( cb_row_Q7[ 0 ], 7 ); - - C_tmp1 = OP_CVTEPI16_EPI32_M64( &in_Q14[ 1 ] ); - C_tmp2 = OP_CVTEPI8_EPI32_M32( &cb_row_Q7[ 1 ] ); - C_tmp2 = _mm_slli_epi32( C_tmp2, 7 ); - C_tmp1 = _mm_sub_epi32( C_tmp1, C_tmp2 ); - - diff_Q14[ 1 ] = _mm_extract_epi16( C_tmp1, 0 ); - diff_Q14[ 2 ] = _mm_extract_epi16( C_tmp1, 2 ); - diff_Q14[ 3 ] = _mm_extract_epi16( C_tmp1, 4 ); - diff_Q14[ 4 ] = _mm_extract_epi16( C_tmp1, 6 ); - - /* Weighted rate */ - sum1_Q14 = silk_SMULBB( mu_Q9, cl_Q5[ k ] ); - - /* Penalty for too large gain */ - sum1_Q14 = silk_ADD_LSHIFT32( sum1_Q14, silk_max( silk_SUB32( gain_tmp_Q7, max_gain_Q7 ), 0 ), 10 ); - - silk_assert( sum1_Q14 >= 0 ); - - /* first row of W_Q18 */ - C_tmp3 = _mm_loadu_si128( (__m128i *)(&W_Q18[ 1 ] ) ); - C_tmp4 = _mm_mul_epi32( C_tmp3, C_tmp1 ); - C_tmp4 = _mm_srli_si128( C_tmp4, 2 ); - - C_tmp1 = _mm_shuffle_epi32( C_tmp1, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* shift right 4 bytes */ - C_tmp3 = _mm_shuffle_epi32( C_tmp3, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* shift right 4 bytes */ - - C_tmp5 = _mm_mul_epi32( C_tmp3, C_tmp1 ); - C_tmp5 = _mm_srli_si128( C_tmp5, 2 ); - - C_tmp5 = _mm_add_epi32( C_tmp4, C_tmp5 ); - C_tmp5 = _mm_slli_epi32( C_tmp5, 1 ); - - C_tmp5 = _mm_add_epi32( C_tmp5, _mm_shuffle_epi32( C_tmp5, _MM_SHUFFLE( 0, 0, 0, 2 ) ) ); - sum2_Q16 = _mm_cvtsi128_si32( C_tmp5 ); - - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 0 ], diff_Q14[ 0 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 0 ] ); - - /* second row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 7 ], diff_Q14[ 2 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 8 ], diff_Q14[ 3 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 9 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 6 ], diff_Q14[ 1 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 1 ] ); - - /* third row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 13 ], diff_Q14[ 3 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 14 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 12 ], diff_Q14[ 2 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 2 ] ); - - /* fourth row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 19 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 18 ], diff_Q14[ 3 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 3 ] ); - - /* last row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 24 ], diff_Q14[ 4 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 4 ] ); - - silk_assert( sum1_Q14 >= 0 ); - - /* find best */ - if( sum1_Q14 < *rate_dist_Q14 ) { - *rate_dist_Q14 = sum1_Q14; - *ind = (opus_int8)k; - *gain_Q7 = gain_tmp_Q7; - } - - /* Go to next cbk vector */ - cb_row_Q7 += LTP_ORDER; - } -} diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/VQ_WMat_EC_sse4_1.c thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse4_1.c --- thunderbird-91.8.0/media/libopus/silk/x86/VQ_WMat_EC_sse4_1.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/VQ_WMat_EC_sse4_1.c 2022-05-25 21:46:54.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2014, Cisco Systems, INC - Written by XiangMingZhu WeiZhou MinPeng YanWang +/* Copyright (c) 2014-2020, Cisco Systems, INC + Written by XiangMingZhu WeiZhou MinPeng YanWang FrancisQuiers Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -38,105 +38,136 @@ /* Entropy constrained matrix-weighted VQ, hard-coded to 5-element vectors, for a single input data vector */ void silk_VQ_WMat_EC_sse4_1( opus_int8 *ind, /* O index of best codebook vector */ - opus_int32 *rate_dist_Q14, /* O best weighted quant error + mu * rate */ + opus_int32 *res_nrg_Q15, /* O best residual energy */ + opus_int32 *rate_dist_Q8, /* O best total bitrate */ opus_int *gain_Q7, /* O sum of absolute LTP coefficients */ - const opus_int16 *in_Q14, /* I input vector to be quantized */ - const opus_int32 *W_Q18, /* I weighting matrix */ + const opus_int32 *XX_Q17, /* I correlation matrix */ + const opus_int32 *xX_Q17, /* I correlation vector */ const opus_int8 *cb_Q7, /* I codebook */ const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ const opus_uint8 *cl_Q5, /* I code length for each codebook vector */ - const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ + const opus_int subfr_len, /* I number of samples per subframe */ const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ - opus_int L /* I number of vectors in codebook */ + const opus_int L /* I number of vectors in codebook */ ) { opus_int k, gain_tmp_Q7; const opus_int8 *cb_row_Q7; - opus_int16 diff_Q14[ 5 ]; - opus_int32 sum1_Q14, sum2_Q16; + opus_int32 neg_xX_Q24[ 5 ]; + opus_int32 sum1_Q15, sum2_Q24; + opus_int32 bits_res_Q8, bits_tot_Q8; + __m128i v_XX_31_Q17, v_XX_42_Q17, v_cb_row_31_Q7, v_cb_row_42_Q7, v_acc1_Q24, v_acc2_Q24; + + /* Negate and convert to new Q domain */ + neg_xX_Q24[ 0 ] = -silk_LSHIFT32( xX_Q17[ 0 ], 7 ); + neg_xX_Q24[ 1 ] = -silk_LSHIFT32( xX_Q17[ 1 ], 7 ); + neg_xX_Q24[ 2 ] = -silk_LSHIFT32( xX_Q17[ 2 ], 7 ); + neg_xX_Q24[ 3 ] = -silk_LSHIFT32( xX_Q17[ 3 ], 7 ); + neg_xX_Q24[ 4 ] = -silk_LSHIFT32( xX_Q17[ 4 ], 7 ); + + v_XX_31_Q17 = _mm_loadu_si128( (__m128i *)(&XX_Q17[ 1 ] ) ); + v_XX_42_Q17 = _mm_shuffle_epi32( v_XX_31_Q17, _MM_SHUFFLE( 0, 3, 2, 1 ) ); - __m128i C_tmp1, C_tmp2, C_tmp3, C_tmp4, C_tmp5; /* Loop over codebook */ - *rate_dist_Q14 = silk_int32_MAX; + *rate_dist_Q8 = silk_int32_MAX; + *res_nrg_Q15 = silk_int32_MAX; cb_row_Q7 = cb_Q7; + /* If things go really bad, at least *ind is set to something safe. */ + *ind = 0; for( k = 0; k < L; k++ ) { + opus_int32 penalty; gain_tmp_Q7 = cb_gain_Q7[k]; - - diff_Q14[ 0 ] = in_Q14[ 0 ] - silk_LSHIFT( cb_row_Q7[ 0 ], 7 ); - - C_tmp1 = OP_CVTEPI16_EPI32_M64( &in_Q14[ 1 ] ); - C_tmp2 = OP_CVTEPI8_EPI32_M32( &cb_row_Q7[ 1 ] ); - C_tmp2 = _mm_slli_epi32( C_tmp2, 7 ); - C_tmp1 = _mm_sub_epi32( C_tmp1, C_tmp2 ); - - diff_Q14[ 1 ] = _mm_extract_epi16( C_tmp1, 0 ); - diff_Q14[ 2 ] = _mm_extract_epi16( C_tmp1, 2 ); - diff_Q14[ 3 ] = _mm_extract_epi16( C_tmp1, 4 ); - diff_Q14[ 4 ] = _mm_extract_epi16( C_tmp1, 6 ); - /* Weighted rate */ - sum1_Q14 = silk_SMULBB( mu_Q9, cl_Q5[ k ] ); + /* Quantization error: 1 - 2 * xX * cb + cb' * XX * cb */ + sum1_Q15 = SILK_FIX_CONST( 1.001, 15 ); /* Penalty for too large gain */ - sum1_Q14 = silk_ADD_LSHIFT32( sum1_Q14, silk_max( silk_SUB32( gain_tmp_Q7, max_gain_Q7 ), 0 ), 10 ); - - silk_assert( sum1_Q14 >= 0 ); + penalty = silk_LSHIFT32( silk_max( silk_SUB32( gain_tmp_Q7, max_gain_Q7 ), 0 ), 11 ); - /* first row of W_Q18 */ - C_tmp3 = _mm_loadu_si128( (__m128i *)(&W_Q18[ 1 ] ) ); - C_tmp4 = _mm_mul_epi32( C_tmp3, C_tmp1 ); - C_tmp4 = _mm_srli_si128( C_tmp4, 2 ); - - C_tmp1 = _mm_shuffle_epi32( C_tmp1, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* shift right 4 bytes */ - C_tmp3 = _mm_shuffle_epi32( C_tmp3, _MM_SHUFFLE( 0, 3, 2, 1 ) ); /* shift right 4 bytes */ - - C_tmp5 = _mm_mul_epi32( C_tmp3, C_tmp1 ); - C_tmp5 = _mm_srli_si128( C_tmp5, 2 ); - - C_tmp5 = _mm_add_epi32( C_tmp4, C_tmp5 ); - C_tmp5 = _mm_slli_epi32( C_tmp5, 1 ); - - C_tmp5 = _mm_add_epi32( C_tmp5, _mm_shuffle_epi32( C_tmp5, _MM_SHUFFLE( 0, 0, 0, 2 ) ) ); - sum2_Q16 = _mm_cvtsi128_si32( C_tmp5 ); - - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 0 ], diff_Q14[ 0 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 0 ] ); - - /* second row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 7 ], diff_Q14[ 2 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 8 ], diff_Q14[ 3 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 9 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 6 ], diff_Q14[ 1 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 1 ] ); - - /* third row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 13 ], diff_Q14[ 3 ] ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 14 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 12 ], diff_Q14[ 2 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 2 ] ); - - /* fourth row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 19 ], diff_Q14[ 4 ] ); - sum2_Q16 = silk_LSHIFT( sum2_Q16, 1 ); - sum2_Q16 = silk_SMLAWB( sum2_Q16, W_Q18[ 18 ], diff_Q14[ 3 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 3 ] ); - - /* last row of W_Q18 */ - sum2_Q16 = silk_SMULWB( W_Q18[ 24 ], diff_Q14[ 4 ] ); - sum1_Q14 = silk_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 4 ] ); - - silk_assert( sum1_Q14 >= 0 ); + /* first row of XX_Q17 */ + v_cb_row_31_Q7 = OP_CVTEPI8_EPI32_M32( &cb_row_Q7[ 1 ] ); + v_cb_row_42_Q7 = _mm_shuffle_epi32( v_cb_row_31_Q7, _MM_SHUFFLE( 0, 3, 2, 1 ) ); + v_cb_row_31_Q7 = _mm_mul_epi32( v_XX_31_Q17, v_cb_row_31_Q7 ); + v_cb_row_42_Q7 = _mm_mul_epi32( v_XX_42_Q17, v_cb_row_42_Q7 ); + v_acc1_Q24 = _mm_add_epi64( v_cb_row_31_Q7, v_cb_row_42_Q7); + v_acc2_Q24 = _mm_shuffle_epi32( v_acc1_Q24, _MM_SHUFFLE( 1, 0, 3, 2 ) ); + v_acc1_Q24 = _mm_add_epi64( v_acc1_Q24, v_acc2_Q24); + sum2_Q24 = _mm_cvtsi128_si32( v_acc1_Q24 ); + sum2_Q24 = silk_ADD32( neg_xX_Q24[ 0 ], sum2_Q24 ); + sum2_Q24 = silk_LSHIFT32( sum2_Q24, 1 ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 0 ], cb_row_Q7[ 0 ] ); + sum1_Q15 = silk_SMLAWB( sum1_Q15, sum2_Q24, cb_row_Q7[ 0 ] ); + + /* second row of XX_Q17 */ + sum2_Q24 = silk_MLA( neg_xX_Q24[ 1 ], XX_Q17[ 7 ], cb_row_Q7[ 2 ] ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 8 ], cb_row_Q7[ 3 ] ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 9 ], cb_row_Q7[ 4 ] ); + sum2_Q24 = silk_LSHIFT32( sum2_Q24, 1 ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 6 ], cb_row_Q7[ 1 ] ); + sum1_Q15 = silk_SMLAWB( sum1_Q15, sum2_Q24, cb_row_Q7[ 1 ] ); + + /* third row of XX_Q17 */ + sum2_Q24 = silk_MLA( neg_xX_Q24[ 2 ], XX_Q17[ 13 ], cb_row_Q7[ 3 ] ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 14 ], cb_row_Q7[ 4 ] ); + sum2_Q24 = silk_LSHIFT32( sum2_Q24, 1 ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 12 ], cb_row_Q7[ 2 ] ); + sum1_Q15 = silk_SMLAWB( sum1_Q15, sum2_Q24, cb_row_Q7[ 2 ] ); + + /* fourth row of XX_Q17 */ + sum2_Q24 = silk_MLA( neg_xX_Q24[ 3 ], XX_Q17[ 19 ], cb_row_Q7[ 4 ] ); + sum2_Q24 = silk_LSHIFT32( sum2_Q24, 1 ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 18 ], cb_row_Q7[ 3 ] ); + sum1_Q15 = silk_SMLAWB( sum1_Q15, sum2_Q24, cb_row_Q7[ 3 ] ); + + /* last row of XX_Q17 */ + sum2_Q24 = silk_LSHIFT32( neg_xX_Q24[ 4 ], 1 ); + sum2_Q24 = silk_MLA( sum2_Q24, XX_Q17[ 24 ], cb_row_Q7[ 4 ] ); + sum1_Q15 = silk_SMLAWB( sum1_Q15, sum2_Q24, cb_row_Q7[ 4 ] ); /* find best */ - if( sum1_Q14 < *rate_dist_Q14 ) { - *rate_dist_Q14 = sum1_Q14; - *ind = (opus_int8)k; - *gain_Q7 = gain_tmp_Q7; + if( sum1_Q15 >= 0 ) { + /* Translate residual energy to bits using high-rate assumption (6 dB ==> 1 bit/sample) */ + bits_res_Q8 = silk_SMULBB( subfr_len, silk_lin2log( sum1_Q15 + penalty) - (15 << 7) ); + /* In the following line we reduce the codelength component by half ("-1"); seems to slightly improve quality */ + bits_tot_Q8 = silk_ADD_LSHIFT32( bits_res_Q8, cl_Q5[ k ], 3-1 ); + if( bits_tot_Q8 <= *rate_dist_Q8 ) { + *rate_dist_Q8 = bits_tot_Q8; + *res_nrg_Q15 = sum1_Q15 + penalty; + *ind = (opus_int8)k; + *gain_Q7 = gain_tmp_Q7; + } } /* Go to next cbk vector */ cb_row_Q7 += LTP_ORDER; } + +#ifdef OPUS_CHECK_ASM + { + opus_int8 ind_c = 0; + opus_int32 res_nrg_Q15_c = 0; + opus_int32 rate_dist_Q8_c = 0; + opus_int gain_Q7_c = 0; + + silk_VQ_WMat_EC_c( + &ind_c, + &res_nrg_Q15_c, + &rate_dist_Q8_c, + &gain_Q7_c, + XX_Q17, + xX_Q17, + cb_Q7, + cb_gain_Q7, + cl_Q5, + subfr_len, + max_gain_Q7, + L + ); + + silk_assert( *ind == ind_c ); + silk_assert( *res_nrg_Q15 == res_nrg_Q15_c ); + silk_assert( *rate_dist_Q8 == rate_dist_Q8_c ); + silk_assert( *gain_Q7 == gain_Q7_c ); + } +#endif } diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/main_sse.h thunderbird-91.10.0/media/libopus/silk/x86/main_sse.h --- thunderbird-91.8.0/media/libopus/silk/x86/main_sse.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/main_sse.h 2022-05-25 21:45:50.000000000 +0000 @@ -34,73 +34,72 @@ # if defined(OPUS_X86_MAY_HAVE_SSE4_1) -#if 0 /* FIXME: SSE disabled until silk_VQ_WMat_EC_sse4_1() gets updated. */ # define OVERRIDE_silk_VQ_WMat_EC void silk_VQ_WMat_EC_sse4_1( opus_int8 *ind, /* O index of best codebook vector */ - opus_int32 *rate_dist_Q14, /* O best weighted quant error + mu * rate */ + opus_int32 *res_nrg_Q15, /* O best residual energy */ + opus_int32 *rate_dist_Q8, /* O best total bitrate */ opus_int *gain_Q7, /* O sum of absolute LTP coefficients */ - const opus_int16 *in_Q14, /* I input vector to be quantized */ - const opus_int32 *W_Q18, /* I weighting matrix */ + const opus_int32 *XX_Q17, /* I correlation matrix */ + const opus_int32 *xX_Q17, /* I correlation vector */ const opus_int8 *cb_Q7, /* I codebook */ const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ const opus_uint8 *cl_Q5, /* I code length for each codebook vector */ - const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ + const opus_int subfr_len, /* I number of samples per subframe */ const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ - opus_int L /* I number of vectors in codebook */ + const opus_int L /* I number of vectors in codebook */ ); #if defined OPUS_X86_PRESUME_SSE4_1 -#define silk_VQ_WMat_EC(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_gain_Q7, cl_Q5, \ - mu_Q9, max_gain_Q7, L, arch) \ - ((void)(arch),silk_VQ_WMat_EC_sse4_1(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_gain_Q7, cl_Q5, \ - mu_Q9, max_gain_Q7, L)) +#define silk_VQ_WMat_EC(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, \ + subfr_len, max_gain_Q7, L, arch) \ + ((void)(arch),silk_VQ_WMat_EC_sse4_1(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, \ + subfr_len, max_gain_Q7, L)) #else extern void (*const SILK_VQ_WMAT_EC_IMPL[OPUS_ARCHMASK + 1])( opus_int8 *ind, /* O index of best codebook vector */ - opus_int32 *rate_dist_Q14, /* O best weighted quant error + mu * rate */ + opus_int32 *res_nrg_Q15, /* O best residual energy */ + opus_int32 *rate_dist_Q8, /* O best total bitrate */ opus_int *gain_Q7, /* O sum of absolute LTP coefficients */ - const opus_int16 *in_Q14, /* I input vector to be quantized */ - const opus_int32 *W_Q18, /* I weighting matrix */ + const opus_int32 *XX_Q17, /* I correlation matrix */ + const opus_int32 *xX_Q17, /* I correlation vector */ const opus_int8 *cb_Q7, /* I codebook */ const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ const opus_uint8 *cl_Q5, /* I code length for each codebook vector */ - const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ + const opus_int subfr_len, /* I number of samples per subframe */ const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ - opus_int L /* I number of vectors in codebook */ + const opus_int L /* I number of vectors in codebook */ ); -# define silk_VQ_WMat_EC(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_gain_Q7, cl_Q5, \ - mu_Q9, max_gain_Q7, L, arch) \ - ((*SILK_VQ_WMAT_EC_IMPL[(arch) & OPUS_ARCHMASK])(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_gain_Q7, cl_Q5, \ - mu_Q9, max_gain_Q7, L)) +# define silk_VQ_WMat_EC(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, \ + subfr_len, max_gain_Q7, L, arch) \ + ((*SILK_VQ_WMAT_EC_IMPL[(arch) & OPUS_ARCHMASK])(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, \ + subfr_len, max_gain_Q7, L)) #endif -#endif -#if 0 /* FIXME: SSE disabled until the NSQ code gets updated. */ # define OVERRIDE_silk_NSQ void silk_NSQ_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); #if defined OPUS_X86_PRESUME_SSE4_1 @@ -113,21 +112,21 @@ #else extern void (*const SILK_NSQ_IMPL[OPUS_ARCHMASK + 1])( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); # define silk_NSQ(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ @@ -140,57 +139,56 @@ # define OVERRIDE_silk_NSQ_del_dec void silk_NSQ_del_dec_sse4_1( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); #if defined OPUS_X86_PRESUME_SSE4_1 -#define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ +#define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \ HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, Lambda_Q10, LTP_scale_Q14, arch) \ - ((void)(arch),silk_NSQ_del_dec_sse4_1(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ + ((void)(arch),silk_NSQ_del_dec_sse4_1(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \ HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, Lambda_Q10, LTP_scale_Q14)) #else extern void (*const SILK_NSQ_DEL_DEC_IMPL[OPUS_ARCHMASK + 1])( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ); -# define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ +# define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \ HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, Lambda_Q10, LTP_scale_Q14, arch) \ - ((*SILK_NSQ_DEL_DEC_IMPL[(arch) & OPUS_ARCHMASK])(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ + ((*SILK_NSQ_DEL_DEC_IMPL[(arch) & OPUS_ARCHMASK])(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \ HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, Lambda_Q10, LTP_scale_Q14)) #endif -#endif void silk_noise_shape_quantizer( silk_nsq_state *NSQ, /* I/O NSQ state */ diff -Nru thunderbird-91.8.0/media/libopus/silk/x86/x86_silk_map.c thunderbird-91.10.0/media/libopus/silk/x86/x86_silk_map.c --- thunderbird-91.8.0/media/libopus/silk/x86/x86_silk_map.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/silk/x86/x86_silk_map.c 2022-05-25 21:46:21.000000000 +0000 @@ -41,16 +41,16 @@ #include "fixed/main_FIX.h" -opus_int64 (*const SILK_INNER_PROD16_ALIGNED_64_IMPL[ OPUS_ARCHMASK + 1 ] )( +opus_int64 (*const SILK_INNER_PROD16_IMPL[ OPUS_ARCHMASK + 1 ] )( const opus_int16 *inVec1, const opus_int16 *inVec2, const opus_int len ) = { - silk_inner_prod16_aligned_64_c, /* non-sse */ - silk_inner_prod16_aligned_64_c, - silk_inner_prod16_aligned_64_c, - MAY_HAVE_SSE4_1( silk_inner_prod16_aligned_64 ), /* sse4.1 */ - MAY_HAVE_SSE4_1( silk_inner_prod16_aligned_64 ) /* avx */ + silk_inner_prod16_c, /* non-sse */ + silk_inner_prod16_c, + silk_inner_prod16_c, + MAY_HAVE_SSE4_1( silk_inner_prod16 ), /* sse4.1 */ + MAY_HAVE_SSE4_1( silk_inner_prod16 ) /* avx */ }; #endif @@ -66,23 +66,22 @@ MAY_HAVE_SSE4_1( silk_VAD_GetSA_Q8 ) /* avx */ }; -#if 0 /* FIXME: SSE disabled until the NSQ code gets updated. */ void (*const SILK_NSQ_IMPL[ OPUS_ARCHMASK + 1 ] )( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) = { silk_NSQ_c, /* non-sse */ silk_NSQ_c, @@ -90,21 +89,20 @@ MAY_HAVE_SSE4_1( silk_NSQ ), /* sse4.1 */ MAY_HAVE_SSE4_1( silk_NSQ ) /* avx */ }; -#endif -#if 0 /* FIXME: SSE disabled until silk_VQ_WMat_EC_sse4_1() gets updated. */ void (*const SILK_VQ_WMAT_EC_IMPL[ OPUS_ARCHMASK + 1 ] )( opus_int8 *ind, /* O index of best codebook vector */ - opus_int32 *rate_dist_Q14, /* O best weighted quant error + mu * rate */ + opus_int32 *res_nrg_Q15, /* O best residual energy */ + opus_int32 *rate_dist_Q8, /* O best total bitrate */ opus_int *gain_Q7, /* O sum of absolute LTP coefficients */ - const opus_int16 *in_Q14, /* I input vector to be quantized */ - const opus_int32 *W_Q18, /* I weighting matrix */ + const opus_int32 *XX_Q17, /* I correlation matrix */ + const opus_int32 *xX_Q17, /* I correlation vector */ const opus_int8 *cb_Q7, /* I codebook */ const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ const opus_uint8 *cl_Q5, /* I code length for each codebook vector */ - const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ + const opus_int subfr_len, /* I number of samples per subframe */ const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ - opus_int L /* I number of vectors in codebook */ + const opus_int L /* I number of vectors in codebook */ ) = { silk_VQ_WMat_EC_c, /* non-sse */ silk_VQ_WMat_EC_c, @@ -112,25 +110,23 @@ MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ), /* sse4.1 */ MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ) /* avx */ }; -#endif -#if 0 /* FIXME: SSE disabled until the NSQ code gets updated. */ void (*const SILK_NSQ_DEL_DEC_IMPL[ OPUS_ARCHMASK + 1 ] )( - const silk_encoder_state *psEncC, /* I Encoder State */ - silk_nsq_state *NSQ, /* I/O NSQ state */ - SideInfoIndices *psIndices, /* I/O Quantization Indices */ - const opus_int32 x_Q3[], /* I Prefiltered input signal */ - opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ - const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ - const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ - const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ - const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ - const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ - const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ - const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ - const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ - const opus_int LTP_scale_Q14 /* I LTP state scaling */ + const silk_encoder_state *psEncC, /* I Encoder State */ + silk_nsq_state *NSQ, /* I/O NSQ state */ + SideInfoIndices *psIndices, /* I/O Quantization Indices */ + const opus_int16 x16[], /* I Input */ + opus_int8 pulses[], /* O Quantized pulse signal */ + const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ + const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ + const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */ + const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ + const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ + const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ + const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ + const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ + const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ + const opus_int LTP_scale_Q14 /* I LTP state scaling */ ) = { silk_NSQ_del_dec_c, /* non-sse */ silk_NSQ_del_dec_c, @@ -138,7 +134,6 @@ MAY_HAVE_SSE4_1( silk_NSQ_del_dec ), /* sse4.1 */ MAY_HAVE_SSE4_1( silk_NSQ_del_dec ) /* avx */ }; -#endif #if defined(FIXED_POINT) diff -Nru thunderbird-91.8.0/media/libopus/src/analysis.c thunderbird-91.10.0/media/libopus/src/analysis.c --- thunderbird-91.8.0/media/libopus/src/analysis.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/analysis.c 2022-05-25 21:47:01.000000000 +0000 @@ -31,7 +31,9 @@ #define ANALYSIS_C +#ifdef MLP_TRAINING #include +#endif #include "mathops.h" #include "kiss_fft.h" @@ -249,6 +251,15 @@ if (curr_lookahead<0) curr_lookahead += DETECT_SIZE; + tonal->read_subframe += len/(tonal->Fs/400); + while (tonal->read_subframe>=8) + { + tonal->read_subframe -= 8; + tonal->read_pos++; + } + if (tonal->read_pos>=DETECT_SIZE) + tonal->read_pos-=DETECT_SIZE; + /* On long frames, look at the second analysis window rather than the first. */ if (len > tonal->Fs/50 && pos != tonal->write_pos) { @@ -262,6 +273,8 @@ pos = DETECT_SIZE-1; pos0 = pos; OPUS_COPY(info_out, &tonal->info[pos], 1); + if (!info_out->valid) + return; tonality_max = tonality_avg = info_out->tonality; tonality_count = 1; /* Look at the neighbouring frames and pick largest bandwidth found (to be safe). */ @@ -393,14 +406,6 @@ info_out->music_prob_max = prob_max; /* printf("%f %f %f %f %f\n", prob_min, prob_max, prob_avg/prob_count, vad_prob, info_out->music_prob); */ - tonal->read_subframe += len/(tonal->Fs/400); - while (tonal->read_subframe>=8) - { - tonal->read_subframe -= 8; - tonal->read_pos++; - } - if (tonal->read_pos>=DETECT_SIZE) - tonal->read_pos-=DETECT_SIZE; } static const float std_feature_bias[9] = { @@ -420,6 +425,24 @@ #define SCALE_ENER(e) (e) #endif +#ifdef FIXED_POINT +static int is_digital_silence32(const opus_val32* pcm, int frame_size, int channels, int lsb_depth) +{ + int silence = 0; + opus_val32 sample_max = 0; +#ifdef MLP_TRAINING + return 0; +#endif + sample_max = celt_maxabs32(pcm, frame_size*channels); + + silence = (sample_max == 0); + (void)lsb_depth; + return silence; +} +#else +#define is_digital_silence32(pcm, frame_size, channels, lsb_depth) is_digital_silence(pcm, frame_size, channels, lsb_depth) +#endif + static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt_mode, const void *x, int len, int offset, int c1, int c2, int C, int lsb_depth, downmix_func downmix) { int i, b; @@ -464,8 +487,14 @@ float layer_out[MAX_NEURONS]; float below_max_pitch; float above_max_pitch; + int is_silence; SAVE_STACK; + if (!tonal->initialized) + { + tonal->mem_fill = 240; + tonal->initialized = 1; + } alpha = 1.f/IMIN(10, 1+tonal->count); alphaE = 1.f/IMIN(25, 1+tonal->count); /* Noise floor related decay for bandwidth detection: -2.2 dB/second */ @@ -483,8 +512,6 @@ } kfft = celt_mode->mdct.kfft[0]; - if (tonal->count==0) - tonal->mem_fill = 240; tonal->hp_ener_accum += (float)downmix_and_resample(downmix, x, &tonal->inmem[tonal->mem_fill], tonal->downmix_state, IMIN(len, ANALYSIS_BUF_SIZE-tonal->mem_fill), offset, c1, c2, C, tonal->Fs); @@ -500,6 +527,8 @@ if (tonal->write_pos>=DETECT_SIZE) tonal->write_pos-=DETECT_SIZE; + is_silence = is_digital_silence32(tonal->inmem, ANALYSIS_BUF_SIZE, 1, lsb_depth); + ALLOC(in, 480, kiss_fft_cpx); ALLOC(out, 480, kiss_fft_cpx); ALLOC(tonality, 240, float); @@ -518,6 +547,16 @@ &tonal->inmem[240], tonal->downmix_state, remaining, offset+ANALYSIS_BUF_SIZE-tonal->mem_fill, c1, c2, C, tonal->Fs); tonal->mem_fill = 240 + remaining; + if (is_silence) + { + /* On silence, copy the previous analysis. */ + int prev_pos = tonal->write_pos-2; + if (prev_pos < 0) + prev_pos += DETECT_SIZE; + OPUS_COPY(info, &tonal->info[prev_pos], 1); + RESTORE_STACK; + return; + } opus_fft(kfft, in, out, tonal->arch); #ifndef FIXED_POINT /* If there's any NaN on the input, the entire output will be NaN, so we only need to check one value. */ @@ -654,7 +693,7 @@ tonal->lowE[b] = logE[b]; tonal->highE[b] = MIN32(tonal->lowE[b]+15, tonal->highE[b]); } - relativeE += (logE[b]-tonal->lowE[b])/(1e-15f + (tonal->highE[b]-tonal->lowE[b])); + relativeE += (logE[b]-tonal->lowE[b])/(1e-5f + (tonal->highE[b]-tonal->lowE[b])); L1=L2=0; for (i=0;iactivity_probability = frame_probs[1]; - /* It seems like the RNN tends to have a bias towards speech and this - warping of the probabilities compensates for it. */ - info->music_prob = MAX16(1.f-10.f*(1.f-frame_probs[0]), MIN16(10.f*frame_probs[0], .12f+.69f*frame_probs[0]*(2.f-frame_probs[0]))); + info->music_prob = frame_probs[0]; /*printf("%f %f %f\n", frame_probs[0], frame_probs[1], info->music_prob);*/ #ifdef MLP_TRAINING @@ -940,7 +977,6 @@ analysis->analysis_offset -= frame_size; } - analysis_info->valid = 0; tonality_get_info(analysis, analysis_info, frame_size); } diff -Nru thunderbird-91.8.0/media/libopus/src/analysis.h thunderbird-91.10.0/media/libopus/src/analysis.h --- thunderbird-91.8.0/media/libopus/src/analysis.h 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/analysis.h 2022-05-25 21:45:33.000000000 +0000 @@ -74,6 +74,7 @@ int read_pos; int read_subframe; float hp_ener_accum; + int initialized; float rnn_state[MAX_NEURONS]; opus_val32 downmix_state[3]; AnalysisInfo info[DETECT_SIZE]; diff -Nru thunderbird-91.8.0/media/libopus/src/mapping_matrix.h thunderbird-91.10.0/media/libopus/src/mapping_matrix.h --- thunderbird-91.8.0/media/libopus/src/mapping_matrix.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/mapping_matrix.h 2022-05-25 21:45:33.000000000 +0000 @@ -53,7 +53,7 @@ opus_int16 *mapping_matrix_get_data(const MappingMatrix *matrix); void mapping_matrix_init( - MappingMatrix * const st, + MappingMatrix * const matrix, int rows, int cols, int gain, diff -Nru thunderbird-91.8.0/media/libopus/src/mlp.c thunderbird-91.10.0/media/libopus/src/mlp.c --- thunderbird-91.8.0/media/libopus/src/mlp.c 2022-04-01 22:08:17.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/mlp.c 2022-05-25 21:46:55.000000000 +0000 @@ -69,22 +69,29 @@ return .5f + .5f*tansig_approx(.5f*x); } -void compute_dense(const DenseLayer *layer, float *output, const float *input) +static void gemm_accum(float *out, const opus_int8 *weights, int rows, int cols, int col_stride, const float *x) { int i, j; + for (i=0;inb_inputs; N = layer->nb_neurons; stride = N; for (i=0;ibias[i]; - for (j=0;jinput_weights[j*stride + i]*input[j]; - output[i] = WEIGHTS_SCALE*sum; - } + output[i] = layer->bias[i]; + gemm_accum(output, layer->input_weights, N, M, stride, input); + for (i=0;isigmoid) { for (i=0;inb_inputs; N = gru->nb_neurons; stride = 3*N; + /* Compute update gate. */ for (i=0;ibias[i]; - for (j=0;jinput_weights[j*stride + i]*input[j]; - for (j=0;jrecurrent_weights[j*stride + i]*state[j]; - z[i] = sigmoid_approx(WEIGHTS_SCALE*sum); - } + z[i] = gru->bias[i]; + gemm_accum(z, gru->input_weights, N, M, stride, input); + gemm_accum(z, gru->recurrent_weights, N, N, stride, state); for (i=0;ibias[N + i]; - for (j=0;jinput_weights[N + j*stride + i]*input[j]; - for (j=0;jrecurrent_weights[N + j*stride + i]*state[j]; - r[i] = sigmoid_approx(WEIGHTS_SCALE*sum); - } + z[i] = sigmoid_approx(WEIGHTS_SCALE*z[i]); + + /* Compute reset gate. */ for (i=0;ibias[2*N + i]; - for (j=0;jinput_weights[2*N + j*stride + i]*input[j]; - for (j=0;jrecurrent_weights[2*N + j*stride + i]*state[j]*r[j]; - h[i] = z[i]*state[i] + (1-z[i])*tansig_approx(WEIGHTS_SCALE*sum); - } + r[i] = gru->bias[N + i]; + gemm_accum(r, &gru->input_weights[N], N, M, stride, input); + gemm_accum(r, &gru->recurrent_weights[N], N, N, stride, state); + for (i=0;ibias[2*N + i]; + for (i=0;iinput_weights[2*N], N, M, stride, input); + gemm_accum(h, &gru->recurrent_weights[2*N], N, N, stride, tmp); + for (i=0;i 5760) + if (count <= 0 || framesize*(opus_int32)count > 5760) return OPUS_INVALID_PACKET; len--; /* Padding flag is bit 6 */ diff -Nru thunderbird-91.8.0/media/libopus/src/opus_encoder.c thunderbird-91.10.0/media/libopus/src/opus_encoder.c --- thunderbird-91.8.0/media/libopus/src/opus_encoder.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/opus_encoder.c 2022-05-25 21:47:01.000000000 +0000 @@ -112,7 +112,7 @@ opus_val16 delay_buffer[MAX_ENCODER_BUFFER*2]; #ifndef DISABLE_FLOAT_API int detected_bandwidth; - int nb_no_activity_frames; + int nb_no_activity_ms_Q1; opus_val32 peak_signal_energy; #endif int nonfinal_frame; /* current frame is not the final in a packet */ @@ -837,7 +837,7 @@ #ifndef DISABLE_FLOAT_API -static int is_digital_silence(const opus_val16* pcm, int frame_size, int channels, int lsb_depth) +int is_digital_silence(const opus_val16* pcm, int frame_size, int channels, int lsb_depth) { int silence = 0; opus_val32 sample_max = 0; @@ -892,44 +892,29 @@ #endif /* Decides if DTX should be turned on (=1) or off (=0) */ -static int decide_dtx_mode(float activity_probability, /* probability that current frame contains speech/music */ - int *nb_no_activity_frames, /* number of consecutive frames with no activity */ - opus_val32 peak_signal_energy, /* peak energy of desired signal detected so far */ - const opus_val16 *pcm, /* input pcm signal */ - int frame_size, /* frame size */ - int channels, - int is_silence, /* only digital silence detected in this frame */ - int arch - ) -{ - opus_val32 noise_energy; - - if (!is_silence) - { - if (activity_probability < DTX_ACTIVITY_THRESHOLD) /* is noise */ - { - noise_energy = compute_frame_energy(pcm, frame_size, channels, arch); - - /* but is sufficiently quiet */ - is_silence = peak_signal_energy >= (PSEUDO_SNR_THRESHOLD * noise_energy); - } - } - - if (is_silence) - { - /* The number of consecutive DTX frames should be within the allowed bounds */ - (*nb_no_activity_frames)++; +static int decide_dtx_mode(opus_int activity, /* indicates if this frame contains speech/music */ + int *nb_no_activity_ms_Q1, /* number of consecutive milliseconds with no activity, in Q1 */ + int frame_size_ms_Q1 /* number of miliseconds in this update, in Q1 */ + ) - if (*nb_no_activity_frames > NB_SPEECH_FRAMES_BEFORE_DTX) +{ + if (!activity) + { + /* The number of consecutive DTX frames should be within the allowed bounds. + Note that the allowed bound is defined in the SILK headers and assumes 20 ms + frames. As this function can be called with any frame length, a conversion to + milliseconds is done before the comparisons. */ + (*nb_no_activity_ms_Q1) += frame_size_ms_Q1; + if (*nb_no_activity_ms_Q1 > NB_SPEECH_FRAMES_BEFORE_DTX*20*2) { - if (*nb_no_activity_frames <= (NB_SPEECH_FRAMES_BEFORE_DTX + MAX_CONSECUTIVE_DTX)) + if (*nb_no_activity_ms_Q1 <= (NB_SPEECH_FRAMES_BEFORE_DTX + MAX_CONSECUTIVE_DTX)*20*2) /* Valid frame for DTX! */ return 1; else - (*nb_no_activity_frames) = NB_SPEECH_FRAMES_BEFORE_DTX; + (*nb_no_activity_ms_Q1) = NB_SPEECH_FRAMES_BEFORE_DTX*20*2; } } else - (*nb_no_activity_frames) = 0; + (*nb_no_activity_ms_Q1) = 0; return 0; } @@ -1102,6 +1087,8 @@ int analysis_read_subframe_bak=-1; int is_silence = 0; #endif + opus_int activity = VAD_NO_DECISION; + VARDECL(opus_val16, tmp_prefill); ALLOC_STACK; @@ -1140,21 +1127,19 @@ if (st->silk_mode.complexity >= 7 && st->Fs>=16000) #endif { - if (is_digital_silence(pcm, frame_size, st->channels, lsb_depth)) - { - is_silence = 1; - } else { - analysis_read_pos_bak = st->analysis.read_pos; - analysis_read_subframe_bak = st->analysis.read_subframe; - run_analysis(&st->analysis, celt_mode, analysis_pcm, analysis_size, frame_size, - c1, c2, analysis_channels, st->Fs, - lsb_depth, downmix, &analysis_info); - } + is_silence = is_digital_silence(pcm, frame_size, st->channels, lsb_depth); + analysis_read_pos_bak = st->analysis.read_pos; + analysis_read_subframe_bak = st->analysis.read_subframe; + run_analysis(&st->analysis, celt_mode, analysis_pcm, analysis_size, frame_size, + c1, c2, analysis_channels, st->Fs, + lsb_depth, downmix, &analysis_info); /* Track the peak signal energy */ if (!is_silence && analysis_info.activity_probability > DTX_ACTIVITY_THRESHOLD) st->peak_signal_energy = MAX32(MULT16_32_Q15(QCONST16(0.999f, 15), st->peak_signal_energy), compute_frame_energy(pcm, frame_size, st->channels, st->arch)); + } else if (st->analysis.initialized) { + tonality_analysis_reset(&st->analysis); } #else (void)analysis_pcm; @@ -1171,6 +1156,20 @@ if (!is_silence) st->voice_ratio = -1; + if (is_silence) + { + activity = !is_silence; + } else if (analysis_info.valid) + { + activity = analysis_info.activity_probability >= DTX_ACTIVITY_THRESHOLD; + if (!activity) + { + /* Mark as active if this noise frame is sufficiently loud */ + opus_val32 noise_energy = compute_frame_energy(pcm, frame_size, st->channels, st->arch); + activity = st->peak_signal_energy < (PSEUDO_SNR_THRESHOLD * noise_energy); + } + } + st->detected_bandwidth = 0; if (analysis_info.valid) { @@ -1338,6 +1337,14 @@ equiv_rate = compute_equiv_rate(st->bitrate_bps, st->stream_channels, st->Fs/frame_size, st->use_vbr, 0, st->silk_mode.complexity, st->silk_mode.packetLossPercentage); + /* Allow SILK DTX if DTX is enabled but the generalized DTX cannot be used, + e.g. because of the complexity setting or sample rate. */ +#ifndef DISABLE_FLOAT_API + st->silk_mode.useDTX = st->use_dtx && !(analysis_info.valid || is_silence); +#else + st->silk_mode.useDTX = st->use_dtx; +#endif + /* Mode selection depending on application and signal type */ if (st->application == OPUS_APPLICATION_RESTRICTED_LOWDELAY) { @@ -1386,13 +1393,7 @@ if (st->silk_mode.useInBandFEC && st->silk_mode.packetLossPercentage > (128-voice_est)>>4) st->mode = MODE_SILK_ONLY; /* When encoding voice and DTX is enabled but the generalized DTX cannot be used, - because of complexity and sampling frequency settings, switch to SILK DTX and - set the encoder to SILK mode */ -#ifndef DISABLE_FLOAT_API - st->silk_mode.useDTX = st->use_dtx && !(analysis_info.valid || is_silence); -#else - st->silk_mode.useDTX = st->use_dtx; -#endif + use SILK in order to make use of its DTX. */ if (st->silk_mode.useDTX && voice_est > 100) st->mode = MODE_SILK_ONLY; #endif @@ -1668,7 +1669,6 @@ if (st->mode != MODE_CELT_ONLY) { opus_int32 total_bitRate, celt_rate; - opus_int activity; #ifdef FIXED_POINT const opus_int16 *pcm_silk; #else @@ -1676,14 +1676,6 @@ ALLOC(pcm_silk, st->channels*frame_size, opus_int16); #endif - activity = VAD_NO_DECISION; -#ifndef DISABLE_FLOAT_API - if( analysis_info.valid ) { - /* Inform SILK about the Opus VAD decision */ - activity = ( analysis_info.activity_probability >= DTX_ACTIVITY_THRESHOLD ); - } -#endif - /* Distribute bits between SILK and CELT */ total_bitRate = 8 * bytes_target * frame_rate; if( st->mode == MODE_HYBRID ) { @@ -2144,14 +2136,15 @@ #ifndef DISABLE_FLOAT_API if (st->use_dtx && (analysis_info.valid || is_silence)) { - if (decide_dtx_mode(analysis_info.activity_probability, &st->nb_no_activity_frames, - st->peak_signal_energy, pcm, frame_size, st->channels, is_silence, st->arch)) + if (decide_dtx_mode(activity, &st->nb_no_activity_ms_Q1, 2*1000*frame_size/st->Fs)) { st->rangeFinal = 0; data[0] = gen_toc(st->mode, st->Fs/frame_size, curr_bandwidth, st->stream_channels); RESTORE_STACK; return 1; } + } else { + st->nb_no_activity_ms_Q1 = 0; } #endif @@ -2629,7 +2622,6 @@ goto bad_arg; } st->variable_duration = value; - celt_encoder_ctl(celt_enc, OPUS_SET_EXPERT_FRAME_DURATION(value)); } break; case OPUS_GET_EXPERT_FRAME_DURATION_REQUEST: @@ -2726,7 +2718,33 @@ ret = celt_encoder_ctl(celt_enc, OPUS_SET_ENERGY_MASK(value)); } break; - + case OPUS_GET_IN_DTX_REQUEST: + { + opus_int32 *value = va_arg(ap, opus_int32*); + if (!value) + { + goto bad_arg; + } + if (st->silk_mode.useDTX && (st->prev_mode == MODE_SILK_ONLY || st->prev_mode == MODE_HYBRID)) { + /* DTX determined by Silk. */ + silk_encoder *silk_enc = (silk_encoder*)(void *)((char*)st+st->silk_enc_offset); + *value = silk_enc->state_Fxx[0].sCmn.noSpeechCounter >= NB_SPEECH_FRAMES_BEFORE_DTX; + /* Stereo: check second channel unless only the middle channel was encoded. */ + if(*value == 1 && st->silk_mode.nChannelsInternal == 2 && silk_enc->prev_decode_only_middle == 0) { + *value = silk_enc->state_Fxx[1].sCmn.noSpeechCounter >= NB_SPEECH_FRAMES_BEFORE_DTX; + } + } +#ifndef DISABLE_FLOAT_API + else if (st->use_dtx) { + /* DTX determined by Opus. */ + *value = st->nb_no_activity_ms_Q1 >= NB_SPEECH_FRAMES_BEFORE_DTX*20*2; + } +#endif + else { + *value = 0; + } + } + break; case CELT_GET_MODE_REQUEST: { const CELTMode ** value = va_arg(ap, const CELTMode**); diff -Nru thunderbird-91.8.0/media/libopus/src/opus_multistream_decoder.c thunderbird-91.10.0/media/libopus/src/opus_multistream_decoder.c --- thunderbird-91.8.0/media/libopus/src/opus_multistream_decoder.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/opus_multistream_decoder.c 2022-05-25 21:47:09.000000000 +0000 @@ -251,8 +251,11 @@ } packet_offset = 0; ret = opus_decode_native(dec, data, len, buf, frame_size, decode_fec, s!=st->layout.nb_streams-1, &packet_offset, soft_clip); - data += packet_offset; - len -= packet_offset; + if (!do_plc) + { + data += packet_offset; + len -= packet_offset; + } if (ret <= 0) { RESTORE_STACK; @@ -487,7 +490,7 @@ OpusDecoder **value; stream_id = va_arg(ap, opus_int32); if (stream_id<0 || stream_id >= st->layout.nb_streams) - ret = OPUS_BAD_ARG; + goto bad_arg; value = va_arg(ap, OpusDecoder**); if (!value) { diff -Nru thunderbird-91.8.0/media/libopus/src/opus_multistream_encoder.c thunderbird-91.10.0/media/libopus/src/opus_multistream_encoder.c --- thunderbird-91.8.0/media/libopus/src/opus_multistream_encoder.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/opus_multistream_encoder.c 2022-05-25 21:46:54.000000000 +0000 @@ -443,7 +443,8 @@ char *ptr; if ((channels>255) || (channels<1) || (coupled_streams>streams) || - (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams)) + (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams) || + (streams+coupled_streams>channels)) return OPUS_BAD_ARG; st->arch = opus_select_arch(); @@ -459,8 +460,7 @@ st->layout.mapping[i] = mapping[i]; if (!validate_layout(&st->layout)) return OPUS_BAD_ARG; - if (mapping_type == MAPPING_TYPE_SURROUND && - !validate_encoder_layout(&st->layout)) + if (!validate_encoder_layout(&st->layout)) return OPUS_BAD_ARG; if (mapping_type == MAPPING_TYPE_AMBISONICS && !validate_ambisonics(st->layout.nb_channels, NULL, NULL)) @@ -595,7 +595,8 @@ int ret; OpusMSEncoder *st; if ((channels>255) || (channels<1) || (coupled_streams>streams) || - (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams)) + (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams) || + (streams+coupled_streams>channels)) { if (error) *error = OPUS_BAD_ARG; @@ -1249,7 +1250,7 @@ OpusEncoder **value; stream_id = va_arg(ap, opus_int32); if (stream_id<0 || stream_id >= st->layout.nb_streams) - ret = OPUS_BAD_ARG; + goto bad_arg; value = va_arg(ap, OpusEncoder**); if (!value) { diff -Nru thunderbird-91.8.0/media/libopus/src/opus_private.h thunderbird-91.10.0/media/libopus/src/opus_private.h --- thunderbird-91.8.0/media/libopus/src/opus_private.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/media/libopus/src/opus_private.h 2022-05-25 21:45:50.000000000 +0000 @@ -135,6 +135,7 @@ typedef void (*downmix_func)(const void *, opus_val32 *, int, int, int, int, int); void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); +int is_digital_silence(const opus_val16* pcm, int frame_size, int channels, int lsb_depth); int encode_size(int size, unsigned char *data); diff -Nru thunderbird-91.8.0/modules/libpref/init/StaticPrefList.yaml thunderbird-91.10.0/modules/libpref/init/StaticPrefList.yaml --- thunderbird-91.8.0/modules/libpref/init/StaticPrefList.yaml 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/modules/libpref/init/StaticPrefList.yaml 2022-05-25 21:46:40.000000000 +0000 @@ -2120,7 +2120,7 @@ mirror: always - name: dom.gamepad.test.enabled - type: bool + type: RelaxedAtomicBool value: false mirror: always diff -Nru thunderbird-91.8.0/modules/libpref/init/all.js thunderbird-91.10.0/modules/libpref/init/all.js --- thunderbird-91.8.0/modules/libpref/init/all.js 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/modules/libpref/init/all.js 2022-05-25 21:46:55.000000000 +0000 @@ -1410,7 +1410,7 @@ pref("network.http.spdy.pull-allowance", 12582912); // 12MB pref("network.http.spdy.default-concurrent", 100); pref("network.http.spdy.default-hpack-buffer", 65536); // 64k -pref("network.http.spdy.websockets", true); +pref("network.http.spdy.websockets", false); pref("network.http.spdy.enable-hpack-dump", false); // Http3 parameters @@ -4133,13 +4133,10 @@ // header. Information from this header will be used to validate the response. // If this header is not present, is malformed, or cannot be determined as // valid then the update will fail. -#ifdef EARLY_BETA_OR_EARLIER - // The plan is to have the feature gated by this pref to eventually replace - // the features controlled by the media.gmp-manager.cert.* prefs. Once that - // happens we can remove related code and prefs, but while testing we'll use - // this to gate (see bug 1714621 for more info). - pref("media.gmp-manager.checkContentSignature", true); -#endif +// We should eventually remove this pref and any cert pinning code and make +// the content signature path the sole path. We retain this for now in case +// we need to debug content sig vs cert pin. +pref("media.gmp-manager.checkContentSignature", true); // When |media.gmp-manager.cert.requireBuiltIn| is true or not specified the // final certificate and all certificates the connection is redirected to before diff -Nru thunderbird-91.8.0/mozglue/dllservices/WindowsDllBlocklistDefs.in thunderbird-91.10.0/mozglue/dllservices/WindowsDllBlocklistDefs.in --- thunderbird-91.8.0/mozglue/dllservices/WindowsDllBlocklistDefs.in 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/mozglue/dllservices/WindowsDllBlocklistDefs.in 2022-05-25 21:47:02.000000000 +0000 @@ -242,6 +242,9 @@ DllBlocklistEntry("WRDll.x64.dll", (1, 1, 0, 227)), DllBlocklistEntry("WRDll.x86.dll", (1, 1, 0, 227)), + # Webroot SecureAnywhere causes deadlocks, bug 1752466 + DllBlocklistEntry("WRusr.dll", (9, 0, 32, 49)), + # InfoWatch Device Monitor causes crashes, bug 1704276 DllBlocklistEntry("iwprn.dll", (6, 9, 11, 360)), DllBlocklistEntry("iwprn_x86.dll", (6, 9, 11, 360)), diff -Nru thunderbird-91.8.0/netwerk/dns/effective_tld_names.dat thunderbird-91.10.0/netwerk/dns/effective_tld_names.dat --- thunderbird-91.8.0/netwerk/dns/effective_tld_names.dat 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/netwerk/dns/effective_tld_names.dat 2022-05-25 21:47:03.000000000 +0000 @@ -22,8 +22,7 @@ ad nom.ad -// ae : https://en.wikipedia.org/wiki/.ae -// see also: "Domain Name Eligibility Policy" at http://www.aeda.ae/eng/aepolicy.php +// ae : https://tdra.gov.ae/en/aeda/ae-policies ae co.ae net.ae @@ -7131,7 +7130,7 @@ // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-03-27T15:13:38Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-05-18T15:16:02Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -7472,7 +7471,7 @@ // black : 2014-01-16 Afilias Limited black -// blackfriday : 2014-01-16 UNR Corp. +// blackfriday : 2014-01-16 Registry Services, LLC blackfriday // blockbuster : 2015-07-30 Dish DBS Corporation @@ -8309,7 +8308,7 @@ // gea : 2014-12-04 GEA Group Aktiengesellschaft gea -// gent : 2014-01-23 COMBELL NV +// gent : 2014-01-23 Easyhost BV gent // genting : 2015-03-12 Resorts World Inc Pte. Ltd. @@ -8852,7 +8851,7 @@ // linde : 2014-12-04 Linde Aktiengesellschaft linde -// link : 2013-11-14 UNR Corp. +// link : 2013-11-14 Nova Registry Ltd link // lipsy : 2015-06-25 Lipsy Ltd @@ -9308,7 +9307,7 @@ // phone : 2016-06-02 Dish DBS Corporation phone -// photo : 2013-11-14 UNR Corp. +// photo : 2013-11-14 Registry Services, LLC photo // photography : 2013-09-20 Binky Moon, LLC @@ -9551,7 +9550,7 @@ // rugby : 2016-12-15 World Rugby Strategic Developments Limited rugby -// ruhr : 2013-10-02 regiodot GmbH & Co. KG +// ruhr : 2013-10-02 dotSaarland GmbH ruhr // run : 2015-03-19 Binky Moon, LLC @@ -9902,7 +9901,7 @@ // tatar : 2014-04-24 Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic" tatar -// tattoo : 2013-08-30 UNR Corp. +// tattoo : 2013-08-30 Top Level Design, LLC tattoo // tax : 2014-03-20 Binky Moon, LLC @@ -12282,6 +12281,10 @@ // Submitted by Niels Martignene goupile.fr +// Government of the Netherlands: https://www.government.nl +// Submitted by +gov.nl + // Group 53, LLC : https://www.group53.com // Submitted by Tyler Todd awsmppl.com @@ -12358,7 +12361,6 @@ ngo.ng edu.scot sch.so -org.yt // HostyHosting (hostyhosting.com) hostyhosting.io @@ -12799,12 +12801,13 @@ co.pl // Microsoft Corporation : http://microsoft.com -// Submitted by Mitch Webster +// Submitted by Public Suffix List Admin *.azurecontainer.io azurewebsites.net azure-mobile.net cloudapp.net azurestaticapps.net +1.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net @@ -13389,6 +13392,12 @@ спб.рус я.рус +// Salesforce.com, Inc. https://salesforce.com/ +// Submitted by Michael Biven +builder.code.com +dev-builder.code.com +stg-builder.code.com + // Sandstorm Development Group, Inc. : https://sandcats.io/ // Submitted by Asheesh Laroia sandcats.io @@ -13398,6 +13407,34 @@ logoip.de logoip.com +// Scaleway : https://www.scaleway.com/ +// Submitted by Rémy Léone +fr-par-1.baremetal.scw.cloud +fr-par-2.baremetal.scw.cloud +nl-ams-1.baremetal.scw.cloud +fnc.fr-par.scw.cloud +functions.fnc.fr-par.scw.cloud +k8s.fr-par.scw.cloud +nodes.k8s.fr-par.scw.cloud +s3.fr-par.scw.cloud +s3-website.fr-par.scw.cloud +whm.fr-par.scw.cloud +priv.instances.scw.cloud +pub.instances.scw.cloud +k8s.scw.cloud +k8s.nl-ams.scw.cloud +nodes.k8s.nl-ams.scw.cloud +s3.nl-ams.scw.cloud +s3-website.nl-ams.scw.cloud +whm.nl-ams.scw.cloud +k8s.pl-waw.scw.cloud +nodes.k8s.pl-waw.scw.cloud +s3.pl-waw.scw.cloud +s3-website.pl-waw.scw.cloud +scalebook.scw.cloud +smartlabeling.scw.cloud +dedibox.fr + // schokokeks.org GbR : https://schokokeks.org/ // Submitted by Hanno Böck schokokeks.net @@ -13618,19 +13655,20 @@ // Synology, Inc. : https://www.synology.com/ // Submitted by Rony Weng -diskstation.me dscloud.biz -dscloud.me -dscloud.mobi +direct.quickconnect.cn dsmynas.com -dsmynas.net -dsmynas.org familyds.com -familyds.net -familyds.org +diskstation.me +dscloud.me i234.me myds.me synology.me +dscloud.mobi +dsmynas.net +familyds.net +dsmynas.org +familyds.org vpnplus.to direct.quickconnect.to @@ -13783,6 +13821,15 @@ ltd.hk inc.hk +// UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/ +// see also: whois -h whois.udr.org.yt help +// Submitted by Atanunu Igbunuroghene +name.pm +sch.tf +biz.wf +sch.wf +org.yt + // United Gameserver GmbH : https://united-gameserver.de // Submitted by Stefan Schwarz virtualuser.de diff -Nru thunderbird-91.8.0/python/mozbuild/mozbuild/action/dumpsymbols.py thunderbird-91.10.0/python/mozbuild/mozbuild/action/dumpsymbols.py --- thunderbird-91.8.0/python/mozbuild/mozbuild/action/dumpsymbols.py 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/python/mozbuild/mozbuild/action/dumpsymbols.py 2022-05-25 21:47:08.000000000 +0000 @@ -57,6 +57,9 @@ if objcopy: os.environ["OBJCOPY"] = objcopy + if buildconfig.substs.get("MOZ_THUNDERBIRD"): + sym_store_args.extend(["-s", os.path.join(buildconfig.topsrcdir, "comm")]) + args = ( [ sys.executable, diff -Nru thunderbird-91.8.0/security/manager/ssl/StaticHPKPins.h thunderbird-91.10.0/security/manager/ssl/StaticHPKPins.h --- thunderbird-91.8.0/security/manager/ssl/StaticHPKPins.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/manager/ssl/StaticHPKPins.h 2022-05-25 21:47:03.000000000 +0000 @@ -1149,4 +1149,4 @@ static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656931854455000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1661770302146000); diff -Nru thunderbird-91.8.0/security/manager/ssl/nsSTSPreloadList.inc thunderbird-91.10.0/security/manager/ssl/nsSTSPreloadList.inc --- thunderbird-91.8.0/security/manager/ssl/nsSTSPreloadList.inc 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/manager/ssl/nsSTSPreloadList.inc 2022-05-25 21:46:35.000000000 +0000 @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1659351047098000); +const PRTime gPreloadListExpirationTime = INT64_C(1664189493380000); %% 0--1.de, 1 0-1.party, 1 @@ -274,7 +274,6 @@ 083967.com, 1 084552.com, 1 085851.com, 1 -087010.com, 1 08845.cc, 1 089818.com, 1 08detaxe.fr, 1 @@ -310,7 +309,6 @@ 0dev.cc, 1 0i0.nl, 1 0ii0.cf, 1 -0ik.de, 1 0iz.net, 1 0knowledge.de, 0 0o0.edu.pl, 1 @@ -322,7 +320,6 @@ 0rap.tk, 1 0verall.tk, 1 0vi.org, 1 -0vo.moe, 1 0wx.cat, 1 0wx.es, 1 0wx.eu, 1 @@ -351,7 +348,6 @@ 0x6470.xyz, 1 0x7.io, 1 0x76.de, 1 -0x7d.com, 1 0x7fffffff.net, 1 0x80.org, 1 0x90.io, 1 @@ -374,6 +370,7 @@ 1-2-3bounce.co.uk, 1 1-pujcky-uvery.tk, 1 1-weightloss.com, 1 +100-downloads.com, 1 100-referencement.com, 1 10000hits.tk, 1 10000lab.net, 1 @@ -433,7 +430,6 @@ 101.qa, 1 10101.io, 1 101010.pl, 1 -1014.xyz, 1 101gen.com, 1 101st-airborne.tk, 1 101st.tk, 1 @@ -498,6 +494,7 @@ 110bu.com, 1 110bv.com, 1 110ce.com, 1 +110cl.com, 1 110eh.com, 1 110ej.com, 1 110ek.com, 1 @@ -518,6 +515,7 @@ 110kp.com, 1 110lh.com, 1 110lj.com, 1 +110na.com, 1 110ne.com, 1 110nf.com, 1 110ng.com, 1 @@ -728,6 +726,7 @@ 11jjqq.com, 1 11jjrr.com, 1 11jjtt.com, 1 +11jjyy.com, 1 11jjzz.com, 1 11kkee.com, 1 11kkff.com, 1 @@ -798,6 +797,8 @@ 11yykk.com, 1 11yypp.com, 1 11yyqq.com, 1 +11yyrr.com, 1 +11yytt.com, 1 11yyxx.com, 1 11zzbb.com, 1 11zzdd.com, 1 @@ -850,9 +851,6 @@ 123365t.com, 1 1234.link, 1 123410.xyz, 1 -1234365a.com, 1 -1234365k.com, 1 -1234365y.com, 1 1234365z.com, 0 12345.lv, 1 12345678365.com, 1 @@ -1039,6 +1037,8 @@ 156k66.com, 1 156z6.com, 1 157z6.com, 1 +158306.com, 0 +158bg.com, 1 158fb.com, 1 158ia.com, 1 158in.com, 1 @@ -1107,6 +1107,8 @@ 162ca.com, 1 162cb.com, 1 162cf.com, 1 +162cr.com, 1 +162ea.com, 1 162ee.com, 1 162ff.com, 1 162jj.com, 1 @@ -1313,7 +1315,6 @@ 188cn-sb.com, 1 188da.com, 1 188wei.com, 1 -189dv.com, 1 189fc.com, 1 18f.gov, 1 18f.gsa.gov, 0 @@ -1419,6 +1420,7 @@ 1cover.co.nz, 1 1cover.com.au, 1 1cprosto.tk, 1 +1csgo.org, 1 1cswd.com, 1 1datatec.com, 1 1day1ac.red, 1 @@ -1438,7 +1440,6 @@ 1hfree.tk, 1 1huiszoeken.nl, 1 1ii.im, 1 -1in9.net, 1 1it.click, 1 1js.de, 1 1kando.com, 0 @@ -1536,7 +1537,6 @@ 200201.xyz, 1 2007-g8.tk, 1 20071019780415.com, 1 -2007gp.com, 1 2007nea.tk, 1 200aaaa.com, 1 200bbbb.com, 1 @@ -1551,6 +1551,7 @@ 200llll.com, 1 200mmmm.com, 1 200oooo.com, 1 +200pppp.com, 1 200qqqq.com, 1 200rrrr.com, 1 200uuuu.com, 1 @@ -1591,7 +1592,6 @@ 2033z.com, 1 204504byse.info, 1 2048-spiel.de, 1 -2048game.co.uk, 1 207vv.com, 1 208.es, 1 2083236893.com, 1 @@ -1619,6 +1619,7 @@ 21risk.com, 1 21rocs.com, 1 21stcenturycarpentry.com.au, 1 +21stnc.us, 1 22.ag, 1 220220.de, 1 220control.ru, 1 @@ -1636,7 +1637,6 @@ 222k8.com, 1 222k8.net, 1 222tips.com, 1 -22321365.com, 0 225485.com, 1 2255motion.com, 1 2264707.ru, 1 @@ -1670,7 +1670,6 @@ 22aaxx.com, 1 22aayy.com, 1 22atat.com, 1 -22b31.com, 1 22b58.com, 1 22bbgg.com, 1 22bbhh.com, 1 @@ -1681,6 +1680,7 @@ 22bet.ng, 1 22bet86.com, 1 22betglobal.com, 1 +22ccaa.com, 1 22ccbb.com, 1 22ccpp.com, 1 22ccxx.com, 1 @@ -1720,6 +1720,7 @@ 22kkpp.com, 1 22kkyy.com, 1 22lc8.com, 0 +22momo.com, 1 22ppdd.com, 1 22ppgg.com, 1 22ppss.com, 1 @@ -1736,6 +1737,7 @@ 22ssjj.com, 1 22sskk.com, 1 22sstt.com, 1 +22tete.com, 1 22times.com, 1 22ttgg.com, 1 22vetter.st, 1 @@ -1777,7 +1779,6 @@ 233try.com, 1 233v2.com, 1 233vps.com, 1 -233yes.com, 1 2340365.com, 0 23436565.com, 1 2345666365.com, 0 @@ -1865,13 +1866,13 @@ 254vc.ml, 1 2555z6.com, 1 255k8.com, 1 -2566335.xyz, 1 256ac.com, 1 256be.com, 1 256bf.com, 1 256bl.com, 1 256bp.com, 1 256bq.com, 1 +256br.com, 1 256bt.com, 1 256bx.com, 1 256hh.com, 1 @@ -1893,7 +1894,9 @@ 262569.com, 1 269196.com, 1 2698pacificave.com, 1 +26bbc.com, 1 26ce.com, 1 +26ck.com, 1 26gt.com, 1 26ja.com, 1 26nc.com, 1 @@ -1904,6 +1907,8 @@ 26sr.com, 1 26ssb.com, 1 26uuu.info, 1 +26uuu.mobi, 1 +26uuu.us, 1 27000.best, 1 2718282.net, 1 272live.com, 1 @@ -2036,6 +2041,7 @@ 300cccc.com, 1 300dddd.com, 1 300hhhh.com, 1 +300jjjj.com, 1 300kkkk.com, 1 300llll.com, 1 300mmmm.com, 1 @@ -2079,7 +2085,7 @@ 315422.com, 1 315xpj.com, 0 316433.com, 1 -317811111.com, 1 +317811111.com, 0 317822222.com, 0 31783333.com, 1 317833333.com, 0 @@ -2122,7 +2128,7 @@ 3178ww.com, 0 3178www.com, 0 3178xx.com, 0 -3178xxx.com, 1 +3178xxx.com, 0 3178yy.com, 1 3178yyy.com, 1 3178zzz.com, 0 @@ -2153,7 +2159,6 @@ 33138app.com, 1 33138vip.com, 1 33168365.com, 1 -33321365.com, 0 333321365.com, 1 3333365t.com, 1 333365t.com, 1 @@ -2167,7 +2172,7 @@ 33445222.com, 1 33445444.com, 1 3345.com, 1 -335a.cc, 1 +335a.cc, 0 3369p.com, 1 336yh.com, 1 338393.com, 1 @@ -2231,6 +2236,7 @@ 349533.com, 1 34ac.com, 1 34ax.com, 1 +34bg.com, 1 34bk.com, 1 34da.com, 1 34fc.com, 1 @@ -2243,11 +2249,13 @@ 34iu.com, 1 34iv.com, 1 34ix.com, 1 +34ja.com, 1 34jb.com, 1 34jg.com, 1 34ji.com, 1 34jm.com, 1 34jn.com, 1 +34jw.com, 1 34kr.com, 1 34lb.com, 1 34ld.com, 1 @@ -2256,6 +2264,8 @@ 34lr.com, 1 34metiza.ru, 1 34nd.com, 1 +34nh.com, 1 +34nj.com, 1 34nv.com, 1 34nw.com, 1 34oa.com, 1 @@ -2320,6 +2330,7 @@ 35jq.com, 1 35ud.com, 1 35ue.com, 1 +35uj.com, 1 35vn.com, 1 360-ot.de, 1 360365.com, 1 @@ -2337,6 +2348,7 @@ 360videoshare.com, 1 360vrs.com, 1 361116.com, 1 +3615jacky.fr, 1 363331.com, 1 364553.com, 1 365.asia, 1 @@ -2359,7 +2371,6 @@ 36533d.com, 1 36533e.com, 1 36533f.com, 1 -36533g.com, 1 36533h.com, 1 36533i.com, 1 36533j.com, 1 @@ -2407,6 +2418,14 @@ 3656745.com, 0 3656778.com, 0 36587654321.com, 1 +36588801.com, 0 +36588834.com, 0 +365888345.com, 0 +36588844.com, 0 +365888456.com, 0 +36588855.com, 0 +36588889.com, 0 +365888890.com, 0 36594a.com, 1 36594b.com, 1 36594c.com, 1 @@ -2458,26 +2477,22 @@ 369bn.com, 1 369bu.com, 1 369bw.com, 1 -369cd.com, 1 369ck.com, 1 -369cr.com, 1 369cu.com, 1 +369dp.com, 1 369dr.com, 1 369ec.com, 1 369eh.com, 1 369em.com, 1 369ep.com, 1 +369ex.com, 1 369fj.com, 1 369fn.com, 1 -369ft.com, 1 369fy.com, 1 369gh.com, 1 369gp.com, 1 369ja.com, 1 369mr.com, 1 -369nk.com, 1 -369pb.com, 1 -369qb.com, 1 369ra.com, 1 369ve.com, 1 369wt.com, 1 @@ -2503,7 +2518,6 @@ 375ks.com, 1 377625.com, 1 377632.com, 1 -3778vip.com, 0 377ks.com, 1 377zzz.com, 1 37879.com, 0 @@ -2744,6 +2758,7 @@ 3niu61.com, 1 3niu62.com, 1 3niu64.com, 1 +3niu66.com, 1 3niu666.com, 1 3niu668.com, 1 3niu7.com, 1 @@ -2801,7 +2816,6 @@ 3zm.de, 1 3zzbet.com, 1 4-0-4.ga, 1 -4-1-where.com, 1 4-it.de, 1 4000milestare.com, 1 4000ok.com, 1 @@ -2844,7 +2858,6 @@ 40acts.org.uk, 1 40daysnutrition.com, 1 40percentpapermache.com, 1 -41-where.com, 1 41199.com, 1 411movie.com, 1 4144bet.com, 1 @@ -2852,7 +2865,7 @@ 4151365.com, 1 416365.com, 0 418663.com, 1 -41where.com, 1 +41studio.com, 1 420.nerdpol.ovh, 1 420java.com, 1 420screen.com, 1 @@ -2875,6 +2888,7 @@ 426773.com, 1 427552.com, 1 428northampton.com, 1 +42ch.com, 1 42day.info, 1 42entrepreneurs.fr, 0 42l.fr, 1 @@ -2933,8 +2947,10 @@ 46ap.com, 1 46ay.com, 1 46az.com, 1 +46bf.com, 1 46bg.com, 1 46bh.com, 1 +46bl.com, 1 46bn.com, 1 46bp.com, 1 46bq.com, 1 @@ -2957,6 +2973,7 @@ 46eq.com, 1 46et.com, 1 46ey.com, 1 +46fn.com, 1 46fp.com, 1 46fq.com, 1 46gc.com, 1 @@ -3134,7 +3151,6 @@ 4best.tk, 1 4bet86.com, 1 4budget.ga, 1 -4c-haircare.com, 1 4car.site, 1 4cavaleiros.com.br, 1 4cut.tk, 1 @@ -3144,7 +3160,6 @@ 4dillusion.tk, 1 4dlatest.com, 1 4everproxy.com, 1 -4eyes.ch, 1 4filtre.com, 1 4fit.ro, 1 4flex.info, 1 @@ -3178,6 +3193,7 @@ 4obgyne.com, 1 4played.de, 1 4played.vip, 1 +4plebs.moe, 1 4project.co.il, 1 4q-quartet.tk, 1 4ree.tk, 1 @@ -3192,7 +3208,6 @@ 4sun.cf, 1 4tgw34.tk, 1 4th-ave-studio.com, 1 -4thdc.com, 1 4thfebruary.tk, 1 4u.services, 0 4u2ore.net, 1 @@ -3559,7 +3574,6 @@ 5981q.com, 1 5981r.com, 1 5981s.com, 1 -5981t.com, 1 5981u.com, 1 5981v.com, 1 5981w.com, 1 @@ -3593,9 +3607,10 @@ 5gb.space, 1 5goglobal.com, 1 5h0r7.com, 1 -5i.gs, 1 +5i.gs, 0 5icsb.com, 1 5ilg.com, 1 +5in.win, 0 5keys.ru, 1 5long88.com, 1 5net.ga, 1 @@ -3614,6 +3629,7 @@ 5yeb.com, 0 600aaaa.com, 1 600bbbb.com, 1 +600cao.com, 1 600dddd.com, 1 600iiii.com, 1 600k8.com, 1 @@ -3776,6 +3792,7 @@ 63et.com, 1 63fb.com, 1 63fd.com, 1 +63fg.com, 1 63fk.com, 1 63fn.com, 1 63fp.com, 1 @@ -4239,7 +4256,6 @@ 6lo.zgora.pl, 1 6meter.tk, 1 6play.fr, 1 -6qubedirectory.com, 1 6t-montjoye.org, 1 6thmarch.com, 1 6wbz.com, 1 @@ -4297,6 +4313,7 @@ 731433.com, 1 732365.com, 1 732433.com, 1 +733575.com, 0 73365365.com, 0 7337app.com, 1 734365.com, 1 @@ -4313,13 +4330,16 @@ 73ea.com, 1 73eb.com, 1 73ef.com, 1 +73eg.com, 1 73eh.com, 1 73ei.com, 1 73ej.com, 1 73ek.com, 1 73en.com, 1 +73eq.com, 1 73es.com, 1 73ex.com, 1 +73ez.com, 1 73fd.com, 1 73fg.com, 1 73fl.com, 1 @@ -4406,6 +4426,7 @@ 73xm.com, 1 73xv.com, 1 73yj.com, 1 +73yp.com, 1 73yr.com, 1 73yu.com, 1 73za.com, 1 @@ -4501,6 +4522,7 @@ 798sss.com, 1 799ks.com, 1 799z6.com, 1 +79ch.com, 1 7akawyna.tk, 1 7azarfazar.com, 1 7bet86.com, 1 @@ -4859,7 +4881,6 @@ 8560.be, 1 8602010.com, 1 860vv.com, 1 -861365.vip, 1 861365n.com, 0 861kb.com, 1 8649955.com, 1 @@ -4949,6 +4970,7 @@ 886k8.com, 1 886k8.net, 1 886z6.com, 1 +887.ag, 1 8871d.com, 1 8872d.com, 1 88740b.com, 1 @@ -5089,7 +5111,6 @@ 8thportsmouth.org.uk, 1 8tuffbeers.com, 1 8ung.online, 1 -8xx.bet, 1 8xx.io, 1 8xx888.com, 1 8xxxxxxx.com, 1 @@ -5121,7 +5142,6 @@ 901543.com, 1 903422.com, 1 905422.com, 1 -906vv.com, 1 908vv.com, 1 90920.cn, 1 90r.jp, 1 @@ -5142,7 +5162,6 @@ 9137365.com, 0 914122.com, 1 918-siteinfo.com, 1 -918.com, 1 9180nn.com, 1 9180tt.com, 1 9180vv.com, 1 @@ -5208,6 +5227,7 @@ 91d85.com, 1 91fldz.com, 1 91imh.com, 1 +91milk.net, 1 91news.tk, 1 91tianmi.com, 0 924322.com, 1 @@ -5363,28 +5383,28 @@ 9499125.com, 0 9499137.com, 1 9499151.com, 0 -9499212.com, 1 -9499232.com, 1 +9499212.com, 0 +9499232.com, 0 9499238.com, 0 9499263.com, 0 -9499278.com, 1 +9499278.com, 0 9499293.com, 1 -9499343.com, 1 +9499343.com, 0 9499369.com, 0 9499399.com, 0 9499403.com, 0 9499459.com, 1 -9499518.com, 1 +9499518.com, 0 9499558.com, 0 9499565.com, 0 9499568.com, 0 9499575.com, 0 9499668.com, 0 -9499676.com, 1 +9499676.com, 0 9499682.com, 0 -9499737.com, 1 -9499757.com, 1 -9499835.com, 1 +9499737.com, 0 +9499757.com, 0 +9499835.com, 0 9499855.com, 0 9499869.com, 0 9499958.com, 0 @@ -5739,6 +5759,7 @@ 9k898.com, 1 9k899.com, 1 9kb.xyz, 1 +9kopb.ru, 0 9lab.jp, 1 9pkfz.com, 1 9point6.com, 1 @@ -5748,7 +5769,6 @@ 9to5notes.in, 1 9uelle.jp, 1 9ungnir.xyz, 1 -9vdy.com, 1 9vnd.com, 1 9vx.org, 1 9wsodl.com, 1 @@ -6069,7 +6089,6 @@ abelbarretto.tk, 1 abelburners.co.uk, 1 abellagranitecountertops.com, 1 -abellanillos.com, 1 abellao.com, 1 abelles.cf, 1 abelles.gq, 1 @@ -6182,7 +6201,6 @@ about-e-bags.tk, 1 about-jewelry.tk, 1 about-sects-and-cults.tk, 1 -about-ti.me, 1 about.gq, 1 aboutajax.tk, 1 aboutamit.com, 1 @@ -6251,10 +6269,8 @@ abrec.ga, 1 abri29.com, 1 abrightsolution.co.uk, 1 -abrightspark.gq, 1 abrilect.com, 1 abristolgeek.co.uk, 1 -abrition.com, 1 abroadcafe.com, 1 abroferlendo.tk, 1 abrupt.co, 1 @@ -6349,8 +6365,8 @@ academylawreview.ac.in, 1 academyonlinetoyou.tk, 1 academytv.com.au, 1 -acadianteas.ca, 1 acadiate.com, 1 +acaeum.com, 0 acahaymarket.com.ec, 1 acalcio.ga, 1 acallawayroofing.com, 1 @@ -6385,7 +6401,6 @@ accelsnow.com, 1 accentchair.net, 1 accentthailand.com, 1 -acceptancerecoverycenter.com, 1 acces-elevation.fr, 1 accesloges.com, 1 access-board.gov, 1 @@ -6416,7 +6431,7 @@ accme.co, 1 accn.uk, 1 accniitmash.ru, 1 -accolade.com.br, 1 +accolade.com.br, 0 accoladescreens.com.au, 1 accomexicana.com.mx, 1 accomexico.com, 1 @@ -6456,9 +6471,9 @@ acedstudy.com, 1 acefishing.tk, 1 acefreightco.com, 1 +acegroup.com.sg, 1 aceinflatables.com, 1 aceinstituteonline.com, 1 -aceitedelcampo.com, 1 aceleraguria.com.br, 1 aceleratuweb.com, 1 acelpb.com, 1 @@ -6480,6 +6495,7 @@ aceweb.ga, 1 acftienda.tk, 1 acfun.eu.org, 1 +acg.codes, 1 acg.mn, 1 acg.sb, 0 acgaudio.com, 1 @@ -6487,6 +6503,7 @@ acgmoon.com, 1 acgpiano.club, 1 acgqwq.gq, 1 +acgtalktw.com, 1 acgxi.tk, 1 achalay.org, 0 achat-de-lead.com, 1 @@ -6526,7 +6543,6 @@ ackadia.com, 1 ackermann.ch, 1 acklandstainless.com.au, 1 -aclasskids.ru, 1 aclfurniture.com, 1 aclipt.com, 1 acloud.one, 1 @@ -6925,7 +6941,6 @@ adiehard.party, 0 adiesyndrome.tk, 1 adigolifestyle.com, 1 -adilgraphics.com, 1 adilsabri.tk, 1 adilsoybali.com.tr, 1 adimaja.com, 1 @@ -6936,6 +6951,7 @@ adiprospero.it, 1 adiraku.co.id, 1 adiscorduser.com, 1 +aditibhatia.com, 1 aditro.com, 1 adityatelange.in, 1 adiyamanhaberleri.tk, 1 @@ -6976,7 +6992,7 @@ admino.cz, 1 adminova.tk, 1 adminresurs.tk, 1 -adminrezo.fr, 1 +adminrezo.fr, 0 adminton.eu, 1 admirable.pro, 0 admiralshipsupplier.com, 0 @@ -7025,7 +7041,6 @@ adquisitio.co.uk, 1 adquisitio.es, 1 adr.gov, 1 -adra.com, 1 adrabataille.fr, 1 adrafinil.wiki, 1 adrans.com, 1 @@ -7170,19 +7185,16 @@ advenacs.com, 1 advenacs.com.au, 1 advenapay.com, 1 -advenirewealth.com, 1 advens.com, 1 advens.fr, 1 adventaholdings.com, 1 adventistai.lt, 1 advento.bg, 1 adventry.tk, 1 -adventure-inn.com, 1 adventure-runner.tk, 1 adventureally.com, 1 adventurealpinetreks.com, 1 adventurearts.tk, 1 -adventureboundlife.com, 1 adventurecorps.cf, 1 adventurecorps.ga, 1 adventurecorps.gq, 1 @@ -7340,6 +7352,7 @@ aeradesign.com, 1 aerandir.fr, 1 aeraustral.com.au, 1 +aeravo.org, 1 aerelon.de, 1 aergia.eu, 1 aerisnetwork.com, 1 @@ -7444,7 +7457,6 @@ affordableelectronics.tk, 1 affordableenvironmental.net, 1 affordablehealthquotesforyou.com, 1 -affordableinsurancenow.com, 1 affordablepapers.com, 1 affordableracingparts.com.au, 1 affordablevaccinesest.ga, 1 @@ -7487,7 +7499,6 @@ aforism.tk, 1 afp548.com, 1 afreelancersworld.com, 1 -afri.cc, 1 africa.dating, 1 africaindemander.tk, 1 africalebanon.tk, 1 @@ -7506,7 +7517,6 @@ africaricecenter.org, 1 afrimarket.ci, 1 afrique.buzz, 1 -afrodigital.uk, 1 afrodisiac.tk, 1 afrodita.tk, 1 afroditafirm.tk, 1 @@ -7540,14 +7550,12 @@ ag138.com, 1 ag13842.com, 1 ag1386.com, 1 -ag158.cc, 1 ag1601.com, 1 -ag1603.com, 1 +ag1603.com, 0 ag1604.com, 1 ag1607.com, 1 ag166.com, 1 ag2.app, 1 -ag288.vip, 1 ag3.la, 1 ag3232g.com, 1 ag388.vip, 1 @@ -7570,9 +7578,7 @@ ag6225.com, 1 ag660.com, 1 ag66321.com, 1 -ag66567.com, 1 ag666.vip, 1 -ag66668.com, 1 ag68ks.com, 1 ag69000.com, 1 ag72.vip, 1 @@ -7635,6 +7641,7 @@ ag918.top, 1 ag96.win, 1 ag961.com, 1 +ag98.tv, 0 ag9800.com, 1 ag983.com, 1 ag98ks.com, 1 @@ -7695,7 +7702,6 @@ agences-cegee.fr, 1 agencesaintpierre.fr, 1 agencetourismemali.ml, 1 -agencia.cat, 1 agenciacanina.tk, 1 agenciacorujadesign.com.br, 1 agenciaempleo.tk, 1 @@ -7841,7 +7847,6 @@ agnosticism.tk, 1 agnusbostel.tk, 1 agonpro.ch, 1 -agonswim.com, 1 agonworks.com, 0 agora-soft.cf, 1 agora.ru, 1 @@ -7869,11 +7874,11 @@ agouraoutdoorlighting.com, 1 agowa338.de, 1 agpideas.com, 1 +agpnepal.com, 1 agpsn.com, 1 agptco.com, 1 agr.asia, 1 agralines.tk, 1 -agrargruppe.tk, 1 agraw.tk, 1 agregator.tk, 1 agrekov.ru, 1 @@ -7895,6 +7900,7 @@ agro-dom.solutions, 1 agro-ferma.tk, 1 agro-forestry.net, 1 +agrobaza.com.ua, 1 agrocare.tk, 1 agroclan.tk, 1 agroclefic.com, 1 @@ -7960,7 +7966,6 @@ agworkers.com, 1 agzlapp.com, 1 ahanet.tk, 1 -ahawkesrealtors.com, 1 ahc.fyi, 1 ahccorleone.tk, 1 ahcpr.gov, 1 @@ -7969,6 +7974,7 @@ ahegaoroulette.com, 1 ahelos.tk, 1 ahenkerp.com, 1 +ahero4all.org, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 ahidta.gov, 1 @@ -8252,7 +8258,6 @@ airconsfourways.co.za, 1 airconsmidrand.co.za, 1 airconsrandburg.co.za, 1 -airconssandton.co.za, 1 aircraftnoisemodel.org, 1 airday.tk, 1 airdropkings.com, 1 @@ -8280,6 +8285,7 @@ airfareseconomy.com, 1 airfaresfrom.com, 1 airfareshotels.com, 1 +airfax.io, 1 airfield.gq, 1 airfocused.com, 1 airfoto.tk, 1 @@ -8322,6 +8328,7 @@ airplanet.tk, 1 airplay-inflatable-hire.co.uk, 1 airplayradio.nl, 1 +airpoint-compressors.nl, 1 airport-car-rental.tk, 1 airport-charlotte.com, 1 airportal.cn, 1 @@ -8501,7 +8508,6 @@ akita-stream.com, 1 akiym.com, 1 akj.io, 1 -akkbouncycastles.co.uk, 1 akkerwinde.tk, 1 akkordy-skachat.ga, 1 aklagare.se, 1 @@ -8766,6 +8772,7 @@ alcites.com, 1 alcnutrition.com, 1 alcobendas.tk, 1 +alcohol.my, 1 alcoholapi.com, 1 alcoholia.tk, 1 alcoholicbeverages.tk, 1 @@ -8794,7 +8801,6 @@ aldersgateumc.tk, 1 aldevadigital.com, 1 aldiabcs.com, 1 -aldiafl.com, 1 aldien.com.br, 1 aldipresscentre.co.uk, 1 aldiwan-mobile.com, 1 @@ -8871,7 +8877,6 @@ alexaconnect.tk, 1 alexalist.tk, 1 alexander-beck.eu, 1 -alexander-cameron.com, 1 alexander-van-nieuwenhoven.tk, 1 alexanderb.info, 1 alexanderbernitz.eu, 1 @@ -8935,7 +8940,6 @@ alexismeza.dk, 1 alexismeza.es, 1 alexispoficial.tk, 1 -alexitor.com, 1 alexlambertz.de, 1 alexlombardo.tk, 1 alexlouden.com, 1 @@ -9112,7 +9116,6 @@ alineonline.tk, 1 alinmaacademy.com, 1 alinode.com, 1 -alinol.com, 1 aliorange.com, 1 alireza2love.tk, 1 alirezahesari.com, 1 @@ -9148,7 +9151,6 @@ alkacoin.net, 1 alkamitech.com, 1 alkel.info, 1 -alkemi-si.fr, 1 alko-centr.ru, 1 alko-stop.cf, 1 alko-stop.ml, 1 @@ -9300,7 +9302,6 @@ alli-diet-pill.cf, 1 alli-pills.cf, 1 alliaancebiotech.com, 1 -alliance-clan.tk, 1 alliance-immobilier-service-neuf.fr, 1 alliance-psychiatry.com, 1 allianceautomotive.fr, 1 @@ -9310,7 +9311,6 @@ allianceforafreesociety.org, 1 alliances-globalsolutions.com, 0 allianskyrkan.se, 1 -alliedpavers.com, 1 allincoin.shop, 1 allindiacityguide.com, 1 allindiajobs.ga, 1 @@ -9328,7 +9328,6 @@ allladyboys.com, 1 allline.shop, 1 allmagic.tk, 1 -allmajestic.com, 1 allmandlaw.com, 1 allmaps.tk, 1 allmaster.ga, 1 @@ -9350,7 +9349,6 @@ allopurinol.gq, 1 allopurinol100mg.tk, 1 allopurinol300mg.ml, 1 -alloutsec.com, 1 alloverthehill.com, 1 allpedia.tk, 1 allphaseclean.com, 1 @@ -9393,7 +9391,6 @@ allstarautokiaparts.com, 1 allstarcashforcars.com, 1 allstarcustompools.com, 1 -allstarpartyinflatables.co.uk, 1 allstarquilts.com, 1 allsun.online, 1 allsurpl.us, 1 @@ -9415,7 +9412,6 @@ allthingshealthy.org, 1 allthingsroyal.nl, 1 allthingssquared.com, 1 -allthingswatersports.com, 1 allthingswild.co.uk, 1 alltourism.tk, 1 alltrade.ga, 1 @@ -9433,7 +9429,6 @@ allvips.ru, 0 allvitalconstruction.com, 1 allways.tk, 1 -allweatherlandscaping.net, 1 allwebsites.tk, 1 allwebtuts.com, 1 allwiki.tk, 1 @@ -9442,7 +9437,6 @@ allwrestling.ga, 1 allyachts.cf, 1 allyachts.gq, 1 -alma365.it, 1 almaarkansas.gov, 1 almaascosmetics.com, 1 almaatlantica.com, 1 @@ -9501,6 +9495,7 @@ alohotel.com, 1 alohotelorange.com, 1 alohotels.com, 1 +alolabor.org, 1 alomch.gq, 1 alomendia.tk, 1 alonaku.com, 1 @@ -9549,7 +9544,6 @@ alphachannel.tk, 1 alphachat.net, 1 alphacity.tk, 1 -alphacomputersllc.com, 1 alphaconsult.sk, 0 alphaconvites.com.br, 1 alphacyp.com, 1 @@ -9640,6 +9634,7 @@ altaizemlya.ml, 1 altaizemlya.tk, 1 altaplana.be, 1 +altaynews.kz, 0 altco.group, 1 altcoinandme.com, 1 altd.cz, 1 @@ -9671,6 +9666,7 @@ alternative-kultur.tk, 1 alternative-reussite.org, 1 alternative.hosting, 1 +alternativebit.fr, 1 alternativedev.ca, 1 alternativeenergy.tk, 1 alternativefacts.cf, 1 @@ -9694,7 +9690,6 @@ altieresgomes.com.br, 1 altijdleroy.nl, 1 altijdleroy.online, 1 -altimari.net, 1 altimax.co.za, 1 altinea.fr, 1 altinopoliscervejaria.com.br, 1 @@ -9716,6 +9711,7 @@ altovoltaggio.tk, 1 altoweb.tk, 1 altphotos.com, 1 +altporn.xyz, 0 altralamezia.tk, 1 altramarsala.tk, 1 altrasoluzione.com, 1 @@ -9771,6 +9767,7 @@ alwayslookingyourbest.com, 1 alwaysmine.fi, 1 alwaysonssl.com, 1 +alwayswanderlust.com, 1 alxclub.tk, 1 alxlegal.com, 1 alxpresentes.com.br, 1 @@ -9798,7 +9795,6 @@ am-sonnenblick.de, 1 am-sonnengarten.de, 1 am22i6xaf1m2a5m9k.xyz, 1 -am2digital.com, 1 am3.se, 1 am5039.com, 1 am5188.com, 1 @@ -9930,6 +9926,7 @@ ambulanza.roma.it, 1 ambulari.cz, 1 amcanalense.tk, 1 +amcangroup.com, 1 amcchemical.com, 0 amcfirst.com, 1 amchainitiative.org, 1 @@ -9937,7 +9934,6 @@ amdelisi.tk, 1 amdm.ru, 1 amdouglas.com, 1 -amdouglas.uk, 1 amdrumors.com, 1 amdukis-bordercollies.tk, 1 ameba-capital.com, 1 @@ -10013,7 +10009,6 @@ americavip.tk, 1 americawiki.tk, 1 americkykongres.cz, 1 -americoadvogados.com.br, 1 americolorcorp.com, 1 americorpsoig.gov, 1 amerigrouphealthyliving.com, 1 @@ -10041,7 +10036,6 @@ amfiteatr.tk, 1 amfora.gq, 1 amforst.ddns.net, 1 -amg-microwave.com, 1 amgreatness.com, 1 amh-entertainments.co.uk, 1 ami-de-bastanes.fr, 1 @@ -10122,7 +10116,6 @@ amministratorecondominiale.it, 1 amministratorecondominio.roma.it, 1 amministratoristabilitorino.tk, 1 -ammobrand.com, 1 ammrio.com.br, 1 amnesia-zone.tk, 1 amnesty.cf, 1 @@ -10257,7 +10250,6 @@ anaar.ml, 1 anabarata.tk, 1 anabecoaj.org, 1 -anabelpagra.com, 1 anabolic-stresser.ga, 1 anabolic.co, 1 anabolickdieta.ga, 1 @@ -10314,10 +10306,10 @@ ananas.gq, 1 anandchowdhary.com, 1 anangeix.tk, 1 -ananiev.ml, 1 anankecosmetics.com, 1 anantshri.info, 1 ananyagupta.tk, 1 +ananyoo.com, 0 anapsi.tk, 1 anarajaoui.ma, 1 anarcasmetalicos.tk, 1 @@ -10353,6 +10345,7 @@ anbank.pl, 1 anbigift.nl, 1 anblife.com, 1 +anblik.com, 0 anborn.tk, 1 ancarda.net, 1 anccg.ca, 1 @@ -10429,6 +10422,7 @@ andreamcnett.com, 1 andreapalermo.tk, 1 andreapavone.com, 1 +andreas-kluge.eu, 1 andreas-kurtz.de, 1 andreasfeusi.ch, 1 andreashellkvist.tk, 1 @@ -10485,6 +10479,7 @@ andrewrdaws.com, 1 andrewrgoss.com, 1 andrewryno.com, 0 +andrewsoutar.com, 1 andrewsun.com, 1 andrewtasso.com, 1 andrewtaylor.eu, 1 @@ -10503,6 +10498,7 @@ andrianova.ml, 1 andriekus.tk, 1 andrienko.tk, 1 +andrija-i-andjelka.com, 1 andro4all.com, 1 android, 1 android-10-inch-tablets.tk, 1 @@ -10603,7 +10599,6 @@ angelcorpus.tk, 1 angeldjmix.tk, 1 angelefloramendy.org, 1 -angelesverdes.org, 1 angelesydemonios.es, 1 angeletakis.net, 1 angelhammer.tk, 1 @@ -10847,7 +10842,6 @@ anlikhaber.tk, 1 anliting.com, 1 anmelden.io, 1 -anmolnayyar.com, 1 anmriers.ga, 1 anna-beauty.ga, 1 anna-beauty.gq, 1 @@ -10890,6 +10884,7 @@ anneliesonline.nl, 1 anneliesvanhoof.tk, 1 annema.biz, 1 +annemakeslovelycandles.co.uk, 1 annemation.de, 1 annestadie.de, 1 annetapio.fi, 1 @@ -10984,7 +10979,6 @@ ansermet.net, 0 ansgar-sonntag.de, 1 ansgar.tk, 1 -ansgarscheffold.com, 1 ansgarsonntag.de, 1 anshar.eu, 1 ansibeast.net, 1 @@ -11103,7 +11097,6 @@ antifaschistischeaktioncelle.tk, 1 antifilter.network, 1 antifraud.cf, 1 -antigender.tk, 1 antigravity.cf, 1 antihelp-tomsk.tk, 1 antihistaminico.com, 1 @@ -11214,7 +11207,6 @@ anvilmetal.tk, 1 anvilsales.tk, 1 anvilsecure.com, 1 -anvimpex.com, 1 anvish.in, 1 anwalt.us, 1 anwarverdict.ml, 1 @@ -11253,7 +11245,6 @@ anytimesewerrepair.com, 1 anyuta-mebel.tk, 1 anyval.com, 1 -anyways.at, 1 anywhereworks.com, 1 anzalikala.com, 1 anzeiger.ag, 1 @@ -11271,6 +11262,7 @@ aod-tech.com, 1 aodnovel.com, 1 aoe9.com, 1 +aoeuaoeu.com, 1 aofusa.net, 1 aoi-ryo.com, 1 aoicollege.edu, 1 @@ -11362,6 +11354,7 @@ apex-parts.com, 1 apex-promotion.com, 1 apex.ac, 1 +apex.to, 1 apexconsulting.io, 1 apexfacades.com.au, 1 apexitsolutions.ca, 1 @@ -11393,6 +11386,7 @@ apiled.io, 1 apimon.de, 1 apimoveisorocaba.com.br, 1 +apinat.de, 1 apination.com, 1 apio.systems, 1 apiora.ru, 1 @@ -11409,6 +11403,7 @@ apit-kovrov.ru, 1 apitodemestre.com.br, 1 apiu.me, 1 +apix.uz, 1 apk.li, 1 apk4fun.com, 1 apkdv.com, 0 @@ -11418,7 +11413,6 @@ apkmody.io, 1 apkmody.ir, 1 apknut.com, 1 -apkoyunlar.club, 1 apkpokemongo.ga, 1 apkpokemongo.gq, 1 apkpokemongo.tk, 1 @@ -11620,7 +11614,6 @@ appsren.com, 1 appt.ch, 0 apptesters.com, 1 -apptomics.com, 1 apptoutou.com, 1 appuals.com, 1 appub.co.jp, 1 @@ -11744,6 +11737,7 @@ aquaviaspa.es, 1 aquedim.com, 1 aqueducttech.com, 1 +aquila.co.uk, 1 aquiparoxetina.gq, 1 aquitainebrasserie.com.au, 1 aquivardenafilo.gq, 1 @@ -11901,6 +11895,7 @@ archivosstl.com, 1 archiweb.pl, 0 archlinux.de, 1 +archlinux.org, 1 archlinuxcn.org, 1 archmacro.ga, 1 archmediamarketing.com, 1 @@ -11939,6 +11934,7 @@ arcza.net, 1 ardabil.tk, 1 ardacar.com, 1 +ardadanal.com, 1 ardakannews.tk, 1 ardania.de, 1 arditech.ml, 1 @@ -11957,6 +11953,7 @@ areanet.tk, 1 areata.tk, 1 areatrend.com, 1 +areavipbrasil.com.br, 1 areavoipers.ga, 1 areavoipest.ga, 1 areege.tk, 1 @@ -11992,6 +11989,7 @@ aresztowany.pl, 1 aresztsledczy.pl, 1 arete.net, 1 +arethsu.se, 1 arex-corp.com, 1 areyoubaroque.com, 1 arezzonotizie.it, 1 @@ -12014,7 +12012,6 @@ argrafiche.it, 1 argumentative-essay.gq, 1 argumentplus.ru, 1 -argyrakis.gr, 1 arheh.com, 1 arhipka.tk, 1 arhitekti.hr, 1 @@ -12124,7 +12121,6 @@ arlaperu.com, 1 arlatools.com, 1 arlecchinobuongustaio.it, 1 -arlen.tv, 1 arlenarmageddon.com, 1 arlenitas.com, 1 arletalibrary.com, 0 @@ -12159,8 +12155,6 @@ armchess.tk, 1 armdirectoryers.ga, 1 armdirectoryest.ga, 1 -armedpoet.com, 1 -armenians.online, 1 armeniaweb.tk, 1 armeo.top, 1 armfilm.co, 1 @@ -12180,7 +12174,6 @@ armorsoft.fr, 1 armourroofcolorado.com, 1 armourroofinc.com, 1 -armpads.nl, 1 armpension.com, 0 armstrongsengineering.com, 1 armtopnews.tk, 1 @@ -12188,7 +12181,6 @@ armywear.ga, 1 arn0.cc, 1 arnados.tk, 1 -arnakdanielian.com, 1 arnamur.be, 1 arnaqueoufiable.com, 1 arnaudardans.com, 1 @@ -12264,7 +12256,6 @@ arquitet.com.br, 1 arr-outremont.ca, 1 arrakis.se, 1 -arrangeyour.com, 1 arraudi.be, 1 arraudi.eu, 1 arrazane.com.br, 1 @@ -12621,6 +12612,7 @@ asenno.com, 1 aseoblog.com, 1 aserbx.ga, 1 +asesoramientosolay.es, 1 asesorialigorred.es, 1 asesoriavalledor.es, 1 asessiglo21.es, 1 @@ -12696,6 +12688,7 @@ asianspa.co.uk, 1 asianwebcams.webcam, 1 asiaproductsdirect.tk, 1 +asiasexgazette.com, 1 asiasmi.tk, 1 asiaticas.cf, 1 asiaview.ml, 1 @@ -12774,7 +12767,6 @@ asp-progress.tk, 1 asp.net, 1 aspatrimoine.com, 0 -aspcl.ch, 1 aspectcontext.com, 1 aspectuw.com.au, 1 aspen.gov, 1 @@ -12796,7 +12788,6 @@ aspiraplasticsurgery.com, 1 aspirateur-anti-pollution.fr, 1 aspirateur-univers.com, 1 -aspire-irb.com, 1 aspireuniversal.com, 1 aspirevc-prod.com, 1 aspirevc.com, 1 @@ -12829,7 +12820,6 @@ assemble-together.org, 1 assemblee-copropriete.fr, 1 assemblywithoutthewalls.org, 1 -assempsaibiza.com, 1 assentooriginal.com.br, 1 assertion.de, 1 assessoriati.com.br, 1 @@ -12867,7 +12857,7 @@ assured.se, 0 assuredspc.com, 1 asta-bar.de, 0 -astacreative.nl, 1 +astacreative.nl, 0 astal.rs, 1 astana.cf, 1 astanainform.tk, 1 @@ -12882,6 +12872,7 @@ astarfrommosul.ml, 1 astarmathsandphysics.com, 1 astateoftrance.tk, 1 +astaxanthin.de, 1 asteelflash.com, 1 astellaria.ee, 1 astengox.com, 1 @@ -12988,7 +12979,6 @@ at.vg, 1 at5.nl, 1 at7s.me, 1 -atab.se, 1 atabekkoleji.k12.tr, 1 ataber.pw, 1 atabor.tk, 1 @@ -13139,6 +13129,7 @@ atlaso.cz, 1 atlasone.us, 1 atlassian.io, 1 +atlassian.net, 0 atlassignsandplaques.com, 1 atlastax.ga, 1 atlastaxi.eu, 1 @@ -13167,7 +13158,6 @@ atmydesk.tech, 1 atnis.com, 1 atnteam.tk, 1 -ato4sound.com, 1 atolm.net, 1 atom-china.org, 1 atom.solutions, 1 @@ -13191,8 +13181,8 @@ atovelin.tk, 1 atoz-union.org, 1 atozeventrentalsofpa.com, 1 +atplastics.vn, 0 atplonline.co, 1 -atrafloor.com, 1 atraining.ru, 1 atrakcjenaeventy.com.pl, 1 atrands.com, 1 @@ -13229,6 +13219,7 @@ attitudes-bureaux.fr, 1 attivazioneveloce.it, 1 attlane.fr, 1 +attoch.org, 1 attogtech.com, 1 attorney.org.il, 0 attorneybiographies.ga, 1 @@ -13244,7 +13235,6 @@ atunel.tk, 1 atvirtual.at, 1 atvsafety.gov, 1 -atwar-mod.com, 1 atwatermn.gov, 1 atwonline.org, 1 atxchirocoverage.com, 1 @@ -13274,6 +13264,7 @@ auburnperio.com, 1 aucarresainteloi.com, 1 aucielrose.com, 1 +auckland-lawyer.co.nz, 1 auckland-painter.co.nz, 1 aucklandcastles.co.uk, 1 auctionbv.tk, 1 @@ -13371,7 +13362,6 @@ aulacaribemar.com, 1 aulaschrank.gq, 1 aulasprofdanilo.com.br, 1 -aumentada.net, 1 aumilieudumonde.gf, 1 aumisc.com, 1 aunali1.com, 1 @@ -13431,10 +13421,8 @@ aussiefunadvisor.com, 0 aussiegemdesigns.com.au, 1 aussieparrotlets.com.au, 1 -aussieseoadelaide.com.au, 1 aussieservicedown.com, 1 aussiestoresonline.com, 0 -aussiestories.dk, 1 austenplumbing.com, 1 austercita.tk, 1 austin-pearce.com, 1 @@ -13499,7 +13487,6 @@ author24.info, 1 authorise.computer, 1 authorise.network, 1 -authoritysolutions.com, 1 authorize.computer, 1 authorize.network, 1 authsrv.nl.eu.org, 1 @@ -13915,6 +13902,7 @@ avalancha.tk, 1 avaland.tk, 1 avalon-ami.tk, 1 +avalon-island.ru, 1 avalon-rpg.com, 1 avalon-studios.de, 1 avalonaardoom.nl, 1 @@ -13926,7 +13914,6 @@ avamax.eu, 1 avamereatmountainridge.com, 1 avancen.com, 1 -avanet.com, 1 avangard-tovar.tk, 1 avangard.tk, 1 avanguardia.tk, 1 @@ -13955,11 +13942,13 @@ aveapps.com, 0 aveclunettesoleil.fr, 1 avedesk.org, 0 +avelinodiaz.gal, 1 avellinno.com, 1 avellinotoday.it, 1 avelux.ru, 1 avengersonline.ml, 1 avengersonlinemovie.ga, 1 +aventurasnorowa.com, 0 avenuedesbebes.com, 1 avepol.cz, 1 avepol.eu, 1 @@ -13972,7 +13961,6 @@ avexon.com, 1 avg.club, 1 avg7.de, 1 -avgeeksunited.com, 1 avgindiantech.com, 1 avi-web.com, 1 avi12.com, 0 @@ -14142,9 +14130,9 @@ awh.ink, 1 awinninghabit.com, 1 awk.tw, 1 +awksolutions.com, 1 awningcanopyus.com, 1 awningsaboveus.com, 1 -awningsatlantaga.com, 1 awningsydney.ga, 1 awoau.com.au, 1 awomansplacenj.com, 1 @@ -14245,6 +14233,7 @@ aymericlagier.com, 1 aymhome.top, 1 ayon-games.tk, 1 +ayothemes.com, 1 ayresalpine.com, 1 ayresanaheim.com, 1 ayresapline.com, 1 @@ -14376,7 +14365,6 @@ azl-app.be, 1 azlink.tk, 1 azlk-team.ru, 1 -azmabepors.com, 1 aznaetelivy.ru, 1 azon.gr, 1 azoogi.com.au, 1 @@ -14389,6 +14377,7 @@ azrangers.gov, 1 azrazalea.net, 1 azredistricting.gov, 1 +azrhymes.com, 1 azs-nw.ru, 1 azsalud.gov, 1 azsgeniedev.azurewebsites.net, 1 @@ -14504,14 +14493,10 @@ b5910.com, 1 b5dev.com, 1 b61688.com, 1 -b62102.com, 1 -b62103.com, 1 -b62105.com, 1 b62a.com, 1 b62aa.com, 1 b62b.com, 1 b62bb.com, 1 -b62c.com, 1 b62cc.com, 1 b62d.com, 1 b62dd.com, 1 @@ -14554,7 +14539,6 @@ b70661.com, 1 b70663.com, 1 b70664.com, 1 -b70771.com, 1 b70772.com, 1 b70773.com, 1 b70774.com, 1 @@ -14618,41 +14602,39 @@ b9888.net, 0 b98886.com, 1 b9889.net, 1 -b99011.com, 1 +b99011.com, 0 b99022.com, 1 b99033.com, 1 -b9904.com, 1 +b9904.com, 0 b99044.com, 1 -b9905.com, 1 +b9905.com, 0 b99055.com, 1 b99066.com, 1 b99077.com, 1 b99088.com, 1 b99099.com, 1 -b99118.com, 1 -b9912.com, 1 -b99218.com, 1 +b99118.com, 0 +b9912.com, 0 +b99218.com, 0 b9930.com, 1 b99318.com, 1 b99418.com, 1 -b9951.com, 1 -b99518.com, 1 +b9951.com, 0 +b99518.com, 0 b9954.com, 1 -b9957.com, 1 -b9961.com, 1 -b99618.com, 1 -b9962.com, 1 -b9970.com, 1 +b9957.com, 0 +b9961.com, 0 +b99618.com, 0 +b9970.com, 0 b99718.com, 1 -b9973.com, 1 -b9976.com, 1 -b99818.com, 1 +b9976.com, 0 +b99818.com, 0 b99881.com, 1 b99882.com, 1 b99883.com, 1 b99885.com, 1 b99886.com, 1 -b99918.com, 1 +b99918.com, 0 b9999ff.com, 0 b9999hh.com, 0 b9999ii.com, 0 @@ -14682,7 +14664,7 @@ baazee.de, 1 babacasino.net, 1 babacloud.ddns.net, 1 -babacsalogato.hu, 1 +babacsalogato.hu, 0 babacuhocica.tk, 1 babadag.tk, 1 babaei.net, 1 @@ -14774,7 +14756,6 @@ bachata.info, 1 bachelorampel.de, 1 baches-piscines.com, 1 -bachkhoa.net.vn, 1 bachlongbeach.com, 1 bachmannyachts.com, 1 bachmatt-baar.ch, 1 @@ -14841,7 +14822,6 @@ bacon-monitoring.org, 1 baconismagic.ca, 0 bacoux.com, 1 -bacq.pro, 1 bacsmegye.hu, 1 bacteriakit.com, 1 bactrim-antibiotic.gq, 1 @@ -14983,11 +14963,9 @@ bailonga.com, 1 baindayman.com, 1 baircentral.com, 1 -bairrosonline.com, 1 bairuo.top, 0 bait55.ru, 1 baitable.ml, 1 -baithe.co.za, 1 baitulongbaycruises.com, 1 baity.net, 1 baixadordemusica.tk, 1 @@ -15230,9 +15208,9 @@ bangkok-dark-night.com, 1 bangkok-thailand.org, 0 bangkok.dating, 1 -bangkokcity.de, 1 bangkokcookingclass.com, 1 bangkokthailandescorts.com, 1 +bangkrak.com, 1 bangku.tk, 1 bangladesimagi.tk, 1 banglahotstory.tk, 1 @@ -15242,6 +15220,7 @@ banglets.com, 1 bangorfederal.com, 1 bangujero.tk, 1 +bangyu.wang, 1 banham.co.uk, 0 banham.com, 1 banhphongtomquangtran.com, 1 @@ -15365,6 +15344,7 @@ barberheatingandair.com, 1 barberscorner.tk, 1 barbershop-harmony.org, 0 +barbershop-lasvillas.com, 0 barbiecollectorjapan.cf, 1 barbiecollectorjapan.ga, 1 barbiecollectorjapan.gq, 1 @@ -15378,7 +15358,6 @@ barca-movie.jp, 1 barcamp.koeln, 1 barcats.co.nz, 1 -barcats.com, 1 barcats.com.au, 1 barcel.com.mx, 1 barcelonapremium.es, 1 @@ -15418,7 +15397,6 @@ barisi.me, 1 baristabetter.com, 1 baristador.com, 1 -baristanetwork.co.uk, 1 baritoday.it, 1 barkerjr.xyz, 1 barkingspidersaspets.com, 1 @@ -15521,6 +15499,7 @@ basebyte.nl, 1 basecamp.cf, 1 baseconvert.com, 1 +basedonline.nl, 0 basedriver.com, 1 baseerapp.com, 1 basel-gynaecology.com, 1 @@ -15705,7 +15684,6 @@ bayarea.gq, 1 bayarea.ml, 1 bayarea.tk, 1 -bayareaenergyevents.com, 1 bayareagynecology.com, 1 bayareaplasticsurgery.com, 1 bayden.com, 1 @@ -15754,6 +15732,7 @@ bazarotehijos.com, 1 bazdell.com, 0 bazhan.me, 1 +bazinga-events.nl, 1 bazos.at, 1 bazos.cz, 1 bazos.pl, 1 @@ -15871,9 +15850,7 @@ bdbxml.net, 1 bdd.fi, 1 bdepolytechgrenoble.fr, 1 -bdeshi.space, 1 bdfriends.tk, 1 -bdikaros-network.net, 1 bdmusic25.us, 1 bdpachicago.tech, 1 bdpestsolutionsstlouis.com, 1 @@ -15942,7 +15919,6 @@ beambdi.com, 1 beamitaly.tk, 1 beamitapp.com, 1 -beamstat.com, 1 beanbagaa.com, 1 beanbot.party, 1 beancount.io, 1 @@ -16031,7 +16007,6 @@ beautycarepack.com.ng, 1 beautycom.club, 1 beautycon.ir, 1 -beautyest.net, 1 beautyeyewear.ga, 1 beautyforceacademy.bg, 1 beautyinfos.de, 1 @@ -16101,12 +16076,10 @@ bedum-blues.tk, 1 bedwettingyoungsters.tk, 1 bee-creative.nl, 1 -bee-kart.com, 1 bee-line.org.uk, 1 bee-removal-dublin.com, 1 bee.supply, 1 bee.tools, 1 -beeapro.com, 1 beebeads.ga, 1 beecare.ch, 1 beedsolyjas.tk, 1 @@ -16118,7 +16091,6 @@ beehive42.net, 1 beehive42.nl, 1 beehive42.org, 1 -beehosting.pro, 1 beekbier.nl, 1 beekeeper.blog, 1 beekeeper.clothing, 1 @@ -16426,6 +16398,7 @@ benekill.tk, 1 benepiscinas.com.br, 1 benepla.com, 1 +beneri.se, 1 benetcasablancas.tk, 1 benevisim.com, 1 benevita.bio, 1 @@ -16446,6 +16419,7 @@ benhamplateau.tk, 1 benhaney.com, 1 benhartmann.de, 0 +benhavenarchives.org, 1 benhoeg.com, 0 beniajan.tk, 1 benidormcd.tk, 1 @@ -16494,7 +16468,6 @@ bennythink.com, 1 benobi.one, 0 benoitchantre.com, 1 -benoniplumber24-7.co.za, 1 benpro.fr, 1 benrogers.tk, 1 bensbouncycastles.co.uk, 1 @@ -16635,7 +16608,7 @@ bernerland.cf, 1 bernerland.tk, 1 bernersennen.tk, 1 -bernexskiclub.ch, 1 +bernexskiclub.ch, 0 bernhard-eicher.ch, 1 bernhard-seidenspinner.de, 1 bernhardkau.de, 1 @@ -17086,12 +17059,12 @@ bet333r.com, 0 bet333s.com, 1 bet333t.com, 1 -bet333u.com, 1 -bet333v.com, 1 -bet333w.com, 1 +bet333u.com, 0 +bet333v.com, 0 +bet333w.com, 0 bet333x.com, 1 bet333y.com, 1 -bet333z.com, 1 +bet333z.com, 0 bet338c.com, 1 bet33app.com, 0 bet3639.com, 0 @@ -17161,7 +17134,7 @@ bet66669999.com, 1 bet666888.vip, 1 bet7234.com, 1 -bet819.com, 1 +bet819.com, 0 bet86ah.com, 1 bet86am.com, 1 bet86cq.com, 1 @@ -17189,7 +17162,6 @@ bet86yn.com, 1 bet86zj.com, 1 bet909.com, 1 -bet9ja.com, 1 beta-site-staging.azurewebsites.net, 1 beta.hosting, 1 betaa0.com, 1 @@ -17275,7 +17247,6 @@ bettendorf.gov, 1 better.com, 0 better.fyi, 1 -betterbabyshop.com.au, 1 betterbladders.com, 1 betterboards.net, 1 bettercallsully.com, 1 @@ -17283,6 +17254,7 @@ bettercleaningcompany.co.uk, 1 betterconsult.com, 1 bettercrypto.org, 1 +betterhelp.com, 1 betterjapanese.blog, 1 betterjapanese.org, 1 betterjapanese.xyz, 1 @@ -17520,7 +17492,6 @@ bibet365.com, 1 bibi-xxx.com, 1 bibica.net, 1 -bibisbootypalace.de, 1 bibitbunga.com, 1 bible-maroc.com, 1 bible.ru, 1 @@ -17603,6 +17574,7 @@ bier-brothers.tk, 1 bierbaumer.net, 1 bierbrouwerijderoos.nl, 1 +biergaizi.info, 1 bierochs.org, 1 bierwebshop.be, 1 bieser.ch, 1 @@ -17672,6 +17644,7 @@ biggsconstruction.com, 1 bighappy.com, 1 bighome.ml, 1 +bighorn.co.jp, 1 bighouse-events.co.uk, 1 bigio.com.br, 1 biglagoonrentals.com, 1 @@ -17686,7 +17659,6 @@ bigpurse.tk, 1 bigrapidstownshipmi.gov, 1 bigrender.tk, 1 -bigsaleclub.com, 1 bigsam.us, 1 bigseo.ml, 1 bigseo.tk, 1 @@ -17840,7 +17812,7 @@ billybob.tk, 1 billyoh.com, 1 billywig.stream, 1 -biloxihistoricalsociety.org, 1 +biloxihistoricalsociety.org, 0 biloxisportfishing.com, 1 bilsho.com, 1 biltmoreatthepark.com, 1 @@ -17933,7 +17905,6 @@ bintelligence.cl, 1 bintelligence.info, 1 bintelligence.nl, 1 -bintoca.com, 1 bintooshoots.com, 1 bintra.directory, 1 bintube.com, 1 @@ -18078,7 +18049,6 @@ birchbarkfurniture.fr, 0 birdbrowser.com, 1 birdersunite.com, 1 -birdfeeder.online, 1 birdgifs.nz, 1 birdiehosting.nl, 1 birdrave.com, 1 @@ -18142,7 +18112,6 @@ biso.ga, 1 bisoga.ga, 1 bisq.community, 1 -bisq.network, 1 bisq.services, 1 bisq.wiki, 1 bisrockloverclan.tk, 1 @@ -18209,7 +18178,6 @@ bitcoinbot.cf, 1 bitcoinbot.ga, 1 bitcoinbot.tk, 1 -bitcoincasino.blog, 1 bitcoincasino.link, 1 bitcoincasino.monster, 1 bitcoincasino.tech, 1 @@ -18248,8 +18216,9 @@ bitcoinseed.net, 1 bitcoinset.pl, 1 bitcoinslots.info, 1 -bitcoinsv.io, 1 +bitcoinsv.io, 0 bitcointech.ga, 1 +bitcointhefts.com, 1 bitcointransfer.tk, 1 bitcoinwalletscript.tk, 1 bitcoinx.ro, 1 @@ -18309,7 +18278,6 @@ bitovayatehn.tk, 1 bitplay.space, 1 bitpod.de, 1 -bitpoll.de, 1 bitpoll.org, 1 bitpress.pro, 1 bitpumpe.net, 1 @@ -18357,7 +18325,6 @@ bituptick.com, 0 bitvegas.com, 0 bitvest.io, 1 -bitvps.com, 1 bitwarden.com, 0 bitwardit.com, 1 bitwards.io, 1 @@ -18426,7 +18393,6 @@ bizzybee.buzz, 1 bizzysites.gr, 1 bj-caffe.tk, 1 -bjarnerest.de, 1 bjarno.xyz, 1 bjc.hu, 1 bjecard.buzz, 1 @@ -18451,7 +18417,6 @@ bkentertainments.co.uk, 1 bkgatl.com, 1 bkhpilates.co.uk, 1 -bkkf.at, 1 bkkposn.com, 1 bkl-ca-qa-employeeapp.azurewebsites.net, 1 bklaindia.com, 1 @@ -18495,7 +18460,6 @@ blablacar.pt, 1 blablacar.ro, 1 blablacar.rs, 1 -blablacar.ru, 1 black-air-rpg.com, 1 black-blog.com, 1 black-diamonds.cf, 1 @@ -18553,11 +18517,13 @@ blackgate.org, 1 blackhail.tk, 1 blackhat.dk, 1 +blackhat.nz, 1 blackheads.tk, 1 blackhealthwealth.com, 1 blackhelicopters.net, 1 blackhillsinfosec.com, 1 blackhistorymonth.gov, 1 +blackilli.de, 1 blackjackballroomcasino.info, 1 blackjackprogramest.ga, 1 blackjaguar.tk, 1 @@ -18567,7 +18533,6 @@ blacklava.tk, 1 blacklightparty.be, 1 blacklodge.tk, 1 -blackmafia.tk, 1 blackmagic.sk, 1 blackmagickwitch.com, 1 blackmagicshaman.com, 1 @@ -18608,7 +18573,6 @@ blackswirl.com, 1 blackteam.org, 1 blacktemplars.tk, 1 -blackthrone.tk, 1 blacktown.eu, 1 blacktownbuildingsupplies.com.au, 1 blacktubes.cf, 1 @@ -18903,7 +18867,7 @@ blokuhaka.fr, 1 blomberg.name, 1 blomberguk.com, 1 -bloms.de, 1 +bloms.de, 0 blonde-hexe.net, 1 blonde-hexe.org, 1 blood-kirsche.tk, 1 @@ -18937,6 +18901,7 @@ bltc.net, 1 bltc.org, 1 bltc.org.uk, 1 +bltdirect.com, 1 bluavido.ml, 1 blubop.fr, 1 blubux.tk, 1 @@ -18953,7 +18918,6 @@ blueatlasmarketing.com, 1 bluebahari.gq, 1 blueberrywinery.com.au, 0 -bluebie.com, 1 bluebill.net, 0 bluebirdelc.com, 1 bluebirdservice.us, 1 @@ -18993,7 +18957,6 @@ bluenet-26.com, 1 blueneuron.tk, 1 blueoakart.com, 1 -blueoceantech.us, 0 blueparrotpainting.com, 1 bluepearl.tk, 1 blueperil.de, 1 @@ -19013,6 +18976,7 @@ blueskyinsure.com, 1 blueskyxn.com, 1 bluesnews.tk, 1 +bluesoap.com.au, 1 bluespotmedia.ro, 1 bluestardiabetes.com, 1 bluestarroofing.com, 1 @@ -19040,7 +19004,6 @@ bluex.org, 1 blueyonder.com, 1 bluffcitytn.gov, 1 -bluffelectrician.co.za, 1 bluffplumber.co.za, 1 bluheron.ca, 1 blui.cf, 0 @@ -19143,6 +19106,7 @@ bobcoffee.com.br, 1 bobcopeland.com, 1 bobek.cz, 1 +bobep.ru, 1 bobertscoinrings.com, 1 bobfilm.ml, 1 bobigames.com, 1 @@ -19219,7 +19183,6 @@ boem.gov, 0 boensite.tk, 1 boerandolphcountyga.gov, 1 -boernecancerfonden.dk, 1 boese.one, 1 boevik.ml, 1 bofashion.site, 1 @@ -19259,13 +19222,11 @@ bojan.tk, 1 bojanowskiszkolka.pl, 1 bojiu99.cc, 1 -bokadoktorn-test.net, 1 bokadoktorn.se, 1 bokatas.tk, 1 boke112.com, 1 bokehandbows.ca, 1 bokhylle.eu, 1 -bokka.com, 1 bokkeriders.com, 1 bokov.gq, 1 boksburgplumber24-7.co.za, 1 @@ -19361,7 +19322,6 @@ bonbonshop.ro, 1 bonchaboncha.com.tw, 1 bondagefetishstore.com, 1 -bondank.com, 1 bondarenko.dn.ua, 1 bondarenko.tk, 1 bondcouponers.ga, 1 @@ -19404,6 +19364,7 @@ bonniecoloring.com, 1 bonniedraw.com, 1 bonniekitchen.com, 1 +bonnieradvocaten.nl, 1 bonniestylez.net, 1 bonnsustainabilityportal.de, 1 bonnydevil.com, 1 @@ -19441,10 +19402,10 @@ book-online.tk, 1 book-sites.cf, 1 bookameeting.se, 1 -bookaway.com, 1 bookbazar.co.in, 1 booker.ly, 1 bookingready.com, 1 +bookingslog.com, 1 bookingsrit.tk, 1 bookingtool.com, 1 bookingtool.net, 1 @@ -19495,7 +19456,6 @@ boomfestival.org, 1 boomkins.net, 1 boomshadow.net, 1 -boomsocial.com, 1 boomsual.com, 1 boomtownevents.com, 1 boomvm.pw, 1 @@ -19656,7 +19616,6 @@ botipedia.tk, 1 botmaker.tk, 1 botmanager.pl, 1 -botmastery.com, 1 botmedia.cf, 1 botnam.com, 1 botoes-primor.pt, 1 @@ -19664,7 +19623,6 @@ botoxclinic.gr, 1 botschaften-an-das-volk-gottes.de, 0 botserver.de, 1 -botsiah.fail, 1 botsindiscord.me, 1 botstack.host, 1 botticelli.tk, 1 @@ -19709,7 +19667,6 @@ bounceaboutnewark.co.uk, 1 bounceaboutsussex.co.uk, 1 bouncealotnorthwest.co.uk, 1 -bounceandwobble.co.uk, 1 bounceapp.com, 1 bouncearoundevents.co.uk, 1 bouncearoundinflatable.com, 1 @@ -19830,6 +19787,7 @@ boxcritters.wiki, 1 boxcryptor.com, 0 boxdevigneron.fr, 1 +boxdropcc.com, 1 boxeomexicano.tk, 1 boxerdogdiaries.com, 1 boxerdogsaspets.com, 1 @@ -20061,7 +20019,6 @@ brasilandia.tk, 1 brasilcheats.tk, 1 brasilduino.tk, 1 -brasildxn.com.br, 1 brasiliademinasnet.tk, 1 brasilianskbikini.se, 1 brasillifeoficial.tk, 1 @@ -20085,6 +20042,7 @@ braudoktor.de, 1 brauer-augenoptik.de, 1 brauingenieur.de, 1 +braun-soddisfattiorimborsati.it, 1 braunbergerfreelance.com, 1 braunsteinpc.com, 1 braunwarth.info, 0 @@ -20200,10 +20158,10 @@ bremen-restaurants.de, 1 bremensaki.com, 1 bremerfriedensforum.de, 1 -bremink.nl, 1 brenbarnes.com, 1 brenbarnes.com.au, 0 brendabecker.com, 1 +brendanbatliner.com, 1 brendancroker.tk, 1 brendanfarmer.ga, 1 brendanscherer.com, 1 @@ -20224,8 +20182,8 @@ brestnews.tk, 1 brestradio.tk, 1 brestshop.tk, 1 +bret-mcgee.me.uk, 0 bretcarmichael.com, 1 -bretech.net, 1 breteuilcommerceartisanat.com, 1 bretonhouse.ca, 1 brett.icu, 0 @@ -20256,6 +20214,7 @@ brgins.com, 1 brguk.com, 1 bri.fyi, 1 +brian-gordon.name, 1 brian-ormond.tk, 1 brianalaway.com, 1 brianalawayconsulting.com, 1 @@ -20303,6 +20262,7 @@ brid.gy, 0 bridal.tk, 1 bridalfabrics.ru, 1 +bridalshoes.com, 1 bridalweddingshow.ga, 1 bride.vn, 1 bridesbouquet.ml, 1 @@ -20318,6 +20278,7 @@ bridgedirectoutreach.com, 1 bridgefield.de, 1 bridgeforcefinancial.com, 1 +bridgeglobalmarketing.com, 1 bridgehomeloans.com, 1 bridgemanualest.ga, 1 bridgement.com, 1 @@ -20386,6 +20347,7 @@ brimspark.com, 1 brimspark.systems, 1 brindesgrafica.com.br, 1 +brindespegassus.com.br, 1 brindisireport.it, 1 brindocorp.tk, 1 bring-heaven.com, 1 @@ -20610,6 +20572,7 @@ bruno-hoenel.de, 1 bruno-pelletier.tk, 1 brunoamaral.eu, 1 +brunobeauvoir.com, 1 brunocesarlima.com.br, 1 brunodomingos.com, 1 brunolt.nl, 1 @@ -20652,7 +20615,6 @@ bryggebladet.dk, 1 bryte-rp.tk, 1 brztec.com, 1 -brzy-svoji.cz, 1 bs-network.net, 1 bs-security.com, 1 bs.sb, 1 @@ -20677,7 +20639,7 @@ bsd.gay, 1 bsdes.net, 1 bsdfreak.dk, 1 -bsdlab.com, 1 +bsdlab.com, 0 bsdracing.ca, 1 bsdug.org, 1 bsdunix.xyz, 1 @@ -20717,7 +20679,7 @@ bsuru.xyz, 1 bsvfincorp.com, 1 bsw-solution.de, 1 -bsystem.net, 1 +bsystem.net, 0 bszoft.hu, 1 bt-kc.de, 1 bt121.com, 1 @@ -20739,6 +20701,7 @@ btcontract.com, 0 btcp.space, 1 btcpop.co, 1 +btddd.com, 1 btdproductions.tk, 1 bth.wtf, 1 bticoin3king.cf, 1 @@ -20754,7 +20717,6 @@ btraviswrightmps.com, 1 btrb.ml, 1 btrfs.no, 1 -btsapem.com, 1 btshe.net, 1 btsline.co.id, 1 btslr.co, 1 @@ -20855,7 +20817,6 @@ budgetrf.tk, 1 budgetwebsites.com.au, 1 budilnik.ml, 1 -budntod.com, 1 budofjoy.com, 1 budolangnau.ch, 1 budolfs.de, 1 @@ -21068,7 +21029,7 @@ burbankdental.com, 1 burberry-outlet.cf, 1 burcevo.info, 1 -burchfabrics.com, 0 +burchfabrics.com, 1 burdurhaber.tk, 1 burdursondakika.tk, 1 bureaubolster.nl, 0 @@ -21415,7 +21376,6 @@ buster.me.uk, 1 bustickets.ph, 1 bustillodeloro.tk, 1 -bustimes.org, 1 bustingbrackets.com, 1 bustmold.com, 1 bustmovesest.ga, 1 @@ -21474,7 +21434,6 @@ buy-lasix-without-a-doctor-s-prescription.ga, 1 buy-lingerie.tk, 1 buy-lipitor.tk, 1 -buy-out.jp, 1 buy-prednisolone.ga, 1 buy-premarin.ml, 1 buy-robaxin.gq, 1 @@ -21486,7 +21445,6 @@ buy-topamax.tk, 1 buy-zimulti.ga, 1 buy-zofran.ga, 1 -buy2dollars.com, 1 buyaccessible.gov, 1 buyaccutane.gq, 1 buyacompliaonline.ga, 1 @@ -21589,7 +21547,7 @@ buzzcontent.com, 1 buzzfeast.com, 1 buzzhub.tk, 1 -buzzkuri.com, 0 +buzzkuri.com, 1 buzzman.ga, 1 buzzmedianetworks.com, 1 buzzpop.tv, 0 @@ -21604,6 +21562,7 @@ bvbmedia.nl, 1 bvergnaud.fr, 1 bvexplained.co.uk, 1 +bvgg.eu, 1 bvgt.org, 1 bvionline.eu, 1 bviphotovideo.com, 1 @@ -21699,9 +21658,7 @@ byraje.com, 1 byrddogpaving.com, 1 byrest.com, 1 -byriderfranchise.com, 1 byrko.sk, 1 -byrnesagency.com, 1 byronkg.us, 1 byrtz.de, 1 byrut.org, 1 @@ -21721,6 +21678,7 @@ bytebucket.org, 1 bytecrafter.com, 1 bytecrafter.net, 1 +byteflies.com, 1 bytema.cz, 1 bytema.eu, 1 bytema.re, 1 @@ -21838,7 +21796,6 @@ caarecord.org, 1 caasd.org, 1 caasda.tk, 1 -cabaal.net, 1 cabaladada.org, 1 cabale.fr, 1 cabalistic.tk, 1 @@ -21882,6 +21839,7 @@ cachacasantaterezinha.com.br, 1 cachaceros.tk, 1 cache-checker.com, 1 +cachedview.nl, 1 cachethome.com, 1 cachetur.no, 1 cackette.com, 0 @@ -21985,6 +21943,7 @@ caffein.cf, 1 caffeinate.co.uk, 1 caffeinatedengineers.com, 1 +caffeinefiend.org, 1 caffelatte.tk, 1 cafferata.tk, 1 caffewasyl.pl, 1 @@ -22178,6 +22137,7 @@ calvin.my, 1 calvusconsultancy.nl, 1 calwildgarden.com, 1 +calypsohost.net, 1 calyxengineers.com, 1 calyxinstitute.org, 1 calzadonline1.com, 1 @@ -22440,7 +22400,6 @@ candytip.ru, 1 candyxs.org, 1 canek.es, 1 -canekeiros.com.br, 1 canellayachts.com, 1 caneminder.com, 1 canetelareal.tk, 1 @@ -22454,7 +22413,6 @@ canhq.tk, 1 cani-compostelle.fr, 1 canihavesome.coffee, 0 -canine-mobility.com, 0 caniuse.email, 1 canker.org, 1 cankhon.tk, 1 @@ -22466,7 +22424,6 @@ cannabis-marijuana.com, 1 cannabiscare.ca, 1 cannabislegality.info, 1 -cannabismd.com, 1 cannabiz.tk, 1 cannacards.ca, 1 cannagoals.com, 1 @@ -22641,7 +22598,6 @@ car-keys.tk, 1 car-market.tk, 1 car-seats-store.ga, 1 -car-spaw-rac.fr, 1 car-speed.tk, 1 car-touch.tk, 1 car.info, 1 @@ -22806,6 +22762,7 @@ cariki.gq, 1 carikiv.gq, 1 carillon.tk, 1 +carinaklijn.nl, 1 carine.ml, 1 caringmedicine.ga, 1 caringpups.com, 1 @@ -22830,7 +22787,6 @@ carlingfordapartments.com.au, 1 carlingforddental.com.au, 1 carlinmack.com, 1 -carlislepassionplay.org, 1 carlitoxxpro.com, 1 carlmjohnson.net, 0 carloancalculator.tk, 1 @@ -23027,7 +22983,7 @@ carver.tk, 1 carwashdruten.nl, 1 carwreckcowboy.com, 1 -cas-chauxdefonds.ch, 1 +cas-chauxdefonds.ch, 0 casa-app.de, 1 casa-brel.ml, 1 casa-familia.com, 1 @@ -23053,7 +23009,6 @@ casadedios.tk, 1 casadegomes.com, 1 casadetiteres.tk, 1 -casadilanga.com, 1 casadoarbitro.com.br, 1 casadomus.de, 1 casadopulpo.com, 1 @@ -23061,7 +23016,6 @@ casaessencias.com.br, 1 casafina.tk, 1 casagami.ga, 1 -casagyn.com.br, 1 casajeannine.tk, 1 casalacabra.com, 1 casalborgo.it, 1 @@ -23162,7 +23116,6 @@ casino-casholot.fr, 1 casino-online.info, 1 casino-trio.com, 1 -casino.fail, 1 casinobee.com, 1 casinobonuscodes365.com, 1 casinocash-flow.ru, 1 @@ -23170,6 +23123,7 @@ casinocashflow.ru, 1 casinocashflow.su, 1 casinocashflow.xyz, 1 +casinochecking.com, 1 casinocity.africa, 1 casinocity.ag, 1 casinocity.am, 1 @@ -23344,7 +23298,6 @@ castlekingkent.co.uk, 1 castlemania.tk, 1 castleoblivion.tk, 1 -castleparty.co.uk, 1 castles-in-the-sky.co.uk, 1 castleswa.com.au, 1 castorio.tk, 1 @@ -23550,7 +23503,6 @@ cbhq.net, 1 cbi-epa.gov, 1 cbin168.com, 1 -cbin9.com, 1 cbintermountainrealty.com, 1 cbmanager.dk, 1 cbmusa.com, 1 @@ -23624,7 +23576,6 @@ ccsae.org, 1 ccsaposs.com, 1 ccshire.ga, 1 -ccsistema.com, 1 ccsource.org, 1 ccsys.com, 1 cctf-m.com, 0 @@ -23636,7 +23587,9 @@ cctvsecurityjohannesburg.co.za, 1 cctvview.info, 0 ccu.plus, 1 +ccv-deutschland.de, 0 ccv.eu, 0 +ccv.nl, 0 ccwallet.io, 1 ccwebdevelopment.com, 1 ccxperience.com, 1 @@ -23664,7 +23617,6 @@ cdicdd.com, 1 cdigitale.com, 1 cdirectory.tk, 1 -cdkeyworld.de, 1 cdkpatterns.com, 1 cdkrot.me, 1 cdlaserena.tk, 1 @@ -23679,7 +23631,6 @@ cdncompanies.com, 1 cdndepo.com, 1 cdnjs.com, 1 -cdnk39.com, 1 cdnmc.cn, 1 cdns.cloud, 1 cdnsys.net, 1 @@ -23694,6 +23645,7 @@ cdseditora.com.br, 1 cdsf.tk, 1 cdshining.com, 0 +cdsportal.uk, 1 cdt.org, 0 cdu-gebhardshain.de, 1 cduckett.net, 1 @@ -23773,6 +23725,7 @@ celeraindustries.tk, 1 celestebonito.pt, 1 celestia.tk, 1 +celestialenergies.com.au, 1 celestialisms.com, 1 celestialmusic.tk, 1 celex-machinery.tk, 1 @@ -24018,7 +23971,6 @@ cesantias.co, 0 cesar-hector.tk, 1 cesarloaiciga.com, 1 -cesarparedespacora.com, 1 cesboard.com, 1 cescfortuny.tk, 1 cesdb.com, 1 @@ -24057,6 +24009,7 @@ cfc-swc.gc.ca, 1 cfcontracting.com, 1 cfcpestcontrol.com, 1 +cfcproperties.com, 1 cfda.gov, 1 cfdcre5.org, 1 cfdt-fleurymichon.fr, 1 @@ -24198,8 +24151,6 @@ champonthis.de, 1 champsglobal.org, 1 chanakyanewz.com, 1 -chancekorte.com, 1 -chancekorte.org, 1 chanchi.idv.hk, 1 chanddriving.co.uk, 1 chanderson.com.au, 1 @@ -24207,12 +24158,14 @@ chandr1000.ga, 1 chandramani.tk, 1 changan.com.co, 1 -change-coaching-gmbh.ch, 0 change10000lives.com.ph, 1 changeactivation.com, 1 +changeanalytics.io, 1 changeanalytics.us, 1 +changecopyright.ru, 1 changeforfuture.cf, 1 changemywifipassword.com, 1 +changenow.io, 1 changes.jp, 1 changesfor.life, 1 changethislater.com, 1 @@ -24247,7 +24200,6 @@ chaoticlab.io, 1 chaoticonline.tk, 1 chaouby.com, 0 -chaoxi.co, 1 chaoxi.io, 1 chaoxi.link, 1 chapek9.com, 1 @@ -24313,7 +24265,6 @@ charlotte-touati.ch, 1 charlotteanne.tk, 1 charlottecountyva.gov, 1 -charlotteomnes.com, 1 charlottesvillegolfcommunities.com, 1 charlottesvillehorsefarms.com, 1 charlotteswimmingpoolbuilder.com, 1 @@ -24350,6 +24301,7 @@ chastitybelts.tk, 1 chat-buddy.com, 1 chat-cam.tk, 1 +chat-house-adell.com, 1 chat-libera.com, 1 chat-porc.eu, 1 chat.cz, 1 @@ -24372,7 +24324,6 @@ chateau-belvoir.com, 1 chateau-de-fresnois.com, 1 chateau-de-fresnois.fr, 1 -chateau-de-lisle.fr, 1 chateau-patris.com, 1 chateauconstellation.ch, 0 chateauderoncourt.fr, 1 @@ -24630,7 +24581,9 @@ cherysunzhang.com, 1 chesapeakebank.com, 1 chesapeakebaychristmas.com, 1 +chess.com, 1 chessboardao.com, 1 +chesskid.com, 1 chesspoint.ch, 1 chesstempo.com, 1 chessveterinary.co.uk, 1 @@ -24639,7 +24592,6 @@ chestercountypediatrics.com, 1 chestercountyroboticsurgery.com, 1 chesterfieldplaceapartmentsstl.com, 1 -chesterman.tk, 1 chesterultimatefrisbee.tk, 1 chestnut.cf, 1 chetin-orlov.ga, 1 @@ -24659,7 +24611,6 @@ cheztitine.tk, 1 chfr.search.yahoo.com, 0 chhlayban.tk, 1 -chhlin.com, 1 chhory.com, 1 chhy.at, 1 chiakhoakhoinghiep.vn, 1 @@ -24708,6 +24659,7 @@ chielonline.tk, 1 chiemgauflirt.de, 1 chietitoday.it, 1 +chif16.at, 1 chiffrer.info, 1 chifumi.net, 1 chijb.cc, 1 @@ -24732,6 +24684,7 @@ children-toys.tk, 1 childrenandmedia.org.au, 1 childrenfirstalways.org, 1 +childreninadversity.gov, 1 childrens-room.com, 1 childrensentertainmentleicester.co.uk, 1 childrensfurniture.co.uk, 1 @@ -24773,8 +24726,6 @@ chinahealthcareblog.cf, 1 chinaicpower.org, 0 chinalosers.com, 1 -chinamextrading.com, 1 -chinasa.net, 1 chinasearch.tk, 1 chinaspaceflight.com, 1 chinastory.tk, 1 @@ -24789,7 +24740,6 @@ chinesedishes.tk, 1 chinesepen.org, 1 chinesephones.tk, 1 -chineserecipes.xyz, 1 chinfolk.tk, 1 ching.tv, 1 chinookelevator.com, 1 @@ -24977,7 +24927,6 @@ chrissytechaira.tk, 1 christ.cm, 1 christadelphians.eu, 1 -christchurchbouncycastles.co.uk, 1 christcostum.tk, 1 christec.net, 1 christengroei.tk, 1 @@ -24998,11 +24947,13 @@ christianbro.gq, 1 christianbsl.com, 1 christianchat.ml, 1 +christiancoleman.info, 1 christianconcepts.cf, 1 christianconcepts.ga, 1 christianconcepts.gq, 1 christiandiscourse.net, 1 christianfaq.org, 1 +christianforums.com, 1 christiangaro.com, 1 christiangaro.email, 1 christiangaro.info, 1 @@ -25124,7 +25075,6 @@ chronocolis.ml, 1 chronograph.pe, 1 chronology.no, 1 -chronosgroup.eu, 1 chronoshop.cz, 1 chronotech.fr, 1 chrony.tk, 1 @@ -25214,7 +25164,6 @@ cialisfreetrial.ga, 1 cialisvtr.com, 1 cialona.nl, 1 -ciancaiphotobooth.com, 1 ciancode.com, 1 cianmawhinney.me, 1 cianmawhinney.xyz, 1 @@ -25226,7 +25175,6 @@ cibercat.tk, 1 cibercheck.com, 1 cibleclick.com, 1 -cibus.ba, 1 cica.es, 1 cicavkleci.cz, 1 cicery.com, 1 @@ -25236,6 +25184,7 @@ ciclodekrebs.com, 1 ciclodelcarbono.com, 1 ciclohidrologico.com, 1 +cidadedossonhos.org, 1 cidbot.com, 1 cidcca.com, 1 cidersus.com.ec, 1 @@ -25274,7 +25223,7 @@ cilkanet.cloud, 1 cilloc.be, 1 cilt.tk, 1 -ciltskillnet.ie, 1 +ciltskillnet.ie, 0 cim.pe, 1 cima-idf.fr, 1 cimaflash.co, 0 @@ -25346,6 +25295,7 @@ cio.gov, 1 ciordigital.com, 1 cioscloud.com, 1 +cip.md, 1 cipartyhire.co.uk, 1 ciph.zone, 1 cipher.team, 1 @@ -25466,14 +25416,12 @@ citruspi.io, 1 citrusui.me, 1 citsc.de, 1 -city-forums.ml, 1 city-glas.com, 1 city-home.tk, 1 city-nn.com, 1 city-online.tk, 1 city-walks.info, 1 cityacademyslc.org, 1 -citybeat.de, 1 citybusexpress.com, 0 citycalculator.ml, 1 citycardgand.com, 1 @@ -25618,6 +25566,7 @@ ckostecki.de, 1 ckp.ie, 1 ckpl.io, 1 +ckpl.us, 1 ckrobotics.tk, 1 cktennis.com, 1 ckyalliancefinland.tk, 1 @@ -25646,7 +25595,6 @@ clairette-de-die-lantheaume.fr, 1 clairevoyance.tk, 1 claitec.com, 1 -clam.network, 1 clamatohalloffame.com, 1 clan-afa.tk, 1 clan-behh.tk, 1 @@ -25745,6 +25693,7 @@ classroomconductor.com, 1 classsitterers.ga, 1 classsitterest.ga, 1 +classteaching.com.au, 1 classx.tk, 1 classyhandmade.de, 1 claude.me, 1 @@ -25759,7 +25708,6 @@ claudiney.id, 1 claudiney.info, 1 claudiohdz.com, 1 -claumarservice.com, 1 claus-bahr.de, 1 claus-cremer.tk, 1 clauseriksen.net, 1 @@ -25786,6 +25734,7 @@ cldly.com, 1 clean-mailbox.com, 1 clean-water-and-sanitation.tk, 1 +clean.my, 1 cleanclearwater.co.uk, 1 cleandetroit.org, 1 cleandrains.com.au, 1 @@ -25797,7 +25746,6 @@ cleangroup.in.ua, 1 cleanhouse2000.us, 1 cleaningcarpet.ga, 1 -cleaningdepot.co.za, 1 cleaningservicejulai.com, 1 cleaningsquad.ca, 0 cleankey.jp, 0 @@ -25807,6 +25755,7 @@ cleansweepaa.com, 1 cleanway.dk, 1 clear-concise.com, 1 +clear.ml, 1 clearance365.co.uk, 1 clearbooks.co.uk, 1 clearbookscdn.uk, 1 @@ -26235,7 +26184,6 @@ clubfailed.tk, 1 clubfamily.de, 1 clubfunday.ga, 1 -clubgalileo.com.ec, 1 clubgenesis.tk, 1 clubhousetownhomes.com, 0 clubic.com, 1 @@ -26304,18 +26252,16 @@ cmftech.com, 1 cmgacheatcontrol.com, 1 cmillrehab.com, 1 -cmitao.com, 1 cmlachapelle.ch, 1 cmlancy.ch, 1 cmlcpa.ca, 1 cmlignon.ch, 1 -cmn-group.com, 1 -cmn-groupe.com, 1 -cmngroup.com, 1 -cmngroupe.com, 1 +cmn-group.com, 0 +cmn-groupe.com, 0 +cmngroup.com, 0 +cmngroupe.com, 0 cmperalta.tk, 1 cmplainpalais.ch, 1 -cmpsc.uk, 1 cmrconstructions.com.au, 1 cmrss.com, 1 cms-mania.tk, 1 @@ -26341,13 +26287,14 @@ cnatraining.network, 1 cnbs.ch, 1 cnc-lehrgang.de, 1 -cncado.net, 1 +cncbazar365.com, 1 cncfraises.fr, 1 cncn3.cn, 1 cncollege.tk, 1 cncr.ga, 1 cncrans.ch, 0 cncs.gob.do, 1 +cncs.gov.pt, 1 cnet-hosting.com, 1 cnetw.xyz, 1 cnexchange.com, 1 @@ -26400,11 +26347,7 @@ coastaleyesurgeons.com.au, 1 coastalphysie.com, 1 coastalpowder.com.au, 1 -coastalurgentcarebatonrouge.com, 1 -coastalurgentcarebossier.com, 1 -coastalurgentcaregonzales.com, 1 coastalurgentcarehouma.com, 1 -coastalurgentcareruston.com, 1 coastalurgentcarethibodaux.com, 1 coastline.net.au, 1 coastmedicalservice.com, 1 @@ -26449,6 +26392,7 @@ coco-line.ch, 1 cocoa-job.jp, 1 cocoafl.gov, 1 +cocoamexico.com, 1 cocodroid.com, 0 cocokmobi.ga, 1 cocolink.jp, 1 @@ -26525,14 +26469,13 @@ codehangar.io, 1 codehelper.ml, 1 codeheroes.fr, 1 +codehz.one, 1 codeidea.ga, 1 codein.ca, 0 codeine.co.uk, 1 codeit.guru, 1 codeit.us, 1 codejumper.ml, 1 -codeknights.com, 1 -codelei.fr, 1 codeloop.pw, 1 codemahrt.com, 1 codemill.se, 1 @@ -26553,7 +26496,6 @@ codepref.com, 1 codera.co.uk, 1 codercross.com, 1 -codercy.com, 1 codered.sh, 1 coderema.de, 1 coderema.eu, 1 @@ -26612,7 +26554,6 @@ codwarzonepoints.com, 1 cody.sh, 1 codydostal.com, 1 -codyqx4.com, 1 coeburnva.gov, 1 coenraets.com, 1 coens.me.uk, 1 @@ -26677,14 +26618,12 @@ coinclickz.fun, 1 coincoele.com.br, 1 coincoin.eu.org, 1 -coincolors.co, 1 coinf.it, 1 coinflux.com, 1 coinforce.com, 1 coingate.com, 1 coinjar-sandbox.com, 1 coinloan.io, 1 -coinmewallet.com, 1 coinmotion.com, 1 coinnewspulse.com, 1 coinpit.io, 1 @@ -26706,9 +26645,9 @@ cokisiregar.com, 1 cokomi.com, 1 col-head.com, 1 -col.la, 1 cola-host.tk, 1 colaborativa.tv, 1 +colabug.com, 1 colah.com.au, 1 colapsys.net, 0 colarelli.ch, 1 @@ -26717,8 +26656,6 @@ colbonews.co.il, 1 colchesterglobal.com, 1 colcomm.com, 1 -colcompany.com, 1 -coldaddy.com, 1 coldcardwallet.com, 1 coldecan.edu.co, 1 coldfff.com, 1 @@ -26729,6 +26666,7 @@ coldlasers.org, 1 coldren.org, 1 coldspegll.gq, 1 +coldstreamcreekfarm.com, 1 coldtomato.ga, 1 coldtomatoest.ga, 1 coldwater.tk, 1 @@ -26844,7 +26782,7 @@ colombiasobreruedas.com, 1 colombiawebs.com, 1 colombyinai.ga, 1 -colonialfilings.com, 1 +colonialfilings.com, 0 colonialfurniturestripping.com, 1 colonize.africa, 1 coloppe.com, 1 @@ -26915,8 +26853,9 @@ combigo.com, 1 combineconquer.com, 1 combron.be, 1 +combron.co.uk, 1 +combron.com, 1 combron.nl, 1 -combustibilaspen.ro, 1 comcenter.com, 1 comchezmeme.com, 1 comcol.nl, 1 @@ -26929,7 +26868,6 @@ comebookmark.cf, 1 comebookmark.ga, 1 comebookmark.ml, 1 -comedicgrouperu.com, 1 comedimagrire.it, 1 comedyhuis.nl, 1 comefollowme2016.com, 0 @@ -26943,7 +26881,6 @@ comercialtech.cl, 1 comercialtpv.com, 1 comercialtrading.eu, 1 -comerford.net, 1 comeros.be, 1 comestoarra.com, 1 cometbot.cf, 1 @@ -26994,7 +26931,6 @@ commco.nl, 1 commechezvous.ch, 0 commencepayments.com, 1 -commentjaichangedevie.fr, 1 comments.app, 1 commerce.gov, 1 commercegurus.com, 1 @@ -27122,6 +27058,7 @@ complexcoral.ro, 1 complexorganization.com, 1 complexorganizations.com, 1 +complexsystems.fail, 1 compliance-management.ch, 0 compliance-risk.com, 1 compliance-systeme.de, 1 @@ -27154,6 +27091,7 @@ comptu.com, 1 compu-ofertas.tk, 1 compubench.com, 1 +compucastell.ch, 1 compucorner.mx, 1 compucorner.tk, 1 compudoc.tk, 1 @@ -27162,6 +27100,7 @@ compusrit.tk, 1 compustore.pe, 1 compustuff.tk, 1 +computec.ch, 1 computer-acquisti.com, 1 computer-menschen.de, 1 computer-science-schools.com, 1 @@ -27198,7 +27137,6 @@ computop.com, 1 computron.ga, 1 comradesofmight.tk, 1 -comschool.com.br, 1 comsoli.com.br, 1 comtex.com.au, 1 comtily.com, 1 @@ -27339,7 +27277,7 @@ congineer.com, 1 congnghe.so, 1 congoproject.tk, 1 -congregacionmitacol.org, 1 +congregacionmitacol.org, 0 congresistas-ap.tk, 1 congresodermatologia2019.com, 1 congressmankirk.com, 1 @@ -27376,6 +27314,7 @@ connectionstrings.com, 1 connectium.co.uk, 0 connective.com.au, 1 +connectivia.it, 0 connectmath.com, 1 connectme.com.mx, 1 connectmy.car, 1 @@ -27399,7 +27338,6 @@ connyduck.at, 1 conocchialidasole.it, 1 conocedordigital.com, 1 -conociendosalama.com, 1 conoha.vip, 1 conorboyd.info, 1 conory.com, 1 @@ -27428,7 +27366,6 @@ consec.systems, 1 consegnafioridomicilio.net, 1 consegne.it, 1 -consejociudadanomx.org, 1 consejosdenutricion.com, 1 consens.us.org, 1 consensoprivacy.it, 1 @@ -27467,13 +27404,13 @@ construccionesceyve.com, 1 construct.net, 1 constructexpres.ro, 1 -constructieve.nl, 1 construction-colleges.com, 1 construction-digitale.fr, 0 construction-group.ga, 1 construction-student.co.uk, 1 constructioncleanupinfortworth.com, 1 constructionstudent.uk, 1 +constructive.men, 1 construred.tk, 1 construyetuempresa.com, 1 consul-coton.ru, 1 @@ -27490,7 +27427,6 @@ consultimedia.de, 1 consulting-brokerage.tk, 1 consulting-cloud.com, 1 -consultingconnection.co, 1 consultinghero.es, 1 consultinghouse.tk, 1 consultinghousenet.tk, 1 @@ -27535,7 +27471,6 @@ contentpass.net, 1 contentq.nl, 1 contents.ga, 1 -contessa32experience.com, 1 contestreviewest.ga, 1 contextolog.cf, 1 conti-profitlink.co.uk, 1 @@ -27720,7 +27655,6 @@ copyright-watch.org, 1 copyrightcoins.com, 1 copyrightcoins.help, 1 -copyrightcoinsnews.com, 1 copyrighter.tk, 1 copyrightflow.com, 1 copyrightforabout.tk, 1 @@ -27977,7 +27911,6 @@ costablanca.villas, 1 costablancavoorjou.com, 1 costalinux.tk, 1 -costantinogaming.it, 1 costarellos.com, 1 costazulinmobiliaria.com, 1 costco.co.jp, 1 @@ -27996,7 +27929,6 @@ costoflipitor.gq, 1 costreportdata.com, 0 costruzioni.milano.it, 1 -costulessdirect.com, 1 costum-for-men.tk, 1 costumestylesers.ga, 1 cosummitconstruction.com, 1 @@ -28025,7 +27957,7 @@ cougar-bordeaux.fr, 1 cougar.dating, 1 cougarlyon.fr, 1 -could.jp, 1 +coughlan.de, 1 couleursorgue.tk, 1 coumoul.fr, 1 coun.be, 1 @@ -28136,7 +28068,6 @@ coworkanywhere.ch, 1 coworking-luzern.ch, 1 coworking-space.tk, 1 -coworking.tk, 1 coxcapitalmanagement.com, 1 coxxs.me, 1 coxxs.moe, 1 @@ -28199,7 +28130,6 @@ cppaste.org, 1 cppressinc.com, 1 cpqcol.gov.co, 1 -cprewritten.net, 1 cpro.pt, 1 cps-sante.ml, 1 cpsa.co.uk, 1 @@ -28337,6 +28267,7 @@ crazycen.com, 0 crazychicken.tk, 1 crazycouple.ml, 1 +crazycraftland.net, 1 crazycube.fr, 1 crazycube.tk, 1 crazydrivers.tk, 1 @@ -28398,6 +28329,7 @@ createcos.com, 0 createcpanama.com, 1 creategyx.ga, 1 +createme.com.pl, 1 createwithcynthia.com, 1 creati.me, 1 creatieven.com, 1 @@ -28455,7 +28387,6 @@ credex.bg, 1 credit-10.com, 1 credit-default-swaps.tk, 1 -creditandfinancialmanagement.com, 1 creditcard.run, 1 creditcardgenerator.money, 1 creditdigital.uk, 1 @@ -28514,7 +28445,6 @@ cricketnmore.com, 1 crickey.eu, 1 cricklewood.condos, 1 -cricoff.com, 1 criena.com, 1 criena.net, 1 criktrik.com, 1 @@ -28531,7 +28461,6 @@ crimesolutions.gov, 1 crimethincx.tk, 1 crimevictims.gov, 1 -criminal-attorney.ru, 1 criminal-market.ml, 1 criminal-news.tk, 1 criminal.enterprises, 1 @@ -28577,7 +28506,6 @@ crisp.watch, 1 crispinusphotography.com, 1 crispybacon.ml, 1 -criss.com.ua, 1 crisssmanmix.tk, 1 cristaleslitios.com.mx, 1 cristalgema.ga, 1 @@ -28693,13 +28621,12 @@ crowdstack.com, 1 crowdstack.io, 1 crowdsupply.com, 1 -crowleymarine.com, 1 crownaffairs.ch, 1 crowncastles.co.uk, 1 crownchessclub.com, 1 crownedhijab.com, 1 crownmarqueehire.co.uk, 1 -crownpoint.com, 1 +crownpoint.com, 0 crownsterling.io, 1 crows.io, 1 crowter.li, 1 @@ -28708,7 +28635,6 @@ croydonapartments.com.au, 1 croydonbouncycastles.co.uk, 1 crrev.com, 1 -crsmsodry.cz, 1 crsoresina.it, 1 crsserviceogkloak.dk, 1 crstat.ru, 1 @@ -28720,6 +28646,7 @@ cruelalice.net, 1 cruelcarbon.tk, 1 cruelgirls.tk, 1 +cruelporn.com, 1 crufad.org, 0 cruicky.co.uk, 1 cruicky.uk, 1 @@ -28936,7 +28863,6 @@ csirt.ee, 1 csitarz.com, 1 cskentertainment.co.uk, 1 -cslbuild.com, 1 csmainframe.com, 1 csnet.live, 1 csodaorszagovoda.hu, 1 @@ -28982,7 +28908,6 @@ ct-watches.dk, 1 ct.search.yahoo.com, 0 ct100.by, 1 -ctc-transportation.com, 1 ctchosting.net.au, 1 ctcloud.ml, 1 ctcom-peru.com, 1 @@ -28996,6 +28921,7 @@ cthu.io, 1 cthulhuden.com, 1 ctir.gov.br, 1 +ctj.im, 1 ctknight.me, 1 ctkwwri.org, 1 ctliu.com, 1 @@ -29029,7 +28955,6 @@ cubaal.com, 1 cuban.wiki, 1 cubanchino.tk, 1 -cubash.host, 1 cubatel.com, 1 cubazineers.ga, 1 cubazineest.ga, 1 @@ -29064,7 +28989,6 @@ cubrebocas.tk, 1 cubsbestteaminbaseball.com, 1 cubsradio.tk, 1 -cubua.com, 1 cubyhome.com, 1 cucabot.tk, 1 cucaracha.tk, 1 @@ -29074,6 +28998,7 @@ cuddlecat.io, 1 cuddlingyaks.com, 1 cuddlybeardaycare.com.au, 1 +cuddlybeardaycare.org, 1 cudesa.gq, 1 cudesyb.tk, 1 cudoo.de, 1 @@ -29096,6 +29021,7 @@ cuir-lipari.fr, 1 cuisine-ultime.fr, 1 cuitrau.tk, 1 +cujanovic.com, 1 cukrinelape.com, 1 cukurbag.ml, 1 culan.dk, 0 @@ -29114,7 +29040,6 @@ culturalparadiso.tk, 1 culturalsabotage.cf, 1 culturama.tk, 1 -culturedcode.com, 1 cultureetsoft.tk, 1 culturelivresque.fr, 1 culturerain.com, 1 @@ -29152,6 +29077,7 @@ cuongthach.net, 1 cuoredesigns.tk, 1 cuorineri.tk, 1 +cup.al, 1 cupcake.io, 1 cupcake.pt, 1 cupcao.gov, 1 @@ -29202,6 +29128,7 @@ currentcryptocurrency.news, 1 currentcryptocurrencynews.com, 1 currenthaus.com, 1 +currentlystreaming.com, 1 currentlyusa.com, 1 currynissanmaparts.com, 1 curseus.com, 1 @@ -29210,7 +29137,6 @@ cursocatolico.com, 1 cursodehipnosis.tk, 1 cursodememorizacao.ml, 1 -cursoderecepcionistadehotel.es, 1 cursointeractivo.com, 1 cursomente.online, 1 cursorcam.tk, 1 @@ -29219,6 +29145,7 @@ cursosdeinglesmexico.com, 1 cursosemmaus.es, 1 cursosforex.com, 1 +cursosgratuitos.pe, 1 cursosingles.com, 1 cursosprogramacion.online, 1 cursossena.co, 1 @@ -29240,20 +29167,16 @@ curveprotect.cz, 1 curvissa.co.uk, 1 curvyjessi.com, 1 -curvylove.de, 1 curvysarah.com, 1 -cuscocontable.com, 1 cuscoloko.com.br, 1 cusfit.com, 1 cusgpwoerden.nl, 1 cushlaofgullion.com, 1 cushytushiediapers.com, 1 -custamped.com, 0 custer.tk, 1 custercounty-co.gov, 1 custercountyne.gov, 1 custodiamobili.roma.it, 1 -custodian.nl, 1 custodyxchange.com, 1 custom-funky.co.uk, 1 custom-wear.ua, 1 @@ -29303,6 +29226,7 @@ cutner.co, 1 cutout.ml, 1 cutpasteprofit.tk, 1 +cutt.pro, 0 cutter.li, 1 cuttingedgeperiodontist.com, 1 cuttingedges.tk, 1 @@ -29311,6 +29235,7 @@ cuvva.co.uk, 1 cuvva.com, 1 cuvva.eu, 1 +cuvva.insure, 1 cuvva.io, 1 cuvva.it, 1 cuvva.me, 1 @@ -29324,6 +29249,7 @@ cuyahogacommunitycollege.tk, 1 cuyahogacountyvotesoh.gov, 1 cvalda.tk, 1 +cvazquez.es, 1 cvbp.nl, 1 cvc.digital, 1 cvdeexpo.com, 1 @@ -29340,6 +29266,7 @@ cvlibrary.co.uk, 1 cvmatch.me, 1 cvmu.jp, 1 +cvninja.pl, 1 cvps.top, 0 cvr.dk, 1 cvsmash.io, 1 @@ -29407,7 +29334,6 @@ cyberburek.tk, 1 cybercareers.gov, 1 cybercat-tver.tk, 1 -cybercave.tk, 1 cyberclaw.tk, 1 cybercloud.cc, 1 cybercrew.cc, 1 @@ -29424,6 +29350,7 @@ cyberex.es, 1 cyberexplained.info, 1 cyberfebrio.tk, 1 +cyberforensics.com, 1 cyberforge.ml, 1 cyberfruit.tk, 1 cybergame-host.tk, 1 @@ -29543,6 +29470,7 @@ cylindricity.com, 1 cyllos.me, 1 cymricweb.com, 1 +cynetco.com, 1 cynicaloptimist.me, 1 cynology.ga, 1 cynop.me, 1 @@ -29578,7 +29506,6 @@ cyrilstoll.ch, 1 cyrix-systems.tk, 1 cyrusdaily.tk, 1 -cysec.biz, 1 cysmo.de, 1 cyson.tech, 1 cytat.tk, 1 @@ -29617,7 +29544,6 @@ d-eisenbahn.com, 1 d-ku.de, 1 d-loop.de, 1 -d-macindustries.com, 1 d-parts.de, 1 d-parts24.de, 1 d-shed.tk, 1 @@ -29742,7 +29668,6 @@ dabi.tk, 1 dabneydriveanimalhospital.com, 1 dabro.tk, 1 -dabstairs.com, 1 dabuzz.tk, 1 dacada-porn.com, 1 daceurope.co.uk, 1 @@ -29801,6 +29726,7 @@ dag-konsult.com, 1 dag-ogni.tk, 1 daganzo.tk, 1 +dagbestedingwarrie.nl, 1 dagensannonser.se, 1 dagestan.cf, 1 dagestanci.tk, 1 @@ -29844,7 +29770,7 @@ dailymotion.com, 1 dailynewsclubs.ga, 1 dailynewsfrommedjugorje.ml, 1 -dailyphototips.com, 1 +dailyphototips.com, 0 dailypop.ru, 1 dailypost.ng, 1 dailyreels.ga, 1 @@ -29856,6 +29782,7 @@ dailysuperheroes.com, 1 dailytrip.de, 1 dailyusbusiness.tk, 1 +dailyw88.com, 1 dailywarteg.com, 1 dailywork.ga, 1 dailyxenang.com, 1 @@ -29896,7 +29823,6 @@ dalb.in, 1 dalbarsqm.com, 1 dalbitresb.com, 1 -dale-bancruz.tk, 1 dale-west.com, 1 dalecountyal.gov, 1 dalek.co.nz, 1 @@ -29920,9 +29846,9 @@ dallatana.tk, 1 dallemon.dk, 1 dalliard.ch, 1 +dallinbryce.com, 1 dallmeier.net, 1 dalmatians.tk, 1 -dalmatiersheusden.be, 1 daltonlabs.tk, 1 daltons.tk, 1 dalux.com, 1 @@ -29989,7 +29915,6 @@ danceordienet.tk, 1 danceproducciones.com, 1 dancerzone.tk, 1 -dancesafe.org, 0 danceworld.tk, 1 danchen.org, 1 danchestertonphoto.co.uk, 1 @@ -30045,13 +29970,13 @@ danieldavies.co.uk, 1 danielderidderfansite.tk, 1 danieldevine.tk, 1 -danieldrozdik.cz, 1 danielduran.tk, 1 daniele.tech, 1 danielehniss.de, 0 danieleluttazzi.tk, 1 danieleoneta.it, 0 danielepestilli.com, 0 +danielesalatti.com, 1 danielgorr.de, 1 danielgray.email, 1 danielgray.me, 1 @@ -30083,6 +30008,8 @@ danielmoch.com, 1 danielmorales917.com, 1 danielmorell.com, 1 +danielmostertman.com, 1 +danielmostertman.nl, 1 danielnaaman.net, 1 danielnaaman.org, 1 danielparker.com.au, 1 @@ -30166,7 +30093,6 @@ danselibre.net, 1 danselibre.org, 1 danseressen.nl, 1 -danskefilm.dk, 1 danskoya.com, 1 danslan.org, 1 danstillman.com, 1 @@ -30189,6 +30115,7 @@ danwise.online, 1 danwolff.se, 1 danyabanya.com, 1 +danzac.com, 1 danzavila.com, 1 danzka.tk, 1 dao.spb.su, 1 @@ -30231,6 +30158,7 @@ dario.gq, 1 darioackermann.ch, 0 darioclip.com, 1 +dariosirangelo.me, 1 darioturchetti.me, 1 dariusheghbali.tk, 1 dark-ages.tk, 1 @@ -30269,10 +30197,10 @@ darkgames.cf, 1 darkgrid.eu, 1 darkhall.tk, 1 +darkhunter.eu, 1 darkhuntersworld.tk, 1 darkillusion.us, 1 darkishgreen.com, 1 -darkknights.tk, 1 darklang.com, 1 darklaunch.com, 1 darkleia.com, 1 @@ -30408,7 +30336,7 @@ databiz.ga, 1 datablender.nl, 1 databp.com, 1 -databricks.com, 0 +databricks.com, 1 databutlr.com, 1 databutlr.net, 1 datacalle.com, 1 @@ -30655,6 +30583,7 @@ davidzarza.tk, 1 davidzeegers.nl, 1 davidzimmerman3.com, 1 +davie3.com, 1 davimun.org, 1 davinamccall.tk, 1 daviscannabisco.com, 1 @@ -30694,7 +30623,6 @@ daxperience.eu, 1 daxrunbase.com, 1 day, 1 -day-peak.com, 1 daycontactlens.com, 1 daycubrem.com, 1 daydream.team, 1 @@ -30737,7 +30665,6 @@ db-sanity.com, 1 db-works.nl, 1 db.ci, 1 -db.fyi, 1 dbapress.org, 1 dbaron.org, 1 dbas.cz, 1 @@ -30758,6 +30685,7 @@ dbnext.de, 1 dborcard.com, 0 dbox.ga, 1 +dbpkg.com, 1 dbplanview.com, 1 dbq.com, 1 dbradley771.com, 1 @@ -30797,7 +30725,6 @@ dcepler.net, 1 dchatelain.ch, 0 dchest.org, 1 -dchublist.ru, 1 dci.com.br, 1 dcimpianti.it, 1 dckd.nl, 1 @@ -30862,7 +30789,6 @@ ddr.gmbh, 1 ddracepro.net, 1 dds.pe, 1 -ddsmatchsouthwest.com, 1 ddy.tw, 1 de-basiliek.tk, 1 de-google-ify.org, 1 @@ -30907,6 +30833,7 @@ deaktualisierung.org, 0 deal-runners.cf, 1 deal45.ga, 1 +dealandgo.co.il, 1 dealapp.nl, 1 dealbanana.no, 1 dealbenzbkk.com, 1 @@ -30920,7 +30847,6 @@ dealinflatables.co.uk, 1 dealproject.org.au, 1 dealroom.co, 1 -dealsemperor.com, 1 dealsfromheaven.com, 1 dealsmagnet.com, 1 dealspotr.com, 1 @@ -31040,7 +30966,6 @@ decor-live.ru, 1 decor-prazdnik.ru, 1 decorarei.com, 1 -decorarmicasa.com, 1 decoratingadvice.co.uk, 1 decorations-elmotamaiz.com, 1 decorativeconcretewa.com.au, 1 @@ -31071,7 +30996,7 @@ dedge.org, 1 dedicatedservers.cf, 1 dedicatedtowomenobgyn.com, 1 -dedirten.com, 1 +dedirten.com, 0 dedmoroz.ga, 1 dedmoroz.gq, 1 dedmorozrzn.ru, 0 @@ -31113,7 +31038,6 @@ deeparamaraj.com, 1 deepbluecrafting.co.uk, 1 deepblueemail.com, 1 -deepcode.io, 1 deepcreampie.com, 1 deeperwalkinternational.org, 1 deepgame.tk, 1 @@ -31149,7 +31073,6 @@ defcongroups.org, 1 defeestboek.nl, 1 defeestridders.tk, 1 -defektologiya.tk, 1 defelo.ml, 1 defenceenterprise.com, 1 defend2.org, 1 @@ -31197,7 +31120,6 @@ deftek.com, 1 defterikebir.tk, 1 deftig-und-fein.de, 1 -deftnerd.com, 1 defunct-engineers.ml, 1 defuse.ca, 1 degala.tk, 1 @@ -31236,7 +31158,6 @@ degroupage.info, 1 dehaanadvocatenkantoor.nl, 1 dehkade3.ml, 1 -dehnermd.com, 1 dehoga-reisen.de, 1 dehopre.com, 1 deidee.nl, 1 @@ -31406,7 +31327,6 @@ dementieva-pennetta.tk, 1 dementievriendelijk.gent, 1 dementievriendelijkgent.be, 1 -demeraallergy.com, 1 demes.tk, 1 demesos.tk, 1 demetra-site.com.ua, 1 @@ -31454,6 +31374,7 @@ demonologyfieldguide.com, 1 demonstrably.live, 1 demontage.tk, 1 +demonwav.com, 1 demonwithin.tk, 1 demonwolfdev.com, 1 demopanel.tk, 1 @@ -31548,7 +31469,6 @@ dentad.com.ua, 1 dental-cloud.eu, 1 dental-colleges.com, 1 -dental-reboot.com, 1 dental.gq, 1 dentalcareerfinder.com, 1 dentalcolleges.tk, 1 @@ -31838,7 +31758,7 @@ desserteagleselvenar.tk, 1 dessinemoilademocratie.ch, 0 dest-gottskar-nidingen.se, 1 -destakbrasilbrindes.com.br, 1 +destakbrasilbrindes.com.br, 0 destech.nl, 1 desteniiprocess.com, 1 desterman.ru, 1 @@ -31870,7 +31790,6 @@ det-te.ch, 1 detakhukum.com, 1 detale.eu, 1 -detalhecomercio.com.br, 1 detalika.ru, 1 detao.org, 1 detc.tk, 1 @@ -31888,7 +31807,7 @@ detenterprise.com, 1 determapp.de, 1 determinatie.tk, 1 -dethoi.com, 1 +dethemium.com, 1 deti-online.com, 1 deti-vse.ml, 1 deti.ga, 1 @@ -31944,6 +31863,7 @@ deuxsolutions.com, 1 dev, 1 dev-advancedservicesportal.com, 1 +dev-aries.com, 1 dev-brandywineglobal.com, 1 dev-gutools.co.uk, 1 dev-pmcc.net, 1 @@ -32056,7 +31976,6 @@ devs.icu, 1 devs.men, 1 devsectools.com, 1 -devsjournal.com, 1 devskyport.com, 1 devslash.net, 1 devsrvr.ru, 1 @@ -32124,7 +32043,6 @@ df5102.com, 1 df5103.com, 1 df5104.com, 1 -df5105.com, 1 df5aa.com, 1 df5bb.com, 1 df5cc.com, 1 @@ -32257,7 +32175,6 @@ diamondcontent.com, 1 diamondgoldmarkcity.cf, 1 diamondgrid.ga, 1 -diamondhead-umc.org, 1 diamondpkg.org, 1 diamondyacca.co.uk, 1 diamorphine.com, 1 @@ -32403,6 +32320,8 @@ diegomeza.tk, 1 diegosalgado.tk, 1 diegovisual.tk, 1 +diehildebrands.de, 1 +diehl.io, 1 diekperaiwseis.gr, 1 diemattels.at, 1 diemperu.com, 1 @@ -32488,7 +32407,7 @@ digibull.link, 1 digicelidgy.com, 1 digicert-support.com, 1 -digicoca.com, 0 +digicert.nl, 0 digicode.hu, 1 digicy.cloud, 1 digidad.no, 1 @@ -32662,7 +32581,6 @@ digityp.fi, 1 digitypa.fi, 1 digivan.ml, 1 -digixcellence.com, 1 digminecraft.com, 1 dignity.tk, 1 digpath.co.uk, 1 @@ -32703,7 +32621,6 @@ dillonco.gov, 1 dillonm.io, 1 dilmarames.com, 1 -dima-v.ru, 1 dima.pm, 1 dimagrimentoincorso.it, 1 dimanss47.net, 1 @@ -32773,7 +32690,6 @@ dinos-mag.tk, 1 dinotv.at, 1 dinposition.nu, 1 -dintillat.fr, 1 dintrafic.net, 1 dinube.com, 1 diodo.me, 1 @@ -32803,7 +32719,6 @@ dipulse.it, 1 dir2epub.com, 1 dir2epub.org, 1 -dirba.io, 1 dirch.tk, 1 dirdur.cf, 1 direcore.xyz, 1 @@ -32857,7 +32772,7 @@ dirki.tk, 1 dirkjonker.nl, 1 dirko.net, 0 -dirkwolf.de, 1 +dirkwolf.de, 0 dirtcraft.ca, 1 dirtinmyshoes.com, 1 dirty-tina.net, 1 @@ -32884,6 +32799,7 @@ disabilitydischarge.com, 1 disabled-world.com, 1 disabled.dating, 1 +disabledporn.com, 1 disableipv4.se, 1 disabuse.cf, 1 disadattamentolavorativo.it, 1 @@ -33054,7 +32970,6 @@ displayenergycertificate.co.uk, 1 displayrd.com, 1 displaysandholders.com, 1 -displaysfas.com, 1 disposable.link, 1 dispur.nic.in, 1 disroot.org, 1 @@ -33120,7 +33035,7 @@ ditec.sk, 1 diterzafra.tk, 1 ditex.ddns.net, 1 -ditfiorinicamargo.com.ar, 0 +ditfiorinicamargo.com.ar, 1 dities.tk, 1 ditissaskia.nl, 1 dittvertshus.no, 1 @@ -33233,7 +33148,6 @@ djalessandrobrain.tk, 1 djamiroquai.tk, 1 djang.tk, 1 -django-lessons.com, 1 django.city, 1 djangobirthday.com, 0 djangogolf.com, 1 @@ -33434,7 +33348,6 @@ dlyaribalki.tk, 1 dlyatepla.ml, 1 dlyl888.com, 1 -dm-ppp.jp, 1 dm-tools.co.uk, 1 dm.link, 1 dm.lookout.com, 0 @@ -33464,7 +33377,6 @@ dmfd.net, 1 dmfj.io, 1 dmhomedesign.pl, 1 -dmhtwebordering.com, 1 dmhy.com, 1 dmi.es, 1 dmiapis.id, 1 @@ -33565,6 +33477,7 @@ do-do.tk, 1 do-it-service.de, 1 do-prod.com, 0 +do.gd, 1 do.search.yahoo.com, 0 do13.net, 1 do67.de, 1 @@ -33625,6 +33538,7 @@ docline.gov, 1 docloudu.info, 1 docmartinchiropractic.com, 1 +docmed360.com, 1 docogo.ga, 1 docpc86.fr, 1 docpile.cloud, 1 @@ -33636,7 +33550,6 @@ docs.tw, 1 docsend.com, 1 docsity.com, 1 -docskiff.ai, 1 docsrev-aws.io, 1 docswallet.com, 1 doctabaila.com, 1 @@ -33733,6 +33646,7 @@ dogan.ch, 0 doganoglu.net, 1 dogcam.tk, 1 +dogcat.vn, 0 dogcratereview.info, 1 dogday.tk, 1 doge-fa.tk, 1 @@ -33782,6 +33696,7 @@ dogwoodceramics.com, 1 dogworld.com.br, 1 doh.sb, 1 +dohanews.co, 1 dohertyconsulting.tk, 1 doi.org, 1 doihavetoputonpants.com, 1 @@ -34094,7 +34009,6 @@ donthedragonwilson.com, 1 dontkeylog.me, 1 dontkillspike.tk, 1 -dontlistentoruss.com, 1 dontpayfull.com, 1 dontstopcoffee.com, 1 donttrust.me, 1 @@ -34156,6 +34070,7 @@ doramiru.com, 1 doranobi-fansub.id, 1 dorco.be, 1 +dorde.eu, 1 dordtpas.nl, 1 dorfbrunnen.eu, 1 dorfpark-falkenburg.de, 1 @@ -34229,7 +34144,6 @@ dosyaa.tk, 1 dosyanet.cf, 1 dosyanet.tk, 1 -dosyauzantisi.com, 1 dot.sb, 1 dot42.no, 1 dota2free.tk, 1 @@ -34273,7 +34187,6 @@ douban.city, 1 double20.gg, 1 doubleaste.com, 0 -doubleavineyards.com, 1 doublebangmusic.com, 0 doubled.ml, 1 doubledranch.tk, 1 @@ -34336,8 +34249,8 @@ downgratis.tk, 1 download-image.ga, 1 download-knigi.gq, 1 -download.dk, 1 downloadabc.cf, 1 +downloadaja.com, 1 downloadapk.co.id, 1 downloadapkpokemongo.ga, 1 downloadasik.com, 1 @@ -34435,6 +34348,7 @@ dr-nosrat.tk, 1 dr-nystroem.de, 1 dr-schlamminger.de, 1 +dr-schuessler.de, 1 dr-www.de, 1 dr.mg, 1 dr2dr.ca, 1 @@ -34458,7 +34372,6 @@ dragcave.net, 1 dragdroplearning.com, 1 dragfiles.com, 1 -draghetti.it, 1 draghive.asia, 1 draghive.ca, 1 draghive.co.uk, 1 @@ -34515,13 +34428,15 @@ dragonsunited.net, 1 dragonsunited.org, 1 dragontail.tk, 1 +dragonwolfpackaquaria.com, 1 dragonwork.me, 1 -dragowebdesign.com, 1 +dragowebdesign.com, 0 drahcro.uk, 1 drainagedirect.com, 0 draintechnorthwest.net, 1 draintheswampparty.com, 1 drainwllc.com, 1 +draireneborro.com, 1 drak.tk, 1 drake.partners, 1 drakecommercial.com, 1 @@ -34563,7 +34478,6 @@ drawing.tk, 1 drawingcode.net, 1 drawtwo.gg, 1 -drawvesly.ovh, 1 drawxp.com, 1 draycotthotel.com, 1 drbadnick.tk, 1 @@ -34602,6 +34516,7 @@ dreamcast-world.tk, 1 dreamcleaningservice.com, 1 dreamcrack.tk, 1 +dreamcraft.su, 1 dreamdestine.com, 1 dreamdivers.com, 1 dreamelegant.ml, 1 @@ -34622,9 +34537,11 @@ dreampages.tk, 1 dreampointech.com, 1 dreamqueen.tk, 1 +dreamrae.net, 1 dreamreality.tk, 1 dreams-2-reality.com, 1 dreamsea.tk, 1 +dreamsinbits.com, 1 dreamsindigital.tk, 1 dreamsjob.cf, 1 dreamsofalostsoul.tk, 1 @@ -34744,6 +34661,7 @@ driveforact.com, 1 driveforadtransport.com, 1 driveforartur.com, 1 +drivehub.win, 1 drivemorganvanlines.com, 1 driven2shine.eu, 1 drivenes.net, 1 @@ -34824,7 +34742,6 @@ drone33.fr, 1 dronebase.cf, 1 dronebl.org, 1 -dronedeploy.com, 1 droneland.nl, 1 dronepanorama.nl, 1 dronepilotgeorgia.com, 1 @@ -34834,7 +34751,6 @@ droneways.tech, 1 droni.cz, 1 dronix.tk, 1 -dronova-art.ru, 1 droomhuis-in-zuid-holland-kopen.nl, 1 drop-zone.tk, 1 drop.com, 1 @@ -34863,7 +34779,6 @@ drost.la, 1 drown.photography, 1 drpa.ca, 1 -drpadawan.io, 1 drpetersenobgynal.com, 1 drpetervoigt.ddns.net, 1 drpetervoigt.de, 1 @@ -34894,6 +34809,7 @@ drtimothysteeljournal.com, 1 drtimothysteelnetwork.com, 1 drtimothysteelresults.com, 1 +drtimothysteelscholarship.com.au, 1 drtimothysteelvideos.com, 1 drtti.io, 1 drturner.com.au, 1 @@ -34903,7 +34819,6 @@ drugpromosers.ga, 1 drugs.com, 1 drugsindustry.tk, 1 -drugstore4you.net, 1 drugtestingcourses.com, 1 drugwars.tk, 1 drugzone.tk, 1 @@ -34929,7 +34844,6 @@ druznek.xyz, 1 druzya.store, 1 drvaidyas.com, 0 -drvondawright.com, 1 drwang.group, 0 drweissbrot.net, 1 dry-cleaning.tk, 1 @@ -34970,7 +34884,6 @@ dsbcnet.com, 1 dscharrer.com, 1 dschwarzachtaler.de, 1 -dscmotorsport.co.za, 1 dscsigncert.com, 1 dsdlove.com, 1 dsds-ltd.com, 0 @@ -35008,7 +34921,6 @@ dsswise.org, 1 dstamou.de, 1 dsteiner.at, 1 -dstvinstallkemptonpark.co.za, 1 dstvsouthafrica.com, 1 dsuinnovation.com, 1 dsv-salesmanager.de, 1 @@ -35107,6 +35019,7 @@ ducksify.com, 1 ducksoft.fi, 1 duckstad.net, 1 +duckyubuntu.tk, 1 ductcare.com, 1 dude.tokyo, 1 dudedood.tk, 1 @@ -35248,7 +35161,6 @@ durcoin.com, 1 durcoin.org, 1 durdal.no, 1 -durdle.com, 1 duredo.com, 1 dureuil.info, 1 durexwinkel.nl, 1 @@ -35332,7 +35244,7 @@ duzavo.cz, 1 duzcehaberleri.tk, 1 duzcesondakika.tk, 1 -dv189.com, 0 +dv189.com, 1 dvbris.co.uk, 1 dvbris.com, 1 dvclub.tk, 1 @@ -35379,7 +35291,7 @@ dwwt.net, 1 dwwt.nl, 1 dwwt.org, 1 -dwz-solutions.com, 0 +dwz-solutions.com, 1 dwz-solutions.de, 1 dwz-solutions.eu, 1 dwz-solutions.net, 1 @@ -35508,6 +35420,7 @@ dziurdzia.pl, 1 dzkweb.com, 1 dzmonarchie.tk, 1 +dzndk.com, 1 dzndk.net, 1 dzndk.org, 1 dzomo.org, 0 @@ -35521,7 +35434,6 @@ dzyabchenko.com, 0 dzyszla.pl, 1 dzytdl.com, 1 -dzz.by, 0 e-account.by, 1 e-alink.com, 1 e-antikvar.tk, 1 @@ -35537,7 +35449,6 @@ e-boss.tk, 1 e-branchekoden.dk, 1 e-buro.tk, 1 -e-businessexpert.com, 0 e-buspacific.com, 1 e-classroom.tk, 1 e-coexist.com, 1 @@ -35561,7 +35472,6 @@ e-fishing.tk, 1 e-fitnes.tk, 1 e-games-board.tk, 1 -e-gemeinde.at, 1 e-generator.tk, 1 e-geologia.tk, 1 e-guardian.com.br, 1 @@ -35628,7 +35538,6 @@ e-streams.tv, 1 e-student.tk, 1 e-styling.tk, 1 -e-surety.net, 1 e-sushi.net, 1 e-sweaters.tk, 1 e-tables.tk, 1 @@ -35681,7 +35590,7 @@ e3li.org, 1 e3q.de, 1 e4.chat, 1 -e42.org, 1 +e42.org, 0 e4work.com.br, 1 e5197.co, 1 e5tv.hu, 1 @@ -35841,6 +35750,7 @@ eac0570.com, 1 eac0571.com, 1 eac0572.com, 1 +eac0573.com, 1 eac0574.com, 1 eac0575.com, 1 eac0576.com, 1 @@ -36022,7 +35932,6 @@ eaglecountyco.gov, 1 eagleindustriesltd.com, 1 eaglemessaging.com, 1 -eaglemoe.com, 1 eaglenation.net, 1 eagleridgecampground.com, 1 eaglerockseattle.com, 1 @@ -36103,6 +36012,7 @@ eaststudios.net, 1 eastvalleyautorebuild.com, 1 eastwashingtonpa.gov, 1 +eastwesttmc.com.au, 1 eastwindsorhistory.tk, 1 eastyorkshirebuses.co.uk, 1 easukasbestos.co.uk, 1 @@ -36187,7 +36097,7 @@ eatingonions.com, 1 eatmebudapest.hu, 1 eatmportal.eu, 1 -eaton-daitron.jp, 1 +eaton-daitron.jp, 0 eaton-works.com, 1 eatry.io, 1 eats.soy, 1 @@ -36210,6 +36120,7 @@ eazytailors.ga, 1 eazzy.tk, 1 eb-net.de, 1 +eb7.jp, 1 ebabis.cz, 1 ebagroup.tk, 1 ebaifzf.com.br, 1 @@ -36241,7 +36152,6 @@ ebenezersbarnandgrill.com, 1 ebenisterie-de-villenouvelle.fr, 1 ebenvloedaanleggen.nl, 1 -ebermannstadt.de, 0 eberspacher-rus.ru, 1 ebertlang.com, 1 eberwe.in, 1 @@ -36312,14 +36222,12 @@ ecc.ee, 1 ecchidreams.com, 1 eccma.org, 1 -eccologic.net, 1 eccux.com, 1 ecdn.cz, 1 ecelembrou.ovh, 1 ecfunstalls.com, 1 ecgclic.fr, 1 echarity.ae, 1 -echarlascartas.es, 1 echbay.com, 1 echi.pw, 1 echidna-rocktools.eu, 1 @@ -36375,7 +36283,6 @@ eco-derattizzazione.it, 1 eco-doors.co.uk, 1 eco-flowplumbing.com, 0 -eco-repair.be, 1 eco-solu.co.jp, 1 eco-wiki.com, 1 eco-work.it, 1 @@ -36410,7 +36317,6 @@ ecohimdv.tk, 1 ecohomebuild.org, 1 ecohostingservices.uk, 1 -ecohousejapan.com, 1 ecoindia.tk, 1 ecojob.ga, 1 ecolala.my, 1 @@ -36464,6 +36370,7 @@ ecos-ev.de, 1 ecos.srl, 1 ecosas.org, 1 +ecosdanoticia.net.br, 1 ecosdesociedad.tk, 1 ecosfti.tk, 1 ecoshare.info, 1 @@ -36542,6 +36449,7 @@ edeca.net, 1 ededdeddy.tk, 1 edefrutos.me, 1 +edefrutos2020.com, 1 edegembicycleclub.tk, 1 edegulkoyu.tk, 1 edehsa.com, 1 @@ -36728,6 +36636,7 @@ edvsolutions.org, 1 edward-tagle.tk, 1 edwardbrowninvestment.tk, 1 +edwarddekker.nl, 1 edwardkong.top, 1 edwards.me.uk, 1 edwardscommercialcleaning.com, 1 @@ -36744,7 +36653,7 @@ edxn.de, 1 edyhenry.tk, 1 edyou.eu, 1 -edzilla.info, 1 +edzilla.info, 0 edzo.dk, 1 ee-terminals.com, 1 ee00228.com, 1 @@ -36783,7 +36692,6 @@ eemoor.com, 1 een-eenvoudige-test-voor-de-maximum-lengte-van-een-nederlandse.nl, 1 eencompass.com, 1 -eentertain.com.my, 1 eentweevijf.be, 1 eenvren.com, 1 eenvxing.com, 1 @@ -36862,7 +36770,6 @@ egbert.net, 1 egbertsen.tk, 1 egdigital.com.au, 1 -egedebirgun.com, 1 egegesh.ru, 1 egeozcan.com, 0 egevpare.tk, 1 @@ -37004,7 +36911,6 @@ eiji.fr, 1 eikenskaden.tk, 1 eikentafels.nl, 1 -eikerposten.no, 0 eikones.tk, 1 eikounoayumi.jp, 1 eilhan.com, 1 @@ -37026,6 +36932,7 @@ einrichtwerk.de, 1 einsatzstiefel.info, 1 einscube.com, 1 +einser.com, 1 einsteinathome.org, 1 einsteincapital.ca, 1 einsteinium.fr, 1 @@ -37040,6 +36947,7 @@ eisblau.org, 1 eisei-iinkai.com, 1 eisen-biomed.ch, 1 +eisenbahnfreunde-lengerich.de, 1 eisenberg.co.za, 1 eisenhowerlibrary.gov, 1 eisenstark.de, 1 @@ -37130,6 +37038,7 @@ elabela.com.br, 1 elad.wtf, 1 eladalfassa.com, 1 +eladgames.com, 1 eladlak-ingatlan.com, 1 elaheze.com, 0 elahp.com.br, 1 @@ -37184,7 +37093,7 @@ elderreviews.gq, 1 elderscrolls.tk, 1 eldevo.com, 1 -eldiariodemof.com, 1 +eldiariodemof.com, 0 eldiedesign.com, 1 eldisagjapi.de, 1 eldoradocylinders.com, 1 @@ -37241,7 +37150,6 @@ electricfencingkloof.co.za, 1 electricfencingpinetown.co.za, 1 electricfireplaces.tk, 1 -electricgatemotorsalberton.co.za, 1 electricgatemotorsroodepoort.co.za, 1 electricgatemotorsumhlanga.co.za, 1 electricgypsies.nl, 1 @@ -37322,7 +37230,6 @@ elegantly-clean.co.uk, 1 eleganza.ga, 1 elegro.cz, 1 -eleicoes2016.com.br, 1 eleicoes2018.com, 1 elejordemarketingconsultancy.com, 1 eleken.jp, 1 @@ -37425,7 +37332,6 @@ elephantia.cf, 1 elephants.net, 1 elephants.tk, 1 -elephantstone.net, 1 elepover.com, 1 eletesstilus.hu, 1 eletminosegert.ro, 1 @@ -37519,7 +37425,6 @@ elink.io, 1 elinks.tk, 1 elinspector.tk, 1 -elinvention.ovh, 1 eliolita.com, 1 eliott.cc, 1 eliottlavier.com, 1 @@ -37583,6 +37488,7 @@ elkim.cz, 1 elkmotel.at, 1 elkollege.ru, 1 +elkoy.org, 1 elkvalley-nsn.gov, 1 ell-net.tokyo, 1 ella-kwikmed.com, 0 @@ -37620,6 +37526,7 @@ elmejorcortapelos.com, 1 elmenreich.tk, 1 elmerboroughnj.gov, 1 +elmermx.ch, 1 elmeson.tk, 1 elmoknows.xyz, 0 elmolar.tk, 1 @@ -37684,7 +37591,7 @@ elri.blog, 1 elrincondelotaku.tk, 1 elrincondeltrabajo.com, 0 -elrinconderovica.com, 0 +elrinconderovica.com, 1 elrubio.tk, 1 elsadonaire.tk, 1 elsas.tk, 1 @@ -37761,6 +37668,7 @@ emailadressen.nl, 1 emailalaperformance.fr, 1 emailbusters.tk, 1 +emailconfiguration.com, 1 emailexpress.ga, 1 emailfreeshop.tk, 1 emailgonderim.tk, 1 @@ -37804,7 +37712,6 @@ embracethedarkness.co.uk, 1 embracezine.tk, 1 embryologist.info, 1 -emby.cloud, 1 emby.live, 1 emceemanic.tk, 1 emcentrix-com-site-mvc.azurewebsites.net, 1 @@ -37988,6 +37895,7 @@ empowerdb.com, 1 empoweren.com, 1 empowernation.org, 1 +empowersimcoe.ca, 1 empoweryou.ca, 1 emprechtinger.com, 1 emprego.pt, 1 @@ -37995,7 +37903,6 @@ empreinte.ca, 1 emprendeconchrisfx.com, 1 emprendedoresdesevilla.es, 1 -emprendefinanzas.com, 1 emprendeperuano.com, 1 emprendimientoweb.co, 1 empresa365.com, 1 @@ -38040,7 +37947,6 @@ emzy.de, 1 en-booster.jp, 1 en-crypt.me, 1 -en-este.link, 1 en-maktoob.search.yahoo.com, 0 en-wp.com, 1 en-wp.org, 1 @@ -38064,7 +37970,6 @@ encircled.org, 1 encode.agency, 1 encode.host, 1 -encode.training, 1 encodecloud.net, 1 encontra-me.org, 1 encontreumagp.com, 1 @@ -38129,7 +38034,6 @@ endspamwith.us, 1 enduranceday.be, 1 enduranceseries.ca, 1 -endurogp.org, 1 enduroxtrem.tk, 1 endustriyelfirinlar.com, 1 endviolence.gc.ca, 1 @@ -38315,7 +38219,7 @@ enlace.vip, 1 enlacesgranotas.tk, 1 enlamochiladeadri.com, 1 -enlightenedhr.com, 1 +enlight.no, 1 enlightenspeech.com, 1 enlightsec.se, 1 enlnf.link, 1 @@ -38387,7 +38291,6 @@ entelgy.com.br, 1 enter.eco, 1 enteratesoria.tk, 1 -entercenter.ru, 1 enterdown.com, 1 enteronline.tk, 1 enterprisenetworksecurity.net, 1 @@ -38469,7 +38372,6 @@ eod.su, 1 eoitek.com, 1 eola.co, 1 -eolme.ml, 1 eon.tech, 1 eonclub.tk, 1 eongame.tk, 1 @@ -38486,6 +38388,7 @@ eosol.de, 1 eosol.net, 1 eosol.services, 1 +eosolutions.co, 0 ep-cortex.com, 1 ep-plus.jp, 1 epa.com.es, 1 @@ -38614,7 +38517,6 @@ epvd.tk, 1 epyonsuniverse.net, 1 eq-serve.com, 1 -eqab.net, 1 eqassociates.com, 1 eqibank.com, 1 eqlplayground.io, 1 @@ -38623,6 +38525,7 @@ equasea.com, 0 equate.net.au, 1 equatetechnologies.com.au, 0 +equeim.ru, 0 equi.ac, 1 equiac.com, 1 equidam.com, 1 @@ -38660,6 +38563,7 @@ er.tl, 1 era-tec.de, 1 era.fi, 1 +eradoom.net, 1 erafat.com, 1 erandymoreira.cf, 1 erandymoreira.ga, 1 @@ -38693,12 +38597,10 @@ eremnews.com, 1 erenvakfi.org, 1 erethon.com, 1 -erevan-news.tk, 1 erfgoedeisden.tk, 1 erfolgsmaschine.ch, 0 ergaomnes.cz, 1 ergaran.tk, 1 -ergo-open.de, 1 ergobyte.eu, 1 ergobyte.gr, 1 ergodark.com, 1 @@ -38710,7 +38612,6 @@ eric1932.tk, 1 ericabrahamsen.net, 1 ericairwin.com, 1 -ericca.org, 1 ericdiao.com, 1 ericfm.tk, 1 ericfo.cf, 1 @@ -38870,7 +38771,6 @@ es-tools.at, 1 es-tools.com, 1 es-tools.de, 1 -es-trade.biz, 1 es-vps.eu, 1 es.ax, 1 es.search.yahoo.com, 0 @@ -38907,7 +38807,6 @@ esb777.cc, 1 esb777.com, 1 esb777.me, 1 -esb777.net, 1 esb777.us, 1 esb888.net, 1 esb8886.com, 1 @@ -38940,6 +38839,7 @@ esc-turkey.tk, 1 esc.gov, 1 escae.ml, 1 +escael.org, 1 escalando.tk, 1 escalesensorielle.com, 1 escambiacountyal.gov, 1 @@ -38980,6 +38880,7 @@ escortlistings.fr, 1 escortlistings.ph, 1 escortlistingsuk.co.uk, 1 +escorts.works, 1 escortsontop.co.uk, 1 escortz.gq, 1 escoteiros.tk, 1 @@ -39050,6 +38951,7 @@ esmag.ru, 1 esmart.ro, 1 esmejor.tk, 1 +esmibot.com, 1 esmincg2t1.com, 1 esnekkaucuk.com, 1 esoa.net, 1 @@ -39283,6 +39185,7 @@ eternal-con.de, 1 eternal-dementia.tk, 1 eternal-warriors.de, 1 +eternalabyss.int.eu.org, 1 eternalflame.cn, 1 eternalflame.info, 1 eternalguild.tk, 1 @@ -39346,6 +39249,7 @@ ethicaltek.com, 1 ethicoin.hu, 1 ethicsburg.gov, 1 +ethika.com, 1 ethil-faer.fr, 1 ethiobaba.com, 1 ethioconsulate-la.org, 1 @@ -39422,7 +39326,6 @@ eudireto.com, 1 eudore.org, 1 euexia.fr, 1 -eugenetech.org, 1 eugeniocorso.com, 1 eugenioperez.tk, 1 eugostodefilmesbrasileiros.tk, 1 @@ -39525,6 +39428,7 @@ europeanpreppers.com, 1 europeanstudies-chemnitz.de, 1 europeantransportmanagement.com, 1 +europeanwineresource.com, 1 europeluxuryweddings.com, 1 europeonline.tk, 1 europeos.es, 1 @@ -39621,7 +39525,7 @@ eve0s.com, 1 eveapk.com, 1 evearly.com, 1 -eveaz.com, 0 +eveaz.com, 1 eveco-mebel.ga, 1 evedanjailbreak.com, 1 eveetcie.com, 1 @@ -39629,7 +39533,6 @@ evelienzorgt.nl, 1 evelin.tk, 1 evelyndayman.com, 1 -evemarketer.com, 1 evendesign.gq, 1 evenementenhoekvanholland.nl, 1 evenfall.tk, 1 @@ -39639,7 +39542,6 @@ evenstar-gaming.com, 1 evenstargames.com, 1 event-blick.de, 1 -event-fullyyours.com, 1 event-reisen.tk, 1 event4fun.no, 1 eventact.com, 0 @@ -39689,12 +39591,10 @@ evermade.fi, 1 evermarkstudios.com, 1 evernaut.com, 1 -everpcpc.com, 1 everready.tk, 1 everseo.tk, 1 evertonarentwe.com, 1 evertradeelectronics.com, 1 -evertus.com, 1 everwaking.com, 0 everwinter.tk, 1 every-day-life.com, 0 @@ -39746,6 +39646,7 @@ eviction.cf, 1 evidecor.com.br, 1 evidence-based.review, 1 +evidencebased.net, 1 evidenceusa.com.br, 1 evidenciamidiasdigitais.com.br, 1 evidencija.ba, 1 @@ -39886,6 +39787,8 @@ examedge.com, 1 examika.ru, 1 examlab.tk, 1 +example.sc, 1 +example.wf, 1 exampleessays.com, 1 examroll.com, 1 examroll.fr, 1 @@ -39922,7 +39825,6 @@ exceltechoman.com, 1 exceltobarcode.com, 1 excentos.com, 1 -exceptionalbits.com, 1 exceptionalservers.com, 1 exceptionalservices.us, 1 excerp.tech, 1 @@ -40014,6 +39916,7 @@ expancio.com, 0 expanda.org, 0 expandabil.cf, 1 +expanddigital.media, 1 expandtheroom.com, 1 expansion-lidl.es, 1 expatads.com, 1 @@ -40063,6 +39966,7 @@ explicate.org, 1 explode.tk, 1 explodie.org, 1 +explodingearths.com, 1 exploflex.com.br, 1 exploit-db.com, 1 exploit.cz, 0 @@ -40085,7 +39989,6 @@ explorium.tk, 1 explosion-cs.tk, 1 explosionstereo.tk, 1 -expo-larionov.org, 1 expo58.tk, 1 expobeds.com, 1 expodom.hu, 1 @@ -40123,7 +40026,6 @@ express-shina.ru, 1 express-shop.tk, 1 express-vpn.com, 1 -express-vyvoz.ru, 1 express1040.com, 1 expressarte.tk, 1 expressemotion.net, 1 @@ -40195,6 +40097,7 @@ extreme-addicts.tk, 1 extreme-gaming.de, 1 extreme-gaming.us, 1 +extreme-stock.com, 0 extreme.co.th, 1 extremebros.com, 1 extremecleaning.com, 1 @@ -40334,7 +40237,6 @@ f1worldwide.tk, 1 f2h.io, 1 f36533.com, 1 -f3b.de, 1 f3r.xyz, 1 f42.net, 1 f43.me, 1 @@ -40365,9 +40267,9 @@ f88vip10.com, 1 f88vip101.com, 1 f88vip102.com, 1 -f88vip103.com, 1 +f88vip103.com, 0 f88vip104.com, 1 -f88vip105.com, 1 +f88vip105.com, 0 f88vip106.com, 1 f88vip107.com, 1 f88vip108.com, 1 @@ -40388,9 +40290,9 @@ f88vip16.com, 1 f88vip17.com, 1 f88vip18.com, 1 -f88vip19.com, 1 -f88vip2.com, 1 -f88vip20.com, 1 +f88vip19.com, 0 +f88vip2.com, 0 +f88vip20.com, 0 f88vip21.com, 1 f88vip22.com, 1 f88vip23.com, 1 @@ -40401,9 +40303,9 @@ f88vip32.com, 1 f88vip33.com, 1 f88vip34.com, 1 -f88vip4.com, 1 +f88vip4.com, 0 f88vip5.com, 1 -f88vip6.com, 1 +f88vip6.com, 0 f88vip8.com, 1 f88vip9.com, 1 f88yule111.com, 1 @@ -40447,7 +40349,6 @@ faber.org.ru, 0 faberoclub.tk, 1 fabfrenchinsurance.com, 1 -fabfrugals.com, 1 fabian-fingerle.de, 1 fabian-klose.com, 1 fabian-klose.de, 1 @@ -40525,6 +40426,7 @@ facemaze.io, 1 facepainting.gr, 1 facepalmsecurity.com, 1 +facepolo.com, 1 facerepo.com, 1 faceresources.org, 1 facesdr.com, 1 @@ -40536,7 +40438,6 @@ fachfusspflege-exner.de, 1 fachim.tk, 1 fachiri.tk, 1 -fachmann-umzuege.de, 1 fachowisko.pl, 1 fachschaften.org, 0 fachschaftslisten.at, 1 @@ -40544,12 +40445,10 @@ fachversand-hennes.de, 1 facialcare.tk, 1 facialexercising.com, 1 -facialflex.com, 1 facialparalysisnetwork.ga, 1 facialplasticsurgeryofaustin.com, 1 facil.services, 0 facilecommebonjour.com, 1 -facileway.com, 1 facilit-info.fr, 1 facilities.fr, 1 facilitiessurvey.org, 1 @@ -40588,7 +40487,6 @@ factozia.tk, 1 facts-about-bees.ml, 1 factslider.tk, 1 -factsvision.sr, 1 factua.nl, 1 factum-info.net, 1 facturama.pt, 1 @@ -40604,6 +40502,7 @@ fadaru.ml, 1 fadednet.com, 0 fademusic.tk, 1 +fadergs.edu.br, 1 faderweb.de, 1 fads-center.online, 1 fadusongs.com, 1 @@ -40628,6 +40527,7 @@ fagus.hopto.org, 1 fahadbook.com, 1 faharas.net, 1 +fahmed.de, 0 fahnamporn.com, 1 fahrenwal.de, 1 fahrenwalde.de, 1 @@ -40745,7 +40645,6 @@ falconerny.gov, 1 falconfrag.com, 1 falconstap.tk, 1 -falconvintners.com, 0 falcoz.co, 1 faldoria.de, 1 fale.io, 1 @@ -40816,7 +40715,6 @@ familievisscher.tk, 1 familjenm.se, 1 familledessaint.fr, 1 -familleseux.net, 1 familleshilton.com, 1 family-clinic.tk, 1 familyclinicstl.com, 1 @@ -40844,19 +40742,16 @@ famousit.nl, 1 famousmodels.tk, 1 famouspdf.gq, 1 -famousstages.com, 1 famvsomeren.nl, 1 fan.gov, 1 fan4all.de, 1 fanactu.com, 1 fanaticamandafans.tk, 1 -fanatik.io, 1 fanatka.tk, 1 fanbike.de, 1 fanboi.ch, 0 fanclubblackhills.tk, 1 fanclubmariaciobanu.tk, 1 -fanclubrbdmaniaromania.tk, 1 fanclubs.tk, 1 fancy-bridge.com, 1 fancy.org.uk, 1 @@ -40871,6 +40766,7 @@ fanfareunion.ch, 0 fanfiction.tk, 1 fangbing.me, 1 +fangkehou.eu.org, 1 fangkehou.tk, 1 fangs.ink, 1 fanidrakopoulou.tk, 1 @@ -40926,6 +40822,7 @@ fantgames.com, 1 fantinisfantasy.cf, 1 fantiphysiotherapy.com, 1 +fantom.foundation, 1 fantraxhq.com, 1 fanyina.cn, 1 fanyina.com, 1 @@ -40964,6 +40861,7 @@ faraslot8.net, 1 farb-tabelle.de, 1 farberplasticsurgery.com, 1 +farcaster.email, 1 farcecrew.de, 0 fareast.cf, 1 fareast.ga, 1 @@ -41174,6 +41072,7 @@ fattailcall.com, 0 fattoriabio.jp, 1 fattorino.it, 1 +fatturegeko.eu, 1 fattyink.com, 1 fatvalley.at, 1 fau-bremen.tk, 1 @@ -41246,6 +41145,7 @@ fbigame.com, 1 fbihr.gov, 1 fbiic.gov, 1 +fbijobs.gov, 1 fbo.gov, 1 fbo.network, 1 fboerman.nl, 1 @@ -41260,7 +41160,6 @@ fca-tools.com, 1 fcapartsdb.com, 1 fcapollo.tk, 1 -fcarsenal.tk, 1 fcbarcelona.cz, 1 fcbrasov.tk, 1 fcburk.de, 1 @@ -41303,9 +41202,7 @@ fdp-alsdorf.de, 1 fdp-heinsberg.de, 1 fdpbrig.ch, 1 -fdremodelingatlanta.com, 0 fdresearch.ca, 1 -fdsl.eu, 1 feac.us, 1 feaden.me, 1 feandc.com, 1 @@ -41525,7 +41422,6 @@ feminina.eu, 1 feminina.pt, 1 feminique.tk, 1 -feminism.lgbt, 0 feministreview.cf, 1 feministreview.ga, 1 feministreview.gq, 1 @@ -41665,6 +41561,7 @@ festesuniversitaries.tk, 1 festin.tk, 1 festival-tipps.com, 1 +festival-transform.com, 1 festival365.ml, 1 festivaldays.tk, 1 festivaldelumieresgand.be, 1 @@ -41722,7 +41619,6 @@ fewo32.de, 1 fexopay.com, 1 fey-web.tk, 1 -feybiblia.com, 1 feyenoordrotterdam.tk, 1 feyenoordsite.tk, 1 feyenoordvakz.tk, 1 @@ -41755,9 +41651,11 @@ ffbsee.net, 0 fff-du.de, 1 fffdm.com, 1 +fffinfo.de, 1 ffg.berlin, 1 ffiec.gov, 1 ffis.me, 0 +ffl123.com, 1 fflone.com, 1 ffmradio.de, 1 ffmv.de, 1 @@ -41773,6 +41671,7 @@ fgdc.gov, 1 fgeiger.dnshome.de, 1 fggpay.com, 1 +fgsv-kongress.de, 1 fh-x.de, 1 fh14.com, 1 fh169.cc, 1 @@ -41801,11 +41700,11 @@ fiamtorino.eu, 1 fianna.tk, 1 fiasgo.dk, 1 +fiasgo.i.ng, 1 fiataldivat.hu, 1 fiberoptikz.tk, 1 fibery.io, 1 fibo-forex.org, 1 -fibra.click, 1 fibrasynormasdecolombia.com, 1 fibretv.co.nz, 1 fibretv.tv, 1 @@ -41840,6 +41739,7 @@ fierman.net, 0 fierman.us, 0 fierscleaning.nl, 1 +fiery.me, 0 fierykitchen.pl, 1 fiestasalquezar.tk, 1 fietsambassade.be, 1 @@ -41849,6 +41749,7 @@ fietsherstel.gent, 1 fietskr.at, 1 fietsvakman.nl, 1 +fietsvierdaagsen.nl, 1 fifaaddict.com, 1 fifacup.ga, 1 fifafans.tk, 1 @@ -41926,7 +41827,6 @@ fileshare.party, 1 filestar.io, 1 filestartest.io, 1 -filestreak.com, 1 filesuffix.com, 1 filetransfer.one, 1 filezilla-project.org, 1 @@ -41946,9 +41846,9 @@ filipstaffa.net, 1 filizaker.tk, 1 filleritemsindia.com, 1 +filli-it.ch, 1 fillmorecountyne.gov, 1 fillmysuitca.se, 1 -fillo.sk, 1 fillu.de, 1 film-colleges.com, 1 film-op-tv.nl, 1 @@ -42145,12 +42045,10 @@ finishingpasteers.ga, 1 finishingpasteest.ga, 1 finisron.in, 1 -finisterre1994.com, 1 finkelstein.fr, 1 finlandcook.online, 1 finlandcook.top, 1 finlito.tk, 1 -finmarket.tk, 1 finn-svoboda.cf, 1 finn-thorben.me, 1 finn.io, 1 @@ -42208,7 +42106,6 @@ firebirdrangecookers.com, 1 firebounty.com, 1 fireboxfood.com, 1 -firebrandchurch.com, 1 firecask.com, 1 firechip.cc, 1 firechip.srl, 1 @@ -42224,7 +42121,6 @@ firefighters.dating, 1 firefish.com.au, 1 fireflywellnesscounseling.com, 1 -firegeisha.com, 1 fireglow.de, 1 fireintheholevideos.tk, 1 fireleadership.gov, 1 @@ -42235,7 +42131,6 @@ firenza.org, 1 firenzetoday.it, 1 fireorbit.de, 0 -fireplacerepairlasvegas.com, 1 fireplacesutah.com, 1 fireplex.co.uk, 1 fireportal.cz, 1 @@ -42283,7 +42178,7 @@ first-ns.com, 0 first-time-offender.com, 1 first.org, 1 -first4it.com, 1 +first4it.com, 0 firstbaptistchurchofchrist.org, 1 firstbooks.ml, 1 firstcentralsavings.com, 1 @@ -42517,7 +42412,7 @@ flagpedia.net, 1 flagriculture.gov, 1 flagspot.net, 0 -flagstone-magazin.ro, 1 +flagstone-magazin.ro, 0 flagyl-500-mg.ga, 1 flairfindr.com, 1 flam.io, 1 @@ -42579,7 +42474,6 @@ flatcast.tk, 1 flatcoated.tk, 1 flathome.co.jp, 1 -flaticon.com, 1 flatlandchurch.com, 0 flatmail.pl, 1 flatmatehub.com.au, 1 @@ -42669,7 +42563,6 @@ flexiblenetflow.com, 1 flexibsd.com, 1 flexicurity.tk, 1 -fleximaal.com, 1 fleximus.org, 0 flexinvesting.fi, 0 flexitanq.es, 1 @@ -42686,6 +42579,7 @@ fliacuello.com.ar, 1 flibanserina.com, 1 flicerdowneh.cf, 1 +flickcritter.com, 1 flickor.tk, 1 flieger-funk-runde.de, 1 fliesen-waldschmidt.de, 1 @@ -42814,7 +42708,7 @@ florian2833z.de, 1 florianbecker.it, 1 florianbouchet.fr, 1 -florianimdahl.de, 1 +florianimdahl.de, 0 floriankarmen.com, 1 floriankeller.de, 0 florianmitrea.uk, 1 @@ -42853,7 +42747,6 @@ floseed.fr, 1 flossexanten.de, 1 floth.at, 1 -flourish.earth, 1 flourishdx.com, 1 flourishtogether.com, 1 flow-serv.com, 1 @@ -42861,7 +42754,6 @@ flowair24.ru, 1 flowalizer.com, 1 flowalyzer.com, 1 -flowanalytics.com, 1 flowauditor.com, 1 flowbuk.me, 1 flowcom.de, 1 @@ -42905,7 +42797,6 @@ flubio.de, 1 flucky.xyz, 1 fluconazole.gq, 1 -flucover.com, 1 fluenciamodas.com.br, 1 fluencytech.com, 1 fluessiggas.de, 1 @@ -43102,7 +42993,6 @@ followme.com, 1 followmystaff.com, 1 followthatpage.com, 1 -followthepin.com, 1 folszyb.pl, 1 foluomeng.net, 1 folwark.krakow.pl, 1 @@ -43137,6 +43027,7 @@ fontein.de, 1 fontela.es, 1 fontnegar.ir, 1 +fonts2u.com, 1 fonts4free.net, 1 foo, 1 foo.fo, 1 @@ -43151,6 +43042,7 @@ foodatlantic.ga, 1 foodattitude.ch, 0 foodauthority.ga, 1 +foodavatar.ga, 1 foodbad.ga, 1 foodbeast.ga, 1 foodblod.ga, 1 @@ -43367,14 +43259,12 @@ foreign-language-colleges.com, 1 foreignpharmacydirectory.com, 1 foreignxchange.com.au, 1 -forellenpark.com, 1 foremail.tk, 1 forenschmiede.tk, 1 forensic-system.com, 0 forensicsciencecentral.tk, 1 forensicsinfo.ga, 1 forensicsinfoest.ga, 1 -forensicsoftware.biz, 1 forensischepsychiatrie.tk, 1 forers.com, 1 foresdon.jp, 1 @@ -43391,6 +43281,7 @@ foreverreem.com, 1 foreverssl.com, 1 foreversummertime.com, 1 +forevertoday.nl, 1 foreverydream.com, 1 forewordreviews.com, 1 forex-arabia.tk, 1 @@ -43475,9 +43366,9 @@ formulastudent.de, 1 formulaveevictoria.com.au, 1 fornarisandres.com, 1 +fornoreason.net.au, 1 fornwall.net, 0 foro-coopfuture.tk, 1 -foro.io, 0 foro.red, 1 foroaranda.com, 1 forobachiller.com, 1 @@ -43493,7 +43384,7 @@ forokd.com, 1 forologikidilosi.com.gr, 1 foromasters.tk, 1 -foropl.com, 1 +foropl.com, 0 forosdelmisterio.tk, 1 forourselves.com, 1 forowarhammer.tk, 1 @@ -43603,7 +43494,6 @@ forumpakistan.tk, 1 forumpenaguru.com, 1 forumrowerowe.org, 1 -forumrussia.tk, 1 forums4everyone.tk, 1 forumsampdoria.tk, 1 forumsrussia.ga, 1 @@ -43656,7 +43546,6 @@ foto-znakomstva.ml, 1 foto.by, 1 fotoallerlei.com, 1 -fotoars.pl, 1 fotoblog.nrw, 1 fotobodyart.nl, 1 fotoboxvysocina.cz, 1 @@ -43668,7 +43557,6 @@ fotofon.tk, 1 fotografechristha.nl, 1 fotografiadellalucerossa.com, 1 -fotografiamakro.pl, 1 fotografies.tk, 1 fotografija.tk, 1 fotografoivanalmeida.com.br, 1 @@ -43681,6 +43569,7 @@ fotoleitner.de, 1 fotomodel.cf, 1 fotomodels.tk, 1 +fotonjan.com, 1 fotontechnik.pl, 1 fotonza.ru, 1 fotopalacedigitalstudio.tk, 1 @@ -43720,14 +43609,13 @@ foundland.com, 1 foundrehotels.com, 1 foundsounds.me, 1 -fourashesgolfcentre.co.uk, 1 fourashesgolfcentre.uk, 1 fourbrothers.tk, 1 fourcask.com, 1 fourchetteverte.ch, 1 fourcornerscb.com, 1 +fourdesignstudio.com, 1 fourfivecbd.co.za, 1 -fourfourcrew.com, 1 fourfri.es, 1 fourie.ca, 1 fouriemc.com, 1 @@ -43776,6 +43664,7 @@ foxtrotfm.tk, 1 foxtwomodels.com, 1 foxxylove.net, 1 +foxycredit.com, 1 foxyslut.com, 1 foyale.io, 1 fozzie.co.uk, 1 @@ -43857,6 +43746,7 @@ framalistes.org, 1 framandroid.org, 1 framanews.org, 1 +framanote.org, 1 framanotes.org, 1 framapack.org, 1 framapad.org, 1 @@ -43871,7 +43761,6 @@ framastats.org, 1 framastory.org, 1 framatalk.org, 1 -framateam.org, 1 framatube.org, 1 framavectoriel.org, 1 framavox.org, 1 @@ -43903,6 +43792,7 @@ francescopandolfibalbi.it, 1 francescorenna.tk, 1 francescosiciliano.tk, 1 +francescoyatesfansite.com, 1 francesfluente.cf, 1 franceskivillas.tk, 1 francetraceur.fr, 1 @@ -43952,11 +43842,11 @@ frankfurtergirl.net, 1 frankhaala.com, 1 frankhaarlem.tk, 1 +frankiebdj.com, 1 frankieburkeactor.tk, 1 frankierfachmann.de, 1 frankierprofi.de, 1 frankierstar.de, 1 -frankieruiz.tk, 1 frankieylosmatadores.tk, 1 frankland.tk, 1 franklincountyflorida.gov, 1 @@ -43995,6 +43885,7 @@ fraservalleyhotdog.com, 1 frasesconemocion.com, 1 frasesdodia.com, 1 +frasesdodia.net, 0 frasesparaface.com.br, 1 frasestop.com.br, 1 frasesytarjetas.com, 1 @@ -44092,7 +43983,6 @@ free-lancer.ml, 1 free-nation.tk, 1 free-obmen.ml, 1 -free-ppp.jp, 1 free-quotes.info, 1 free-rein.net, 1 free-seo.ml, 1 @@ -44144,7 +44034,6 @@ freedatingonline.ml, 1 freedeals4u.ga, 1 freedev.cz, 1 -freedgb.com, 1 freediomatiq.com, 1 freedirectory.tk, 1 freedogecrypt.tk, 1 @@ -44231,7 +44120,6 @@ freepedia.cf, 1 freephonefinder.cf, 1 freepik.com, 1 -freepik.es, 1 freeplace.tk, 1 freepnglogos.com, 1 freepoints.us, 1 @@ -44241,7 +44129,6 @@ freepornvideos.life, 1 freepornxxxvids.com, 1 freepron.xyz, 1 -freepublicprofile.com, 1 freeradical.zone, 1 freereal.ml, 1 freerealincest.com, 1 @@ -44265,7 +44152,6 @@ freespace.info, 1 freespanlift.com, 1 freesports.ml, 1 -freespot.mobi, 1 freesquare.net, 1 freesteam.net, 1 freestylemartialarts.tk, 1 @@ -44289,6 +44175,7 @@ freewaypropane.com, 1 freeweibo.com, 1 freewerkt.nl, 1 +freewillfilm.com, 1 freewoman.club, 1 freewoodfactory.com, 1 freexmovie.com, 1 @@ -44318,7 +44205,7 @@ freitasul.com.br, 1 freitasul.io, 1 freiwurst.net, 1 -freizeitbad-riff.de, 1 +freizeitbad-riff.de, 0 freizeitpark.tk, 1 freizeitplaza.de, 1 frejasdal.dk, 1 @@ -44344,7 +44231,6 @@ fresar-engineering.nl, 1 frescamezcla.tk, 1 frescobol.tk, 1 -fresh-hotel.org, 1 fresh-info.cf, 1 fresh-info.gq, 1 fresh-info.tk, 1 @@ -44384,7 +44270,6 @@ freundinnen-kurzurlaub.de, 1 freundinnen-urlaub.de, 1 freundinnenausflug.de, 1 -frforms.com, 1 friarsonbase.com, 1 fribourgviking.net, 1 fricassea.com, 1 @@ -44585,10 +44470,10 @@ fruityten.co.uk, 1 frutasyvejetales.com, 1 frutidump.tk, 1 +frutuozo.com.br, 1 fruturaproduce.com, 1 fruxh.moe, 1 fruxnux.net, 1 -fruxprivatebank.net, 1 frydrychit.cz, 1 fryergroup.com, 1 fs-d.org, 1 @@ -44686,7 +44571,6 @@ fudaoyuan.com, 1 fuddittu.tk, 1 fudie.net, 1 -fudubank.vn, 1 fuechschen.org, 1 fuego.tech, 1 fuegocruzado.tk, 1 @@ -44719,10 +44603,10 @@ fujiwarashinzo.com, 1 fujiyakimono.com, 1 fukabori-kaidora.com, 1 +fukakukeiba.com, 1 fukase-seed.com, 1 fukikaeru.com, 1 fukn.jp, 1 -fukt.ca, 1 fuku-fashion.nl, 1 fukuiedu.com, 1 fukuko.biz, 1 @@ -44778,7 +44662,6 @@ fun888city.net, 1 fun88city.com, 0 fun9.cc, 1 -fun99.cc, 1 funadvisor.ca, 0 funadvisorfrance.com, 1 funandbounce.com, 1 @@ -44805,7 +44688,6 @@ fundevogel.de, 1 fundingoptions.com, 1 fundkyapp.com, 1 -fundmyfuture.info, 1 fundmylegalclaim.co.uk, 1 fundort.ch, 1 fundpress.org, 0 @@ -44883,6 +44765,7 @@ funidelia.si, 1 funidelia.sk, 1 funidos.tk, 1 +funinbeds.org.uk, 1 funinfo.tk, 1 funkazoid-radio.com, 1 funken-networks.de, 1 @@ -44958,7 +44841,6 @@ furi.ga, 1 furisode-yamaguchiya.com, 1 furiya.tk, 1 -furkancaliskan.com, 1 furkankose.ml, 1 furkot.com, 1 furkot.de, 1 @@ -44990,8 +44872,6 @@ furrycraft.ga, 1 furrytech.network, 1 fursandfur.tk, 1 -fursuitbutts.com, 0 -furtodo.com, 1 furu-sato.com, 1 furuy.com, 1 fusacity.tk, 1 @@ -45114,7 +44994,6 @@ fxwebstudio.com.au, 0 fydjbsd.cn, 1 fyfywka.com, 1 -fyksen.me, 0 fyllehack.se, 1 fylm.ai, 1 fyn.nl, 1 @@ -45157,7 +45036,6 @@ g10e.ch, 1 g116688.com, 1 g2-inc.com, 1 -g22-livechat.com, 1 g2jp.uk, 1 g2links.com, 0 g2pla.net, 1 @@ -45191,6 +45069,7 @@ g9397.com, 0 g9721.com, 0 g9728.co, 1 +ga-2.it, 0 ga-part.ru, 1 gaasuper6.com, 1 gabaldon.eu, 1 @@ -45203,7 +45082,6 @@ gabbyer.ml, 1 gabe.house, 1 gabe.link, 1 -gabe.pics, 1 gabe.space, 1 gabe.watch, 1 gabe565.com, 1 @@ -45250,6 +45128,7 @@ gacirenin.cf, 1 gacirenin.tk, 1 gackowski.tk, 1 +gad.co.id, 1 gadabit.pl, 1 gadaj.eu, 1 gadanie.cf, 1 @@ -45415,7 +45294,6 @@ galpsafetytalks-portal-preprod.azurewebsites.net, 1 galpsafetytalks-portal-production.azurewebsites.net, 1 galtelligence.com, 1 -galvingao.com, 1 galvinism.ink, 1 galwew.ga, 1 gamagam.gq, 1 @@ -45633,7 +45511,6 @@ gammaphibeta.tk, 1 gamster.tv, 1 gan.wtf, 1 -ganaderosdeceres.com.ar, 1 ganapati.fr, 1 ganardinerillo.tk, 1 ganardineroporinternett.com, 1 @@ -45700,7 +45577,6 @@ garciaortiz.com, 1 garda-see.mobi, 1 gardarika.tk, 1 -gardedenfantspourtous.fr, 1 garden-land.ga, 1 garden-life.org, 1 garden4less.co.uk, 1 @@ -45819,7 +45695,7 @@ gatlink.tk, 1 gatomix.net, 1 gatoslivres.org, 1 -gatot.id, 1 +gatot.id, 0 gattomatto.tk, 1 gattschan.tk, 1 gauche.com, 1 @@ -45862,12 +45738,12 @@ gaymerx.net, 1 gaymerx.org, 1 gaynight.tk, 1 +gaypirateassassins.com, 1 gaysexpositions.guide, 1 gaytorrent.ru, 1 gaytubec.com, 1 gayubo.com, 1 gayukai.net, 1 -gayxsite.com, 1 gazachallenge.org, 1 gazaryan.tk, 1 gazbonicacidmc.ga, 1 @@ -45898,7 +45774,6 @@ gbusercontent.com, 1 gc-hartberg.tk, 1 gc-mc.de, 1 -gc.de, 1 gc.gy, 1 gc.ru.net, 1 gcb.org.au, 1 @@ -45941,7 +45816,6 @@ ge3k.net, 0 gealot.com, 1 gear-acquisition-syndrome.community, 1 -gear4you.shop, 1 gearallnews.com, 1 gearbot.rocks, 1 gearboxhero.com, 1 @@ -45993,7 +45867,7 @@ geekdama.com.br, 1 geekdocs.de, 1 geekedin.ga, 1 -geekeries.org, 0 +geekeries.org, 1 geekgao.cn, 1 geekgear.tk, 1 geekgirltech.com, 1 @@ -46047,6 +45921,7 @@ gefolge.org, 1 gegeco.ch, 0 geh.li, 1 +gehaowu.com, 1 gehas-wein-shop.de, 0 gehirn.co.jp, 1 gehirn.jp, 1 @@ -46183,7 +46058,6 @@ generic-sildenafil-citrate.cf, 1 generic-tadalafil.cf, 1 generic-tenormin.gq, 1 -generic.cx, 1 genericabana.gq, 1 genericaccutaneonline.ml, 1 genericaceon.tk, 1 @@ -46231,6 +46105,7 @@ genevoise-entretien.ch, 0 genfaerd.dk, 1 genghan.com, 1 +gengive-smalto-oralb.it, 1 genhu.com.ar, 1 genia-life.de, 1 genie.tk, 1 @@ -46282,6 +46157,7 @@ gentbereikbaar.be, 1 gentblogt.be, 1 gentbrugsemeersen.be, 1 +gentcdn.com, 1 gentcityofmusic.be, 1 gentcongres.be, 1 gentcongres.com, 1 @@ -46391,7 +46267,6 @@ geopixeles.cl, 1 geopoetico.tk, 1 geoponika.gr, 1 -geoport.al, 1 georadar-algerie.com, 1 georg-ledermann.de, 1 george-brighton.co.uk, 1 @@ -46462,7 +46337,6 @@ gerainano.com, 1 geraintwhite.co.uk, 1 gerald-zojer.com, 1 -geraldoazevedo.com.br, 1 geraldzavod.ru, 1 gerard-klooster.net, 1 gerardinden.nl, 1 @@ -46491,7 +46365,6 @@ germanssky.de, 1 germantownwi.gov, 1 germantrip.tk, 1 -germany-board.tk, 1 germanytravel.ga, 1 germanytravelguide.ml, 1 germfr.ee, 1 @@ -46610,7 +46483,6 @@ getgeek.se, 1 gethome.ru, 1 gethost.co.zw, 1 -gethttpsforfree.com, 1 gethyas.com, 1 geti2p.com, 1 getidee.com, 1 @@ -46782,7 +46654,6 @@ ghanaculture.tk, 1 gharbala.com, 1 ghazals.tk, 1 -ghazi.im, 1 ghbtns.com, 1 ghcoaching.mx, 1 ghcpl.in, 1 @@ -46888,6 +46759,7 @@ gierds.de, 1 gieschke.de, 1 giethoorn.com, 1 +gietvloer-wand.nl, 0 gietvloergarant.nl, 1 gif.tips, 1 giff.com.mx, 1 @@ -46919,6 +46791,7 @@ giga.is, 1 giga.nl, 1 gigabitz.pw, 1 +gigacloud.org, 1 gigagroup.cf, 1 giganet.tk, 1 gigantar.com, 1 @@ -46933,6 +46806,7 @@ gigawattz.com, 1 giggletotz.co.uk, 1 gigharborwa.gov, 1 +gigis-pizzeria.de, 1 gigiscloud.servebeer.com, 1 giglink.club, 1 gigloog.tk, 1 @@ -46951,6 +46825,7 @@ gilium.com, 1 gill-swerts.tk, 1 gillesmorelle.com, 0 +gillettechampions.it, 1 gillettepromociones.com, 1 gillfamily.de, 1 gillmanandsoame.co.uk, 1 @@ -46981,6 +46856,7 @@ ginatony.com, 1 ginen.xyz, 0 ginev.tk, 1 +gingersutton.com, 1 ginionusedcars.be, 1 ginitaly.it, 1 ginn.press, 1 @@ -47085,7 +46961,7 @@ gitstuff.tk, 1 gittigidiyor.com, 1 gittr.ch, 1 -giuem.com, 1 +giuem.com, 0 giuliabonati.com, 1 giuliawylde.com, 1 giulliamodas.com.br, 1 @@ -47142,7 +47018,6 @@ gjnoonan.co.uk, 1 gjspunk.de, 0 gjung.com, 0 -gkb2020.ch, 1 gkconsultancy.tk, 1 gkepm.com, 1 gklparis.fr, 1 @@ -47194,7 +47069,6 @@ glasgestaltung.biz, 1 glasiko.tk, 1 glasner.photo, 1 -glaspe.com, 1 glass.google.com, 1 glassact.com, 1 glasschmuck-millefiori.de, 1 @@ -47340,7 +47214,6 @@ globalproduction.ga, 1 globalprojetores.com.br, 1 globalradio.tk, 1 -globalresearchcouncil.org, 1 globalrussia.tk, 1 globalsensationsers.ga, 1 globalsensationsest.ga, 1 @@ -47372,6 +47245,7 @@ globemilk.nl, 1 globemusic.es, 1 globereservationsest.ga, 1 +globetalent.nl, 1 globologic.com, 1 globotech.be, 1 globotur.de, 1 @@ -47393,6 +47267,7 @@ gloryofmusic.tk, 1 gloryrise.tk, 1 glosiko.cn, 1 +glosiko.com, 1 glosiko.com.cn, 1 glosiko.net, 1 glosiko.org, 1 @@ -47426,7 +47301,6 @@ glykofridis.nl, 1 glyph.ws, 1 glyptodon.com, 1 -glytchenergy.com, 1 glyxins.com, 1 gm-assicurazioni.it, 1 gm-net.jp, 1 @@ -47542,9 +47416,10 @@ goalsaj.com, 1 goanalyse.co.uk, 1 goand.run, 1 +goapunks.net, 0 goarmy.eu, 1 goatbot.xyz, 1 -goatcloud.com, 1 +goatcloud.com, 0 goatstore.ca, 1 goatstudio.sg, 1 gobarrelroll.com, 1 @@ -47603,7 +47478,6 @@ goehler-baumpflege.de, 1 goeikan.life, 1 goemail.me, 1 -goempyrean.com, 1 goenea.com, 1 goerdeler-alumni-club.de, 1 goergetown.tk, 1 @@ -47617,6 +47491,7 @@ goetzinger-web.de, 1 goffrie.com, 1 gofigure.fr, 0 +gofile.io, 1 goflo.net, 1 gofobo.com, 1 gofoiayourself.org, 1 @@ -47725,6 +47600,7 @@ goldstandardtrust.tk, 1 goldstein.rs, 1 goldstein.tel, 1 +goldsteingloves.com, 1 goldwater.gov, 1 goldwaterfoundation.gov, 1 goldwaterscholarship.gov, 1 @@ -47732,7 +47608,6 @@ goldzilla.eu, 1 gole.ms, 1 golearn.gov, 1 -golestanehali.com, 1 golestanehali.ir, 1 golf-supplies.tk, 1 golf18staging.com, 1 @@ -47867,7 +47742,6 @@ goodvibesblog.com, 1 goodway.tv, 1 goodwin43.ru, 0 -goodwincasinos.com, 1 goodyearsotn.co.uk, 1 goofy.gr, 1 google, 1 @@ -47933,6 +47807,7 @@ gordonbeeming.xyz, 1 gordonhamilton.com, 1 gordvorets.tk, 1 +gordyf.com, 1 gordyforty.com, 1 gorepriest.tk, 1 gorf.club, 1 @@ -47948,6 +47823,7 @@ gorky.media, 1 gorlani.com, 1 gorlani.net, 1 +gorn.ch, 1 gorod74.ru, 0 gorodabakan.cf, 1 gorodabakan.ga, 1 @@ -47987,7 +47863,6 @@ gospelstreamingsermons.com, 1 gospelunited.tk, 1 gospelvestcination.de, 1 -gospicers.ca, 1 gosportweather.co.uk, 1 gosq.co, 1 gosq.com, 1 @@ -48104,7 +47979,6 @@ goyahkles-spirit-to.tk, 1 goyumoilexpeller.com, 1 gozadera.es, 1 -gozenhost.com, 1 gpalabs.com, 1 gpastore.com.br, 1 gpbdev.ru, 1 @@ -48125,6 +47999,7 @@ gpltimes.club, 1 gplvilla.com, 1 gpm.ltd, 1 +gpna.org, 1 gpodev.gov, 1 gpolanco.com, 1 gpony.fr, 1 @@ -48149,7 +48024,7 @@ gpwmd-portal.org, 1 gpz500s.tk, 1 gq-magazine.co.uk, 1 -gqmstore.com.br, 1 +gqyyingshi.com, 0 gqyyy.cc, 0 gr.search.yahoo.com, 0 gr8engineer2b.com, 1 @@ -48291,7 +48166,7 @@ graniteind.com, 1 granitestateproductions.tk, 1 grannys-stats.com, 1 -grannyshouse.de, 1 +grannyshouse.de, 0 granool.ga, 1 granpoder-islacristina.tk, 1 granstrom.tk, 1 @@ -48299,6 +48174,7 @@ grantcooper.com, 1 grantdb.ca, 1 grantmorrison.net, 1 +grantpark.org, 1 grantsmasters.com, 1 graonatural.com.br, 0 grapee.jp, 1 @@ -48321,7 +48197,7 @@ graphicdesignresources.net, 1 graphicdream.tk, 1 graphicspace.tk, 1 -graphicwallet.com, 1 +graphicwallet.com, 0 graphire.io, 1 graphite.org.uk, 1 graphobyte.com, 1 @@ -48370,6 +48246,7 @@ grattan.co.uk, 1 gratuitweb.tk, 1 graumeier.de, 1 +grauwasser-blog.de, 1 gravedigger.tk, 1 gravelshooters.com, 1 gravelshooters.net, 1 @@ -48614,7 +48491,7 @@ gresak.io, 0 gresb.com, 1 gresik.info, 1 -gressnet.id, 1 +gressnet.id, 0 greta-birkner.de, 1 gretaraccontastorie.com, 1 gretathemes.com, 1 @@ -48624,7 +48501,6 @@ grevesgarten.de, 1 grexx.today, 1 grey-cat.tk, 1 -greybazar.com, 1 greybeards.ca, 1 greycentre.com, 1 greycrane.net, 1 @@ -48671,7 +48547,7 @@ griffinsrfc.tk, 1 griffioenconsulting.com, 1 griffophotography.tk, 1 -grifomarchetti.com, 1 +grifomarchetti.com, 0 grifone.tk, 1 grigo.ga, 1 grigo.tk, 1 @@ -48709,7 +48585,6 @@ grishavirus.cf, 1 griswoldia.gov, 1 grit3.com, 1 -gritte.ch, 1 grittherapeutic.com, 1 griyo.online, 1 grizz.gdn, 1 @@ -48746,7 +48621,6 @@ groomscroft.com, 1 grootinadvies.nl, 1 groots.com, 1 -groots.ngo, 1 groover.com.br, 1 groovydiscountsers.ga, 1 groovydiscountsest.ga, 1 @@ -48775,6 +48649,7 @@ groundfm.tk, 1 groundhogg.nl, 1 groundmc.net, 1 +groundsdirect.com, 1 groundspan.com, 1 groundthumpingmotors.com, 1 groundthumpingmotors.net, 1 @@ -48882,7 +48757,6 @@ grupodepasajeros.tk, 1 grupoellatu.tk, 1 grupoenelcolombia.com, 1 -grupofurlan.com, 1 grupogrande.com.co, 1 grupoharbour.com, 1 grupoiwana.tk, 1 @@ -49102,7 +48976,6 @@ guillaume-briand.fr, 1 guillaumecote.me, 1 guillaumematheron.fr, 1 -guillaumepommier.com, 1 guillemagullo.tk, 1 guillemaud.me, 0 guillen.tk, 1 @@ -49180,7 +49053,7 @@ guoke.com, 1 guolaoban.xyz, 1 guolaw.ca, 1 -guoliang.me, 1 +guoliang.me, 0 guoliangwu.com, 1 guomai.com, 1 guozeyu.com, 1 @@ -49243,6 +49116,7 @@ guus-thijssen.nl, 1 guvernalternativa.ro, 1 guyeskens.be, 1 +guyfletcher.com, 1 guyretreaters.ga, 1 guyretreatest.ga, 1 guys-reviews.ml, 1 @@ -49284,7 +49158,6 @@ gw2efficiency.com, 1 gw2zone.net, 0 gw66.cc, 0 -gwandalancobras.com.au, 1 gwbet99.cc, 1 gwennyeeckels.com, 1 gwenolakaigre.tk, 1 @@ -49309,6 +49182,7 @@ gyara.moe, 1 gyas.nl, 1 gybagardlin.tk, 1 +gycis.me, 1 gyefund.com, 1 gyefund.org, 1 gyengus.hu, 1 @@ -49389,7 +49263,6 @@ h3x.jp, 0 h3x.net, 1 h3z.jp, 1 -h404bi.com, 1 h51365.com, 1 h5197.co, 1 h5q.net, 1 @@ -49433,7 +49306,6 @@ habbzohotel.tk, 1 habeeba.tk, 1 haberer.me, 1 -haberkotherapy.com, 1 haberlandconsulting.com, 1 haberlanddesign.com, 1 haberlanddigital.com, 1 @@ -49504,7 +49376,8 @@ hacker101.com, 1 hacker8.cn, 0 hackerchai.com, 0 -hackerco.com, 1 +hackerco.com, 0 +hackercommunity.org, 1 hackereyes.com, 1 hackerfa.tk, 1 hackerflare.com, 1 @@ -49812,7 +49685,7 @@ handicappingsportsers.ga, 1 handicappingsportsest.ga, 1 handicraftsman.tk, 1 -handigehannie.nl, 1 +handlecoin.com, 1 handleidingkwijt.com, 1 handlekrypto.com, 1 handlingcosters.ga, 1 @@ -49868,7 +49741,6 @@ hannah.link, 1 hannahbarrettyoga.com, 1 hannaljungberg.tk, 1 -hannasecret.de, 1 hannde.com, 1 hannehovi.fi, 1 hannes.paris, 1 @@ -49917,6 +49789,7 @@ hao.gay, 1 haogoodair.ca, 1 haorenka.co, 1 +haorenka.me, 1 haorenka.org, 1 haosygt.com, 1 haotown.cn, 0 @@ -49967,7 +49840,6 @@ happydoq.ch, 0 happydota.ga, 1 happydreamsz.com, 1 -happydyes.co.uk, 1 happyexwife.ga, 1 happyfun.tk, 1 happyfuture.tk, 1 @@ -49989,6 +49861,7 @@ happymondayclub.com, 1 happymothersday.tk, 1 happynight.tk, 1 +happyretail.co, 1 happyrunning.tk, 1 happyschnapper.com, 1 happyscubadiving.tk, 1 @@ -50051,6 +49924,7 @@ hardies.nl, 1 hardinal.com, 1 hardjump.tk, 1 +hardmc.ru, 1 hardnode.org, 1 hardnoiser.tk, 1 hardrain980.com, 1 @@ -50072,13 +49946,14 @@ hardworm.tk, 1 hardy.bz, 1 hardyhaberland.com, 1 -harelmallacglobal.com, 1 +harelmallac.com, 0 harem.tk, 1 harery.com, 1 hargaindo.com, 1 hargamobilmu.com, 0 hargrovefirm.com, 1 hari-katha.tk, 1 +harianaceh.co.id, 0 haribilalic.com, 1 harigovind.org, 1 hariharnagar.tk, 1 @@ -50108,7 +49983,6 @@ harodeportivo.tk, 1 haroldkip.nl, 1 haroldkramer.tk, 1 -haroldsharpe.com, 1 harp.gov, 1 harpersvilleal.gov, 1 harplingemark.se, 1 @@ -50167,12 +50041,10 @@ harukakikuchi.com, 1 harukawa.moe, 1 harumi-cl.jp, 1 -haruue.moe, 1 harvard-ma.gov, 1 harvestapp.com, 1 harvester.fr, 1 harvestfellowshipchurch.net, 1 -harvestgospelministries.org, 1 harvestmoon.ga, 1 harvestmoon.ml, 1 harveyauzorst.com, 1 @@ -50194,6 +50066,7 @@ hasdf.de, 1 hasecuritysolutions.com, 1 haselsteiner.me, 1 +hasenmueller.de, 1 hasgeek.com, 1 hash.army, 1 hash.works, 1 @@ -50269,7 +50142,6 @@ haus-momo.ch, 1 haus.bio, 1 hausarzt-stader-str.de, 0 -hausarztpraxis-weilheim.de, 1 hausfrauficken.com, 1 haushaltsaufloesung-vor-ort.de, 1 haushaltsaufloesung-zentrum.de, 1 @@ -50287,7 +50159,6 @@ havaci.tk, 1 haval.iq, 1 havarijna-sluzba-bratislava.sk, 1 -havasuinsurance.com, 1 havasutacohacienda.com, 1 havator.fi, 1 have-it.tk, 1 @@ -50301,7 +50172,6 @@ havellab.de, 1 haven-staging.cloud, 1 havencyber.com, 1 -havendetoxnow.com, 1 havernbenefits.com, 1 haverstack.com, 1 havetherelationshipyouwant.com, 1 @@ -50918,11 +50788,11 @@ heeler.red, 1 heello.es, 1 heesenyachts.com, 1 +hefengautoparts.com, 1 heftkaufen.de, 1 heg.ge, 1 hegartymaths.com, 1 hegdahl.tk, 1 -hegenshop.de, 1 heh.ee, 1 heha.co, 0 hehecams.com, 1 @@ -51088,6 +50958,7 @@ helloworldhost.com, 0 hellpc.net, 1 hellseeker.tk, 1 +hellsgamers.pw, 1 hellsh.com, 1 hellsinkivampires.tk, 1 hellskitsch.com, 1 @@ -51258,7 +51129,7 @@ herdwilliam.tk, 1 here.ml, 1 herealways.tk, 1 -herecsrymy.cz, 1 +herecsrymy.cz, 0 heredapoxetine.gq, 1 herefordlighthouse.org, 1 heren.fashion, 1 @@ -51381,15 +51252,16 @@ hetmeisjeachterpauw.nl, 1 hetmer.cz, 1 hetmozaiekje.nl, 1 +hetwalhalla.nl, 1 heureka2.com, 1 heuremiroir.info, 1 heute-kaufen.de, 1 heute.training, 1 heutger.net, 1 +hevertonfreitas.com.br, 1 hevrishut.cf, 1 hewavitharanamv.tk, 1 hex.nl, 1 -hexacon.io, 1 hexagon-e.com, 1 hexagon.io, 1 hexapt.com, 1 @@ -51409,11 +51281,13 @@ hexo.io, 0 hexobind.com, 1 hexony.com, 1 +hexr.org, 1 hexsafe.io, 1 hexstream.net, 1 hexstream.xyz, 1 hexstreamsoft.com, 1 hexxagon.com, 1 +hey.com, 1 hey.pw, 1 heybaker.com.au, 1 heybookmark.ga, 1 @@ -51428,7 +51302,6 @@ heymoney.de, 1 heyomg.com, 1 heyplay.eu.org, 1 -heyrockerproductions.com, 1 heysora.net, 1 heytrade.com, 1 heyvilleers.ga, 1 @@ -51560,7 +51433,6 @@ hifumi.us, 1 hig.gov, 1 higgsboson.tk, 1 -higgstools.org, 1 high-flying.co.uk, 1 high-heels.se, 1 high-school-atka.ga, 1 @@ -51603,10 +51475,10 @@ highrank.cf, 1 highrank.ga, 1 highrank.tk, 1 -highriskpay.com, 1 highskilled.tk, 1 highsky.ir, 1 highspeed-arnsberg.de, 1 +highspeedinternetservices.ca, 1 highspenfc.tk, 1 highstage.com, 1 hightech.construction, 1 @@ -51666,7 +51538,6 @@ hilunetan.tk, 1 himalaya-masala.at, 1 himalayanoutback.com, 1 -himalayanyogashram.com, 1 himarijuana.tk, 1 himbak.com, 1 himbamcky.com, 1 @@ -51792,7 +51663,6 @@ historia-arte.com, 1 historiadebagua.tk, 1 historiaeculturaguarani.org, 1 -historiageneral.com, 1 historiarte.tk, 1 historiasdepueblo.es, 1 historiasyrelatos.tk, 1 @@ -51813,12 +51683,12 @@ hitchpin.com, 1 hitchunion.org, 1 hitech-news.ml, 1 +hitech-zone.com, 0 hitechgr.eu, 1 hiteco.com, 1 hitekcomputing.net, 1 hitel.tk, 1 hiteshchandwani.com, 1 -hiteshjoshi.com, 1 hitflow.fr, 1 hitflow.net, 1 hitfm.ml, 1 @@ -51896,7 +51766,6 @@ hjf.com.ar, 1 hjkbm.cn, 1 hjmag.com, 1 -hjort.land, 1 hjosh.com, 1 hjoworld.tk, 1 hjphoto.co.uk, 1 @@ -51972,7 +51841,6 @@ hnmd9.gq, 1 hnn.net.br, 1 hno-norderstedt.de, 1 -hnonline.sk, 1 hnrk.io, 1 hnsseed.com, 1 hntuin.nl, 1 @@ -51992,7 +51860,6 @@ hobbiesworld.tk, 1 hobbslanddevelopment.com, 0 hobby-drechselei.de, 1 -hobby-freizeit.de, 1 hobbydo.cf, 1 hobbydo.ga, 1 hobbydo.gq, 1 @@ -52076,6 +51943,7 @@ hogyerzedmagad.hu, 1 hohenleimbach.de, 1 hohenpoelz.de, 1 +hohm.in, 1 hohma.tk, 1 hohnet.com, 0 hoikin.tk, 1 @@ -52133,7 +52001,6 @@ hollabanken.cf, 1 holland-sailing.de, 1 hollandco.com, 1 -hollander.com, 1 hollanderclub.tk, 1 hollandersleepproducts.com, 1 hollandhouse.info, 1 @@ -52163,7 +52030,6 @@ holowaty.me, 1 holoxplor.space, 1 holstein.tk, 1 -holstphoto.com, 1 holtcountyne.gov, 1 holtslander.ca, 1 holubowski.com, 1 @@ -52191,7 +52057,6 @@ holyubofficial.net, 1 holywhite.com, 1 holywr.it, 1 -holz.nu, 1 holzed.com, 1 holzschutz-holzbearbeitung.de, 1 holzspielzeug-shop.ch, 1 @@ -52209,6 +52074,7 @@ home-remedies.tk, 1 home-sagita.tk, 1 homeable.io, 1 +homeadore.com, 1 homeadvice.ga, 1 homeadvice.tk, 1 homeandliving.it, 1 @@ -52409,6 +52275,7 @@ homeofjones.net, 1 homeogenium.com, 0 homeomatic.ga, 1 +homeopata.tv, 1 homeopathie.tk, 1 homeopathieridderspoor.nl, 1 homeopplis.ga, 1 @@ -52503,7 +52370,7 @@ honeybrooklibrary.org, 1 honeycomb.io, 1 honeycombcreative.com, 1 -honeycome.net, 1 +honeycome-recruit.com, 0 honeycreeper.com, 1 honeygirl.tk, 1 honeypot.net, 1 @@ -52718,7 +52585,6 @@ hostfree12.tk, 1 hosthum.com, 1 hostiberi.com, 0 -hostinecpodlipou.cz, 1 hosting-rus.tk, 1 hosting-swiss.ch, 1 hostingalternative.com, 0 @@ -52751,6 +52617,7 @@ hosts.cf, 0 hostux.network, 1 hostwinds.com, 1 +hosuronline.com, 1 hosuto.nl, 1 hot-and-new.gr, 1 hot-models.tk, 1 @@ -52782,7 +52649,6 @@ hotel-le-vaisseau.ch, 0 hotel-promyk.pl, 1 hotel-rosner.at, 1 -hotel-villaelaia.fr, 1 hotelamgarnmarkt.at, 0 hotelarevalo.com, 1 hotelastor.com, 1 @@ -52818,11 +52684,13 @@ hotels-insolites.com, 1 hotels-resorts-in-crimea.tk, 1 hotels3d.com, 1 +hotels4teams.com, 1 hotelsalzberg.ga, 1 hotelsalzberg.gq, 1 hotelsalzberg.ml, 1 hotelsantalibera.tk, 1 hotelsfares.com, 1 +hotelsinbuxton.com, 1 hotelsinformer.com, 1 hotelsinncoventry.com, 1 hotelsolinebrela.com, 1 @@ -52921,7 +52789,6 @@ housingneedz.com, 1 houstonauthorizedrepair.com, 1 houstoncountyal.gov, 1 -houstoncreditlaw.com, 1 houstonendodontics.com, 1 houstongaragedoorsrepair.com, 1 houstonhomerevival.com, 1 @@ -52951,7 +52818,6 @@ howardscholars.org, 1 howarh.com, 1 howbehealthy.com, 1 -howbigismybuilding.com, 1 howdybikes.com, 1 howellaccounts.co.uk, 1 howesky.com, 1 @@ -53025,14 +52891,12 @@ hplace.com.br, 1 hpneo-conseil.com, 1 hps.digital, 1 -hps.hu, 1 hpsdigital.hu, 1 hpvtimmerwerken.nl, 1 hq.marketing, 1 hq77.ru, 1 hqblog.cn, 0 hqmovies.club, 1 -hqq.tv, 1 hqteas.com, 1 hquest.pro.br, 1 hqwebhosting.tk, 0 @@ -53075,6 +52939,7 @@ hrndz.io, 1 hro.to, 1 hrobert.hu, 1 +hroling.nl, 1 hromaticworld.tk, 1 hroschyk.cz, 1 hrpage.ml, 1 @@ -53173,6 +53038,7 @@ htsure.ma, 0 htt.pe, 1 http-2.com, 1 +http2.eu, 1 http2.pro, 1 http3-hosting.de, 1 http3.ch, 1 @@ -53206,6 +53072,7 @@ huabianwa.com, 1 huagati.com, 1 huahinpropertylisting.com, 1 +huang-haitao.com, 1 huang.nu, 1 huangguancq.com, 1 huangh.com, 1 @@ -53302,7 +53169,6 @@ hugonote.ovh, 1 hugonote.tk, 1 hugovr.nl, 1 -huguesblanchard.paris, 1 huguesditciles.com, 0 huh.gdn, 1 huhao.tk, 1 @@ -53487,7 +53353,6 @@ hustl.nl, 1 hustle.com, 1 hustlerstate.tk, 1 -hutchh.com, 1 hutchinsonmn.gov, 1 huthacks.com, 1 huto.ml, 1 @@ -53536,7 +53401,7 @@ hwx8.com, 0 hx-sun.com, 1 hx36.net, 1 -hx56.cc, 1 +hx53.de, 1 hx678.cc, 1 hx77.cc, 0 hxkvm.com, 1 @@ -53589,6 +53454,7 @@ hydronium.ml, 1 hydronium.tk, 1 hydroponicglobal.com.au, 1 +hydrosight.com, 1 hydroturbine.info, 0 hydrozone.fr, 1 hyec.jp, 1 @@ -53610,7 +53476,6 @@ hyper-matrix.org, 1 hyper-text.org, 1 hyper.ai, 1 -hyper.lol, 1 hyperalgesia.com, 1 hyperautomotive.com.au, 1 hyperblast-universe.tk, 1 @@ -53634,7 +53499,6 @@ hypertensionexplained.com, 1 hypertesto.me, 1 hyperthymia.com, 1 -hyperverge.co, 1 hypevents.net, 1 hypexstore.tk, 1 hyphen.co.za, 1 @@ -53681,7 +53545,6 @@ hyychat.com, 1 hyyen.com, 1 hyyperchat.com, 1 -hyza.sk, 1 hzbk.org, 0 hztgzz.com, 1 hzwc.nl, 1 @@ -53716,6 +53579,7 @@ i-red.info, 1 i-scream.space, 1 i-sports.cz, 1 +i-telligence.de, 0 i-tm.com.tw, 1 i-tools.ru, 1 i-verbi.it, 1 @@ -53738,6 +53602,7 @@ i365365.com, 1 i36588.com, 1 i3o.me, 1 +i4cu.uk, 1 i4net.eu, 1 i51365.com, 1 i5197.co, 1 @@ -53750,7 +53615,6 @@ i7sas.tk, 1 i81365.com, 1 i82365.com, 1 -i86666.com, 1 i879.com, 1 i88i.gq, 1 i8cp.com, 1 @@ -53800,7 +53664,6 @@ iamtheib.me, 1 iamtonyarthur.com, 1 iamtrainsafe.co.uk, 1 -iamtrucking.com, 1 iamusingtheinter.net, 0 iamwill.io, 1 ian-barker.co.uk, 1 @@ -53862,6 +53725,7 @@ ibericartechnik.es, 1 iberion.pl, 1 ibertel.eu, 1 +ibestproduct.com, 0 ibetora.com, 1 ibexcore.com, 1 ibexmultiday.com, 1 @@ -53949,7 +53813,6 @@ iceshadow.tk, 1 icetiger.eu, 1 icetravellers.com, 0 -icetwister.com, 1 icewoman.net, 1 icewood-bois.com, 1 ich-finde-wikipedia-toll.tk, 1 @@ -53985,7 +53848,6 @@ icmarket.com, 1 icmfortaleza.tk, 1 icmhd.ch, 0 -icmp2018.org, 1 icnc.ga, 1 icnsoft.org, 1 ico.wf, 1 @@ -54011,12 +53873,11 @@ icpc2016.in.th, 1 icq-project.net, 1 icq-world.tk, 1 -icreative.nl, 0 +icreative.nl, 1 icruise.com, 1 ics.edu.hn, 1 icst.tk, 1 ict-concept.nl, 1 -ict-crew.nl, 1 ict-radar.com, 1 ict-radar.nl, 1 ict.govt.nz, 1 @@ -54072,7 +53933,6 @@ ideadozz.hu, 1 ideafnd.com, 1 ideageek.net, 1 -ideagen-ops-sandbox.com, 1 ideagenpentana.com, 1 ideagenqpulse.com, 1 ideahub.tk, 1 @@ -54107,6 +53967,7 @@ idee-lq.net, 1 ideeaanzee.tv, 1 ideefactory.de, 1 +idegrafico.com, 0 idehvector.com, 1 ideiasefinancas.com.br, 1 ideice.gob.do, 1 @@ -54160,7 +54021,6 @@ idleleo.com, 1 idlemon.net, 1 idlethoughtsandramblings.com, 1 -idlewildflowers.com, 1 idlxb.com, 1 idmanagement.gov, 1 idmaster.ml, 1 @@ -54202,7 +54062,10 @@ ie.edu, 1 ie.search.yahoo.com, 0 iechistore.com, 1 +ieeeaast.org, 1 ieeedeis.org, 1 +ieeesb.nl, 1 +ieeesbe.nl, 1 ieeespmb.org, 1 iegat.com, 1 iegatpracticetest.com, 1 @@ -54214,7 +54077,6 @@ ienakacs.jp, 1 ienakanote.com, 0 ienekolife.net, 1 -ienergizer.com, 1 ies-italia.it, 0 iesconsultores.com, 1 iesonline.co.in, 1 @@ -54245,6 +54107,7 @@ ifgcdn.com, 1 ifibe.com, 1 ifisher.xyz, 1 +ifitko.cz, 1 ifleurs.com, 1 iflixtv.ga, 1 iflyi.me, 1 @@ -54283,7 +54146,6 @@ ig.me, 1 iga-semi.jp, 1 igamingaffiliateprograms.com, 1 -igamingdirectory.com, 1 igamingnews.com, 1 igamingpocketdirectory.com, 1 igamingsuppliers.com, 1 @@ -54385,7 +54247,6 @@ ihkk.net, 1 ihls.world, 0 ihmphila.org, 1 -ihoey.com, 1 ihorizon.jp, 1 ihorvorotnov.com, 1 ihost.md, 1 @@ -54446,7 +54307,6 @@ ikall.com, 1 ikall.net, 1 ikall.org, 1 -ikarate.ru, 1 ikari-san.tk, 1 ikaria.com.gr, 1 ikaros.tk, 1 @@ -54581,6 +54441,7 @@ illsley.org, 1 illu.ee, 1 illubel.com, 1 +illumed.net, 1 illumepgh.com, 1 illuminatelife.tk, 1 illuminaten.tk, 1 @@ -54649,7 +54510,7 @@ ilyabakhlin.com, 1 ilyatsykunov.com, 1 im-a.cricket, 1 -im-alter-daheim.ch, 1 +im-alter-daheim.ch, 0 im-c-shop.com, 1 im-haus-sonnenschein.de, 1 im-in.space, 1 @@ -54689,7 +54550,6 @@ imaginary.stream, 1 imaginarymakings.me, 1 imaginationpathway.com, 1 -imagine-cs.com, 1 imagine-programming.com, 1 imaginelab.club, 1 imaginescape.tk, 1 @@ -54700,6 +54560,7 @@ imanageproducts.co.uk, 1 imanageproducts.com, 1 imanageproducts.uk, 1 +imanhearts.com, 1 imanolbarba.net, 1 imap.support, 1 imap2imap.de, 1 @@ -54722,10 +54583,8 @@ imbunatatiri-logan.tk, 1 imbushuo.net, 1 imck.ml, 1 -imcreative.ro, 1 imcsi.cn, 1 imdb.com, 1 -imdhd.org, 1 ime-a-tolerancia-eredmenye.club, 1 ime.moe, 1 imed.com.pt, 1 @@ -54745,16 +54604,15 @@ imfacademy.com, 1 imforza.com, 1 img.mg, 1 +img.ovh, 1 imgaa.com, 1 imgbb.com, 1 -imgbu.com, 1 imgencrypt.com, 1 imgg.es, 1 imgo.ga, 1 imgo.tk, 1 imgup.co, 1 imguploaden.nl, 1 -imgx.eu.org, 1 imhn.tk, 1 imhotx.com, 0 imhua.com, 1 @@ -54839,6 +54697,7 @@ imolog.cl, 1 imoner.com, 1 imoner.ga, 1 +imoney.tw, 1 imoneynet.com, 1 imorano.it, 1 imouto.my, 0 @@ -54933,6 +54792,7 @@ imprimante-3d-store.fr, 1 improfestival.ee, 1 improklinikken.dk, 1 +improv.ee, 1 improvebusinessonline.info, 1 improved-madness.de, 1 improvenerg.com, 1 @@ -54970,6 +54830,7 @@ in-depthoutdoors.com, 1 in-flames.com, 1 in-love.tk, 1 +in-ua.com, 1 in.search.yahoo.com, 0 in.xero.com, 0 in10tion.com, 0 @@ -54985,7 +54846,6 @@ inanec.gq, 1 inaned.ga, 1 inantrantung.com, 1 -inanyevent.london, 1 inares.org, 1 inarizona.tk, 1 inazuma7.jp, 1 @@ -55151,20 +55011,18 @@ indoface.ga, 1 indofountain.tk, 1 indogenius.org, 1 +indogermanstartup.com, 1 indogermantrade.de, 1 indoidnews.ga, 1 indoittraining.com, 0 -indonesiakaya.com, 1 indonesian-news.tk, 1 indonesianadventure.id, 1 indonesiatrip.tk, 1 indoor-kletterwald.de, 1 -indoorpaintball.co.uk, 1 indopress.tk, 1 indorsie.com, 1 indospot.ml, 1 indospot.tk, 1 -indota.hu, 1 indotravels.tk, 1 indovinabank.com.vn, 1 indovision.tk, 1 @@ -55221,7 +55079,6 @@ infans.be, 1 infantry.org.ua, 1 infcloud.com, 1 -infectedg.com, 1 infectedvoice.tk, 1 infectingthe.world, 1 infecyon.tk, 1 @@ -55261,6 +55118,7 @@ infinityepos.co.uk, 1 infinityfaces.tk, 1 infinityhts.com, 1 +infinityrecruitinggroup.com, 1 infinitysearch.co, 1 infinitysportsandfitness.in, 1 infinityvr.net, 1 @@ -55277,7 +55135,6 @@ inflate-a-bubbles.co.uk, 1 inflatiecalculator.nl, 1 inflationstation.net, 1 -inflowphysio.com.au, 1 influo.com, 1 influxus.com, 0 info-bay.com, 1 @@ -55361,7 +55218,6 @@ infopico.com, 1 infopreneur.blog, 1 infoprofuse.com, 1 -infoprosnetwork.com, 1 infopuntzorg.nl, 0 inforabota.tk, 1 inforata.com, 1 @@ -55394,7 +55250,6 @@ inforok.tk, 1 inforopub.tk, 1 infortheride.com, 1 -inforumahgresik.com, 1 infosactu.com, 1 infoschool.ml, 1 infosec-handbook.eu, 1 @@ -55407,7 +55262,6 @@ infosecdecompress.com, 1 infosecmates.com, 1 infosecsw.ca, 1 -infosectalks.com, 1 infosectekniques.com, 1 infosective.org, 1 infosenior.ch, 0 @@ -55491,6 +55345,7 @@ infrarate.com, 1 infrareader.com, 1 infraredradiant.com, 1 +infraref.com, 1 infrarot-thermometer.info, 1 infras.fr, 1 infrasend.com, 1 @@ -55562,6 +55417,7 @@ iniiter.com, 1 inima.org, 1 inin.gq, 1 +inishbofin.ie, 1 init.blog, 1 init.de, 1 init3.cn, 1 @@ -55622,7 +55478,6 @@ inmamaskitchen.com, 1 inmaps.xyz, 1 inmatefinancial.com, 1 -inmateintake.com, 1 inmedic.pl, 1 inmemorium.tk, 1 inmemoryofdaniella.com, 1 @@ -55650,13 +55505,14 @@ innico.cf, 1 innio.com, 1 inno.ch, 0 -innocence.org.cn, 1 +innocence.org.cn, 0 innocenceseekers.net, 1 innogames.com, 1 innogames.de, 1 innohb.com, 1 innolabfribourg.ch, 1 innophate-security.com, 1 +innot.net, 1 innoteil.com, 1 innoteknology.com, 1 innotel.com.au, 1 @@ -55687,7 +55543,6 @@ innowire.tk, 1 innsalzachsingles.de, 1 innvisiondesign.net, 1 -innwan.com, 1 inoa8.com, 1 inoder.com, 1 inoio.de, 1 @@ -55697,6 +55552,7 @@ inova.business, 1 inovasirumahku.tk, 1 inovatec.com, 1 +inovatecapi.com, 1 inovatecsystems.com, 1 inovigo.ro, 1 inoxandco.com, 1 @@ -55705,12 +55561,11 @@ inpatec.com, 1 inpdp.tk, 1 inpector.de, 1 -inphi.com, 1 inprint.id, 1 inprosy.com, 1 inprotec.com.co, 1 input.club, 1 -input.pt, 0 +input.pt, 1 input.sh, 1 inputclub.com, 1 inputmodes.com, 1 @@ -55745,7 +55600,6 @@ inshared.nl, 1 inshop.hu, 1 insiberia.tk, 1 -inside19.com, 1 insideastronomy.tk, 1 insideaudit.com, 1 insidebeach.com.br, 1 @@ -55782,15 +55636,14 @@ insomniasec.com, 1 insotech.eu, 1 insouciant.org, 1 -inspas.net, 1 inspiratienodig.nl, 1 inspirationalstories.tk, 1 inspiratorysolutions.com, 1 +inspire-av.com, 1 inspire2rise.com, 1 inspireaanmerking.nl, 1 inspirecollectiveevents.tk, 1 inspired-creations.co.za, 1 -inspired-lua.org, 1 inspiredhousewife.com, 1 inspiredlife.fun, 1 inspiredrealtyinc.com, 1 @@ -55801,7 +55654,6 @@ insrt.uk, 0 insside.net, 1 insta-viewer.ml, 1 -instaart.org, 1 instacart.com, 1 instachina.ru, 1 instacredito.pt, 1 @@ -55996,7 +55848,6 @@ interasistmen.se, 1 interbec.com, 1 interc0der.tk, 1 -interchangeillawarra.org, 1 interchanges.io, 1 intercom-attachments-1.com, 1 intercom-attachments-5.com, 1 @@ -56184,6 +56035,7 @@ intrixgroup.com, 1 intropickup.ru, 1 intropika.tk, 1 +introverted.ninja, 1 intrp.net, 1 intsys.fi, 1 intux.be, 0 @@ -56194,7 +56046,6 @@ inu.nl, 1 inuevostiempos.es, 1 inumcoeli.com.br, 1 -inup.jp, 1 inusasha.de, 1 inuyasha-petition.tk, 1 invadecafe.tk, 1 @@ -56320,7 +56171,6 @@ inwit.tk, 1 inwonderofit.com, 1 inyourcornerinsurance.com, 1 -inyourowntime.info, 1 inyourowntime.zone, 1 inzdr.com, 1 inzeitinteractive.tk, 1 @@ -56388,7 +56238,6 @@ iotportal.tk, 1 iotsms.io, 1 iowacolonytx.gov, 1 -iowaent.com, 1 iowaintex.gov, 1 iowamissingpersons.gov, 1 iowaschoolofbeauty.com, 1 @@ -56452,6 +56301,7 @@ ipigri.tk, 1 ipinfo.tw, 1 ipioneer.ga, 1 +iplaycraft.ru, 1 iplayradio.net, 0 ipleak.net, 1 ipledgeonline.org, 0 @@ -56504,15 +56354,17 @@ ipuservicedesign.com, 1 ipushmail.tk, 1 ipv4.cf, 1 +ipv4.gr, 1 ipv4.rip, 1 ipv6-adresse.dk, 1 ipv6-handbuch.de, 1 ipv6.bible, 1 ipv6.cool, 1 +ipv6.gr, 1 ipv6.jetzt, 0 ipv6ioffentligsektor.se, 1 ipv6vpn.net, 1 -ipvbook.com, 1 +ipvbook.com, 0 ipwho.site, 1 iqos.com.ua, 1 iqos.ml, 1 @@ -56728,7 +56580,6 @@ isadamlari.tk, 1 isakow.cf, 1 isakow.gq, 1 -isakssons.com, 1 isamay.es, 1 isamiok.com, 1 isantv.com, 1 @@ -56737,7 +56588,6 @@ isastylish.com, 1 isavings.com, 1 isbaseballstillon.com, 1 -isbengrumpy.com, 1 isc2estoniachapter.ee, 1 iscert.org, 1 ischool.co.jp, 1 @@ -56817,7 +56667,6 @@ islamnewss.tk, 1 islamo.tk, 1 islamonline.net, 1 -islampos.com, 1 islamqa.info, 1 islamspread.tk, 1 islamvictory.com, 1 @@ -56903,6 +56752,9 @@ israelportalk.tk, 1 israkurort.com, 1 isramedia.tk, 1 +isreedyinthe.uk, 1 +isreedyinthe.us, 1 +isreedyintheuk.com, 1 issa.org.pl, 0 issaias.net, 0 issasfrissa.se, 1 @@ -56956,10 +56808,10 @@ istorrent.is, 1 istratov.tk, 1 istschonsolangeinrente.de, 1 +istsi.org, 1 istudentpro.ml, 1 isuggi.com, 1 isultov.tk, 1 -isustain.com.au, 1 isutils.com, 1 isv.online, 1 isvbscriptdead.com, 1 @@ -56984,6 +56836,7 @@ it-expert.tk, 1 it-inside.ch, 1 it-jobbank.dk, 1 +it-journal.de, 0 it-kron.de, 1 it-maker.eu, 1 it-meneer.nl, 1 @@ -57105,6 +56958,7 @@ ithakama.cz, 1 ithenrik.com, 1 ithinc.net, 1 +ithink.cf, 1 ithjalpforetag.se, 1 ithot.ro, 1 itidying.com, 1 @@ -57172,6 +57026,7 @@ its-truck.net, 1 its-v.de, 1 its.gov, 1 +its420somewhere.com, 1 its4living.com, 1 itsabouncything.com, 1 itsakerhetspodden.se, 1 @@ -57216,7 +57071,7 @@ itsstefan.eu, 1 itstartswithme.ca, 1 itstatic.tech, 1 -itsuitsyou.co.za, 1 +itsuitsyou.co.za, 0 itsupport24.tk, 1 itsupportguys.com, 1 itsynergy.co.uk, 1 @@ -57337,7 +57192,7 @@ iwtsd.gov, 1 iww.me, 1 iww.mx, 1 -ix8.ru, 0 +iwyc.cn, 0 ixaris.com, 1 ixiatiao.com, 1 ixit.cz, 1 @@ -57369,7 +57224,6 @@ izamulhakeem.tk, 1 izanagi52.ddns.net, 1 izavel.com, 1 -izdaher.com, 1 izecubz.me, 1 izilife.co, 1 izipik.gq, 1 @@ -57400,7 +57254,7 @@ j-harrison.co.uk, 1 j-k-fischer-verlag.de, 1 j-l.pw, 1 -j-maxton.de, 0 +j-maxton.de, 1 j-navi.com, 1 j-ph.ovh, 1 j-robertson.com, 1 @@ -57426,7 +57280,6 @@ j32774.com, 1 j32775.com, 1 j32b.com, 1 -j3349.com, 1 j36533.com, 1 j3e.de, 1 j4e.name, 1 @@ -57543,7 +57396,6 @@ jacksfeestverhuur.nl, 1 jackson-quon.com, 1 jacksoncountyfl.gov, 1 -jacksonhu.com, 1 jacksonville.gov, 1 jacksonvilleal.gov, 1 jacksorrell.com, 1 @@ -57621,6 +57473,7 @@ jahner.xyz, 1 jahubar.tk, 1 jaialdi.tk, 1 +jaiestate.com, 1 jaiho-zeetoz1server.ga, 1 jailbreakingisnotacrime.org, 1 jailfood.ga, 1 @@ -57702,10 +57555,11 @@ jamesbillingham.com, 1 jamesbromberger.com, 1 jameschorlton.co.uk, 1 -jamesconroyfinn.com, 1 +jamesconroyfinn.com, 0 jamesdorf.com, 1 jamesedition.com, 1 jamesevans.is, 1 +jamesforman.co.nz, 0 jamesgreenfield.com, 1 jamesheald.com, 1 jameshost.net, 1 @@ -57796,6 +57650,7 @@ janhermann.cz, 1 janhuelsmann.com, 1 jani.media, 1 +janiat.com, 1 janik.cz, 1 janikrabe.com, 1 janine-und-johannes.de, 1 @@ -57808,7 +57663,6 @@ jannehonkonen.tk, 1 jannekekaasjager.nl, 1 jannes-althoff.de, 1 -jannesmeyer.com, 1 jannisfink.de, 1 janokacer.sk, 1 janome.club, 1 @@ -57869,12 +57723,12 @@ jarkkorahkonen.fi, 1 jarl.ninja, 1 jarlette.com, 1 +jarmala.lt, 1 jarmandental.com, 1 jarmatys.pl, 1 jarmix.fi, 1 jarniashop.se, 1 jarno.rocks, 1 -jarnob.xyz, 1 jarnobogaert.com, 0 jarnobogaert.xyz, 1 jarnskog.tk, 1 @@ -57915,7 +57769,6 @@ jasonhardin.me, 1 jasonisclever.com, 1 jasonmili.online, 1 -jasonrobinson.me, 1 jasonsansone.com, 1 jasonsplecoscichlids.com, 1 jasonwei.nctu.me, 1 @@ -57972,13 +57825,12 @@ javiscoffee.com, 1 javitron.tk, 1 javleech.com, 1 -javmobile.net, 1 +javmobile.net, 0 javorina.tk, 1 javsod.top, 1 jawharati.tk, 1 jawn.ca, 1 jawo2008.pl, 1 -jawwad.tk, 1 jaxfstk.com, 1 jaxxnet.co.uk, 1 jaxxnet.org, 1 @@ -57986,7 +57838,6 @@ jaybeez.tk, 1 jaybrokers.com, 1 jaycouture.com, 1 -jaydensar.net, 1 jayf.de, 1 jayfreestone.com, 1 jayharkess.uk, 1 @@ -58003,8 +57854,8 @@ jaymecd.rocks, 1 jaypandit.me, 1 jaypark.gq, 1 +jayrl.com, 1 jaysaw.me, 1 -jayschulman.com, 1 jayshao.com, 0 jayspage.tk, 1 jaytx.com, 1 @@ -58035,6 +57886,7 @@ jbdesignfoundations.com, 1 jbdillon.com, 1 jbeta.is, 1 +jbholdings.co.uk, 1 jblackweb.com, 1 jblan.org, 1 jbliss.net, 1 @@ -58211,6 +58063,7 @@ jeeran.com, 1 jeeranservices.com, 1 jeevanmag.tk, 1 +jeevanpaul.in, 0 jef.yt, 1 jefcorlabs.com, 1 jeff-dom.ovh, 1 @@ -58271,7 +58124,6 @@ jembatankarir.com, 1 jemefaisdesamis.com, 1 jemezsprings-nm.gov, 1 -jemianna.com, 1 jemnezymy.com, 1 jemore.it, 1 jemoreng.tk, 1 @@ -58330,7 +58182,6 @@ jeremycrews.com, 1 jeremynally.com, 1 jeremyness.com, 1 -jeremyrobinlyons.com, 1 jeremysnotes.com, 1 jeremytcd.com, 1 jeremywinn.com, 1 @@ -58339,6 +58190,7 @@ jerichoproject.org, 1 jering.tech, 1 jerisandoval.tk, 1 +jermann.biz, 1 jerodslay.com, 1 jeroendeneef.com, 1 jeroendev.one, 1 @@ -58385,6 +58237,7 @@ jessekaufman.com, 1 jesseklaver.nl, 1 jessem.fr, 1 +jessenaser.com, 1 jessenaser.net, 1 jessenaser.org, 1 jesseonline.tk, 1 @@ -58436,6 +58289,7 @@ jetsieswerda.nl, 1 jetson.tk, 1 jetstreampro.com, 1 +jetstudio.ch, 0 jetswhiteout.com, 1 jettenbommelaer.nl, 1 jettenjachtbouw.eu, 1 @@ -58528,7 +58382,6 @@ jiangwu.eu, 1 jiangxu.site, 1 jiangzm.com, 0 -jianji.de, 1 jianny.me, 1 jianshu.com, 1 jianwei.wang, 1 @@ -58539,11 +58392,13 @@ jiatingtrading.com, 1 jiaty.com, 1 jiaxitian.com, 1 +jiayi.eu.org, 1 jiayi.life, 1 jiazhao.ga, 0 jicaivvip.com, 1 jichi.io, 1 jichi.nz, 1 +jichi000.win, 1 jieyang2016.com, 1 jif.gc.ca, 1 jigsawplanet.com, 1 @@ -58607,6 +58462,7 @@ jintaiyang123.org, 1 jiogo.com, 1 jiotec.net, 1 +jira.com, 0 jiretvariedades.com, 1 jiripik.com, 1 jirkanch-ayollar.ga, 1 @@ -58635,7 +58491,6 @@ jj9721.com, 0 jj9728.co, 1 jjhampton.com, 1 -jjhof.com, 1 jjj.blog, 1 jjsguitarpickups.com, 1 jjspartyhire.co.uk, 1 @@ -58682,6 +58537,7 @@ jlr-luxembourg.com, 0 jls.idv.tw, 1 jltcsecuritygroup.com, 1 +jltctech.com, 1 jmanalansan.com, 1 jmap.support, 1 jmarciniak.it, 1 @@ -58774,8 +58630,6 @@ jobrus.ml, 1 jobs-in-the-middle-east.tk, 1 jobs-it.tk, 1 -jobs.at, 1 -jobs.ch, 1 jobs.schwarz, 1 jobs.su, 1 jobs4sales.ch, 1 @@ -58840,7 +58694,7 @@ joellimberg.com, 1 joellombardo.com, 0 joelmunch.com, 1 -joelotu.com, 1 +joelnichols.uk, 1 joelving.dk, 0 joepitt.co.uk, 0 joerg-wellpott.de, 1 @@ -58993,7 +58847,6 @@ jolle.io, 1 jollyfun.tk, 1 jollygoodspudz.ca, 1 -jollyjoker.de, 1 jollykidswobbleworld.co.uk, 1 jollytotschildminder.com, 1 jolo.software, 1 @@ -59041,7 +58894,6 @@ jonathansomoza.it, 1 jonathantaylorthomas.tk, 1 jonathanwisdom.com, 1 -jonathonkimmel.com, 1 jonba.tk, 1 jonbarron.cf, 1 jonblankenship.com, 1 @@ -59082,6 +58934,7 @@ jonnyflash.tk, 1 jonnygreenwood.tk, 1 jonoalderson.com, 1 +jonohewitt.com, 1 jonola.com, 1 jonpads.com, 1 jonpavelich.com, 1 @@ -59105,7 +58958,6 @@ joorshin.ir, 1 joostbovee.nl, 1 joostmaglev.nl, 1 -joostrijneveld.nl, 1 joostvanderlaan.nl, 1 jootshop.ga, 1 jophson.tk, 1 @@ -59166,6 +59018,7 @@ josejimenezgonzalez.es, 1 josejorques.tk, 1 joseluisberrocal.tk, 1 +josemikkola.fi, 1 josemortellaro.com, 1 josenastrid.tk, 1 josepbel.com, 1 @@ -59315,6 +59168,7 @@ jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 +jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59429,7 +59283,7 @@ juanrodriguezofficial.tk, 1 juanxt.ddns.net, 1 jub0bs.com, 1 -jubileum.online, 1 +jubileum.online, 0 jubileumfotograaf.nl, 1 jucca-nautica.si, 1 juchheim-methode.de, 1 @@ -59501,6 +59355,7 @@ julian-weigle.de, 1 julian.tech, 1 julianaedouglas.ga, 1 +julianaferrari.com.br, 1 julianbroadway.com, 1 juliangonggrijp.com, 1 juliangramajo.tk, 1 @@ -59543,7 +59398,7 @@ julietta-sanchez.org, 1 julio.jamil.nom.br, 1 juliohernandezgt.com, 1 -juliuseskola.org, 1 +juliuseskola.org, 0 juliusklein.tk, 1 julm.de, 1 julmer.tk, 1 @@ -59570,7 +59425,6 @@ jumperke.be, 1 jumperoos.co.uk, 1 jumperweb.tk, 1 -jumpgc.com, 1 jumping4all.com, 1 jumping4all.info, 1 jumping4all.nl, 1 @@ -59617,7 +59471,7 @@ junjie.pro, 1 junjun-web.net, 1 junkcarboys.ca, 1 -junkdrome.org, 1 +junkdrome.org, 0 junkersparadise.tk, 1 junkfoodcafe.com, 1 junkguy.tk, 1 @@ -59650,6 +59504,7 @@ jurisprudentacedo.com, 1 jurist.gq, 1 juristech.io, 1 +juristique.fr, 1 juristique.info, 1 juristique.org, 1 juristique.us, 1 @@ -59683,7 +59538,6 @@ justboom.co, 1 justcalm.tk, 1 justchunks.net, 1 -justeducationonline.com, 1 justement.ch, 1 justfashionnow.com, 1 justfoodfordogs.com, 1 @@ -59755,7 +59609,6 @@ jvwdev.nl, 1 jw.fail, 1 jw1.ca, 1 -jw66.cc, 1 jw77.cc, 1 jwala.diamonds, 1 jwatt.org, 1 @@ -59826,6 +59679,7 @@ k36533.com, 1 k38.cc, 1 k3nny.fr, 1 +k3t.net, 1 k4law.com, 1 k4r.ru, 1 k51365.com, 1 @@ -59865,35 +59719,44 @@ k86690.com, 0 k86813.com, 1 k86814.com, 1 -k86830.com, 0 +k86830.com, 1 k86833.com, 1 k86834.com, 1 k86853.com, 1 -k86855.com, 0 -k86869.com, 0 +k86855.com, 1 +k86869.com, 1 k869.co, 1 k86921.com, 0 k86929.com, 0 k86930.com, 1 -k86966.com, 0 +k86966.com, 1 k86967.com, 0 -k86990.com, 0 +k86990.com, 1 k86991.com, 0 k87.app, 1 -k87021.com, 0 +k87021.com, 1 +k87071.com, 1 +k87072.com, 1 k87073.com, 0 -k87100.com, 0 +k87078.com, 1 +k87081.com, 1 +k87082.com, 1 +k87083.com, 1 +k87100.com, 1 k87120.com, 0 +k87128.com, 1 k87178.com, 1 -k87210.com, 0 +k87183.com, 1 +k87210.com, 1 k873.co, 1 k873.com, 1 k875.co, 1 +k8804.com, 1 k88107.com, 1 k88110.com, 1 k88116.com, 1 k88127.com, 1 -k88133.com, 0 +k88133.com, 1 k88172.com, 1 k88256.com, 1 k88257.com, 1 @@ -59921,7 +59784,7 @@ k88608.com, 1 k88609.com, 1 k8861.com, 1 -k88652.com, 0 +k88652.com, 1 k88670.com, 0 k88671.com, 1 k88672.com, 0 @@ -59929,7 +59792,7 @@ k8892.com, 1 k89.app, 1 k89188.com, 1 -k8994.com, 0 +k8994.com, 1 k8dalao.com, 1 k8didi.com, 1 k8gege.com, 1 @@ -59940,11 +59803,11 @@ k8n.de, 1 k8r.eu, 1 k8slot.com, 0 -k8v02.com, 0 -k8v03.com, 0 -k8v05.com, 0 +k8v02.com, 1 +k8v03.com, 1 +k8v05.com, 1 k8v08.com, 1 -k8v21.com, 0 +k8v21.com, 1 k8v27.com, 0 k8v30.com, 1 k90.com.br, 1 @@ -60029,6 +59892,7 @@ kaesehagen.nl, 1 kafel-ufa.tk, 1 kaffad.site, 1 +kaffeekrone.de, 1 kaffeeringe.de, 1 kaffeesud.org, 1 kaffeklubben.tk, 1 @@ -60090,7 +59954,6 @@ kajak.land, 1 kajakswaderki.pl, 1 kajalkumar.tk, 1 -kajamaakool.ee, 1 kajirakuda.com, 1 kajlovo.cz, 1 kajzonnebeke.tk, 1 @@ -60237,6 +60100,7 @@ kamlunglelystad.tk, 1 kamnob.com, 1 kamokiminoyu.net, 1 +kamp-kisten.nl, 1 kampffische.tk, 1 kamppailusali.fi, 1 kampunginggris-ue.com, 1 @@ -60262,7 +60126,6 @@ kandalife.com, 1 kandelaberi.tk, 1 kandhamal.org, 1 -kandianshang.com, 1 kandofu.com, 1 kandra.com.br, 1 kandrahechiceravudu.com, 1 @@ -60366,10 +60229,8 @@ karacommagere.com, 1 karadenizhaberleri.tk, 1 karajonline.tk, 1 -karalane.com, 0 karamel69.ru, 1 karamomo.net, 1 -karanastic.com, 0 karand.me, 1 karanjthakkar.com, 1 karanlyons.com, 1 @@ -60501,7 +60362,6 @@ kartoffel-tobi.de, 1 kartonki.tk, 1 kartonmodellbau.org, 1 -kartpay.com, 1 kartpower.tk, 1 karula.org, 0 karupp-did.net, 1 @@ -60534,8 +60394,11 @@ kasparovru.tk, 1 kasper-team.tk, 1 kasperstad.dk, 1 +kassa.at, 1 kassa.com, 1 kassa.expert, 1 +kasse.at, 1 +kasse.pro, 1 kassola.tk, 1 kastamonuhaberleri.tk, 1 kastanie-skolen.dk, 1 @@ -60574,7 +60437,6 @@ katekligys.com, 1 katemihalikova.cz, 1 katenka.tk, 1 -katericke.com, 1 katerinastudio.com, 1 katerinaverbovskaya.com, 1 katerman.cf, 1 @@ -60693,8 +60555,6 @@ kazap.co.uk, 1 kazard.co.za, 1 kazarmy.tk, 1 -kazek.com.pl, 1 -kazekprzewozy.pl, 1 kazino5.tk, 1 kazmamall.com, 1 kazna.ml, 1 @@ -60771,6 +60631,7 @@ kcsordparticipation.org, 1 kcsprayfoam.com, 1 kd.net.nz, 1 +kd3.in, 1 kdcinfo.com, 1 kde-je-skladem.cz, 1 kdex.de, 1 @@ -61024,6 +60885,7 @@ keramed.gq, 1 keramikaopava.cz, 1 kerb-grossauheim.de, 1 +kerbin.org, 1 kercovaparty.tk, 1 kerebro.com, 1 kerijacoby.com, 1 @@ -61037,7 +60899,7 @@ kernel-panik.me, 1 kernel.nz, 1 kernelpanics.nl, 1 -kernelprogrammer.com, 1 +kernelprogrammer.com, 0 kernet.com.ar, 1 kernkompas.nl, 1 kerocristais.pt, 0 @@ -61073,6 +60935,7 @@ ketoconazole.gq, 1 ketoliv.dk, 1 ketopower.club, 1 +ketotadka.com, 1 kett.email, 1 kettererholmes.tk, 1 kettinggeleider.be, 1 @@ -61107,7 +60970,6 @@ kevincoynepage.tk, 1 kevincramer.net, 1 kevindienst.blog, 0 -kevindustries.com, 1 kevinfigueroamusic.tk, 1 kevinfoley.org, 1 kevinfumbles.com, 1 @@ -61121,7 +60983,6 @@ kevinmo.com, 0 kevinmoreland.com, 1 kevinn.nl, 1 -kevinpatel.com, 1 kevinperrow.com, 1 kevinpirnie.com, 1 kevinrandles.com, 0 @@ -61132,7 +60993,6 @@ kevyn.lu, 1 kexino.com, 1 key-content.com, 1 -key-form.fr, 1 key-tracker.de, 1 keybase.io, 1 keyblock.ga, 1 @@ -61184,7 +61044,6 @@ kf196.com, 1 kf199.com, 1 kf2525.com, 1 -kf388.com, 1 kf6628.com, 1 kf6636.com, 1 kf66888.com, 1 @@ -61263,7 +61122,6 @@ khebranet.tk, 1 khedmatazma.com, 1 kheshtar.pl, 1 -khetibuddy.com, 1 khetzal.info, 1 khey-tv.fr, 1 khg-orchester.de, 1 @@ -61295,7 +61153,6 @@ ki-management.ch, 1 kiadoapartman.hu, 1 kiahalchemy.com, 1 -kiahoriane.com, 1 kialo-edu.com, 1 kialo-pro.com, 1 kialo.com, 1 @@ -61348,7 +61205,6 @@ kids-world.dk, 1 kids.gov, 1 kids2day.in, 1 -kidsareatrip.com, 1 kidsclub.photos, 1 kidsdaysout.co.uk, 1 kidsdinefree.com, 1 @@ -61436,7 +61292,6 @@ kilpiapp.com, 1 kilte.tk, 1 kimai.cloud, 1 -kimamass.com, 1 kimbal.co.uk, 1 kimballwv.gov, 1 kimberleythomson.tk, 1 @@ -61477,6 +61332,7 @@ kinderbasar-luhe.de, 1 kinderbuecher-kostenlos.de, 1 kinderchor-bayreuth.de, 1 +kinderergotherapie-ik.nl, 1 kinderevents-sehnde.de, 1 kinderfestival.com, 1 kindergarten-neugnadenfeld.tk, 1 @@ -61502,12 +61358,12 @@ kinebamps.be, 1 kinepolis-studio.ga, 1 kinesiologie.tk, 1 +kinesiologikerteminde.dk, 1 kinesiologiodense.dk, 1 kinesiologiskolen-syd.dk, 1 kinesiologiuddannelsen.dk, 1 kinetikos.com.au, 1 kinetiq.com, 1 -kineto.space, 1 king-of-the-castles.com, 1 kingant.net, 1 kinganywhere.eu, 1 @@ -61653,6 +61509,7 @@ kirie-photos.tk, 1 kirig.ph, 1 kirikira.moe, 1 +kirill.ws, 1 kirillaristov.com, 1 kirillpokrovsky.de, 1 kirina.nl, 1 @@ -61832,7 +61689,6 @@ kkcsc.co.jp, 1 kkgn.nl, 1 kki.org, 1 -kkicreative.com, 1 kkiskra.tk, 1 kkk0011.com, 0 kkk101.com, 0 @@ -61847,7 +61703,6 @@ kkk208.com, 0 kkk209.com, 0 kknapredak-rubin.tk, 1 -kkovacs.eu, 1 kkpp.ga, 1 kkr-bridal.net, 1 kkren.me, 0 @@ -61939,7 +61794,6 @@ klev.tk, 1 klever.com.mk, 1 kleverltd.ru, 1 -klexhub.com, 1 kli.is, 1 klickinvite.com, 1 klickstdu.com, 1 @@ -61996,7 +61850,6 @@ klop.info, 1 klose.family, 1 klosko.net, 1 -klothsfrance.com, 1 kloudboy.com, 1 kloza.tk, 1 klpiano.my, 1 @@ -62065,7 +61918,7 @@ knighkidoma.tk, 1 knightsblog.de, 1 knightsbridge.net, 1 -knightsweep.com, 1 +knightsweep.com, 0 knighulki.cf, 1 knigi-free.cf, 1 knigi-market.ml, 1 @@ -62136,7 +61989,6 @@ koalarong.com, 0 koalas.org, 1 koba.jp, 1 -kobar.id, 1 kobb.tk, 1 kobejet.com, 1 kobezda.net, 1 @@ -62196,7 +62048,6 @@ koehn.com, 1 koelbli.ch, 1 koeldezomerdoor.nl, 1 -koelingmonitor.com, 1 koelnmafia.de, 1 koenberkhout.nl, 1 koenigsbrunner-tafel.de, 1 @@ -62228,6 +62079,7 @@ kohoutsautomotive.com, 1 kohparadise.com, 1 kohsandra.com, 0 +kohu.nz, 1 koi-lexikon.de, 1 koidulag.edu.ee, 1 koifish.org, 1 @@ -62235,12 +62087,12 @@ koirala.email, 1 koiro.fi, 1 koishi.pro, 1 -koizumidesign.com, 1 koj.co, 1 koji-tsujitani.net, 1 kojiishikawa.com, 1 kojipkgs.fedoraproject.org, 1 koka-shop.de, 1 +kokankart.com, 1 kokensupport.com, 1 koketteriet.se, 1 kokica.si, 1 @@ -62299,11 +62151,11 @@ kolotsainaskoto.tk, 1 kolpingsfamilie-vechta-maria-frieden.de, 1 kolrami.com, 1 -koltiva.com, 1 koluke.co, 1 koluke.com, 1 kolyapetrov.tk, 1 kom.pe, 1 +komall.net, 1 komarex.pl, 1 komarh.tk, 1 komehyo.co.jp, 1 @@ -62390,7 +62242,6 @@ konoka.top, 1 kononenko.ml, 1 konopizza.at, 1 -konosuke.jp, 1 konpyuta.nl, 1 konsertoversikt.no, 1 konservy.tk, 1 @@ -62526,7 +62377,6 @@ korolevstvo-movie.ml, 1 koroli.tk, 1 koroshkabir.tk, 1 -korporativnabezbednost.rs, 1 korrelzout.nl, 1 korsanparti.net, 1 korst.tk, 1 @@ -62609,6 +62459,7 @@ kouwenhoven.xyz, 1 kov.space, 1 kovachica.tk, 1 +koval.io, 1 kovaldo.ru, 1 kovered.net, 1 kovnsk.net, 1 @@ -62663,7 +62514,6 @@ kraft.blog, 1 kraft.im, 1 kraftek.cf, 1 -kraftpc.com, 1 kraftzeiten.de, 1 krag.be, 1 kraga.sk, 1 @@ -62674,6 +62524,7 @@ krakato.tk, 1 kraken-ttt.com, 1 kraken.io, 0 +kraken.site, 1 krakenrobotik.de, 1 krakozyabra.ga, 1 krakozyabra.gq, 1 @@ -62773,6 +62624,7 @@ kreolis.net, 1 kresimir-blazevic.tk, 1 kreslorotang.com.ua, 1 +krestanskydarek.cz, 1 kretaforum.dk, 1 kretschmann.consulting, 1 kreuzbergflieger.de, 1 @@ -62829,13 +62681,12 @@ kristineskitchenblog.com, 1 kristjanrang.eu, 0 kristofba.ch, 1 -kristofdv.be, 1 +kristofdv.be, 0 kristoffer.is, 1 kriston.tk, 1 kriswauters.tk, 1 kritical.es, 1 kritikawebu.cz, 1 -kritikos.io, 1 kriyayoga.fr, 1 krizevci.info, 1 krizialim.tk, 1 @@ -62858,6 +62709,7 @@ kronos-crm.com, 1 kronos-web.com, 1 kronosproject.tk, 1 +krony.de, 1 kronych.cz, 1 kroon.email, 1 kropkait.pl, 1 @@ -62865,6 +62717,7 @@ krossakorven.tk, 1 krouzkyliduska.cz, 0 krovatka.tk, 1 +kroy.io, 1 kroyou.com, 0 krozilla.tk, 1 krpaforum.org, 1 @@ -63078,7 +62931,6 @@ kspndanautoba.id, 1 ksradio.it, 1 ksrevenue.gov, 1 -kssk.de, 1 kst-dlvr.tk, 1 kst-service.tk, 1 kstitleers.ga, 1 @@ -63142,6 +62994,7 @@ kubusadvocaten.nl, 1 kuchen-am-stiel.de, 1 kucingmania.net, 1 +kucloud.win, 1 kucnibudzet.com, 1 kucukanilardabuyuksirlar.com, 1 kucukayvaz.com, 0 @@ -63151,6 +63004,7 @@ kuditel.net, 1 kudofoto.com, 1 kudoran.tk, 1 +kueche-co.de, 0 kuechler.info, 1 kuehndel.org, 1 kuehnel-bs.de, 0 @@ -63221,6 +63075,7 @@ kunstundkulturradioschoepfwerk.tk, 1 kunstundunrat.de, 1 kunvarji.com, 1 +kunze-medien.de, 0 kuon.me, 1 kuoruan.com, 1 kuotiva.com, 1 @@ -63250,14 +63105,12 @@ kuraga.org, 0 kurani.tk, 1 kurashino-mall.com, 1 -kurd-online.tk, 1 kurd-yogurt.tk, 1 kurdigrafya.com, 1 kurdinfo.tk, 1 kurdishphotography.tk, 1 kurdjokes.tk, 1 kurenivka.tk, 1 -kuretru.com, 1 kurgan-city.tk, 1 kurgan.cf, 1 kurgancity.cf, 1 @@ -63316,6 +63169,7 @@ kutanam.com, 1 kutekeiki.com, 1 kutinsoft.com, 1 +kutip.id, 0 kutsankaplan.com, 1 kutvonen.net, 1 kutyabarathelyek.hu, 1 @@ -63454,7 +63308,6 @@ kz.search.yahoo.com, 0 kzar.co.uk, 1 kzforce.tk, 1 -kzmhk.cz, 1 kzsdabas.hu, 1 l-atelier-c.com, 1 l-i-r.tk, 1 @@ -63492,6 +63345,7 @@ la-boutique-langlois.fr, 1 la-buns.com, 1 la-casa.tk, 1 +la-cave-a-nodo.fr, 0 la-clairiere-arlon.be, 1 la-compagnie-des-elfes.fr, 1 la-fenice-neheim.de, 1 @@ -63510,6 +63364,7 @@ la-vraie-histoire.fr, 1 laab.gv.at, 1 laac.io, 1 +laanius.dk, 1 laarroceriacolombiana.com, 1 laassari.me, 0 laatikko.io, 1 @@ -63585,7 +63440,6 @@ lacantine.xyz, 1 lacapsule.org, 1 lacarniceria.tk, 1 -lacasa.fr, 1 lacasadelmaniqui.net, 1 lacasadelours.fr, 1 lacaserita.org, 1 @@ -63596,7 +63450,6 @@ lacazadora.tk, 1 laceleste.it, 1 lacentral.com, 0 -lacetsfun.com, 1 lacetsroses.ch, 1 laceysfarm.ie, 1 lachainedesentrepreneurs.fr, 1 @@ -63791,11 +63644,9 @@ lakeee.com, 1 lakehavasucitynews.com, 1 lakehavasuhouserentals.com, 1 -lakehavasuwebsites.com, 1 lakelandbank.com, 1 lakelandmom.com, 1 lakemillsiowa.gov, 1 -lakeoswegotowncar.com, 1 lakersview.com, 1 lakesherwoodelectric.com, 1 lakesherwoodelectrical.com, 1 @@ -63806,7 +63657,6 @@ lakesherwoodoutdoorlighting.com, 1 lakeshiremo.gov, 1 lakeshowlife.com, 1 -lakestclairguide.com, 1 lakestreetministorage.com, 1 lakevotes.gov, 1 lakewinnipegdatastream.ca, 1 @@ -63828,6 +63678,7 @@ laled.ch, 0 lalegria.tk, 1 laleli.biz, 1 +lallybroch.com.au, 1 lalokura.tk, 1 lalucepulsata.it, 1 lalucha.tk, 1 @@ -63842,7 +63693,6 @@ lamaline.tk, 1 lamalleauxsaveurs-aubigny.com, 1 lamanne-paris.fr, 1 -lamargheritalruoto.it, 1 lamarieealhonneur.com, 0 lamasacre.tk, 1 lamaturitadidaniele.ml, 1 @@ -63940,7 +63790,6 @@ landfrauen-hermetschwil.ch, 1 landhaus-christmann.de, 0 landhof-scout.de, 1 -landifer.cz, 1 landinfo.no, 1 landing-phillipferreira.herokuapp.com, 1 landingear.com, 1 @@ -64000,6 +63849,7 @@ langenu.tk, 1 langgasse-baar.ch, 1 langhof-immobilien.de, 1 +langhun.me, 1 langjp.com, 0 langley.tk, 1 langleyporter.com, 1 @@ -64007,7 +63857,6 @@ langly.fr, 1 langotie.com.br, 1 langrock.info, 0 -langstreckensaufen.de, 1 languageatplay.de, 1 languagecourse.net, 1 languageio.com, 1 @@ -64041,7 +63890,6 @@ lansoftware.eu, 1 lanternalauth.com, 1 lanternhealth.org, 1 -lanthanum.me, 1 lantian.pub, 1 lanturtle.com, 1 lanuitshanghai.ca, 1 @@ -64086,7 +63934,6 @@ laperreraflamenca.tk, 1 lapetition.be, 1 lapicena.eu, 1 -lapidge.net, 1 lapina.tk, 1 lapinator.net, 1 lapinmalin.tk, 1 @@ -64128,6 +63975,7 @@ laranjada.org, 1 larasm.tk, 1 laravelcommunity.asia, 1 +laraveldirectory.com, 1 larawoodarts.com, 1 larax.tk, 1 larbertbaptist.org, 1 @@ -64143,7 +63991,6 @@ larenaissance.ro, 1 larenas.com, 1 larepublicacultural.es, 1 -laresistencia.xyz, 0 larete.ch, 1 largescaleforums.com, 1 largest-soldiers.cf, 1 @@ -64163,7 +64010,6 @@ larosadelosvientos.tk, 1 larousse-edu.fr, 1 larpkalender.ch, 1 -larplibrary.org, 1 larptreff.de, 1 larraz.es, 1 larry.buzz, 1 @@ -64247,6 +64093,7 @@ lasst-uns-beten.de, 1 last-strike.org, 1 lastbooks.gq, 1 +lastcraft.ru, 1 lastingmarksers.ga, 1 lastingmarksest.ga, 1 lastingsmiles.org, 1 @@ -64269,7 +64116,6 @@ laszloinstitute.com, 1 laszlotamas.hu, 1 lat.sk, 1 -lat46.ch, 0 latabaccheria.net, 1 latabledebry.be, 1 latanadelpolpo.it, 1 @@ -64301,19 +64147,16 @@ latestimmigrationnews.today, 1 latestmata.com, 1 latestmobiles.tk, 1 -latestmyanmarnews.com, 1 latetrain.cn, 1 lathamlabs.com, 1 lathamlabs.net, 1 lathamlabs.org, 1 latia.tk, 1 latiamona.com, 1 -latiendauno.com, 0 latiendawapa.com, 1 latinatoday.it, 1 latinmusiccollection.tk, 1 latino.dating, 1 -latinred.com, 1 latintoy.com, 0 latitudesign.com, 0 latka.tk, 1 @@ -64335,8 +64178,6 @@ laudlab.de, 1 laudon.nl, 1 laudwein.fr, 1 -laudworks.de, 1 -lauensteiner.de, 0 laufpix.de, 1 lauftreff-himmelgeist.de, 0 laughdreamexplore.com, 1 @@ -64352,7 +64193,6 @@ launchmylifend.com, 1 launchpad-app2.com, 1 launchpadder2.com, 1 -laundrydidi.com, 1 laundrylessonsers.ga, 1 laundrylessonsest.ga, 1 laura.network, 1 @@ -64363,6 +64203,7 @@ laurainnes.tk, 1 laurakashiwase.com, 1 lauralaurant.tk, 1 +lauralinde.de, 1 lauraohagan.com, 1 laurasplacefamilysupport.org.au, 1 laurateen.net, 1 @@ -64373,7 +64214,6 @@ laurelcountycorrectionsky.gov, 1 laurenball.com, 1 laurencball.com, 1 -laurenceplouffe.com, 1 laurencesmits.com, 1 laurenlobue.com, 1 laurensvanderblom.nl, 1 @@ -64388,7 +64228,6 @@ laussat.de, 1 laut.digital, 1 lautremode.com, 1 -lauxlawyers.ch, 0 lauzon-hitter.com, 1 lavabit.com, 1 lavabit.no, 1 @@ -64493,8 +64332,8 @@ laxaf.com, 1 laxxl.com, 1 layan-luxurylighting.com, 1 +layar.my.id, 1 layazc.com, 1 -layer8.tk, 0 layermesh.net, 1 layers.media, 1 layflamso.tk, 1 @@ -64522,7 +64361,6 @@ lazownik.pl, 1 lazudi.com, 1 lazulu.com, 1 -lazurit.com, 1 lazyboston.com, 1 lazyframe.com, 1 lazyhelp.com, 1 @@ -64545,7 +64383,6 @@ lbjlibrary.gov, 1 lbls.me, 0 lbpc.pro, 0 -lbph.org, 1 lbrlh.tk, 1 lbrli.tk, 1 lbrls.tk, 1 @@ -64556,61 +64393,37 @@ lc-promiss.de, 1 lc-suites.gr, 1 lc040.com, 1 -lc08080.com, 1 -lc10086.com, 1 +lc08080.com, 0 +lc10086.com, 0 lc18.vip, 1 lc1800.com, 0 -lc1818.net, 1 +lc1818.net, 0 lc2500.com, 0 -lc3708.com, 1 -lc3710.com, 1 -lc3711.com, 1 -lc3714.com, 1 -lc3715.com, 1 -lc3716.com, 1 -lc3717.com, 1 +lc3708.com, 0 +lc3710.com, 0 +lc3714.com, 0 +lc3715.com, 0 lc3720.com, 1 -lc3723.com, 1 -lc3726.com, 1 -lc3729.com, 1 -lc3731.com, 1 +lc3723.com, 0 +lc3729.com, 0 +lc3731.com, 0 lc3732.com, 1 -lc3733.com, 1 lc3736.com, 1 -lc3738.com, 1 -lc3739.com, 1 -lc3741.com, 1 -lc3742.com, 1 -lc3743.com, 1 +lc3742.com, 0 lc3744.com, 1 lc3745.com, 1 -lc3751.com, 1 -lc3757.com, 1 +lc3757.com, 0 lc3759.com, 1 -lc3760.com, 1 -lc3763.com, 1 -lc3772.com, 1 -lc3776.com, 1 -lc3778.com, 1 -lc3779.com, 1 -lc3780.com, 1 -lc3781.com, 1 -lc3782.com, 1 -lc3783.com, 1 -lc3793.com, 1 -lc3794.com, 1 -lc3795.com, 1 -lc3798.com, 1 -lc3799.com, 1 -lc3801.com, 1 -lc3802.com, 1 +lc3760.com, 0 +lc3763.com, 0 +lc3780.com, 0 lc50000.com, 1 -lc5188.net, 1 -lc530.com, 1 -lc555.net, 1 +lc5188.net, 0 +lc530.com, 0 +lc555.net, 0 lc58588.com, 1 -lc6.fun, 1 -lc60000.com, 1 +lc6.fun, 0 +lc60000.com, 0 lc6601.com, 1 lc6603.com, 1 lc6607.com, 1 @@ -64620,17 +64433,17 @@ lc6665.com, 1 lc6686.com, 1 lc6698.com, 1 -lc68.net, 1 -lc68693.com, 1 +lc68.net, 0 +lc68693.com, 0 lc68694.com, 1 -lc68696.com, 1 -lc68884.com, 1 -lc7.fun, 1 +lc68696.com, 0 +lc68884.com, 0 +lc7.fun, 0 lc8.com, 1 lc8.fun, 1 lc8.life, 1 lc8.tv, 1 -lc80000.com, 1 +lc80000.com, 0 lc8005.com, 1 lc80801.com, 1 lc80802.com, 1 @@ -64652,25 +64465,25 @@ lc80818.com, 1 lc80819.com, 1 lc80820.com, 1 -lc818.net, 1 +lc818.net, 0 lc859.com, 1 lc861.com, 1 lc862.com, 1 lc863.com, 1 lc865.com, 1 -lc869.com, 1 +lc869.com, 0 lc871.com, 1 lc873.com, 1 lc875.com, 1 -lc876.com, 1 +lc876.com, 0 lc879.com, 1 -lc88.fun, 1 +lc88.fun, 0 lc8812.com, 1 lc8820.com, 1 -lc8838.com, 1 +lc8838.com, 0 lc8839.com, 1 lc8841.com, 1 -lc8866.com, 1 +lc8866.com, 0 lc8868.net, 1 lc8881.com, 1 lc8885.com, 1 @@ -64681,26 +64494,21 @@ lc8916.com, 1 lc8917.com, 1 lc8918.com, 1 -lc892.com, 1 -lc8924.com, 1 -lc8925.com, 1 -lc8926.com, 1 +lc892.com, 0 lc8928.com, 1 -lc8929.com, 1 lc893.com, 1 lc8930.com, 1 lc8931.com, 1 lc8936.com, 1 -lc895.com, 1 -lc8950.com, 1 -lc897.com, 1 +lc895.com, 0 +lc897.com, 0 lc8a.com, 1 lc8c.com, 1 lc8dc28.com, 0 lc8guidance.com, 1 lc8md77.com, 1 lc9108.com, 0 -lc9158.com, 1 +lc9158.com, 0 lc9256.com, 1 lc98.net, 1 lc9852.com, 1 @@ -64728,7 +64536,7 @@ lcti.biz, 1 lcvip3.com, 1 lcvip5.com, 1 -lcvip6.com, 1 +lcvip6.com, 0 lcvip8.com, 1 lcvip9.com, 1 lcwater.com.tw, 1 @@ -64822,7 +64630,7 @@ leanplando.com, 1 leaodarodesia.com.br, 1 leap-it.be, 0 -leapa.co, 1 +leapa.co, 0 leapandjump.co.uk, 1 leapday.us, 1 leapworks.io, 1 @@ -64864,7 +64672,6 @@ leaseplanbank.de, 1 leaseplanbank.nl, 1 leasit.de, 1 -leaskoupartners.com, 1 leastern.net, 1 leastsignificantbit.de, 1 leatam.fr, 1 @@ -65157,7 +64964,6 @@ legrandvtc.fr, 1 legro.tk, 1 legterm.cz, 1 -legumeinfo.org, 1 legyenkianegykereked.hu, 1 lehighvalleypeds.com, 1 lehmitz-weinstuben.de, 1 @@ -65222,7 +65028,6 @@ lemagauto.fr, 1 lemans.com.gt, 1 lemarcheelagrandeguerra.it, 1 -lemarquier.com, 1 lemasdupalus.com, 1 lemat.de, 1 lemazol.fr, 1 @@ -65243,6 +65048,7 @@ lemonpool.com.tr, 1 lemonrockbiketours.com, 1 lemonrotools.com, 1 +lemuslimpost.com, 1 lena-klein.de, 1 lena-klein.eu, 1 lena-nitro.org, 1 @@ -65311,6 +65117,7 @@ leo-boutique.fr, 1 leo-music.tk, 1 leoandpeto.com, 1 +leob.in, 0 leochedibracchio.com, 1 leocollo.com, 1 leodraxler.at, 1 @@ -65350,7 +65157,6 @@ leoservicosetc.com.br, 1 leoservicosetc.email, 1 leoservicosetc.live, 1 -leoservicosetc.net, 1 leoservicosetc.online, 1 leoservicosetc.rio.br, 1 leoservicosetc.store, 1 @@ -65360,6 +65166,7 @@ leowkahman.com, 1 lep.gov, 1 lepalierjuridique.com, 1 +lepallec.tv, 1 lepartiecomemoracoes.com.br, 1 lepblog.tk, 1 lepenetapeti.com, 1 @@ -65385,7 +65192,7 @@ lequerceagriturismo.com, 1 lequest.dk, 1 lequocthai.com, 1 -lereporter.ma, 1 +lereporter.ma, 0 leretour.ch, 0 lerika.tk, 1 lerku.com, 1 @@ -65661,7 +65468,6 @@ lfyhokk.tk, 1 lg-obchod.cz, 1 lg-store.sk, 1 -lg-waps.go.jp, 1 lg-world.cz, 1 lg.gz.cn, 1 lg0.site, 1 @@ -65696,7 +65502,6 @@ lhconsult.tk, 0 lheinrich.org, 1 lhero.org, 1 -lhgavarain.com, 1 lhost.su, 1 lhp-creation.com, 1 lhp-creation.fr, 1 @@ -65724,7 +65529,6 @@ liangbi.ml, 1 lianglongcredit.com, 1 liangxingai.com, 1 -liangyichen.net, 1 lianwen.kim, 1 liaozheqi.cn, 1 liaronce.com, 1 @@ -65732,7 +65536,6 @@ libbitcoin.org, 1 libble.eu, 1 libbysbooks.com, 1 -libbywinberginteriors.com.au, 1 libcip.org, 1 libcmodbus.org, 1 libcrc.org, 1 @@ -65929,7 +65732,6 @@ lifecraft.cf, 1 lifedrops.com.au, 1 lifeeducationqld.org.au, 1 -lifeenrichmentnc.com, 0 lifefoto.de, 1 lifegoesonsojustsmile.tk, 1 lifeguatemala.com, 1 @@ -65997,7 +65799,6 @@ ligadosgames.com, 1 ligare-fp.com, 1 light.mail.ru, 1 -lightanddarkgame.com, 1 lightbearer.tk, 1 lightbluelearning.com, 1 lightbox.co, 1 @@ -66023,6 +65824,7 @@ lightingsimivalley.com, 1 lightingthousandoaks.com, 1 lightingwestlakevillage.com, 1 +lightme.us, 1 lightmere.com, 1 lightning-wallet.com, 1 lightning.com, 1 @@ -66111,6 +65913,7 @@ lilawadee.tk, 1 lilianejuchli.ch, 1 liliang.moe, 1 +liliang13.com, 1 lilicloth.com, 1 lilidarcek.sk, 1 lilie.fr, 1 @@ -66134,8 +65937,8 @@ lillylove.net, 1 lillypornokatze.net, 1 lilomatrixcorner.fr, 1 -lilosaludable.com, 1 lilou-sportswear.com, 1 +lilousportswear.com, 1 lilov.com.ua, 1 lilpwny.com, 1 liltv.media, 1 @@ -66159,6 +65962,7 @@ limbra.tk, 1 lime-host.cf, 1 lime-host.tk, 1 +limecho.net, 1 limehost.com, 1 limehotel.tk, 1 limelightnashville.cf, 1 @@ -66182,6 +65986,7 @@ limoairporttoronto.net, 1 limoforsale.com, 1 limoshka.ru, 1 +limousineservicezurich.com, 0 limouzines.cf, 1 limouzy-combi.com, 1 limpiadordeporos.online, 1 @@ -66253,7 +66058,6 @@ linearmap.com, 1 linebooks.cf, 1 linedance.tk, 1 -linernotekids.com, 1 lineshop.ml, 1 linestep.jp, 1 linfadenopatia.com, 1 @@ -66283,7 +66087,6 @@ link-medital.com, 1 link-net.ga, 1 link-sanitizer.com, 1 -link.sb, 1 link24.tk, 1 link2link.tk, 1 link2serve.com, 1 @@ -66328,6 +66131,7 @@ linksite.tk, 1 linksmatrix.tk, 1 linkspace.tk, 1 +linksphotograph.com, 1 linkst.co, 0 linkstagr.am, 1 linkthis.me, 1 @@ -66371,6 +66175,7 @@ linoscan.nl, 1 linoskin.com, 1 linoskin.nl, 1 +linosky.ch, 1 linostassi.net, 1 linostor.com, 1 linostor.nl, 1 @@ -66406,7 +66211,6 @@ linux.study, 1 linux3.org, 1 linux4all.tk, 1 -linux4tw.de, 1 linuxadictos.com, 1 linuxarequipa.tk, 1 linuxbabe.com, 1 @@ -66430,6 +66234,7 @@ linuxhub.ro, 0 linuxincluded.com, 1 linuxiuvat.de, 1 +linuxkompis.se, 1 linuxlounge.net, 1 linuxmalta.tk, 1 linuxnetflow.com, 1 @@ -66438,9 +66243,9 @@ linuxsecurity.expert, 1 linuxwerkstatt.net, 1 linuz.it, 1 +linx.net, 1 linxmind.eu, 1 linzyjx.com, 1 -lioe.net, 1 lionchita.tk, 1 lionhosting.nl, 1 lionland.tk, 1 @@ -66476,7 +66281,6 @@ liquidation.tk, 1 liquidationyt.com, 1 liquidbounce.tk, 1 -liquidcomm.net, 1 liquidflash.ml, 1 liquidhost.co, 1 liquidinternet.co, 1 @@ -66500,7 +66304,6 @@ lisahutson.co.uk, 1 lisamaffia.tk, 1 lisanotes.com, 1 -lisanzauomo.com, 1 lisapo.info, 1 lisas.ml, 1 lisasack.net, 1 @@ -66563,7 +66366,6 @@ litecache.de, 1 litecloud.ml, 1 litecoinnews.club, 1 -litecoinnews.info, 1 litehost24.tk, 1 litemind.com, 0 liteminer.cf, 1 @@ -66577,10 +66379,10 @@ literaturka.ga, 1 literaturtage-recklinghausen.de, 1 literie06.com, 1 -literiedupantheon.fr, 1 litespeed-webserver.de, 1 litespeedwebserver.com, 1 litespeedwebserver.de, 1 +litfin.name, 1 litfl.com, 1 lithan.com, 1 lithesalar.se, 1 @@ -66607,6 +66409,7 @@ littleboutiqueshop.uk, 1 littledev.nl, 1 littleduck.xyz, 1 +littlefairy.no, 1 littlefamilyadventure.com, 1 littlefingersindia.com, 1 littlegiants.edu.au, 1 @@ -66617,7 +66420,6 @@ littlemaster.tk, 1 littlenicky.org, 1 littlenina.nz, 0 -littlenlargeevents.co.uk, 1 littleorangecookbook.com, 1 littlepigcreek.com.au, 1 littlepincha.fr, 0 @@ -66769,6 +66571,7 @@ living.video, 1 living2000.com, 1 livingafrugallife.com, 1 +livingforreal.com, 1 livinghebrew.tk, 1 livinginhimalone.com, 1 livinglab.be, 1 @@ -66911,6 +66714,7 @@ loafhead.me, 1 loan-lenders.co.za, 1 loanfreeze.ga, 1 +loanmatch.sg, 1 loanpad.com, 1 loanreadycredit.com, 1 loansharkpro.com, 1 @@ -66945,10 +66749,8 @@ localcleann.uk, 1 localcrew.eu, 0 localcryptopremium.com, 1 -localcryptos.com, 1 locald.at, 1 localegroup.com, 0 -localethereum.com, 1 localexpert.realestate, 1 localhorst.duckdns.org, 1 localhost.cat, 1 @@ -67050,7 +66852,6 @@ locksmithsbluff.com, 1 locksmithsbuda.com, 1 locksmithscottsdaleaz.com, 1 -locksmithservice-cypress.com, 1 locksmithservice-humble.com, 1 locksmithsinsanantoniotx.com, 1 locksmithspring.com, 1 @@ -67119,7 +66920,6 @@ logfile.at, 1 logfile.ch, 1 logger-phillipferreira.herokuapp.com, 1 -logibow.com, 1 logic8.ml, 1 logical-invest.com, 1 logicchen.com, 1 @@ -67236,6 +67036,7 @@ lokjagruktafoundation.com, 1 lokomotivaplzen.cz, 1 lokusec.com, 1 +lol.my.id, 1 lola.by, 1 lolacandy.com, 1 lolalacita.net, 1 @@ -67349,6 +67150,7 @@ long-6.com, 1 long-8.com, 1 long-9.com, 1 +long-journey.com, 1 long008.com, 1 long0310.com, 1 long0311.com, 1 @@ -67481,7 +67283,6 @@ lordshaokahn.tk, 1 lordskate.tk, 1 lordusa.com, 1 -lordusers.com, 1 lore.azurewebsites.net, 1 loreedeslandes.com, 1 loremipsum.info, 1 @@ -67562,7 +67363,6 @@ lost-illusions.tk, 1 lost-in-place.com, 1 lost-perdidos-hiatus.tk, 1 -lost.report, 1 lostandfound.mu, 1 lostarq.com, 1 lostfield.tk, 1 @@ -67589,7 +67389,6 @@ lotimena.com, 1 lotl.ru, 1 lotn.mobi, 1 -lotn.nl, 1 lotnonline.com, 1 lotnonline.net, 1 lotnonline.nl, 1 @@ -67674,7 +67473,6 @@ lovecrystal.co.uk, 1 lovecsnov.tk, 1 lovedaleschool.tk, 1 -lovedonesofprisoners.com, 1 lovedutch.tk, 1 loveforinfo.com, 0 lovegpl.com, 1 @@ -67733,7 +67531,6 @@ lovg.ren, 1 lovin.ga, 1 lovin.tk, 1 -lovingearth.co, 0 lovink.net, 1 lovizaim.ru, 1 lovlyhorses.tk, 1 @@ -67773,7 +67570,6 @@ lpcdops-lafla.gov, 1 lpchemicalsolution.tk, 1 lpcom.de, 1 -lpdp.photo, 1 lpfan.tk, 1 lph.saarland, 1 lphispano.tk, 1 @@ -67813,7 +67609,6 @@ lshiy.com, 1 lskl.fi, 1 lsl.eu, 1 -lsmentor.com, 1 lspdonline.gq, 1 lsquo.com, 1 lsscreens.de, 1 @@ -67979,7 +67774,6 @@ ludwiggrill.de, 1 ludwigjohnson.se, 1 ludwigpro.net, 1 -lueck-bertram.de, 1 luedeke-bremen.eu, 1 lueersen.homedns.org, 1 luehne.de, 1 @@ -68063,7 +67857,6 @@ lukekuza.me, 1 lukem.eu, 0 lukem.net, 1 -lukeng.net, 1 lukepeltier.com, 1 lukesbouncycastlehire.com, 1 lukesutton.info, 1 @@ -68075,7 +67868,6 @@ lukmanulhakim.id, 1 lukonet.com, 1 luksusy.pl, 0 -lukull-pizza.de, 1 lule-kendo.tk, 1 lullugun.net, 1 luls.tk, 1 @@ -68086,7 +67878,6 @@ lumberjackman.tk, 1 lumbre-encendedores.com, 1 lumchan.tk, 1 -lumenapp.com, 1 lumentell.us, 1 lumer.tech, 1 lumi.com, 1 @@ -68185,6 +67976,7 @@ lusitec.pt, 1 lusitom.com, 1 luska.cz, 1 +luso-livros.net, 1 lusoft.cz, 1 lust.works, 1 lustanslakejer.tk, 1 @@ -68268,7 +68060,7 @@ luxvacuos.net, 1 luxwatch.com, 1 luyckx.net, 1 -luyungterd.com, 1 +luyungterd.com, 0 luzat.com, 1 luzfaltex.com, 1 luzi-type.ch, 1 @@ -68281,12 +68073,14 @@ lvee.org, 1 lvfc.co, 1 lvftw.com, 1 +lvguitars.com, 1 lvmoo.com, 1 lvna.capital, 1 lvnacapital.com, 1 lvrsystems.com, 1 lvtrafficticketguy.com, 1 lw1.at, 1 +lwis.me, 1 lwisa.ma, 1 lwl-foej-bewerbung.de, 1 lwl.moe, 1 @@ -68368,7 +68162,7 @@ lyuda.tk, 1 lyukaacom.ru, 1 lyuks-parfyum.tk, 1 -lyuly.com, 0 +lyuly.com, 1 lyx.dk, 1 lz.sb, 1 lz898.com, 1 @@ -68437,6 +68231,7 @@ m9728.co, 1 m9t.ch, 1 ma-canne-a-peche.fr, 1 +ma-eir.nl, 1 ma-paroisse.ch, 1 ma-queue.com, 1 ma-ze-linux.tk, 1 @@ -68485,7 +68280,6 @@ macaw.nl, 1 macawos.com, 1 macaws.org, 1 -macbook.es, 1 maccabi-dent.com, 1 macdj.tk, 1 macedonian-hotels.com.mk, 1 @@ -68546,7 +68340,7 @@ macpress.com.br, 1 macramos.co.za, 1 macreosolutions.com, 1 -macreports.com, 1 +macreports.com, 0 macroeng.tk, 1 macropremia.com.ar, 1 macros.co.jp, 1 @@ -68576,7 +68370,6 @@ maddi.biz, 1 maddin.ga, 1 maddistonevangelical.co.uk, 1 -maddreefer.com, 1 made-dwell.com, 1 made-in-earth.co.jp, 1 made-to-usb.com, 1 @@ -68593,10 +68386,8 @@ madeinamerica.gov, 1 madeincana.com, 1 madeincanarias.net, 1 -madeinolive.com, 0 madeinrussia.com, 1 madeinstudio3.com, 1 -madeintucson.org, 1 madeinua.com, 1 madeira.link, 1 mademoe.com, 1 @@ -68723,9 +68514,9 @@ magenda.sk, 1 magenkompass.de, 1 magentaize.net, 1 +magenx.com, 1 magepro.fr, 1 magescobd.com, 1 -magesy.blog, 1 magewell.nl, 1 maggie-shaw.co.uk, 0 maggiemcgee.tk, 1 @@ -68853,14 +68644,12 @@ mah-nig.ga, 1 mahabharat.tk, 1 mahadihasan.cf, 1 -mahadsunnah.com, 1 mahalaraibanda.ro, 1 mahali.tk, 1 mahalux.com, 1 mahalux.cz, 1 mahanpt.com, 1 mahaskacountyia.gov, 1 -mahatmayoga.org, 1 mahawi.sk, 1 mahayana.tk, 1 mahbobmax.tk, 1 @@ -68932,7 +68721,7 @@ mailexx.ml, 1 mailfence.com, 1 mailflank.com, 0 -mailgun.com, 1 +mailgun.com, 0 mailhardener.com, 1 mailinabox.email, 1 mailinabox.ml, 1 @@ -68975,6 +68764,7 @@ mainhuyahan.tk, 1 mainlandapp.cn, 1 mainlined.org, 1 +mainone.net, 0 mainquest.org, 1 mainstreetartisans.com, 1 maintainyourwebsite.help, 1 @@ -68990,6 +68780,7 @@ maisallianz.com, 1 maisapanama.com, 1 maiscelular.com.br, 1 +maiscuidar.com, 1 maisempregonet.com, 1 maisgasolina.com, 1 maisie.nl, 1 @@ -69022,6 +68813,7 @@ majkassab.com, 1 majkassab.net, 1 majkassab.org, 1 +majkl.me, 1 majkl578.cz, 1 majkyto.cz, 1 majlovesreg.one, 1 @@ -69034,7 +68826,7 @@ makani.be, 1 makanivzw.be, 1 makanj.tk, 1 -makaradigital.com, 1 +makaradigital.com, 0 makariza.com.co, 1 makasetesan.com, 1 make-a-difference-daily.com, 1 @@ -69088,7 +68880,7 @@ makocontrols.com, 1 makohu.tk, 1 makomako.tk, 1 -makonet.com.au, 1 +makonet.com.au, 0 makos.jp, 1 makowitz.cz, 1 maksa.ga, 1 @@ -69158,7 +68950,6 @@ maliar.fr, 1 malibaby.ga, 1 malibu-electric.com, 1 -malibuelectrical.com, 1 malibuexteriorlighting.com, 1 malibulingerie.com, 1 malibumodas.com.br, 1 @@ -69235,7 +69026,6 @@ mamamoet.ru, 1 mamanakormit.tk, 1 mamanecesitaungintonic.com, 1 -mamanura.tk, 1 mamasorganizedchaos.com, 1 mamaxi.org, 1 mamaznaet.ml, 1 @@ -69272,6 +69062,7 @@ man3s.jp, 0 mana.ee, 1 manach.net, 1 +manage.cm, 1 manageathome.co.uk, 1 managed-it.co.za, 1 managedhosting.de, 1 @@ -69318,7 +69109,6 @@ mandelaeffect.tk, 1 mandiblackburnphoto.com, 1 mandilabeachhotel.com, 1 -mandor.id, 1 mandospersonalizados.com, 1 mandrill.fr, 1 manducoshop.com, 1 @@ -69431,6 +69221,7 @@ manski.net, 1 mansora.co, 1 mansora.io, 1 +mansora.net, 1 mansour.io, 1 mansurov.tk, 1 mantachiepharmacy.com, 1 @@ -69564,8 +69355,6 @@ marcapollo.ml, 1 marcbeije.com, 1 marcberndtgen.de, 1 -marcceleiro.cat, 1 -marceau.ovh, 1 marcel-preuss.de, 1 marcel-waldvogel.ch, 1 marcelabarrozo.tk, 1 @@ -69596,7 +69385,6 @@ marcillacetfils.fr, 1 marclange.net, 1 marco-burmeister.de, 1 -marco-goltz.de, 1 marco-hegenberg.net, 1 marco-reitmeier.de, 1 marco-s.net, 1 @@ -69621,6 +69409,7 @@ marcus.pw, 0 marcusburghardt.tk, 1 marcusds.ca, 1 +marcuskoh.com, 1 marcusporter.tk, 1 marcusstafford.com, 1 mardelcupon.com, 1 @@ -69631,7 +69420,6 @@ mare92.cz, 1 marechal-company.com, 1 marei.ad, 1 -marek.su, 0 marekherel.cz, 1 marekkohn.tk, 1 marekkorlak.com, 1 @@ -69678,7 +69466,6 @@ mariamenounos.tk, 1 mariamia.org, 1 marianatherapy.com, 1 -marianelaisashi.com, 1 marianhannah.com, 1 marianhoenscheid.de, 0 mariannenan.nl, 1 @@ -69737,7 +69524,6 @@ marinella.tk, 1 marinershousecalstock.com, 1 marinettecountywi.gov, 1 -maringalazer.com.br, 1 mario-ancic.tk, 1 mario-sarto.com, 1 mario.com.ua, 1 @@ -69782,7 +69568,6 @@ mark-semmler.de, 1 mark1998.com, 1 markaconnor.com, 1 -markacutt.com, 1 markandrosalind.co.uk, 1 markantalyamasajsalonu-bayanmasoz-cim.cf, 1 markdain.net, 1 @@ -69815,6 +69600,7 @@ marketingbrandingnews.net, 1 marketingco.nl, 1 marketingconcafe.com, 1 +marketingconverts.com, 1 marketingdesignu.cz, 1 marketingdigitalefisiente.com, 1 marketingforfood.com, 1 @@ -69839,7 +69625,6 @@ marketsearch.ga, 1 marketsosyali.tk, 1 marketvalue.gq, 1 -markf.io, 1 markfietje.eu, 1 markfisher.photo, 1 markhaehnel.de, 1 @@ -69886,7 +69671,6 @@ marktguru.de, 1 markup-ua.com, 1 markus-blog.de, 1 -markus-dev.com, 1 markus-keppeler.de, 1 markus-musiker.de, 1 markus-ullmann.de, 1 @@ -69924,6 +69708,7 @@ marocnews.tk, 1 marocweb.tk, 1 maroebeni.tk, 1 +marokkaansearganolie.nl, 1 marolu.one, 1 maroquineriepirlot.be, 0 maroshionline.tk, 1 @@ -69975,13 +69760,11 @@ martellosecurity.com, 1 martelus.com, 1 martemeo-wetterau.de, 1 -marten-buer.de, 1 +marten-buer.de, 0 martensmxservice.nl, 1 martensson.io, 1 -martex.pro, 1 marthakenney.com, 1 marthasvillemo.gov, 1 -marthus.com.br, 1 marti201.ga, 1 martial-arts.tk, 1 martialarts-wels.at, 1 @@ -69992,7 +69775,6 @@ martijnschreuders.tk, 1 martijnvanderzande.nl, 1 martijnvdputten.tk, 1 -martin-arend.de, 0 martin-burger.net, 1 martin-caslavsky.tk, 1 martin-loewer.de, 1 @@ -70029,7 +69811,6 @@ martinreed.net, 1 martins.im, 1 martinschulze.org, 1 -martinsfamilyappliance.com, 1 martinsferryoh.gov, 1 martinstepar.cz, 1 martinus.cafe, 1 @@ -70068,6 +69849,8 @@ marvnet.ml, 1 marvnet.tk, 1 marvnetdigital.cf, 1 +marvnetdigital.com, 1 +marvnetdigital.de, 1 marvnetdigital.ga, 1 marvnetdigital.gq, 1 marvnetdigital.ml, 1 @@ -70153,8 +69936,6 @@ masrilanguage.tk, 1 masrur.org, 1 mass.pt, 1 -massa.net, 1 -massaboutique.com, 1 massaer.tk, 1 massage-colleges.com, 1 massage-la-clusaz.com, 1 @@ -70175,6 +69956,7 @@ masse.org, 1 massflix.com, 1 massfone.com, 1 +masshiro.blog, 1 masshost.tk, 1 massive.tk, 1 massiveanalyser.com, 1 @@ -70200,20 +69982,16 @@ mastercareplus-uat.com, 1 mastercareplus.com, 1 mastercheat.net, 1 -masterclasses.online, 1 +mastercomfig.com, 1 masterdan.net, 1 masterdemolitioninc.com, 1 masterdesingweb.tk, 1 masterdigitale.com, 1 masterdrilling.com, 1 -masterenciberseguridadonline.es, 1 -masterenenologiaonline.es, 1 -masterenmarketingdigitaldq.es, 1 masterglasses.ru, 1 masterhelenaroma.com, 1 masterhoteis.com.br, 1 masterin.it, 1 -masteringenieriadelfuego.es, 1 masterjuantex-projects.tk, 1 masterkitchen.com.br, 1 masterminer.tk, 1 @@ -70245,6 +70023,7 @@ mastodon.fun, 1 mastodon.my, 1 mastodon.org.uk, 1 +mastodon.pl, 1 mastodon.top, 1 mastodon.uno, 1 mastodont.tk, 1 @@ -70254,7 +70033,6 @@ maswali.com, 1 maszdobro.pl, 1 mat-berenbostel.de, 1 -mat-ras.com, 1 mat.com.vn, 1 mat.tt, 1 mat99.dk, 1 @@ -70274,8 +70052,8 @@ matchmadeinstubton.com, 1 matchpointusa.com, 1 matchupmagic.com, 1 +matdesign-prod.com, 1 mate.software, 1 -matebalazs.hu, 1 matega.hu, 1 mateidibu.org, 0 mateiko.by, 1 @@ -70291,7 +70069,7 @@ materassi.roma.it, 1 materi.co.id, 1 materiaischiquinho.com.br, 1 -material-ui.com, 1 +material-ui.com, 0 material-world-fuyouhin.com, 1 materialflow.com, 1 materialism.com, 1 @@ -70407,6 +70185,8 @@ mattatoio.eu, 1 mattberryman.org, 1 mattbiscay.com, 1 +mattbsg.xyz, 1 +mattcarr.net, 0 mattcoles.io, 1 mattconstruction.com, 1 mattcorp.com, 1 @@ -70450,6 +70230,7 @@ matthewthode.net, 1 matthewthode.org, 1 matthey.nl, 1 +matthi.coffee, 1 matthi3u.xyz, 1 matthias-muenzner.de, 1 matthias-wimmer.de, 1 @@ -70482,7 +70263,6 @@ matts.contact, 1 matts.software, 1 matts.wiki, 1 -matts.world, 1 mattshi.com, 1 matucloud.de, 1 matuntu.ml, 1 @@ -70490,6 +70270,7 @@ matway.com, 1 matway.net, 1 matyldamost.cz, 1 +matze.co, 1 matze.org, 0 mau.chat, 1 mau.fi, 1 @@ -70506,7 +70287,6 @@ maumovie.ml, 1 maunium.net, 1 mauracher.cc, 1 -mauran.me, 0 maurice-walker.com, 0 mauricechavez.tk, 1 mauricedb.nl, 1 @@ -70539,14 +70319,12 @@ mavro.cf, 1 mavro.ga, 1 mavro.gq, 1 -mawai.com.tw, 1 mawidabp.com, 1 mawo.olkusz.pl, 1 mawrex.tech, 1 max-apk.com, 0 max-it.fr, 1 max-moeglich.de, 1 -max-phone.com, 0 max-went.pl, 1 max.gov, 1 max00365.com, 1 @@ -70590,8 +70368,8 @@ maxico.tk, 1 maxiglobal.net, 1 maxihide.tk, 1 +maxima.at, 0 maximanet.tk, 1 -maximarket.info, 1 maximbaz.com, 1 maximdeboiserie.be, 1 maximdens.be, 1 @@ -70640,7 +70418,6 @@ maxpl0it.com, 1 maxportal.tk, 1 maxrandolph.com, 1 -maxratmeyer.com, 1 maxrider.tk, 1 maxtruxa.com, 1 maxundlara.at, 1 @@ -70650,7 +70427,6 @@ maxus.tk, 1 maxverboom.nl, 1 maxwaellenergie.de, 1 -maxweber.ir, 0 maxweiss.io, 1 maxwell-english.co.jp, 0 maxwellcity.cf, 1 @@ -70659,6 +70435,7 @@ maxwellcody.com, 1 maxwellmoore.co.uk, 1 maxwittfeld.tech, 1 +may24.tw, 1 mayaimplant.com, 1 mayamaibach.org, 1 mayamushrooms.co.uk, 1 @@ -70697,8 +70474,8 @@ maythai.pl, 1 mazartdesign.tk, 1 mazavto.ml, 1 -mazda-mps.de, 0 -mazda-thermote.com, 0 +mazda-mps.de, 1 +mazda-thermote.com, 1 mazda626.net, 1 mazdaofgermantown.com, 1 mazdel.tk, 1 @@ -70730,7 +70507,6 @@ mbcars.be, 0 mbd2021cm.com, 1 mbda.gov, 1 -mbdmagency.com, 1 mbdrogenbos-usedcars.be, 1 mbed.com, 1 mbedcloud.com, 1 @@ -70757,7 +70533,7 @@ mc-auth.com, 1 mc-dos.ru, 1 mc-jobs.net, 1 -mc-pub.org, 0 +mc-pub.org, 1 mc-teemocraft.tk, 1 mc.ax, 1 mc007.xyz, 1 @@ -70766,7 +70542,6 @@ mc81.com, 1 mcadmin.net, 1 mcagon.tk, 1 -mcatnnlo.org, 1 mcb-bank.com, 1 mcblain.ca, 1 mcblain.com, 1 @@ -70776,7 +70551,6 @@ mcconciergerie.com, 1 mccoolesredlioninn.com, 1 mccordscvs.com, 1 -mccordsvillelocksmith.com, 1 mcculloughjchris.com, 0 mcculloughsgolf.com, 1 mccurtainems.gov, 1 @@ -70817,6 +70591,7 @@ mchopkins.net, 1 mchost.no, 1 mchristopher.com, 1 +mchughisle.net, 1 mchuiji.com, 0 mcideas.tk, 1 mcivor.me, 1 @@ -70851,6 +70626,7 @@ mcon.se, 1 mconline.sg, 1 mcoutinho.pt, 0 +mcpa.top, 0 mcpaoffice.com, 1 mcpart.land, 1 mcpat.com, 1 @@ -70872,6 +70648,8 @@ mcsports.es, 1 mcsrvstat.us, 1 mcstaralliance.com, 1 +mcsteve.com, 1 +mctea.tk, 1 mctherealm.net, 1 mctitan.net, 1 mctools.org, 1 @@ -70961,7 +70739,6 @@ meat.tk, 1 meatfoods.com.br, 1 meatfreecarnivore.com, 1 -mebaneattorney.com, 1 mebanesteakhouse.com, 1 mebel-dnr.ml, 1 mebel-voronezh.cf, 1 @@ -71290,7 +71067,6 @@ mecenat-cassous.com, 1 mechanical.tk, 1 mechanics-schools.com, 1 -mechanixdirect.co.uk, 0 mechanus.io, 1 mechaspartans6648.com, 1 mechmk1.me, 1 @@ -71339,6 +71115,7 @@ media-library.co.uk, 1 media-serwis.com, 1 media-start.tk, 1 +media-store.ir, 1 media-valko.hu, 1 media4u.tk, 1 mediaarea.net, 1 @@ -71366,7 +71143,6 @@ medialinkz.ga, 1 medialta.com, 1 medialys.ca, 1 -mediamaklumat.com, 0 mediamarket42.tk, 1 mediamonitors.net, 1 mediamuda.com, 1 @@ -71377,7 +71153,6 @@ mediapuller.com, 1 mediarithmics.com, 1 mediarithmics.io, 1 -mediasouken.co.jp, 1 mediaspike.com, 1 mediasst.com, 1 mediastorm.us, 1 @@ -71395,6 +71170,7 @@ mediawiki.com, 1 mediawiki.org, 1 medic-world.com, 1 +medicairsolutions.com, 1 medical-assistant-colleges.com, 1 medical-centr.tk, 1 medical-contact.de, 1 @@ -71556,7 +71332,7 @@ meetmygoods.com, 1 meetmyown.ga, 1 meetmyown.tk, 1 -meeusen-usedcars.be, 0 +meeusen-usedcars.be, 1 meewan.fr, 1 meeztech.com, 1 meeztertom.nl, 1 @@ -71569,7 +71345,6 @@ mega.nz, 1 megaar.tk, 1 megabike.tk, 1 -megablogging.org, 1 megabook.ml, 1 megabounce.co.uk, 1 megabouncingcastles.com, 1 @@ -71590,7 +71365,6 @@ megalogi.ma, 1 megalol.tk, 1 megam.host, 1 -megamilftube.com, 1 megamillions.tk, 1 megamisja.pl, 1 megamov.eu, 1 @@ -71665,7 +71439,7 @@ meijwebdesign.nl, 1 meikampf.de, 1 meikan.moe, 1 -meiksbar.de, 0 +meiksbar.de, 1 meiler.cf, 1 meilleur-casino-fiable.com, 1 meilleur.info, 1 @@ -71723,7 +71497,6 @@ mejovonakowogov.gq, 1 mekajen.com, 1 mekaleskirit.tk, 1 -mekanagadde.com, 0 mekanika.com.my, 1 mekanismo.tk, 1 mekanova.art, 1 @@ -71733,15 +71506,11 @@ mekawy.tk, 1 mekegi.com, 1 meken.com, 1 -mekesh.com, 1 -mekesh.net, 1 -mekesh.ru, 1 mekkaoui.cf, 1 meklon.net, 1 mekongmontessori.com, 1 melagenina.tk, 1 melanfengshui.com, 1 -melania-voyance.fr, 0 melanie-guy.fr, 1 melanie-schwarze.de, 1 melaniebernhardt.com, 1 @@ -71787,7 +71556,6 @@ melissageorge.tk, 1 melissalb.tk, 1 melissameuwszen.nl, 1 -melissaofficial.tk, 1 meliyb.ga, 1 melkiran.tk, 1 mellika.ch, 1 @@ -71812,10 +71580,10 @@ melosyne.org, 1 melrosemichaels.net, 1 melted.me, 1 -meltzow.net, 1 melvinsfrance.tk, 1 mema.recipes, 1 memberbaz.ml, 1 +memberhk.com, 1 members-arbourlake.com, 1 members-only-shopping.com, 1 members.nearlyfreespeech.net, 0 @@ -71832,6 +71600,7 @@ memetrash.co.uk, 1 memind.net, 1 memiux.com, 1 +memo-linux.com, 1 memo.ee, 1 memoire-resistance-ariege.fr, 1 memoirmedie.dk, 1 @@ -71857,7 +71626,7 @@ menddie.com, 1 mendekuitxua.tk, 1 mendel.tk, 1 -mendelsphotography.com, 1 +mendelsphotography.com, 0 mendelsphotography.tk, 1 menden.com, 1 mendipbouncycastles.co.uk, 1 @@ -71891,7 +71660,7 @@ menlosecurity.com, 1 menn.tk, 1 mennace.com, 1 -menno.cloud, 1 +menno.cloud, 0 menno.me, 1 menole.com, 1 menole.de, 1 @@ -71912,7 +71681,6 @@ mensasifrovacka.cz, 1 mensch-peter.me, 1 menselijkembryo.tk, 1 -menshealthinsurance.com, 1 menspeak.ga, 1 menswear.tk, 1 mental-check.jp, 1 @@ -71942,6 +71710,7 @@ menurutparaahli.com, 1 menzel-motors.com, 0 menzel4you.tk, 1 +menzietti.it, 1 meodihoang.com, 1 meow-games.com, 1 meow.cloud, 0 @@ -72007,8 +71776,6 @@ mercelo.com, 1 mercercountyohio.gov, 1 mercerisland.gov, 1 -merchant.agency, 1 -merchantcardadvisors.com, 1 merchcity.com, 1 mercici.com, 1 mercredifiction.io, 1 @@ -72017,6 +71784,7 @@ mercuryamericas.com, 0 mercurycards.com, 1 mercyseverity.tk, 1 +meredithkm.info, 0 merelskleertjes.tk, 1 merenita.com, 1 merenita.eu, 1 @@ -72055,6 +71823,7 @@ merson.org, 1 merson.tv, 1 mertak.cz, 1 +mertarauh.com, 0 mertcangokgoz.com, 1 meruri.com, 1 mervart.co.uk, 1 @@ -72086,7 +71855,6 @@ meskimonos.fr, 1 meskiukas.tk, 1 meslekifikir.com, 1 -meslekkursu.com, 1 mesmer.tk, 1 mesomeds.com, 1 mesonandino.tk, 1 @@ -72156,7 +71924,6 @@ metallization.tk, 1 metallobaza.ml, 1 metallomania.it, 1 -metalloprokat.market, 1 metallosajding.ru, 1 metalmaniac.tk, 1 metalmonocle.com, 1 @@ -72226,7 +71993,7 @@ meto.eu.org, 1 metod.photo, 1 metop.de, 1 -metric.ai, 1 +metric.ai, 0 metricmutt.com, 1 metrika.ml, 1 metrix-money-ptc.com, 1 @@ -72316,7 +72083,6 @@ mfgo.link, 1 mfgusa.com, 1 mfiles.pl, 1 -mfin.services, 1 mfischer-it.de, 1 mfits.co.uk, 1 mflodin.se, 1 @@ -72328,7 +72094,7 @@ mfsquad.com, 1 mft.global, 1 mftn.eu, 1 -mfxbe.de, 1 +mfxbe.de, 0 mfxer.com, 1 mfzkl.com, 0 mgae.com, 1 @@ -72404,6 +72170,7 @@ miamibeachcommunitychurch.com, 1 miamifl.casa, 1 miamifl.homes, 1 +miamimosque.org, 1 miamiobgyndreams.com, 1 mianbao.ga, 1 miankamran.tk, 1 @@ -72532,10 +72299,11 @@ michey.tk, 1 michibeck.eu, 1 michielbijland.nl, 1 +michielvanfastenhout.nl, 1 michig.tk, 1 michiganhealth.tk, 1 michiganstateuniversityonline.com, 1 -michiganunionoptout.com, 1 +michiganunionoptout.com, 0 michilaw.com, 1 michmexguides.com.mx, 1 michu.pl, 1 @@ -72546,7 +72314,6 @@ micluz.shop, 1 micoff.tk, 1 micolab.com, 1 -micopal.com, 1 micospa.gq, 1 micr0lab.org, 1 micra.org.uk, 1 @@ -72567,6 +72334,7 @@ microl.ink, 1 microlog-online.de, 1 microlog.org, 1 +microlz.com, 0 micromaid.cf, 1 micromata.de, 1 micromind.io, 1 @@ -72577,7 +72345,6 @@ microtel2notch.tk, 1 microtube.tk, 1 microvb.com, 1 -microwavezone.com, 1 microwesen.de, 1 microzubr.com, 1 micruity.com, 1 @@ -72696,7 +72463,6 @@ mijntelefoonboek.com, 1 mijntransacties.nl, 0 mijnwefact.nl, 1 -mika.cat, 1 mika.moe, 1 mikadoe.nl, 1 mikaelf.com, 1 @@ -72707,6 +72473,7 @@ mikaila.tk, 1 mikakalathil.ca, 1 mikakalevi.com, 1 +mikaknuutila.com, 1 mikaknuutila.fi, 1 mikaknuutila.photography, 1 mikalikes.men, 1 @@ -72768,8 +72535,7 @@ mikkonen.bio, 1 miklagard.dk, 1 miklcct.com, 1 -mikmik.co.il, 1 -miknight.com, 1 +miknight.com, 0 mikonmaa.fi, 1 mikori.sk, 1 mikos.tk, 1 @@ -72813,7 +72579,6 @@ milehighmaniac.com, 1 mileme.com, 1 milenaria.es, 1 -milenkojovanov.com, 0 milesaddict.com, 1 milesapart.dating, 1 milesdewitt.com, 1 @@ -72835,7 +72600,6 @@ milkagyengedseg.hu, 1 milkaholic.ml, 1 milkameglepetes.hu, 1 -milkingit.co.uk, 1 milkingit.net, 1 milkingmachine.tk, 1 milkmoovement.io, 1 @@ -72957,10 +72721,8 @@ mindmax.fi, 1 mindmeister.com, 1 mindmusic.online, 1 -mindoktor.se, 0 mindomo.com, 1 mindonmymoney.nl, 1 -mindorbs.com, 1 mindox.com.br, 1 mindresti.tk, 1 mindsetatx.com, 1 @@ -73002,7 +72764,6 @@ minehash.tk, 1 minehattan.de, 1 minehub.de, 1 -minei.me, 1 minelands.ml, 1 minelight.ml, 1 minepack.net, 1 @@ -73021,8 +72782,6 @@ minez-nightswatch.com, 0 minf3-games.de, 1 minfin.gov.ua, 1 -mingky.net, 1 -mingkyaa.com, 1 mingming.info, 1 mingram.net, 1 mingwah.ch, 0 @@ -73112,7 +72871,6 @@ minor.news, 1 minorisa.tk, 1 minoritywhip.gov, 1 -minorshadows.net, 1 minotauro.com.ar, 1 minoxbahia.com.br, 1 minpingvin.dk, 1 @@ -73172,7 +72930,6 @@ mirahezebots.org, 1 mirai-coupon.com, 1 miraidenshi.com, 1 -miraiex.com, 0 miraldi.eu, 1 miramanga.org, 1 miramar-obgyn.com, 1 @@ -73184,7 +72941,6 @@ miraxe.ga, 1 miraxe.gq, 1 mirazonline.tk, 1 -mirazperu.com, 1 mirazperu.tk, 1 mircarfinder.ru, 1 mircreditov.tk, 1 @@ -73216,7 +72972,6 @@ mironi.ml, 1 mironized.com, 1 mironov.tk, 1 -mirror.ua, 1 mirrordream.net, 1 mirrormirror.tk, 1 mirrorsedgearchive.de, 1 @@ -73242,6 +72997,7 @@ misanci.cz, 1 misclick.net, 1 misclick.nl, 1 +misco.it, 1 misconfigured.io, 1 miscuadros.tk, 1 miscursosdebelleza.com, 1 @@ -73333,7 +73089,6 @@ mit.gg, 0 mita-beutel.tk, 1 mita.me, 1 -mitarbeiter-pc.de, 1 mitarbeiterbefragungen.com, 1 mitarbeitermotivation-anleitungen.de, 1 mitchell.id, 1 @@ -73411,7 +73166,6 @@ mix.my, 1 mixandplay.tk, 1 mixedbagashley.com, 1 -mixedmenus.com, 1 mixedrecipe.com, 1 mixes.cloud, 1 mixescloud.com, 1 @@ -73454,9 +73208,9 @@ mjacobson.net, 1 mjanja.ch, 1 mjasm.org, 1 +mjgroup.io, 1 mjhs.org, 1 mjhsfoundation.org, 1 -mjjlab.com, 1 mjkholding.nl, 1 mjmedia.co.za, 1 mjniessen.com, 1 @@ -73507,7 +73261,6 @@ mkg-wiebelskirchen.de, 1 mkhsoft.eu, 1 mkie.cf, 1 -mkinteriores.com.br, 1 mkjl.ml, 0 mkk.de, 1 mkkkrc.ru, 1 @@ -73528,7 +73281,6 @@ mkset.ru, 0 mkt.com, 1 mkt7.de, 1 -mktdigital.info, 1 mktemp.org, 1 mkw.st, 1 mkws.sh, 1 @@ -73631,7 +73383,6 @@ mnbg.tk, 1 mnciitbhu.me, 1 mncloud.de, 1 -mncr.nl, 1 mnd.sc, 1 mndeveloper.com, 1 mne.moe, 1 @@ -73645,10 +73396,8 @@ mnhc.gov, 1 mnienamel.com, 1 mniopenresearch.org, 1 -mnitro.com, 1 mnium.de, 1 mnjg123.de, 1 -mnlfnet.com, 1 mnml.art, 1 mnml.blog, 1 mnml.top, 1 @@ -73769,6 +73518,7 @@ mobizma.com, 1 moblkar.com, 1 mobmp4.info, 1 +mobobe.com, 1 mobolight.ml, 1 mobot.sg, 1 mobsitin.tk, 1 @@ -73798,7 +73548,6 @@ modaexecutiva.com.br, 1 modafinilici.com, 1 modafo.com, 1 -modahouse.co, 1 modalogi.com, 1 modalrakyat.com, 1 modamoom.com.br, 1 @@ -73851,6 +73600,7 @@ modenatoday.it, 1 modenodf.ru, 1 modenuit.fr, 1 +modeportaal.nl, 1 moderatoren.org, 1 modern-family.tv, 1 modern-gaming.ga, 1 @@ -73883,6 +73633,7 @@ mods-community.de, 1 mods.in.th, 1 modscrew.com, 1 +modsecurity.net, 1 modsrigs.com, 1 modul-metal-habitat.fr, 1 modul21.eu, 1 @@ -73918,7 +73669,6 @@ moenew.top, 1 moenew.us, 1 moepass.com, 1 -moeqing.net, 1 moescat.xyz, 0 moesif.com, 1 moetrack.com, 1 @@ -73937,7 +73687,6 @@ mohamedalibenammarmaba.tk, 1 mohamedfouad.tk, 1 mohamedhamdy.tk, 1 -mohamedhamuda.com, 1 mohamedhosting.tk, 1 mohamedookiyo.com, 1 mohamedsherif.ml, 1 @@ -73975,7 +73724,6 @@ mojeco2.cz, 1 mojefedora.cz, 1 mojefilmy.xyz, 1 -mojezegarki.pl, 1 mojilitygroup.com, 1 mojitoparty-articlespara.website, 1 mojizuri.jp, 1 @@ -74077,7 +73825,6 @@ monacoexpress.tk, 1 monad.io, 1 monakasatmasr.com, 1 -monalyse.com, 1 monarch.security, 1 monarchcleanersnc.com, 1 monarchelectric.com, 1 @@ -74148,7 +73895,6 @@ mongolbox.tk, 1 mongolie.net, 1 mongolito.tk, 1 -mongooselock.com.ua, 1 monicahq.com, 1 monicanaranjo.tk, 1 monicapotter.tk, 1 @@ -74226,6 +73972,7 @@ monsterminus.tk, 1 monstermoney.tk, 1 monstersuniversity.ga, 1 +monsterx.cn, 1 mont-thabor.fr, 1 montack.de, 1 montagetravel.com, 1 @@ -74278,7 +74025,6 @@ monzo.me, 1 monzo.tk, 1 moo.la, 1 -moobl.io, 1 moocat.me, 1 moodfoods.com, 1 moodforsex.com, 1 @@ -74368,6 +74114,7 @@ mopedreifen.de, 0 mopie.de, 1 mopliangxing.com, 1 +moplx.com, 1 moppeleinhorn.de, 1 moppelito.tk, 1 moppenfactory.tk, 1 @@ -74386,7 +74133,6 @@ moratilla.ml, 1 morawiecki.pl, 1 morbatex.com, 1 -morbiceramicindustry.com, 1 morbitiles.org, 1 morbius.cz, 1 morbotron.com, 1 @@ -74471,7 +74217,6 @@ morozstudio.tk, 1 morozyaka.tk, 1 morph3d.tk, 1 -morphose.io, 1 morrellllc.com, 0 morris.computer, 1 morrowind-finland.tk, 1 @@ -74548,6 +74293,7 @@ mosurist.tk, 1 moswand.nl, 1 motaber.com, 1 +motchirotchi.com, 1 motd.ch, 1 motekforce.link, 1 motekforcelink.com, 1 @@ -74583,7 +74329,6 @@ motiweb.fr, 1 motlife.net, 0 motmplus.com, 1 -moto-station.com, 1 moto-texnika.tk, 1 motoactionimola.it, 1 motoblogism.com, 1 @@ -74609,9 +74354,6 @@ motomorgen.com, 1 motopoland.com.ua, 1 motor-agro.com, 1 -motor-agro.com.ua, 1 -motor-agro.kz, 1 -motor-agro.ru, 1 motor-cycles.tk, 1 motor-forum.nl, 1 motor1.com, 1 @@ -74619,7 +74361,6 @@ motorcyclesafer.com, 1 motorialab.com, 0 motoridiricerca.tk, 1 -motoroilinfo.com, 0 motorpointarenacardiff.co.uk, 1 motorring.ru, 1 motorslopers.tk, 1 @@ -74661,7 +74402,6 @@ mouniresidences.com, 1 mountain-retreat-center.com, 1 mountain-rock.ru, 1 -mountainairandheating.com, 1 mountainbatchers.de, 1 mountainbell.net, 1 mountaincastle.store, 1 @@ -74688,7 +74428,6 @@ move-out-cleaning.co.uk, 1 moveltix.net, 1 movember.com, 0 -movementdanceacademy.it, 1 movementsodom.tk, 1 movepin.com, 1 movestorm.com, 1 @@ -74916,6 +74655,7 @@ mscc.org, 1 mscenter.cf, 1 msch.pw, 1 +mschuessler.org, 1 msdprojectclearmo.gov, 1 msebera.cz, 1 mselectronique.tk, 1 @@ -74936,7 +74676,6 @@ msl.org, 1 mslivros.com.br, 1 msm-data.com, 1 -msmae-ou.com, 1 msmails.de, 1 msmetana.cz, 1 msn.com, 1 @@ -74964,6 +74703,7 @@ mssa.jp, 1 mssm-portal.com, 1 mssora.com, 1 +mssys.de, 0 mstazakka.com, 1 mstdn.blue, 1 mstdn.fm, 1 @@ -74981,6 +74721,7 @@ msz-fotografie.de, 1 mszavodumiru.cz, 1 mt-bank.jp, 1 +mt-caza.com, 1 mt-tech.fi, 1 mt-west.org, 1 mt.run, 0 @@ -75043,11 +74784,9 @@ mtravelers.net, 1 mtredistricting.gov, 1 mtrip.com, 0 -mtrock.ru, 1 mtrx.tech, 1 mts-energia.eu, 1 mtsoftware.com.au, 1 -mtsolar.es, 1 mtthwbrd.com, 1 mtv.re, 1 mtvernonlisbonpd-ia.gov, 1 @@ -75124,13 +74863,14 @@ muhibbulislam.tk, 1 muhlenbergtwppa.gov, 1 muhrielle.org, 1 +mui.fitness, 1 mui.kitchen, 1 +mui.pet, 1 mui.today, 1 muii.com.br, 1 muii.in, 1 muilties.com, 1 muir.eu.org, 1 -muir.fun, 1 muir.pp.ua, 1 muisoft.fi, 1 muizenpagina.tk, 1 @@ -75162,7 +74902,6 @@ multiagent.tk, 1 multichange.net, 1 multiclinicacardio.com.br, 1 -multicomhost.com, 1 multicore.cl, 1 multicorpbra.com, 1 multievidence.es, 1 @@ -75300,7 +75039,6 @@ murfy.kiwi, 1 murfy.nz, 1 murgi.de, 1 -murielfrenchcouture.fr, 1 murksbreider.tk, 1 murmansk.cf, 1 murmanskforum24x7.tk, 1 @@ -75310,7 +75048,6 @@ murphy-law.net.ru, 1 murray.xyz, 1 murraya.cn, 1 -murraycoin.org, 1 murraycountymn.gov, 1 mursa.tk, 1 mursatov.tk, 1 @@ -75382,7 +75119,6 @@ musichiphop.ga, 1 musichome.tk, 1 musician.dating, 1 -musicindustrydb.org, 1 musicinsiderdigest.com, 1 musickhouseleveling.com, 1 musickorea.tk, 1 @@ -75592,7 +75328,6 @@ my-new-bikini.de, 1 my-nextcloud.at, 1 my-pawnshop.com.ua, 0 -my-photo.me, 1 my-profile.org, 1 my-road.de, 1 my-salesforce-communities.com, 1 @@ -75642,7 +75377,6 @@ myanmar-responsiblebusiness.org, 1 myapexcard.com, 1 myaquaterra.tk, 1 -myarcade.org, 0 myartsjournal.com, 1 myasb.club, 1 myathena.ai, 1 @@ -75691,7 +75425,6 @@ mybuildingcertifier.com.au, 1 mycaelis.fr, 1 mycam.gq, 1 -mycamshowhub.com, 1 mycamshowhub.to, 1 mycard.moe, 1 mycardplace.com, 1 @@ -75782,7 +75515,6 @@ mydigicard.host, 1 mydigitalweek.com, 1 mydistance.tk, 1 -mydna.bio, 1 mydnshost.co.uk, 1 mydoc.fr, 1 mydocserve.com, 1 @@ -76053,9 +75785,6 @@ myowncloud.ovh, 1 myowncloud.pl, 1 myownconference.com, 1 -myownconference.com.ua, 1 -myownconference.pl, 1 -myownconference.ru, 1 myowndisk.com, 1 myowndisk.net, 1 mypaperdone.com, 1 @@ -76214,7 +75943,7 @@ myshiftbid.com, 1 myshikarpur.tk, 1 myshopdisplay.com, 1 -mysidekick.io, 1 +mysidekick.io, 0 mysignal.com, 1 mysites.guru, 1 mysmelly.com, 1 @@ -76429,6 +76158,7 @@ nabaleka.com, 1 nabeer.ga, 1 nabeez.cf, 1 +naberiusmedia.com, 0 nabidkydnes.cz, 1 nabiev.tk, 1 nabitrix.tk, 1 @@ -76486,6 +76216,7 @@ nadoske.info, 1 nadsandgams.com, 1 naduvilathu.tk, 1 +nadyaolcer.fr, 1 naehkurshamburg.de, 1 naemnuk.tk, 1 nafod.net, 1 @@ -76560,7 +76291,6 @@ nakanishi-paint.com, 1 nakarkhana.com, 1 nakayama.industries, 1 -nakayama.systems, 1 nakayamaresearch.com, 1 nakazanie.ga, 1 nakazato-shika.com, 1 @@ -76569,7 +76299,6 @@ nakedfacts.co.uk, 0 nakedinkas.com, 1 nakedtruth.in, 1 -nakedtruthbeauty.com, 1 nakenmodell.tk, 1 nakim.cf, 1 nakin.tk, 1 @@ -76582,7 +76311,7 @@ nako.kr, 1 nako.no, 1 nakupi.online, 1 -nakvartiru.com, 1 +nakvartiru.com, 0 nale-hosting.tk, 1 nalenders.com, 1 nalepky-na-zed.cz, 1 @@ -76599,6 +76328,7 @@ namamala.com, 1 namaperempuan.com, 1 namazon.org, 1 +namazvakitleri.com.tr, 0 namdak.com, 1 namecoin.org, 1 namegen.jp, 1 @@ -76608,7 +76338,7 @@ namepros.com, 1 nameproscdn.com, 1 namereel.com, 1 -namesbee.com, 1 +namesbee.com, 0 nameshield.com, 1 nameshield.net, 1 namesnack.com, 1 @@ -76685,9 +76415,8 @@ nanotrasen.org, 1 nanovolt.nl, 1 nanowallet.io, 1 -nanpuyue.com, 1 nansa.ch, 1 -nanshy.com, 0 +nanshy.com, 1 nanubo.com, 1 nanubo.de, 1 nanwan.info, 1 @@ -76751,7 +76480,7 @@ naris-grc.com, 1 narko-stop.org, 1 narmafzar.tk, 1 -narmos.ch, 0 +narmos.ch, 1 naro.se, 1 narodnaya-medizina.tk, 1 narodniki.com, 1 @@ -76763,7 +76492,7 @@ narrative.org, 1 narrenverein-wolkenschieber.de, 1 narsq.com, 1 -narthollis.net, 0 +narthollis.net, 1 narushil-pdd.cf, 1 narushil-pdd.ga, 1 narushil-pdd.gq, 1 @@ -76803,7 +76532,6 @@ nashkrai.ga, 1 nashuaradiology.com, 1 nashvillebasements.com, 1 -nashvillelidsurgery.com, 1 nashvillesheriff.gov, 1 nashzhou.me, 1 nasilbirsite.tk, 1 @@ -76883,7 +76611,6 @@ nathankonopinski.com, 0 nathanmfarrugia.com, 1 nathanphoenix.com, 1 -nathans.com.au, 1 nathansmetana.com, 1 nathenmaxwell.tk, 1 nathumarket.com.br, 1 @@ -76901,7 +76628,7 @@ nationalhomeimprovements.co.uk, 1 nationalhomequotes.com, 1 nationalmall.gov, 1 -nationalmap.gov, 1 +nationalmap.gov, 0 nationalopera.ml, 1 nationalpriorities.org, 1 nationaltrails.ru, 1 @@ -76925,6 +76652,7 @@ nato-stamps.tk, 1 natropie.pl, 1 nats-flop.tk, 1 +natsumihoshino.com, 1 nattiam.com, 1 natuerlichabnehmen.ch, 1 natunion.ga, 1 @@ -76934,16 +76662,14 @@ natur.com, 1 natura-sense.com, 1 natura2000.tk, 1 -naturalbeautyhacks.com, 0 +naturalbeautyhacks.com, 1 naturalbijou.com, 1 naturalbladdercontrol.tk, 1 naturalcosmetics.cf, 1 naturaldisasters.tk, 1 naturalezafengshui.com, 1 -naturalfit.co.uk, 1 naturalflowerpower.com, 1 naturalkitchen.co.uk, 1 -naturallyvegan.de, 1 naturalspacesdomes.com, 1 naturalstyle.tk, 1 naturana.news, 1 @@ -76956,7 +76682,6 @@ natures-design.biz, 1 naturesbest.co.uk, 1 natureshive.org, 1 -natureword.com, 0 naturheilpraxis-grauer.de, 1 naturheilpraxis-oida.de, 1 naturheilpraxis-p-grote.de, 1 @@ -76964,7 +76689,6 @@ naturopath.tk, 1 naturopatiasiddharta.com, 1 naturparadies-rheinauen.de, 1 -naturtint.co.uk, 1 naturvit.at, 1 natusvita.com, 1 natusvita.com.br, 1 @@ -76978,6 +76702,7 @@ naude.co, 1 naufalpanjwani.com, 1 naughty.audio, 1 +naughtytoy.co.uk, 0 nauris.fi, 1 nauseainthemorning.ml, 1 nausicaahotel.it, 1 @@ -77098,7 +76823,6 @@ nbrii.com, 1 nbriresearch.com, 1 nbrown.us, 1 -nbsgames.at, 1 nbtc.com, 1 nbwp.uk, 1 nc-beautypro.fr, 1 @@ -77249,12 +76973,11 @@ neecist.org, 1 needemand.com, 1 needfire.ga, 1 -needflare.com, 1 needing.cf, 1 needle.net.nz, 1 needle.nz, 1 needrom.com, 1 -needsth.top, 0 +needsth.top, 1 needsupport.us, 1 neeerd.org, 1 neel.ch, 1 @@ -77330,7 +77053,10 @@ nekomata.tk, 1 nekomimi.pl, 1 nekomimirouter.com, 1 +nekomio.com, 1 nekondiciya.cf, 1 +nekosc.com, 1 +nekowa.moe, 1 nekox.ml, 1 nekrasowsky.ml, 1 nekretnine-lidl.hr, 1 @@ -77382,7 +77108,7 @@ nenapu.tk, 1 nenderus.su, 1 neneko.moe, 1 -nengzhen.com.cn, 1 +nengzhen.com.cn, 0 nenkin-kikin.jp, 1 neno.io, 1 neo-novarion.com, 1 @@ -77405,7 +77131,6 @@ neodruid.tk, 1 neoedresources.org, 1 neoeliteconsulting.com, 1 -neofilia.tk, 1 neograftaustintx.com, 1 neohu.com, 1 neoko.fr, 1 @@ -77491,7 +77216,6 @@ nerdsuits.tk, 1 nerdwallet.com, 1 nerdydev.net, 1 -nereustech.com, 1 nerfroute.com, 1 nerion.tk, 1 neriumrx.com, 1 @@ -77537,7 +77261,6 @@ netamia.com, 1 netanin.tk, 1 netapps.de, 1 -netassessor.nl, 1 netba.net, 1 netbank.com.au, 1 netbeacon.de, 1 @@ -77578,7 +77301,6 @@ netexem.com, 1 netexpatcommunity.com, 0 netfabb.com, 1 -netface.com.br, 1 netfeeds.eu, 1 netferie.de, 1 netferie.dk, 1 @@ -77614,7 +77336,6 @@ nethealth.tk, 1 nethlon.net, 1 nethorizon.cn, 1 -nethostingtalk.com, 0 nethound.ga, 1 nethruster.com, 0 nethui.nz, 1 @@ -77622,7 +77343,6 @@ netica.fr, 0 netim.pl, 1 netjobz.tk, 1 -netki.com, 1 netkigestioncomercial.com, 1 netkl.com, 1 netkldemo.com, 1 @@ -77633,7 +77353,6 @@ netletic.com, 1 netlevel.ga, 1 netlify.com, 1 -netliste.com, 1 netlocal.ru, 1 netmaddy.com, 1 netmagicas.com.br, 1 @@ -77656,7 +77375,7 @@ netrabota.tk, 1 netracks.ga, 1 netradyne.com, 1 -netraising.com, 0 +netraising.com, 1 netreviews.tk, 1 netrewrite.com, 1 netrider.net.au, 1 @@ -77725,11 +77444,9 @@ networkdiode.net, 1 networkdiode.org, 1 networker.dk, 1 -networkersdiary.com, 1 networking-groups.co.uk, 1 networking4all.com, 1 networkingnexus.net, 1 -networkingphoenix.com, 1 networkinternetmonitor.com, 1 networkmas.com, 1 networkmidlands.co.uk, 1 @@ -77739,7 +77456,6 @@ networkposting.com, 1 networksecuritysolutions.info, 1 networksolutionsconsultant.com, 1 -networktastic.com, 1 networkthreatdetection.com, 1 networkthreatprotection.com, 1 networktools.tk, 1 @@ -77760,6 +77476,7 @@ netzona.org, 1 netzspielplatz.de, 0 netzsv.website, 1 +netztest.at, 1 netzvieh.de, 1 netzwerk-lq.com, 1 netzwerk-sozialliberal.de, 1 @@ -77772,7 +77489,6 @@ neuhaus-city.de, 1 neumarkcb.com, 1 neurabyte.com, 1 -neuraspike.com, 1 neurexcellence.com, 1 neurobiology.com, 1 neurochip.com, 1 @@ -77852,6 +77568,7 @@ newbackup.ml, 1 newbasemedia.us, 1 newbeginningsresale.com, 1 +newbernpost539.com, 1 newberryfl.gov, 1 newbies.tk, 1 newbietech.cn, 0 @@ -77893,7 +77610,7 @@ newdirectionsolar.com.au, 1 newearth.press, 1 neweggsoft.org, 1 -newendsoft.com, 1 +newendsoft.com, 0 newenglandradioforum.tk, 1 newenglandworkinjury.com, 1 neweratshirts.co.za, 1 @@ -77948,6 +77665,7 @@ newparadigmventures.net, 0 newparrot.tk, 1 newphysics.fi, 1 +newpoke.net, 0 newportbus.co.uk, 1 newposts.ru, 1 newpress24.tk, 1 @@ -78017,7 +77735,6 @@ newsound.vn, 0 newspaper-myapp.herokuapp.com, 1 newspawn.net, 1 -newspiritfilms.com, 1 newspsychology.com, 1 newstel.tk, 1 newsthai.ml, 1 @@ -78055,7 +77772,6 @@ newyorkcardiac.com, 1 newyorkcoffeejobs.com, 1 newyorkhiltonmidtown.com, 1 -newyorkhipknee.com, 1 newyorkland.forsale, 1 newyorknews.tk, 1 newyorkrp.tk, 1 @@ -78138,12 +77854,11 @@ nexussystems.tk, 1 nexwebsites.com, 1 nexxus-sistemas.net.br, 1 -nexzcore.com, 1 neyer-lorenz.de, 1 neyjens.com, 1 nezis.tk, 1 nezkakukec.si, 1 -nezrouge-est-vaudois.ch, 0 +nezrouge-est-vaudois.ch, 1 nezrouge-geneve.ch, 0 nezsultan.tk, 1 nf4.net, 1 @@ -78234,7 +77949,6 @@ nhbp-nsn.gov, 1 nhbp.gov, 1 nhccnews.org, 1 -nhchalton.com, 1 nhdsilentheroes.org, 1 nhglobalpartners.com, 1 nhhoteljobs.nl, 1 @@ -78250,7 +77964,6 @@ nhsuites.com, 1 nhtsa.gov, 1 nhv-vintagelemans.com, 1 -nhw.ovh, 1 ni-mate.com, 1 ni.sb, 1 ni.search.yahoo.com, 0 @@ -78362,7 +78075,6 @@ nickhitch.co.uk, 1 nickhowell.co.uk, 0 nickkallis.com, 1 -nicklazarov.com, 0 nicklock.ml, 1 nickloose.de, 1 nickmandler.tk, 1 @@ -78421,7 +78133,6 @@ nicoleta-prestescu.tk, 1 nicolettajennings.com, 1 niconico.ooo, 1 -niconode.com, 0 nicoobank.com, 1 nicoobook.net, 1 nicorevin.ru, 1 @@ -78491,7 +78202,6 @@ nightcitynews.info, 1 nightclassifieds.com, 1 nightdreamer.me, 1 -nightfirec.at, 1 nightfirecat.com, 1 nighthawks.tk, 1 nighthawkstrategies.com, 1 @@ -78554,6 +78264,7 @@ nikhilnimiya.love, 1 nikhilramakrishnan.tk, 1 nikimix.com, 0 +nikitacartes.xyz, 0 nikitenko.tk, 1 nikitin.photo, 1 nikitina.ml, 1 @@ -78575,6 +78286,7 @@ nikomo.fi, 0 nikonlibrary.co.uk, 1 nikonnps.co.uk, 1 +nikonschool.co.uk, 1 nikosoikonomopoulos.tk, 1 nikosverths.tk, 1 nikscloud.eu, 1 @@ -78587,7 +78299,6 @@ niles.xyz, 1 nilgirispice.co.uk, 1 nilianwo.com, 1 -nilmaracursos.com.br, 1 nilosoft.com, 1 niloxy.com, 1 nilpointer.com, 1 @@ -78632,7 +78343,6 @@ ninecomunicacao.com, 1 ninedaysmore.tk, 1 ninepints.co, 1 -ninesix.cc, 1 ninespec.com, 1 ninetailed.ninja, 1 ninetaillabs.com, 1 @@ -78670,7 +78380,6 @@ ninthfloor.org, 1 ninure.tk, 1 ninux.ch, 0 -ninverse.com, 1 nio.com.ua, 1 nios.cf, 1 niourk.com, 1 @@ -78690,11 +78399,9 @@ nirvana-esport.fr, 1 nirvanashop.com, 1 niscemi.tk, 1 -nishaswonderland.be, 1 nishaswonderland.nl, 1 nishikino-maki.com, 1 nishimebistro.cz, 1 -nishisbma.com, 1 nishiwaki-shonaifoods.com, 1 nishiyama-shoten.com, 1 nisomnia.com, 1 @@ -78716,9 +78423,9 @@ nitrous-networks.com, 0 nitschinger.at, 1 nittel-gaertner.at, 1 +nitter.net, 1 niunaimilk.cn, 1 niutennici.tk, 1 -nivalandemarit.fi, 1 nivarussia.ml, 1 nivel03.com, 1 nivelconlaser.com, 1 @@ -78902,6 +78609,7 @@ noel.wf, 1 noel.yt, 1 noelblog.ga, 1 +noelclaremont.com, 1 noellabo.jp, 1 noellimpag.me, 0 noematic.space, 1 @@ -79041,7 +78749,6 @@ noortronic.com, 1 noorzaitribe.ga, 1 noosxe.com, 1 -nootroic.com, 0 nootropic.com, 1 nootropicpedia.com, 1 nootropil.cf, 1 @@ -79081,7 +78788,6 @@ nordlichter-brv.de, 1 nordlocker.com, 1 nordmoregatebilklubb.com, 1 -nordnetz-hamburg.de, 1 nordor.homeip.net, 1 nordpass.asia, 1 nordpass.com, 1 @@ -79099,6 +78805,7 @@ noref.tk, 1 noregrets.tk, 1 noreply.mx, 1 +norestfortheweekend.com, 1 norfolkgardencare.co.uk, 1 norichanmama.com, 1 noriel.ro, 1 @@ -79169,7 +78876,6 @@ northpointoutdoors.com, 1 northpole.dance, 1 northpost.is, 1 -northridgeelectrical.com, 1 northrose.net, 1 northsegment.com, 1 northstar65.com, 1 @@ -79211,6 +78917,7 @@ noslite.nl, 1 nosmoking.tk, 1 nosproduitsdequalite.fr, 1 +nossasenhora.net, 1 nossasenhoradodesterro.com.br, 1 nossorepresentante.com.br, 1 nostalgicinfinity.tk, 1 @@ -79277,7 +78984,6 @@ nothing.net.nz, 1 nothing.org.uk, 1 nothinux.id, 1 -noticaballos.com, 1 noticiaelmundo.com, 1 noticiasdeautos.site, 1 noticiasdetv.com, 1 @@ -79295,7 +79001,6 @@ notif-moncompte-laposte.info, 1 notificami.com, 1 notifyed.com, 1 -notigatos.es, 1 notilus.fr, 1 notime.tk, 1 notinglife.com, 1 @@ -79339,6 +79044,7 @@ nova-eq.com, 1 nova-host.ml, 1 nova-kultura.org, 1 +nova-wd.org.uk, 1 nova.live, 1 nova401k.com, 1 novabench.com, 0 @@ -79351,7 +79057,7 @@ novaintegra.com, 1 novak.cf, 1 novalite.rs, 1 -novanetnettoyage.fr, 1 +novanetnettoyage.fr, 0 novanetwork.ml, 1 novanice.net, 1 novapur.pl, 1 @@ -79476,14 +79182,13 @@ nqesh.com, 0 nqesh.net, 1 nqesh.org, 1 -nqeshreviewer.com, 0 +nqeshreviewer.com, 1 nr-sputnik.ru, 1 nr1hosting.com, 1 nrail.eu, 1 nrbbs.net, 1 nrbpublishing.com, 1 nrc-gateway.gov, 1 -nrd.gov, 1 nrd.li, 1 nrdstd.io, 1 nrealsport.com, 1 @@ -79499,7 +79204,7 @@ nrsweb.org, 1 nrthcdn.me, 1 nrvc.net, 1 -nrvn.cc, 0 +nrvn.cc, 1 nrvnastudios.com, 1 ns-frontier.com, 1 ns230kvopenhouse.com, 1 @@ -79514,11 +79219,10 @@ nscai.gov, 1 nsdcprayerforce.com, 1 nsfw-story.com, 1 -nshepp-dct-development.azurewebsites.net, 1 +nshepp-dct-development.azurewebsites.net, 0 nshipster.cn, 1 nshipster.co.kr, 1 nshipster.com, 1 -nshipster.es, 1 nsine.be, 1 nsinternational.com, 1 nsinternational.nl, 1 @@ -79565,9 +79269,9 @@ ntinformatique.ca, 1 ntlabs.org, 1 ntotten.com, 1 -ntppool.org, 0 +ntppool.org, 1 ntx360grad-fallakte.de, 1 -ntz.im, 0 +ntz.im, 1 ntzwrk.org, 1 nu-pogodi.net, 1 nu.com.mx, 1 @@ -79654,6 +79358,7 @@ numbercult.net, 1 numbermunchers.net, 1 numberzero.org, 1 +numbrz.co.uk, 1 numeezy.com, 1 numericall.gq, 1 numerik-games.ch, 0 @@ -79811,7 +79516,6 @@ nya-cloud.com, 1 nya.as, 1 nya.one, 1 -nyadora.com, 1 nyadora.moe, 1 nyahururu.tk, 1 nyaken.tk, 1 @@ -79909,7 +79613,6 @@ o-results.ch, 1 o00228.com, 1 o0c.cc, 1 -o0o.one, 1 o15y.com, 1 o2.tn, 1 o2design.tk, 1 @@ -79917,7 +79620,6 @@ o3-staging.herokuapp.com, 1 o3.wf, 1 o36533.com, 1 -o3c.com.br, 1 o3ptitschats.fr, 1 o3wallet.com, 1 o5.cx, 0 @@ -79943,7 +79645,6 @@ oaken.duckdns.org, 1 oakesfam.net, 1 oakface.com.au, 1 -oaklands.co.za, 1 oakparkelectrical.com, 1 oakparkexteriorlighting.com, 1 oakparklandscapelighting.com, 1 @@ -79977,7 +79678,6 @@ obamalibrary.gov, 1 obamawhitehouse.gov, 1 obamed.com, 1 -obasigeorge.com, 1 obatjantungrematik.tk, 1 obbr.tk, 1 obcevents.co.uk, 1 @@ -80061,7 +79761,6 @@ obsessedwithknives.ru, 1 obsessharness.com, 1 obsessivecompulsiveexplained.com, 1 -obsidian.net, 1 obsidianirc.net, 1 obsproject.com, 1 obsuzhday.com, 1 @@ -80343,6 +80042,9 @@ officemovepro.com, 1 officert.ga, 1 officevibe.com, 1 +official-sensitive.co.uk, 1 +official-sensitive.com, 1 +official-sensitive.net, 1 official-sensitive.org, 1 officialhazalturesan.tk, 1 officina.roma.it, 1 @@ -80389,7 +80091,6 @@ oge.ch, 0 ogfarms.in, 1 oggw.us, 1 -oghost.ir, 1 ogis.gov, 1 ogkw.de, 1 oglecountyil.gov, 1 @@ -80406,7 +80107,6 @@ ogurishun.tk, 1 oguya.ch, 1 ogyaa.jp, 0 -oh-leg.com, 1 oh-my-lash.nl, 1 oh14.de, 0 ohai.su, 1 @@ -80518,7 +80218,6 @@ okmaybe.ca, 1 okmirror.net, 1 okmulgeecounty.gov, 1 -okmx.cloud, 1 okmx.de, 1 okna-tm.kz, 1 okna-vek.com.ua, 1 @@ -80555,8 +80254,10 @@ okviz.com, 1 okweb.mx, 1 okwu.cz, 1 +olacatlitter.com, 0 olafnorge.de, 1 olafvantol.nl, 1 +olafwalther.de, 1 olamisys.com, 1 olamisys.email, 1 olamisys.xyz, 1 @@ -80564,7 +80265,6 @@ olasderisa.tk, 1 olasouris.com, 0 olastrafford.org, 1 -olasverdeshotel.com, 1 olatiferreira.com, 1 olax.tk, 1 olbat.net, 1 @@ -80658,13 +80358,13 @@ oliode.tk, 1 olitham.com, 1 olive.my, 1 -oliveconcept.com, 1 oliveiraerios.adv.br, 1 olivejs.com, 1 oliveoil.bot, 1 oliveoil.pro, 1 oliveoilschool.org, 1 oliveoilshop.com, 1 +oliveoiltest.com, 1 oliveoiltimes.com, 1 oliver-wenz.de, 1 oliverah.com, 1 @@ -80752,7 +80452,6 @@ omaharoofpros.com, 1 omahcoin.com, 1 omandatapark.com, 1 -omangrid.com, 1 omanhr.cf, 1 omanko.porn, 0 omaosurveys.org, 0 @@ -80859,6 +80558,7 @@ onaboat.se, 1 onahonavi.com, 1 onair.ovh, 1 +onarto.com, 1 onceuagain.tk, 1 onceuponabow.org, 1 onceuponarainbow.co.uk, 1 @@ -80932,12 +80632,15 @@ onehost.kz, 1 oneidentity.me, 1 oneindex.tk, 1 +oneiroi.co.uk, 1 oneirosociety.tk, 1 onejoon.de, 1 onejourney.global, 1 oneless.tk, 1 onelifenutrition.co.uk, 1 +onemac.pl, 0 onemeter.com, 1 +onemid.net, 1 oneminute.io, 0 oneminutetomindfulness.com, 1 onemonthcamera.tk, 1 @@ -81006,7 +80709,8 @@ oninpresento.ga, 1 onionbot.ga, 1 onionbot.me, 1 -onionplay.eu, 1 +onionflix.net, 1 +onionplay.org, 1 onionscan.org, 1 onionshare.org, 1 onionsocial.com, 1 @@ -81063,7 +80767,6 @@ onlinebupropion.gq, 1 onlinebusiness.law, 1 onlinecarstyling.nl, 1 -onlinecasinobluebook.com, 1 onlinecasinoerdk.com, 1 onlinecasinoreviewz.com, 1 onlinecasinoselite.org, 1 @@ -81172,7 +80875,7 @@ onoelixir.gr, 1 onondaga.gov, 1 onoranze-funebri.biz, 1 -onoranzefunebri.roma.it, 1 +onoranzefunebri.roma.it, 0 onore.org, 1 onourwifi.com, 1 onpatient.com, 1 @@ -81187,7 +80890,6 @@ onrealt.ru, 0 onsenlaichelesdoigts.be, 1 onsetfacilities.com, 1 -onsgenoegen-waz.nl, 1 onsinscrit.com, 1 onsite4u.de, 1 onsitedoc.com, 1 @@ -81304,13 +81006,11 @@ open-trip.id, 1 open.film, 0 open.my.id, 1 -open.ru, 1 openacte.ch, 0 openai.community, 1 openalgeria.org, 1 openarch.nl, 1 openarchivaris.nl, 1 -openbayes.com, 1 openbayesstatus.com, 1 openbeecloud.com, 1 openblox.org, 1 @@ -81339,9 +81039,8 @@ opendataincubator.eu, 1 opendecide.com, 1 opendolls.com, 1 -opendor.me, 1 openevic.info, 1 -openfir.st, 1 +openfir.st, 0 openfitapi-falke.azurewebsites.net, 1 openformula.com, 1 openforvintage.com, 1 @@ -81404,7 +81103,7 @@ opentable.com.au, 1 opentrack.info, 1 opentrash.org, 1 -openverse.com, 1 +openverse.com, 0 openvision.tk, 1 openvz.org, 1 openwaveguide.de, 1 @@ -81567,18 +81266,18 @@ oqrqtn7ynmgc7qrgwd-ubhdvfiymfbjrh5ethdti8.com, 0 oqwebdesign.com, 1 orablanket.co.nz, 1 +oracaodocredo.com.br, 1 oracleclown.com, 1 oracolo.tk, 1 oraklinika.tk, 1 +oralb-prestazioni-odontoiatriche.it, 1 +oralbregalaoralb.it, 1 oraldigital.com.br, 1 -oralee.org, 1 oralemiraza.com, 1 oralight.ml, 1 orang-utans.com, 1 orangeacademy.cz, 1 orangecityfl.gov, 1 -orangecomputers.com, 1 -orangefab.asia, 1 orangefinanse.com.pl, 1 orangehome.ga, 1 orangejetpack.com, 1 @@ -81626,6 +81325,7 @@ orchidhouse.sk, 0 orchidlive.com, 1 orchids.ua, 1 +orchidsforum.com, 1 orcomsilver.tk, 1 orcsnet.com, 1 orcz.cz, 1 @@ -81692,7 +81392,7 @@ organictanningest.ga, 1 organisatieteam.nl, 1 organisation-mariage.net, 1 -organise.earth, 1 +organise.earth, 0 organizacasa.com.br, 1 organizasyon.tk, 1 organization-of-holidays.tk, 1 @@ -81777,7 +81477,6 @@ oro.roma.it, 1 orocojuco.com, 1 oroconews.com.br, 1 -orodelsalento.com, 1 orologeria.roma.it, 1 orovillelaw.com, 1 oroygrana.com, 1 @@ -81788,10 +81487,10 @@ orquestas.tk, 1 orrs.de, 1 orsal.fr, 1 -ortaev.tk, 1 ortanatech.com, 1 ortegaportfolio.com, 1 ortemis.host, 1 +orteo.co, 1 ortho-graz.at, 1 orthocab.com, 1 orthocop.cz, 1 @@ -81829,7 +81528,6 @@ osagokasko.ga, 1 osaka-hero-project.com, 0 osakaevoce.com.br, 1 -osakeannit.fi, 1 osakerekisteri.fi, 1 osaki.fr, 1 osamabook.tk, 1 @@ -81918,6 +81616,7 @@ osszekotatermeszettel.hu, 1 ostan-collections.net, 1 ostankino.tk, 1 +ostechnix.com, 1 osteendiner.com, 1 ostek.tk, 1 ostendorf.com, 1 @@ -81979,7 +81678,7 @@ otgadaika.tk, 1 other98.com, 1 otherkinforum.com, 1 -otherlandlabs.com, 1 +otherlandlabs.com, 0 otherwise.tk, 1 othrys.net, 1 oticasvisao.net.br, 1 @@ -82119,6 +81818,7 @@ outgress.com, 1 outgrow.co, 1 outincanberra.com.au, 1 +outka.xyz, 1 outlaw-star.tk, 1 outline.ski, 1 outline.vn, 1 @@ -82168,7 +81868,6 @@ overener.com, 1 overframe.gg, 1 overheek.tk, 1 -overlandliberty.be, 1 overlevers.tk, 1 overlord.network, 1 overmorgen.nl, 1 @@ -82193,6 +81892,7 @@ overtunes.tk, 1 overture.london, 1 overwall.org, 1 +overwatchss.club, 1 overzicht.pro, 1 overzicht.ws, 1 oveweddings.com, 1 @@ -82309,7 +82009,6 @@ oyunoynuyalim.tk, 1 oz-artfocus.com, 1 oz-style.com, 1 -ozalp.dk, 1 ozarkinspected.com, 1 ozcreatives.tech, 1 ozel-ders.tk, 1 @@ -82332,7 +82031,6 @@ ozudogru.com, 1 ozvolvo.org, 1 ozzyfant.de, 1 -p-0.me, 1 p-art.design, 1 p-fent.ch, 1 p-home.tk, 1 @@ -82342,6 +82040,7 @@ p-p.site, 1 p-pc.de, 1 p-s-b.com, 1 +p-soc.com.br, 1 p-store.net, 1 p-t.io, 1 p-vegas.com, 1 @@ -82437,6 +82136,7 @@ pacco.tk, 1 paccolat.name, 1 pace.car, 0 +pace99.biz, 1 pacecounsel.com, 1 paceda.nl, 1 paceinvestmentclub.com, 1 @@ -82481,6 +82181,7 @@ packetdigital.com, 1 packetlinux.com, 1 packetoverflow.com, 1 +packlane.com, 1 packliberte.org, 1 packov.cz, 1 packservice.es, 1 @@ -82576,13 +82277,11 @@ paidtocode.com, 1 paidtodesign.com, 1 paidtodev.com, 1 -paidtohavesex.com, 1 paiementdp.com, 1 paig.pl, 1 paige.ai, 1 paigeglass.com, 1 paigethegeek.com, 1 -paikkatietokanta.net, 1 pain-talk.org.uk, 1 painart.ru, 1 paincareehr.com, 1 @@ -82700,7 +82399,6 @@ palli.ch, 0 palmaprop.com, 1 palmarinaestrada.com.br, 1 -palmas.lk, 1 palmavile.us, 0 palmaville.com, 0 palmbeachcounty-fl.gov, 1 @@ -82811,7 +82509,6 @@ pangeaservices.com, 1 panghu.me, 1 pangoly.com, 1 -panhandlemenshealth.com, 1 panheelstraat.tk, 1 panic-away.tk, 1 panic.tk, 1 @@ -82942,6 +82639,7 @@ paradisestore.org, 1 paradisim.tk, 1 paradordelgitano.com, 1 +paradoxdesigns.org, 1 paradoxium.ml, 1 paraelganzo.tk, 1 paragon-consult.ru, 1 @@ -82960,6 +82658,7 @@ paramo-pineiro.tk, 1 paramountdentalcenter.com, 1 paranoidandroid.tk, 1 +paranoidmode.com, 1 paranoidpenguin.net, 1 paranormales.tk, 1 paranoxer.hu, 1 @@ -83269,7 +82968,6 @@ password.consulting, 1 passwordgenerator.ml, 1 passwordhashing.com, 1 -passwordkeeperbooks.com, 1 passwordlist.io, 0 passwords.google.com, 1 passwordscon.com, 1 @@ -83365,13 +83063,13 @@ patricefyffe.gq, 1 patriceonline.tk, 1 patricia-lackovic.from.hr, 1 -patriciaandpaul.com, 1 patriciakraken.at, 1 patriciaramos.pt, 1 patriciaroy.co, 1 patrick-braun.tk, 1 patrick-omland.de, 1 patrick-omland.eu, 1 +patrick-othmer.de, 1 patrick-robrecht.de, 1 patrick.my-gateway.de, 1 patrick21.ch, 1 @@ -83383,7 +83081,6 @@ patrickdankers.nl, 1 patrickhoefler.net, 1 patricklustigmediation.com, 1 -patrickneuro.de, 1 patrickpeeters.com, 1 patricksymmes.com, 1 patrikjohan.cf, 1 @@ -83558,7 +83255,7 @@ paylessmealsest.ga, 1 paylike.io, 1 paylike.se, 1 -paymaster.link, 1 +payloc.io, 1 payme.plus, 1 payme.uz, 1 payment-express.net, 1 @@ -83595,6 +83292,7 @@ paytm.in, 1 payupay.ru, 1 paywait.com, 1 +payzang.com, 1 pazyarmonia.tk, 1 pb-design.ch, 1 pb-eatz.com, 1 @@ -83604,7 +83302,6 @@ pback.se, 1 pbcables.tk, 1 pbcknd.ml, 1 -pbcomp.com.au, 0 pbern.xyz, 1 pbest.tk, 1 pborn.eu, 1 @@ -83622,7 +83319,6 @@ pc-mac.de, 1 pc-master.pl, 1 pc-remont.tk, 1 -pc-rescue.me, 0 pc-servis-brno.com, 1 pc-soft.gq, 1 pc-soft.tk, 1 @@ -83663,7 +83359,6 @@ pchelpforum.net, 1 pci-e.net, 1 pci4.org, 1 -pciconcursos.com.br, 1 pcie.ac, 1 pcipal.com, 1 pcisecuritystandards.org, 1 @@ -83765,7 +83460,7 @@ peak-careers.com, 1 peakd.com, 1 peakhillre.ga, 1 -peakhomeloan.com, 1 +peakhomeloan.com, 0 peakseoservices.co.uk, 1 peaksloth.com, 1 peakvets.co.uk, 1 @@ -83829,6 +83524,7 @@ pedro.com.es, 1 pedrobotias.tk, 1 pedrolamas.com, 1 +pedrollo-ua.com, 1 pedroministro.pt, 1 pedromunoz.tk, 1 pedrooliveira.tk, 1 @@ -83957,7 +83653,6 @@ pengisatelier.net, 1 pengui.uk, 1 penguin.co.uk, 1 -penguinbits.net, 0 penguinclientsystem.com, 1 penguindrum.moe, 1 penguinos.tk, 1 @@ -83974,6 +83669,7 @@ pennergold.net, 1 pennhillspa.gov, 1 pennington.io, 1 +pennyapp.io, 0 pennymail.ga, 1 pennywise.tk, 1 peno1.tk, 1 @@ -84061,8 +83757,6 @@ peperoni.tk, 1 peperstraat.online, 1 pepfar.gov, 0 -pepgrid.net, 0 -pepkey.net, 1 peplex.ddns.net, 1 peplex.nl, 1 pepme.net, 0 @@ -84072,7 +83766,6 @@ peppyflora.com, 1 pepsi.investments, 1 pepsipromos.com, 1 -pepstaff.net, 0 pepta.net, 1 pepul.com, 1 pepwaterproofingllc.com, 1 @@ -84100,6 +83793,7 @@ perdanabagus.tk, 1 perdita-capelli.tk, 1 perdolyathlendr.tk, 1 +pereceh.eu.org, 1 perecraft.com, 1 peredovaya.tk, 1 peredoz.tk, 1 @@ -84224,7 +83918,6 @@ persiandating.tk, 1 persiart.shop, 1 persiennexperten.se, 1 -persiennkompaniet.se, 1 persistshields.org, 1 persjrp.ca, 1 persoform.ch, 1 @@ -84232,6 +83925,7 @@ personal-genome.com, 1 personalaccidentsers.ga, 1 personalaccidentsest.ga, 1 +personalfunctionaldata.net, 1 personalidadmagnetica.com, 1 personalinjurylawcal.com, 0 personalityjunkie.com, 1 @@ -84249,9 +83943,10 @@ personlookup.com.au, 1 personnedisparue.fr, 1 personskadeadvokater.no, 1 -perspective.com.tr, 1 +perspective.com.tr, 0 perspectivum.com, 0 -perspektivwechsel-coaching.de, 1 +perspektivwechsel-coaching.de, 0 +persson.im, 1 persson.me, 1 perth-seo-agency.com.au, 0 perthhillsarmadale.com.au, 1 @@ -84285,6 +83980,7 @@ pesandansampai.tk, 1 pesar.tk, 1 pescadorcomunicacao.com, 1 +pescadorcomunicacao.com.br, 1 pescanetworks.tk, 1 pescatrucha.tk, 1 pescco.com.br, 1 @@ -84414,7 +84110,6 @@ petitsfrenchies.com, 1 petitsfreresdespauvres.fr, 1 petitu.mx, 1 -petja.me, 0 petjoy.co.za, 1 petkiss.ga, 1 petknight.ga, 1 @@ -84820,6 +84515,7 @@ photography-workshops.net, 1 photographyforchange.com, 1 photographyforchange.org, 1 +photographymof.com, 1 photolakeview.com, 1 photolessya.by, 1 photomaniastore.com, 1 @@ -84834,6 +84530,7 @@ photoreal.tk, 1 photosafari.com.my, 1 photosafaribg.com, 1 +photosaloncontest.com, 0 photoscheduleers.ga, 1 photoscheduleest.ga, 1 photosgaia.ch, 1 @@ -84915,7 +84612,6 @@ physicalism.com, 1 physicalist.com, 1 physicianbookest.ga, 1 -physicpezeshki.com, 1 physics-schools.com, 1 physik.hu, 1 physik.lol, 1 @@ -84929,7 +84625,7 @@ physiovesenaz.ch, 0 phytosunaroms.com, 1 pi-dash.com, 1 -pi-hole.net, 1 +pi-hole.net, 0 pi-net.dedyn.io, 1 pi-supply.com, 1 pi1.io, 1 @@ -84951,13 +84647,11 @@ pianyigou.com, 1 piaohong.tk, 1 piasativa.com, 1 -piastaola.com, 0 +piastaola.com, 1 piasto.com.cy, 1 piata-imobiliara.tk, 1 -piata.com.br, 1 piataborrachas.com.br, 1 piatabrasil.com.br, 1 -piatatem.com.br, 1 piatenko.ml, 1 piatika.com, 1 piatika.in, 1 @@ -84965,7 +84659,7 @@ piboston.org, 1 piboubes.me, 1 pic.gov, 1 -pic.pm, 1 +pic.pm, 0 pic.sr, 1 pic2map.com, 1 pic2pat.com, 1 @@ -85018,7 +84712,6 @@ picstreak.com, 1 pictopat.com, 1 pictopat.nl, 1 -pictorial.com.sg, 1 pictoriastudios.com, 1 pictorista.com, 1 pictr.nl, 1 @@ -85080,6 +84773,7 @@ pietrosoft.tk, 1 pietz.uk, 1 piezus.ru, 1 +pif.email, 1 piffer.ind.br, 1 pig-breeding.tk, 1 pigb.net, 1 @@ -85098,7 +84792,6 @@ pikboxstore.com, 0 pikecountyohcommissioners.gov, 1 pikeitservices.com.au, 1 -piken.eu, 1 piketonohio.gov, 1 pikimusic.moe, 1 pikio.pl, 1 @@ -85114,7 +84807,6 @@ pilatespt.nl, 1 pilatesstation.co.th, 1 pildat.org, 1 -pilesyk.tk, 1 pili-serv.ovh, 1 piliszek.net, 1 pill.id, 1 @@ -85202,6 +84894,7 @@ pinkitalia.tk, 1 pinklecfest.org, 1 pinklittlenotebook.com, 1 +pinkmango.travel, 0 pinkoi.com, 1 pinkpearl.tk, 1 pinkplay.com.br, 1 @@ -85215,7 +84908,6 @@ pinnaclecare.com, 1 pinnaclelife.co.nz, 0 pinnaclelife.nz, 1 -pinnakl.com, 1 pinnoto.org, 1 pinot.it, 1 pinoyreal.com, 1 @@ -85251,7 +84943,6 @@ pinterest.ru, 1 pinterjann.is, 1 pintiaux.com, 1 -pintosbeeremovals.co.za, 1 pintoselectricfencing.co.za, 1 pintosplumbing.co.za, 1 pinupbets.gq, 1 @@ -85295,14 +84986,11 @@ pirateproxy.cc, 1 pirateproxy.cloud, 1 pirateproxy.earth, 1 -pirateproxy.gdn, 1 pirateproxy.how, 1 -pirateproxy.id, 1 pirateproxy.ltda, 1 pirateproxy.name, 1 pirateproxy.onl, 1 pirateproxy.tube, 1 -pirateproxy.tv, 1 pirateproxy.uno, 1 pirates-comic.com, 1 piratesbrewcoffee.net, 1 @@ -85311,7 +84999,6 @@ piratez.tk, 1 pircher.co.uk, 1 pircher.tk, 1 -pires.ovh, 1 pirganj24.com, 1 pirman.es, 1 pirnhub.xyz, 1 @@ -85332,7 +85019,6 @@ pisemnet.tk, 1 pisf.in, 1 pishgamiran.tk, 1 -pishifu.org, 0 piskenfuerwehr.de, 1 pisquettes.fr, 1 pissblau.com, 1 @@ -85349,8 +85035,6 @@ pitch.com, 1 pitchforkunion.tk, 1 pitchup.com, 1 -pitchupp.com, 1 -pitea.se, 1 piter-print.tk, 1 piter178.tk, 1 pitfire.io, 1 @@ -85390,8 +85074,8 @@ pixelcatproductions.net, 1 pixelcomunicacion.com, 1 pixelcrayons.com, 1 +pixelcubed.com, 1 pixelecommerce.com, 1 -pixelesque.uk, 1 pixelfou.com, 0 pixelgliders.de, 1 pixelglue.com.au, 1 @@ -85455,7 +85139,7 @@ pizzeriasmallorca.com, 1 pj11018.com, 1 pj21j.com, 0 -pj21m.com, 1 +pj21m.com, 0 pj4488.cc, 1 pj83.duckdns.org, 1 pjax.xyz, 1 @@ -85475,6 +85159,7 @@ pkeus.de, 1 pkgbuild.com, 1 pkgt.de, 0 +pkgviewer.com, 1 pkirwan.com, 1 pko.ch, 0 pkov.cz, 1 @@ -85502,7 +85187,6 @@ placercountyelections.gov, 1 placidoandriolo.tk, 1 placker.com, 1 -plage-les-pirates.fr, 0 plagiarismcheck.org, 1 plainbulktshirts.co.za, 1 plainfieldil.gov, 1 @@ -85517,6 +85201,7 @@ plaintextpledge.net, 1 plaintextpledge.org, 1 plaintray.com, 1 +plaisirdumouvement.com, 1 plaisirs-coquins.com, 1 plakbak.nl, 1 plaloo.gq, 1 @@ -85537,7 +85222,7 @@ planet.live, 1 planeta-deti.org, 1 planeta-remontika.ga, 1 -planetadeti.org, 0 +planetadeti.org, 1 planetalife.com, 1 planetamarrom.tk, 1 planetamend.com, 1 @@ -85577,6 +85262,7 @@ planetsoftware.com.au, 1 planettimer.com, 1 planetweb.tk, 1 +planhub.com, 1 planify.io, 0 planisanin.tk, 1 planiserin.tk, 1 @@ -85659,14 +85345,12 @@ plataformaslms.com, 1 platanakia.tk, 1 plateforme-exposant.com, 1 -plateformecandidature.com, 1 plateriaaida.tk, 1 platform-med.org, 1 platform161.com, 0 platform2020prague.com, 1 platforma2020praha.cz, 1 platformadmin.com, 1 -platformlms.org, 1 platiniumvapes.com, 1 platinmods.my.id, 1 platinumalertsers.ga, 1 @@ -85686,7 +85370,6 @@ platter.tk, 1 platterlauncher.com, 1 platypiduses.com, 1 -plaut.sk, 1 plavdoma.com.ua, 1 plavormind.tk, 1 play, 1 @@ -85781,7 +85464,6 @@ pleasureplanetbrothel.com.au, 1 pleb.cc, 1 plebeian.com.tw, 1 -pleger.tk, 1 plegro.com, 1 pleiadiantalk.tk, 1 pleiar.no, 1 @@ -85857,7 +85539,6 @@ plumbermountedgecombe.co.za, 1 plumberumhlangarocks.co.za, 1 plumbingandheatingspecialistnw.com, 1 -plumbingglenvista.co.za, 1 plumbingkingsllc.com, 1 plumbingshop.tk, 1 pluminate.com, 1 @@ -85918,7 +85599,6 @@ pmbsteelbuildings.com, 1 pmcc.net, 1 pmccrystal.com, 1 -pmcfarland.space, 1 pmcorganometallix.com, 1 pmcouvrie.com, 1 pmcvinyladditives.com, 1 @@ -85929,8 +85609,10 @@ pmg-purchase.com, 1 pmg-purchase.net, 1 pmi-install.com, 1 +pmi.gov, 1 pminvestinginfo.com, 1 pmk.ddns.net, 0 +pmklaassen.com, 1 pmnaish.co.uk, 1 pmnd.rs, 1 pmoreau.org, 1 @@ -86086,12 +85768,10 @@ pocketcraft.io, 1 pocketdeer.cc, 1 pocketfruity.com, 1 -pocketfullofkittens.com, 1 pocketgamingdirectory.com, 1 pocketinsure.com, 1 pocketmags.com, 1 pocketpasta.com, 0 -pockets.jp, 1 pockettraveling.tk, 1 pocobelli.ch, 0 pococo.tk, 1 @@ -86119,10 +85799,10 @@ podipod.com, 1 podis.ro, 1 podo-podo.com, 1 +podologie-diever.nl, 1 podolskaya.tk, 1 podparkers.ga, 1 podparkest.ga, 1 -podpravkite.bg, 1 podprotectionest.ga, 1 podroof.com, 1 podroof.com.au, 1 @@ -86313,6 +85993,7 @@ polisynazycie.com.pl, 1 polit-it.pro, 1 polit.im, 1 +politeiaudesa.org, 0 politeka.net, 1 politex.tk, 1 politic.org.ua, 1 @@ -86336,7 +86017,7 @@ politisplasticsurgery.com, 1 politnews5.tk, 1 politoboz.com, 1 -politsei.ee, 1 +politsei.ee, 0 politvesti.tk, 1 polizeiwallis.ch, 0 polkelections.gov, 1 @@ -86368,7 +86049,6 @@ polybius.io, 1 polycoise.com, 1 polycraftual.co.uk, 1 -polyfluoroltd.com, 0 polygamer.net, 0 polygraphi.ae, 1 polymake.org, 1 @@ -86450,6 +86130,8 @@ poolspa.es, 1 pooltest.co.uk, 1 pooltools.net, 1 +poolvilla-margarita.net, 1 +poon.io, 1 poopjournal.rocks, 1 poopr.ru, 1 poopthereitisla.com, 1 @@ -86541,6 +86223,7 @@ porm.club, 1 porn2019.tk, 1 porn77.info, 1 +pornabee.com, 1 pornagent.de, 1 pornbabetyra.net, 1 pornbabetyra.org, 1 @@ -86614,6 +86297,7 @@ porschen.fr, 1 porsiaedenora.it, 1 porsolt.com, 1 +port.gdynia.pl, 0 port.social, 1 port443.hamburg, 0 port443.se, 1 @@ -86646,7 +86330,6 @@ portalz.xyz, 1 portamiinpista.it, 0 portatilea.com, 1 -portatiles-baratos.net, 1 portativ-mobi.tk, 1 portavoznoticias.cl, 1 portchesterny.gov, 1 @@ -86683,14 +86366,12 @@ portvaletickets.com, 1 porumaoutrareforma.org, 1 porumbei.tk, 1 -porwal.pl, 1 porybox.com, 1 porzellantreff.de, 1 posaunenchor-senden.de, 1 posbank.co.uk, 1 posbich.net, 1 posbis.de, 1 -poseidonwaterproofing.com, 1 poshcastles.co.uk, 1 poshe.tk, 1 poshlashes.se, 1 @@ -86715,7 +86396,6 @@ positivos.tk, 1 positronicmoron.tk, 1 posoco.in, 1 -posoiu.net, 1 posowetuite.ru, 1 pospisilik.eu, 1 pospisilikovi.cz, 1 @@ -86732,7 +86412,6 @@ postal3.es, 1 postandfly.com, 1 postat.com, 1 -postawnasiebie.pl, 1 postback.io, 0 postblue.info, 1 postbox.life, 1 @@ -86814,6 +86493,7 @@ potature.org, 1 potature.rimini.it, 1 potature.roma.it, 1 +potbar.com, 1 potcha.net, 1 potemkin.tk, 1 poterepersonale.it, 1 @@ -86822,7 +86502,6 @@ pothe.de, 1 pother.ca, 1 potionlabs.de, 1 -potkani.tk, 1 potlytics.com, 1 potolok-brest.tk, 1 potolok.am, 1 @@ -86857,7 +86536,6 @@ pouwels-oss.nl, 1 povar.ru, 1 povarenok.cf, 1 -povareschka.ru, 1 povareshka.tk, 1 povmacrostabiliteit.nl, 1 pow.jp, 1 @@ -86880,7 +86558,7 @@ powerbalance.tk, 1 powerball.cf, 1 powerball.club, 1 -powerbi.istanbul, 0 +powerbi.istanbul, 1 powerbux.tk, 1 powercomputers.nl, 1 poweredbyiris.nl, 1 @@ -86893,7 +86571,6 @@ powerlifting.tk, 1 powermeter.at, 1 powerofsocialtech.com, 1 -powerofwater.fish, 1 powerpadel.com, 1 powerpc.pt, 1 powerplanter.com, 1 @@ -86916,6 +86593,7 @@ powersergisrc.com, 1 powersergmysteryshopping.com, 1 powersergpiv.com, 1 +powersergsecure.com, 1 powersergsis.com, 1 powersergthisisthetunnelfuckyouscott.com, 1 powersergthisisthewebsitefuckyouchris.com, 1 @@ -87024,7 +86702,6 @@ pragatiparasguesthouse.co.in, 1 prageeth-niranjan.tk, 1 pragma-solution.com, 1 -pragmaticfuturist.co, 0 pragmatist.nl, 1 pragtravel.cf, 1 prague-swim.cz, 1 @@ -87083,7 +86760,7 @@ praxis-dingeldey.de, 1 praxis-familienglueck.de, 1 praxis-kobiella.de, 1 -praxis-liebner.de, 0 +praxis-liebner.de, 1 praxis-waedicity.ch, 1 praxisfilms.org, 1 praxistipp24.com, 1 @@ -87142,7 +86819,6 @@ preference.ga, 1 preferredreverse.com, 1 prefix.eu, 1 -preflighttest.com, 1 prefontaine.name, 1 pregen.tk, 1 pregnancytips.tk, 1 @@ -87181,7 +86857,6 @@ premieresloges.ca, 0 premierevents.ie, 1 premierheart.com, 1 -premierjewelersjax.com, 1 premierleague.gq, 1 premiermaldives.com, 1 premiermortgageservices.com, 1 @@ -87196,11 +86871,11 @@ premium-shop.nl, 1 premiumcbd.cz, 1 premiumcredit.am, 1 -premiumdeal.org, 1 premiumdesign.hr, 1 premiumlegalsupport.ga, 1 premiumplusiptv.com, 1 premiumturkey.ml, 1 +premiumweb.co.id, 1 premiumwebdesign.it, 1 premkumar.net, 1 premsarswat.me, 1 @@ -87257,6 +86932,7 @@ presscommunity.tk, 1 presscuozzo.com, 1 presseagrume.net, 1 +pressento.com, 1 pressertech.com, 1 presses.ch, 0 pressfreedomtracker.us, 1 @@ -87413,6 +87089,8 @@ princezna.club, 1 principalsexam.com, 1 principalship.net, 1 +principalstest.ph, 0 +principalstest.review, 1 principaltoolbox.com, 1 principedepaz.gt, 1 principia-journal.de, 1 @@ -87454,7 +87132,6 @@ priorityelectric-dosvientos.com, 1 priorityelectric-hiddenhills.com, 1 priorityelectric-lakesherwood.com, 1 -priorityelectric-malibu.com, 1 priorityelectric-moorpark.com, 1 priorityelectric-newburypark.com, 1 priorityelectric-oakpark.com, 1 @@ -87475,6 +87152,7 @@ prismacloud.xyz, 1 prismalite.com.br, 1 prismaot.tk, 1 +prismapixel.studio, 1 prismosystems.com, 0 prisonerresource.com, 1 pristal.eu, 1 @@ -87596,7 +87274,6 @@ pro-web-design.tk, 1 pro-wiert.pl, 1 pro.co.il, 1 -pro100blogger.com, 1 pro3ozonio.com.br, 1 pro4all.be, 1 pro4all.nl, 1 @@ -87665,12 +87342,10 @@ prodampro.ru, 1 prodatalabs.com, 1 prodct.info, 1 -prodegree.com, 1 prodentalsantacruz.es, 1 prodesigntools.com, 1 prodesk.bg, 1 prodhealthcare.org, 1 -prodietix.cz, 1 prodigibook.com, 1 prodigyhacking.com, 1 prodigyhq.io, 1 @@ -87958,7 +87633,6 @@ pronto-intervento.net, 1 prontointerventofognature.roma.it, 1 prontointerventoimmediato.it, 1 -prontolight.com, 1 prontossl.com, 1 proofofwork.art, 1 proofpoint.com, 1 @@ -87985,7 +87659,7 @@ propertyfindercdn.com, 1 propertyflare.com, 1 propertygroup.pl, 1 -propertyinside.id, 1 +propertyinside.id, 0 propertymingo.com, 1 propertyofariana.pw, 1 propertyone.mk, 1 @@ -88091,6 +87765,7 @@ protein-riegel-test.de, 1 proteinreport.org, 1 protek.tk, 1 +protempore.fr, 1 proteogenix-products.com, 1 proteogenix.science, 1 protestantsegemeentekaag.nl, 1 @@ -88119,6 +87794,7 @@ protoxin.net, 0 protrainerbrasil.com.br, 1 protrolley.cf, 1 +proudplus.com, 1 proust.ch, 0 proust.media, 0 proustmedia.de, 0 @@ -88151,8 +87827,6 @@ provitec.com, 1 provlas.se, 1 prowindow.sk, 1 -prowise.com, 1 -prowise.me, 1 prowpcare.com, 1 prowrestlingevents.tk, 1 prox.ru, 1 @@ -88165,10 +87839,8 @@ proxmox-airsonic.tk, 1 proxy-bay.co, 1 proxy-bay.com, 1 -proxybay.bet, 1 proxybay.buzz, 1 proxybay.bz, 1 -proxybay.cc, 1 proxybay.earth, 1 proxybay.gdn, 1 proxybay.how, 1 @@ -88234,6 +87906,7 @@ psa-travel-care.com, 1 psalivenews.ml, 1 psalmer.tk, 1 +psasines.pt, 1 psau.edu.sa, 1 psauxit.com, 1 psazy.ml, 1 @@ -88244,6 +87917,7 @@ psbarrett.com, 1 psc.gov, 1 psc.gov.ws, 1 +pschierl.com, 1 pschunt.com, 1 pscp.tv, 1 psdpt-tpfd.gc.ca, 1 @@ -88394,19 +88068,20 @@ psylab.vip, 1 psylliums.com, 1 psynapse.net.au, 1 -psyshell.tk, 1 psytrance-pro.com, 1 pszinfo.hu, 1 pt-d.ru, 1 pt-server.de, 1 pt.im, 1 pt4.tech, 1 +pta-security.nl, 1 pta.world, 1 ptab2pt.ga, 1 ptal.eu, 1 ptasiepodroze.eu, 1 ptbi.org.pl, 1 ptboys.tk, 1 +ptbx.co, 1 ptcbooks.gq, 1 ptcdogpark.com, 1 ptczone.tk, 1 @@ -88440,7 +88115,6 @@ puac.de, 1 pub-online.ro, 1 pubclub.com, 1 -pube.tk, 1 pubertytalk.com, 1 pubi.me, 1 pubkit.io, 1 @@ -88512,7 +88186,6 @@ pukfalkenberg.dk, 1 pulcinella.tk, 1 puli.com.br, 1 -pulizia.milano.it, 1 pulizia.roma.it, 1 pulizieuffici.milano.it, 1 pulizievap.it, 1 @@ -88560,7 +88233,7 @@ puntacanavapor.com, 1 puntaprop.com, 1 puntcunts.com, 1 -punte-juwelier.nl, 0 +punte-juwelier.nl, 1 puntocroce.tk, 1 puntoestadodemexico.com, 1 puntogommevenegono.it, 1 @@ -88592,6 +88265,7 @@ puredayshop.com.tw, 1 puredisinfecting.com, 1 puredisinfection.com, 1 +puredns.org, 1 purefoot.jp, 1 purefreefrom.co.uk, 0 purelife.photography, 1 @@ -88670,7 +88344,6 @@ pussylickingnow.com, 1 pustak.tk, 1 pustakvishwa.tk, 1 -put-k-uspekhuy.tk, 1 put-spaseniya.ml, 1 put.moe, 1 put.re, 1 @@ -88694,7 +88367,6 @@ putnik.tk, 1 putre.io, 1 putrock.be, 1 -putstrategii.ru, 1 putty.org, 1 puttymonos.club, 1 puttymonos.work, 1 @@ -88760,13 +88432,13 @@ pxl-mailtracker.com, 1 pxl.cl, 1 pxld.sh, 1 -pxstart.cz, 1 +pxstart.cz, 0 pxventures.com.au, 1 pxx.io, 1 py-amf.org, 1 py.search.yahoo.com, 0 pya.org.tr, 1 -pybtex.org, 1 +pybtex.org, 0 pyca.tk, 1 pycckue.tk, 1 pychef.com, 1 @@ -88784,7 +88456,6 @@ pylad.se, 1 pylon.bot, 1 pymebi.cl, 1 -pymenetica.com, 0 pymescentro.net, 1 pymtreceipt.com, 1 pyopenssl.org, 1 @@ -88849,7 +88520,6 @@ qabalah.ga, 1 qabalah.jp, 1 qabel.de, 1 -qabete.com, 1 qac.gov, 1 qaconstrucciones.com, 1 qadmium.com, 1 @@ -88868,6 +88538,7 @@ qatartimes.tk, 1 qatouch.com, 1 qaz.cloud, 1 +qazcloud.com, 0 qazweek.kz, 1 qbasic.tk, 1 qbasicsite.tk, 1 @@ -88916,6 +88587,7 @@ qhost.cf, 1 qhse-professionals.nl, 1 qhzwz.com, 1 +qianmo.com, 1 qianqiao.me, 1 qiaohong.org, 1 qiaowai.com, 1 @@ -88931,7 +88603,6 @@ qiliang.wang, 1 qimingceming.com, 1 qingan.ca, 1 -qingly.me, 1 qingniantuzhai.com, 1 qingpat.com, 1 qingpei.me, 1 @@ -88939,15 +88610,16 @@ qionouu.cn, 1 qipllc.com, 1 qiqitv.info, 1 +qirinus.com, 1 qis.fr, 1 qiscience.tk, 1 qitarabutrans.com, 1 qitzune.com, 1 +qiu.moe, 1 qivonline.pt, 1 qiwi.be, 1 qixi.biz, 1 qiyan.email, 0 -qjg.com.br, 1 qkek.tk, 1 qkka.org, 1 qklshequ.com, 1 @@ -89024,6 +88696,7 @@ qrlfinancial.com, 0 qrpatrol.com, 1 qrpth.eu, 1 +qrsecuriteanimal.com, 1 qruiser.com, 1 qrz.one, 1 qscco.com, 1 @@ -89066,7 +88739,7 @@ quadomania.tk, 1 quadrantrd.com, 1 quadratimkreis.tk, 1 -quadron.hu, 0 +quadron.hu, 1 quaedam.org, 1 quafe.tech, 1 quaketips.ga, 1 @@ -89081,7 +88754,6 @@ qualitycarbonfiber.com, 1 qualitycommerical.com, 1 qualityconcreteleveling.com, 1 -qualityconcreteraising.com, 1 qualityconcreterepair.com, 1 qualitydns.net, 1 qualityfireproofing.com, 1 @@ -89097,12 +88769,12 @@ qualitypolyjacking.com, 1 qualitypropertycare.co.uk, 1 qualitytools.com, 1 -qualitywaterproofing.com, 1 qualitywaterproofingco.com, 1 qualityworks.tk, 1 qualpay.com, 1 qualtrics.com, 1 qualyven.com, 1 +quangngaimedia.com, 1 quanquan.cyou, 1 quanquan.space, 1 quant-labs.de, 0 @@ -89192,7 +88864,7 @@ quelle.ch, 1 quelle.de, 1 quelleformation.net, 1 -quellenwiese.ski, 1 +quellenwiese.ski, 0 quemadoresdegrasa.org, 1 queminventou.com.br, 0 quemmeliga.com, 1 @@ -89313,6 +88985,7 @@ quinteroorthodontics.com, 1 quintessa.org, 1 quintobarrio.tk, 1 +quiq-api.com, 1 quiq-cdn.com, 1 quiq-uri.com, 1 quiq-url.com, 1 @@ -89330,7 +89003,6 @@ quisildenafil.gq, 1 quitri.tk, 1 quiwy.ninja, 1 -quixxi.com, 1 quixxisecurity.com, 1 quiz.biz, 1 quiz4math.gr, 1 @@ -89432,7 +89104,6 @@ r0t.co, 1 r0uzic.net, 1 r102.ch, 1 -r14.io, 1 r15cookie.com, 1 r18.moe, 1 r1a.eu, 1 @@ -89445,7 +89116,6 @@ r3bl.blog, 1 r3dh4ck.ml, 1 r3s1stanc3.me, 1 -r3t.io, 1 r40.us, 1 r4g3baby.com, 1 r5197.co, 1 @@ -89751,7 +89421,6 @@ radnickapartija.tk, 1 radnicki-nis.tk, 1 radon.tk, 1 -radondetectionandcontrol.com, 1 radopsec.net, 1 radopsec.org, 1 radost-crikvenica.hr, 1 @@ -89773,6 +89442,7 @@ rafaroca.net, 1 rafas.com.tr, 1 rafclan.tk, 1 +rafey.xyz, 1 raffaellaosti.com, 1 raffleshospital.co.id, 0 rafo.tk, 1 @@ -89783,7 +89453,6 @@ ragasto.nl, 1 rage-overload.ch, 1 rage4.com, 1 -raghughphotography.tk, 1 raginggaming.ga, 1 ragingrune.tk, 1 ragingserenity.com, 1 @@ -89861,7 +89530,6 @@ rainbowmode.com, 1 rainbowsmoothies.win, 1 rainbowstore.com.au, 1 -rainbowstore.com.ua, 1 rainbowswingers.net, 1 raincoat.systems, 1 rainel.at, 1 @@ -90062,6 +89730,7 @@ ranters.nl, 1 rantevou.eu, 1 ranyeh.co, 1 +ranyeh.com, 1 ranzbak.nl, 1 raoliveoil.ga, 1 raomed.com.ar, 1 @@ -90103,7 +89772,6 @@ rar.moe, 1 rarbgmirror.com, 1 rarbgproxy.com, 1 -rarebridal.com, 1 rarece.cf, 1 rarefish.tk, 1 rarename.tk, 1 @@ -90136,8 +89804,8 @@ rasset.ie, 1 rassro.sk, 1 rastabooks.ga, 1 +rastasorganics.com, 1 rastko-jevtovic.tk, 1 -rasto.sk, 1 rasty.cz, 1 ratajczak.one, 1 ratasdesign.com, 1 @@ -90277,7 +89945,7 @@ rballday-entertainment.nl, 1 rbcservicehub-uat.azurewebsites.net, 1 rbd.events, 1 -rbensch.com, 1 +rbensch.com, 0 rbet.tk, 1 rbflote.lv, 1 rbh.co.uk, 1 @@ -90577,7 +90245,6 @@ recalls.gov, 1 recantoshop.com.br, 1 recaptcha-demo.appspot.com, 1 -recebersms.com, 1 receitas.tk, 1 receitasdacassia.tk, 1 receptenwebsite.com, 1 @@ -90615,7 +90282,6 @@ reckoning.gq, 1 reckontalk.com, 1 reclaimmysparkle.com, 1 -reclametoolz.nl, 1 reclusiam.net, 1 recmedia.pl, 1 recmon.hu, 1 @@ -90692,6 +90358,7 @@ red2fred2.com, 1 redable.hosting, 1 redable.nl, 1 +redacted.life, 0 redactedmedia.org, 1 redactieco.nl, 1 redballoonsecurity.com, 1 @@ -90774,7 +90441,6 @@ redhottube.ml, 1 redi.tk, 1 rediazauthor.com, 1 -redicare.ml, 1 redion.me, 1 redir.me, 1 redireci.one, 1 @@ -90787,7 +90453,6 @@ redite.co, 1 redivis.com, 1 redjuice.co.uk, 1 -redkiwi.nl, 1 redlatam.org, 1 redletter.link, 1 redlinelap.com, 1 @@ -90805,7 +90470,7 @@ redneck-radio.tk, 1 redneragenturen.org, 1 rednex.tk, 1 -rednsx.org, 1 +rednsx.org, 0 rednumberone.com, 1 redpact.com, 0 redparrotstudios.tk, 1 @@ -90848,7 +90513,6 @@ reducto.tk, 1 redunion.tk, 1 redwater.co.uk, 1 -redwaterhost.com, 1 redwaymu.cf, 1 redweek.com, 1 redwhey.com, 1 @@ -90910,11 +90574,11 @@ refu.net, 1 refuelcollective.com, 0 refuelcreative.com.au, 0 -refugee-news.com, 1 refurb-tracker.com, 1 refusedcarfinance.com, 1 reg.place, 1 rega-sport.it, 1 +regain.us, 1 regalador.com, 1 regalcapitalwi.com, 1 regalosymuestrasgratis.com, 1 @@ -91003,9 +90667,9 @@ rehab.cn.ua, 1 rehabili-shigoto.com, 1 rehabphilippines.com, 1 -rehabreviews.com, 1 rehabthailand.com, 1 rehabthailand.org, 1 +rehau-ua.com, 1 reher.pro, 1 rehobothma.gov, 1 rei.ki, 1 @@ -91157,7 +90821,6 @@ remain.london, 1 remake-projects.tk, 1 remambo.jp, 1 -remapmijnauto.nl, 1 remateszarate.cl, 0 remax.at, 1 remeb.de, 1 @@ -91187,7 +90850,6 @@ reminisceaudio.com, 1 remirampin.com, 1 remissan.com, 1 -remitano.com, 1 remitatm.com, 0 remiz.org, 1 remmik.com, 1 @@ -91220,6 +90882,7 @@ remoteshack.ml, 1 remoteutilities.com, 1 remoteworkertech.asia, 1 +remotish.com, 1 remotley.com, 1 removalcellulite.com, 1 removallaser.com, 1 @@ -91233,8 +90896,6 @@ rena.am, 1 rena.cloud, 1 renaatsioncke.com, 1 -renam.md, 1 -renanoliveira.design, 1 renatemamber.nl, 1 renateonline.tk, 1 renatopazmino.com, 0 @@ -91443,7 +91104,6 @@ residence-simoncelli.com, 1 residencedesign.net, 1 resident-evil.tk, 1 -residentiallocksmithdallas.com, 1 residentialmortgageholdings.com, 1 resigno.tk, 1 resilience.guide, 1 @@ -91482,6 +91142,9 @@ resourcesmanagementcorp.com, 1 resourcs.com, 1 respawwn.com, 1 +respectmyprivacy.eu, 1 +respectmyprivacy.net, 1 +respectmyprivacy.nl, 1 respecttheflame.com, 1 respinar.com, 1 respiradores.tk, 1 @@ -91594,7 +91257,7 @@ reto.tv, 1 retofunctional.com, 1 retogroup.com, 1 -retohaeberli.com, 1 +retohaeberli.com, 0 retokromer.ch, 0 retornaz.com, 1 retornaz.eu, 1 @@ -91684,7 +91347,6 @@ reviewpipe.com, 1 reviews.anime.my, 0 reviewsonline.ml, 1 -reviewsweb.tk, 1 reviewu.ca, 1 revis-online.cf, 1 revis-online.gq, 1 @@ -91741,7 +91403,6 @@ rewardingexcellence.com, 1 rewardscout.eu, 1 rewawatch.tk, 1 -rewiredweightloss.com, 1 rewrite3.com, 1 rex.st, 1 rex.tc, 1 @@ -91793,6 +91454,7 @@ rgcomportement.fr, 0 rgdt.tk, 1 rgf.be, 0 +rgfundraising.com, 1 rggraphics.mx, 1 rghost.net, 1 rgiohio.com, 1 @@ -91844,6 +91506,7 @@ rhymeswithmogul.com, 1 rhynl.io, 1 rhyno.io, 1 +rhysperry.com, 1 rhysre.net, 1 riable.com, 1 riachuello.tk, 1 @@ -91888,6 +91551,7 @@ richardbulley.com.au, 1 richardcrosby.co.uk, 1 richardharpur.com, 1 +richardhicks.us, 1 richardhouts.tk, 1 richardinesrolltop.com, 1 richardjgreen.net, 1 @@ -91932,6 +91596,7 @@ richmondsunlight.com, 1 richmoney.us, 1 richmtdriver.com, 1 +richonrails.com, 1 richviajero.com, 1 richwayfun.com, 1 ricketyspace.net, 0 @@ -91944,6 +91609,7 @@ ricksfamilycarpetcleaning.com, 1 rickvanderzwet.nl, 1 rickweijers.nl, 1 +rickyg.live, 1 rickyromero.com, 1 rickysgames.tk, 1 rico-brase.de, 0 @@ -91961,6 +91627,7 @@ ricreare.com, 1 ridayu.jp, 1 riddickthemovie.tk, 1 +riddims.co, 1 riddimsworld.com, 1 riddler.com.ar, 1 rideapart.com, 1 @@ -91974,7 +91641,6 @@ rideyourdamn.bike, 1 ridgecrestca.gov, 1 ridgefieldct.gov, 1 -ridgelandchurch.org, 1 ridgewaterlodge.com, 1 ridingoklahoma.com, 1 rido.ml, 1 @@ -92041,10 +91707,12 @@ rimax.vn, 1 rimba.eu, 1 rimcountrymuseum.org, 1 +rime.com.hr, 1 rimessaggio.it, 1 rimetsu.com, 1 rimikis.de, 1 riminitoday.it, 1 +rimkereso.hu, 1 rimo.site, 1 rimonhwang.com, 1 rimorrecherche.nl, 1 @@ -92088,7 +91756,7 @@ ripon-wi.gov, 1 ripp-it.com, 1 ripper.store, 1 -ripple.com, 1 +ripple.com, 0 ripplemarkeg.com, 0 ripplenews.club, 1 ripplenews.co, 1 @@ -92117,9 +91785,9 @@ riseofthewildwoman.com, 1 riseshost.ml, 1 riseup.net, 1 +riseupelectrical.com.au, 1 rishabh.me, 1 risheriffs.gov, 1 -rishikeshyoga.in, 1 risi-china.com, 1 rising-cubers.tk, 1 riskmitigation.ch, 1 @@ -92207,6 +91875,7 @@ rixzz.ovh, 1 riyadbankacademy.com, 1 riyono.com, 1 +rizalpalawan.gov.ph, 1 rizehaberleri.tk, 1 rizhik.com.ua, 1 rizikaockovani.cz, 1 @@ -92312,6 +91981,7 @@ robersonaudio.tk, 1 robert-ewert.tk, 1 robert-flynn.de, 1 +robert-foster.com, 1 robert-reisemobil.de, 1 robert-victor.co.uk, 1 robert-wiek-transporte.de, 1 @@ -92347,7 +92017,6 @@ robi-aesch.ch, 1 robi-net.it, 1 robicue.com, 0 -robigalia.org, 0 robimgood.com.ua, 1 robin-kusch.de, 1 robin-novotny.com, 1 @@ -92407,7 +92076,6 @@ robu.in, 1 robust.ga, 1 robustac.com, 1 -robustevents.in, 1 robuststory.com, 1 robuxemporium.com, 1 robuxkingz.ml, 1 @@ -92425,7 +92093,7 @@ rockandroll.tk, 1 rockbankland.com.au, 1 rockbridge.tk, 1 -rockcanyonbank.com, 0 +rockcanyonbank.com, 1 rockcellar.ch, 1 rockenfuerlachenhelfen.de, 1 rockernj.com, 1 @@ -92492,9 +92160,9 @@ rodneybrooksjr.com, 1 rodnikbel.tk, 1 rodobike.com.br, 1 +rodoelectrodomesticos.com, 0 rodokubu.jp, 1 rodolfo.gs, 1 -rodolphe-lebrun.fr, 1 rodomonte.org, 1 rodosto.com, 1 rodrigoacevedo.com.uy, 1 @@ -92585,6 +92253,7 @@ rolandog.com, 1 rolandoredi.com, 1 rolandozarate.tk, 1 +rolandreed.cn, 1 rolandszabo.com, 1 rolandvanipenburg.com, 1 rolc.org.sg, 1 @@ -92605,7 +92274,6 @@ rollingbarge.com, 1 rollingcouchapp.com, 1 rollingshuttle.org, 1 -rollingstocks.tk, 1 rollinspass.org, 1 rollthedice.tk, 1 rolluplab.it, 1 @@ -92620,7 +92288,6 @@ romacoffee.co.nz, 1 romagnaoggi.it, 1 romail.ml, 1 -romaindepeigne.fr, 1 romainlapoux.com, 1 romainlapoux.fr, 1 roman-pavlik.cz, 1 @@ -92711,9 +92378,9 @@ rooferindallas.com, 1 roofingandconstructionllc.com, 1 roofingmaterials.tk, 1 +roofingomaha.com, 1 roofingpioneers.com, 1 roofpost.gq, 1 -roofsandbasements.com, 1 roohanionlinespiritualhelp.co.uk, 1 rook-playz.net, 1 rookiehpc.com, 1 @@ -92834,7 +92501,6 @@ roslynpad.net, 1 rosme.it, 1 rosound.cz, 1 -rospotreb.com, 1 rosrabota.tk, 1 ross-mitchell.com, 0 rosset.me, 1 @@ -92895,7 +92561,7 @@ rotunneling.net, 1 rouair.com, 1 rouamatfashion.gr, 1 -rougechocolat.fr, 0 +rougechocolat.fr, 1 rougeetblanc.tk, 1 roughcopy.com.au, 1 roughgrain.com, 1 @@ -92921,7 +92587,7 @@ routerclub.ru, 1 routeto.com, 1 routetracker.co, 1 -rouwcentrumterheide.be, 1 +rouwcentrumterheide.be, 0 rovatronic.tk, 1 roverglobal.ga, 1 roveridx.com, 1 @@ -92945,7 +92611,6 @@ rowantransit.com, 1 rowantransit.org, 1 rowanz.nl, 1 -rowegranite.co.uk, 1 rowery.org, 1 rowingsa.asn.au, 1 rowlog.com, 1 @@ -93027,7 +92692,6 @@ royalnissanparts.com, 0 royaloz.ma, 1 royalpainters.co, 1 -royalpalacenogent.fr, 1 royalrace.tk, 1 royalstylefit.com, 1 royaltube.net, 1 @@ -93035,7 +92699,6 @@ royaltyexchange.com, 1 royalvortex.co, 1 royalyule.com, 1 -royalz.ro, 1 royaume-smoke.com, 1 royaumesoublies.com, 1 roycampbell.tk, 1 @@ -93104,7 +92767,6 @@ rrdtool.com, 1 rrg-partner.ch, 0 rritv.com, 1 -rrmiran.com, 1 rro.rs, 1 rrssww.space, 1 rrtribalcourts-nsn.gov, 1 @@ -93140,7 +92802,6 @@ rsldb.com, 1 rslnd.com, 1 rsm-intern.de, 1 -rsp-blogs.de, 1 rspevents.ro, 1 rsquare.nl, 1 rsridentassist.com, 1 @@ -93187,7 +92848,6 @@ rteplayer.org, 1 rtesport.eu, 1 rtestore.eu, 1 -rteworld.com, 1 rtgame.co.uk, 1 rtgnews.cf, 1 rtho.me, 1 @@ -93217,7 +92877,6 @@ ru.search.yahoo.com, 0 ru251.tk, 1 rua.ink, 0 -ruaneattorneys.com, 1 ruanglaptop.com, 1 ruanmi.de, 1 ruanwen168.com, 1 @@ -93244,6 +92903,7 @@ rubenfelix.tk, 1 rubengees.de, 1 rubengutierrez.tk, 1 +rubenjromo.com, 0 rubenkruisselbrink.nl, 1 rubenmamo.com, 1 rubenpeeters.ml, 1 @@ -93277,6 +92937,7 @@ ruckify.com, 1 rucksack-rauf-und-weg.de, 1 ruckzuck-privatpatient.de, 1 +ruconsole.com, 1 rud.is, 1 rudating.tk, 1 rudd-o.com, 1 @@ -93287,7 +92948,6 @@ rudibora.ml, 1 rudimentalluxury.com, 1 rudloff.pro, 1 -rudnikas.com, 1 rudolf.gq, 1 rudolph.life, 1 rudovasky.com, 1 @@ -93328,6 +92988,7 @@ ruhproject.kz, 1 ruhrmobil-e.de, 1 ruhrnalist.de, 1 +ruicore.cn, 1 ruifu.tech, 1 ruiming.me, 1 ruimoreira.co.uk, 1 @@ -93375,7 +93036,7 @@ run-it-direct.co.uk, 1 runagain.ch, 0 runame.ml, 1 -runaplay.com, 1 +runaplay.com, 0 runbo-australia.ga, 1 runbo-new-zealand.ga, 1 runbo-nz.ga, 1 @@ -93508,7 +93169,6 @@ rust.cf, 1 rust.mn, 1 rust.pm, 1 -rustable.com, 1 rustambek.tk, 1 rustamkhanko.gq, 1 rustbyexample.com, 0 @@ -93519,7 +93179,6 @@ rustikalwallis.ch, 1 rustls.com, 1 rustls.org, 1 -rustyrambles.com, 1 rusunion.org, 1 ruswomen.tk, 1 rut2.tk, 1 @@ -93531,20 +93190,20 @@ rutasypostales.com, 1 rutavietnam.com, 1 rutazeus.tk, 1 +rutewisata.com, 0 rutgerbrouwer.tk, 1 rutgerschimmel.nl, 1 ruthbarrettmusic.com, 1 ruthbellgrahammemorial.org, 1 ruthil.co.il, 1 ruthil.com, 1 -ruthlavidente.com, 1 ruthmontenegro.com, 1 ruthschoenmaekers.com, 1 rutiger.com, 1 rutika.ru, 1 rutorka.tk, 1 rutracker-zerkalo.appspot.com, 1 -rutten.me, 0 +rutten.me, 1 ruttenadvocaat.be, 1 ruudkoot.nl, 1 ruurdboomsma.nl, 1 @@ -93554,7 +93213,6 @@ ruyana.tk, 1 ruyatabirleri.com, 1 ruzaevka.tk, 1 -ruzzll.com, 1 rv-jpshop.com, 1 rva-asbestgroep.nl, 1 rva.gov, 1 @@ -93626,6 +93284,7 @@ ryejuice.sytes.net, 1 rygh.no, 1 rygy.com.br, 1 +rylin.net, 1 rylore.com, 1 rymanow.tk, 1 rymedi.com, 1 @@ -93689,7 +93348,6 @@ s3cur3.it, 1 s3gfault.com, 1 s3lph.me, 1 -s3n.se, 1 s402.de, 1 s404.de, 1 s44.eu, 1 @@ -93764,7 +93422,7 @@ sable.gq, 1 sabmobile.pk, 1 saborcaribe.tk, 1 -sabranie.com, 0 +sabranie.com, 1 sabrina-auer.tk, 1 sabrinajoias.com.br, 1 sabrinajoiasprontaentrega.com.br, 1 @@ -93921,7 +93579,6 @@ safevault.org, 1 safevisit.com.au, 1 safewaysecurityscreens.com.au, 1 -safewaywaterproofing.com, 1 safiosolutions.com, 1 safirakbar.tk, 1 safire.ac.za, 1 @@ -93934,7 +93591,6 @@ sagarawat.in, 1 sagargandecha.com.au, 0 sageclinic.org, 1 -sagedocumentmanager.com, 1 sagefalab.com, 1 sagegardens.ca, 1 sagehane.com, 1 @@ -93942,6 +93598,7 @@ sagenet.net.au, 1 sagerus.com, 1 sagetel.ga, 1 +sageth.com, 1 saggiocc.com, 1 saggis.com, 1 saghekin.com, 1 @@ -93963,7 +93620,6 @@ sahinmuzikyapim.com, 1 sahinozgenhukuk.com, 1 sahkotyot.eu, 1 -saibacademy.com, 1 saibotk.de, 1 said.id, 1 said.it, 1 @@ -93990,6 +93646,7 @@ saimoe.moe, 1 saimoe.org, 1 sainetworks.net, 1 +sainikbiswas.com, 1 sainokuni-eng.jp, 1 sainshand.tk, 1 saint-aubin-sur-scie.fr, 1 @@ -94091,14 +93748,13 @@ salalfoundation.ca, 1 salamanders.tk, 1 salamence.tk, 1 +salandalairconditioning.com, 1 salariominimo.com.co, 1 salarycalculatoruk.co.uk, 1 salas.cf, 1 salas.tk, 1 salasbanquetes.cl, 1 salati.tk, 1 -salatiga.com, 1 -salatiga.net, 1 salboy.co.uk, 1 sald.us, 1 saldanda.ml, 1 @@ -94121,7 +93777,7 @@ saledump.nl, 1 salegor.tk, 1 salekaz.ru, 1 -salensmotors-usedcars.be, 0 +salensmotors-usedcars.be, 1 salento-nostro.tk, 1 salentocab.com, 1 salernotoday.it, 1 @@ -94161,6 +93817,7 @@ sallyandruss.ca, 1 sallyangeli.tk, 1 sallycooke.co.uk, 1 +sallydowns.name, 1 sallyjo.tk, 1 sallyman.de, 1 sallysubs.com, 0 @@ -94195,13 +93852,11 @@ salt-documentary.blog, 1 salt-travel.cf, 1 salt.fish, 1 -saltbythesea.com, 1 saltcave.gq, 1 saltedfish.network, 1 salter.com.tr, 1 saltercane.com, 0 saltlakecounty.gov, 1 -saltlakedjcompany.com, 1 saltnsauce.cf, 1 saltnsauce.ga, 1 saltnsauce.gq, 1 @@ -94239,7 +93894,6 @@ salvadoralevin.tk, 1 salvadorcorriols.tk, 1 salvadorinfantil.tk, 1 -salvagedfurnitureparlour.com, 1 salvameblog.tk, 1 salverainha.org, 1 salvia-sinensis.nl, 1 @@ -94265,7 +93919,6 @@ samara-avia.ru, 1 samara-hosting.tk, 1 samaritainsmeyrin.ch, 0 -samatva-yogalaya.com, 1 samba.org, 1 sambaash.com, 1 sambeso.net, 1 @@ -94307,7 +93960,6 @@ samlam.ddns.net, 1 samlamac.com, 1 samlaw.co.nz, 0 -sammamish--locksmith.com, 1 sammichscripts.com, 1 sammyservers.com, 1 sammyservers.net, 1 @@ -94321,13 +93973,13 @@ samoyeddogsguide.com, 1 samoylov.gq, 1 samozdraw.ga, 1 +sampaguide.com, 1 sampatjewelers.com, 1 sample-site.click, 1 samplefashion.nl, 1 sampurna.shop, 1 samri.pt, 1 samroelants.com, 1 -sams.wtf, 1 samscollection.in, 1 samsebe.ml, 1 samsebe.tk, 1 @@ -94371,7 +94023,6 @@ sanalturcu.com, 1 sanandreasstories.com, 1 sanantoniolocksmithtx.com, 1 -sanantoniourologygroup.com, 1 sanasport.cz, 1 sanasport.sk, 1 sanates.cz, 1 @@ -94461,7 +94112,7 @@ sanglierhurlant.fr, 1 sangoandmiroku.tk, 1 sangobion.com, 0 -sangobion.com.my, 1 +sangobion.com.my, 0 sangowen.xyz, 1 sangreytinta.tk, 1 sangwanbeach.tk, 1 @@ -94513,13 +94164,11 @@ sans-hotel.com, 1 sanskrit.pub, 1 sanskrit.site, 1 -sanskritiyoga.com, 1 sansonehowell.com, 1 santa-fell-from.space, 1 santabarbaraca.gov, 1 santackergaard.nl, 1 santaclaracounty.gov, 1 -santacruzdescargas.tk, 1 santafesilversaddlemotel.com, 1 santaijia.com, 0 santamargarita.tk, 1 @@ -94549,7 +94198,6 @@ santhoshveer.com, 1 santi-club.de, 1 santiagogarza.co, 1 -santiagomartinez.net, 1 santibanezdetera.tk, 1 santimb.photos, 1 santing.net, 1 @@ -94591,6 +94239,7 @@ sapienza-eclipse.com, 1 sapienzaconsulting.com, 1 sapik.hu, 1 +sapindus.pl, 1 sapiperelining.com.au, 1 sapk.fr, 1 saplumbers.com.au, 1 @@ -94682,7 +94331,6 @@ sarmpel.tk, 1 sarndipity.com, 1 sarny.at, 1 -saro.me, 1 sarogiw.tk, 1 saropa.com, 1 sarouel.fr, 1 @@ -94810,7 +94458,6 @@ savannahhappycats.com, 1 savannahsidewalktours.com, 1 savantcare.com, 1 -savantic.io, 1 savasanadam.com, 1 savatha.tk, 1 savbus.com, 1 @@ -94855,7 +94502,6 @@ savonlinnatrujillo.tk, 1 savonsuuntaporaus.fi, 1 savushkin.tk, 1 -saw249.de, 1 sawansasaram.ml, 1 sawiday.at, 1 sawiday.be, 1 @@ -94883,6 +94529,7 @@ saxoncreative.com, 1 saxophone.tk, 1 saxotex.de, 1 +say-it-loud.com, 1 sayany.tk, 1 saybecraft.ru, 1 saydj.tk, 1 @@ -94912,6 +94559,7 @@ sbbz-bad-wurzach.de, 1 sbcalitagtag.edu.ph, 1 sbcargo.com, 1 +sbconstrucciones.com, 1 sbcountyatc.gov, 1 sbequineevac.org, 1 sber-solutions.ru, 1 @@ -95021,8 +94669,6 @@ scatteredcode.net, 1 scatters.com, 1 scatterscasino.com, 1 -scavalentenx.duckdns.org, 1 -scavalentewp.duckdns.org, 1 scavenged.ga, 1 scbdh.org, 1 sccd.co.uk, 1 @@ -95149,6 +94795,7 @@ schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 +schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoffelcountry.com, 1 @@ -95189,7 +94836,7 @@ school-33.tk, 1 school-adventures.tk, 1 school-project.tk, 1 -school-register.co.za, 0 +school-register.co.za, 1 school.in.th, 1 school16-tob.tk, 1 school173.tk, 1 @@ -95278,7 +94925,7 @@ schutterij-sintsebastianus-eys.tk, 1 schutterijschinveld.nl, 0 schutz-vor-schmutz.de, 1 -schutznetze24.de, 0 +schutznetze24.de, 1 schutzwerk.com, 1 schuurmanopleidingen.nl, 1 schwabenhaus-ka.de, 1 @@ -95288,7 +94935,6 @@ schwarz-gelbe-fuechse.de, 1 schwarzegar.de, 1 schwarzenberg.tk, 1 -schwarzer.it, 1 schwarzes-muenchen.de, 1 schwarzhenri.ch, 0 schwarztrade.cz, 1 @@ -95298,7 +94944,7 @@ schwedischezahnaerztin.com, 1 schwedischezahnaerztin.de, 1 schweingehabt.expert, 1 -schweininchen.de, 1 +schweininchen.de, 0 schweiz-sextreffen.ch, 1 schweizerbanken.tk, 1 schweizers-restaurant.de, 1 @@ -95355,6 +95001,7 @@ scislowcy.pl, 1 scitheory.com, 1 scitopia.me, 1 +scitopia.net, 1 scity88.com, 1 scjtt.fr, 1 scloud.link, 1 @@ -95467,7 +95114,6 @@ scrapcars.net.au, 1 scrapmartine.tk, 1 scrapmycarperth.com.au, 1 -scratch-ppp.jp, 1 scratchbot.tk, 1 scratchzeeland.nl, 1 scrawn.net, 1 @@ -95494,7 +95140,6 @@ scripo-bay.com, 1 script.google.com, 1 scripter.co, 1 -scriptgates.ru, 1 scripthost.org, 1 scriptjunkie.us, 1 scriptline.ga, 1 @@ -95550,6 +95195,7 @@ sdare.ru, 1 sdcardrecovery.de, 1 sdebitati.it, 1 +sdelatmrt.spb.ru, 0 sdeu.fr, 1 sdfamilycare.org, 1 sdg-tracker.org, 1 @@ -95586,11 +95232,11 @@ se.com, 1 se.gg, 1 se.search.yahoo.com, 0 -se86.us, 1 sea-airinternational.tk, 1 sea-godzilla.com, 1 sea-man.org, 1 sea.zapto.org, 1 +seabehind.me, 0 seabooty.com, 1 seabrooklocksmith.com, 1 seachef.it, 1 @@ -95619,7 +95265,6 @@ seaplayhomes.com, 1 search, 1 search-engine-optimization.xyz, 1 -search-one.de, 1 search.gov, 1 search.yahoo.com, 0 searchable.ml, 1 @@ -95699,6 +95344,7 @@ sebastiantroncoso.tk, 1 sebastianungureanu.com, 1 sebastiaperis.com, 1 +sebastien-meric.com, 1 sebasveeke.nl, 1 sebba.tk, 1 sebeobrana.ml, 1 @@ -95715,13 +95361,13 @@ sec-research.com, 1 sec-tunnel.com, 1 sec-wiki.com, 1 +sec.ec, 1 sec.fish, 0 sec.gd, 1 sec.gov, 1 sec30.com, 1 sec3ure.co.uk, 1 sec44.com, 0 -sec44.net, 0 sec44.org, 0 sec455.com, 1 sec530.com, 1 @@ -95731,8 +95377,6 @@ secard.xyz, 1 secctexasgiving.org, 0 secdfir.com, 1 -secfish.com, 0 -secfish.net, 0 secgui.de, 1 sech.me, 1 secinto.com, 1 @@ -95776,7 +95420,6 @@ secrets-marketing.tk, 1 secretsdujeu.com, 1 secretserveronline.com, 1 -secretshoppermall.com, 1 secretsofuniverse.in, 1 secretstomartialarts.tk, 1 secretworld.ml, 1 @@ -95815,6 +95458,7 @@ secure.facebook.com, 0 securebot.ga, 1 securecloudplatform.nl, 1 +securecomms.cz, 1 secureddocumentshredding.com, 1 securedrop.org, 1 secureenduserconnection.se, 1 @@ -95826,7 +95470,6 @@ secureim.de, 1 secureinfo.pl, 1 securelect-inspection.com, 1 -securemailbox.com, 1 securemantra.net, 1 securemy.website, 1 securenets.nl, 1 @@ -95839,12 +95482,10 @@ securesense.nl, 1 securesuite.co.uk, 1 securesystems.de, 1 -securethe.news, 1 securetrustbank.com, 1 secureutilitypayments.com, 1 securevideo.com, 1 securewebcomputing.com, 1 -secureworks.com, 1 secureyourerp.nl, 1 securi-tay.co.uk, 1 securify.nl, 1 @@ -95900,24 +95541,21 @@ securocloud.com, 1 securoswiss.ch, 1 securot.eu, 1 -securview.ch, 0 +securview.ch, 1 secutorcloud.com, 0 secutrans.com, 1 secuvera.de, 0 -secvault.io, 0 secwall.me, 1 secwise.nl, 0 secyourity.se, 1 sedico.mx, 1 sedirector.net, 1 sedkisghairi.com, 0 -sedlakovalegal.com, 1 sedlex.fr, 1 sedmicka.sk, 0 sedoexpert.nl, 1 sedoexperts.nl, 1 sedro-woolley.gov, 1 -see.asso.fr, 0 see.wtf, 1 seearmenia.tk, 1 seedandleisure.co.uk, 1 @@ -96116,7 +95754,6 @@ sembosihosting.tk, 1 sembska.de, 1 sembyotic.com, 1 -semdynamics.com, 1 semena-ua.ml, 1 semenov.ml, 1 semenov.su, 1 @@ -96223,6 +95860,7 @@ senshudo.tv, 1 sensibleita.tk, 1 sensiblelanecounty.tk, 1 +sensibus.com, 1 sensizem.tk, 1 sensoft-int.com, 1 sensoft-int.net, 1 @@ -96315,6 +95953,7 @@ seojaguar.tk, 1 seokaos.com, 0 seokatka.tk, 1 +seolabuitest.azurewebsites.net, 1 seolib.org, 1 seoline.cf, 1 seolister.cf, 1 @@ -96357,7 +95996,6 @@ seosof.com, 1 seosos.gq, 1 seosos.ml, 1 -seospecialist.ma, 1 seosprint.gq, 1 seostrit.cf, 1 seostrit.tk, 1 @@ -96381,6 +96019,7 @@ sepalasaude.com.br, 1 separacioniglesiaestado.tk, 1 sepenggal.info, 1 +seppelec.com, 1 seproco.com, 0 septakkordeon.de, 1 septam-orchestra.fr, 1 @@ -96388,7 +96027,6 @@ septfinance.ch, 0 septicrepairspecialists.com, 1 septics.ga, 1 -septictankpumpingservices.com, 1 septonol.tk, 1 septs.blog, 1 sepulcharium.tk, 1 @@ -96676,7 +96314,7 @@ sewfarsewgood.uk, 1 sewing-machines.com.ua, 1 sewing-world.ru, 1 -sewinginsight.com, 1 +sewinginsight.com, 0 sewoo.co.uk, 1 seworld.ml, 1 sex-chat-geld-verdienen.com, 1 @@ -96809,6 +96447,7 @@ sh4y.com, 1 sh68.cc, 0 sha.bi, 1 +sha2017.org, 1 sha512.online, 1 shaadithailand.com, 1 shabashka.ml, 1 @@ -96951,7 +96590,6 @@ shape.pink, 1 shapediver.com, 1 shapesouthcarolina.gov, 1 -shapin.tv, 1 shapingthebay.com.au, 1 sharanyamunsi.net, 1 share.la, 1 @@ -96965,8 +96603,6 @@ sharedgoals.co, 1 sharedhost.de, 1 shareeri.com, 1 -sharefox.eu, 1 -sharefox.nl, 1 sharegate.tk, 1 sharekey.com, 0 sharelinks.tk, 1 @@ -96995,7 +96631,6 @@ sharingcolombia.com, 1 sharingiscaring.cc, 1 sharingphotos.co, 0 -sharisharpe.com, 1 shark-host.tk, 1 shark5060.net, 1 sharkey.tk, 1 @@ -97020,12 +96655,10 @@ shatabdichildrenschool.tk, 1 shatalov.com, 1 shaumine.ml, 1 -shaun.net, 1 shaunallen.co.uk, 1 shaunandamyswedding.com, 1 shaunc.com, 1 shaundanielz.com, 1 -shavegazette.com, 0 shavingks.com, 1 shavit.space, 1 shavitech.com, 1 @@ -97126,6 +96759,7 @@ shenannigans.tk, 1 shenderman.ml, 1 shenghaiautoparts.com, 1 +shenghaiautoparts.net, 1 shenghuang.tk, 1 shengrenyu.com, 1 shenmiya.com, 1 @@ -97227,7 +96861,6 @@ shinkamigoto.tv, 1 shinko-osaka.jp, 1 shinnyosangha.org, 0 -shinobayderm.com, 1 shinobi-fansub.ro, 1 shinobu.chat, 1 shinonome-lab.eu.org, 1 @@ -97244,18 +96877,16 @@ shipard.cz, 1 shipard.org, 1 shipbuddies.com, 1 -shipcloud.io, 1 +shipcloud.io, 0 shipheart.tech, 1 shiplapandshells.com, 1 shipmile.com, 1 shipmonk.cloud, 1 shipmonk.com, 1 -shipmyroom.com, 0 shipnak.com, 1 shippercenter.info, 1 shippexx.com, 1 shipping-trade.ga, 1 -shippingbo.com, 1 shippinglabel.de, 1 shiptek.co, 1 shiptron.com, 1 @@ -97264,6 +96895,7 @@ shiqi.one, 1 shiqi.online, 1 shiqi.se, 1 +shiqi.tv, 1 shiqi1.com, 1 shiqishidai.cc, 1 shiqisifu.cc, 1 @@ -97411,7 +97043,6 @@ shopific.co, 1 shopific.com, 1 shopify.com, 1 -shopifycloud.com, 1 shopikal.com, 1 shopingbiz.tk, 1 shopintra.net, 1 @@ -97419,7 +97050,6 @@ shoplandia.co, 1 shopless.co.nz, 1 shoplogcap.com, 1 -shopmaksu.com, 1 shopmalinka.cf, 1 shopminut.com, 1 shopocratic.com, 1 @@ -97622,10 +97252,10 @@ shossain.tk, 1 shost.ga, 1 shota-sekkotsuin.com, 1 +shota.soy, 1 shota.vip, 1 shotbow.net, 1 shotgunstudio.com, 1 -shotly.net, 1 shotoniphone.ga, 1 shotsleeve.com, 1 shoujik8.com, 1 @@ -97650,7 +97280,6 @@ showgirls.ga, 1 showmax.com, 1 showmeengland.co.uk, 1 -showmethegadgets.com, 0 shown.io, 1 shownet.tk, 1 showpassword.net, 0 @@ -97674,7 +97303,6 @@ shredder.tk, 1 shredoptics.ch, 0 shreyansh26.me, 1 -shrglobal.com, 1 shrike.me, 0 shrimpcam.pw, 1 shrimpnews.tk, 1 @@ -97692,7 +97320,6 @@ shrug.ml, 0 shssl.vip, 0 sht-vr-player.cf, 1 -sht.life, 1 shtaiman.com, 1 shtaiman.net, 1 shtaiman.org, 1 @@ -97843,6 +97470,7 @@ sieh.es, 1 sieiro.tk, 1 siel.nl, 1 +sieliakus.nl, 1 sielsystems.nl, 1 siemencaes.tk, 1 siemens.co.uk, 1 @@ -97912,12 +97540,12 @@ signaturecountertops.com, 1 signaturedallas.com, 1 signatureresolution.com, 1 -signcatch.com, 1 signere.com, 1 signicat.io, 1 significado.origem.nom.br, 1 significados.com, 1 significados.com.br, 1 +significantbanter.com, 1 signing-milter.org, 0 signing.tools, 1 signinwithmc.com, 1 @@ -97952,6 +97580,7 @@ siirtutkusu.com, 0 sijbesmaverhuizingen.nl, 1 sijimi.cn, 1 +sik-it.nl, 1 sikademy.com, 1 sikaranbrotherhood.tk, 1 sikayetvar.com, 0 @@ -97999,7 +97628,6 @@ silsha.me, 1 silta.tk, 1 siltmax.ee, 1 -silv.me, 1 silv.tk, 1 silver-drachenkrieger.de, 1 silver-heart.co.uk, 1 @@ -98126,6 +97754,7 @@ simart.cf, 1 simasoft.com, 1 simava.org, 1 +simbamail.de, 1 simbeton.nl, 1 simbiat.ru, 1 simbike.ru, 1 @@ -98160,7 +97789,6 @@ simocar.fr, 1 simoesgoulart.com.br, 1 simon-agozzino.fr, 1 -simon-hofmann.org, 1 simon-mueller.de, 1 simon.butcher.name, 1 simon.lc, 1 @@ -98268,7 +97896,6 @@ simplycateringequipment.co.uk, 1 simplycharlottemason.com, 1 simplycloud.de, 1 -simplydigitalspace.ca, 1 simplyfitperth.com.au, 1 simplyfixit.co.uk, 1 simplyheadwear.com.au, 1 @@ -98419,7 +98046,6 @@ sinusitis-bronchitis.ch, 1 sinusitisexplained.com, 1 sinvideovault.com, 1 -sioeckes.hu, 1 siogyumolcs.hu, 1 sion-colony.tk, 1 sion.info, 1 @@ -98482,7 +98108,7 @@ siscompt.com, 1 siseed.io, 1 siselectrom.com, 1 -siseministeerium.ee, 1 +siseministeerium.ee, 0 sisiengineers.gq, 1 sisirbatu.tk, 1 sismit.es, 1 @@ -98532,7 +98158,6 @@ sitecrew.cf, 1 sitecuatui.com, 1 sitedebelezaemoda.com.br, 1 -sitedrive.fi, 1 siteintelstage.com, 1 sitekatalog.tk, 1 sitelinks.ga, 1 @@ -98574,7 +98199,6 @@ sitzungsdienst.net, 1 siulam-wingchun.org, 1 siusto.com, 1 -sivale.mx, 1 sivaru.tk, 1 sivizius.eu, 1 sivutoimisto.fi, 1 @@ -98589,12 +98213,12 @@ sixcorners.net, 1 sixe.es, 1 sixforkurd.tk, 1 +sixnines.net, 1 sixpackband.tk, 1 sixpackholubice.cz, 1 sixstrings.tk, 1 sixt.com.tr, 1 sixteenweb.in, 1 -sixth.tube, 1 siyuan.com, 1 sizeunknown.com, 1 sizeunknown.net, 1 @@ -98642,8 +98266,6 @@ skartecedu.in, 1 skatclub-beratzhausen.de, 1 skate.fr, 1 -skateaustria.at, 1 -skateaustria.events, 1 skateparkmontbriz.tk, 1 skaterangels.tk, 1 skaterepublic.tk, 1 @@ -98693,7 +98315,7 @@ skiinstructor.services, 1 skile.ru, 0 skiley.net, 1 -skilift-quellenwiese.at, 1 +skilift-quellenwiese.at, 0 skill.moe, 1 skill.tk, 1 skillablers.com, 1 @@ -98703,6 +98325,7 @@ skillled.com, 1 skillmoe.at, 1 skills2serve.org, 1 +skills2services.com, 1 skillsenhancementtexas.gov, 1 skillsenhancementtx.gov, 1 skillshare.com, 1 @@ -98846,6 +98469,8 @@ skybrary.aero, 1 skybrary.eu, 1 skycmd.net, 1 +skyder.com.mx, 0 +skyder.mx, 0 skyderby.ru, 1 skydiverapp.com, 1 skydiverecuador.com, 1 @@ -98880,6 +98505,7 @@ skyminds.net, 1 skymonk.tk, 1 skyn.ai, 1 +skynet-research.us, 0 skynet233.ch, 0 skynet800.goip.de, 1 skynetcloud.site, 1 @@ -98921,6 +98547,7 @@ skywindowsnj.com, 1 skyworldlinktravels.com, 1 skyworldserver.ddns.net, 1 +skywt.cn, 1 skyynet.de, 1 skyzimba.com.br, 1 sl-alarm.ru, 1 @@ -98966,6 +98593,7 @@ slavasveta.info, 1 slavblog.ru, 1 slaws.io, 1 +slayer.tech, 1 slayingqueen.com, 1 slbknives.com, 1 sld08.com, 1 @@ -98992,6 +98620,7 @@ sleismann.eu, 1 sleismann.org, 1 slemen.tk, 1 +slepsluzbabeograd.org, 1 sletaem.ml, 1 sletat.ru, 1 slev.tk, 1 @@ -99050,7 +98679,6 @@ slotarazzi.com, 1 slotboss.co.uk, 1 slotcatalog.com, 1 -slotfara.com, 1 slotfara.net, 1 slotgratisonline.net, 1 slothless.com, 1 @@ -99180,7 +98808,6 @@ smartass.space, 1 smartass0027.com, 1 smartassembly.tk, 1 -smartb2balgeria.com, 1 smartbiz.vn, 1 smartblock.cloud, 1 smartcar.com, 1 @@ -99191,7 +98818,6 @@ smartcpa.ca, 1 smartdb.jp, 1 smartdigital.ga, 1 -smartdigitech.co.za, 1 smarteco.tk, 1 smartedukasi.co.id, 1 smarterskies.gov, 1 @@ -99241,7 +98867,6 @@ smartpos.net.br, 1 smartproductguide.com, 1 smartpti.net, 1 -smartrecruit.ro, 1 smartrentacar.ro, 1 smartriotour.com.br, 0 smartrise.us, 1 @@ -99294,7 +98919,6 @@ smi-a.me, 1 smialnumenor.tk, 1 smiatek.name, 1 -smiblog.tk, 1 smicenter.tk, 1 smicompact.com, 1 smictecniservi.com, 1 @@ -99353,7 +98977,6 @@ smokefreerowan.org, 1 smokeping.pl, 1 smoker.tk, 1 -smokingblendoils.com, 1 smokinghunks.com, 1 smokingrio.com.br, 1 smokingtapes.ga, 1 @@ -99389,11 +99012,13 @@ sms72.tk, 1 smsalvand.tk, 1 smsappointment.com, 0 +smsben.com, 0 smsbrana.cz, 0 smsfa.ir, 1 smsg-dev.ch, 0 smsinger.com, 1 smsk.email, 1 +smsk.io, 1 smskeywords.co.uk, 1 smskmail.com, 1 smsprivacy.org, 1 @@ -99469,7 +99094,6 @@ sndcdn.com, 1 snea-kers.tk, 1 sneak.berlin, 1 -sneaker.date, 1 sneakers-sports.tk, 1 sneakers88.it, 1 sneakersmexs.com, 1 @@ -99590,6 +99214,7 @@ soacompanhantes.vip, 1 soakgames.com, 1 soap-teco.com, 1 +soapex.com, 1 soapitup.com.au, 1 soaringdownsouth.com, 1 soaringtoglory.com, 1 @@ -99597,10 +99222,10 @@ soatplus.com, 1 sobakasite.tk, 1 sobaki.tk, 1 -sobaya-gohei.com, 1 sobchak.ga, 1 sobczakdesign.de, 1 sobersys.com, 1 +sobie.ch, 1 sobieray.dyndns.org, 1 soblaznenie.ru, 1 soblaznenie2.ru, 1 @@ -99619,11 +99244,9 @@ soccorso-stradale.org, 1 socheap.win, 1 sochi-sochno.ru, 1 -sochi.ooo, 1 -sochiatrium.com, 1 +sochi.ooo, 0 sochionline.tk, 1 sochisan.com, 0 -sochiss.ru, 1 soci.ml, 1 sociaalwerknederland.nl, 1 sociability.dk, 1 @@ -99648,7 +99271,6 @@ socialdemo.ml, 1 socialdemo.tk, 1 socialdevelop.biz, 0 -socialdj.de, 0 socialeducation.tk, 1 socialesactivo.ga, 1 socialesretro.tk, 1 @@ -99746,7 +99368,6 @@ sofa-bed.tk, 1 sofa-rockers.org, 1 sofabedshop.de, 1 -sofaclean.co.uk, 1 soffit.com, 1 sofgen.com, 1 sofi.codes, 1 @@ -99840,7 +99461,6 @@ soinvett.com, 0 soji.io, 1 sokak-sanati.tk, 1 -sokakfotografi.com, 1 sokenconstruction.com, 1 soket.ee, 1 soko.nl, 1 @@ -99999,7 +99619,6 @@ solviejo.tk, 1 solvin.com, 1 solviq.com, 1 -solvops.com, 1 solxsys.com, 1 solymar.co, 1 soma.com.au, 1 @@ -100042,6 +99661,7 @@ somoshuemul.cl, 0 somoslaarmenia.com, 1 somosweb.cf, 1 +somoyorkies.com, 1 somuchbetterwithage.com, 1 somweyr.de, 1 son-onlajn.cf, 1 @@ -100110,7 +99730,7 @@ sonixonline.com, 1 sonja-daniels.com, 1 sonja-kowa.de, 1 -sonjoux.com, 1 +sonjoux.com, 0 sonkamusic.tk, 1 sonmark.ru, 1 sonnenbergharrison.law, 1 @@ -100192,6 +99812,7 @@ sortirentrenous.com, 1 soruly.com, 1 soruly.io, 1 +soruly.moe, 1 soruly.net, 1 soruly.org, 1 sorx.tech, 1 @@ -100283,6 +99904,7 @@ soulplay.com, 1 soulpowercoaching.ga, 1 soulreapers.tk, 1 +soulshinecreators.com, 1 soulshow.tk, 1 soulsinner.tk, 1 soulsteer.com, 0 @@ -100291,6 +99913,7 @@ souly.cc, 1 soulyi.io, 1 soumen.tk, 1 +soumikghosh.com, 1 soumya.xyz, 1 soumya92.me, 1 sound-orpheus.tk, 1 @@ -100357,11 +99980,12 @@ sourcegraph.com, 1 sourcelair.com, 0 sourcely.net, 1 -sourceway.de, 1 sourcing4exports.co.uk, 1 sourcitec.com, 1 +sourdough.vc, 1 souria.tk, 1 souris.ch, 0 +sourmatt.xyz, 1 sous-surveillance.net, 0 souspind.com.br, 0 southafrican.dating, 1 @@ -100400,7 +100024,6 @@ southmorangtownhouses.com.au, 1 southogdencity.gov, 1 southokcurology.com, 1 -southpawmoto.com, 1 southridgeservices.com, 1 southside-crew.com, 1 southside-digital.co.uk, 1 @@ -100421,7 +100044,7 @@ sovendus.de, 1 sovereignartfoundation.com, 1 sovereignpcs.com, 1 -soverin.net, 0 +soverin.net, 1 sovest.ml, 1 sovhoz.tk, 1 sovmestimost-goroskop.cf, 1 @@ -100437,13 +100060,10 @@ sowncloud.de, 1 sowsmallgarden.com, 1 sowtarabiya.com, 1 -soya.com.ua, 1 soybase.org, 1 soychef.today, 1 -soydemac.com, 1 soydoula.com, 1 soydxn.com, 1 -soygorrion.com.ar, 1 soyjak.party, 0 soyka.by, 1 soykaf.eu, 1 @@ -100492,7 +100112,6 @@ spacecorp.de, 1 spacecovers.com, 1 spacedance.tk, 1 -spacedirectory.org, 1 spacedots.net, 1 spacefighters.tk, 1 spacehighway.ms, 1 @@ -100574,7 +100193,7 @@ sparklark.com, 1 sparklatvia.lv, 1 sparklebastard.com, 1 -sparklesdelivery.com, 1 +sparklesdelivery.com, 0 sparklesvt.com, 1 sparkletowels.com, 0 sparklewindowcleaners.co.za, 1 @@ -100599,7 +100218,6 @@ spartaermelo.nl, 1 spartamet.tk, 1 spartan300.tk, 1 -spartancoin.ooo, 1 spartanis.tk, 1 spartankids.in, 1 spartantheatre.org, 1 @@ -100617,7 +100235,7 @@ spazturtle.co.uk, 1 spazzacamino.roma.it, 1 spb-xiaomi.ru, 1 -spb.ooo, 1 +spb.ooo, 0 spbot.ml, 1 spcollege.edu, 1 spd-porta-westfalica.de, 1 @@ -100790,6 +100408,7 @@ spiet.nl, 1 spiffsearch.com, 1 spiga.ch, 0 +spikar.gr, 1 spike.sh, 1 spikefishdesigns.com, 1 spikejeon.tk, 1 @@ -100830,7 +100449,6 @@ spiritualvybz.com, 1 spiritworld.ml, 1 spiro.se, 1 -spiroduct.gr, 1 spiski-domenov.tk, 1 spisochek.tk, 1 spisok-domenov.tk, 1 @@ -100876,13 +100494,11 @@ spokanepolebuildings.com, 1 spokesly.com, 1 spolshy.com.ua, 1 -spoluck.ca, 1 spolwind.de, 1 spom.net, 1 sponc.de, 1 sponec.com, 1 spongebobwiki.tk, 1 -spongepowered.org, 1 sponsor.software, 1 spoofhaus.com, 1 spookbook.net, 1 @@ -100892,7 +100508,6 @@ spoorcam.nl, 1 sporeshore.co.uk, 1 sporki.fun, 1 -spornkuller.de, 1 sport-51.ru, 1 sport-in-sundern.de, 1 sport-news.ml, 1 @@ -100951,7 +100566,6 @@ sportscanada.tk, 1 sportschoolgeelhoed.nl, 1 sportsdeck.tk, 1 -sportsdrobe.com, 1 sportsgraphing.com, 1 sportskibat.tk, 1 sportsmagy.com, 1 @@ -100977,14 +100591,13 @@ sportztalk.com, 1 spot-cleaner.tk, 1 spot-lumiere-led.com, 1 -spot.su, 1 spotifyfreetrial.co.uk, 1 spotifytop.me, 1 spotlabs.uk, 1 spotlessohio.com, 1 spotlightsrule.com, 1 spotonlive.dk, 1 -spotpetins.com, 1 +spotpetins.com, 0 spotrebitelskecentrum.sk, 1 spotsee.io, 0 spotswoodvet.com, 1 @@ -101049,7 +100662,7 @@ sprintlee.com, 1 spritmonitor.de, 1 spritsail.io, 1 -sprock.io, 0 +sprock.io, 1 spron.in, 1 sprossen-keimlinge.de, 1 sprossenwand.de, 1 @@ -101112,8 +100725,8 @@ sqprod.co, 1 sqr-training.com, 1 sqreemtech.com, 1 +sqroot.eu, 1 sqsd.xyz, 1 -sqshq.de, 1 squad.fr, 1 squadgames.ru, 1 squadronprotectiveservices.net, 1 @@ -101169,6 +100782,7 @@ sqxb0.ga, 1 sr-33.com, 1 sr-f.tk, 1 +sr.ht, 1 sr2.uk, 1 sr33.com, 1 sr88.co.uk, 1 @@ -101241,6 +100855,7 @@ srsfwd.net, 1 srsfwd.org, 1 srshopping-rest.herokuapp.com, 1 +srun.in, 0 sruthisjewellery.com, 1 srvonfire.com, 1 srx.sx, 1 @@ -101262,7 +100877,7 @@ ss6957.co, 1 ss88.uk, 1 ss9188.com, 1 -ss9288.com, 1 +ss9288.com, 0 ss9297.co, 1 ss9397.com, 0 ss9728.co, 1 @@ -101271,7 +100886,6 @@ ssaarevents.tk, 1 ssantosserralharia.com.br, 1 ssasociety.nl, 1 -ssbgportal.net, 1 ssbrm.ch, 1 ssc.vg, 0 sscd.no, 1 @@ -101282,6 +100896,7 @@ ssdpalermo.it, 1 ssenberg.nl, 1 ssgo.cloud, 1 +ssh-keys.online, 1 ssh-vault.com, 1 ssh.in.ua, 1 sshbox.tk, 1 @@ -101331,7 +100946,6 @@ ssmpuc.com, 1 ssmrca.ca, 1 ssone.ee, 1 -sspanel.host, 1 ssprod.tk, 1 sspu.ml, 1 ssr.llc, 1 @@ -101386,9 +101000,8 @@ stad.gent, 1 stadgent.be, 1 stadionmanager.com, 1 -stadiumexperience.com, 1 stadlwirt.at, 1 -stadm.com, 0 +stadm.com, 1 stadsbos013.nl, 0 stadspaleizengent.be, 1 stadtbauwerk.at, 0 @@ -101402,7 +101015,6 @@ staff.direct, 1 staffglass.io, 1 staffhours.com, 1 -staffhunt.org.uk, 0 staffi.tk, 1 staffingnation.com, 1 staffordpk.tk, 1 @@ -101491,6 +101103,7 @@ standfore.com, 1 standheizung-shop.de, 1 standingbear.tk, 1 +standoff-magic.ru, 1 standoffdrop.com, 1 standoffdrop.ru, 1 standsearch.cf, 1 @@ -101519,7 +101132,6 @@ star-darom.co.il, 1 star-life.tk, 1 star-one.co.uk, 1 -star-stuff.de, 0 star.my.id, 0 star.watch, 1 starase.com, 0 @@ -101555,7 +101167,6 @@ starfriend.ru, 1 stargarder-jungs.de, 1 stargate.gq, 1 -stargatelrp.co.uk, 1 stargazer.de, 1 stargift.ch, 1 stari.co, 1 @@ -101569,8 +101180,6 @@ starking.tk, 1 starkvilleurgentcareclinic.com, 1 starlabs.bio, 1 -starlim.co.in, 1 -starlim.org, 1 starlincuesta.gq, 1 starlinks.tk, 1 starlinkz.tk, 1 @@ -101591,7 +101200,6 @@ starretest.nl, 1 starreview.tk, 1 starry.blue, 1 -starrymc.cn, 1 starryvoid.com, 1 starsam80.net, 1 starsbattle.net, 1 @@ -101661,6 +101269,7 @@ startuptechstack.com, 1 startupum.ru, 1 startupweb.io, 1 +startupyourmind.com, 1 startw.cf, 1 starvizyon.com, 1 starwarschronology.com, 1 @@ -101795,6 +101404,7 @@ steamstatus.cn, 1 steamtrades.com, 1 stebenkov.tk, 1 +stebet.net, 1 steborio.pw, 1 steckel.cc, 1 stecos.co.uk, 1 @@ -101974,7 +101584,6 @@ sterlingheights.gov, 1 sterlingmodular.com, 1 sterlinx.de, 1 -sterlitamak.tk, 1 stern-freunde.de, 1 stern.koeln, 1 sternadel.pl, 1 @@ -101985,7 +101594,7 @@ sterohouse.com, 1 steroids.ga, 1 sterretranen.tk, 1 -sterva.mobi, 1 +sterva.mobi, 0 sterydki.pl, 1 sterz.io, 1 stesti.cz, 1 @@ -102005,7 +101614,6 @@ steveellwood.com, 1 stevegellerhomes.com, 1 stevegrav.es, 1 -stevehaid.com, 1 stevejcraig.com, 1 stevejobsfollowers.tk, 1 stevekliskey.net, 1 @@ -102072,7 +101680,6 @@ stichtingwwtoegankelijk.nl, 1 stick2bike.de, 1 stickandpoketattookit.com, 1 -stickeramoi.com, 1 stickerparadise.me, 1 stickers-garage.com, 1 stickertrade.me, 1 @@ -102120,7 +101727,6 @@ stileapp.com, 1 stilecop.com, 1 stilingavonia.lt, 1 -stillsnfilms.com, 1 stillwatertownshipmn.gov, 1 stillwell.me, 1 stilmobil.se, 1 @@ -102143,8 +101749,10 @@ stipsan.me, 1 stirblaut.de, 1 stirling.co, 1 +stirlingpoon.com, 1 stisidores.org, 1 stitch.money, 1 +stitchfiddle.com, 1 stitchinprogress.com, 1 stjohncamden.com, 1 stjohnin.com, 1 @@ -102180,6 +101788,7 @@ stlpoolattendants.com, 1 stlu.de, 1 stluciastar.com, 1 +stlucievillagefl.gov, 1 stlueke.de, 1 stlukenh.org, 1 stlukesbrandon.org, 1 @@ -102191,7 +101800,6 @@ stmarthachurch.com, 1 stmaryextra.uk, 1 stmarysnutley.org, 1 -stmaryswestwarwick.org, 1 stmatthewri.org, 1 stmattsparish.com, 1 stmattsucc.org, 1 @@ -102245,7 +101853,6 @@ stolarka.tk, 1 stolarstvi-jiriholy.cz, 1 stolbart.com, 1 -stolensheep.tk, 1 stolensun.tk, 1 stolin.info, 1 stolina.de, 1 @@ -102284,7 +101891,6 @@ stoneocean.net, 1 stoneproperty.ie, 1 stonerwitch.tk, 1 -stonesbones.com, 1 stonetribute.tk, 1 stoneworld.ga, 1 stonewuu.com, 1 @@ -102378,7 +101984,6 @@ stormwatcher.org, 1 stormylegions.tk, 1 storspillercasino.com, 1 -stortiservices.com, 1 storvann.net, 1 storvann.no, 1 storyark.de, 1 @@ -102428,6 +102033,7 @@ strafvollzugsgesetze.de, 0 strahlende-augen.info, 1 strahovanienet.tk, 1 +straight2porn.com, 1 straightcurlyhair.tk, 1 straightedgebarbers.ca, 0 straightlinetutoring.com, 1 @@ -102482,7 +102088,6 @@ strategiclivingblog.com, 1 strategicmind.com, 1 strategicpartnersmedia.com, 1 -strategiczni.pl, 1 strategie-zone.de, 1 stratego-belgie.tk, 1 strategybusiness.ga, 1 @@ -102527,11 +102132,10 @@ streamgoalandres.ml, 1 streaming-download.net, 1 streaming.jetzt, 1 -streamlineaudio.co.za, 1 +streamlineverify.com, 1 streamodz.com, 1 streamonline.fi, 1 streampanel.net, 1 -streampleasure.xyz, 1 streams.dyndns.org, 1 streamside.tk, 1 streamspouredout.com, 1 @@ -102560,20 +102164,17 @@ streetsalad.tk, 1 streetshirts.co.uk, 1 streetspirit.tk, 1 -streetspotr.com, 1 streetstunters.tk, 1 streetview.wien, 1 strefapi.com, 1 strefapi.pl, 1 strehl.tk, 1 stremio.com, 1 -strengthinyoufitness.com, 1 strengthnutrition.es, 1 strengthroots.com, 1 stress-mess-punkte.de, 1 stressed.tk, 1 stressexplained.com, 1 -stretchmarkdestroyer.com, 0 stretchpc.com, 1 striae.cf, 1 striata.com, 1 @@ -102608,11 +102209,13 @@ strmgt.com, 1 strobe.cool, 1 strobel.cl, 1 +strobotti.com, 1 stroccounioncity.org, 1 stroeder.com, 1 stroeder.de, 1 stroeerdigital.de, 1 stroginopk.ga, 1 +strogov.me, 1 strogova.me, 1 stroifenix.ru, 1 stroigid.tk, 1 @@ -102701,7 +102304,7 @@ studenti.tk, 1 studentinaneta.com, 1 studentingent.be, 1 -studentite.bg, 0 +studentite.bg, 1 studentjournalist.ml, 1 studentklinikk.no, 1 studentloans.gov, 1 @@ -102758,7 +102361,6 @@ studiograou.com, 1 studiohelder.fr, 0 studiohomebase.amsterdam, 1 -studiokicca.com, 1 studiolegalemarchi.tk, 1 studiolegalepaternostro.it, 1 studiolu.tk, 1 @@ -102911,6 +102513,7 @@ subastasdecarros.net, 1 subbacultcha.tk, 1 subdev.org, 1 +subdimension.org, 1 subdivider.tk, 1 subestan.tk, 1 subgirl.ga, 1 @@ -102921,7 +102524,6 @@ subjekty.tk, 1 subjektzentrisch.de, 1 sublimated.tk, 1 -sublimebits.com, 1 sublimesecurity.com, 0 sublimesurface.fr, 1 sublimetours.com, 1 @@ -102976,6 +102578,7 @@ sucessclick.gq, 1 suceveanca.ro, 1 suche.org, 1 +suchem.com, 0 suchhire.com, 1 suchmaschinen-werkstatt.de, 1 suckmyan.us, 0 @@ -102991,7 +102594,7 @@ sudanindependent.net, 1 sudaraka.org, 0 sudcalifornianos.me, 1 -sudmotor-occasions.be, 0 +sudmotor-occasions.be, 1 sudo.li, 1 sudo.ws, 1 sudoash.com, 1 @@ -103001,7 +102604,6 @@ sudosaveclimate.com, 1 sudoschool.com, 1 sudosu.fr, 1 -sudya-dredd.ru, 1 suecaunitedfc.tk, 1 suelyonjones.com, 1 suempresa.cloud, 1 @@ -103033,7 +102635,7 @@ sugartownfarm.com, 1 sugaru.pe, 1 sugatime.tk, 1 -suggea.com, 0 +suggea.com, 1 suggestim.ch, 0 sugoicraft.tk, 1 sugos.cf, 1 @@ -103058,7 +102660,7 @@ sujoydhar.in, 1 sukamusik.tk, 1 suke3.jp, 1 -sukherchador.org, 1 +sukherchador.org, 0 suki.moe, 1 sukiu.net, 1 sukker-oaxaca.com, 1 @@ -103108,10 +102710,8 @@ sumcrevillent.tk, 1 sumguy.com, 1 sumhost.ml, 1 -sumiko.moe, 1 sumisa.cf, 1 sumit.blog, 1 -sumit.me, 1 sumit.sh, 1 sumitbot.ga, 1 sumitchahal.blog, 1 @@ -103129,7 +102729,6 @@ summing.ga, 1 summit-humanpotential.com, 1 summit-level.ru, 1 -summitbankofkc.com, 1 summitcountyboe.gov, 1 summiteyekc.com, 1 summitlighthousela.org, 1 @@ -103158,7 +102757,6 @@ sunbit.com, 1 sunblind.tk, 1 sunboxstore.jp, 0 -sunbritetv.com, 0 sunbury.xyz, 1 suncanary.tk, 1 suncat.tk, 1 @@ -103206,6 +102804,7 @@ sunkimurology.com, 1 sunlit.cloud, 1 sunn.ie, 1 +sunny.co.uk, 1 sunnyhome.tk, 1 sunnylyx.com, 1 sunnynetworks.net, 1 @@ -103285,6 +102884,7 @@ super-lolitas.tk, 1 super-net.tk, 1 super-o-blog.com, 1 +super11.nl, 1 superaficionados.com, 1 superandina.cl, 1 superbart.nl, 1 @@ -103305,7 +102905,6 @@ supercastlesmelbourne.com.au, 1 supercastlessouthsydney.com.au, 1 supercastlessunshinecoast.com.au, 1 -supercastlessydney.com.au, 1 supercentenarian.com, 1 supercharged.co.uk, 1 supercima.com, 0 @@ -103360,6 +102959,7 @@ superklima.ro, 0 superkonsult.se, 1 superkrasota.tk, 1 +superlandnetwork.de, 1 superlight.tk, 1 superlisa.nl, 1 superlog.tk, 1 @@ -103412,7 +103012,6 @@ superweb.design, 1 superwhoopi.tk, 1 superzaim.ga, 1 -supeuro.com, 1 supfood.cz, 1 supioka.com, 1 suplementasi.com, 1 @@ -103428,7 +103027,6 @@ supplement.cf, 1 supplementalconditions.com, 1 supplementpolice.tk, 1 -supplementswatch.com, 0 suppliersession2021.com, 1 supplies24.at, 1 supplies24.es, 1 @@ -103440,7 +103038,7 @@ supportal.one, 1 supportericking.org, 1 supportfan.gov, 1 -supportmeindia.com, 1 +supportmeindia.com, 0 suppos-net.tk, 1 supra.tf, 1 supracube.com, 1 @@ -103516,7 +103114,6 @@ survivebox.fr, 1 survivebox.net, 1 survivingmesothelioma.com, 1 -suryatechnologies.com, 1 susajja.com, 1 susanagomez.tk, 1 susanbpilates.co, 1 @@ -103563,7 +103160,6 @@ suvari.com.tr, 1 suvidhaapay.com, 1 suwanneecountyfl.gov, 1 -suwanneehealthrehab.com, 1 suwcountyfl.gov, 1 suwebcreativa.com, 1 suzannecooper.com, 1 @@ -103644,6 +103240,7 @@ svet.tk, 1 svetandroida.cz, 1 svetapublic.com, 1 +svetbank.cz, 1 svetila.com, 1 svetlanamamedova.tk, 1 svetlilo.com, 1 @@ -103697,7 +103294,6 @@ swallsoft.co.uk, 1 swallsoft.com, 1 swamiclub.ru, 1 -swampcoolerservice.com, 1 swanbitcoin.com, 1 swansdoor.org, 1 swanseama.gov, 1 @@ -103736,7 +103332,6 @@ swedishhost.se, 1 sweep-me.net, 1 sweepay.ch, 0 -sweet-as.co.uk, 1 sweet-spatula.com, 1 sweetair.com, 1 sweetairlines.tk, 1 @@ -103770,7 +103365,6 @@ swerve-media-testbed-03.co.uk, 1 swet.com.ua, 1 swetrust.com, 1 -swevenstays.com, 0 swey.net, 0 swfmax.com, 1 swgenetx.com, 1 @@ -103779,6 +103373,7 @@ swi.sytes.net, 1 swiatpilki.com, 1 swid.co.uk, 1 +swiffertirimborsa.it, 1 swift-devedge.de, 1 swiftbonds.com, 1 swiftcashforcars.com.au, 1 @@ -103810,7 +103405,6 @@ swingle.ga, 1 swingmonkey.com, 1 swingstel.tk, 1 -swingtimeinthegardens.com, 1 swingular.com, 1 swingz.com.au, 1 swipedon.com, 1 @@ -103876,7 +103470,6 @@ swostik.com, 1 swqa.hu, 1 swrelay.net, 1 -swrelay.xyz, 1 swretail.ga, 1 swtrayssq.gq, 1 swtun.com, 1 @@ -104077,7 +103670,6 @@ systemd.ch, 0 systemd.eu.org, 1 systemd.info, 1 -systemeprod.fr, 0 systemerr.tk, 1 systemintegra.ru, 1 systemisbusy.info, 1 @@ -104140,7 +103732,6 @@ szww99.cc, 1 szybkiebieganie.pl, 1 szyldmax.pl, 1 -szymczak.at, 1 szyndler.ch, 1 szzsivf.com, 1 t-cophony.com, 1 @@ -104152,7 +103743,7 @@ t-nice.com, 1 t-pc.org, 1 t-shirt-template.com, 1 -t-shirts4less.nl, 1 +t-shirts4less.nl, 0 t-shirty.tk, 1 t-staffing.nl, 1 t-tip.ch, 1 @@ -104162,7 +103753,6 @@ t.facebook.com, 0 t00228.com, 1 t00ts.com, 0 -t070.com, 0 t0kie.space, 1 t0ny.name, 1 t12u.com, 1 @@ -104174,12 +103764,11 @@ t2data.com, 1 t2i.nl, 1 t2kc.com, 1 +t3.ie, 1 t36533.com, 1 -t39.com, 1 t3hty.fr, 1 t3rror.net, 1 t404.de, 1 -t449.com, 1 t47.io, 1 t4c.link, 1 t4cc0.re, 1 @@ -104211,6 +103800,7 @@ t88oo.com, 0 t88ss.com, 0 t88vip0.com, 1 +t88vip1.com, 1 t88vip2.com, 1 t88vip3.com, 1 t88vip4.com, 1 @@ -104270,7 +103860,6 @@ tabletkinatradzik.ga, 1 tabletopwealth.reviews, 1 tabletsandlaptops.com, 1 -tabletsbaratasya.com, 1 tablettes-tactiles.tk, 1 tableturnrms.com, 1 tablotv.com, 0 @@ -104301,14 +103890,12 @@ tactical.zone, 1 tacticalavocado.com, 1 tacticalgearexperts.com, 1 -tacticalsecurityinc.com, 1 tacticalvote.co.uk, 1 tad.ua, 1 tadalafil-tablets.tk, 1 tadalafilindia.gq, 1 taddiestales.com, 1 tadinfos.fr, 1 -tadiranbatteries.de, 0 tadj-mahalat.com, 0 tadjiki.tk, 1 tadjikistan.tk, 1 @@ -104343,7 +103930,6 @@ taglioepiega.eu, 1 taglioepiega.it, 1 tagnull.de, 1 -tagpay.com, 1 tagstationen.se, 1 tagstatravel.com, 1 tagtog.net, 1 @@ -104356,7 +103942,6 @@ tagungsraum-zinnowitz.de, 1 tagungsstaette-usedom.de, 1 tagungsstaette-zinnowitz.de, 1 -tahakomlearning.com, 1 tahaonline.tk, 1 tahmintr.com, 1 tahnee.tk, 1 @@ -104391,9 +103976,9 @@ tailwindapp.com, 1 taintedart.co.nz, 1 taipak-krasnoyar.tk, 1 -taipei-101.tk, 1 taishokudaiko.com, 1 taishon.nagoya, 1 +taitmacleod.com, 1 taiwan-kitchen.com, 1 taiwan.dating, 1 taiwanhotspring.net, 1 @@ -104454,6 +104039,7 @@ takkguitar.net, 1 takosen.co.jp, 1 taksaft.tk, 1 +taktak.co.uk, 0 taktika.tk, 1 takuhai12.com, 1 takumi-s.net, 1 @@ -104488,7 +104074,6 @@ talisman-amulet.ga, 1 talk.google.com, 1 talk.vg, 1 -talk.xyz, 1 talkaboutdesign.com, 1 talkbasket.net, 1 talkgadget.google.com, 1 @@ -104543,8 +104128,6 @@ tamamo.cat, 1 tamareverson.tk, 1 tamarind.by, 1 -tamashimx.net, 1 -tamatoyaku.com, 1 tamayahousing.com, 1 tambayology.com, 1 tambo.es, 1 @@ -104556,7 +104139,7 @@ tamchunho.com, 1 tamdaotravelvi.tk, 1 tamdidpay.tk, 1 -tamersunion.org, 0 +tamersunion.org, 1 tamilentertainment.tk, 1 tamilsms.blog, 1 tamiltax.tk, 1 @@ -104691,6 +104274,7 @@ tappezziere.milano.it, 0 tappyshop.com.br, 1 tapquad.com, 1 +taprix.org, 1 tapsnapp.co, 1 taqeemi.com, 1 taquilla.com, 1 @@ -104766,7 +104350,6 @@ tarzanka.ml, 1 tas.best, 1 tas2580.net, 0 -tasadar.net, 0 tasarimgazetesi.com, 1 tascas.ga, 1 tascout.com, 1 @@ -104792,6 +104375,7 @@ tasteofadventure.nl, 1 tasteville.com.au, 1 tastic.com, 1 +tasticfilm.com, 1 tastycake.net, 0 tastystakes.com, 1 tastyworksreview.co, 1 @@ -104809,6 +104393,7 @@ tatarworld.tk, 1 tatary.cf, 1 tatary.tk, 1 +tate.com, 1 tateishi-ip.com, 1 tatercraft.org, 1 taters.org, 1 @@ -104832,6 +104417,7 @@ taturukav.tk, 1 taubin.cc, 1 tauedu.org, 1 +tauflight.com, 1 taunusstein.net, 1 tauran.net, 1 tauriscia.tk, 1 @@ -104886,7 +104472,7 @@ taxly.kr, 1 taxmadras.com, 1 taxo.fi, 1 -taxpackagesupport.com, 0 +taxpackagesupport.com, 1 taxprocpa.com, 1 taxteam.co.il, 1 tayar2u.my, 1 @@ -104996,9 +104582,9 @@ tcvanbuuren.tk, 1 tcvonline.vic.gov.au, 1 tcvvip.com, 1 +tcvw.org, 1 tcwis.com, 1 tcyoung.co.uk, 1 -td-bambini.com, 1 td-bambini.ru, 1 td-olymp.ru, 1 tdchrom.com, 0 @@ -105022,7 +104608,7 @@ tdude.co, 1 tdvg.nl, 1 tdxexpedited.com, 1 -tdyx-china.com.cn, 0 +tdyx-china.com.cn, 1 tea.codes, 1 tea.in.th, 1 teach.gq, 1 @@ -105202,7 +104788,6 @@ tech-professor.ir, 1 tech-rat.com, 1 tech-seminar.jp, 1 -tech-techno.tk, 1 tech-urdu.tk, 1 tech-value.eu, 1 tech-zealots.com, 1 @@ -105293,7 +104878,6 @@ techmaish.com, 1 techmanstan.com, 1 techmasters.io, 1 -techmepro.com, 1 techmerch.ru, 0 techmoviles.com, 0 technavio.com, 1 @@ -105311,8 +104895,6 @@ technicalproblem.tk, 1 technicaltrainer.co.za, 1 technicalustad.com, 1 -techniclab.net, 0 -techniclab.org, 0 technochat.in, 1 technodance.tk, 1 technogies.cf, 1 @@ -105371,7 +104953,6 @@ technospeakco.com, 1 technostone.tk, 1 technoswag.ca, 1 -technoteers.com, 1 technotronikcanada.ca, 0 technouskudar.com, 1 technovisioneng.com, 1 @@ -105438,6 +105019,7 @@ tecnick.com, 1 tecnicoelettrodomestici.roma.it, 1 tecnikan.com.ar, 1 +tecnimas.com.mx, 0 tecnimotos.com, 1 tecnipuntoseguridad.com, 1 tecno-block.ru, 1 @@ -105460,7 +105042,6 @@ tecnyal.com, 1 tecon.co.at, 1 tecorrs.tk, 1 -tecparsnet.ir, 1 tecroxy.com, 1 tecscipro.de, 1 tecta-stag-225720.appspot.com, 1 @@ -105488,6 +105069,7 @@ teemulintula.fi, 1 teen-club.tk, 1 teen-porno-video.ru, 1 +teencounseling.com, 1 teengamer.tk, 1 teenmissions.org, 1 teenmoviesgallery.ga, 1 @@ -105505,7 +105087,6 @@ teerer.tk, 1 teeshirtspace.com, 1 teesurprise.com, 1 -teesypeesy.com, 1 teeters.in, 1 teetje-doko.de, 1 teetoptens.com, 1 @@ -105549,7 +105130,7 @@ teknisetdemarit.fi, 1 tekniskakustik.se, 1 teknodaim.com, 1 -teknofara.com, 1 +teknofara.com, 0 teknoforums.com, 1 teknogeek.id, 1 teknoharekat.com, 1 @@ -105559,6 +105140,7 @@ teknotiq.com, 1 teknow.tk, 1 teknozone.id, 1 +tekshrek.com, 1 teksol-boat.ru, 1 tekstover.tk, 1 tekstpesni.tk, 1 @@ -105573,7 +105155,7 @@ telcu.com, 1 teldak.pt, 1 tele-alarme.ch, 1 -tele-assistance.ch, 1 +tele-assistance.ch, 0 tele-points.net, 1 tele.wiki, 1 teleafrica.ga, 1 @@ -105585,7 +105167,6 @@ telecablenostima.tk, 1 telecallsrl.com, 1 telecamera.pro, 0 -telechargement-afnor.org, 1 telecharger-itunes.com, 1 telecharger-open-office.com, 1 telecharger-winrar.com, 1 @@ -105608,6 +105189,7 @@ telegra.ph, 1 telegram-gp.ml, 1 telegram-sms.com, 0 +telegram.hk, 1 telegram.org, 1 telegram.poker, 1 telegramlearn.tk, 1 @@ -105655,7 +105237,7 @@ teleyal.blog, 1 telford.codes, 1 telhatelite.com.br, 1 -telite.com.br, 1 +telite.com.br, 0 telka-online.tk, 1 telkomuniversity.ac.id, 0 tellerify.com, 1 @@ -105687,6 +105269,7 @@ temizmama.com, 1 teml.in, 1 temnacepel.cz, 1 +temnhan24h.com, 1 temnikova.tk, 1 temp.pm, 1 temp37c.com, 1 @@ -105735,7 +105318,6 @@ tendiris.ga, 1 tendmed.com.br, 1 tendomag.com, 1 -tendoryu-aikido.org, 1 tendure.tk, 1 tenelco.net, 1 tenens.ru, 1 @@ -106018,7 +105600,6 @@ teutonia08.de, 1 tevi.uk, 0 tewarilab.co.uk, 1 -tewkesburybouncycastles.co.uk, 1 tewkesburyyoga.com, 1 texarkanatherapycenter.com, 1 texasbluesalley.com, 1 @@ -106198,14 +105779,12 @@ thatdaria.com, 1 thatdarkplace.com, 1 thatdirtyd.com, 1 -thatlooksreallygood.com, 1 thatshayini-sivananthan.fr, 1 thatssodee.com, 1 thaumaturgian-national-university.tk, 1 thavmacode.gr, 1 thc-stadvdzon.nl, 1 thca.ca, 1 -thcdev.de, 1 thconsulting.co.uk, 1 thcpbees.co.uk, 1 thda.org, 1 @@ -106246,7 +105825,6 @@ the-spellcaster.com, 1 the-spoonfeed.club, 1 the-storm.tk, 1 -the-train.de, 1 the-trophy-company.com, 1 the-wandering-midget.tk, 1 the-winx.tk, 1 @@ -106369,7 +105947,9 @@ thebismarckmarathon.com, 1 thebit.link, 1 thebitchneyfiles.tk, 1 +theblackboard.gr, 1 theblackcat.ga, 1 +theblackknightsings.com, 1 theblisters.tk, 1 theblondeabroad.com, 0 theblue.tk, 1 @@ -106458,7 +106038,6 @@ thecluster.xyz, 1 thecodeninja.net, 1 thecoffeecamp.com, 1 -thecollegequiz.com, 1 thecolourbox.in, 1 thecolourcloset.ca, 1 thecombustionway.com, 1 @@ -106469,6 +106048,7 @@ theconcordbridge.azurewebsites.net, 1 thecondemned.tk, 1 theconsultingpeople.tk, 1 +thecontentcloud.com, 1 theconversation.com, 1 theconverter.net, 1 thecook.com.co, 1 @@ -106537,6 +106117,7 @@ thedronechart.com, 1 thedroneely.com, 1 theduchessbudapest.com, 1 +thedword.xyz, 1 thedysfunctionalangel.cf, 1 thedysfunctionalangel.ga, 1 thedysfunctionalangel.gq, 1 @@ -106608,6 +106189,7 @@ thefoxstrousers.co.nz, 1 thefoxtalk.com, 0 thefreebay.tk, 1 +thefreemail.com, 1 thefreethinker.tk, 1 thefrenchconnection.tk, 1 thefriedzombie.com, 1 @@ -106662,6 +106244,7 @@ thegrotto.tk, 1 thegrowhouse.ca, 1 thegrs.com, 0 +theguerrilla.agency, 0 theguitarcompany.nl, 1 thegvoffice.net, 1 thehabitat.com, 1 @@ -106780,8 +106363,8 @@ thelimitededition.in, 1 thelimitlessman.co.uk, 1 thelinuxspace.com, 1 +thelittlepeartree.eu, 1 thelivinggod.online, 1 -thelocals.ru, 1 thelockerroom.ie, 1 thelodgeonlakedetroit.com, 1 thelonelyones.co.uk, 1 @@ -106823,7 +106406,6 @@ themegatones.tk, 1 themegteam.com, 1 thememory.tk, 1 -themenmedia.com, 1 thementornetwork.com, 1 themenzentrisch.de, 1 themeparkfans.tk, 1 @@ -106884,7 +106466,6 @@ theobg.co, 1 theobora.fr, 1 theobromos.fr, 0 -theoc.co, 1 theoc4ever.tk, 1 theocharis.org, 1 theocjournal.tk, 1 @@ -107110,6 +106691,7 @@ thesilentlink.org, 1 thesilverdaisy.com, 1 thesimarchitect.com, 1 +thesimons.family, 1 thesimplewebcompany.com, 1 thesimplifiers.com, 0 thesimsbrasil.tk, 1 @@ -107190,14 +106772,12 @@ thetownehub.com, 1 thetradinghall.com, 0 thetrafficgeek.com, 1 -thetransformingchurch.org, 1 thetravel.com, 1 thetravelczar.com, 1 thetravelhack.com, 0 thetrendspotter.net, 1 thetropics.tk, 1 thetrove.is, 1 -thetrove.net, 1 thetshirtguy.co.uk, 1 thetuxkeeper.de, 0 thetvtraveler.com, 1 @@ -107215,6 +106795,7 @@ theuucc.org, 0 thevacweb.com, 1 thevalentineconstitution.com, 1 +thevalueofarchitecture.com, 1 thevanishedvoyager.ml, 1 theveggietable.com, 1 theveils.net, 1 @@ -107237,7 +106818,6 @@ thewagesroom.co.uk, 1 thewalkerz.tk, 1 thewallet.today, 1 -thewashingmachine.tk, 1 thewatchdog.com.br, 1 thewave.tk, 1 thewaxhouse.academy, 1 @@ -107317,7 +106897,8 @@ thiepcuoidep.com, 1 thiepxinh.net, 1 thierryhayoz.ch, 1 -thierrymazue.fr, 1 +thierrymazue.com, 0 +thierrymazue.fr, 0 thiesketelsen.de, 1 thietbithoathiem.net, 1 thietkegianhangtttm.com, 1 @@ -107391,7 +106972,8 @@ thirteen.pm, 1 thirtysixseventy.ml, 1 thirtyspot.com, 1 -thiry-automobiles.net, 0 +thiry-automobiles.net, 1 +thisbrownman.com, 1 thiscloudiscrap.com, 0 thisdayinhockey.tk, 1 thisdot.site, 1 @@ -107414,7 +106996,6 @@ thisuniverse.tk, 1 thmail.ml, 1 thmnia.com, 1 -thmpartners.com, 1 thn.la, 1 thoe.xyz, 1 thoitrangsikimanh.com, 1 @@ -107466,6 +107047,7 @@ thomwiggers.nl, 1 thooka.com, 1 thoplam.com, 1 +thor.edu, 1 thor.re, 1 thorbes.ga, 1 thorbiswebsitedesign.com, 1 @@ -107483,6 +107065,7 @@ thoughtsynth.net, 1 thoughtsynth.org, 1 thoughtworthy.info, 1 +thouqi.com, 1 thousandoakselectrical.com, 1 thousandoaksexteriorlighting.com, 1 thousandoakslandscapelighting.com, 1 @@ -107563,6 +107146,7 @@ thw-bernburg.de, 1 thw-jugend-muenchen-west.de, 1 thwebdesigns.com, 1 +thwiki.cc, 1 thxandbye.de, 1 thycotic.ru, 1 thynx.io, 1 @@ -107623,7 +107207,7 @@ ticketcity.com, 1 ticketdriver.com, 1 ticketmaze.com, 0 -ticketpro.ca, 0 +ticketpro.ca, 1 ticketrunway.com, 1 tickets2004.tk, 1 ticketslover.com, 1 @@ -107688,7 +107272,6 @@ tiendaengeneral.com, 1 tiendafetichista.com, 1 tiendagamer.co, 1 -tiendamaquillajes.com, 1 tiendamaspatchwork.com, 1 tiendatecnologica.net, 1 tiener-herentals.be, 1 @@ -107798,6 +107381,7 @@ tim-niclas-demisch.eu, 1 tim427.net, 1 timacdonald.me, 1 +timatooth.com, 1 timawesomeness.com, 1 timbarlotta.com, 1 timbercreekcanyontx.gov, 1 @@ -107806,7 +107390,6 @@ timberkel.com, 1 timbers.space, 1 timbishopartist.com, 1 -timbrado.com, 1 timbrust.de, 1 timcamara.com, 1 timchanhxe.com, 0 @@ -107819,11 +107402,13 @@ timdemisch.online, 1 timdoug.com, 1 time-business.tk, 1 +time-craft.su, 1 time-hotel.cf, 1 time-killers.tk, 1 time.gov, 1 time.sh, 1 time2060.ru, 1 +time22.com, 1 time2choose.com, 1 time4writing.com, 1 timeai.io, 1 @@ -107869,6 +107454,7 @@ timetrade.com, 1 timewasters.nl, 1 timewasters.tk, 1 +timeworld.su, 1 timfiedler.net, 1 timgame.tk, 1 timhieuthuoc.com, 1 @@ -108055,7 +107641,6 @@ tittelbach.at, 1 titusetcompagnies.net, 0 tivido.nl, 1 -tiwag.at, 1 tiwilandcouncil.com, 1 tixeconsulting.com, 1 tixel.com, 1 @@ -108092,11 +107677,8 @@ tkmr-gyouseishosi.com, 1 tkn.me, 1 tkonstantopoulos.tk, 1 -tkrn.de, 1 tksainc.com, 1 tkts.cl, 1 -tkusano.jp, 1 -tkw01536.de, 0 tkwataneya.tk, 1 tkwhongkong.tk, 1 tl.gg, 1 @@ -108211,7 +107793,6 @@ tobaccolocker.com, 1 tobbro-trans.de, 1 tobedo.net, 1 -tober-cpag.de, 1 tobevictorious.com, 1 tobeyvorus.com, 1 tobi-mayer.de, 1 @@ -108275,7 +107856,6 @@ todaciencia.com, 1 todamateria.com.br, 1 todapolitica.com, 1 -todasaslojas.com.br, 1 todaslascafeteras.com, 1 today.it, 1 today.ng, 1 @@ -108306,7 +107886,6 @@ todocruces.com, 1 tododecorazon.com, 1 tododescarga.tk, 1 -todoereaders.com, 1 todoescaperooms.com, 1 todoescine.com, 1 todofadingsuns.tk, 1 @@ -108330,7 +107909,6 @@ toepferei-langerwehe.de, 1 toepferwerk.de, 1 toerschaatsenknsb.nl, 1 -toest.bg, 1 toetsplatform.be, 1 tofa-koeln.de, 1 tofe.io, 1 @@ -108365,6 +107943,7 @@ tokaishishisetsukanrikyokai.jp, 1 tokarconsulting.com, 1 tokelaunso.tk, 1 +tokenmarket.net, 1 tokens.net, 1 tokenstip.com, 1 tokfun.com, 1 @@ -108447,6 +108026,7 @@ tomandshirley.com, 1 tomandsonya.net, 1 tomandsonya.org, 1 +tomasdrtina.cz, 1 tomashouzvicka.pl, 1 tomasjacik.cz, 1 tomaskavalek.cz, 0 @@ -108454,6 +108034,7 @@ tomasmoberg.org, 1 tomaspatera.cz, 1 tomasvecera.cz, 0 +tomaszdwornicki.net, 1 tomatenaufdenaugen.de, 1 tomatis-nantes.com, 1 tomatofrogs.com, 1 @@ -108488,6 +108069,7 @@ tomik.space, 1 tomikoyco.com, 1 tomiler.com, 1 +tomjans.nl, 1 tomjepp.uk, 1 tomjn.com, 1 tomkempers.nl, 1 @@ -108504,6 +108086,7 @@ tommy-bordas.fr, 0 tommycarrauto.com, 1 tommyemo.com, 1 +tommyemo.net, 1 tommymoya.tv, 1 tommyphotographie.com, 0 tomnatt.com, 1 @@ -108563,7 +108146,6 @@ tone.tw, 1 tonebuildingsupplies.com, 1 toneelaccent.tk, 1 -toneelverenigingnutengenoegen.nl, 1 tonegidoarchief.nl, 1 toner24.at, 1 toner24.co.uk, 1 @@ -108597,6 +108179,8 @@ tono.us, 1 tonorosario.tk, 1 tonshaiza.tk, 1 +tonsit.com, 1 +tonsit.org, 0 tonton.cf, 1 tontonnews.net, 1 tontonroger.org, 1 @@ -108705,6 +108289,7 @@ topaxi.ch, 1 topaxi.codes, 1 topb.vn, 1 +topbargains.com.au, 1 topbestsellerproduct.com, 1 topbookmarking.cf, 1 topbouncycastles.co.uk, 1 @@ -108822,7 +108407,7 @@ toptexture.com, 1 toptheto.com, 1 toptiernetworks.tk, 1 -toptilebathrooms.co.nz, 1 +toptilebathrooms.co.nz, 0 toptour.tk, 1 toptracks.tk, 1 toptranslation.com, 1 @@ -108868,7 +108453,6 @@ torkel.se, 1 torkware.com, 1 torlock.com, 1 -torlock.icu, 1 torlock2.com, 1 tormakristof.eu, 1 tormentedradio.com, 0 @@ -108894,6 +108478,7 @@ torontotransit.tk, 1 toropova.tk, 1 toros.co, 1 +toros2.com, 1 torproject.org, 0 torproject.ovh, 1 torprojects.com, 1 @@ -108914,8 +108499,6 @@ torrentdb.tk, 1 torrentdownload.gq, 1 torrentfunk.com, 1 -torrentfunk.icu, 1 -torrentfunk.pw, 1 torrentfunk2.com, 1 torrentgalaxy.to, 1 torrentz2.al, 1 @@ -108927,6 +108510,7 @@ torresshop.es, 1 torretzalam.com, 1 torservers.net, 0 +torsquad.com, 1 torsten-frenzel.de, 1 torsten-schmitz.net, 1 torsten-werner.info, 1 @@ -108972,14 +108556,14 @@ totalcontrols.eu, 1 totalemaildelivery.com, 1 totalengineering.club, 1 -totalforcegym.com, 0 +totalforcegym.com, 1 totalfoundationpros.com, 1 totalhost.gq, 1 totalinfo.in, 1 totalintegratedtherapy.com, 1 totalityservices.co.uk, 1 totalleedee.com, 1 -totally-awesome.xyz, 1 +totally-awesome.xyz, 0 totally-dakota.tk, 1 totallyjessica.tk, 1 totallylegitimatehosting.ru, 1 @@ -109009,7 +108593,7 @@ totolabs.com, 1 totora.tk, 1 tottoya.com, 1 -totvs.com, 0 +totvs.com, 1 toucan-informatique.fr, 1 touch-up-net.com, 1 touch.facebook.com, 0 @@ -109031,12 +108615,12 @@ tougetu.com, 1 tough.email, 1 toughcodes.com, 1 +toughlife.info, 1 toughvps.com, 1 touhidur.tk, 1 touhidur.xyz, 1 touhou.ac.cn, 0 touhou.cc, 1 -touhou.fm, 1 touhou.tw, 1 touhouwiki.net, 1 toujour.top, 1 @@ -109081,7 +108665,7 @@ tout-art.ch, 1 toutankamon.tk, 1 toutart.ch, 1 -toutelathailande.fr, 0 +toutelathailande.fr, 1 toutenmusic.fr, 1 toutmonexam.fr, 1 toutvendre.be, 1 @@ -109166,10 +108750,8 @@ toysplace.ml, 1 toystory3.ga, 1 tozdev.com, 1 -tp-kyouyufudousan.com, 1 tp-law.jp, 1 tpark.jp, 1 -tpbunblocked.org, 1 tpci.biz, 1 tpiada.tk, 1 tpk-parma.ru, 1 @@ -109420,12 +109002,12 @@ transferagent.co, 1 transferbags.com, 1 transferdirect.io, 1 +transfers.do, 1 transferserver.at, 1 transfersummit.com, 1 transferwiseturkiye.com.tr, 1 transfigurewizard.com, 1 transfile.fr, 1 -transforleren.nl, 1 transformaniatime.com, 1 transformersmmdb.tk, 1 transforumation.com, 1 @@ -109492,6 +109074,7 @@ tranvia.info, 1 tranzron.ga, 1 trapkitchen.ml, 1 +trappednerve.org, 1 trappersoutfitters.tk, 1 traproulette.com, 1 trapsdirect.com, 1 @@ -109606,7 +109189,6 @@ traveljunkie.tips, 1 travelknowledge.org, 1 travellegacy.ga, 1 -travellers.dating, 1 travellets.tk, 1 travellinginmorocco.com, 1 travellinks.tk, 1 @@ -109713,6 +109295,7 @@ trebnie.nl, 1 tree.gdn, 1 tree0.xyz, 1 +treebaglia.xyz, 1 treefarms.net.au, 1 treefeelingsandton.co.za, 1 treefelling-durban.co.za, 1 @@ -109735,7 +109318,6 @@ treinonline.tk, 1 treintijden.com, 1 trek-planet.ru, 1 -treker.us, 1 trekfriend.com, 1 trekintel.com, 1 trekkertrek.tk, 1 @@ -109869,7 +109451,7 @@ tricordmedia.ca, 1 tricountyathome.com, 1 tricountyheatingcooling.com, 1 -triddi.com, 1 +triddi.com, 0 tridena.com, 1 trident-online.de, 1 trident1000logoi.gr, 1 @@ -109897,7 +109479,7 @@ triker.tk, 1 trilithsolutions.com, 1 trillian.im, 1 -trilogyforce.com, 1 +trilogyforce.com, 0 trim21.cn, 1 trimage.org, 1 trimarix.de, 1 @@ -109962,16 +109544,16 @@ trisect.uk, 1 trish-mcevoy.ru, 1 trisha.tk, 1 +trisolaris.co.uk, 1 trissiethehusky.rocks, 1 tristanfarkas.one, 1 -tristanhager.i234.me, 1 trit.pro, 1 tritium.cf, 1 tritiumdisposal.com, 1 trivarfertilizer.com, 1 trixiebooru.org, 1 trixietainted.net, 1 -triz.co.uk, 1 +triz.co.uk, 0 trizone.com.au, 1 trkhosting.ga, 1 trkpuls.tk, 1 @@ -110005,7 +109587,7 @@ trolliet.fr, 1 trolling.gq, 1 trollingeffects.org, 1 -trollmoa.se, 1 +trollmoa.se, 0 trollolo.tk, 1 trollos.cf, 1 trollos.ga, 1 @@ -110031,6 +109613,7 @@ trophcomplewin.ml, 1 trophee-discount.com, 1 trophy-discount.com, 1 +trophy-solution.com, 1 trophykoi.tk, 1 trophyshopinc.com, 1 tropicalislands.tk, 1 @@ -110049,7 +109632,6 @@ tross.tk, 1 trotec.com, 1 trotter.cf, 1 -trottnersauto.com, 1 troubles.ru, 1 troubleshooter.xyz, 1 troupcountyga.gov, 1 @@ -110071,7 +109653,7 @@ trs.tn, 1 trtasarim.tk, 1 tru.ltd, 1 -trubapro.com, 1 +trubapro.com, 0 trubmet.tk, 1 trubos.com.ua, 1 trucatout.tk, 1 @@ -110104,7 +109686,6 @@ truckscout24.se, 1 truckscout24.si, 1 truckshina-plus.com.ua, 1 -trucosdescargas.com, 1 trucosparaelbruto.tk, 1 trudyblackcrow.tk, 1 true-colors.tk, 1 @@ -110113,7 +109694,6 @@ trueasia.ga, 1 trueassignmenthelp.co.uk, 1 truecircumcision.tk, 1 -truecosmeticbeauty.com, 0 truecosmos.com, 1 truedarkness.tk, 1 trueduality.net, 1 @@ -110125,7 +109705,6 @@ truenorthseedbank.com, 1 truentumvet.it, 1 truepestcontrol.com.au, 1 -trueproxy.net, 1 truereligionjeanstore.tk, 1 truerizm.ru, 1 trueseeing.com, 1 @@ -110177,10 +109756,9 @@ trustedpropertymanagement.net, 1 trustedtoolbox.com, 1 trustee.deals, 1 -trustees.org, 1 trustfield.ch, 0 trusthook.tk, 1 -trustnet.co.il, 1 +trustnet.co.il, 0 trustology.io, 1 trustreview.tk, 1 trustserv.de, 1 @@ -110284,17 +109862,16 @@ tspdrits.xyz, 1 tsproesasac.com, 1 tsr.best, 1 -tsra.gov.au, 0 tsriggingequipment.com, 1 tsrv.pw, 0 tss.am, 1 tst-band.tk, 1 tstech.mx, 1 -tstrubberstamp.com, 0 tsu.re, 1 tsueri.cloud, 1 tsukhani.com, 1 tsuki.link, 1 +tsuki.moe, 1 tsukuba.style, 0 tsumegumi.com, 1 tsumi.it, 1 @@ -110467,6 +110044,7 @@ tulumplayarealestate.com, 1 tumagiri.net, 1 tumarcafe.com, 1 +tumbaga.world, 1 tumblenet.tk, 1 tumblr.com, 1 tumedico.es, 1 @@ -110491,6 +110069,7 @@ tungstenworld.com, 1 tuning-parts24.de, 1 tuning-werkstatt-nuernberg.de, 1 +tuning.energy, 1 tuningblog.eu, 0 tunisia-tech.tk, 1 tunisiadefnews.ga, 1 @@ -110533,6 +110112,7 @@ turbinelectricity.ga, 1 turbo.az, 1 turbo24.com, 1 +turbohost.co.mz, 0 turbohostingcolombia.com, 1 turbomag.pl, 1 turbosim.de, 1 @@ -110549,7 +110129,6 @@ turiscar.pt, 1 turismogdl.com, 1 turismoliliana.tk, 1 -turismonochile.com.br, 1 turizm.gq, 1 turizm.tk, 1 turizmsektoru.ga, 1 @@ -110620,6 +110199,7 @@ turtles.ga, 1 turtunis.ml, 1 turul.tk, 1 +turuncu-sepet.com, 1 turunculevye.com, 1 tus-kikishinkyo.jp, 1 tusar.ga, 1 @@ -110628,7 +110208,6 @@ tusconsultorex.com, 1 tusfinanzas.ec, 1 tusharwalaskar.com, 1 -tusi.co, 1 tusierra.com, 1 tusksol.com, 1 tusmedicamentos.com, 1 @@ -110719,7 +110298,6 @@ tv5.cl, 1 tvabullarbro.tk, 1 tvaerialsmanchester.com, 1 -tvbaratas.net, 1 tvbracketman.co.uk, 1 tvcal.net, 1 tvchannelslive.tk, 1 @@ -110736,7 +110314,6 @@ tvfans.ga, 1 tvfans.tk, 1 tvfcu.com, 1 -tvhshop.be, 1 tview.co.uk, 1 tvipper.com, 1 tvleaks.se, 1 @@ -110855,7 +110432,6 @@ twotube.ie, 1 twowayradiodays.com, 1 twtr.email, 1 -twtremind.com, 1 twwd.de, 1 tx299.com, 1 tx577.com, 1 @@ -110992,7 +110568,6 @@ tyroremotes.pt, 1 tyroremotes.se, 1 tyrulez.tk, 1 -tysox.de, 1 tysukakorrekt.ga, 1 tysye.ca, 1 tytixazo.tk, 1 @@ -111016,7 +110591,7 @@ u-he.com, 1 u-page.nl, 1 u.nu, 1 -u00228.com, 1 +u00228.com, 0 u0070.com, 1 u03.fr, 1 u1100.com, 1 @@ -111038,7 +110613,6 @@ u5.re, 1 u51365.com, 1 u5197.co, 1 -u5r.nl, 1 u6729.co, 1 u6729.com, 0 u6957.co, 1 @@ -111064,6 +110638,7 @@ uash.tk, 1 uasmi.com, 1 uasonics.tk, 1 +uastrategy.org, 1 uat-activesg.com, 1 uat-mypfp.co.uk, 1 uateach.tk, 1 @@ -111071,7 +110646,7 @@ uatuning.com.ua, 1 uatx.mx, 1 uavis.com.au, 1 -uawoptout.com, 1 +uawoptout.com, 0 ub3rk1tten.com, 0 ub889.com, 1 uba-tra.tk, 1 @@ -111085,7 +110660,6 @@ uberactivist.com, 1 uberalles.live, 1 uberboxen.net, 1 -uberestimator.com, 1 ubergamingworld.tk, 1 uberhorny.tk, 1 uberi.fi, 1 @@ -111119,10 +110693,9 @@ uborka-812.ru, 1 uborka-kvartir-moskva.gq, 1 uborka-snega.ga, 1 -ubsolutions.hu, 0 +ubsolutions.hu, 1 ubun.kr, 1 ubun.net, 1 -ubunlog.com, 1 ubuntu-tr.net, 1 ubuntu18.com, 1 ubutovo.ga, 1 @@ -111208,6 +110781,7 @@ uffserver.ml, 1 ufo-blogger.com, 1 ufo.moe, 0 +ufob.edu.br, 1 ufocentre.com, 1 ufoch.com, 0 ufologiahistorica.tk, 1 @@ -111262,6 +110836,7 @@ uinvest.tk, 1 uiop.link, 1 uiterwijk.org, 1 +uitgeverij-deviant.nl, 1 uitingent.be, 1 uitliefde.shop, 1 uitvaartvrouwenfriesland.nl, 1 @@ -111346,7 +110921,6 @@ ultimasword.tk, 1 ultimate-fireworks.tk, 1 ultimate-uk.com, 1 -ultimateanu.com, 0 ultimateappreviews.co, 1 ultimatebabyshowergifts.ga, 1 ultimatebattle.tk, 1 @@ -111379,7 +110953,6 @@ ultraonline.ml, 1 ultraporn.biz, 1 ultras-venlo.tk, 1 -ultrasdesign.co.uk, 1 ultrasite.tk, 1 ultrasocial.ml, 1 ultrasvargon.tk, 1 @@ -111415,6 +110988,7 @@ umisonoda.com, 1 umity.com.ua, 1 umlcode.com, 1 +ummati.com, 1 ummiabi.id, 1 umniah.com, 0 umniy-dom.tk, 1 @@ -111456,7 +111030,6 @@ unblocked.bet, 1 unblocked.cx, 1 unblocked.gdn, 1 -unblocked.krd, 1 unblocked.lat, 1 unblocked.lc, 1 unblocked.ltda, 1 @@ -111474,7 +111047,6 @@ unblockit.link, 1 unblockit.ltd, 1 unblockit.me, 1 -unblockit.one, 1 unblockit.onl, 1 unblockit.pw, 1 unblockit.top, 1 @@ -111553,12 +111125,14 @@ unfallrechtler.de, 1 unfamousrecords.tk, 1 unfathomable.blue, 1 +unfc.nl, 1 unferno.tech, 1 unfettered.net, 0 unfixed-soul.tk, 1 unfollow.today, 1 unfriend.tk, 1 unga.dk, 1 +ungaeuropeer.se, 1 ungainlybeast.com, 1 unghie.com, 1 ungnyo.org, 1 @@ -111568,7 +111142,7 @@ ungrafakta.gq, 1 ungrafakta.tk, 1 unhappy.tk, 1 -uni-cleaner.com, 0 +uni-cleaner.com, 1 uni-watch.com, 1 uni2share.com, 1 unian.info, 1 @@ -111599,11 +111173,6 @@ unicornmusic.tk, 1 unicorntooling.eu, 1 unicrack.cf, 1 -unicredit.ba, 1 -unicredit.ro, 1 -unicreditbank.hu, 1 -unicreditbank.rs, 1 -unicreditbank.ru, 0 unicreditbulbank.info, 1 unicul.tk, 1 unicycle.ga, 1 @@ -111618,7 +111187,6 @@ unified.show, 1 unifiednetwork.me, 1 uniforcele.com, 1 -uniform-agri.com, 1 uniformebateriasheliar.com.br, 1 unify.id, 1 unik.bg, 1 @@ -111626,6 +111194,7 @@ uniklinik-cms.com, 1 unikos.tk, 1 unikrn.com, 1 +unikrn.space, 1 unikrnb2b.com, 1 unila.edu.br, 1 unilinkgroup.com, 1 @@ -111674,6 +111243,7 @@ uniservarabia.com, 1 uniswapnews.com, 1 unisyssecurity.com, 1 +unit3d.site, 1 unit7jazz.com, 1 unit7jazz.org, 1 unitanzania.com, 1 @@ -111728,7 +111298,6 @@ univercite.ch, 0 univeril.com, 0 univerkeys.com, 1 -univerpack.net, 1 universal-happiness.com, 1 universal-mail.ml, 1 universal-techno.com, 1 @@ -111749,7 +111318,6 @@ universeit.mx, 1 universellafredsdanser.se, 1 universellesleben.tk, 1 -universidadcatolica.tk, 1 universidadperu.com, 1 universitapopolaredeglistudidimilano.wiki, 1 universiteplatformu.com, 1 @@ -111767,10 +111335,8 @@ universovalve.net, 1 universrumbacongolaise.com, 1 universus.tk, 1 -univet-veterinaire.com, 0 univitale.fr, 0 unix.lu, 1 -unix.se, 1 unixadm.org, 1 unixapp.ml, 1 unixattic.com, 1 @@ -111811,7 +111377,6 @@ unnas.ca, 1 uno.fi, 1 uno.uk, 1 -unobet-partners.com, 1 unobrindes.com.br, 1 unoccupyabq.org, 1 unofficialbpb.tk, 1 @@ -111838,8 +111403,6 @@ unrestricted.ga, 1 unric.org, 1 unripple.com, 1 -unruh.fr, 0 -uns.vn, 1 unsee.cc, 1 unseeliefilms.com, 1 unseeliepress.com, 1 @@ -111864,7 +111427,6 @@ unti.me, 1 unti.tk, 1 untro.xyz, 1 -unts.xyz, 1 untvweb.com, 1 unusedrooms.com, 1 unusualhatclub.com, 1 @@ -111884,10 +111446,8 @@ up1s.tk, 1 up2mark.com, 0 up2staff.com, 1 -upacores.com, 1 upakovka-podarkov.tk, 1 upakweship.ca, 1 -upakweship.com, 1 upakweship.eu.com, 1 upakweship.uk.com, 1 upandrunningtutorials.com, 1 @@ -111905,7 +111465,6 @@ upbtrbt.net, 1 upbtrbt.nl, 1 upbtrbt.org, 1 -upc-point.ch, 1 upcambio.com, 1 upcloud.cz, 1 upcountrysoaps.com, 1 @@ -111962,12 +111521,12 @@ upr.ua, 1 uprint.it, 1 upropay.com, 1 -ups-yahweh.com, 1 upscope.io, 1 upsdelperu.com.pe, 1 upsettunnel.com, 1 upsihologa.com.ua, 0 upsilonsigmaphi.us, 1 +upsiteseo.com, 1 upskilllearning.ml, 1 upskirtmania.tk, 1 upsocial.ga, 1 @@ -112087,7 +111646,6 @@ urgences-valais.ch, 1 urgent-notice.ml, 1 urgentcaresouthaven.com, 1 -urion.com.br, 1 uriport.com, 1 uriports.com, 1 uripura.de, 1 @@ -112140,7 +111698,6 @@ ursula-gadalka.tk, 1 ursuslibris.hu, 1 uruguay-experience.com, 1 -urukproject.org, 1 uruslugi.tk, 1 us-10.cc, 0 us-10.com, 1 @@ -112154,7 +111711,6 @@ us2uplumbing.com.au, 1 usa-10.com, 1 usa-10.net, 1 -usa-10.us, 1 usa-classifieds24.com, 1 usa-greencard.eu, 1 usa-reisetipps.net, 1 @@ -112203,6 +111759,7 @@ usbr.gov, 1 uscc.org.ua, 1 uscis.gov, 1 +uscitizenship.info, 1 uscloud.nl, 1 uscp8.com, 1 usctt.org, 1 @@ -112226,7 +111783,6 @@ usenet.tk, 1 useon.com, 1 useon.ru, 1 -user-agent.ga, 1 user-agent.ml, 1 userbase.com, 1 usercentrics.com, 1 @@ -112237,7 +111793,6 @@ userra.gov, 1 userstation.de, 1 userstyles.world, 1 -usespetaculo.com.br, 1 usetypo3.com, 1 useworkshop.com, 1 useyourloaf.com, 1 @@ -112254,6 +111809,7 @@ usk-clan.tk, 1 uskaonline.tk, 1 uskaria.com, 1 +usleep.net, 1 usleravnekrog.dk, 1 uslugi-advokata.ga, 1 uslugi-advokata.tk, 1 @@ -112278,11 +111834,12 @@ uspesnyprvnacek-testing.herokuapp.com, 1 uspesnyprvnacek.cz, 1 uspesnyprvnacek.herokuapp.com, 1 -usphs.gov, 0 +usphs.gov, 1 uspib.info, 1 uspon.tk, 1 usportsgo.com, 1 uspreventiveservicestaskforce.org, 1 +usr.nz, 0 usrspace.at, 1 uss-atlas.de, 1 ussemiquincentennial.gov, 1 @@ -112292,7 +111849,7 @@ ussst.org.in, 1 ustaywell.com, 1 ustensiles-cuisine.boutique, 1 -ustr.gov, 0 +ustr.gov, 1 ustugov.kiev.ua, 1 ustugova.kiev.ua, 1 ustyj.tk, 1 @@ -112301,6 +111858,7 @@ usuan.net, 1 usuluddin.ga, 1 usuluddin.tk, 1 +usweme.info, 1 uswitch.com, 1 usyfawovad.gq, 1 usygov.ga, 1 @@ -112315,7 +111873,6 @@ utahdebtcare.com, 1 utahdentalcrowns.com, 1 utahfanclub.org, 1 -utahrealestatepodcast.com, 1 utahtravelcenter.com, 1 utaindoradio.cf, 1 utangard.net, 1 @@ -112330,11 +111887,11 @@ utensil.org, 1 utevai.tk, 1 utiars.com, 1 +uticagravel.com, 1 utilbot.co, 1 utilia.tools, 1 utilidad.tk, 1 utilitarian.com, 1 -utilitarian.net, 1 utilitarian.org, 1 utilitarianism.com, 1 utilitarianism.org, 1 @@ -112381,7 +111938,7 @@ uurl.ga, 1 uuzsama.me, 1 uv.uy, 1 -uvc.com.ua, 1 +uvc.com.ua, 0 uvcbyefsen.com, 1 uvenuse.cz, 1 uvlamp.ee, 1 @@ -112391,6 +111948,7 @@ uvsar.com, 1 uvt.com.co, 1 uvtcinemas.com, 1 +uvx.io, 1 uwac.co.uk, 0 uwat.cc, 1 uwat.cf, 1 @@ -112406,7 +111964,6 @@ uwsalonboot.nl, 1 uwu.lgbt, 1 uwu.nu, 1 -uwvloereruit.nl, 1 uwwsb.com, 1 ux-designers.nl, 1 ux-solution.de, 1 @@ -112493,7 +112050,7 @@ v36533.com, 1 v44v44.com, 1 v4f.com, 1 -v5017.com, 1 +v5017.com, 0 v5075.com, 1 v51365.com, 1 v5197.co, 1 @@ -112517,7 +112074,7 @@ v700dd.com, 1 v700ee.com, 1 v700w.com, 1 -v7090.com, 1 +v7090.com, 0 v800y.com, 0 v81365.com, 1 v82365.com, 1 @@ -112535,7 +112092,6 @@ va.gov, 0 va11hal.la, 1 va11halla.ddns.net, 1 -vaabogados.legal, 1 vaaddress.co, 1 vaaes.org, 0 vaan-arbeidsrecht.nl, 1 @@ -112551,6 +112107,7 @@ vacationfund.co, 1 vaccantcorner.ml, 1 vaccinateiowa.gov, 1 +vaccinatiespecialist.nl, 1 vaccine.gov, 1 vaccines.gov, 1 vaccineskill.biz, 1 @@ -112640,8 +112197,10 @@ valentin-ochs.de, 1 valentin.app, 1 valentinaquino.com, 1 +valentinarosamilia.com, 1 valentinberclaz.com, 0 valentineapparel.com, 1 +valentineforpresident.com, 1 valentinemom.cf, 1 valentinemom.ga, 1 valentinemom.gq, 1 @@ -112660,7 +112219,6 @@ valeriapanarina.com, 1 valerieadolff.com, 1 valerieorsoni.com, 1 -valescaind.com.br, 1 valhallastrengthsthbne.com.au, 1 valheim.pro, 1 valiakhmetov.tk, 1 @@ -112756,7 +112314,8 @@ van-brandevoort.tk, 1 van11y.net, 1 vanadrighem.eu, 1 -vanarok.xyz, 1 +vanajahosting.com, 1 +vanarok.xyz, 0 vanasperenschoenen.nl, 1 vanbalen.be, 1 vanbarel.tk, 1 @@ -112774,7 +112333,7 @@ vandals.ml, 1 vandam.io, 1 vandemeent.eu, 1 -vandenbroeck-usedcars.be, 0 +vandenbroeck-usedcars.be, 1 vander-vegt.nl, 1 vanderbeekonline.nl, 1 vanderbiltcisa.org, 0 @@ -112810,7 +112369,7 @@ vanhatten.com, 1 vanhelsing.ml, 1 vanhelsing.tk, 1 -vanhoudt-usedcars.be, 0 +vanhoudt-usedcars.be, 1 vanhoutte.be, 0 vanhove.biz, 1 vanillacoder.co.za, 1 @@ -112856,7 +112415,6 @@ vapemania.eu, 1 vapemate.co.uk, 1 vapensiero.co.uk, 1 -vaperion.me, 1 vapesense.co.uk, 1 vapetaclope.cf, 1 vapevine.ca, 1 @@ -113021,7 +112579,6 @@ vdcomp.cz, 0 vddruckwerk.de, 1 vdemuzere.be, 1 -vdesc.com, 1 vdheyden.net, 1 vdim.shop, 1 vdisk24.de, 1 @@ -113057,10 +112614,9 @@ vectorcardiometry.tk, 1 vectordtg.com, 0 vectormagnetics.com, 1 -vectorsiriushockeyclub.com, 1 +vectorsiriushockeyclub.com, 0 vectortrack.com.au, 1 vectorwish.com, 1 -vectro.me, 1 vectrum.cf, 1 vedeneev.tk, 1 vedev.io, 1 @@ -113071,7 +112627,7 @@ veerleklinge.nl, 1 veessen.tk, 1 veg-leiden.nl, 1 -veg.lv, 1 +veg.lv, 0 vega-diva.com, 1 vega-rumia.com.pl, 1 vega-rumia.pl, 0 @@ -113089,7 +112645,6 @@ veganismo.tk, 1 veganitos.tk, 1 veganmasterrace.com, 1 -veganoos.com, 1 veganrecipereviews.com, 1 veganuary.com, 1 vegardit.com, 1 @@ -113105,8 +112660,6 @@ vegetariantokyo.net, 1 vegetarier-sind-moerder.tk, 1 veggie-einhorn.de, 0 -veggiecrush.co.uk, 1 -veggies.tk, 1 vegoresto.fr, 1 vegtelenchat.tk, 1 veguillas.tk, 1 @@ -113285,7 +112838,6 @@ vergraal.tk, 1 verhaltenstherapie-weiden.de, 1 verhaslaw.com, 1 -verhovs.ky, 0 verifalia.com, 1 verified.eu, 1 verifiedjoseph.com, 1 @@ -113326,7 +112878,7 @@ vermogeninkaart.nl, 1 vermouth.cf, 1 vermuetje.nl, 1 -vernaeve-usedcars.be, 0 +vernaeve-usedcars.be, 1 vernis-marins.com, 1 vernonfigureskatingclub.com, 1 vernonfilmsociety.bc.ca, 1 @@ -113359,7 +112911,7 @@ verstka.cf, 1 verstka.ga, 1 verstka.tk, 1 -verstraetenusedcars.be, 0 +verstraetenusedcars.be, 1 versusforum.tk, 1 vertaxaccountants.co.uk, 1 vertebrates.com, 1 @@ -113408,6 +112960,7 @@ veselka.tk, 1 veselyjpovar.gq, 1 vesinhcongnghiepttchome.com, 1 +veslosada.com, 1 vesna2011.tk, 1 vespacascadia.com, 1 vesta.us, 1 @@ -113469,13 +113022,14 @@ veverusak.cz, 1 vfdworld.com, 1 vfmc.vic.gov.au, 1 -vfmg.ch, 1 +vfmg.ch, 0 vfn-nrw.de, 1 vfxstudy.com, 1 vgatest.nl, 1 vgbf.tk, 1 vgchat.us, 1 vgcheat.com, 1 +vgeek.guru, 1 vgerak.com, 1 vglist.co, 1 vgolos.zt.ua, 1 @@ -113542,7 +113096,6 @@ vician.cz, 1 vicicode.com, 1 vicioanimal.pt, 1 -vicious.space, 1 viciousflora.com, 1 vicjuwelen-annelore.be, 1 vickyflipfloptravels.com, 0 @@ -113597,7 +113150,7 @@ vicugna.nl, 1 vicyu.com, 1 vid-eo.click, 1 -vid.me, 0 +vid.me, 1 vidaizamal.com, 1 vidanuevaparaelmundo.net, 1 vidaparalela.tk, 1 @@ -113746,7 +113299,6 @@ vigilanciatotal.com, 1 vigilanciaysalud.com, 1 vigilantesporcolombia.org, 1 -vigilantnow.com, 0 vigilo.cf, 1 vigilo.ga, 1 vigira.com.ar, 1 @@ -113861,7 +113413,6 @@ villasforsale-bali.com, 1 villaumbrales.tk, 1 villavaltava.fi, 1 -villavasco.ovh, 1 villaville.com, 1 villawirz.it, 1 ville-aime.fr, 1 @@ -113885,7 +113436,6 @@ vim.cx, 1 vim.ge, 1 vima.ch, 0 -vimar.com, 1 vimeo.com, 1 vimeosucks.nyc, 1 vimium.com, 1 @@ -113979,7 +113529,6 @@ violin4fun.nl, 1 viome.com, 1 vionicbeach.com, 1 -vionicshoes.co.uk, 1 vionicshoes.com, 1 vionity.co, 1 viosey.com, 1 @@ -113993,15 +113542,15 @@ vip-soski.tk, 1 vip-ssl.com, 1 vip.de, 1 -vip00228.com, 1 -vip11018.com, 1 +vip00228.com, 0 +vip11018.com, 0 vip2132.com, 1 -vip22884.com, 1 +vip22884.com, 0 vip4553.com, 1 vip5132.com, 1 vip5414.com, 1 vip6132.com, 1 -vip77018.com, 1 +vip77018.com, 0 vip8522.com, 1 vipcards.top, 1 vipdirektolog.ru, 1 @@ -114025,7 +113574,6 @@ viplive.tk, 1 vipllcnj.com, 1 vipmdh.com.ua, 1 -vipom.com.ua, 1 viporiflame.tk, 1 vippclub.be, 0 vips.pl, 1 @@ -114143,7 +113691,6 @@ viscopic.com, 1 visegradieskuvo.hu, 1 visegradtours.hu, 1 -viserproject.com, 0 viseum.co.uk, 1 vishenka.tk, 1 vishnujyothi.co.uk, 1 @@ -114153,7 +113700,6 @@ visikom.de, 1 vision-painting.com, 1 vision2005.tk, 1 -visionacademy.info, 1 visioncloud.tk, 1 visiondetails.ru, 1 visiondigitalpe.com, 1 @@ -114207,6 +113753,7 @@ visscher.codes, 1 vista-calculator.ru, 1 vista-research-group.com, 1 +vistaalmar.es, 1 vistastylebuilder.com, 0 vistb.me, 1 vistec-support.de, 1 @@ -114338,6 +113885,7 @@ vivoitaliankitchen.com, 1 vivoldi.com, 1 vivoregularizafacil.com.br, 1 +vivoseg.com, 0 vivreenisrael.com, 1 vivy.com, 1 viwsec.com.br, 1 @@ -114359,7 +113907,6 @@ vizmart.ml, 1 vjeff.com, 1 vjeff.net, 1 -vjhfoundation.org, 1 vjshi.xyz, 1 vk-agent.ru, 1 vk-k.com, 1 @@ -114410,6 +113957,7 @@ vlajo.org, 1 vlakem.net, 1 vlance.gq, 1 +vlaser.es, 1 vlasov.ml, 1 vlasova-sova.ml, 1 vlcentre.org, 1 @@ -114431,19 +113979,19 @@ vloggerspace.tk, 1 vlovgr.se, 1 vltonline.org, 1 -vlvvl.com, 1 vlzbazar.ru, 1 vm-0.com, 1 vm-co.ch, 0 vm0.eu, 1 vmagadane.tk, 1 vmath.my.id, 1 +vmautorajkot.com, 1 vmc.co.id, 1 vmccnc.com, 1 vmconnected.co.uk, 1 vmem.jp, 0 vmf365.tk, 1 -vmgirls.com, 1 +vmgirls.com, 0 vmhomedesign.com, 0 vmhydro.ru, 0 vmis.nl, 1 @@ -114536,7 +114084,6 @@ vogue.cz, 1 voguefrontier.tk, 1 voice-of-design.com, 1 -voicebrew.com, 1 voicedata.tk, 1 voiceofcricket.tk, 1 voiceofserbia.tk, 1 @@ -114552,6 +114099,8 @@ voidi.ca, 1 voidma.in, 1 voidnet.tech, 1 +voidnya.com, 1 +voidpay.com, 1 voidpay.net, 1 voidpay.org, 1 voidptr.eu, 1 @@ -114570,6 +114119,7 @@ vokieciupamokos.lt, 1 vokov.ml, 1 vokrug.ga, 1 +vokzalperm.ru, 1 volatile.pw, 1 volatilesystems.org, 1 volatilethunk.com, 1 @@ -114623,7 +114173,6 @@ volosi.cf, 1 volosi.tk, 1 voloskova.ru, 1 -volosnet.tk, 1 volqanic.com, 1 volreinsistemas.com, 1 voltageelectricity.tk, 1 @@ -114665,7 +114214,6 @@ vookstock.tk, 1 voolik.pw, 1 vooreenveiligthuis.nl, 0 -voorjou.com, 1 voornaam-at-achternaam.be, 1 vooruitmetjevereniging.nl, 1 vooxia.xyz, 1 @@ -114712,7 +114260,6 @@ vote.gov, 1 vote.nz, 1 vote.org, 1 -vote2019.appspot.com, 1 vote4.hk, 1 votebrevard.gov, 1 votebymail.gov, 1 @@ -114787,7 +114334,6 @@ vozhuo.cf, 1 vparilke.su, 1 vpetkov.tk, 1 -vpn.black, 1 vpn.ht, 1 vpn4free.ga, 1 vpnboss.com.au, 1 @@ -114872,14 +114418,12 @@ vs1717.com, 0 vs2277.com, 0 vs2828.com, 0 -vs303.com, 1 -vs5050.com, 0 vs5151.com, 0 vs603.com, 1 vs6060.com, 0 vs6161.com, 0 vs7711.com, 0 -vs8899.com, 1 +vs8899.com, 0 vs9911.com, 0 vs9977.com, 0 vsactivity.com, 1 @@ -114887,7 +114431,8 @@ vsaratove.tk, 1 vsatke.tk, 1 vsc-don-stocksport.de, 1 -vscm888.com, 1 +vscale.io, 0 +vscm888.com, 0 vscredconsultoria.online, 1 vsd.sk, 1 vse-bolezni.tk, 1 @@ -114900,7 +114445,6 @@ vsean.net, 1 vsec.co.il, 1 vsekulinar.ru, 1 -vsem-privet.tk, 1 vsem-reiki.tk, 1 vsemrabota.ml, 1 vsenovosti.cf, 1 @@ -114919,7 +114463,6 @@ vsl-defi.ch, 0 vsl.de, 1 vsolovev.com, 1 -vsonline.blog, 1 vsoy.co.th, 1 vspin.cz, 1 vsportage.com, 1 @@ -114950,6 +114493,7 @@ vucdn.com, 1 vuelacaruru.com, 1 vuelosabajoprecio.net, 1 +vugt.me, 1 vuilelakens.be, 1 vulcancycling.ga, 1 vuldb.com, 1 @@ -114990,6 +114534,7 @@ vv9721.com, 0 vv9728.co, 1 vvactivia.nl, 1 +vvave.net, 0 vvcasteren.nl, 1 vvd.bz, 1 vvdbronckhorst.nl, 1 @@ -115041,6 +114586,7 @@ vysvetluju.cz, 1 vyturys.lt, 1 vyvod-iz-zapoya.online, 1 +vyvygen.org, 1 vyzner.cz, 1 vz.al, 1 vzce.cn, 1 @@ -115072,17 +114618,15 @@ w00228.com, 1 w0102.com, 1 w0185.com, 1 -w0189.com, 1 +w0189.com, 0 w0250.com, 1 w045w.com, 1 w0fw.com, 1 w10club.com, 0 -w123.co, 1 w1n73r.de, 1 w1nter.xyz, 1 w2929w.com, 1 w2design.eu, 1 -w2me.ru, 1 w2n.me, 1 w3330.com, 1 w365.vip, 0 @@ -115113,8 +114657,8 @@ w51365.com, 1 w5197.co, 1 w5gfe.org, 1 -w61516.com, 1 -w61518.com, 1 +w61516.com, 0 +w61518.com, 0 w61611.net, 1 w61616.com, 1 w66001.com, 1 @@ -115126,14 +114670,14 @@ w66138.net, 1 w6616.com, 1 w66161.com, 1 -w661616.com, 1 +w661616.com, 0 w6619.com, 1 w66191.com, 1 w66191.net, 1 w6631.com, 1 w6637.com, 1 w663w.com, 1 -w6648.com, 1 +w6648.com, 0 w66655.com, 1 w6671.com, 1 w6684.com, 1 @@ -115141,7 +114685,7 @@ w668866.net, 1 w668899.com, 1 w668989.com, 1 -w66918.com, 1 +w66918.com, 0 w66918.net, 1 w66919.net, 1 w66938.com, 1 @@ -115152,7 +114696,7 @@ w6808.com, 1 w6829.com, 1 w6832.com, 1 -w6880.com, 1 +w6880.com, 0 w6886.com, 1 w692w.com, 1 w6957.co, 1 @@ -115165,19 +114709,18 @@ w8093.com, 1 w8094.com, 1 w81365.com, 1 -w81518.com, 1 w81519.com, 1 w82365.com, 1 w84.it, 1 w8605.com, 1 w8628.com, 1 w8659.com, 1 -w888022.com, 1 -w888033.com, 1 -w888044.com, 1 +w888022.com, 0 +w888033.com, 0 +w888044.com, 0 w888066.com, 1 -w888077.com, 1 -w888088.com, 1 +w888077.com, 0 +w888088.com, 0 w889-line.com, 1 w889-line.net, 1 w889889.com, 1 @@ -115185,10 +114728,9 @@ w889vip.com, 1 w88info.com, 1 w88info.win, 1 -w88xinxi.com, 1 w8less.nl, 1 w8wat.com, 1 -w9196.com, 1 +w9196.com, 0 w9297.co, 1 w9297.com, 1 w9397.com, 0 @@ -115216,7 +114758,7 @@ wacky-science.com, 1 wacky.one, 1 wackys.com, 1 -wade.gdn, 1 +wade.gdn, 0 wadebet.com, 1 wadidi.com, 1 wadsworth.gallery, 1 @@ -115241,7 +114783,6 @@ wafuton.com, 1 wagcenter.com, 1 wage-feeg.gc.ca, 1 -wagenmanswonen.nl, 1 wagesweldandfab.com, 1 wageverify.com, 1 wagn3r.de, 1 @@ -115271,7 +114812,6 @@ wajtc.com, 1 wak.io, 1 waka-mono.com, 1 -wakandasun.com, 0 wakarandroid.com, 1 wakastream.cc, 1 wakatime.com, 1 @@ -115292,11 +114832,12 @@ waldo.tk, 1 waldparkerwoelfe.tk, 1 waldportoregon.gov, 1 +waldur.nl, 1 waldvogel.family, 1 walent.in, 1 walentin.co, 1 walhal.la, 1 -waligorska.pl, 0 +waligorska.pl, 1 walk.onl, 1 walkaround.tk, 1 walker-foundation.org, 1 @@ -115306,6 +114847,7 @@ walkersplayground.tk, 1 walking-algarve.tk, 1 walkingandcycling.org.uk, 1 +walkingforhealth.org.uk, 0 walkingranada.com, 1 walkingrehabilitation.com, 1 walkinweb.com, 1 @@ -115339,7 +114881,6 @@ wallinvogue.com, 1 wallis-inside.ch, 1 wallisch.pro, 1 -wallisdiervoeding.nl, 0 wallmanderstd.se, 1 wallmarketing.cz, 1 wallnot.dk, 1 @@ -115430,7 +114971,6 @@ wannaridecostarica.com, 1 wantocode.com, 1 wanybug.cf, 1 -wanybug.com, 0 wanybug.ga, 1 wanybug.gq, 1 wanybug.tk, 1 @@ -115481,7 +115021,7 @@ wardslager.com, 1 warebouncycastles.co.uk, 1 warehost.de, 0 -warekit.io, 1 +warekit.io, 0 warekon.com, 1 warekon.dk, 1 warenghem.com, 1 @@ -115617,7 +115157,6 @@ waterdrop.tk, 1 waterest.tk, 1 waterfedpole.com, 0 -waterheaterirvingtx.com, 1 waterheaterleaguecity.com, 1 waterhouse.tk, 1 waterlanders.tk, 1 @@ -115633,6 +115172,7 @@ waterpoint.tk, 1 waterpolosantona.tk, 1 waterpolospain.tk, 1 +watersb.org, 1 waterschaplimburg.nl, 1 waterside-inn.co.uk, 1 waterside-residents.org.uk, 1 @@ -115670,7 +115210,7 @@ wave.red, 1 waveburst.net, 1 wavee-plus.com, 1 -wavengine.com, 1 +wavengine.com, 0 waveous.com, 1 wavered.cf, 1 waverlypa.gov, 1 @@ -115726,7 +115266,6 @@ wbt-solutions.net, 1 wbudd.com, 1 wbut.ml, 1 -wbvb.nl, 1 wby.by, 1 wby.tw, 1 wc-is.com, 1 @@ -115749,7 +115288,7 @@ wctsite.tk, 1 wcwcg.net, 1 wd-api.com, 0 -wd-img.com, 0 +wd-img.com, 1 wd-ljt.com, 1 wd627.com, 1 wd976.com, 0 @@ -115789,7 +115328,6 @@ wealthreport.com.au, 1 wealthsetsyoufree.com, 1 wealthsuccess.edu.vn, 1 -wealthyspeakerschool.com, 1 weaponsinhebrew.blog, 1 wear-largesizes.tk, 1 wear-referrals.co.uk, 1 @@ -115849,7 +115387,6 @@ web-industry.pro, 1 web-info.ir, 1 web-it-entwicklung.de, 1 -web-jive.com, 0 web-lab.ml, 1 web-mastery.tk, 1 web-net.tk, 1 @@ -115870,7 +115407,6 @@ web-warrior.de, 1 web-worker.cn, 1 web.bzh, 1 -web.cc, 0 web.de, 1 web1212.top, 1 web1n.com, 0 @@ -115898,14 +115434,12 @@ webapky.cz, 1 webappky.cz, 1 webapplay.com, 1 -webaro.cloud, 1 webart-factory.de, 1 webartex.ru, 1 webarxsecurity.com, 1 webasto-moscow.ru, 1 webauthnlogin.com, 1 webbanquyen.com, 1 -webbhuset.se, 0 webbiz.co.uk, 1 webblawmaine.com, 1 webbolivia.tk, 1 @@ -115928,7 +115462,6 @@ webcatchers.nl, 0 webcazip.com, 1 webce.de, 1 -webceo.se, 1 webcheck.pt, 1 webclimbers.ch, 0 webclymber.com, 0 @@ -115949,18 +115482,15 @@ webdating.tk, 1 webdemaestrias.com, 1 webdesign-kall.de, 1 -webdesign-kronberg.de, 0 webdesign-moellers.de, 1 webdesign-note.jp, 1 webdesignagency.cf, 1 webdesignersinchennai.tk, 1 webdesignfenua.tk, 1 webdesignforum.it, 1 -webdesigngc.com, 1 webdesignplay.com, 1 webdesignplayground.io, 1 webdesignrodgau.de, 1 -webdesignsandiego.com, 1 webdev-cw.me, 1 webdev-cw.tk, 1 webdev.solutions, 1 @@ -115975,7 +115505,6 @@ webduck.nl, 0 webeast.eu, 1 webeau.com, 1 -webeditors.com, 1 webelement.sk, 0 webenglish.se, 1 webera.pro, 1 @@ -116000,6 +115529,7 @@ webforce.pt, 1 webformula.in, 1 webforthemasses.tk, 1 +webfronten.dk, 0 webfun.tk, 1 webgadgets.tk, 1 webgaku.net, 1 @@ -116114,13 +115644,11 @@ webo.pl, 1 weboflies.tk, 1 webofthingsmarwane.xyz, 1 -weboperater.com, 0 weboperater.rs, 0 webpagetest.org, 1 webpakken.dk, 1 webpantry.ga, 1 webparallax.cf, 1 -webpc.com.ua, 1 webpcstudio.com, 1 webperformance.io, 1 webpiar.tk, 1 @@ -116142,11 +115670,10 @@ webqam.fr, 1 webquests.tk, 1 webrabbit.at, 1 -webranking.tk, 1 webranko.tk, 1 webrebels.org, 0 webregion.tk, 1 -webrentcars.com, 0 +webrentcars.com, 1 webrepresalia.tk, 1 webs4all.ro, 0 websa.nl, 1 @@ -116158,9 +115685,11 @@ websecurity.is, 1 webseitendesigner.com, 0 webseitenserver.com, 0 +webshan.ir, 0 webshaped.de, 1 webshop.nl, 1 -website-engineering.co.za, 0 +websika.com, 1 +website-engineering.co.za, 1 website-traffic.shop, 1 website.builders, 1 websiteboost.nl, 1 @@ -116206,7 +115735,6 @@ websternytoday.gov, 1 webstop.tk, 1 webstore.be, 1 -webstreamworld.com, 1 webstu.be, 1 webstylemedia.com, 1 websubmissions.tk, 1 @@ -116220,7 +115748,6 @@ webtek.nu, 1 webtele.ga, 1 webtele.tk, 1 -webtica.be, 1 webtobesocial.de, 1 webtodito.tk, 1 webtomsk.tk, 1 @@ -116235,6 +115762,7 @@ webtrek.ch, 1 webtropia.com, 0 webuildsite.ga, 1 +webukhost.com, 1 webullreview.co, 1 webuniverse.ml, 1 webunix.ga, 1 @@ -116248,9 +115776,8 @@ webwinkelexploitatie.nl, 1 webwinkelkeur.nl, 1 webwinkelwestland.nl, 1 -webwiz.co.uk, 1 +webwiz.co.uk, 0 webworkshop.ltd, 1 -webx5.pro, 0 webxo.com, 1 webyazilim.biz.tr, 1 webyazilimankara.com, 1 @@ -116315,6 +115842,7 @@ weedupdate.com, 1 weedworthy.com, 1 weedypedia.de, 1 +week.report, 1 weekdone.com, 1 weekendcandy.com, 1 weekendinitaly.com, 1 @@ -116359,7 +115887,6 @@ weideheuvel.org, 1 weidmannfibertechnology.com, 0 weien.org, 1 -weigelia.nl, 1 weighed.ga, 1 weightlift.ml, 1 weightlosseasy.cf, 1 @@ -116399,7 +115926,6 @@ weitsolutions.nl, 1 weitundbreit.ch, 1 weizenke.im, 1 -wejdmark.com, 1 wekibe.de, 1 wekipedia.com, 1 weknowhowtodoit.com, 1 @@ -116432,6 +115958,7 @@ wellness-gutschein.de, 1 wellnesscheck.net, 1 wellnessever.com, 1 +wellnesshotel-weimar.de, 1 wellsolveit.com, 0 wellspringsga.com, 1 wellsprung.net, 1 @@ -116458,7 +115985,7 @@ welteneroberer.de, 1 weltengilde.de, 1 weltenhueter.de, 1 -weltmeister.de, 0 +weltmeister.de, 1 weltumradler.tk, 1 weltverschwoerung.de, 1 welty.cc, 1 @@ -116497,7 +116024,7 @@ wenzelarifiandi.com, 0 wenzthewanderer.gq, 1 wepa.pe, 1 -wepay.com, 0 +wepay.com, 1 wepay.in.th, 1 wepbiz.com, 1 weplantinc.org, 1 @@ -116605,10 +116132,8 @@ westlakevillageoutdoorlighting.com, 1 westlandcultuur.tk, 1 westlander-nostalgie.tk, 1 -westlandplacestudios.com, 1 westlebanonpa.gov, 1 westline.com.tr, 1 -westlinntowncar.com, 1 westlogistic.com, 1 westmead.org, 1 westmeadapartments.com.au, 1 @@ -116628,8 +116153,7 @@ westside-pediatrics.com, 1 westsidechildrenstherapy.com, 1 westskinlaser.com, 1 -westsuburbanbank.com, 1 -westthorntonlabour.co.uk, 0 +westthorntonlabour.co.uk, 1 westvilleplumber.co.za, 1 westvirginiahealth.tk, 1 westwingopenhouse.com, 1 @@ -116647,6 +116171,7 @@ wetumpkaal.gov, 1 wevenues.com, 1 wevg.org, 1 +wevolver.com, 0 wew881.com, 1 wew882.com, 1 wew888.com, 1 @@ -116674,7 +116199,6 @@ wf-training-master.appspot.com, 1 wf-trial-hrd.appspot.com, 1 wf336.com, 1 -wfcp1010.com, 0 wfh.ovh, 1 wfh.se, 1 wforum.nl, 1 @@ -116683,7 +116207,7 @@ wg-smue.de, 1 wg-tools.de, 1 wg3k.us, 1 -wgcaobgyn.com, 0 +wgcaobgyn.com, 1 wgdp.gov, 0 wge-feg.gc.ca, 1 wgec-fegc.gc.ca, 1 @@ -116750,7 +116274,6 @@ whatisthe.cloud, 1 whatisthisapp.com, 1 whatnot.ai, 1 -whatsahoy.com, 1 whatsapp.com, 1 whatsapp.net, 1 whatsapp.ru, 1 @@ -116765,7 +116288,6 @@ whatswrong.blog, 1 whatthefile.info, 1 whatthingsweigh.com, 1 -whattodo.com, 0 whattominingrigrentals.com, 1 whatusb.com, 1 whatwebcando.today, 1 @@ -116789,7 +116311,7 @@ wheredoi.click, 1 wherefish.com, 1 whereicode.org, 0 -whereisjason.com, 1 +whereisjason.com, 0 whereismyorigin.cf, 1 whereiszakir.com, 1 wheresbuzz.com.au, 1 @@ -116798,7 +116320,6 @@ whexit.nl, 1 whey-protein.ch, 1 wheyteck.com, 1 -whi.tw, 0 whichdoctor.com, 1 whichgender.today, 1 whiff-of-grape.ca, 1 @@ -116894,7 +116415,6 @@ whittle.in, 1 whittome.com, 1 whitworth.nyc, 1 -whizz.ie, 1 whizzzbang.co.uk, 1 whm.gc.ca, 1 whnpa.org, 1 @@ -116903,6 +116423,7 @@ whoagirls.com, 1 whoagirls.net, 0 whoagirls.org, 1 +whoami.eu.org, 1 whoami.io, 1 whocalld.com, 1 whocalled.us, 1 @@ -116911,6 +116432,7 @@ whodatdish.com, 1 whoiscuter.ml, 1 whoiscutest.ml, 1 +whoisdhh.com, 0 whoiswho.tk, 1 wholesale.cf, 1 wholesalediamonds.tk, 1 @@ -116922,7 +116444,6 @@ whonix.org, 1 whoopee.my, 1 whooshkaa.com, 1 -whoownsmyavailability.com, 1 whoreofwallstreet.tk, 1 whorepresentsme.us, 1 whosapeach.tk, 1 @@ -116945,6 +116466,7 @@ whyopencomputing.com, 0 whysoslow.co.uk, 1 whytls.com, 1 +whyworldhot.com, 1 whyy.eu.org, 1 whyzeroturn.com, 1 wi-fi.org, 1 @@ -116975,10 +116497,8 @@ widderplasticsurgery.com, 1 wideboxmacau.com, 0 widecontrol.it, 1 -widegab.com, 0 wideinfo.org, 1 widejeans.tk, 1 -widely.io, 1 widememory.com, 1 widenews.org, 1 wideworks.agency, 1 @@ -117039,7 +116559,6 @@ wijkdezwaenebloeme.tk, 1 wijkstation.nl, 1 wijnbesteld.nl, 1 -wijnimportjanssen.nl, 1 wijnlandkroatie.nl, 1 wijnservices.nl, 0 wijsaantwerk.be, 1 @@ -117232,7 +116751,6 @@ wildmarsian.info, 1 wildmine.su, 1 wildnessnetlabel.tk, 1 -wildnisfamilie.net, 1 wildowi.cz, 1 wildrideproject.tk, 1 wildsafety.com, 1 @@ -117252,8 +116770,10 @@ wiliquet.net, 0 wilk.tech, 0 wilkebouwer.nl, 1 +wilkinsondigital.com, 1 wilkipedia.org, 1 wilkushka.com, 1 +wilkushka.net, 1 will-lash.com, 1 willalex.com, 1 willberg.bayern, 1 @@ -117263,6 +116783,7 @@ willcountysao.gov, 1 willdropphoto.co.uk, 1 willekeinden.nl, 1 +willems-kristiansen.dk, 1 willenberg.family, 1 willetlaw.com, 1 willfarrell.ca, 1 @@ -117277,7 +116798,7 @@ williamgoldberg.cf, 1 williamjohngauthier.net, 1 williamk.ga, 0 -williamle.com, 1 +williamle.com, 0 williammcgill.co, 1 williamparedes.tk, 1 williampuckering.com, 1 @@ -117285,11 +116806,9 @@ williamscomposer.com, 1 williamscountyoh.gov, 1 williamsflintlocks.com, 0 -williamshomeheat.co.uk, 1 williamsigal.com, 1 williamsonshore.com, 1 williamsroom.com, 1 -williamtai.moe, 1 williamtm.com, 1 williamusherwood.com, 1 williamvds.me, 1 @@ -117365,7 +116884,7 @@ windictus.net, 1 windirect.tk, 1 windmillart.net, 1 -windmyroof.com, 1 +windmyroof.com, 0 windowcleaningexperts.com, 1 windowcleaningexperts.net, 1 windowreplacement.net, 1 @@ -117376,7 +116895,6 @@ windowsfreak.de, 1 windowslatest.com, 1 windowsnerd.com, 1 -windowsnoticias.com, 1 windowwellsupply.com, 1 windrich-werkzeugmaschinen.de, 1 windroide.net, 1 @@ -117391,12 +116909,14 @@ wine-route.net, 1 wine-tapa.com, 1 wine.com.my, 1 +wine.money, 1 wine.my, 1 winebrasil.com.br, 1 wineforhelp.cz, 1 winek.tk, 1 wineparis.com, 1 winerytoursanfrancisco.com, 1 +wineworksonline.com, 1 winfar.co.za, 1 winfieldchen.me, 1 winfilestorage.tk, 1 @@ -117410,7 +116930,6 @@ winghill.com, 0 wingify.com, 1 wingmin.net, 1 -wingos.net, 1 wings.com.pk, 1 wingsofacow.com, 0 wingspatagonia.com, 1 @@ -117429,7 +116948,6 @@ winnebagocountywi.gov, 1 winner.ua, 1 winnercivi.com, 1 -winners.net, 1 winnersaffiliate.com, 1 winnery.tk, 1 winning.gq, 1 @@ -117480,6 +116998,7 @@ wippy.tk, 1 wir-do.de, 1 wir-jugendhilfe.de, 1 +wir-machen-druck.de, 1 wirbsinglereview.com, 1 wircon-int.net, 1 wire.com, 1 @@ -117581,14 +117100,12 @@ witchhunt.tk, 1 witchthicktits.tk, 1 with-environment.com, 1 -with-planning.co.jp, 1 wither.cf, 1 witheveryheartbeat.com.au, 1 withextraveg.net, 1 withfoundation.org, 1 withgentlent.com, 1 withgoogle.com, 1 -withheld.xyz, 1 withinsecurity.com, 1 withlocals.com, 0 withoutessence.io, 1 @@ -117622,7 +117139,6 @@ wizardk.tk, 1 wizardmeow.xin, 1 wizardofhomes.com, 1 -wizardroofingexperts.com, 1 wizardschool.tk, 1 wizardwiz.com, 1 wizathon.com, 1 @@ -117761,7 +117277,6 @@ wolflambert.tk, 1 wolfsburgwest.com, 1 wolfshoehle.eu, 1 -wolfshuegelturm.de, 1 wolfteam.tk, 1 wolfvideoproductions.com, 1 wolfwings.us, 1 @@ -117800,7 +117315,6 @@ womenshealth.gov, 1 womensmedassoc.com, 1 womensshelterofhope.com, 1 -womenswellnessobgyn.com, 1 wompenriebler.tk, 1 woms.top, 1 womywomwoo.com, 1 @@ -117812,7 +117326,6 @@ wonderbox.ml, 1 wonderchat.tk, 1 wondercorner.ca, 1 -wondercris.com, 1 wondereur.com, 1 wonderfall.space, 1 wonderfuleducation.eu, 1 @@ -117823,7 +117336,6 @@ wonderkind.de, 1 wonderlab.ml, 1 wonderland.com.ua, 1 -wonderlandmovies.de, 1 wonderleaks.gq, 1 wondermags.com, 1 wondersonlineshop.com, 1 @@ -117852,7 +117364,6 @@ woodbury.io, 1 woodcat.net, 1 woodcock.cloud, 1 -woodcoin.org, 1 woodconditioningonline.com, 1 woodcountywi.gov, 1 woodcraftind.com, 1 @@ -117865,7 +117376,6 @@ woodinvillesepticservice.net, 1 woodlandboys.com, 1 woodlandexterior.com, 1 -woodlandhillselectrical.com, 1 woodlandsiding.com, 1 woodlandsunrooms.com, 1 woodlandsunroomsandenclosures.com, 1 @@ -117938,10 +117448,10 @@ wordwidessl.net, 1 wordxtra.net, 1 wordzite.com, 1 +worf.in, 1 work-at-home.ga, 1 work-at-home.gq, 1 work-in-progress.website, 1 -work-shift.work, 1 workahealthic.de, 1 workaholic.tk, 1 workaholics.tk, 1 @@ -118162,7 +117672,6 @@ wot-zadrot.com, 1 wotcheats.ru, 1 woti.dedyn.io, 1 -wotsunduk.ru, 1 wotzadrot.com, 1 woudenberg.nl, 0 woudenbergsedrukkerij.nl, 1 @@ -118204,7 +117713,6 @@ wows-mods.tk, 1 wowsosellout.com, 1 wozalapha.com, 1 -wozwebdesign.com.br, 1 wp-bootstrap.org, 1 wp-bundle.co, 0 wp-cloud.fi, 0 @@ -118229,6 +117737,7 @@ wpcepat.com, 0 wpcharged.nz, 1 wpcheck.io, 1 +wpcrs.org, 1 wpcs.pro, 1 wpdepo.com, 1 wpdev.com.au, 1 @@ -118249,7 +117758,7 @@ wphostingblog.nl, 1 wpinabox.de, 1 wpinfos.de, 0 -wpjakarta.com, 1 +wpjakarta.com, 0 wpldn.uk, 1 wpletter.de, 1 wplibrary.net, 1 @@ -118265,6 +117774,7 @@ wpnews.ml, 1 wpnews.tk, 1 wpnovice.tk, 1 +wpnuvem.com, 1 wpoptimalizace.cz, 1 wprapide.com, 1 wpresscoder.com, 1 @@ -118324,6 +117834,7 @@ writepro.net, 1 writer24.ru, 1 writerecommendations.ga, 1 +writereditor.com, 1 writerimranc.ca, 1 writers-club.tk, 1 writersblock.tk, 1 @@ -118403,7 +117914,6 @@ wuergler-consulting.ch, 1 wuermlitaucher.ch, 1 wuestenbergs.tk, 1 -wufupay.com, 1 wug.fun, 0 wug.jp, 1 wug.news, 1 @@ -118431,7 +117941,6 @@ wunder.io, 1 wunderkarten.de, 1 wunderlist.com, 1 -wundernas.ch, 1 wundi.net, 1 wunschpreisauto.de, 1 wunschzettel.de, 1 @@ -118561,7 +118070,7 @@ www.usaa.com, 0 www.viasinc.com, 0 www.vino.com, 0 -www.wepay.com, 0 +www.wepay.com, 1 www.wordpress.com, 0 www.zdnet.com, 1 www00228a.com, 1 @@ -118584,7 +118093,6 @@ wxdisco.com, 1 wxforums.com, 1 wxh.jp, 1 -wxhbts.com, 1 wxkxsw.com, 1 wxlog.cn, 0 wxrlab.com, 1 @@ -118593,7 +118101,7 @@ wxw.moe, 1 wxxcxd88.com, 1 wxzm.sx, 1 -wy188.cc, 1 +wy188.cc, 0 wy6.org, 1 wyam.io, 1 wyatttauber.com, 1 @@ -118650,12 +118158,13 @@ x-way.org, 1 x.io, 1 x.st, 1 +x001.org, 1 x00228.com, 1 x00701.com, 1 -x00708.com, 1 +x00708.com, 0 x00738.com, 1 x00776.com, 1 -x00786.com, 1 +x00786.com, 0 x0r.be, 1 x0r.link, 1 x13.com, 1 @@ -118715,7 +118224,6 @@ x9297.co, 1 x9721.com, 0 x9728.co, 1 -x98t.com, 1 x98v.com, 1 x98y.com, 1 x98z.com, 1 @@ -118757,7 +118265,6 @@ xavio.in, 1 xaxax.ru, 1 xaydungnamcuong.com, 1 -xaynhachothue.vn, 1 xb008.com, 1 xb052.com, 1 xb053.com, 1 @@ -118928,7 +118435,6 @@ xenicalorlistat.tk, 1 xenicalpills.tk, 1 xenocide.tk, 1 -xenomedia.nl, 1 xenomorph.tk, 1 xenon.cloud, 1 xenoncloud.net, 1 @@ -119163,6 +118669,8 @@ xinpujing918.com, 0 xinsane.com, 1 xinu.xyz, 1 +xinuspeed.com, 1 +xinuspeedtest.com, 1 xinxin.fun, 1 xinxin.pl, 1 xinyitour.tw, 1 @@ -119184,6 +118692,7 @@ xjtv.com, 1 xkblog.xyz, 1 xkcd.pw, 1 +xkeyc.cn, 1 xkviz.net, 1 xkwy2018.cn, 1 xlan.be, 1 @@ -119276,7 +118785,6 @@ xn--3stv82k.tw, 1 xn--41a.ml, 1 xn--43-6kc4be0fbz.xn--p1ai, 1 -xn--48jwg508p.net, 1 xn--4brt03c.xn--io0a7i, 1 xn--4kro7fswi.xn--6qq986b3xl, 1 xn--4pv80kkz8auzf.jp, 1 @@ -119318,6 +118826,7 @@ xn--80adb4aeode.xn--p1ai, 1 xn--80adbevek3air0ee9b8d.com, 1 xn--80adbvdjzhptl1be6j.com, 1 +xn--80adianadstvnice3evh.xn--90ais, 1 xn--80ae7bafe4d.tk, 1 xn--80aebbkaqx6at.xn--p1ai, 1 xn--80aejhvi0at.xn--90ais, 1 @@ -119409,6 +118918,7 @@ xn--dfirtrning-i6a.dk, 1 xn--diseadorwebmallorca-y3b.com, 1 xn--dk8haaa.ws, 1 +xn--dmonenjger-q5ag.net, 1 xn--dmontaa-9za.com, 1 xn--dragni-g1a.de, 1 xn--dragni-g1a.eu, 1 @@ -119417,6 +118927,7 @@ xn--duzy3f.com, 1 xn--duzy3f.world, 1 xn--dviz-5qa.com, 1 +xn--dy-via.de, 1 xn--e--0g4aiy1b8rmfg3o.jp, 1 xn--e--4h4axau6ld4lna0g.com, 1 xn--e--ig4a4c3f6bvc5et632i.com, 1 @@ -119484,10 +118995,8 @@ xn--j1aoca.xn--p1ai, 1 xn--j4h.cf, 1 xn--j8se.com, 1 -xn--jda.tk, 1 xn--jp8hx8f.ws, 1 xn--kckd0bd4a8tp27yee2e.com, 1 -xn--kda.tk, 1 xn--keditr-0xa.biz, 1 xn--kkcon-fwab.nz, 1 xn--kl-oja.is, 1 @@ -119495,6 +119004,7 @@ xn--ktha-kamrater-pfba.se, 1 xn--l8js6h476m.xn--q9jyb4c, 1 xn--labanskllermark-ftb.se, 1 +xn--lckwg.net, 1 xn--lfv405c.com, 1 xn--ll-yka.de, 1 xn--lna-2000-9za.nu, 1 @@ -119530,6 +119040,7 @@ xn--mntsamling-0cb.dk, 1 xn--myrepubic-wub.net, 1 xn--myrepublc-x5a.net, 1 +xn--n1aeexs.net, 0 xn--nicieri-b4a.ro, 1 xn--nidar-tib.org, 1 xn--nide-loa.ee, 1 @@ -119544,6 +119055,7 @@ xn--okra.xn--6qq986b3xl, 1 xn--p3t555glxhnwa.com, 1 xn--p8j9a0d9c9a.xn--q9jyb4c, 1 +xn--pascal-klsch-cjb.de, 1 xn--pbt947am3ab71g.com, 1 xn--pckl4ji.ml, 1 xn--pckqk6xk43lunk.net, 1 @@ -119611,6 +119123,7 @@ xn--wp9ha.ws, 1 xn--wq9h.ml, 0 xn--xft85up3jca.ga, 1 +xn--xwqa8512b.eu.org, 1 xn--xz1a.jp, 1 xn--y-5ga.com, 1 xn--y8j148r.xn--q9jyb4c, 0 @@ -119627,6 +119140,7 @@ xn--zr9h.ga, 1 xn--zr9h.ml, 1 xn--zr9h.tk, 1 +xn--zsr042b.fun, 1 xn5.de, 1 xnaas.info, 1 xnativi.pl, 1 @@ -119664,7 +119178,6 @@ xperiacode.com, 1 xperidia.com, 1 xpert-designs.com, 1 -xpertairctx.com, 1 xpertairtx.com, 1 xpertairwaco.com, 1 xpertcenter.ch, 1 @@ -119740,6 +119253,7 @@ xserownia.net, 1 xserownia.pl, 1 xsolla.com, 1 +xss.name, 1 xss.sk, 1 xssi.uk, 1 xsstime.nl, 1 @@ -119809,6 +119323,7 @@ xtom.si, 1 xtom.sk, 1 xtom.su, 1 +xtom.support, 0 xtom.uk, 1 xtom.wiki, 1 xtom.xyz, 1 @@ -119845,13 +119360,10 @@ xuehuang666.cn, 1 xuesoska.ga, 1 xuexi.icu, 0 -xujan.com, 0 +xujan.com, 1 xuming.studio, 1 xumm.community, 1 xumm.me, 1 -xun3708855.com, 1 -xunmengdu.com, 1 -xunn.io, 1 xuntaosms.com, 1 xuntier.ch, 1 xurl.gq, 1 @@ -119922,6 +119434,7 @@ xynta.ch, 1 xyquadrat.ch, 1 xyrexwolf-sebastien-izambard.tk, 1 +xywap.org, 1 xywing.com, 0 xyz.blue, 1 xyz.ng, 1 @@ -119963,21 +119476,26 @@ y6180.com, 1 y6729.co, 1 y6729.com, 0 -y68cc.com, 1 +y68cc.com, 0 +y68ee.com, 0 +y68ff.com, 0 +y68gg.com, 0 y68gl.com, 1 -y68jj.com, 1 +y68hh.com, 0 +y68ii.com, 0 +y68jj.com, 0 y68jn.com, 1 -y68ll.com, 1 +y68ll.com, 0 y68oo.com, 1 -y68pp.com, 1 -y68qq.com, 1 -y68rr.com, 1 +y68pp.com, 0 +y68qq.com, 0 +y68rr.com, 0 y68sc.com, 1 y68sz.com, 1 -y68tt.com, 1 -y68uu.com, 1 -y68yy.com, 1 -y68zz.com, 1 +y68tt.com, 0 +y68uu.com, 0 +y68yy.com, 0 +y68zz.com, 0 y6957.co, 1 y6bet.com, 1 y70102.com, 1 @@ -120040,7 +119558,6 @@ y89m.com, 1 y89n.com, 1 y89o.com, 1 -y89p.com, 0 y89q.com, 0 y89r.com, 0 y89s.com, 0 @@ -120048,7 +119565,6 @@ y89u.com, 0 y89v.com, 1 y89ww.com, 0 -y89z.com, 0 y89zz.com, 0 y9297.co, 1 y9297.com, 1 @@ -120066,7 +119582,7 @@ yaay.today, 1 yabbr.com.au, 1 yabbr.io, 1 -yabo68.com, 1 +yabo68.com, 0 yabuisha.jp, 1 yacca.co.uk, 1 yacca.uk, 1 @@ -120119,7 +119635,6 @@ yakutianews.tk, 1 yakutsk-city.tk, 1 yakutsk.ml, 1 -yalacoins.com, 1 yalb.tech, 1 yalcinkaya.ninja, 0 yalecleaners.com, 1 @@ -120153,6 +119668,7 @@ yanaduday.com, 1 yananikitina.site, 1 yande.re, 1 +yandere.moe, 1 yandong.tk, 1 yangcs.net, 0 yangfamily.tw, 1 @@ -120246,7 +119762,6 @@ yarygin.tk, 1 yasam.co.uk, 1 yaseiblog.org, 1 -yaseminuzumcu.com, 1 yash.com, 1 yashinstore.com, 1 yasic.net, 1 @@ -120282,7 +119797,6 @@ yay-btcl.work, 1 yay.cam, 1 yayart.club, 1 -yayincibotu.com, 1 yayl888.com, 1 yayou.ag, 1 yazichestvo.tk, 1 @@ -120295,6 +119809,7 @@ ybscareers.co.uk, 1 ybsul.com, 1 ybti.net, 1 +ybvip789.com, 0 ybzhao.com, 1 yc1820.com, 1 ycb.fr, 1 @@ -120306,6 +119821,7 @@ ycnrg.org, 1 ycodendauteradio.net, 1 ycsgo.com, 0 +yd.io, 1 yd163.cc, 1 yd169.cc, 1 ydiversa.com, 1 @@ -120441,7 +119957,6 @@ yggdar.ga, 1 ygm.org.uk, 1 ygobbs.com, 1 -ygrene.com, 1 yh12366.com, 1 yh56787.com, 1 yh599.cc, 1 @@ -120476,7 +119991,7 @@ yigelangzi.com, 1 yigit.shop, 1 yigujin.cn, 1 -yiheng.moe, 1 +yiheng.moe, 0 yihome.com.tw, 1 yihome.tw, 1 yihouse.tw, 1 @@ -120519,20 +120034,20 @@ ykqpw.com, 1 yl-invest.co.il, 1 yl366.cc, 1 -yl369.cc, 1 ylde.de, 1 ylilauta.org, 1 ylinternal.com, 1 ylk.de, 1 +ylk.io, 1 ym069.com, 1 ym1199.com, 1 ym14.com, 1 ym181.am, 1 -ym181.com, 1 +ym181.com, 0 ym516.com, 1 ym6699.com, 1 ym966.com, 1 -ym966.net, 1 +ym966.net, 0 ymaca.tk, 1 ymarion.de, 1 ymashop.com, 1 @@ -120554,7 +120069,7 @@ yobai-grouprec.jp, 1 yobasystems.co.uk, 1 yobda.tk, 1 -yobify.com, 0 +yobify.com, 1 yobniyulyu.tk, 1 yobst.tk, 1 yochadehe.gov, 1 @@ -120563,7 +120078,6 @@ yodababy.com.tw, 1 yodalef3.tk, 1 yodaremote.tk, 1 -yoga-alliance-teacher-training.com, 1 yoga-bien-etre.com, 1 yoga-good.fr, 1 yoga-prive.de, 1 @@ -120579,11 +120093,9 @@ yogaillustrations.ga, 1 yogaillustrations.tk, 1 yogamarlene.ch, 1 -yogamea.school, 1 yogananda-roma.org, 1 yogaovelser.dk, 1 yogaprague.com, 1 -yogaschoolrishikesh.com, 1 yogaschule-herzraum.de, 1 yogasolution.tk, 1 yogatherapykosha.com, 1 @@ -120596,7 +120108,6 @@ yohanesmario.com, 1 yoitoko.city, 1 yoitsu.moe, 1 -yojnaa.com, 1 yokocho373.com, 1 yokoda.okinawa, 1 yokohama-legaloffice.jp, 1 @@ -120633,7 +120144,7 @@ yopuedo.co, 0 yoramvandevelde.net, 1 yorcom.nl, 0 -yorcool.nl, 1 +yorcool.nl, 0 yorcybersec.co.uk, 1 yordanisp.tk, 1 yore.tk, 1 @@ -120676,7 +120187,7 @@ youbehero.com, 1 youber.cz, 1 youc.ir, 1 -youcanbook.me, 1 +youcanbook.me, 0 youcanfinance.com.au, 1 youcanfuckoff.xyz, 1 youcanhelp.tk, 1 @@ -120757,16 +120268,13 @@ your-kurs.tk, 1 your-melody.ru, 1 your-out.com, 1 -your.best, 1 your28days.com, 1 youracnepro.com, 1 youran.me, 1 yourantiquarian.com, 1 yourazbraces.com, 1 -yourbetterkitchen.com, 0 yourbind.com, 1 yourbittorrent.com, 1 -yourbittorrent.pw, 1 yourbittorrent2.com, 1 yourblazeguard.com, 1 yourbodyknows.dk, 1 @@ -120786,7 +120294,6 @@ yourdailyhealthcare.tk, 1 yourdata.ga, 1 yourdemowebsite.ml, 1 -yourdomain.host, 1 yourdrive.tk, 1 youreallyneedthis.co, 1 youregeeks.com, 1 @@ -120818,7 +120325,7 @@ yourpersonalfrance.com, 1 yourrenaissancemedspa.com, 1 yourscotlandtour.co.uk, 1 -yourskin.nl, 1 +yourskin.nl, 0 yoursoul.gq, 1 yoursoulmate.tk, 1 yourstage.nl, 1 @@ -120827,7 +120334,6 @@ yourtests.tk, 1 yourticketbooking.com, 1 yourtime.tv, 1 -yourtopia.fr, 1 yourtwojugs.com, 1 youruseragent.info, 1 yourwatchdesign.co.uk, 1 @@ -120869,7 +120375,6 @@ yovko.net, 0 yoyoost.duckdns.org, 1 yoyoost.ga, 1 -yoys.ae, 1 yozakura.me, 1 yozhik.tk, 1 yparches.com, 1 @@ -120893,7 +120398,6 @@ yrx.me, 1 yryz.net, 1 ys-system.ru, 1 -ys633.cc, 1 ysds.com, 0 ysearc.tk, 1 ysicing.me, 1 @@ -120908,7 +120412,6 @@ yt606.com, 1 yt629.com, 1 yt675.com, 1 -yt962.com, 1 yt972.com, 1 ytcount.com, 1 ytec.ca, 1 @@ -120932,7 +120435,7 @@ yuandan.cf, 1 yuandan.gq, 1 yuandan.ml, 1 -yuanjiazhao.com, 1 +yuanjiazhao.com, 0 yuanjiazhao.tk, 1 yuanritian.com, 1 yuansecard.me, 1 @@ -121012,7 +120515,6 @@ yuharahisako.ga, 1 yuhindo.com, 1 yuho.vn, 1 -yuina.cn, 0 yuisyo.ml, 1 yujixr.net, 1 yukari.cafe, 1 @@ -121053,7 +120555,7 @@ yumm.menu, 1 yummycouple.net, 1 yummydrool.com, 1 -yun-bao.co, 1 +yun-bao.co, 0 yuna.tg, 0 yunasecurity.com, 1 yuncaioo.com, 0 @@ -121064,11 +120566,9 @@ yunqueradehenares.tk, 1 yuntong.tw, 0 yunzhu.li, 0 -yuqi.me, 1 yura.cf, 1 yuricarlenzoli.it, 1 yurikirin.me, 1 -yurilight.xyz, 1 yurimoens.be, 1 yurinet.org, 1 yurisora.com, 1 @@ -121083,7 +120583,6 @@ yusukesakai.com, 1 yutakato.net, 1 yutangyun.com, 1 -yutaron.tokyo, 0 yuth.in, 0 yuucchi.com, 1 yuuki0xff.jp, 1 @@ -121105,7 +120604,6 @@ yuzei.ml, 1 yuzei.tk, 1 yuzu.tk, 1 -yuzulia.com, 1 yuzurisa.com, 1 yvb.moe, 1 yvcr.com, 0 @@ -121121,10 +120619,10 @@ yxt521.com, 1 yxzero.xyz, 1 yy-s.net, 1 -yy153.com, 1 +yy153.com, 0 yy366.cc, 1 yy369.cc, 1 -yy393.com, 1 +yy393.com, 0 yy5197.co, 1 yy6729.co, 1 yy6729.com, 0 @@ -121141,7 +120639,7 @@ yyy116.com, 1 yyy608.com, 1 yz86.cc, 1 -yzal.io, 0 +yzal.io, 1 yzarul.com, 1 yzddd.com, 1 yzer.club, 1 @@ -121442,6 +120940,7 @@ zaimexpress.cf, 1 zaimi.ml, 1 zaimin.ga, 1 +zaimitut.ru, 1 zaimlime.ga, 1 zaimponuj.pl, 1 zaimvkredit2.gq, 1 @@ -121566,6 +121065,7 @@ zaracraft.tk, 1 zaramendez.net, 1 zaratan.fr, 0 +zaraweb.net, 1 zarbis.tk, 1 zardain.tk, 1 zargescases.co.uk, 1 @@ -121932,7 +121432,7 @@ zety.fr, 1 zeus.gent, 1 zeuscorp.ga, 1 -zeusec.co.jp, 0 +zeusec.co.jp, 1 zeusindia.tk, 1 zevelev.net, 1 zevenbergenbos.tk, 1 @@ -121970,7 +121470,7 @@ zhangge.net, 1 zhanghao.me, 1 zhanghao.org, 1 -zhangjet.com, 1 +zhangjet.com, 0 zhanglizhi.ml, 1 zhangpeng.ai, 1 zhangshuqiao.org, 1 @@ -122034,7 +121534,6 @@ zhoukz.com, 1 zhoushuo.me, 0 zhoutiancai.cn, 1 -zhouzhi.me, 1 zhovner.com, 1 zhstar.win, 1 zhthings.com, 1 @@ -122104,10 +121603,9 @@ zinabnews.tk, 1 zinchenko.gq, 1 zindagilive.tk, 1 -zindan.tk, 1 zindec.com, 1 zinewords.com, 1 -zingjerijk.nl, 1 +zingjerijk.nl, 0 zinglix.xyz, 1 zingpetfood.com, 1 zings.eu, 1 @@ -122153,7 +121651,6 @@ zizcollections.com, 1 zizibook.ml, 1 zizin.tk, 1 -zjateaucafe.be, 1 zjawa.pro, 1 zjc3.com, 1 zju.tv, 1 @@ -122255,6 +121752,7 @@ zmartagroup.no, 1 zmartagroup.se, 1 zmc.com.sa, 1 +zmessages.com, 0 zmeya.tk, 1 zmiguel.me, 1 zmk.fr, 0 @@ -122279,7 +121777,7 @@ znaniya.cf, 1 znanje.gq, 1 znation.nl, 1 -znbr.com, 0 +znbr.com, 1 znd.jp, 1 zngay.com, 1 znhglobalresources.com, 1 @@ -122399,6 +121897,7 @@ zoom.earth, 1 zoomative.com, 1 zoomcar.pro, 1 +zoomek.com, 1 zoomgov.com, 1 zooom.azurewebsites.net, 1 zooom2.azurewebsites.net, 1 @@ -122445,7 +121944,6 @@ zotan.systems, 1 zotero.org, 1 zoto.ga, 1 -zottika.com, 1 zouaouitransport.fr, 1 zouk.info, 1 zouyaoji.top, 1 @@ -122494,7 +121992,6 @@ zsyaolong.com, 0 zt360.net, 1 zten.org, 1 -zthc.nl, 1 ztickerz.nl, 0 ztmovies.cf, 1 ztn.sh, 1 @@ -122584,6 +122081,7 @@ zwollemagazine.nl, 1 zwy.ch, 0 zwyr157wwiu6eior.com, 1 +zx1168.com, 0 zxe.com.br, 1 zxfiles.tk, 1 zxity.co.uk, 1 @@ -122623,7 +122121,6 @@ zz204.com, 1 zz342.com, 1 zz5197.co, 1 -zz606.com, 1 zz6729.co, 1 zz6729.com, 0 zz6957.co, 1 diff -Nru thunderbird-91.8.0/security/nss/TAG-INFO thunderbird-91.10.0/security/nss/TAG-INFO --- thunderbird-91.8.0/security/nss/TAG-INFO 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/TAG-INFO 2022-05-25 21:47:09.000000000 +0000 @@ -1 +1 @@ -NSS_3_68_3_RTM \ No newline at end of file +NSS_3_68_4_RTM \ No newline at end of file diff -Nru thunderbird-91.8.0/security/nss/cmd/smimetools/cmsutil.c thunderbird-91.10.0/security/nss/cmd/smimetools/cmsutil.c --- thunderbird-91.8.0/security/nss/cmd/smimetools/cmsutil.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/cmd/smimetools/cmsutil.c 2022-05-25 21:47:03.000000000 +0000 @@ -219,7 +219,7 @@ switch (typetag) { case SEC_OID_PKCS7_SIGNED_DATA: { NSSCMSSignedData *sigd = NULL; - SECItem **digests; + SECItem **digests = NULL; int nsigners; int j; diff -Nru thunderbird-91.8.0/security/nss/coreconf/coreconf.dep thunderbird-91.10.0/security/nss/coreconf/coreconf.dep --- thunderbird-91.8.0/security/nss/coreconf/coreconf.dep 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/coreconf/coreconf.dep 2022-05-25 21:46:40.000000000 +0000 @@ -10,3 +10,4 @@ */ #error "Do not include this header file." + diff -Nru thunderbird-91.8.0/security/nss/lib/nss/nss.h thunderbird-91.10.0/security/nss/lib/nss/nss.h --- thunderbird-91.8.0/security/nss/lib/nss/nss.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/lib/nss/nss.h 2022-05-25 21:47:04.000000000 +0000 @@ -22,10 +22,10 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define NSS_VERSION "3.68.3" _NSS_CUSTOMIZED +#define NSS_VERSION "3.68.4" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 #define NSS_VMINOR 68 -#define NSS_VPATCH 3 +#define NSS_VPATCH 4 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE diff -Nru thunderbird-91.8.0/security/nss/lib/smime/cmsdigest.c thunderbird-91.10.0/security/nss/lib/smime/cmsdigest.c --- thunderbird-91.8.0/security/nss/lib/smime/cmsdigest.c 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/lib/smime/cmsdigest.c 2022-05-25 21:47:14.000000000 +0000 @@ -239,7 +239,7 @@ SECItem *digest) { SECStatus rv = SECFailure; - SECItem **dp; + SECItem **dp = NULL; PLArenaPool *arena = NULL; if ((arena = PORT_NewArena(1024)) == NULL) @@ -247,7 +247,7 @@ /* get the digests into arena, then copy the first digest into poolp */ rv = NSS_CMSDigestContext_FinishMultiple(cmsdigcx, arena, &dp); - if (rv == SECSuccess) { + if (rv == SECSuccess && dp) { /* now copy it into poolp */ rv = SECITEM_CopyItem(poolp, digest, dp[0]); } diff -Nru thunderbird-91.8.0/security/nss/lib/softoken/softkver.h thunderbird-91.10.0/security/nss/lib/softoken/softkver.h --- thunderbird-91.8.0/security/nss/lib/softoken/softkver.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/lib/softoken/softkver.h 2022-05-25 21:47:53.000000000 +0000 @@ -17,10 +17,10 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define SOFTOKEN_VERSION "3.68.3" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.68.4" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 #define SOFTOKEN_VMINOR 68 -#define SOFTOKEN_VPATCH 3 +#define SOFTOKEN_VPATCH 4 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE diff -Nru thunderbird-91.8.0/security/nss/lib/util/nssutil.h thunderbird-91.10.0/security/nss/lib/util/nssutil.h --- thunderbird-91.8.0/security/nss/lib/util/nssutil.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/nss/lib/util/nssutil.h 2022-05-25 21:47:02.000000000 +0000 @@ -19,10 +19,10 @@ * The format of the version string should be * ".[.[.]][ ]" */ -#define NSSUTIL_VERSION "3.68.3" +#define NSSUTIL_VERSION "3.68.4" #define NSSUTIL_VMAJOR 3 #define NSSUTIL_VMINOR 68 -#define NSSUTIL_VPATCH 3 +#define NSSUTIL_VPATCH 4 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE diff -Nru thunderbird-91.8.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc --- thunderbird-91.8.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc 2022-05-25 21:47:02.000000000 +0000 @@ -19,6 +19,7 @@ #include "sandbox/linux/bpf_dsl/policy.h" #include "sandbox/linux/bpf_dsl/seccomp_macros.h" #include "sandbox/linux/bpf_dsl/syscall_set.h" +#include "sandbox/linux/seccomp-bpf/syscall.h" #include "sandbox/linux/system_headers/linux_filter.h" #include "sandbox/linux/system_headers/linux_seccomp.h" #include "sandbox/linux/system_headers/linux_syscalls.h" @@ -318,8 +319,7 @@ // Special logic for sanity checking the upper 32-bits of 32-bit system // call arguments. - // TODO(mdempsky): Compile Unexpected64bitArgument() just per program. - CodeGen::Node invalid_64bit = Unexpected64bitArgument(); + CodeGen::Node invalid_64bit = Unexpected64bitArgument(argno); const uint32_t upper = SECCOMP_ARG_MSB_IDX(argno); const uint32_t lower = SECCOMP_ARG_LSB_IDX(argno); @@ -335,8 +335,13 @@ BPF_JMP + BPF_JEQ + BPF_K, 0, passed, invalid_64bit)); } - // On 64-bit platforms, the upper 32-bits may be 0 or ~0; but we only allow - // ~0 if the sign bit of the lower 32-bits is set too: + // On 64-bit platforms, the ABI (at least on x86_64) allows any value + // for the upper half, but to avoid potential vulnerabilties if an + // argument is incorrectly tested as a 32-bit type, we require it to be + // either zero-extended or sign-extended. That is, the upper 32-bits + // may be 0 or ~0; but we only allow ~0 if the sign bit of the lower + // 32-bits is set too: + // // LDW [upper] // JEQ 0, passed, (next) // JEQ ~0, (next), invalid @@ -424,8 +429,18 @@ BPF_JMP + BPF_JEQ + BPF_K, value, passed, failed))); } -CodeGen::Node PolicyCompiler::Unexpected64bitArgument() { - return CompileResult(panic_func_("Unexpected 64bit argument detected")); +CodeGen::Node PolicyCompiler::Unexpected64bitArgument(int argno) { + // This situation is unlikely, but possible. Return to userspace, + // zero-extend the problematic argument, and re-issue the syscall. + return CompileResult(bpf_dsl::Trap( + [](const arch_seccomp_data& args_ref, void* aux) -> intptr_t { + arch_seccomp_data args = args_ref; + int argno = (int)(intptr_t)aux; + args.args[argno] &= 0xFFFFFFFF; + return Syscall::Call(args.nr, args.args[0], args.args[1], args.args[2], + args.args[3], args.args[4], args.args[5]); + }, + (void*)(intptr_t)argno)); } CodeGen::Node PolicyCompiler::Return(uint32_t ret) { diff -Nru thunderbird-91.8.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h --- thunderbird-91.8.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h 2022-05-25 21:47:14.000000000 +0000 @@ -132,9 +132,11 @@ CodeGen::Node passed, CodeGen::Node failed); - // Returns the fatal CodeGen::Node that is used to indicate that somebody - // attempted to pass a 64bit value in a 32bit system call argument. - CodeGen::Node Unexpected64bitArgument(); + // Returns the CodeGen::Node that is used to handle the case where a + // system call argument was expected to be a 32-bit type, but the + // value in the 64-bit register doesn't correspond to a + // zero-extended or sign-extended 32-bit value. + CodeGen::Node Unexpected64bitArgument(int argno); const Policy* policy_; TrapRegistry* registry_; diff -Nru thunderbird-91.8.0/security/sandbox/chromium-shim/patches/after_update/linux_32bit_arg_fixup.patch thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/linux_32bit_arg_fixup.patch --- thunderbird-91.8.0/security/sandbox/chromium-shim/patches/after_update/linux_32bit_arg_fixup.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/linux_32bit_arg_fixup.patch 2022-05-25 21:47:53.000000000 +0000 @@ -0,0 +1,84 @@ +commit e0a00891b67ec162a17aa241a83b171b313de9fe +Author: Jed Davis +Date: Mon Apr 18 18:00:10 2022 -0600 + + Make the sandbox fix up non-extended 32-bit types. + +diff --git a/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc b/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc +index 347304889eae4..b909fc37f6174 100644 +--- a/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc ++++ b/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.cc +@@ -19,6 +19,7 @@ + #include "sandbox/linux/bpf_dsl/policy.h" + #include "sandbox/linux/bpf_dsl/seccomp_macros.h" + #include "sandbox/linux/bpf_dsl/syscall_set.h" ++#include "sandbox/linux/seccomp-bpf/syscall.h" + #include "sandbox/linux/system_headers/linux_filter.h" + #include "sandbox/linux/system_headers/linux_seccomp.h" + #include "sandbox/linux/system_headers/linux_syscalls.h" +@@ -318,8 +319,7 @@ CodeGen::Node PolicyCompiler::MaskedEqualHalf(int argno, + // Special logic for sanity checking the upper 32-bits of 32-bit system + // call arguments. + +- // TODO(mdempsky): Compile Unexpected64bitArgument() just per program. +- CodeGen::Node invalid_64bit = Unexpected64bitArgument(); ++ CodeGen::Node invalid_64bit = Unexpected64bitArgument(argno); + + const uint32_t upper = SECCOMP_ARG_MSB_IDX(argno); + const uint32_t lower = SECCOMP_ARG_LSB_IDX(argno); +@@ -335,8 +335,13 @@ CodeGen::Node PolicyCompiler::MaskedEqualHalf(int argno, + BPF_JMP + BPF_JEQ + BPF_K, 0, passed, invalid_64bit)); + } + +- // On 64-bit platforms, the upper 32-bits may be 0 or ~0; but we only allow +- // ~0 if the sign bit of the lower 32-bits is set too: ++ // On 64-bit platforms, the ABI (at least on x86_64) allows any value ++ // for the upper half, but to avoid potential vulnerabilties if an ++ // argument is incorrectly tested as a 32-bit type, we require it to be ++ // either zero-extended or sign-extended. That is, the upper 32-bits ++ // may be 0 or ~0; but we only allow ~0 if the sign bit of the lower ++ // 32-bits is set too: ++ // + // LDW [upper] + // JEQ 0, passed, (next) + // JEQ ~0, (next), invalid +@@ -424,8 +429,18 @@ CodeGen::Node PolicyCompiler::MaskedEqualHalf(int argno, + BPF_JMP + BPF_JEQ + BPF_K, value, passed, failed))); + } + +-CodeGen::Node PolicyCompiler::Unexpected64bitArgument() { +- return CompileResult(panic_func_("Unexpected 64bit argument detected")); ++CodeGen::Node PolicyCompiler::Unexpected64bitArgument(int argno) { ++ // This situation is unlikely, but possible. Return to userspace, ++ // zero-extend the problematic argument, and re-issue the syscall. ++ return CompileResult(bpf_dsl::Trap( ++ [](const arch_seccomp_data& args_ref, void* aux) -> intptr_t { ++ arch_seccomp_data args = args_ref; ++ int argno = (int)(intptr_t)aux; ++ args.args[argno] &= 0xFFFFFFFF; ++ return Syscall::Call(args.nr, args.args[0], args.args[1], args.args[2], ++ args.args[3], args.args[4], args.args[5]); ++ }, ++ (void*)(intptr_t)argno)); + } + + CodeGen::Node PolicyCompiler::Return(uint32_t ret) { +diff --git a/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h b/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h +index 48b1d780d956f..2acf878474a7d 100644 +--- a/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h ++++ b/security/sandbox/chromium/sandbox/linux/bpf_dsl/policy_compiler.h +@@ -132,9 +132,11 @@ class SANDBOX_EXPORT PolicyCompiler { + CodeGen::Node passed, + CodeGen::Node failed); + +- // Returns the fatal CodeGen::Node that is used to indicate that somebody +- // attempted to pass a 64bit value in a 32bit system call argument. +- CodeGen::Node Unexpected64bitArgument(); ++ // Returns the CodeGen::Node that is used to handle the case where a ++ // system call argument was expected to be a 32-bit type, but the ++ // value in the 64-bit register doesn't correspond to a ++ // zero-extended or sign-extended 32-bit value. ++ CodeGen::Node Unexpected64bitArgument(int argno); + + const Policy* policy_; + TrapRegistry* registry_; diff -Nru thunderbird-91.8.0/security/sandbox/chromium-shim/patches/after_update/patch_order.txt thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/patch_order.txt --- thunderbird-91.8.0/security/sandbox/chromium-shim/patches/after_update/patch_order.txt 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/chromium-shim/patches/after_update/patch_order.txt 2022-05-25 21:47:25.000000000 +0000 @@ -7,3 +7,4 @@ change_to_DCHECK_in_CloseHandleWrapper.patch move_shared_memory_duplication_after_initialization.patch allow_ntpath_in_SignedPolicy_GenerateRules.patch +linux_32bit_arg_fixup.patch diff -Nru thunderbird-91.8.0/security/sandbox/common/test/SandboxTestingChildTests.h thunderbird-91.10.0/security/sandbox/common/test/SandboxTestingChildTests.h --- thunderbird-91.8.0/security/sandbox/common/test/SandboxTestingChildTests.h 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/common/test/SandboxTestingChildTests.h 2022-05-25 21:47:18.000000000 +0000 @@ -31,9 +31,54 @@ namespace mozilla { +// Tests that apply to every process type (more or less) +static void RunGenericTests(SandboxTestingChild* child, bool aIsGMP = false) { +#ifdef XP_LINUX + // Check ABI issues with 32-bit arguments on 64-bit platforms. + if (sizeof(void*) == 8) { + static constexpr uint64_t kHighBits = 0xDEADBEEF00000000; + + struct timespec ts0, ts1; + child->ErrnoTest("high_bits_gettime"_ns, true, [&] { + return syscall(__NR_clock_gettime, kHighBits | CLOCK_MONOTONIC, &ts0); + }); + // Try to make sure we got the correct clock by reading it again and + // comparing to see if the times are vaguely similar. + int rv = clock_gettime(CLOCK_MONOTONIC, &ts1); + MOZ_RELEASE_ASSERT(rv == 0); + MOZ_RELEASE_ASSERT(ts0.tv_sec <= ts1.tv_sec + 1); + MOZ_RELEASE_ASSERT(ts1.tv_sec <= ts0.tv_sec + 60); + + // Check some non-zeroth arguments. (fcntl is convenient for + // this, but GMP has a stricter policy, so skip it there.) + if (!aIsGMP) { + int flags; + child->ErrnoTest("high_bits_fcntl_getfl"_ns, true, [&] { + flags = syscall(__NR_fcntl, 0, kHighBits | F_GETFL); + return flags; + }); + MOZ_RELEASE_ASSERT(flags == fcntl(0, F_GETFL)); + + int fds[2]; + rv = pipe(fds); + MOZ_RELEASE_ASSERT(rv >= 0); + child->ErrnoTest("high_bits_fcntl_setfl"_ns, true, [&] { + return syscall(__NR_fcntl, fds[0], kHighBits | F_SETFL, + kHighBits | O_NONBLOCK); + }); + flags = fcntl(fds[0], F_GETFL); + MOZ_RELEASE_ASSERT(flags >= 0); + MOZ_RELEASE_ASSERT(flags & O_NONBLOCK); + } + } +#endif // XP_LINUX +} + void RunTestsContent(SandboxTestingChild* child) { MOZ_ASSERT(child, "No SandboxTestingChild*?"); + RunGenericTests(child); + #ifdef XP_UNIX struct stat st; static const char kAllowedPath[] = "/usr/lib"; @@ -117,6 +162,8 @@ void RunTestsSocket(SandboxTestingChild* child) { MOZ_ASSERT(child, "No SandboxTestingChild*?"); + RunGenericTests(child); + #ifdef XP_UNIX child->ErrnoTest("getaddrinfo"_ns, true, [&] { struct addrinfo* res; @@ -147,6 +194,8 @@ void RunTestsRDD(SandboxTestingChild* child) { MOZ_ASSERT(child, "No SandboxTestingChild*?"); + RunGenericTests(child); + #ifdef XP_UNIX # ifdef XP_LINUX child->ErrnoValueTest("ioctl_tiocsti"_ns, false, ENOSYS, [&] { @@ -167,6 +216,9 @@ void RunTestsGMPlugin(SandboxTestingChild* child) { MOZ_ASSERT(child, "No SandboxTestingChild*?"); + + RunGenericTests(child, /* aIsGMP = */ true); + #ifdef XP_UNIX # ifdef XP_LINUX struct utsname utsname_res = {}; diff -Nru thunderbird-91.8.0/security/sandbox/linux/SandboxFilter.cpp thunderbird-91.10.0/security/sandbox/linux/SandboxFilter.cpp --- thunderbird-91.8.0/security/sandbox/linux/SandboxFilter.cpp 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/security/sandbox/linux/SandboxFilter.cpp 2022-05-25 21:47:10.000000000 +0000 @@ -701,8 +701,10 @@ // clockid_t can encode a pid or tid to monitor another // process or thread's CPU usage (see CPUCLOCK_PID and related // definitions in include/linux/posix-timers.h in the kernel - // source). Those values could be detected by bit masking, - // but it's simpler to just have a default-deny policy. + // source). For threads, the kernel allows only tids within + // the calling process, so it isn't a problem if we don't + // filter those; pids do need to be restricted to the current + // process in order to not leak information. Arg clk_id(0); return If(clk_id == CLOCK_MONOTONIC, Allow()) #ifdef CLOCK_MONOTONIC_COARSE diff -Nru thunderbird-91.8.0/services/settings/dumps/blocklists/addons-bloomfilters.json thunderbird-91.10.0/services/settings/dumps/blocklists/addons-bloomfilters.json --- thunderbird-91.8.0/services/settings/dumps/blocklists/addons-bloomfilters.json 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/services/settings/dumps/blocklists/addons-bloomfilters.json 2022-05-25 21:47:10.000000000 +0000 @@ -3,6 +3,255 @@ { "stash": { "blocked": [ + "{f37a3632-0bcc-46e6-aae9-a41c18420d56}:1.0.1" + ], + "unblocked": [] + }, + "schema": 1652099875037, + "key_format": "{guid}:{version}", + "stash_time": 1652294108214, + "id": "7e175be8-6713-4fe1-828b-aff57f6651c0", + "last_modified": 1652294280350 + }, + { + "stash": { + "blocked": [ + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.2.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.22.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.1.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.19.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.6.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.25.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.6", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.9.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.3", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.4", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.6.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.18.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.15.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.14.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.21.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.12.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.17.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.9.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.12.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.7.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.15.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.5", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.10.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.11.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.12.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.19.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.8.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.8", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.20.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:1.8.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.2.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.15.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.13.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.10.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.0.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.13.3", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.24.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.12.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.9.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.1.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.24.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.9.3", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.11.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.6.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.9.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.6.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.10.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.13.4", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.5.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.24.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.13.2", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.8.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.3.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.13.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.12.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.15.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.5.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.23.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.4.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.17.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.16.9", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.21.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.26.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.7.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.14.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.1.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.13.1", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.3.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.4.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.16.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:3.2.0", + "{82135e8f-86d7-4cca-b1cd-a0d8f8396d06}:2.2.0" + ], + "unblocked": [] + }, + "schema": 1651775874861, + "key_format": "{guid}:{version}", + "stash_time": 1652099707040, + "id": "8e2781f1-4410-47c4-b37e-0941341c00bf", + "last_modified": 1652099874990 + }, + { + "stash": { + "blocked": [ + "{dffc3097-6798-4e76-afb6-dcecd91c77cc}:1.0" + ], + "unblocked": [] + }, + "schema": 1651497331023, + "key_format": "{guid}:{version}", + "stash_time": 1651775707909, + "id": "19c83adb-4509-4a36-a8c4-27ac01bad22f", + "last_modified": 1651775874807 + }, + { + "stash": { + "blocked": [ + "{06c64973-abc7-4bfe-a569-3ce2ca77d3be}:5.1.0", + "{86a2b09b-f6b0-4eec-a0c3-2ea5d0414c46}:1.0.2", + "{567f2fd5-3d33-4ee6-b1d4-b6c4dfaec43a}:1.0" + ], + "unblocked": [] + }, + "schema": 1651084687010, + "key_format": "{guid}:{version}", + "stash_time": 1651170906940, + "id": "131b9bf7-9abf-4aa3-9a8a-08ec8c21e489", + "last_modified": 1651171060377 + }, + { + "stash": { + "blocked": [ + "{7b68c521-bec3-431b-9d81-7a09b44aafba}:1.0" + ], + "unblocked": [] + }, + "schema": 1651063092490, + "key_format": "{guid}:{version}", + "stash_time": 1651084508537, + "id": "71c4745d-1483-4c22-9bd8-ae4a540097ad", + "last_modified": 1651084686962 + }, + { + "stash": { + "blocked": [ + "{af220130-5e64-4c9e-b69b-65d40c9b1a3f}:1.196.149" + ], + "unblocked": [] + }, + "schema": 1651061984554, + "key_format": "{guid}:{version}", + "stash_time": 1651062908362, + "id": "339acd53-d8c3-4094-8ed9-c5a104f4840e", + "last_modified": 1651063092441 + }, + { + "stash": { + "blocked": [ + "{d8246cf5-fdcf-470b-9599-9daa31c7376c}:1.0", + "{f9508171-fff5-4fee-94d2-d4bf00adb7e2}:1.0" + ], + "unblocked": [] + }, + "schema": 1649939903702, + "key_format": "{guid}:{version}", + "stash_time": 1650371708670, + "id": "982c0a03-ffd9-4e68-92eb-db63664bb880", + "last_modified": 1650371906091 + }, + { + "stash": { + "blocked": [ + "{dd70ce08-6a8a-4899-b2bd-17c2ce37805e}:0.0.2" + ], + "unblocked": [] + }, + "schema": 1649860691900, + "key_format": "{guid}:{version}", + "stash_time": 1649939709345, + "id": "042538b6-1e10-495f-a086-d0c9f42ce759", + "last_modified": 1649939903644 + }, + { + "stash": { + "blocked": [ + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.8.2", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.8.1", + "{c4c9b8f3-3c9b-41c2-827e-569e556fcb8a}:1.0.0.7", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.9.0", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.8.3d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.2d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.1d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.9.0d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.3d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.7f", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.5d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.0d", + "{c4c9b8f3-3c9b-41c2-827e-569e556fcb8a}:1.0.0.0", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.8.0", + "{c4c9b8f3-3c9b-41c2-827e-569e556fcb8a}:1.0.0.5", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.4d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.9.1", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.6d", + "{d619d6d4-d562-4ec3-a62b-9246e1553b42}:1.7d" + ], + "unblocked": [] + }, + "schema": 1649691602593, + "key_format": "{guid}:{version}", + "stash_time": 1649788507913, + "id": "9f608cfe-480d-4ec7-b692-0b26cb3ac3c3", + "last_modified": 1649788697027 + }, + { + "stash": { + "blocked": [ + "webpki@lacunasoftware.com:2.14.2", + "webpki@lacunasoftware.com:2.9.1", + "webpki@lacunasoftware.com:2.14.1", + "webpki@lacunasoftware.com:2.11.9", + "webpki@lacunasoftware.com:2.7.1", + "webpki@lacunasoftware.com:2.15.0", + "webpki@lacunasoftware.com:2.7.2", + "webpki@lacunasoftware.com:2.13.0", + "webpki@lacunasoftware.com:2.8.0", + "webpki@lacunasoftware.com:2.10.1", + "webpki@lacunasoftware.com:2.7.5", + "webpki@lacunasoftware.com:2.13.6", + "webpki@lacunasoftware.com:2.7.0", + "webpki@lacunasoftware.com:2.12.1", + "webpki@lacunasoftware.com:2.7.4", + "webpki@lacunasoftware.com:2.11.10", + "webpki@lacunasoftware.com:2.13.4", + "webpki@lacunasoftware.com:2.13.5", + "webpki@lacunasoftware.com:2.11.7", + "webpki@lacunasoftware.com:2.13.2", + "webpki@lacunasoftware.com:2.11.8", + "webpki@lacunasoftware.com:2.7.3", + "webpki@lacunasoftware.com:2.15.1", + "webpki@lacunasoftware.com:2.13.3", + "webpki@lacunasoftware.com:2.13.1" + ], + "unblocked": [] + }, + "schema": 1648744604332, + "key_format": "{guid}:{version}", + "stash_time": 1649248507608, + "id": "d68f1e69-715e-417a-8c74-25a70d6299d9", + "last_modified": 1649248709738 + }, + { + "stash": { + "blocked": [ "sp@FindingFormsPro:2.0.0", "sp@SpeedCheckerPlus:3.0.0", "sp@FindingFormsPro:1.0.7", diff -Nru thunderbird-91.8.0/services/settings/dumps/main/password-rules.json thunderbird-91.10.0/services/settings/dumps/main/password-rules.json --- thunderbird-91.8.0/services/settings/dumps/main/password-rules.json 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/services/settings/dumps/main/password-rules.json 2022-05-25 21:47:14.000000000 +0000 @@ -1,6 +1,306 @@ { "data": [ { + "Domain": "museumofflight.org", + "password-rules": "minlength: 8; maxlength: 15;", + "id": "1e25756f-80da-4fde-ac31-93e870adf079", + "last_modified": 1652712410939 + }, + { + "Domain": "ae.com", + "password-rules": "minlength: 8; maxlength: 25; required: lower; required: upper; required: digit;", + "id": "1b76634d-c4dc-467f-8b1d-458c0753faf1", + "last_modified": 1650898337595 + }, + { + "Domain": "app.digio.in", + "password-rules": "minlength: 8; maxlength: 15;", + "id": "9199eb80-2ea2-4efc-974a-13646cd9e2bf", + "last_modified": 1650898337590 + }, + { + "Domain": "app.parkmobile.io", + "password-rules": "minlength: 8; maxlength: 25; required: lower; required: upper; required: digit; required: [!@#$%^&];", + "id": "267bc941-86ee-4558-9d72-3f875ff0ac95", + "last_modified": 1650898337584 + }, + { + "Domain": "areariservata.bancaetica.it", + "password-rules": "minlength: 8; maxlength: 10; required: lower; required: upper; required: digit; required: [!#&*+/=@_];", + "id": "1316e054-4002-41b3-bb25-c2af275f1b48", + "last_modified": 1650898337579 + }, + { + "Domain": "bcassessment.ca", + "password-rules": "minlength: 8; maxlength: 14;", + "id": "2b72ecba-f8e4-4cc4-9c2c-01ad7b8eff60", + "last_modified": 1650898337573 + }, + { + "Domain": "belkin.com", + "password-rules": "minlength: 8; required: lower, upper; required: digit; required: [$!@~_,%&];", + "id": "89e880c3-2742-4802-bd33-ea506d3b7020", + "last_modified": 1650898337568 + }, + { + "Domain": "bilibili.com", + "password-rules": "maxlength: 16;", + "id": "3867a12f-b3e8-4343-94eb-6ddefba5b1a5", + "last_modified": 1650898337562 + }, + { + "Domain": "billerweb.com", + "password-rules": "minlength: 8; max-consecutive: 2; required: digit; required: upper,lower;", + "id": "6d89d12e-2ea9-4077-9dbc-c2566ccca370", + "last_modified": 1650898337557 + }, + { + "Domain": "bochk.com", + "password-rules": "minlength: 8; maxlength: 12; max-consecutive: 3; required: lower; required: upper; required: digit; allowed: [#$%&()*+,.:;<=>?@_];", + "id": "2a133fcd-fa66-473c-a09b-07014d0d3ccd", + "last_modified": 1650898337551 + }, + { + "Domain": "collectivehealth.com", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit;", + "id": "b86c63d8-60e4-4c8a-965d-56af269f6b76", + "last_modified": 1650898337546 + }, + { + "Domain": "dan.org", + "password-rules": "minlength: 8; maxlength: 25; required: lower; required: upper; required: digit; required: [!@$%^&*];", + "id": "b7ca591b-c242-4520-a849-ccd74a90076a", + "last_modified": 1650898337540 + }, + { + "Domain": "dbs.com.hk", + "password-rules": "minlength: 8; maxlength: 30; required: lower; required: upper; required: digit;", + "id": "fe2f51c2-8ccb-4ee4-97cb-73288337f6ab", + "last_modified": 1650898337535 + }, + { + "Domain": "equifax.com", + "password-rules": "minlength: 8; maxlength: 20; required: lower; required: upper; required: digit; required: [!$*+@];", + "id": "ce20ebcc-b423-45f5-9643-f4651c55a133", + "last_modified": 1650898337530 + }, + { + "Domain": "fidelity.com", + "password-rules": "minlength: 6; maxlength: 20; required: lower; allowed: upper,digit,[!$%'()+,./:;=?@^_|~];", + "id": "51bcb63b-7da1-4dd5-a024-e395d32e3c36", + "last_modified": 1650898337524 + }, + { + "Domain": "flysas.com", + "password-rules": "minlength: 8; maxlength: 14; required: lower; required: upper; required: digit; required: [-~!@#$%^&_+=`|(){}[:\"'<>,.?]];", + "id": "c7b74d79-d787-4575-bfb4-92b531f422d9", + "last_modified": 1650898337519 + }, + { + "Domain": "gamestop.com", + "password-rules": "minlength: 8; maxlength: 225; required: lower; required: upper; required: digit; required: [!@#$%];", + "id": "ef9def1f-a244-4cc1-8937-f42865ce62c7", + "last_modified": 1650898337513 + }, + { + "Domain": "hangseng.com", + "password-rules": "minlength: 8; maxlength: 30; required: lower; required: upper; required: digit;", + "id": "bb13b29e-8fa0-4d68-b400-e546834a30a7", + "last_modified": 1650898337508 + }, + { + "Domain": "hkbea.com", + "password-rules": "minlength: 8; maxlength: 12; required: lower; required: upper; required: digit;", + "id": "a771074d-6e15-42aa-811a-731930d173b5", + "last_modified": 1650898337502 + }, + { + "Domain": "hkexpress.com", + "password-rules": "minlength: 8; maxlength: 15; required: lower; required: upper; required: digit; required: special;", + "id": "94abbd2d-2201-43f1-b3c8-33900f207b4c", + "last_modified": 1650898337497 + }, + { + "Domain": "hsbc.com.hk", + "password-rules": "minlength: 6; maxlength: 30; required: lower; required: upper; required: digit; allowed: ['.@_];", + "id": "b657a5f0-268c-4acd-85fe-5085bcdb380c", + "last_modified": 1650898337492 + }, + { + "Domain": "kfc.ca", + "password-rules": "minlength: 6; maxlength: 15; required: lower; required: upper; required: digit; required: [!@#$%&?*];", + "id": "ca2e08a6-cc00-47a4-8517-737552dfedab", + "last_modified": 1650898337486 + }, + { + "Domain": "launtel.net.au", + "password-rules": "minlength: 8; required: digit; required: digit; allowed: lower, upper;", + "id": "eede7e13-6f0b-408a-bf1d-292130631834", + "last_modified": 1650898337480 + }, + { + "Domain": "lg.com", + "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit; allowed: [-!#$%&'()*+,.:;=?@[^_{|}~]];", + "id": "fb2b3324-dd2d-4518-a309-af50f685689a", + "last_modified": 1650898337475 + }, + { + "Domain": "lloydsbank.co.uk", + "password-rules": "minlength: 8; maxlength: 15; required: lower; required: digit; allowed: upper;", + "id": "56265f6f-6348-4900-8abf-07c4ab2e1c72", + "last_modified": 1650898337470 + }, + { + "Domain": "loyalty.accor.com", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [!#$%&=@];", + "id": "403e9c7d-1dbc-44f4-a825-81aa4127afca", + "last_modified": 1650898337464 + }, + { + "Domain": "lsacsso.b2clogin.com", + "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit, [-!#$%&*?@^_];", + "id": "369eb957-3b3f-4377-ac76-52026dfffbfa", + "last_modified": 1650898337458 + }, + { + "Domain": "medicare.gov", + "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit; required: [@!$%^*()];", + "id": "27a56617-f363-4455-a60c-8582af732012", + "last_modified": 1650898337453 + }, + { + "Domain": "mpv.tickets.com", + "password-rules": "minlength: 8; maxlength: 15; required: lower; required: upper; required: digit;", + "id": "9deab323-bc0f-4433-bbc3-e4d26dbfa7e0", + "last_modified": 1650898337448 + }, + { + "Domain": "my.konami.net", + "password-rules": "minlength: 8; maxlength: 32; required: lower; required: upper; required: digit;", + "id": "6a62b70b-6412-4ff4-945a-168dfc38b634", + "last_modified": 1650898337443 + }, + { + "Domain": "order.wendys.com", + "password-rules": "minlength: 6; maxlength: 20; required: lower; required: upper; required: digit; allowed: [!#$%&()*+/=?^_{}];", + "id": "57882459-1180-4faf-a8dd-c7475bcfeb0f", + "last_modified": 1650898337437 + }, + { + "Domain": "preferredhotels.com", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [!#$%&()*+@^_];", + "id": "4290b8b6-dd7c-431b-a4cb-36e661f72423", + "last_modified": 1650898337432 + }, + { + "Domain": "premier.ticketek.com.au", + "password-rules": "minlength: 6; maxlength: 16;", + "id": "26b1c942-2d06-496b-984b-65044ad2f1ab", + "last_modified": 1650898337427 + }, + { + "Domain": "premierinn.com", + "password-rules": "minlength: 8; required: upper; required: digit; allowed: lower;", + "id": "f6663626-8861-4bfc-a704-5ff1e23e9e22", + "last_modified": 1650898337421 + }, + { + "Domain": "prestocard.ca", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit,[!\"#$%&'()*+,<>?@];", + "id": "ed580dc6-16af-4ec5-8ae2-b40fe99f0260", + "last_modified": 1650898337416 + }, + { + "Domain": "questdiagnostics.com", + "password-rules": "minlength: 8; maxlength: 30; required: upper, lower; required: digit, [!#$%&()*+<>?@^_~];", + "id": "a331ccb9-a2b8-44dd-bc35-0878eb51b4fe", + "last_modified": 1650898337411 + }, + { + "Domain": "renaud-bray.com", + "password-rules": "minlength: 8; maxlength: 38; allowed: upper,lower,digit;", + "id": "210a8aea-1089-487d-bcaa-3c937374f650", + "last_modified": 1650898337405 + }, + { + "Domain": "rogers.com", + "password-rules": "minlength: 8; required: lower, upper; required: digit; required: [!@#$];", + "id": "a13b20d6-0b68-4a05-866a-e8a14adee208", + "last_modified": 1650898337400 + }, + { + "Domain": "ruc.dk", + "password-rules": "minlength: 6; maxlength: 8; required: lower, upper; required: [-!#%&(){}*+;%/<=>?_];", + "id": "85d4c3e2-7f8c-480d-a20e-c55aee12a2e7", + "last_modified": 1650898337394 + }, + { + "Domain": "runescape.com", + "password-rules": "minlength: 5; maxlength: 20; required: lower; required: upper; required: digit;", + "id": "e14ecd5a-951f-4c27-bf45-0ee3fb830032", + "last_modified": 1650898337389 + }, + { + "Domain": "salslimo.com", + "password-rules": "minlength: 8; maxlength: 50; required: upper; required: lower; required: digit; required: [!@#$&*];", + "id": "afa90771-c472-48cc-96d3-21c770bb958c", + "last_modified": 1650898337384 + }, + { + "Domain": "secure.snnow.ca", + "password-rules": "minlength: 7; maxlength: 16; required: digit; allowed: lower, upper;", + "id": "f6a3e835-190e-4043-a070-943d821f708e", + "last_modified": 1650898337378 + }, + { + "Domain": "tix.soundrink.com", + "password-rules": "minlength: 6; maxlength: 16;", + "id": "0cb09a67-566e-492c-a4d7-af473e964472", + "last_modified": 1650898337373 + }, + { + "Domain": "training.confluent.io", + "password-rules": "minlength: 6; maxlength: 16; required: lower; required: upper; required: digit; allowed: [!#$%*@^_~];", + "id": "d00c2ee9-6f05-495c-9833-bae526019ddc", + "last_modified": 1650898337368 + }, + { + "Domain": "usps.com", + "password-rules": "minlength: 8; maxlength: 50; max-consecutive: 2; required: lower; required: upper; required: digit; allowed: [-!\"#&'()+,./?@];", + "id": "caacf36d-df98-43ab-8d5c-d7d40d79d696", + "last_modified": 1650898337362 + }, + { + "Domain": "visabenefits-auth.axa-assistance.us", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [!\"#$%&()*,.:<>?@^{|}];", + "id": "3afe232d-ff3d-4e3d-b6bd-da947dac7884", + "last_modified": 1650898337357 + }, + { + "Domain": "wegmans.com", + "password-rules": "minlength: 8; required: digit; required: upper,lower; required: [!#$%&*+=?@^];", + "id": "d7036bd9-5301-43a1-b427-25a876ff4c07", + "last_modified": 1650898337352 + }, + { + "Domain": "xvoucher.com", + "password-rules": "minlength: 11; required: upper; required: digit; required: [!@#$%&_];", + "id": "85cc3546-8a5c-4400-bd01-c0386897a442", + "last_modified": 1650898337346 + }, + { + "Domain": "zara.com", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit;", + "id": "4496846f-b282-4965-97f8-97c2b814881a", + "last_modified": 1650898337341 + }, + { + "Domain": "americanexpress.com", + "password-rules": "minlength: 8; maxlength: 20; max-consecutive: 4; required: lower, upper; required: digit; allowed: [%&_?#=];", + "id": "986919ff-d801-45f6-ab75-af40e0c9e0ad", + "last_modified": 1650898337335 + }, + { "Domain": "163.com", "password-rules": "minlength: 6; maxlength: 16;", "id": "df352506-8729-494d-bfad-525d90380416", @@ -61,12 +361,6 @@ "last_modified": 1624479577522 }, { - "Domain": "americanexpress.com", - "password-rules": "minlength: 8; maxlength: 20; max-consecutive: 4; required: lower, upper; required: digit; allowed: [-%&_?#=];", - "id": "986919ff-d801-45f6-ab75-af40e0c9e0ad", - "last_modified": 1624479577517 - }, - { "Domain": "anatel.gov.br", "password-rules": "minlength: 6; maxlength: 15; allowed: lower, upper, digit;", "id": "d3c8fbd7-3b79-4132-93f1-7d0d97f99a3e", diff -Nru thunderbird-91.8.0/services/settings/dumps/main/websites-with-shared-credential-backends.json thunderbird-91.10.0/services/settings/dumps/main/websites-with-shared-credential-backends.json --- thunderbird-91.8.0/services/settings/dumps/main/websites-with-shared-credential-backends.json 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/services/settings/dumps/main/websites-with-shared-credential-backends.json 2022-05-25 21:47:08.000000000 +0000 @@ -3,16 +3,23 @@ { "relatedRealms": [ [ + "3docean.net", + "audiojungle.net", + "codecanyon.net", + "envato.com", + "graphicriver.net", + "photodune.net", + "placeit.net", + "themeforest.net", + "tutsplus.com", + "videohive.net" + ], + [ "aa.com", "americanairlines.com", "americanairlines.jp" ], [ - "airfrance.com", - "klm.com", - "flyingblue.com" - ], - [ "aetna.com", "banneraetna.myplanportal.com" ], @@ -72,6 +79,33 @@ "airbnb.co.ve" ], [ + "airfrance.com", + "klm.com", + "flyingblue.com" + ], + [ + "airnewzealand.co.nz", + "airnewzealand.com", + "airnewzealand.com.au" + ], + [ + "albertsons.com", + "acmemarkets.com", + "carrsqc.com", + "jewelosco.com", + "pavilions.com", + "randalls.com", + "safeway.com", + "shaws.com", + "starmarket.com", + "tomthumb.com", + "vons.com" + ], + [ + "alibaba.com", + "aliexpress.com" + ], + [ "alltrails.com", "alltrails.io" ], @@ -93,7 +127,8 @@ "amazon.sa", "amazon.sg", "amazon.se", - "amazon.pl" + "amazon.pl", + "ring.com" ], [ "amcrestcloud.com", @@ -118,14 +153,26 @@ "icloud.com" ], [ + "atlassian.com", + "trello.com" + ], + [ "att.com", "att.net" ], [ + "audi.com", + "audiusa.com" + ], + [ "bahn.de", "bahn.com" ], [ + "battle.net", + "blizzard.com" + ], + [ "beachbodyondemand.com", "teambeachbody.com" ], @@ -148,14 +195,22 @@ "whistlerblackcomb.com" ], [ - "battle.net", - "blizzard.com" + "boingo.com", + "boingohotspot.com" + ], + [ + "bol.com", + "kobo.com" ], [ "boudinbakery.com", "boudincatering.com" ], [ + "braze.com", + "braze.eu" + ], + [ "capitalone.com", "capitalone360.com" ], @@ -188,8 +243,12 @@ "dinersclubus.com" ], [ - "discord.com", - "discordapp.com" + "discordapp.com", + "discord.com" + ], + [ + "discordmerch.com", + "discord.store" ], [ "dish.com", @@ -205,6 +264,15 @@ "getdropbox.com" ], [ + "e.leclerc", + "auto.leclerc", + "location.leclerc", + "chezmoi.lelcerc", + "traiteur.lelcerc", + "mesrecettes.lelcerc", + "leclercdrive.fr" + ], + [ "eater.com", "polygon.com", "sbnation.com", @@ -235,6 +303,10 @@ "ebay.vn" ], [ + "eurosport.no", + "eurosportplayer.com" + ], + [ "eventbrite.at", "eventbrite.be", "eventbrite.ca", @@ -267,6 +339,14 @@ "fandango.com" ], [ + "fidelity.com", + "fidelityinvestments.com" + ], + [ + "flyblade.com", + "blade.com" + ], + [ "fnac.com", "fnacspectacles.com" ], @@ -288,6 +368,20 @@ "gogoinflight.com" ], [ + "hbo.com", + "hbomax.com", + "hbonow.com" + ], + [ + "igen.fr", + "watchgeneration.fr", + "macg.co" + ], + [ + "ikonpass.com", + "skilynx.com" + ], + [ "intuit.com", "mint.com" ], @@ -320,6 +414,12 @@ "lookmark.link" ], [ + "lrz.de", + "mwn.de", + "mytum.de", + "tum.de" + ], + [ "lufthansa.com", "miles-and-more.com" ], @@ -336,7 +436,8 @@ "microsoftonline.com", "office.com", "skype.com", - "onenote.com" + "onenote.com", + "hotmail.com" ], [ "minecraft.net", @@ -347,6 +448,20 @@ "tccna.honeywell.com" ], [ + "myuhc.com", + "uhc.com", + "optum.com", + "optumrx.com" + ], + [ + "neatorama.com", + "neatoshop.com" + ], + [ + "newyorker.com", + "vanityfair.com" + ], + [ "nintendolife.com", "purexbox.com", "pushsquare.com" @@ -358,12 +473,17 @@ "nsn.com" ], [ - "norwegianreward.com", - "norwegian.com" + "nordvpn.com", + "nordpass.com", + "nordaccount.com" ], [ - "optumrx.com", - "optum.com" + "norwegian.com", + "norwegianreward.com" + ], + [ + "olo.com", + "olo.express" ], [ "pinterest.com", @@ -404,10 +524,26 @@ "protonvpn.com" ], [ + "qnap.com", + "myqnapcloud.com" + ], + [ + "questdiagnostics.com", + "care360.com" + ], + [ + "rocketaccount.com", + "rocketmortgage.com" + ], + [ "scholarshare529.com", "secureaccountview.com" ], [ + "scoutingevent.com", + "campreservation.com" + ], + [ "scribbr.com", "scribbr.de", "scribbr.dk", @@ -431,7 +567,9 @@ [ "shopdisney.com", "go.com", - "disneyplus.com" + "disneyplus.com", + "espn.com", + "disneystore.com" ], [ "slcl.overdrive.com", @@ -485,10 +623,6 @@ "tplinkcloud.com" ], [ - "uhc.com", - "myuhc.com" - ], - [ "umsystem.edu", "mst.edu", "umkc.edu", @@ -500,6 +634,11 @@ "unitedwifi.com" ], [ + "uspowerboating.com", + "ussailing.org" + ], + [ + "verizon.com", "verizonwireless.com", "vzw.com" ], @@ -512,14 +651,14 @@ "birchlane.com" ], [ - "wiimmfi.de", - "wii-homebrew.com" - ], - [ "wellsfargo.com", "wellsfargoadvisors.com" ], [ + "wiimmfi.de", + "wii-homebrew.com" + ], + [ "wikipedia.org", "mediawiki.org", "wikibooks.org", @@ -558,10 +697,22 @@ [ "wsj.com", "dowjones.com" + ], + [ + "www.vistaprint.ca", + "account.vistaprint.com" + ], + [ + "yahoo.com", + "flickr.com" + ], + [ + "zixmail.net", + "zixmessagecenter.com" ] ], "id": "8c3d4151-8e68-4bb3-a3fd-babf4aba2cdc", - "last_modified": 1624479523629 + "last_modified": 1650898092205 } ] } diff -Nru thunderbird-91.8.0/services/settings/dumps/security-state/intermediates.json thunderbird-91.10.0/services/settings/dumps/security-state/intermediates.json --- thunderbird-91.8.0/services/settings/dumps/security-state/intermediates.json 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/services/settings/dumps/security-state/intermediates.json 2022-05-25 21:47:14.000000000 +0000 @@ -1,7 +1,2311 @@ { "data": [ { - "schema": 1648176526823, + "schema": 1653145078285, + "derHash": "EbbbW2jc3zRHmufnt7uqcWWQVXetg9R08ruXF84kTOo=", + "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA H2 2021,O=Globalsign nv-sa,C=BE", + "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIEgyIDIwMjE=", + "whitelist": false, + "attachment": { + "hash": "9cf02d5a547d487093c6600cddc45835d2265d1a9e325589d4fc84f0f6d7d961", + "size": 1715, + "filename": "xecaLv-HFBkn7bPt0j9a3x6oQIAxlTk0PaC8CEgAAK8=.pem", + "location": "security-state-staging/intermediates/60d13cbe-72e2-4434-bd54-82eab5032874.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "xecaLv+HFBkn7bPt0j9a3x6oQIAxlTk0PaC8CEgAAK8=", + "crlite_enrolled": true, + "id": "ff529e2f-a01e-4a10-b6be-ec1b7f25db92", + "last_modified": 1653188230074 + }, + { + "schema": 1653180533760, + "derHash": "UmbXFlEZYo+VWaFWUGDiz78hNU4ctyrGbHVbnunxkC0=", + "subject": "CN=DNSPod RSA OV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBSU0EgT1Y=", + "whitelist": false, + "attachment": { + "hash": "94a4db0a847ed1705af8b348555d54f2571d4dc67b870acf3622e4db1a41a1e5", + "size": 2231, + "filename": "xTgRLpThRByRVHJot49FqWpbMVYiv8384ejqkJOJbFc=.pem", + "location": "security-state-staging/intermediates/fefa5d10-d98f-4287-9506-4f85b5b19311.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "xTgRLpThRByRVHJot49FqWpbMVYiv8384ejqkJOJbFc=", + "crlite_enrolled": true, + "id": "5e15deb4-1340-4b98-b021-7c82087df0ad", + "last_modified": 1653188230063 + }, + { + "schema": 1653180533921, + "derHash": "vf2E2QKq0BDE4IExd1r7c2VpTugcm4ri33ZBnz7fG+E=", + "subject": "CN=TrustSign BR Certification Authority (OV) 2,O=TrustSign Certificadora Dig. & Soluções Segurança da Inf. Ltda.,L=São José dos Campos,ST=São Paulo,C=BR", + "subjectDN": "MIHFMQswCQYDVQQGEwJCUjETMBEGA1UECAwKU8OjbyBQYXVsbzEeMBwGA1UEBwwVU8OjbyBKb3PDqSBkb3MgQ2FtcG9zMUswSQYDVQQKDEJUcnVzdFNpZ24gQ2VydGlmaWNhZG9yYSBEaWcuICYgU29sdcOnw7VlcyBTZWd1cmFuw6dhIGRhIEluZi4gTHRkYS4xNDAyBgNVBAMTK1RydXN0U2lnbiBCUiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAoT1YpIDI=", + "whitelist": false, + "attachment": { + "hash": "d3dc3d5cc6b731efb8dd4582c2ff3a8a8908962642aa4824f4b90b58832e90cd", + "size": 2251, + "filename": "YH8nyVlvrD15SoA59nrCYN5KN2y2Xz-fJ5K-uBAfl1Y=.pem", + "location": "security-state-staging/intermediates/c00b8ed3-5bd7-4213-8c0b-7b171e5b524a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "YH8nyVlvrD15SoA59nrCYN5KN2y2Xz+fJ5K+uBAfl1Y=", + "crlite_enrolled": true, + "id": "4d16fbc3-1ed1-40c0-940d-7abe6b7f2408", + "last_modified": 1653188230051 + }, + { + "schema": 1652801130545, + "derHash": "+C+LUJZ8ClLp2Bt5qQ/+uOUVt4FKXl3i8msPavb+dTE=", + "subject": "CN=AlpiroSSL ECC EV CA,O=Alpiro s.r.o.,C=CZ", + "subjectDN": "MEMxCzAJBgNVBAYTAkNaMRYwFAYDVQQKEw1BbHBpcm8gcy5yLm8uMRwwGgYDVQQDExNBbHBpcm9TU0wgRUNDIEVWIENB", + "whitelist": false, + "attachment": { + "hash": "bf09308f3a01e9ddf3ae677edf6cd8e3a11e9e3c0c419fe2bfaa997e33c16acf", + "size": 1293, + "filename": "GnXFLd5ceheMJdGnZvJlKLtfXp4UjCGVFGe713NdmTc=.pem", + "location": "security-state-staging/intermediates/d7c0e80f-aa6c-44df-b808-6229806536ea.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "GnXFLd5ceheMJdGnZvJlKLtfXp4UjCGVFGe713NdmTc=", + "crlite_enrolled": false, + "id": "82d0865f-c1b7-488f-b20d-26edea9b53e9", + "last_modified": 1652846250748 + }, + { + "schema": 1652723070188, + "derHash": "2n5XePYvh2Vbj9JKieZR5XMp3JwHZacRWM5WRDykTpU=", + "subject": "CN=DigiCert Extended Validation CA-3 G3,OU=www.digicert.com,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MHAxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEtMCsGA1UEAxMkRGlnaUNlcnQgRXh0ZW5kZWQgVmFsaWRhdGlvbiBDQS0zIEcz", + "whitelist": false, + "attachment": { + "hash": "6844a48cc10ea1a880af9e0aea02a3fc4be2786b3ce299bd1644cd2fc49c1f64", + "size": 1187, + "filename": "epA52XxQ9Mrum63GbS8dL1dkTIzeOueiCw6jHr7t_u8=.pem", + "location": "security-state-staging/intermediates/5d0c77a4-ad61-4b2d-9500-0ed1ce697602.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "epA52XxQ9Mrum63GbS8dL1dkTIzeOueiCw6jHr7t/u8=", + "crlite_enrolled": false, + "id": "9bd31525-cabf-4b0e-acc5-1952d08e7761", + "last_modified": 1652759882916 + }, + { + "schema": 1652389030686, + "derHash": "ayP62JAYDDN7hkFV2uDem62e8L2njREvLL3D0CrReVY=", + "subject": "CN=NetLock Üzleti (Class B) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", + "subjectDN": "MIGpMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE3MDUGA1UEAwwuTmV0TG9jayDDnHpsZXRpIChDbGFzcyBCKSBUYW7DunPDrXR2w6FueWtpYWTDsw==", + "whitelist": false, + "attachment": { + "hash": "573f7ca4199a4ab7b67cf4b5b1c8e25a89da7c93d3296ece5e8301e5bf64c39b", + "size": 2182, + "filename": "1YROuDznuNvrat3sL9gwGR124PRLocGQQWd6IoM50Ls=.pem", + "location": "security-state-staging/intermediates/5ae11eb3-59e2-4f2f-a3ad-09d610869295.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "1YROuDznuNvrat3sL9gwGR124PRLocGQQWd6IoM50Ls=", + "crlite_enrolled": false, + "id": "1a8145a6-66a3-4c40-914b-e027086ea091", + "last_modified": 1652540239008 + }, + { + "schema": 1652539714356, + "derHash": "NyuPTOc77fyIcYxAe7az5tj5p5vpVxkNDnEBx7DvmjI=", + "subject": "CN=NetLock Expressz (Class C) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", + "subjectDN": "MIGqMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE4MDYGA1UEAwwvTmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFuw7pzw610dsOhbnlraWFkw7M=", + "whitelist": false, + "attachment": { + "hash": "96ba448b3b21c633bd5e293f4383a8b88b67e802476a48d48ba20ffa8359a5ce", + "size": 2182, + "filename": "KS2adY6eMaWNhbLW6JREO3Oo34Qy_UvmA5f-f4ROpYw=.pem", + "location": "security-state-staging/intermediates/6380c544-10af-435b-ae2d-adad842694a3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "KS2adY6eMaWNhbLW6JREO3Oo34Qy/UvmA5f+f4ROpYw=", + "crlite_enrolled": false, + "id": "522256d0-e9e9-44e9-b35d-221ddf453cad", + "last_modified": 1652540238996 + }, + { + "schema": 1652367450587, + "derHash": "lzpBJ2/9AeAnoqrUnjTDeEbT6Xb/amILZxLjODIEGqY=", + "subject": "CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US", + "subjectDN": "MIG0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xLTArBgNVBAsTJGh0dHA6Ly9jZXJ0cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkgU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcy", + "whitelist": false, + "attachment": { + "hash": "a111efc20329e87b541cfc3e7f526fc54bb24624fddf210f4347b9fadfb1ab6b", + "size": 1727, + "filename": "8Rw90Ej3Ttt8RRkrg-WYDS9n7IS03bk5bjP_UXPtaY8=.pem", + "location": "security-state-staging/intermediates/a2a04dfe-6201-4d0a-b8cf-80d2975bfb51.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8Rw90Ej3Ttt8RRkrg+WYDS9n7IS03bk5bjP/UXPtaY8=", + "crlite_enrolled": true, + "id": "549c92e2-3738-4c8c-ae37-407e4e6158ce", + "last_modified": 1652389030230 + }, + { + "schema": 1651899431911, + "derHash": "MTH/29ln180dd3Qq+XcvEFH/TJrkE3WfQ0/h6BERngM=", + "subject": "CN=TrustOcean EV SSL CA - RSA - 2019,OU=Controlled by Sectigo exclusively for TrustOcean Ltd.+OU=RSA Extended Validation Secure Server - 2019,O=TrustOcean Ltd.,L=Denver,ST=CO,C=US", + "subjectDN": "MIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ08xDzANBgNVBAcTBkRlbnZlcjEYMBYGA1UEChMPVHJ1c3RPY2VhbiBMdGQuMT4wPAYDVQQLEzVDb250cm9sbGVkIGJ5IFNlY3RpZ28gZXhjbHVzaXZlbHkgZm9yIFRydXN0T2NlYW4gTHRkLjE1MDMGA1UECxMsUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciAtIDIwMTkxKjAoBgNVBAMTIVRydXN0T2NlYW4gRVYgU1NMIENBIC0gUlNBIC0gMjAxOQ==", + "whitelist": false, + "attachment": { + "hash": "bb57de69afc6d6f5f59b1c80758edf0ef1791b7a08530fed8903ef18cd25188e", + "size": 2324, + "filename": "uG18SfTnbrT8g2zCkpa7kWClIcTyqEW_1iPtChk9nTQ=.pem", + "location": "security-state-staging/intermediates/6020590f-b065-482b-9549-d56eb98c4b60.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uG18SfTnbrT8g2zCkpa7kWClIcTyqEW/1iPtChk9nTQ=", + "crlite_enrolled": false, + "id": "12413a5f-6a98-4669-8438-f936d9b86ea3", + "last_modified": 1652065037366 + }, + { + "schema": 1651719453215, + "derHash": "DWMgSDbsyonvv0d2uOvDKACBMbldcKknr+bw4emu1Ig=", + "subject": "CN=ZoTrus ECC OV SSL CA,O=ZoTrus Technology Limited,C=CN", + "subjectDN": "MFAxCzAJBgNVBAYTAkNOMSIwIAYDVQQKExlab1RydXMgVGVjaG5vbG9neSBMaW1pdGVkMR0wGwYDVQQDExRab1RydXMgRUNDIE9WIFNTTCBDQQ==", + "whitelist": false, + "attachment": { + "hash": "a2284106a606bc666bf93756cf85c68302222a8b5b3cc118f7ab3a57bcba9ea8", + "size": 1240, + "filename": "kMFHAfR4b2U_8eFzUzC98IWCVy6jfhYT7KhWmUMfFZc=.pem", + "location": "security-state-staging/intermediates/f12b578e-b704-425f-a0d8-d08080a40762.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "kMFHAfR4b2U/8eFzUzC98IWCVy6jfhYT7KhWmUMfFZc=", + "crlite_enrolled": true, + "id": "da380fd2-3da8-422f-9f3e-70dae67eb537", + "last_modified": 1651899431461 + }, + { + "schema": 1651898965291, + "derHash": "9dTK1Ts/LvOYENptPNX/dmP0q7h3OIJ8zsr/b8w+r8Q=", + "subject": "CN=MSFT RS256 CA-1,O=Microsoft Corporation,C=US", + "subjectDN": "MEcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xGDAWBgNVBAMTD01TRlQgUlMyNTYgQ0EtMQ==", + "whitelist": false, + "attachment": { + "hash": "a023fc76ccc16c88e584716119317138d7bdceaf8896157e4bb9aa525e227e9b", + "size": 1695, + "filename": "4dcjodQDXb57s8lG7TLWD3Xe9ytnPSATT61TJbQtAwI=.pem", + "location": "security-state-staging/intermediates/dbe4ae7c-598c-423b-a4f2-aa6674a8ec18.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "4dcjodQDXb57s8lG7TLWD3Xe9ytnPSATT61TJbQtAwI=", + "crlite_enrolled": true, + "id": "50064930-2d6a-442e-8edb-9151ed42396b", + "last_modified": 1651899431450 + }, + { + "schema": 1651718923725, + "derHash": "kqX1Fa0106J8SQ7bE13nBEseOZ1gisGr6IP8gvtLFr4=", + "subject": "CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MFwxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE0MDIGA1UEAxMrUmFwaWRTU0wgR2xvYmFsIFRMUyBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "92ad0528387f762c0d47a1b2aef3a70165915785e79a7440136f35f50719e121", + "size": 2068, + "filename": "lPraBjD-VHks5_sVEDOczhg00z9TGoGMAjndDyYGUNU=.pem", + "location": "security-state-staging/intermediates/9feab4a5-669f-46c9-9f31-2d561a1fc8de.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "lPraBjD+VHks5/sVEDOczhg00z9TGoGMAjndDyYGUNU=", + "crlite_enrolled": false, + "id": "5fb2df13-ba06-48c8-b568-679d6edd2144", + "last_modified": 1651719452752 + }, + { + "schema": 1651718922829, + "derHash": "p5cQigWtkyhYX8DLhC+9gk+sZRC41+tP9HmR7uWKqSQ=", + "subject": "CN=GeoTrust Global TLS RSA4096 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MFwxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE0MDIGA1UEAxMrR2VvVHJ1c3QgR2xvYmFsIFRMUyBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "7debe4651a89d772bd8a304272699c20eda3b8d40eee9e84a3ccd55f8c63f444", + "size": 2068, + "filename": "aZeR2aS2g2bguhPzWzTQqUq9OCf4tXk7VWrF6R_zJkM=.pem", + "location": "security-state-staging/intermediates/d15529f9-49a2-467b-aaff-3eba01eb9996.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "aZeR2aS2g2bguhPzWzTQqUq9OCf4tXk7VWrF6R/zJkM=", + "crlite_enrolled": false, + "id": "93e60034-59ff-49c4-a646-358a9907c217", + "last_modified": 1651719452744 + }, + { + "schema": 1651244234473, + "derHash": "bVWNIt3W7UyhPucS/UKvIpTyycbXATwyRxD/uNjzb6k=", + "subject": "CN=Quantum Secure Site OV TLS RSA R1,O=Quantum CA Limited,C=GB", + "subjectDN": "MFYxCzAJBgNVBAYTAkdCMRswGQYDVQQKDBJRdWFudHVtIENBIExpbWl0ZWQxKjAoBgNVBAMMIVF1YW50dW0gU2VjdXJlIFNpdGUgT1YgVExTIFJTQSBSMQ==", + "whitelist": false, + "attachment": { + "hash": "4b736d8bf2429327ac547ed2eb1ddf79a0caa2ace478f955e02127eec63d403b", + "size": 2389, + "filename": "hLf9YhON-ykf9-ab3rrdyhkLe63PWjIvsvghrHEnILA=.pem", + "location": "security-state-staging/intermediates/0f82d056-d837-49b4-9cdd-d5d76a9b1a35.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "hLf9YhON+ykf9+ab3rrdyhkLe63PWjIvsvghrHEnILA=", + "crlite_enrolled": false, + "id": "1fba5287-1ee9-49bb-8756-3e120f3f4896", + "last_modified": 1651352246094 + }, + { + "schema": 1651243731947, + "derHash": "UscwCUvRr5jslRBbbVjwm78ICoZh/vA8Xn4xwccao54=", + "subject": "CN=TrustAsia ECC DV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgRUNDIERWIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "478efe9c3c15d76a274b7b94340eb3b4a5aa70c20a0d5cbaac979c3993097d60", + "size": 1256, + "filename": "8U_3Q2XOjlBspygbt3HFvzxWcbklTeiwjAtB025Rr1I=.pem", + "location": "security-state-staging/intermediates/e18b71a8-f92d-4225-816e-66e332620f39.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8U/3Q2XOjlBspygbt3HFvzxWcbklTeiwjAtB025Rr1I=", + "crlite_enrolled": false, + "id": "1228f9f3-de33-42cc-9741-c4a0535147ed", + "last_modified": 1651244234008 + }, + { + "schema": 1651243731025, + "derHash": "RVgDgOS8DZcoyfMJite2CrJyEtD/FCAgxSMIkauEcb4=", + "subject": "CN=DNSPod RSA EV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBSU0EgRVY=", + "whitelist": false, + "attachment": { + "hash": "2fbf8fa0a58d0aee7cbc48f7c55c2f85f115b12aadcfb15a24a9f64c1c6805f5", + "size": 2219, + "filename": "7tlcAe1zc6UEu0ycBSzrKSHgelMORRz0zuoxf5grv3A=.pem", + "location": "security-state-staging/intermediates/61082769-e7e7-4c7a-a611-2dfbde36eeae.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "7tlcAe1zc6UEu0ycBSzrKSHgelMORRz0zuoxf5grv3A=", + "crlite_enrolled": false, + "id": "308cdddb-bce6-4c09-93bd-f689f76af0fe", + "last_modified": 1651244234001 + }, + { + "schema": 1651243728381, + "derHash": "Ju073hkw2MU87NGz1QsNe/0vRDnJ7cjXCHYe1v5doKs=", + "subject": "CN=DNSPod RSA DV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBSU0EgRFY=", + "whitelist": false, + "attachment": { + "hash": "7642f6824be11258ea3f0461090541db4e35b54673ba2828a4a659aeb6a708c4", + "size": 2231, + "filename": "v6XUDOez9KzX6ugG6Y6NOWiaa_DRl8DzRlXbI58Od9k=.pem", + "location": "security-state-staging/intermediates/5f0a95c5-9d8e-4c78-9d1f-196ef8cc6902.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "v6XUDOez9KzX6ugG6Y6NOWiaa/DRl8DzRlXbI58Od9k=", + "crlite_enrolled": false, + "id": "6ffb2ec9-df2d-4929-b852-b0a2baf9dbfb", + "last_modified": 1651244233993 + }, + { + "schema": 1651243727502, + "derHash": "DlsAchtjwEpX4EE1pKkELElltPUMUF/ibTTg5xhV7kc=", + "subject": "CN=TrustAsia RSA DV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "ba644b4e970b564e35c343bd85c1f55b3a02c97618ea03227095daab7a78cf6c", + "size": 2268, + "filename": "B_N1Dbk37d8gadFssO90DgDkAmm6ZJJMG8xYPOwEHLM=.pem", + "location": "security-state-staging/intermediates/1e17e390-a9ef-44c1-a97e-33f792ea06ef.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "B/N1Dbk37d8gadFssO90DgDkAmm6ZJJMG8xYPOwEHLM=", + "crlite_enrolled": false, + "id": "754fd284-0877-48e4-8334-dfea0d1ba2bf", + "last_modified": 1651244233979 + }, + { + "schema": 1651243729229, + "derHash": "u69UbyjDANkG+qdhQV2XEpsddy5Jixfq1n46rUQ54/0=", + "subject": "CN=DNSPod ECC OV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBFQ0MgT1Y=", + "whitelist": false, + "attachment": { + "hash": "f51de2adcd277d82212f7ba2b81c3469c008db61ce0f650977b8fb5d867e8855", + "size": 1215, + "filename": "7ds1KNk3gHiDZE-zHMhKH0wvOfldhHNVm9yiuC-lHLA=.pem", + "location": "security-state-staging/intermediates/d4cbe4a7-1afd-48a6-b8fe-14515748caf4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "7ds1KNk3gHiDZE+zHMhKH0wvOfldhHNVm9yiuC+lHLA=", + "crlite_enrolled": false, + "id": "123a831f-1176-4d05-92b0-f531ca3e2ebe", + "last_modified": 1651244233972 + }, + { + "schema": 1651243725752, + "derHash": "FlqkMjFqqCbL6x56E+XpbrknevAQVYCnzuUhDwQl4FY=", + "subject": "CN=DNSPod ECC DV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBFQ0MgRFY=", + "whitelist": false, + "attachment": { + "hash": "917484046b08ddb16e5f4891f59d516b8db7d3d30f21cbf4cde560fd7c41912e", + "size": 1219, + "filename": "27O4Zhd_18oAKoYHojx2N40ZdxUC7hSU_D7DEzfjNJA=.pem", + "location": "security-state-staging/intermediates/e50dec77-38ef-4168-9577-b0585e2309c2.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "27O4Zhd/18oAKoYHojx2N40ZdxUC7hSU/D7DEzfjNJA=", + "crlite_enrolled": false, + "id": "b909a7ce-f134-4f57-b1b8-9e3782185240", + "last_modified": 1651244233965 + }, + { + "schema": 1651243726636, + "derHash": "Gh1Zs8/bhCOm4md+8V2fw9Dancz6Y39g6ubpt8iHyP0=", + "subject": "CN=DNSPod ECC EV,O=DNSPod\\, Inc.,C=CN", + "subjectDN": "MDwxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxETlNQb2QsIEluYy4xFjAUBgNVBAMTDUROU1BvZCBFQ0MgRVY=", + "whitelist": false, + "attachment": { + "hash": "2692ec914eee66f4e17bda0de59e931b3877a19e3726280a0f501ee2295374bd", + "size": 1207, + "filename": "O0m5yObV4fYLRVw9HYDQAt0LFs94XlBp0zKzD8rjXHQ=.pem", + "location": "security-state-staging/intermediates/56484c21-741c-45b4-b5f5-fb671af7ce51.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "O0m5yObV4fYLRVw9HYDQAt0LFs94XlBp0zKzD8rjXHQ=", + "crlite_enrolled": false, + "id": "90b19d80-2f05-483d-8d8c-cbd9e378f8f6", + "last_modified": 1651244233958 + }, + { + "schema": 1651243724871, + "derHash": "3p0HVlZ2OucIY3PrkBJuwkDk4ICJthw8mhsCXLb0EcM=", + "subject": "CN=TrustAsia RSA EV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIEVWIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "03503c28535cc81c9a010e5b081c743ffedf5cce0b9284e04ed6f51593305461", + "size": 2259, + "filename": "M-84feL1t2OKDBjPZhzIU3INxh8ASlHmFLa9vdUs-us=.pem", + "location": "security-state-staging/intermediates/02401f12-2384-4285-955f-52310dc955c7.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "M+84feL1t2OKDBjPZhzIU3INxh8ASlHmFLa9vdUs+us=", + "crlite_enrolled": false, + "id": "0ef219bc-fbe7-42d4-9137-8110f437ca67", + "last_modified": 1651244233951 + }, + { + "schema": 1651243723987, + "derHash": "p8CB4fjWyAxPPa5X3vlNEastamQ5+Yd14BACKpDW0eY=", + "subject": "CN=TrustAsia ECC EV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgRUNDIEVWIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "99502d77687be7445ef67afc31ea03c048c1846f96cd5dd63db403a76482e5ec", + "size": 1244, + "filename": "rV9R8mlMRJRagxoykbSDDNA73L2G7T4llh3vYjKsx60=.pem", + "location": "security-state-staging/intermediates/3a640792-8333-4d08-aac9-9484e165ae78.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "rV9R8mlMRJRagxoykbSDDNA73L2G7T4llh3vYjKsx60=", + "crlite_enrolled": false, + "id": "4a6491aa-4966-43ff-a10a-46acbc77c021", + "last_modified": 1651244233943 + }, + { + "schema": 1651243722147, + "derHash": "OXgI2rB2Wy0iSDH800v+VqQJPxTEinAHJ7sxp61CDLQ=", + "subject": "CN=TrustAsia ECC OV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgRUNDIE9WIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "0628e7fb6abad65d30b851eea91243cff7f96f162f6e9e99a8f2e14319f87de0", + "size": 1252, + "filename": "kVjrK6V1JscLjPoduH7ECVQLKek-gB3MuQ9evhN9eNI=.pem", + "location": "security-state-staging/intermediates/851b1982-bad1-48c9-8ad3-2ebdf8db6940.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "kVjrK6V1JscLjPoduH7ECVQLKek+gB3MuQ9evhN9eNI=", + "crlite_enrolled": false, + "id": "12dc1ddf-21cf-48f3-a951-66c500745442", + "last_modified": 1651244233936 + }, + { + "schema": 1651243723059, + "derHash": "5Iksmktuk5Pr3+3LwvoHt8a0gKKRXGb0cJnm8v/pocU=", + "subject": "CN=TrustAsia RSA OV TLS CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIE9WIFRMUyBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "cb6dac2259c0487b1043568b04bbf032ce9be308e3815c4480a31d3c435b5f70", + "size": 2268, + "filename": "AjHoEUjfOt4P9CmQ3Tl9YEcwEf694_AE-BWBxOtPfxE=.pem", + "location": "security-state-staging/intermediates/29f2fb58-8f83-41f5-ad6e-736a5a05440d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "AjHoEUjfOt4P9CmQ3Tl9YEcwEf694/AE+BWBxOtPfxE=", + "crlite_enrolled": false, + "id": "d48c9d5c-1dd4-4df5-8301-2edd5e04d3ed", + "last_modified": 1651244233929 + }, + { + "schema": 1651243732687, + "derHash": "VYRK03slu02z/+fc3DkCOkGzxIikepX60fz61Qi3AoU=", + "subject": "CN=Dodo Sign TLS ICA RSA R1,O=Dodo Sign Ltd,L=Ebene,ST=Plaines Wilhems,C=MU", + "subjectDN": "MHIxCzAJBgNVBAYTAk1VMRgwFgYDVQQIDA9QbGFpbmVzIFdpbGhlbXMxDjAMBgNVBAcMBUViZW5lMRYwFAYDVQQKDA1Eb2RvIFNpZ24gTHRkMSEwHwYDVQQDDBhEb2RvIFNpZ24gVExTIElDQSBSU0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "9bbab79fdec346cdda828bc4486cedf2582bee9d80c23587c1c2f05407854b6e", + "size": 2438, + "filename": "QBni1na5RD10V0ehoagk-O8mlEaC8kPw1gH8_uoYYTY=.pem", + "location": "security-state-staging/intermediates/512c8ed9-74cb-4a34-a0b5-79f8a0f953b2.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "QBni1na5RD10V0ehoagk+O8mlEaC8kPw1gH8/uoYYTY=", + "crlite_enrolled": false, + "id": "d63929e7-804a-4e7f-9657-ccb49438e6ad", + "last_modified": 1651244233917 + }, + { + "schema": 1651222124525, + "derHash": "BwUxODzNEA0+nNlk2weqXoRaBoby6uO8imJ7GCBXsfE=", + "subject": "CN=WoTrus EV SSL Pro CA,O=WoTrus CA Limited,C=CN", + "subjectDN": "MEgxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1RydXMgQ0EgTGltaXRlZDEdMBsGA1UEAxMUV29UcnVzIEVWIFNTTCBQcm8gQ0E=", + "whitelist": false, + "attachment": { + "hash": "7be2ec04c8313dc05a7e0bef9687e9b6f04e6acceb8e83e4058ae0bf0657219d", + "size": 1845, + "filename": "rBTvvFbWGhKxAPrEAJ1x8vttBOVCvRznd5h2iXt2ATs=.pem", + "location": "security-state-staging/intermediates/f4f0a492-6a5c-4308-b805-eab6245a5ba8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "rBTvvFbWGhKxAPrEAJ1x8vttBOVCvRznd5h2iXt2ATs=", + "crlite_enrolled": true, + "id": "f5fb39d4-0676-418d-b95a-7e81cb7b1c0a", + "last_modified": 1651222638925 + }, + { + "schema": 1651222122870, + "derHash": "CQM/4jmW/kpZxMD1I9JWDjHf5MF9jqFAPUKalx9L1lo=", + "subject": "CN=WoTrus OV SSL Pro CA,O=WoTrus CA Limited,C=CN", + "subjectDN": "MEgxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1RydXMgQ0EgTGltaXRlZDEdMBsGA1UEAxMUV29UcnVzIE9WIFNTTCBQcm8gQ0E=", + "whitelist": false, + "attachment": { + "hash": "0e6c76a6d70346ff239c0a9320d8ebda8b750ae57610ff62a44fb8e221319a31", + "size": 1861, + "filename": "zACNb3_D6r-GIH58_Q4EDalNSChXFVVFbUJICvq7SIQ=.pem", + "location": "security-state-staging/intermediates/ec16d029-5557-4b00-ab92-a11542e604e1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "zACNb3/D6r+GIH58/Q4EDalNSChXFVVFbUJICvq7SIQ=", + "crlite_enrolled": true, + "id": "28706576-bf19-447f-a3fb-607bf06bf536", + "last_modified": 1651222638915 + }, + { + "schema": 1651222123920, + "derHash": "nOYws1+K4sZBnnNK2dL6MEdt2ec5Sx6Tsn+D93agJOo=", + "subject": "CN=AC Unidades de Sellado de Tiempo,OU=Ceres,O=FNMT-RCM,C=ES", + "subjectDN": "MHUxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEpMCcGA1UEAwwgQUMgVW5pZGFkZXMgZGUgU2VsbGFkbyBkZSBUaWVtcG8=", + "whitelist": false, + "attachment": { + "hash": "671a59fe01d2cd2074dbea84483abb7c9c75db400f3b54d2aebd79a620add787", + "size": 2836, + "filename": "RFLsjPTrs1EoFCjTCI7RLImxM2pGcGMiymQyT87-GT4=.pem", + "location": "security-state-staging/intermediates/86474fab-014b-4b8c-bd0d-647aa22080e5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "RFLsjPTrs1EoFCjTCI7RLImxM2pGcGMiymQyT87+GT4=", + "crlite_enrolled": true, + "id": "b6e021cf-5602-4f60-93f5-659bb02bdfb1", + "last_modified": 1651222638904 + }, + { + "schema": 1651222124221, + "derHash": "sarhvNVV6KPR492o7ITnV8VSZVNEzj/uu6+Y6JXb7aw=", + "subject": "CN=QuoVadis Europe SSL CA G2,O=QuoVadis Trustlink B.V.,C=NL", + "subjectDN": "MFMxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEiMCAGA1UEAwwZUXVvVmFkaXMgRXVyb3BlIFNTTCBDQSBHMg==", + "whitelist": false, + "attachment": { + "hash": "dfb31ebff112bccbef0ba90c29987f9962823acb59f69bd984351d9e2c7e22df", + "size": 2381, + "filename": "XOogr9_VItHwTOA_JogutdX4V06tVw9btHQLa2tR0_A=.pem", + "location": "security-state-staging/intermediates/88eff6f9-143b-4a55-bfef-19933a4e3007.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XOogr9/VItHwTOA/JogutdX4V06tVw9btHQLa2tR0/A=", + "crlite_enrolled": true, + "id": "12bb227c-277f-4680-a556-f5998b87f658", + "last_modified": 1651222638893 + }, + { + "schema": 1651222121833, + "derHash": "9nwj73v3QSgJ22sd09RKCNN1TZnKumoT96BcckkInIk=", + "subject": "CN=QuoVadis Global SSL ICA G2,O=QuoVadis Limited,C=BM", + "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMg==", + "whitelist": false, + "attachment": { + "hash": "f3d6221594115cd098f20f66a013d90aae3becd3c578a737a8e58a35230c208d", + "size": 2016, + "filename": "tYkfFN27P1GUjH5ME128BCg302dL2iwOYhz5wwFJb50=.pem", + "location": "security-state-staging/intermediates/453adbd2-22ff-42b4-92ed-171fb792efa3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tYkfFN27P1GUjH5ME128BCg302dL2iwOYhz5wwFJb50=", + "crlite_enrolled": true, + "id": "600b2b43-1467-43ac-8086-3e9c9d9900e9", + "last_modified": 1651222638882 + }, + { + "schema": 1651222123017, + "derHash": "Httr2RJ0iC23lb/FFPiqvhCtlVy8z9P9Wltf67LOW2g=", + "subject": "CN=AC SERVIDORES SEGUROS TIPO1,OU=Ceres,O=FNMT-RCM,C=ES", + "subjectDN": "MHAxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgU0VSVklET1JFUyBTRUdVUk9TIFRJUE8x", + "whitelist": false, + "attachment": { + "hash": "1b46f0408f2325ad33c8b3c5dbcf16fa1e7e49dc37065a9692b2b6f8b93fc666", + "size": 1280, + "filename": "Rlnql4UHcyG02SDPnuECa_zDzdDX09uEM9PKaegr4Qs=.pem", + "location": "security-state-staging/intermediates/79cbc976-bf09-46d2-b7ca-8d9055a52b29.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Rlnql4UHcyG02SDPnuECa/zDzdDX09uEM9PKaegr4Qs=", + "crlite_enrolled": true, + "id": "aab7988d-97f1-489f-bb5a-2fcf4db1d18f", + "last_modified": 1651222638872 + }, + { + "schema": 1651201056863, + "derHash": "nG0IkzIBQH+/KxJUC2fMDkyWZvEy4VBHYqcXy66PP9Y=", + "subject": "CN=HydrantID SSL ICA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", + "subjectDN": "MF4xCzAJBgNVBAYTAlVTMTAwLgYDVQQKEydIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHTAbBgNVBAMTFEh5ZHJhbnRJRCBTU0wgSUNBIEcy", + "whitelist": false, + "attachment": { + "hash": "c4fbca9a15eb275e83118896e4839aba070abde056cf047aa1a57afdd78af927", + "size": 2406, + "filename": "400Fim9IQe4j-Gj-Ci4R44M3gA6J1_TRh8LlPSLF3I8=.pem", + "location": "security-state-staging/intermediates/0711da67-ae2e-4da6-b908-4e2a4c4b75d5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "400Fim9IQe4j+Gj+Ci4R44M3gA6J1/TRh8LlPSLF3I8=", + "crlite_enrolled": true, + "id": "fd5ca567-aacd-40bf-afeb-7eaf0f0e8a38", + "last_modified": 1651222638861 + }, + { + "schema": 1651222123161, + "derHash": "n/I8uTh7ngCDvVqhlU7t33kokKqOZ81NON0or0pDmtg=", + "subject": "CN=AC SERVIDORES SEGUROS TIPO2,OU=Ceres,O=FNMT-RCM,C=ES", + "subjectDN": "MHAxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgU0VSVklET1JFUyBTRUdVUk9TIFRJUE8y", + "whitelist": false, + "attachment": { + "hash": "ce9833a29f1fcb59210dd0a59d92c50ef56f427317cc530e9f61e8b7c2584453", + "size": 1280, + "filename": "dCoEY_Du2xeUAuG2_98ZWoRzf_eJoM-rCMtK2M1wF94=.pem", + "location": "security-state-staging/intermediates/8489058b-a9f7-4278-ad80-159e9e5576de.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "dCoEY/Du2xeUAuG2/98ZWoRzf/eJoM+rCMtK2M1wF94=", + "crlite_enrolled": true, + "id": "78225120-3a97-4f14-84f9-0aa83efcdb19", + "last_modified": 1651222638850 + }, + { + "schema": 1651222123617, + "derHash": "NH0Y3Mwu/FGpIOen+7B7+9o1YTaB+C3KXExyuwyDwDU=", + "subject": "CN=VR IDENT SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", + "subjectDN": "MEoxCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMR0wGwYDVQQDDBRWUiBJREVOVCBTU0wgQ0EgMjAyMA==", + "whitelist": false, + "attachment": { + "hash": "4158e246be129509cb8d8eb14b647517fea0196e81a9d593f4b8f64a11a6414f", + "size": 2357, + "filename": "fQUctsUYoew1aFnAFT0prf-kJmkVNqkPo2jJ5Jm9RaA=.pem", + "location": "security-state-staging/intermediates/ada7bb67-cb15-43b5-9c74-259e711941b5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "fQUctsUYoew1aFnAFT0prf+kJmkVNqkPo2jJ5Jm9RaA=", + "crlite_enrolled": true, + "id": "2b1f7c04-dd89-4f96-ad7d-e4e167a9099d", + "last_modified": 1651222638829 + }, + { + "schema": 1651222122570, + "derHash": "Fh7lOGMpsoon/0BXNlUqYh1ahEpDgR42I+Uu76C6hAo=", + "subject": "CN=QuoVadis Global SSL ICA G3,O=QuoVadis Limited,C=BM", + "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "b8fd47c4234e14aae99e993f325e88c880408479e0c6ecf0a155bcb2481f0c25", + "size": 2353, + "filename": "KM3iZPSceB-hgYuNI-cSg4LRgTiUxCeGjrfXRQAY6Rs=.pem", + "location": "security-state-staging/intermediates/e04bb898-e61a-4362-98f8-e5c0e0559cd6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "KM3iZPSceB+hgYuNI+cSg4LRgTiUxCeGjrfXRQAY6Rs=", + "crlite_enrolled": true, + "id": "3157d9c2-162a-4e53-9f7b-3bde40d1cd54", + "last_modified": 1651222638818 + }, + { + "schema": 1651222120982, + "derHash": "YDiLdz0z6RQWSGE/NrkUnwFaEUN4us8+NpSGT/2kJuw=", + "subject": "CN=HydrantID EV SSL CA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMTAwLgYDVQQKDCdIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHzAdBgNVBAMMFkh5ZHJhbnRJRCBFViBTU0wgQ0EgRzI=", + "whitelist": false, + "attachment": { + "hash": "ba2cc602bd31081e17f7745ac462854773e79726958ff1b8a553cc7ecaba9db2", + "size": 2389, + "filename": "FpAps1LWs_UTm3xApHYkNccnnZX-7Wc_v8V0t70p6rg=.pem", + "location": "security-state-staging/intermediates/a6215fbd-d6a1-4e36-b3fa-4f60752c3ad6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "FpAps1LWs/UTm3xApHYkNccnnZX+7Wc/v8V0t70p6rg=", + "crlite_enrolled": true, + "id": "c9938308-f338-4652-aac1-c4eafdc2080c", + "last_modified": 1651222638807 + }, + { + "schema": 1651222124379, + "derHash": "y2Zmsyv/Lv7cxBh98Umm00pdELcWW5z/KmfA4xGu7tc=", + "subject": "CN=QuoVadis Europe EV SSL CA G1,O=QuoVadis Trustlink B.V.,C=NL", + "subjectDN": "MFYxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjElMCMGA1UEAwwcUXVvVmFkaXMgRXVyb3BlIEVWIFNTTCBDQSBHMQ==", + "whitelist": false, + "attachment": { + "hash": "990290f2ea4ff420df521c3b3851971e7be41a8508394faa2cb562a69bce9e55", + "size": 2385, + "filename": "WkWVWx1-X3CuwtFGJvDjdr5hOX8PeMryJG2Va7Y6cj8=.pem", + "location": "security-state-staging/intermediates/a0cf3874-21b6-41ef-b36d-7e3b20b5db08.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "WkWVWx1+X3CuwtFGJvDjdr5hOX8PeMryJG2Va7Y6cj8=", + "crlite_enrolled": true, + "id": "28a8c02e-5350-422e-a3eb-6f8150960132", + "last_modified": 1651222638797 + }, + { + "schema": 1651222123472, + "derHash": "0zqEf2QDd74K4aQpFToH6HyIJ/pIQLUVi83LheEKRTo=", + "subject": "CN=VR IDENT EV SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", + "subjectDN": "ME0xCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMSAwHgYDVQQDDBdWUiBJREVOVCBFViBTU0wgQ0EgMjAyMA==", + "whitelist": false, + "attachment": { + "hash": "a95e7ccf2ef4b020f65fbd061c44e49d966821be27623376e3f16a8a3ebd371f", + "size": 2361, + "filename": "te09bIALahNazDua57TEibeM7CatIkOAT8t-qu_Kdro=.pem", + "location": "security-state-staging/intermediates/e8b0b0a2-f7f0-4893-b9ef-32f493e8a146.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "te09bIALahNazDua57TEibeM7CatIkOAT8t+qu/Kdro=", + "crlite_enrolled": true, + "id": "92b7ea6b-c8ed-47fc-bd89-4834ef4a3ad5", + "last_modified": 1651222638786 + }, + { + "schema": 1651222121528, + "derHash": "8DhCHwfyDWOiDTaR5aF4q4RZ6+VwwWR7dpBVTvI4dqs=", + "subject": "OU=AC Componentes Informáticos,O=FNMT-RCM,C=ES", + "subjectDN": "MEcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTElMCMGA1UECwwcQUMgQ29tcG9uZW50ZXMgSW5mb3Jtw6F0aWNvcw==", + "whitelist": false, + "attachment": { + "hash": "711fb746c38ddfee6090169d62da5358968caf228ade2ad75cb8be4c4dd3832d", + "size": 2430, + "filename": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ-57NkgXsoGc=.pem", + "location": "security-state-staging/intermediates/292b3931-1dd3-4cd0-9be6-5fd40e9e982a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ+57NkgXsoGc=", + "crlite_enrolled": true, + "id": "f77b23d6-3d87-4035-8243-18504c783f83", + "last_modified": 1651222638775 + }, + { + "schema": 1651222123771, + "derHash": "AUU/ZFzZHiM7dISCfyP4pXP9ZBAp6opr/lSe9O2LMj0=", + "subject": "CN=HydrantID SSL ICA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", + "subjectDN": "MF4xCzAJBgNVBAYTAlVTMTAwLgYDVQQKEydIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHTAbBgNVBAMTFEh5ZHJhbnRJRCBTU0wgSUNBIEcy", + "whitelist": false, + "attachment": { + "hash": "7210ab4fd67176c39b121dc273d719681e6df16720f1ec337d1ed98f2f42397f", + "size": 2410, + "filename": "400Fim9IQe4j-Gj-Ci4R44M3gA6J1_TRh8LlPSLF3I8=.pem", + "location": "security-state-staging/intermediates/59737916-a963-4e35-8bd8-385202497f2a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "400Fim9IQe4j+Gj+Ci4R44M3gA6J1/TRh8LlPSLF3I8=", + "crlite_enrolled": true, + "id": "ed99b508-86ba-4d5c-b995-fdab177680bd", + "last_modified": 1651222638764 + }, + { + "schema": 1651222124076, + "derHash": "qlf0gsvFFrTRDKQJfdkNmfWqcn0gcJDQfanDaZirua0=", + "subject": "CN=HydrantID SSL CA G3,O=HydrantID (Avalanche Cloud Corporation),C=US", + "subjectDN": "MF0xCzAJBgNVBAYTAlVTMTAwLgYDVQQKDCdIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHDAaBgNVBAMME0h5ZHJhbnRJRCBTU0wgQ0EgRzM=", + "whitelist": false, + "attachment": { + "hash": "7e0808e92ebc33ef96558a3d7c46b9b86290ea9b9c814fe1b375dd5f6e94179f", + "size": 2414, + "filename": "CgDzm8Z-Gk0j7D6yq4U4IstjpiYpBiVqyPDYr-62oO8=.pem", + "location": "security-state-staging/intermediates/84127ac4-c901-4bf0-b029-60d190c53fc6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "CgDzm8Z+Gk0j7D6yq4U4IstjpiYpBiVqyPDYr+62oO8=", + "crlite_enrolled": true, + "id": "c4016ca8-8eb6-4dcf-b5d7-f9cf4687f6db", + "last_modified": 1651222638752 + }, + { + "schema": 1651222121983, + "derHash": "f+uTdOqwjTknF8ZHQ22uBhdqJMAQYH/aHM5eXwEGtHI=", + "subject": "CN=QuoVadis Qualified Web ICA G2,O=QuoVadis Trustlink B.V.,C=NL", + "subjectDN": "MFcxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEmMCQGA1UEAwwdUXVvVmFkaXMgUXVhbGlmaWVkIFdlYiBJQ0EgRzI=", + "whitelist": false, + "attachment": { + "hash": "c551ff3d69db56e747169ab80b2fdea513f1de4806de98e0e34ab04da70a7566", + "size": 2385, + "filename": "HW4ktpkbc6tiWRVtXWUrZxqP505LD1tPqFHb3HiZbX8=.pem", + "location": "security-state-staging/intermediates/bd4b3ad6-5fca-4573-9e99-2959c279c1ac.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "HW4ktpkbc6tiWRVtXWUrZxqP505LD1tPqFHb3HiZbX8=", + "crlite_enrolled": true, + "id": "294e341c-f6e5-4868-b5aa-b980b5afa7d5", + "last_modified": 1651222638742 + }, + { + "schema": 1651222122735, + "derHash": "J47PIR4lGOndmROvxYPusxJ8gYS8vu2q171k6J6MQxA=", + "subject": "CN=QuoVadis Grid ICA G2,O=QuoVadis Limited,C=BM", + "subjectDN": "MEcxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR0wGwYDVQQDExRRdW9WYWRpcyBHcmlkIElDQSBHMg==", + "whitelist": false, + "attachment": { + "hash": "8e15c43f71096a592c3d5819db25f4547bb4ef4f8232293578abdf314d149392", + "size": 2353, + "filename": "5rlUfVlXaS82HCd6DZI7w8rIamphHCdjnXNpXREZynQ=.pem", + "location": "security-state-staging/intermediates/e6bcd10d-1e18-4c5f-a5f1-91850eec82ad.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "5rlUfVlXaS82HCd6DZI7w8rIamphHCdjnXNpXREZynQ=", + "crlite_enrolled": true, + "id": "9b40ce27-a8d1-444f-a177-ff64ce1cb254", + "last_modified": 1651222638731 + }, + { + "schema": 1651222122424, + "derHash": "2w2hYDLxZDoklv3nQuK76B2spYzXYSBhQg4VTOG84r0=", + "subject": "OU=AC Componentes Informáticos,O=FNMT-RCM,C=ES", + "subjectDN": "MEcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTElMCMGA1UECwwcQUMgQ29tcG9uZW50ZXMgSW5mb3Jtw6F0aWNvcw==", + "whitelist": false, + "attachment": { + "hash": "9667524969985c4cb1aa76f3e3c434be6441809f9c3d2bad6265165a0b509b08", + "size": 2430, + "filename": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ-57NkgXsoGc=.pem", + "location": "security-state-staging/intermediates/70f3a46a-ba8f-4f11-89a5-866e51a76799.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ+57NkgXsoGc=", + "crlite_enrolled": true, + "id": "c24c4af6-ee60-43b5-b538-bd2e1ea4cbf9", + "last_modified": 1651222638720 + }, + { + "schema": 1651222123313, + "derHash": "DakU+3El9uZE63qiYd6euAncf5Jbayp9in7dhzY5i1s=", + "subject": "CN=Staat der Nederlanden Domein Server CA 2020,O=Staat der Nederlanden,C=NL", + "subjectDN": "MGMxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xNDAyBgNVBAMMK1N0YWF0IGRlciBOZWRlcmxhbmRlbiBEb21laW4gU2VydmVyIENBIDIwMjA=", + "whitelist": false, + "attachment": { + "hash": "2f30004a37d33d9c2a59bae9b9e7ae94f816bd331c1a88deabd4af0f028ec59e", + "size": 2438, + "filename": "N9-YluTCUa_HTXc60QxjUReBLpRniAkIK2N84DhgmW4=.pem", + "location": "security-state-staging/intermediates/bb106e72-beed-4616-9b9f-bb44107c3b3a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "N9+YluTCUa/HTXc60QxjUReBLpRniAkIK2N84DhgmW4=", + "crlite_enrolled": true, + "id": "da9f74e2-bbea-491f-8b6d-4587b21de61e", + "last_modified": 1651222638699 + }, + { + "schema": 1651222121373, + "derHash": "MCQkQ/aJWpRWDkjk3/cgU26vUWPLQvXod0AqveL4Ynw=", + "subject": "CN=QuoVadis Global SSL ICA G3,O=QuoVadis Limited,C=BM", + "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "63f37d712386cb1b4ab3fb0368f861aeb7ba74ec9b9bc7ecdd247bcf94725693", + "size": 2373, + "filename": "KM3iZPSceB-hgYuNI-cSg4LRgTiUxCeGjrfXRQAY6Rs=.pem", + "location": "security-state-staging/intermediates/db9fba20-fdaf-4de6-a191-950a3e1a8f31.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "KM3iZPSceB+hgYuNI+cSg4LRgTiUxCeGjrfXRQAY6Rs=", + "crlite_enrolled": true, + "id": "5acc97ab-aba9-4bba-95d2-b15d3a84f74c", + "last_modified": 1651222638688 + }, + { + "schema": 1651222122130, + "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", + "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", + "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", + "whitelist": false, + "attachment": { + "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", + "size": 1963, + "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", + "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", + "crlite_enrolled": true, + "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", + "last_modified": 1651222638677 + }, + { + "schema": 1651200582692, + "derHash": "Fed8WUBAFWWe4m+SVh8Aeq9TmGonkm8OcHWFwqfzAbg=", + "subject": "CN=DigiCert Global G3 TLS EE\\+ ECC384 SHA384 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGIxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE6MDgGA1UEAxMxRGlnaUNlcnQgR2xvYmFsIEczIFRMUyBFRSsgRUNDMzg0IFNIQTM4NCAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "d698eb7c871e953a2d52f5a3e37a7c94099ce9cd6e5e351f175434f9b4647831", + "size": 1276, + "filename": "qX0VkaXNOTvb_iR2T3sjz2frmsxWXSBKxeCVlcqFpuM=.pem", + "location": "security-state-staging/intermediates/b22276db-4c8e-4141-a014-1fe8448280d6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "qX0VkaXNOTvb/iR2T3sjz2frmsxWXSBKxeCVlcqFpuM=", + "crlite_enrolled": false, + "id": "3504d097-0f0d-4eb1-bcab-f8c9cff23a8e", + "last_modified": 1651201056425 + }, + { + "schema": 1651200581750, + "derHash": "uRW4Bqi3vi44CfLpMplufBDMgmkYZKiWBr1QCA3C6rM=", + "subject": "CN=DigiCert Global G2 TLS EE\\+ RSA4096 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgR2xvYmFsIEcyIFRMUyBFRSsgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTE=", + "whitelist": false, + "attachment": { + "hash": "2770a30970c5f0e28e817c1788eb2c06bff044a066ecca40a7a2b96211daf4fc", + "size": 2077, + "filename": "nfWaEttE0IGAYQsFsn8KzN13pSJzWY96Gu0Dlx4QYig=.pem", + "location": "security-state-staging/intermediates/4916e83a-41de-416d-910e-e4d6d8f4f953.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "nfWaEttE0IGAYQsFsn8KzN13pSJzWY96Gu0Dlx4QYig=", + "crlite_enrolled": false, + "id": "168daeb9-d058-4d6b-946a-87f8af07577f", + "last_modified": 1651201056418 + }, + { + "schema": 1650962920282, + "derHash": "Ocdjqc8Z2SP5d9I2JquJBEmkRKuLeVyBXvHvgf68Hjg=", + "subject": "CN=Amazon,OU=Server CA 1A,O=Amazon,C=US", + "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAxQTEPMA0GA1UEAxMGQW1hem9u", + "whitelist": false, + "attachment": { + "hash": "f399c4419d079a15a697f418e9a8d5ff90d3ac32db49507e30ee4a17491a1fd2", + "size": 1544, + "filename": "ZLtb2AMR-j9TvZlATKuHYq1uBIRH0Kl_IZ_OyhZh83w=.pem", + "location": "security-state-staging/intermediates/2595f6c1-56fb-4026-9d93-9ba159b2f77e.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ZLtb2AMR+j9TvZlATKuHYq1uBIRH0Kl/IZ/OyhZh83w=", + "crlite_enrolled": false, + "id": "a673a51c-cf7a-4f0e-8ef0-c30a6fcaf0c4", + "last_modified": 1650963440119 + }, + { + "schema": 1650962917391, + "derHash": "D7bOgJCdGa/uaojJWenpqmRmcVvOBcZEn+tTCghtrxQ=", + "subject": "CN=GeoTrust SupremeSSL EV 1 CA,OU=www.supremessl.com,O=SupremeSSL,C=NL", + "subjectDN": "MGUxCzAJBgNVBAYTAk5MMRMwEQYDVQQKEwpTdXByZW1lU1NMMRswGQYDVQQLExJ3d3cuc3VwcmVtZXNzbC5jb20xJDAiBgNVBAMTG0dlb1RydXN0IFN1cHJlbWVTU0wgRVYgMSBDQQ==", + "whitelist": false, + "attachment": { + "hash": "384493a25bd899d9fdf55deb2a362135f4ec8be8dc34518f6004cef3e417556c", + "size": 1691, + "filename": "uG3aQXLPd55q_z1RlGHWJQcDYD5HzCoVUz8Q5eD3Rlw=.pem", + "location": "security-state-staging/intermediates/370e6c55-8cba-4d1b-a1a2-2535eb0412c5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uG3aQXLPd55q/z1RlGHWJQcDYD5HzCoVUz8Q5eD3Rlw=", + "crlite_enrolled": false, + "id": "bd4e50e6-67eb-40a4-b53a-8c09c55e45fe", + "last_modified": 1650963440110 + }, + { + "schema": 1650962916445, + "derHash": "L7qP6RVBUEmqlChXy1MTf/09nlpHsntXgtq5tNp9Yk0=", + "subject": "CN=GeoTrust SupremeSSL EV 1 ECC CA,OU=www.supremessl.com,O=SupremeSSL,C=NL", + "subjectDN": "MGkxCzAJBgNVBAYTAk5MMRMwEQYDVQQKEwpTdXByZW1lU1NMMRswGQYDVQQLExJ3d3cuc3VwcmVtZXNzbC5jb20xKDAmBgNVBAMTH0dlb1RydXN0IFN1cHJlbWVTU0wgRVYgMSBFQ0MgQ0E=", + "whitelist": false, + "attachment": { + "hash": "41ecc5811611c2cca06c08009be39d0f651319e8cea2f6913a6d81897be776be", + "size": 1423, + "filename": "A97Lx6chFTH9FkG_Io5Uc5oemCnN0d8O2NjR9d-Pr0w=.pem", + "location": "security-state-staging/intermediates/fada1854-a866-45e7-b9e0-58346ba95e76.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "A97Lx6chFTH9FkG/Io5Uc5oemCnN0d8O2NjR9d+Pr0w=", + "crlite_enrolled": false, + "id": "6faea35d-2ca4-409c-94f4-f60003ea2e0f", + "last_modified": 1650963440091 + }, + { + "schema": 1650962915469, + "derHash": "chMOOyiQA0khRhf01vP7hdCEde54vwlcWUWKFNGCiGY=", + "subject": "CN=Amazon,OU=Server CA 2A,O=Amazon,C=US", + "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAyQTEPMA0GA1UEAxMGQW1hem9u", + "whitelist": false, + "attachment": { + "hash": "2a82794488d990d2916a320c0881fba10016362c3188bf9954c30bf6848d39ec", + "size": 2235, + "filename": "G9pa__g3gTgL9wgZj599LbHgZ_FLuep7rnCqwLAwXns=.pem", + "location": "security-state-staging/intermediates/286bed2c-a929-4e6f-a1ab-7233972c722f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "G9pa//g3gTgL9wgZj599LbHgZ/FLuep7rnCqwLAwXns=", + "crlite_enrolled": false, + "id": "1654227e-f47f-4778-8136-e7cca51abf27", + "last_modified": 1650963440067 + }, + { + "schema": 1650919770377, + "derHash": "tvZVm7zgosyR5Qe11zGeMkh+2uKKBjvHO2QF5sRGZbY=", + "subject": "CN=QuoVadis Enterprise Trust CA 2 G3,O=QuoVadis Limited,C=BM", + "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDIgRzM=", + "whitelist": false, + "attachment": { + "hash": "0e8105a00963a2942951dacf763351b5c4f4fcffe32ab691c090848452d6b285", + "size": 2377, + "filename": "U_l9o-Lg2NOgB-7MLJUzZzbVrqatI_likIE44Ciah6M=.pem", + "location": "security-state-staging/intermediates/97b8b4d9-8b6c-4fe0-b01e-f743bdb8a98b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "U/l9o+Lg2NOgB+7MLJUzZzbVrqatI/likIE44Ciah6M=", + "crlite_enrolled": false, + "id": "77b42da0-9139-44b4-aa57-0c540a0680c3", + "last_modified": 1650920239287 + }, + { + "schema": 1650919769437, + "derHash": "PyJb2814jOkkhwyvkvgUt8b/Ttq6utk/HTqRdyUs8dE=", + "subject": "CN=QuoVadis Qualified Web ICA G3,O=QuoVadis Trustlink B.V.,C=NL", + "subjectDN": "MFcxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEmMCQGA1UEAwwdUXVvVmFkaXMgUXVhbGlmaWVkIFdlYiBJQ0EgRzM=", + "whitelist": false, + "attachment": { + "hash": "8eb4cfbfd4e31a971f563f4a974c582ecd679cc8c15604af9f0f24fb1daf720e", + "size": 2385, + "filename": "e7hbHQSuhSDkhjhlY1CGhoHNKcgJCpQxSU_inT417rc=.pem", + "location": "security-state-staging/intermediates/848eef45-4d07-4d85-b898-032a76b2a75b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "e7hbHQSuhSDkhjhlY1CGhoHNKcgJCpQxSU/inT417rc=", + "crlite_enrolled": false, + "id": "7d41a0d3-fa4f-45f9-bec4-6c38cd62e11c", + "last_modified": 1650920239278 + }, + { + "schema": 1650919767450, + "derHash": "X36LSowRuvLL5kWbR/221QwChcSplPTu8v5RYKoKt4o=", + "subject": "CN=vTrus DV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBEViBTU0wgQ0E=", + "whitelist": false, + "attachment": { + "hash": "02cc66488a37100af024e6807b42f3d0fcca6bac68c70036847c21859c2e0f9f", + "size": 2003, + "filename": "75pE_IZKhqgviWzR4qTd2zPqnbH6f4VSS4OvPeBjEjQ=.pem", + "location": "security-state-staging/intermediates/8025018f-b0af-4798-80e7-62f914355ddc.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "75pE/IZKhqgviWzR4qTd2zPqnbH6f4VSS4OvPeBjEjQ=", + "crlite_enrolled": false, + "id": "62bfb5fc-9b9e-4859-93ae-aefbc19c54a7", + "last_modified": 1650920239269 + }, + { + "schema": 1650919768436, + "derHash": "I1ge8ZId8vkpDboNTU9IqX+Yrq77XjNQs/cFgujNvng=", + "subject": "CN=vTrus ECC OV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgT1YgU1NMIENB", + "whitelist": false, + "attachment": { + "hash": "f5e788b19092bef358268ca50c1012469e23bacaec6b8968235a7fde8315fae3", + "size": 1183, + "filename": "atwg6ejpADR_jBbKnuSFzeAuVeHiQKJdUl2HSR0gLmU=.pem", + "location": "security-state-staging/intermediates/8d035ca1-82d3-4b60-8e2a-0309b5fa02a3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "atwg6ejpADR/jBbKnuSFzeAuVeHiQKJdUl2HSR0gLmU=", + "crlite_enrolled": false, + "id": "1ba49c37-515b-43a5-bbc1-6c7b9ea16c5d", + "last_modified": 1650920239261 + }, + { + "schema": 1650919766509, + "derHash": "gmV1bdXNijfuYeQDUSiOSxaondJIwexOuiWq8WGr9Jg=", + "subject": "CN=AC Sector Público,OU=Ceres,O=FNMT-RCM,C=ES", + "subjectDN": "MGcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEbMBkGA1UEAwwSQUMgU2VjdG9yIFDDumJsaWNv", + "whitelist": false, + "attachment": { + "hash": "cfe09ce65e4dcbc8449292b7e92e1cdaacc6c228de14a49ccc6300fda8e73598", + "size": 2816, + "filename": "aN4wUQfL0YidepsDn9ylA8GoitH0XRdS349Qxylp2RU=.pem", + "location": "security-state-staging/intermediates/6e8aaf5f-dcdb-4a22-852f-74fd18687428.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "aN4wUQfL0YidepsDn9ylA8GoitH0XRdS349Qxylp2RU=", + "crlite_enrolled": false, + "id": "cfdbbcaf-8ad7-44df-988e-6b0c1d3a6ef0", + "last_modified": 1650920239252 + }, + { + "schema": 1650919763686, + "derHash": "vTDA0eesuD78T19sYvjzpXm6snUnr65mbGlsOoZxdfE=", + "subject": "CN=vTrus ECC EV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgRVYgU1NMIENB", + "whitelist": false, + "attachment": { + "hash": "5efe51a26c5280ef3910747587a1258ee032a5cd4592afff27a55faecd152eec", + "size": 1183, + "filename": "7k0rYa-qry4wDaWSSycBwDVQALkMXBvBWeWHCjNIjTA=.pem", + "location": "security-state-staging/intermediates/2fbba71f-fa0b-4df8-9e0e-5926ab099518.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "7k0rYa+qry4wDaWSSycBwDVQALkMXBvBWeWHCjNIjTA=", + "crlite_enrolled": false, + "id": "4dbca2b3-84ac-4dad-b6b4-8feac2cdfdd4", + "last_modified": 1650920239234 + }, + { + "schema": 1650919762710, + "derHash": "e+0pJ2rL7Z8Xbzi7o6Z85YFbXL8VIse7WezYawnhbtI=", + "subject": "CN=Amazon,OU=Server CA 4A,O=Amazon,C=US", + "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSA0QTEPMA0GA1UEAxMGQW1hem9u", + "whitelist": false, + "attachment": { + "hash": "80e7ade2cfaf2410560723bc955bfee6189c0738bf29f0cbef746f8ab6211ff5", + "size": 1089, + "filename": "F3CN_yt_rsnLG1IV67JCHZewVDyTb6ydbgK5LyDlxwc=.pem", + "location": "security-state-staging/intermediates/84b45e4e-dff5-47aa-9a4b-238ead864dc5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "F3CN/yt/rsnLG1IV67JCHZewVDyTb6ydbgK5LyDlxwc=", + "crlite_enrolled": false, + "id": "bdfef393-879d-470f-9c38-dd5dab153498", + "last_modified": 1650920239226 + }, + { + "schema": 1650919764671, + "derHash": "86ptcSoV9j+DUIBJedtUJBmmGysdIudWxBer/o10o8o=", + "subject": "CN=vTrus EV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBFViBTU0wgQ0E=", + "whitelist": false, + "attachment": { + "hash": "01cb1f5c741d941d11e0575e8235a3df364dc571bdd452841c23bd28e35016d3", + "size": 2003, + "filename": "tHoUHCrraSrjkHaUbZGcxRVrjSHn8i6s8_iI6HHC6Ok=.pem", + "location": "security-state-staging/intermediates/aba23528-3d5c-4097-8a18-23189b4996c5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tHoUHCrraSrjkHaUbZGcxRVrjSHn8i6s8/iI6HHC6Ok=", + "crlite_enrolled": false, + "id": "e1e50749-1e86-4386-a147-51b82388f36f", + "last_modified": 1650920239217 + }, + { + "schema": 1650919750344, + "derHash": "2lRiUmoMLphSqGGGsCU5AVh1nNymriHwn3E8pqzN0fE=", + "subject": "CN=QuoVadis Enterprise Trust CA 3 G3,O=QuoVadis Limited,C=BM", + "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDMgRzM=", + "whitelist": false, + "attachment": { + "hash": "0b01ec78286d184607dd09e4cac9c4992d4af9f58534eb2cb8fea437481a6197", + "size": 2333, + "filename": "smsafMf1m1b-3NN_jssl3RMKHXok-GELWWNtG9vZEmA=.pem", + "location": "security-state-staging/intermediates/c87c6dee-16e3-4bb0-8541-6cf2e215df90.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "smsafMf1m1b+3NN/jssl3RMKHXok+GELWWNtG9vZEmA=", + "crlite_enrolled": false, + "id": "4f58238b-464f-49f2-87a6-905bf5e2256b", + "last_modified": 1650920239200 + }, + { + "schema": 1650919752248, + "derHash": "GLtw79o/kUOBFcnrTzM+tOxoNUVx5pSRlaCpHJ5vvNg=", + "subject": "CN=QuoVadis RCA1G3 TLS CA,O=QuoVadis Limited,C=BM", + "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0ExRzMgVExTIENB", + "whitelist": false, + "attachment": { + "hash": "b3bb67e5eae26a4c94edb219c24b0b5e4b61ccf76dfc1f6b45000e822a22ceb3", + "size": 2369, + "filename": "oVTzYxEWPWmbDlo2GZhwL-6my7pLP_DO_Q5zS0j4erM=.pem", + "location": "security-state-staging/intermediates/fc79241e-cca4-4146-ba3c-7d9f2433463e.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "oVTzYxEWPWmbDlo2GZhwL+6my7pLP/DO/Q5zS0j4erM=", + "crlite_enrolled": false, + "id": "82f7ad48-cda9-4a45-be46-d27e56212f18", + "last_modified": 1650920239191 + }, + { + "schema": 1650919756111, + "derHash": "uCIQzend6g4UvimvZH5LMvlu0qnvGqW6qcxks4tsAco=", + "subject": "OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES", + "subjectDN": "MDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTQ==", + "whitelist": false, + "attachment": { + "hash": "dda828b4a97c8a8f24d378bef318af5d144be4d873ff73ba3f07303c1c298e49", + "size": 1971, + "filename": "L8VmekuaJnjtasatJUZfy_YJS_zZUECXx6j6R63l6Ig=.pem", + "location": "security-state-staging/intermediates/c8065d4f-f7f0-4e26-aa22-7e982bf06bba.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "L8VmekuaJnjtasatJUZfy/YJS/zZUECXx6j6R63l6Ig=", + "crlite_enrolled": false, + "id": "752044c7-55ec-4fd9-a0fa-6bd6b3db2f27", + "last_modified": 1650920239183 + }, + { + "schema": 1650919749373, + "derHash": "VD2bf8KmRxzYT8pSws9hWd+D6/zYjYsIta8/iHN/UuY=", + "subject": "CN=Amazon Root CA 4,O=Amazon,C=US", + "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDQ=", + "whitelist": false, + "attachment": { + "hash": "529e23adcf592c5f3ead786e4cade919e70e5ce97467aa24135ffedb958ca909", + "size": 1410, + "filename": "9-ze1cZgR9KO1kZrVDxA4HQ6voHRCSVNz4RdTCx4U8U=.pem", + "location": "security-state-staging/intermediates/0220ce80-c8b1-4eff-a8a9-8b3fcf86b20f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "9+ze1cZgR9KO1kZrVDxA4HQ6voHRCSVNz4RdTCx4U8U=", + "crlite_enrolled": false, + "id": "ebd35018-c6ca-4fb3-863c-5433228a3dd0", + "last_modified": 1650920239156 + }, + { + "schema": 1650919748442, + "derHash": "38x3XGRNtKM61xKTQz9GPI4xBXziLLJn+dMaA1P0/C8=", + "subject": "CN=Amazon,OU=Server CA 0A,O=Amazon,C=US", + "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAwQTEPMA0GA1UEAxMGQW1hem9u", + "whitelist": false, + "attachment": { + "hash": "beb147abe96d6e343843d2e2fd729d58e42b2dab74a3c0ccc41530639168e721", + "size": 1666, + "filename": "tYU57KoTkhzNuA0400h1_eZHHFoVnZvu8vpvmZg71hE=.pem", + "location": "security-state-staging/intermediates/3383c131-2b81-4c4f-a58b-e6ef7e58221b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tYU57KoTkhzNuA0400h1/eZHHFoVnZvu8vpvmZg71hE=", + "crlite_enrolled": false, + "id": "85f2978a-5169-4f2b-85c2-3dbe91a9bdca", + "last_modified": 1650920239147 + }, + { + "schema": 1650919743592, + "derHash": "HjVoI/5AwOqsKfntVGO3stscCItj67BYdqLmMcEId5g=", + "subject": "CN=QuoVadis Enterprise Trust CA 2 G4,O=QuoVadis Trustlink B.V.,C=NL", + "subjectDN": "MFsxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEqMCgGA1UEAwwhUXVvVmFkaXMgRW50ZXJwcmlzZSBUcnVzdCBDQSAyIEc0", + "whitelist": false, + "attachment": { + "hash": "756cc72bf46fca106a4ae94315fc04ea6bbe1b93e3229513d02875b33ca13f45", + "size": 2385, + "filename": "z-lEyVPfwY15LjMDGouWc4Jt0MFWaf2MpLOSN9mx9tM=.pem", + "location": "security-state-staging/intermediates/b498521b-e32b-43cc-aca3-07c4179af1b4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "z+lEyVPfwY15LjMDGouWc4Jt0MFWaf2MpLOSN9mx9tM=", + "crlite_enrolled": false, + "id": "4e7a229c-6a33-40fa-b4ca-1c8e08a0c8ff", + "last_modified": 1650920239138 + }, + { + "schema": 1650919738871, + "derHash": "yX42zr8VgKsb2tYcHVOwXHWBnoXZNyFL5oTIWbItReA=", + "subject": "CN=vTrus ECC DV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgRFYgU1NMIENB", + "whitelist": false, + "attachment": { + "hash": "ef4575a1abe7f8492e2e0d89dbbf6e80b196e4b6dccd8bf4e48700ed4bcfec4a", + "size": 1183, + "filename": "gJ1It3GyfR5y0xbHIcRJPwjI6151kRqrGSR_W5v6jek=.pem", + "location": "security-state-staging/intermediates/1ad06f96-b5cb-4dea-81ba-f5a81180101b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "gJ1It3GyfR5y0xbHIcRJPwjI6151kRqrGSR/W5v6jek=", + "crlite_enrolled": false, + "id": "c0e7a130-9579-4974-b7d6-0bc6a242c1f0", + "last_modified": 1650920239103 + }, + { + "schema": 1650919736041, + "derHash": "7MDResMmOsahZNzbCPgtB+k/zqcj9muIsG7rqWeN8rs=", + "subject": "CN=QuoVadis RCA3G3 TLS CA,O=QuoVadis Limited,C=BM", + "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0EzRzMgVExTIENB", + "whitelist": false, + "attachment": { + "hash": "fc4fc6584822834debd279e4a8481536c6bd26913df00dda003fbc4ed5facf42", + "size": 2369, + "filename": "HGG1eHmdWucI4rZV77-UwfI3jqj3-wm0NFUmWbyNZvs=.pem", + "location": "security-state-staging/intermediates/fbd31d9d-d3c2-4949-83c0-0356f6cf38df.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "HGG1eHmdWucI4rZV77+UwfI3jqj3+wm0NFUmWbyNZvs=", + "crlite_enrolled": false, + "id": "49a8f373-42db-4fd2-8cec-a33b0642a63b", + "last_modified": 1650920239085 + }, + { + "schema": 1650919741723, + "derHash": "IFFUt3ftxVpRRlhaXlTgVKcL5KrTuF0CMY2ie/gHrfE=", + "subject": "CN=Amazon,OU=Server CA 3A,O=Amazon,C=US", + "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAzQTEPMA0GA1UEAxMGQW1hem9u", + "whitelist": false, + "attachment": { + "hash": "05a3b22929a248fe09c8e080b25d2e2076a990ab5c629c24916624485d790547", + "size": 1008, + "filename": "fFO133kTXZr2GV72u3OrmMLImVC4krGS3_14TbklpBw=.pem", + "location": "security-state-staging/intermediates/ed143684-ab7b-440f-80d7-5cb002fd46e6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "fFO133kTXZr2GV72u3OrmMLImVC4krGS3/14TbklpBw=", + "crlite_enrolled": false, + "id": "98c1807d-c60d-4481-ab30-ef5247fb140b", + "last_modified": 1650920239068 + }, + { + "schema": 1650919735069, + "derHash": "QMgm/bIroyovnbT5R3D3K4sdqcj/2nsR5vJ68kXIm14=", + "subject": "CN=Amazon Root CA 3,O=Amazon,C=US", + "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDM=", + "whitelist": false, + "attachment": { + "hash": "527804e0cdb3a780b57c0f3f7429e1a5b42984b3bd67157b9fda6ba75cdc6d0a", + "size": 1370, + "filename": "NqvDJlas_GRcYbcWE8S_IceH9cq77kg0jVhZeAPXq8k=.pem", + "location": "security-state-staging/intermediates/6aba445e-a993-4da1-8b31-508ae20809f9.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "NqvDJlas/GRcYbcWE8S/IceH9cq77kg0jVhZeAPXq8k=", + "crlite_enrolled": false, + "id": "e4674db5-3ed3-49af-8910-24de0606b82c", + "last_modified": 1650920239059 + }, + { + "schema": 1650919730302, + "derHash": "pTtcm7WtknA9xPd/5k2ROiOf03IHOkjiegSBWApWN8Q=", + "subject": "CN=vTrus OV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", + "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBPViBTU0wgQ0E=", + "whitelist": false, + "attachment": { + "hash": "4edc5bd03aede64fb9a23473cb654b555c969e2142043a263b82aeb3a59fe874", + "size": 2003, + "filename": "_AQe5lWT9xIwgAiIHcAT-pRj70-ckw8xE4qArEfIyd0=.pem", + "location": "security-state-staging/intermediates/3c8f7112-17b7-414d-a6f6-b6d0f9ca628e.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/AQe5lWT9xIwgAiIHcAT+pRj70+ckw8xE4qArEfIyd0=", + "crlite_enrolled": false, + "id": "47ec7101-8273-486d-82b7-c4b18c72c686", + "last_modified": 1650920239025 + }, + { + "schema": 1650919729415, + "derHash": "izWEZtZhJjEhIGRaWHWmpX48gdmEdqlnYEJEJU6sAPA=", + "subject": "CN=Amazon Root CA 2,O=Amazon,C=US", + "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDI=", + "whitelist": false, + "attachment": { + "hash": "099a90f379b0ecca696c3cde0f60b64211dbaafa0ce4ae4b1b13e1dc145c4f27", + "size": 1991, + "filename": "f0KW_FtqTjs108NpYj42SrGvOB2PpxIVM8nWxjPqJGE=.pem", + "location": "security-state-staging/intermediates/f7a184d3-d555-4bc5-bf51-b6cf5fd02d86.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "f0KW/FtqTjs108NpYj42SrGvOB2PpxIVM8nWxjPqJGE=", + "crlite_enrolled": false, + "id": "2d641b97-843d-4094-b881-81031cf6ed4b", + "last_modified": 1650920239016 + }, + { + "schema": 1650919759845, + "derHash": "ORIgcFt1vPPtPNSzYxIT9WnSz4ImEB4XB5mlNUqxKGE=", + "subject": "CN=Amazon Root CA 1,O=Amazon,C=US", + "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDE=", + "whitelist": false, + "attachment": { + "hash": "076400302106a1d71c433340807aa21af7fdcdd85ff586d57757cf6d6718dbc4", + "size": 1646, + "filename": "--MBgDH5WGvL9Bcn5Be30cRcL0f5O-NyoXuWtQdX1aI=.pem", + "location": "security-state-staging/intermediates/ba24dc88-716f-4abe-93f4-e880c36d57b8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "++MBgDH5WGvL9Bcn5Be30cRcL0f5O+NyoXuWtQdX1aI=", + "crlite_enrolled": false, + "id": "c3a8d84d-8e96-4168-87eb-c44eb83e7053", + "last_modified": 1650920238973 + }, + { + "schema": 1650919758903, + "derHash": "BTHIb3hZWJOf3FOZJNOV0e+kCTZOaCfTq5h2MR/7J7A=", + "subject": "CN=QuoVadis Enterprise Trust CA 1 G3,O=QuoVadis Limited,C=BM", + "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDEgRzM=", + "whitelist": false, + "attachment": { + "hash": "0838a224858164040768ee9fb8bab6de6efb11294b58f2c5db9fea5788b39bc7", + "size": 2333, + "filename": "8ZpHrAG1eQIQZnOeYn-p9E7tqq_yc1fiaSaeKR1BY2I=.pem", + "location": "security-state-staging/intermediates/ce362e8f-6a48-4236-a1d6-2a63778041fc.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8ZpHrAG1eQIQZnOeYn+p9E7tqq/yc1fiaSaeKR1BY2I=", + "crlite_enrolled": false, + "id": "59a0226b-255a-4648-b647-5ae17b95e143", + "last_modified": 1650920238964 + }, + { + "schema": 1650919757998, + "derHash": "OmbmSCEuYyH5TZ6rzJLAUuZ52ZLJmtRZak57ha3O5d4=", + "subject": "CN=QuoVadis RCA3G1 TLS CA,O=QuoVadis Limited,C=BM", + "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0EzRzEgVExTIENB", + "whitelist": false, + "attachment": { + "hash": "e5c77c38ef33f161625bc3592afbf547db64bc8507aff887efbd2902cd674003", + "size": 2361, + "filename": "cDYpcfBIVfSGVjIXkR2jSnkBmuagMeyfAzJa6dOp_y4=.pem", + "location": "security-state-staging/intermediates/0143e551-4755-4a70-a0b6-a96811277ee2.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "cDYpcfBIVfSGVjIXkR2jSnkBmuagMeyfAzJa6dOp/y4=", + "crlite_enrolled": false, + "id": "c496ec4e-b18d-4f40-a77d-7e2e0cc924e4", + "last_modified": 1650920238938 + }, + { + "schema": 1650919754133, + "derHash": "h9zU3HRkCjIs0gVVJQbRvmTxJZYlgJZUSYa0hQvHJwY=", + "subject": "CN=Amazon Root CA 1,O=Amazon,C=US", + "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDE=", + "whitelist": false, + "attachment": { + "hash": "8f2766bb42744fe0fcf37f433c66191277a29d9bd4641cc4121ccf842ecf940c", + "size": 1646, + "filename": "--MBgDH5WGvL9Bcn5Be30cRcL0f5O-NyoXuWtQdX1aI=.pem", + "location": "security-state-staging/intermediates/d3d8d455-9864-48ea-8742-d535b58189aa.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "++MBgDH5WGvL9Bcn5Be30cRcL0f5O+NyoXuWtQdX1aI=", + "crlite_enrolled": false, + "id": "49bace65-a7b6-40f8-b913-cddadbdba9c3", + "last_modified": 1650920238920 + }, + { + "schema": 1650812270542, + "derHash": "Bp3y+JGdkgnQxSSla6EYHfbRu/xKphyfAdCS4tXDof0=", + "subject": "CN=MSFT BALT RS256 CA,O=Microsoft Corporation,C=US", + "subjectDN": "MEoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xGzAZBgNVBAMTEk1TRlQgQkFMVCBSUzI1NiBDQQ==", + "whitelist": false, + "attachment": { + "hash": "b68175bda43c438ac536ee134774227b69c8479a249c97fc24ebcdc2efe126fa", + "size": 2028, + "filename": "pDM-S2FkRzB_xtTd9uAioSOPn-QW1bRg8ecQtY4-I1A=.pem", + "location": "security-state-staging/intermediates/ca4850cd-a81e-479d-ba75-2a7072c7f60d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "pDM+S2FkRzB/xtTd9uAioSOPn+QW1bRg8ecQtY4+I1A=", + "crlite_enrolled": true, + "id": "f18528dd-6f56-46ab-942c-d0660c571a8d", + "last_modified": 1650855462570 + }, + { + "schema": 1650790673425, + "derHash": "dYlNTJTCLXKW7hn7RHYjJYwlkbFwMSiLs4aiCqHw4KY=", + "subject": "CN=NetLock Közjegyzői (Class A) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", + "subjectDN": "MIGuMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE8MDoGA1UEAwwzTmV0TG9jayBLw7Z6amVneXrFkWkgKENsYXNzIEEpIFRhbsO6c8OtdHbDoW55a2lhZMOz", + "whitelist": false, + "attachment": { + "hash": "4327de015aac627d028d4696e3b582048933e2f87d179c261b01897e32b67a1d", + "size": 2190, + "filename": "RWiIGgLo9cnu9JGiGhnz5uw6FBH1Y5qDY4qGsl5Q9EM=.pem", + "location": "security-state-staging/intermediates/27099d75-dfc0-441a-a1de-81e112a1d6e5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "RWiIGgLo9cnu9JGiGhnz5uw6FBH1Y5qDY4qGsl5Q9EM=", + "crlite_enrolled": false, + "id": "a76d3004-9787-484d-a4d9-2e5555cd8b56", + "last_modified": 1650812270014 + }, + { + "schema": 1650661069134, + "derHash": "lp4yAFIOssaalmdYfm3U0LI/KPUQzBMXZwqO02E+vq0=", + "subject": "CN=DigitalTrust High Assurance CA G4 [Run by the Issuer],O=Digital Trust L.L.C.,C=AE", + "subjectDN": "MG0xCzAJBgNVBAYTAkFFMR0wGwYDVQQKExREaWdpdGFsIFRydXN0IEwuTC5DLjE/MD0GA1UEAww2RGlnaXRhbFRydXN0IEhpZ2ggQXNzdXJhbmNlIENBIEc0ICBbUnVuIGJ5IHRoZSBJc3N1ZXJd", + "whitelist": false, + "attachment": { + "hash": "e74dd2a02806fa7c508188e10a5f0c0712f1cfbccde8988e042626a766beecb4", + "size": 2507, + "filename": "LFyh5Bg1aFs3y7w1j2dwtnxqDbovX0i8cL9gYJC6PXw=.pem", + "location": "security-state-staging/intermediates/df91fee1-b72c-4071-bb40-85741d9a30db.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "LFyh5Bg1aFs3y7w1j2dwtnxqDbovX0i8cL9gYJC6PXw=", + "crlite_enrolled": false, + "id": "82e3caed-61a5-46f8-b0a5-e0e5548b3eaa", + "last_modified": 1650769066440 + }, + { + "schema": 1650553057777, + "derHash": "ODDbjqFSC2zfV+HgCl8Sl74R2eZDDINgcXYhL/hdLbg=", + "subject": "CN=TrustCor Enhanced Secure Site (CA2),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", + "subjectDN": "MIGNMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxLDAqBgNVBAMMI1RydXN0Q29yIEVuaGFuY2VkIFNlY3VyZSBTaXRlIChDQTIp", + "whitelist": false, + "attachment": { + "hash": "26631969fe5fbc543132a914eb2829ace13e9b418495495a837a47d8936c69b6", + "size": 2564, + "filename": "gTvKBlqs6VknFEiItiUhp5K_Oy0UnzZd7vVB6Ko3ZeE=.pem", + "location": "security-state-staging/intermediates/e49aa502-2469-4f4f-b00b-3d32c9f282e8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "gTvKBlqs6VknFEiItiUhp5K/Oy0UnzZd7vVB6Ko3ZeE=", + "crlite_enrolled": false, + "id": "7f04f0ef-3fdc-4bfa-9cc5-c76e75f35add", + "last_modified": 1650661068590 + }, + { + "schema": 1650552524914, + "derHash": "iVeNcml6wlq8b204I4dEOWVBKsdEjxA8mx0Rq2OlVc0=", + "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA 2022 Q3,O=Globalsign nv-sa,C=BE", + "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIDIwMjIgUTM=", + "whitelist": false, + "attachment": { + "hash": "a80efbadc5730df2fa0157410ddb8d9b249da87dcb056e54b148b01e32fca2dc", + "size": 1642, + "filename": "u2PPfToTfxlnHMc8HYHgBrctBMaW9JogX77Hhq-zklU=.pem", + "location": "security-state-staging/intermediates/1a77e1c3-b927-44ab-96bf-2e72de1a7f04.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "u2PPfToTfxlnHMc8HYHgBrctBMaW9JogX77Hhq+zklU=", + "crlite_enrolled": false, + "id": "342d2e93-b4c7-4592-958a-ad2b8e43a772", + "last_modified": 1650553057229 + }, + { + "schema": 1650552522984, + "derHash": "qLKkUYqCoMwKYLL7iLlGVXrbT6WEWOx2gKd7sOUzTY0=", + "subject": "CN=GlobalSign Atlas ECCR5 DV ACME CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTIwMAYDVQQDEylHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IERWIEFDTUUgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "b68666da50c073d1a8847151f9a236a66ca0857536769a5018002d926683f749", + "size": 1195, + "filename": "TevF5ohME1f-tSSfuVGlGBS73B9YmpAiEHCMSCfHeIw=.pem", + "location": "security-state-staging/intermediates/2a4369e4-03bd-4e4e-baaa-020ef0879241.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "TevF5ohME1f+tSSfuVGlGBS73B9YmpAiEHCMSCfHeIw=", + "crlite_enrolled": false, + "id": "d2cb52cc-1cbb-46b2-9d66-bee7fa46e823", + "last_modified": 1650553057220 + }, + { + "schema": 1650552521921, + "derHash": "KekwU3adTRurhBuPXCYDvtXguC8zlnCGlWaJIUbokUE=", + "subject": "CN=GlobalSign Atlas R3 OV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIE9WIFRMUyBDQSAyMDIyIFEz", + "whitelist": false, + "attachment": { + "hash": "b08a91fa2723f41383dda1dddc9ee5f8cad013137a51866aed652c3d5c4dfbd9", + "size": 1642, + "filename": "wn6PW6g02WtaumkExzEzNw1bo4Mzu0_IX3rY3SmY9t0=.pem", + "location": "security-state-staging/intermediates/ce376919-b9f5-4dd5-96e0-282cf246eb19.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "wn6PW6g02WtaumkExzEzNw1bo4Mzu0/IX3rY3SmY9t0=", + "crlite_enrolled": false, + "id": "6bd389d2-bf1e-4c0b-b78e-970beaaeb339", + "last_modified": 1650553057211 + }, + { + "schema": 1650552520053, + "derHash": "DtWqAGHQm3A+GzFQ+2Nnhwu/JFzO7U/gjy2+QgFyOo0=", + "subject": "CN=GlobalSign Atlas R46 EV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFI0NiBFViBUTFMgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "81b835c34d222b602141a4c129500f2b1835fab3796a3c9532d5dfb2cb487b46", + "size": 2324, + "filename": "ZZ_BfqFFbhO7SSCmu78v8N2CE5ykK9-zz37sWEIWEXI=.pem", + "location": "security-state-staging/intermediates/6916706c-a910-4b05-9dc3-be264f846783.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ZZ/BfqFFbhO7SSCmu78v8N2CE5ykK9+zz37sWEIWEXI=", + "crlite_enrolled": false, + "id": "2b253bb2-317f-47bb-a793-79a8ca184ca3", + "last_modified": 1650553057201 + }, + { + "schema": 1650552519107, + "derHash": "8G4sPQWvYIx7rLY2b3pHoBet7CL3Er1BczU5bLi1Vb4=", + "subject": "CN=GlobalSign Atlas R3 OV ACME CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIE9WIEFDTUUgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "a722c9f25470083db4069d629e106f0ca8de6caeaeceffd3c3af14cde8bc7220", + "size": 1642, + "filename": "v-6TVbKbKyGXPLB9TKvsbakeEhe-pi-eaT9sF4mgGr0=.pem", + "location": "security-state-staging/intermediates/884d150d-14aa-4b66-86e5-b81eab371750.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "v+6TVbKbKyGXPLB9TKvsbakeEhe+pi+eaT9sF4mgGr0=", + "crlite_enrolled": false, + "id": "9090bd44-30a3-4269-9ea1-3973dddf9033", + "last_modified": 1650553057192 + }, + { + "schema": 1650552523929, + "derHash": "5MLYxuVOzhyZajBZcrGuCwZPEFvgbP1ylf0trjO5fho=", + "subject": "CN=GlobalSign Atlas ECCR5 OV ACME CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTIwMAYDVQQDEylHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IE9WIEFDTUUgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "5cc2b94fc8e9c1b123bee963843ba94aff76a64649883767f1338c8d7f44f4e2", + "size": 1195, + "filename": "ipI_vvoPazVvEdDn9l8fFY4jeKtvuZSfWutFCu1kIkk=.pem", + "location": "security-state-staging/intermediates/74dbf254-96d5-401a-b9a0-4d408e850b5f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ipI/vvoPazVvEdDn9l8fFY4jeKtvuZSfWutFCu1kIkk=", + "crlite_enrolled": false, + "id": "ee7ae6b9-2371-4662-8209-79d4825ea154", + "last_modified": 1650553057183 + }, + { + "schema": 1650552518162, + "derHash": "615sGuMKD5uMV2kQW6nWiC5KzLpeLy9yrDiKL6yg/vM=", + "subject": "CN=GlobalSign Atlas R3 DV ACME CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIERWIEFDTUUgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "48d7fb2872b9764b7517d7ec845608c055a064c655972e36e082a18069737f85", + "size": 1642, + "filename": "b5e0CjH-QPTCZha67VgJSQ3Uj1lumilZfgmxcw6hyi8=.pem", + "location": "security-state-staging/intermediates/a69121a6-44ac-4122-bd99-50cdfae0ac05.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "b5e0CjH+QPTCZha67VgJSQ3Uj1lumilZfgmxcw6hyi8=", + "crlite_enrolled": false, + "id": "e982faae-a5c3-4f6b-aa5e-e7c4b4e46e93", + "last_modified": 1650553057174 + }, + { + "schema": 1650552521002, + "derHash": "Etz/m2AmnjtUbD/7fnS6WOt+68v1lWdx94T3pYLC6no=", + "subject": "CN=GlobalSign Atlas R3 DV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIERWIFRMUyBDQSAyMDIyIFEz", + "whitelist": false, + "attachment": { + "hash": "bcb43fbd11578b570d27776e300f87eb5525df0ecfb473a6e4050c9252faaaf8", + "size": 1642, + "filename": "0OyeXCoPbY19oU2881iW7i1bAu8Ni-HMKGN08r_G5XI=.pem", + "location": "security-state-staging/intermediates/b5d214b9-02bf-46d5-8c86-4000177b8e47.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "0OyeXCoPbY19oU2881iW7i1bAu8Ni+HMKGN08r/G5XI=", + "crlite_enrolled": false, + "id": "0102afe2-e620-4086-8721-bfcf4279d0af", + "last_modified": 1650553057165 + }, + { + "schema": 1650552515284, + "derHash": "DJJZS9OUtIh6HWbsXmMf+tO6Swf+LrbRXS9f7kyQxFQ=", + "subject": "CN=GlobalSign Atlas R6 EV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFI2IEVWIFRMUyBDQSAyMDIyIFEz", + "whitelist": false, + "attachment": { + "hash": "8586ac0ab17dd90efb094612944d800faae022383e152b1aaeba033a284bc974", + "size": 2333, + "filename": "r0fgmmfQcPt1Okq9xY0UwyyuDUtKFs2nVQY9k68RyzY=.pem", + "location": "security-state-staging/intermediates/e10cbedd-0720-4272-9958-97e576da4e17.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "r0fgmmfQcPt1Okq9xY0UwyyuDUtKFs2nVQY9k68RyzY=", + "crlite_enrolled": false, + "id": "0f272ddb-4d19-4947-ba8f-5f5bddcf5046", + "last_modified": 1650553057156 + }, + { + "schema": 1650552514303, + "derHash": "5sGNbQCMcSswF94a52WUGJgyVLAd5Ila6R87Kf9IJBc=", + "subject": "CN=GlobalSign Atlas ECCR5 DV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IERWIFRMUyBDQSAyMDIyIFEz", + "whitelist": false, + "attachment": { + "hash": "2a9c7dc537e9412fdafb13b4b2896b77ed6d2a7346610bce882f1ab2df5ac664", + "size": 1195, + "filename": "1OU4v4R9chWAHoW7_Lvqm0WW_68bV_okQ8VnVf6zQWY=.pem", + "location": "security-state-staging/intermediates/87b90dc7-c168-45d1-86f9-3a1dab597af5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "1OU4v4R9chWAHoW7/Lvqm0WW/68bV/okQ8VnVf6zQWY=", + "crlite_enrolled": false, + "id": "005ef0fb-4b58-42d2-97cd-606c8ef01974", + "last_modified": 1650553057146 + }, + { + "schema": 1650552517202, + "derHash": "EAU3DtJ2sM7zkkTp5pnOSAe/mt4Fv6WfJjgJ+0YGtyw=", + "subject": "CN=Prodrive Technologies GCC R3 OV TLS CA 2022,O=Prodrive Technologies B.V.,C=NL", + "subjectDN": "MGgxCzAJBgNVBAYTAk5MMSMwIQYDVQQKExpQcm9kcml2ZSBUZWNobm9sb2dpZXMgQi5WLjE0MDIGA1UEAxMrUHJvZHJpdmUgVGVjaG5vbG9naWVzIEdDQyBSMyBPViBUTFMgQ0EgMjAyMg==", + "whitelist": false, + "attachment": { + "hash": "6340c990e40558efb9b4997feecb901894ab85f7fd56125b77a9af382a4b527f", + "size": 1662, + "filename": "tahHgXS9JtW4UDcnvNe8n5iWicFpEkCKocabIv7CHMA=.pem", + "location": "security-state-staging/intermediates/3d30febd-5714-457a-af91-9ac17d3d6918.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tahHgXS9JtW4UDcnvNe8n5iWicFpEkCKocabIv7CHMA=", + "crlite_enrolled": false, + "id": "e9fd6e58-e869-4d61-bb86-61fd93c8abbd", + "last_modified": 1650553057137 + }, + { + "schema": 1650552513297, + "derHash": "5owzdvAQIZzKFOM38zGD752GHlc6nXYofzqq1NBPo48=", + "subject": "CN=GlobalSign Atlas ECCR5 OV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IE9WIFRMUyBDQSAyMDIyIFEz", + "whitelist": false, + "attachment": { + "hash": "b3e37a14bbfdd2d3f69e8f01b9a816d95a7479b8c14cf839df6fdfb1453ec883", + "size": 1195, + "filename": "ohmQ9W-FUxsSXCYCKjia3ARHzcJlH8EH06XNXd2hlWs=.pem", + "location": "security-state-staging/intermediates/a8f2ee36-6254-44e6-aa22-e580e522c69e.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ohmQ9W+FUxsSXCYCKjia3ARHzcJlH8EH06XNXd2hlWs=", + "crlite_enrolled": false, + "id": "07905fa8-fe73-4334-805d-6a28fa6350b0", + "last_modified": 1650553057127 + }, + { + "schema": 1650552516241, + "derHash": "QAbN/22NUtwJD/U4K5wwzqjMUAXfLV6CA81nkheXdQ0=", + "subject": "CN=GlobalSign Atlas E46 EV TLS CA 2022 Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIEU0NiBFViBUTFMgQ0EgMjAyMiBRMw==", + "whitelist": false, + "attachment": { + "hash": "5b93c9596b472129b6e4d110929b25bdb6fc53e792138971181cc78dd845f257", + "size": 1179, + "filename": "s9qNeP1oAz3ML21RIr9Nd_nR1L1bcapzMKpZ_2MqKe0=.pem", + "location": "security-state-staging/intermediates/c23322e4-6c40-459f-aa50-1c2e9702b06b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "s9qNeP1oAz3ML21RIr9Nd/nR1L1bcapzMKpZ/2MqKe0=", + "crlite_enrolled": false, + "id": "961ef95e-bbf4-47de-89fb-52ef4fe4cdf6", + "last_modified": 1650553057118 + }, + { + "schema": 1650070130036, + "derHash": "k45SZCUB3RbiPYrr+5frPDslYvUMMkFEw5CUayloSn4=", + "subject": "CN=Telekom Security DV RSA CA 22,O=Deutsche Telekom Security GmbH,C=DE", + "subjectDN": "MF4xCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3VyaXR5IEdtYkgxJjAkBgNVBAMMHVRlbGVrb20gU2VjdXJpdHkgRFYgUlNBIENBIDIy", + "whitelist": false, + "attachment": { + "hash": "2630819dec418a1e189974ade9765910f477438175848468a64894d5bbda8f67", + "size": 2113, + "filename": "PQgCR2Tyj2gl6d2EvsaoRq_hO9GQc1sBcmN7QkGUKf4=.pem", + "location": "security-state-staging/intermediates/0d78df23-c84c-4c49-8425-168287f3071c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "PQgCR2Tyj2gl6d2EvsaoRq/hO9GQc1sBcmN7QkGUKf4=", + "crlite_enrolled": true, + "id": "159ab7e9-8e9c-4450-a603-927a7ba6336a", + "last_modified": 1650077838684 + }, + { + "schema": 1650070129502, + "derHash": "Lf5H4USrs5+f5FHOzTUtmpvSiYI1HotlJP6xAdurH+w=", + "subject": "CN=GlobalSign Atlas R3 DV ACME CA 2022 Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIERWIEFDTUUgQ0EgMjAyMiBRMg==", + "whitelist": false, + "attachment": { + "hash": "63657216ab2e0265cbcbce85e9b2783ccd35376d4e7c0f127fcac181251aa5ed", + "size": 1642, + "filename": "_1VRS6Ha0tRFo_8a_6PqqF4wtj16qRxOO4rXTjqDNFk=.pem", + "location": "security-state-staging/intermediates/c70a5a54-9017-4d7c-814c-c431416e70eb.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/1VRS6Ha0tRFo/8a/6PqqF4wtj16qRxOO4rXTjqDNFk=", + "crlite_enrolled": true, + "id": "681f5a20-f291-4509-bec3-6adbf5c05429", + "last_modified": 1650077838672 + }, + { + "schema": 1650070130566, + "derHash": "qBav/3RuoPCgoGTAQy+dK30M557C0emUD0oYaiUYIoQ=", + "subject": "CN=GlobalSign Atlas ECCR5 OV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IE9WIFRMUyBDQSAyMDIyIFEy", + "whitelist": false, + "attachment": { + "hash": "049fc8dce345f116d37deb30e65527acd5a647e1de6e9d53685b97fe4fe7c5fe", + "size": 1195, + "filename": "TdoclaY2HEKPADeH2W-4kosHzm7UvYAafcidCBnsRDA=.pem", + "location": "security-state-staging/intermediates/6c42ca37-a352-4db9-b44d-e1a577fb1168.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "TdoclaY2HEKPADeH2W+4kosHzm7UvYAafcidCBnsRDA=", + "crlite_enrolled": true, + "id": "6de1a4fe-3539-4329-9838-cb4883353866", + "last_modified": 1650077838660 + }, + { + "schema": 1650070130388, + "derHash": "c1zDhuwaguZXpbRRyUlZYR08fQy7H9nZ7bQscZL4Rjo=", + "subject": "CN=GlobalSign Atlas R3 DV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIERWIFRMUyBDQSAyMDIyIFEy", + "whitelist": false, + "attachment": { + "hash": "5dc3ef9866bfcfb8743ef46140622103cd877f3ecd2310029ef8d8ff09b17dd4", + "size": 1642, + "filename": "7Zgd-tc1DR60EUxxu86y2PNtnPLUCDONUQJhN35HWIU=.pem", + "location": "security-state-staging/intermediates/63da4365-743a-4755-bfb8-beb8ff31e794.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "7Zgd+tc1DR60EUxxu86y2PNtnPLUCDONUQJhN35HWIU=", + "crlite_enrolled": true, + "id": "12cc99be-332a-4aef-af43-25fe8420b210", + "last_modified": 1650077838648 + }, + { + "schema": 1650070129680, + "derHash": "RfGFRTDsA3qqy0st6bTQ/b/GGIir1O4EFBg9meYEN6w=", + "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA 2022 Q2,O=Globalsign nv-sa,C=BE", + "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIDIwMjIgUTI=", + "whitelist": false, + "attachment": { + "hash": "0f455b2160c81e5b49b03b477baaa020d52928d16a4fe13504fca71f176fcf2e", + "size": 1642, + "filename": "6bop5gsmVRhy033XqsI4UKTek3IMHHpiLVeicdR_Luw=.pem", + "location": "security-state-staging/intermediates/12de76d7-2251-470d-8c62-aebb1b54b3d5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "6bop5gsmVRhy033XqsI4UKTek3IMHHpiLVeicdR/Luw=", + "crlite_enrolled": true, + "id": "18283798-9f59-4d62-9a34-f643b9b7a76f", + "last_modified": 1650077838634 + }, + { + "schema": 1650070130741, + "derHash": "r9s8OW2F0Z++WCBt8GWermFMSrGPXM8gt4Oq8LvpagM=", + "subject": "CN=GlobalSign Atlas R3 OV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIE9WIFRMUyBDQSAyMDIyIFEy", + "whitelist": false, + "attachment": { + "hash": "810129eb69110a8c071f593ade366adbaa81a2420d3531e8f862ea7a5b423c11", + "size": 1642, + "filename": "VkNfITzp8T2xdmHOxT0ZZUfHySNBzxU2GWFfqmC3oLE=.pem", + "location": "security-state-staging/intermediates/8ae25e5b-e31b-4d80-be59-24ed2ecd5386.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "VkNfITzp8T2xdmHOxT0ZZUfHySNBzxU2GWFfqmC3oLE=", + "crlite_enrolled": true, + "id": "6982bfcf-221f-44f5-b27e-d4af6dd1ab4f", + "last_modified": 1650077838620 + }, + { + "schema": 1650070129316, + "derHash": "Iy9jZ89WHgDIPhgKn8qFRrN3H7RQ68tKBSb4NJyMoTk=", + "subject": "CN=Entrust Certification Authority - L1E,OU=www.entrust.net/rpa is incorporated by reference+OU=(c) 2009 Entrust\\, Inc.,O=Entrust\\, Inc.,C=US", + "subjectDN": "MIGxMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjE5MDcGA1UECxMwd3d3LmVudHJ1c3QubmV0L3JwYSBpcyBpbmNvcnBvcmF0ZWQgYnkgcmVmZXJlbmNlMR8wHQYDVQQLExYoYykgMjAwOSBFbnRydXN0LCBJbmMuMS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFF", + "whitelist": false, + "attachment": { + "hash": "fb13e64f68c20f1be87aefb4a955348c9604a4103426723d49f8029f9fbcc797", + "size": 1833, + "filename": "HeMEDmta9acr_zmjHkdP_dKlW5RaqBlmADFOqTG56eA=.pem", + "location": "security-state-staging/intermediates/524fa4a4-38af-437a-a31e-038e5aaf46ef.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "HeMEDmta9acr/zmjHkdP/dKlW5RaqBlmADFOqTG56eA=", + "crlite_enrolled": true, + "id": "7a058667-a078-4b7b-a38e-adb1e3e95b39", + "last_modified": 1650077838604 + }, + { + "schema": 1650070129859, + "derHash": "yikDieDYxipAg/Yoo59S/j84tzGZz/r3wDcjeKRA+2o=", + "subject": "CN=Entrust Certification Authority - L1M,OU=See www.entrust.net/legal-terms+OU=(c) 2014 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", + "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTQgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFN", + "whitelist": false, + "attachment": { + "hash": "02e23f9b06e438417e4e71c8b9fb42a8e2da31ad266ad1ca50792fd36d7251b9", + "size": 1829, + "filename": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1_KAN6I=.pem", + "location": "security-state-staging/intermediates/75652090-686b-4e77-99f1-1f4effac785a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1/KAN6I=", + "crlite_enrolled": true, + "id": "e7ad797a-d41f-4eb9-b47a-1af34311a9d1", + "last_modified": 1650077838590 + }, + { + "schema": 1650070130208, + "derHash": "Q6cONiC8RSM52HiqaPLlNYrEYHrHIsTXfTxNLCBPf3E=", + "subject": "CN=DigiCert Assured ID G2 TLS RSA4096 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgQXNzdXJlZCBJRCBHMiBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTE=", + "whitelist": false, + "attachment": { + "hash": "fce800188289208c71c42766d767c63249b981ca723bba46e543fa2f5d87596c", + "size": 2093, + "filename": "Ld64SpoeXjpLjc-_7Wahk6p5-KVyzVSUptciuWsyxeY=.pem", + "location": "security-state-staging/intermediates/df08562c-f117-43d1-a40a-3997497594ad.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Ld64SpoeXjpLjc+/7Wahk6p5+KVyzVSUptciuWsyxeY=", + "crlite_enrolled": true, + "id": "55420fa1-1fcf-457c-ae91-dd6b8197e62b", + "last_modified": 1650077838575 + }, + { + "schema": 1649973510479, + "derHash": "2OGKZa94RUhUyqKPsvXnm1fsFB8BBCO8yKcav8BJbCw=", + "subject": "CN=GENIOUS RSA Extended Validation Secure Server CA,OU=Controlled by Sectigo exclusively for Genious Communications,O=Genious Communications,L=Marrakech,ST=Marrakech,C=MA", + "subjectDN": "MIHYMQswCQYDVQQGEwJNQTESMBAGA1UECBMJTWFycmFrZWNoMRIwEAYDVQQHEwlNYXJyYWtlY2gxHzAdBgNVBAoTFkdlbmlvdXMgQ29tbXVuaWNhdGlvbnMxRTBDBgNVBAsTPENvbnRyb2xsZWQgYnkgU2VjdGlnbyBleGNsdXNpdmVseSBmb3IgR2VuaW91cyBDb21tdW5pY2F0aW9uczE5MDcGA1UEAxMwR0VOSU9VUyBSU0EgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB", + "whitelist": false, + "attachment": { + "hash": "dc505a925299ceeea43e708019d0fb1086a320d0a035fb0cf585b7e376d7e4f6", + "size": 2304, + "filename": "ImErDX6kNNxXp53lr4QRD49owJiK0A8orzjdda8pDb0=.pem", + "location": "security-state-staging/intermediates/ae100f8d-c411-4912-908b-ef0fe59832c9.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ImErDX6kNNxXp53lr4QRD49owJiK0A8orzjdda8pDb0=", + "crlite_enrolled": true, + "id": "51c58311-bdec-4aab-a6cb-4a4f8e10e262", + "last_modified": 1650077838556 + }, + { + "schema": 1649796517769, + "derHash": "P94NNuAmtujr4sKIg2B8hlHeEL1sH8rTZeVg9OovOwM=", + "subject": "CN=Entrust Root Certification Authority - EC1,OU=See www.entrust.net/legal-terms+OU=(c) 2012 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", + "subjectDN": "MIG/MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTMwMQYDVQQDEypFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBFQzE=", + "whitelist": false, + "attachment": { + "hash": "fa84991015956f299a21164f4a77c8da26802bb7bac4207eb696cc086ce715b0", + "size": 1577, + "filename": "_qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=.pem", + "location": "security-state-staging/intermediates/df5a27df-b846-4677-a6cf-a3cff5a7c5fd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=", + "crlite_enrolled": false, + "id": "d033c52e-0329-43dc-8844-1181a6da4c4c", + "last_modified": 1649973509957 + }, + { + "schema": 1649796515890, + "derHash": "axQ8IAXVU5zCLqtfdy2yqf6HRn/v+gf88Kn30oJ0yno=", + "subject": "CN=Entrust Root Certification Authority - G2,OU=See www.entrust.net/legal-terms+OU=(c) 2009 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", + "subjectDN": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", + "whitelist": false, + "attachment": { + "hash": "d1674b1f7b1aef60543ae1256c7298ed99b5016d5a49c8ba8b9745c679003a0f", + "size": 1792, + "filename": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at_U=.pem", + "location": "security-state-staging/intermediates/4edf9367-ee46-443f-859e-c6bca2b52092.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=", + "crlite_enrolled": false, + "id": "d1b5e055-c4f8-4f16-96cf-f0ef4ee6496e", + "last_modified": 1649973509938 + }, + { + "schema": 1649860690936, + "derHash": "d81ReEppPZSC5+ppTkBTvP2d9lWA+84UsqdSfAgYA+E=", + "subject": "CN=DigiCert Assured ID TLS CA G2,O=DigiCert Inc,C=US", + "subjectDN": "MEwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJjAkBgNVBAMTHURpZ2lDZXJ0IEFzc3VyZWQgSUQgVExTIENBIEcy", + "whitelist": false, + "attachment": { + "hash": "38c26b5824725648f58682db859677ed5f482b8a98476190e2f4b5cea965ce52", + "size": 1918, + "filename": "7DHaE3Q3dQ9k5S7DaYbXog4BK-Oj492ta3kc2xRJ04s=.pem", + "location": "security-state-staging/intermediates/84f2426b-c265-4fe5-8bcc-09e6d612433c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "7DHaE3Q3dQ9k5S7DaYbXog4BK+Oj492ta3kc2xRJ04s=", + "crlite_enrolled": false, + "id": "d8d54086-08a6-43e4-94b4-1d46de796b92", + "last_modified": 1649973509799 + }, + { + "schema": 1649861371015, + "derHash": "E0XC05rktlzKceiOmispxx3JE/lS6TWoErAE26eueVc=", + "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", + "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", + "whitelist": false, + "attachment": { + "hash": "e6da6a137d62a7acc06ba43bbecbca249317995ef2a5821be7c4c3e4904d11cd", + "size": 2649, + "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", + "location": "security-state-staging/intermediates/27528fc3-b963-415a-a99a-4f327d7d7c83.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", + "crlite_enrolled": false, + "id": "4dff9826-c4f5-4bad-9c0b-ef5d5c0bc30d", + "last_modified": 1649973509688 + }, + { + "schema": 1649947717604, + "derHash": "6TJ6NHy+HLlM3JqlTLMbbkPWiWjRfQnOMmoJG/wvCxE=", + "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", + "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", + "whitelist": false, + "attachment": { + "hash": "88d175177fc311fc5ad5e439d61dfabfbe6a0cc3dbf7be58654a104156ba2dae", + "size": 2686, + "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", + "location": "security-state-staging/intermediates/7b9e7264-b0e3-4c9e-bda1-908a922c5b3f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", + "crlite_enrolled": false, + "id": "772a5e91-e4ab-4bc1-b2a7-9d88c0c7e9bf", + "last_modified": 1649973509629 + }, + { + "schema": 1649292517069, + "derHash": "AYGythcxeVYudWMjRAN8pSMBhhin9xaCaaPrhTZ/91w=", + "subject": "CN=DigiCert Assured ID Grid TLS RSA2048 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGUxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE9MDsGA1UEAxM0RGlnaUNlcnQgQXNzdXJlZCBJRCBHcmlkIFRMUyBSU0EyMDQ4IFNIQTI1NiAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "7f8f0eacf04c02686bfe08a2ccff1727606d8cbdee3d30408f7ee475b68600a3", + "size": 1804, + "filename": "_SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=.pem", + "location": "security-state-staging/intermediates/4e91bcaa-5473-4b40-8c61-3bb878424076.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=", + "crlite_enrolled": true, + "id": "a5acb099-b5f7-485c-a851-34cf19a7efc6", + "last_modified": 1649300241949 + }, + { + "schema": 1649235469232, + "derHash": "XLnp3jKxh+QLoU/fIA/aYse0+/iNZPd84C3W6+a8wbA=", + "subject": "CN=Hongkong Post e-Cert CA 1 - 15,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", + "subjectDN": "MHYxCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEnMCUGA1UEAxMeSG9uZ2tvbmcgUG9zdCBlLUNlcnQgQ0EgMSAtIDE1", + "whitelist": false, + "attachment": { + "hash": "b1dec54f97f654e9b417aea0e0d23a22852001ddaf0a4b9b7a4c8d05cb468de6", + "size": 1743, + "filename": "nJWwmV0E5pEw1Pt8yzqltuQOo94m9iy9I53BzzbPaqE=.pem", + "location": "security-state-staging/intermediates/6388fa41-6293-4a28-b765-3fe9a3137870.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "nJWwmV0E5pEw1Pt8yzqltuQOo94m9iy9I53BzzbPaqE=", + "crlite_enrolled": true, + "id": "136210c9-de18-49a4-bbd8-4b85d01b0cfc", + "last_modified": 1649300241929 + }, + { + "schema": 1649292517278, + "derHash": "aezbwxR/WB39y1Itne+yYLJnhK1JVcdOalJSLMxMRAg=", + "subject": "CN=Hongkong Post e-Cert SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", + "subjectDN": "MHoxCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDErMCkGA1UEAxMiSG9uZ2tvbmcgUG9zdCBlLUNlcnQgU1NMIENBIDMgLSAxNw==", + "whitelist": false, + "attachment": { + "hash": "d819d0da20d45c8f93a0efb0d37fd86e274107134845bf5480d9b3697bb0711d", + "size": 2093, + "filename": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65_DY=.pem", + "location": "security-state-staging/intermediates/bfa15d55-724f-433e-8e8c-57f115fe9319.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65/DY=", + "crlite_enrolled": true, + "id": "e04bc9de-e9d2-45e5-a6d5-3e29309132df", + "last_modified": 1649300241917 + }, + { + "schema": 1649292517458, + "derHash": "wY1Tv5hk3Qm8vKz9Zy4lZtTIH2iJ42313UJcBCEdB2M=", + "subject": "CN=Hongkong Post e-Cert EV SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", + "subjectDN": "MH0xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEuMCwGA1UEAxMlSG9uZ2tvbmcgUG9zdCBlLUNlcnQgRVYgU1NMIENBIDMgLSAxNw==", + "whitelist": false, + "attachment": { + "hash": "e4408c6b03e1deb0777ad20ea8b3466779565bcb2d92a17de6ac350bdaa5de18", + "size": 2097, + "filename": "shxxZc44F1hF3pjKzr0Oaoq-CwRFBKIr0_noGHUYkjA=.pem", + "location": "security-state-staging/intermediates/bdeda58e-1628-4e55-87fb-0b68db6affa9.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "shxxZc44F1hF3pjKzr0Oaoq+CwRFBKIr0/noGHUYkjA=", + "crlite_enrolled": true, + "id": "88070242-b7b9-4c79-870e-7b137524b1dc", + "last_modified": 1649300241905 + }, + { + "schema": 1648997868644, + "derHash": "02gLTj+I2x9bud3b+2v/MZx4Dj2fRO4k7BmVq0LWkU8=", + "subject": "CN=GIAG4x,O=Google Trust Services LLC,C=US", + "subjectDN": "MEIxCzAJBgNVBAYTAlVTMSIwIAYDVQQKExlHb29nbGUgVHJ1c3QgU2VydmljZXMgTExDMQ8wDQYDVQQDEwZHSUFHNHg=", + "whitelist": false, + "attachment": { + "hash": "7863677df584a77841650e5ad47e7ef8f7c42807c9d69969881133b275b19a50", + "size": 1991, + "filename": "AAGolo0N1iZa5uuvm02csZnkuZs8hvI-HRLhAHtNhqk=.pem", + "location": "security-state-staging/intermediates/d7339913-5a00-4ca1-8efa-d57dac665d41.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "AAGolo0N1iZa5uuvm02csZnkuZs8hvI+HRLhAHtNhqk=", + "crlite_enrolled": false, + "id": "339940cb-d4d8-4caa-88ba-b807e82edbbc", + "last_modified": 1649041064889 + }, + { + "schema": 1648781340337, + "derHash": "F2rr8pcr1vRxee3j3mOEixVDtFrilUvqRRhbFSU3ucQ=", + "subject": "CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", + "subjectDN": "MG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9uZ2tvbmcgUG9zdCBSb290IENBIDM=", + "whitelist": false, + "attachment": { + "hash": "b4ba7c31c249eb874c39b6a3e78147e6623a6ccbab1429cce2313067069229b7", + "size": 2020, + "filename": "JUHlO6WzsHrL5wl6xKA-BAwRz3ptSmfLIT1Vi1AWegY=.pem", + "location": "security-state-staging/intermediates/39b3dcba-a7a7-4969-9493-b50803c7a8a2.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "JUHlO6WzsHrL5wl6xKA+BAwRz3ptSmfLIT1Vi1AWegY=", + "crlite_enrolled": false, + "id": "842fdd33-8665-48df-a734-9fa716c62edb", + "last_modified": 1648781848995 + }, + { + "schema": 1648781339361, + "derHash": "FEIqG9WpHtunOXuGmJIjabavaYT/h6z2E52qkZ55WhQ=", + "subject": "CN=Hongkong Post e-Cert CA 1 - 14,O=Hongkong Post,C=HK", + "subjectDN": "ME4xCzAJBgNVBAYTAkhLMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MScwJQYDVQQDEx5Ib25na29uZyBQb3N0IGUtQ2VydCBDQSAxIC0gMTQ=", + "whitelist": false, + "attachment": { + "hash": "5a4d38e1effb5367e3fd8c4536f7e3be9e065be0cb93778e4484d32658a3c99c", + "size": 1626, + "filename": "vSKE_tMDVyGX2f0WYoCAXCvfnFi2nosboVhJtpmvc10=.pem", + "location": "security-state-staging/intermediates/85cc6392-76ad-4ab9-8327-9f8d7cbb9b9a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "vSKE/tMDVyGX2f0WYoCAXCvfnFi2nosboVhJtpmvc10=", + "crlite_enrolled": false, + "id": "a4269288-d28d-456b-84f5-cdd8b22a22d5", + "last_modified": 1648781848986 + }, + { + "schema": 1648667430650, + "derHash": "XScMtO/1h61s0Xyytg2QhKFT130qp5oss9sd25BGhPU=", + "subject": "CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGcxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE/MD0GA1UEAxM2RGlnaUNlcnQgSGlnaCBBc3N1cmFuY2UgVExTIEh5YnJpZCBFQ0MgU0hBMjU2IDIwMjAgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "3ea69b8dafeb8e68666332244529451eccd6e970a91f738b5ddac122f8ad34d2", + "size": 1500, + "filename": "vnCogm4QYze_Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=.pem", + "location": "security-state-staging/intermediates/80e952ea-02dd-40b2-9b1d-7cc71c4315a3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "vnCogm4QYze/Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=", + "crlite_enrolled": false, + "id": "5db1751f-eb67-4a74-b38e-d17a823eed64", + "last_modified": 1648695444528 + }, + { + "schema": 1648694933779, + "derHash": "dOq1c9p9sZUJe+DpDzNJNMekyJ6Ag3WdtDM6AO3SQ9k=", + "subject": "CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1,O=DigiCert\\, Inc.,C=US", + "subjectDN": "MGcxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE/MD0GA1UEAxM2RGlnaUNlcnQgSGlnaCBBc3N1cmFuY2UgVExTIEh5YnJpZCBFQ0MgU0hBMjU2IDIwMjAgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "11a50056d6027ba92a4d016bbdd72de6b8e7498171f12762ce2eda7a60762e6e", + "size": 1483, + "filename": "vnCogm4QYze_Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=.pem", + "location": "security-state-staging/intermediates/7bf16759-da8d-43e0-b260-f55aac6a39b7.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "vnCogm4QYze/Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=", + "crlite_enrolled": false, + "id": "ce744321-7f4d-4f9c-9da1-63454f6d33bb", + "last_modified": 1648695444515 + }, + { + "schema": 1648544242965, + "derHash": "0tfUvuj/G33rpCd0AIHAf3sYai8poSNg1T+MINRVU40=", + "subject": "CN=TrustAsia RSA OV SSL Server CA,O=TrustAsia Technologies\\, Inc.,ST=Shanghai,C=CN", + "subjectDN": "MHAxCzAJBgNVBAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEnMCUGA1UEAxMeVHJ1c3RBc2lhIFJTQSBPViBTU0wgU2VydmVyIENB", + "whitelist": false, + "attachment": { + "hash": "cef0257132e6443d4fa6a6f012339e0c0a90ba4eb8ce5d8083038ca1f5461393", + "size": 2133, + "filename": "ZyqPojkZzOKu3M2n4NkoNEh6f1YBTiJm2DtfHJroAWA=.pem", + "location": "security-state-staging/intermediates/f5b72560-0bb5-40bd-b68b-381a9e82b9e3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ZyqPojkZzOKu3M2n4NkoNEh6f1YBTiJm2DtfHJroAWA=", + "crlite_enrolled": false, + "id": "e944087f-76e7-41f9-a1bb-8ef5a2cd787a", + "last_modified": 1648609047053 + }, + { + "schema": 1648543719121, + "derHash": "QciXRzsDafp0sfT51/iRKUhcGjBcBxmoZ9yHFOCHAgA=", + "subject": "CN=D-TRUST EV CA 1-20-1 2020,O=D-Trust GmbH,C=DE", + "subjectDN": "MEgxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIjAgBgNVBAMTGUQtVFJVU1QgRVYgQ0EgMS0yMC0xIDIwMjA=", + "whitelist": false, + "attachment": { + "hash": "e7243885420768bcfaeaac83d278d2ecce102cec4ec1d4dfe7dcd96b7fd8729d", + "size": 1662, + "filename": "SJEHwcDvLp0G_-CfkfLyIPLHc6_k-E4CaepcoEBFq5s=.pem", + "location": "security-state-staging/intermediates/ff509022-df05-462c-8f12-7d582a910132.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "SJEHwcDvLp0G/+CfkfLyIPLHc6/k+E4CaepcoEBFq5s=", + "crlite_enrolled": false, + "id": "5767e4fa-0b6e-4802-be9d-d4bf52538de8", + "last_modified": 1648544242415 + }, + { + "schema": 1648543717132, + "derHash": "smjRaTSrW6Iy8XnNn1x/wH6oWDpWqafB1stY/ggjv1o=", + "subject": "CN=D-TRUST BR CA 1-20-2 2020,O=D-Trust GmbH,C=DE", + "subjectDN": "MEgxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIjAgBgNVBAMTGUQtVFJVU1QgQlIgQ0EgMS0yMC0yIDIwMjA=", + "whitelist": false, + "attachment": { + "hash": "f0c02de6205d137c443f7dfaca0471f9e5055ebab902816844871afd5048a50e", + "size": 1666, + "filename": "mYMhLRmTQhVj2rn5bt1WUUNesYqFtN-rN6zvKEu8akY=.pem", + "location": "security-state-staging/intermediates/a9d2887c-fa0f-4b64-80b4-b9d290b7c78a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "mYMhLRmTQhVj2rn5bt1WUUNesYqFtN+rN6zvKEu8akY=", + "crlite_enrolled": false, + "id": "9f5f757a-0664-40de-9df0-ddb2f904aa4b", + "last_modified": 1648544242406 + }, + { + "schema": 1648543718185, + "derHash": "GZqyqq//QEAeCjt7h+6ZZGWe/6lKH+y+kYrhNuS04Kg=", + "subject": "CN=D-TRUST BR CA 1-20-1 2020,O=D-Trust GmbH,C=DE", + "subjectDN": "MEgxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIjAgBgNVBAMTGUQtVFJVU1QgQlIgQ0EgMS0yMC0xIDIwMjA=", + "whitelist": false, + "attachment": { + "hash": "83449537aac8862f1ea8058fb335366b6fa8c7a51110de57bb5435ab54ab0804", + "size": 1662, + "filename": "kVO5KcVhLn-EO7KjAiRhLgxhA1OOzdUgODPbCEfZ-kQ=.pem", + "location": "security-state-staging/intermediates/75be562f-315d-4bd4-a243-fe93b83b194b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "kVO5KcVhLn+EO7KjAiRhLgxhA1OOzdUgODPbCEfZ+kQ=", + "crlite_enrolled": false, + "id": "cc812a01-562a-4570-bb57-65b903984b64", + "last_modified": 1648544242397 + }, + { + "schema": 1648514935601, + "derHash": "NoevAsSXMco0/k/bm15eDsrNiiBpVvGa+zggOsXwpWc=", + "subject": "CN=E-Tugra TLS ECC SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBUTFMgRUNDIFN1YkNBIFIx", + "whitelist": false, + "attachment": { + "hash": "42fa634a3eb98e54074f17d0fe0aab755c5e4067770fd05698206528ab594d6d", + "size": 1264, + "filename": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=.pem", + "location": "security-state-staging/intermediates/4c248f82-43b8-41d7-ad2d-517e741f7bd1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=", + "crlite_enrolled": true, + "id": "fc1b0c95-092b-42ed-9f22-9aab3be7f515", + "last_modified": 1648522634563 + }, + { + "schema": 1648479477863, + "derHash": "Xq8Fz8mgF3MNAeZojW45cQ4B/eN050sbJdOkgHauXbg=", + "subject": "CN=TrustSafe TLS ECC SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", + "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBFQ0MgU3ViQ0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "cef634a3d7c8f2241427ca02aa357aa14537f9bb1c601d32b24ac5c78454e98d", + "size": 1215, + "filename": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=.pem", + "location": "security-state-staging/intermediates/830ef734-1768-45ce-9ec0-edcea0f351c5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=", + "crlite_enrolled": true, + "id": "e25b26fc-5592-49af-bdc3-e378c0642fca", + "last_modified": 1648522634551 + }, + { + "schema": 1648514935045, + "derHash": "0WuprLdP7kqoCH7kguhuf29fVfrFAlY5cwdT/h5wXjw=", + "subject": "CN=TrustAsia RSA OV TLS CA - S1,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFsxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSUwIwYDVQQDDBxUcnVzdEFzaWEgUlNBIE9WIFRMUyBDQSAtIFMx", + "whitelist": false, + "attachment": { + "hash": "3478555efe90114245336918b07ce2fd5642c151b04ae871aa5b719513eff08c", + "size": 2044, + "filename": "3sdsoSIuRvtjF8OsOc4xIdevOWOclELQuaEQ85MqCYY=.pem", + "location": "security-state-staging/intermediates/a04c15b5-f9b9-47f9-91bc-106fd7754d29.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3sdsoSIuRvtjF8OsOc4xIdevOWOclELQuaEQ85MqCYY=", + "crlite_enrolled": true, + "id": "4a8de048-65c5-4477-b64e-79f9f290218e", + "last_modified": 1648522634539 + }, + { + "schema": 1648514936138, + "derHash": "G095TXcNxuBdx6QVhFD4JZVy621Z3mZ6PD++CNoBJIE=", + "subject": "CN=Global Trust CA - OV (RSA),O=Global Digital Inc.,C=TW", + "subjectDN": "MFAxCzAJBgNVBAYTAlRXMRwwGgYDVQQKExNHbG9iYWwgRGlnaXRhbCBJbmMuMSMwIQYDVQQDExpHbG9iYWwgVHJ1c3QgQ0EgLSBPViAoUlNBKQ==", + "whitelist": false, + "attachment": { + "hash": "136048afa3b294583ccc15f0a0a6102dcca6cc9bf7d5c19811460c54c4e79fce", + "size": 2089, + "filename": "K6VGZ_ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV-Oe8U=.pem", + "location": "security-state-staging/intermediates/002c6e58-6238-435b-9b0d-7b0691d17ed4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "K6VGZ/ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV+Oe8U=", + "crlite_enrolled": true, + "id": "d6d94677-fd6d-4901-bbae-6817f8abcd97", + "last_modified": 1648522634527 + }, + { + "schema": 1648514935421, + "derHash": "PhR5gEdlpiu3vU8N3rtVqUaiBjzSiC8FRhsXVPG2Z7E=", + "subject": "CN=HARICA Administration SSL ECC SubCA R2,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR", + "subjectDN": "MIGVMQswCQYDVQQGEwJHUjEPMA0GA1UEBwwGQXRoZW5zMUQwQgYDVQQKDDtIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENlcnQuIEF1dGhvcml0eTEvMC0GA1UEAwwmSEFSSUNBIEFkbWluaXN0cmF0aW9uIFNTTCBFQ0MgU3ViQ0EgUjI=", + "whitelist": false, + "attachment": { + "hash": "d70d3f0dfbc3af1e7f43be02aa899e7f11297273559465b856d65421bb15a24c", + "size": 1890, + "filename": "XLCUgwMafFqrcdmzcM5gMLCX0OBG7_vbnVKij5FQYhg=.pem", + "location": "security-state-staging/intermediates/cd67a4e0-5a13-4946-972f-125a5e277867.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XLCUgwMafFqrcdmzcM5gMLCX0OBG7/vbnVKij5FQYhg=", + "crlite_enrolled": true, + "id": "e274886d-aee1-4955-a7c1-fc32f4c81589", + "last_modified": 1648522634516 + }, + { + "schema": 1648514935242, "derHash": "wGjXdnhCVXcrvGrp9wpTakEK1oilDd6vv2a8xSVHlvY=", "subject": "CN=AC Firmaprofesional - Secure Web 2022,OU=Security Services,O=Firmaprofesional S.A.,C=ES", "subjectDN": "MIGTMQswCQYDVQQGEwJFUzEeMBwGA1UECgwVRmlybWFwcm9mZXNpb25hbCBTLkEuMRgwFgYDVQRhDA9WQVRFUy1BNjI2MzQwNjgxGjAYBgNVBAsMEVNlY3VyaXR5IFNlcnZpY2VzMS4wLAYDVQQDDCVBQyBGaXJtYXByb2Zlc2lvbmFsIC0gU2VjdXJlIFdlYiAyMDIy", @@ -14,9 +2318,45 @@ "mimetype": "application/x-pem-file" }, "pubKeyHash": "AzLO0BInI3V3PWBUXkW0rLPDpBwERRuBl6yYvAtDJ3M=", - "crlite_enrolled": false, + "crlite_enrolled": true, "id": "fb1dc569-0bb6-4432-bd65-32a8206361a7", - "last_modified": 1648177065480 + "last_modified": 1648522634504 + }, + { + "schema": 1648514935941, + "derHash": "mxby9oDXxL1qZ/YJNA2mQWq/nkPxMmsBuYgZInHQtfI=", + "subject": "CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW", + "subjectDN": "MG8xCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExGjAYBgNVBAsTEVNlY3VyZSBTU0wgU3ViLUNBMTAwLgYDVQQDEydUV0NBIFNlY3VyZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", + "whitelist": false, + "attachment": { + "hash": "acd717a163c1e31ec674bb2953f2f16be424838b5d36e703984df5d77c80d023", + "size": 2032, + "filename": "8hqbhsMMFPaPA8t81pxqFer9-neHBcQvO7-TAKjWkb0=.pem", + "location": "security-state-staging/intermediates/b5f4faa4-0521-4c2b-939b-4bef5f921421.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8hqbhsMMFPaPA8t81pxqFer9+neHBcQvO7+TAKjWkb0=", + "crlite_enrolled": true, + "id": "163c4d13-0624-40c4-83d7-7b9bbea0f129", + "last_modified": 1648522634492 + }, + { + "schema": 1648514934852, + "derHash": "SWlaXw9+9u32mBk9me1Iuq3iDqRXQDwRzq1JLEWGZdo=", + "subject": "CN=TWCA Global EVSSL Certification Authority,OU=Global EVSSL Sub-CA,O=TAIWAN-CA,C=TW", + "subjectDN": "MHMxCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExHDAaBgNVBAsTE0dsb2JhbCBFVlNTTCBTdWItQ0ExMjAwBgNVBAMTKVRXQ0EgR2xvYmFsIEVWU1NMIENlcnRpZmljYXRpb24gQXV0aG9yaXR5", + "whitelist": false, + "attachment": { + "hash": "4f777697d0c427439f9282b53a652b4a868074c5e1ae55a6dfe51dc32d19b817", + "size": 1955, + "filename": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp-TY=.pem", + "location": "security-state-staging/intermediates/1b6005ce-3d05-4336-b84f-46f273145539.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp+TY=", + "crlite_enrolled": true, + "id": "c44d3056-f6b6-415c-8f13-43d0b71fb7b5", + "last_modified": 1648522634480 }, { "schema": 1648111717634, @@ -199,60 +2539,6 @@ "last_modified": 1648025848795 }, { - "schema": 1648025320193, - "derHash": "mxby9oDXxL1qZ/YJNA2mQWq/nkPxMmsBuYgZInHQtfI=", - "subject": "CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW", - "subjectDN": "MG8xCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExGjAYBgNVBAsTEVNlY3VyZSBTU0wgU3ViLUNBMTAwLgYDVQQDEydUV0NBIFNlY3VyZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", - "whitelist": false, - "attachment": { - "hash": "acd717a163c1e31ec674bb2953f2f16be424838b5d36e703984df5d77c80d023", - "size": 2032, - "filename": "8hqbhsMMFPaPA8t81pxqFer9-neHBcQvO7-TAKjWkb0=.pem", - "location": "security-state-staging/intermediates/b5f4faa4-0521-4c2b-939b-4bef5f921421.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8hqbhsMMFPaPA8t81pxqFer9+neHBcQvO7+TAKjWkb0=", - "crlite_enrolled": false, - "id": "163c4d13-0624-40c4-83d7-7b9bbea0f129", - "last_modified": 1648025848786 - }, - { - "schema": 1648025319180, - "derHash": "SWlaXw9+9u32mBk9me1Iuq3iDqRXQDwRzq1JLEWGZdo=", - "subject": "CN=TWCA Global EVSSL Certification Authority,OU=Global EVSSL Sub-CA,O=TAIWAN-CA,C=TW", - "subjectDN": "MHMxCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExHDAaBgNVBAsTE0dsb2JhbCBFVlNTTCBTdWItQ0ExMjAwBgNVBAMTKVRXQ0EgR2xvYmFsIEVWU1NMIENlcnRpZmljYXRpb24gQXV0aG9yaXR5", - "whitelist": false, - "attachment": { - "hash": "4f777697d0c427439f9282b53a652b4a868074c5e1ae55a6dfe51dc32d19b817", - "size": 1955, - "filename": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp-TY=.pem", - "location": "security-state-staging/intermediates/1b6005ce-3d05-4336-b84f-46f273145539.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp+TY=", - "crlite_enrolled": false, - "id": "c44d3056-f6b6-415c-8f13-43d0b71fb7b5", - "last_modified": 1648025848777 - }, - { - "schema": 1647788245578, - "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", - "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", - "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", - "whitelist": false, - "attachment": { - "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", - "size": 1963, - "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", - "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", - "crlite_enrolled": false, - "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", - "last_modified": 1647853041835 - }, - { "schema": 1647701328614, "derHash": "mKDDuhiZJYWV0E8V0TTFcy6GS3VcZIpI0cF/CiYO9ac=", "subject": "CN=TrustSafe TLS RSA SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", @@ -289,24 +2575,6 @@ "last_modified": 1647701842304 }, { - "schema": 1647701328071, - "derHash": "lzpBJ2/9AeAnoqrUnjTDeEbT6Xb/amILZxLjODIEGqY=", - "subject": "CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US", - "subjectDN": "MIG0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xLTArBgNVBAsTJGh0dHA6Ly9jZXJ0cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkgU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcy", - "whitelist": false, - "attachment": { - "hash": "a111efc20329e87b541cfc3e7f526fc54bb24624fddf210f4347b9fadfb1ab6b", - "size": 1727, - "filename": "8Rw90Ej3Ttt8RRkrg-WYDS9n7IS03bk5bjP_UXPtaY8=.pem", - "location": "security-state-staging/intermediates/a2a04dfe-6201-4d0a-b8cf-80d2975bfb51.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8Rw90Ej3Ttt8RRkrg+WYDS9n7IS03bk5bjP/UXPtaY8=", - "crlite_enrolled": true, - "id": "549c92e2-3738-4c8c-ae37-407e4e6158ce", - "last_modified": 1647701842291 - }, - { "schema": 1647680259122, "derHash": "4i5rJZCOEQemB68GDgsk5QxtlWL/BPRVvg+N9BpQMsA=", "subject": "CN=SZAFIR Trusted CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL", @@ -1081,42 +3349,6 @@ "last_modified": 1647053840388 }, { - "schema": 1646966924057, - "derHash": "AYGythcxeVYudWMjRAN8pSMBhhin9xaCaaPrhTZ/91w=", - "subject": "CN=DigiCert Assured ID Grid TLS RSA2048 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", - "subjectDN": "MGUxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE9MDsGA1UEAxM0RGlnaUNlcnQgQXNzdXJlZCBJRCBHcmlkIFRMUyBSU0EyMDQ4IFNIQTI1NiAyMDIyIENBMQ==", - "whitelist": false, - "attachment": { - "hash": "7f8f0eacf04c02686bfe08a2ccff1727606d8cbdee3d30408f7ee475b68600a3", - "size": 1804, - "filename": "_SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=.pem", - "location": "security-state-staging/intermediates/4e91bcaa-5473-4b40-8c61-3bb878424076.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=", - "crlite_enrolled": false, - "id": "a5acb099-b5f7-485c-a851-34cf19a7efc6", - "last_modified": 1646967480339 - }, - { - "schema": 1646751472958, - "derHash": "G095TXcNxuBdx6QVhFD4JZVy621Z3mZ6PD++CNoBJIE=", - "subject": "CN=Global Trust CA - OV (RSA),O=Global Digital Inc.,C=TW", - "subjectDN": "MFAxCzAJBgNVBAYTAlRXMRwwGgYDVQQKExNHbG9iYWwgRGlnaXRhbCBJbmMuMSMwIQYDVQQDExpHbG9iYWwgVHJ1c3QgQ0EgLSBPViAoUlNBKQ==", - "whitelist": false, - "attachment": { - "hash": "136048afa3b294583ccc15f0a0a6102dcca6cc9bf7d5c19811460c54c4e79fce", - "size": 2089, - "filename": "K6VGZ_ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV-Oe8U=.pem", - "location": "security-state-staging/intermediates/002c6e58-6238-435b-9b0d-7b0691d17ed4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "K6VGZ/ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV+Oe8U=", - "crlite_enrolled": false, - "id": "d6d94677-fd6d-4901-bbae-6817f8abcd97", - "last_modified": 1646881071888 - }, - { "schema": 1646449055023, "derHash": "YO9BLqvnw/xjme7RtjO3d3R1FbKdchuWPdJYvEmKspI=", "subject": "CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US", @@ -1207,24 +3439,6 @@ "last_modified": 1646513861656 }, { - "schema": 1646448537822, - "derHash": "NoevAsSXMco0/k/bm15eDsrNiiBpVvGa+zggOsXwpWc=", - "subject": "CN=E-Tugra TLS ECC SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", - "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBUTFMgRUNDIFN1YkNBIFIx", - "whitelist": false, - "attachment": { - "hash": "42fa634a3eb98e54074f17d0fe0aab755c5e4067770fd05698206528ab594d6d", - "size": 1264, - "filename": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=.pem", - "location": "security-state-staging/intermediates/4c248f82-43b8-41d7-ad2d-517e741f7bd1.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=", - "crlite_enrolled": false, - "id": "fc1b0c95-092b-42ed-9f22-9aab3be7f515", - "last_modified": 1646449054505 - }, - { "schema": 1646448540616, "derHash": "Z2JSLktXrtCWBXSrBh957qBoxa49gV9QqXHOxJWKkrg=", "subject": "CN=E-Tugra EV TLS RSA SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", @@ -1243,24 +3457,6 @@ "last_modified": 1646449054486 }, { - "schema": 1646448541989, - "derHash": "Xq8Fz8mgF3MNAeZojW45cQ4B/eN050sbJdOkgHauXbg=", - "subject": "CN=TrustSafe TLS ECC SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", - "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBFQ0MgU3ViQ0EgUjE=", - "whitelist": false, - "attachment": { - "hash": "cef634a3d7c8f2241427ca02aa357aa14537f9bb1c601d32b24ac5c78454e98d", - "size": 1215, - "filename": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=.pem", - "location": "security-state-staging/intermediates/830ef734-1768-45ce-9ec0-edcea0f351c5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=", - "crlite_enrolled": false, - "id": "e25b26fc-5592-49af-bdc3-e378c0642fca", - "last_modified": 1646449054477 - }, - { "schema": 1646448543405, "derHash": "o2wcxiPs8+2JmprBT91WIJGYWOYh5od+Ae9Q2h22o6s=", "subject": "CN=E-Tugra EV TLS ECC SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", @@ -1405,24 +3601,6 @@ "last_modified": 1645930654960 }, { - "schema": 1645714111086, - "derHash": "k45SZCUB3RbiPYrr+5frPDslYvUMMkFEw5CUayloSn4=", - "subject": "CN=Telekom Security DV RSA CA 22,O=Deutsche Telekom Security GmbH,C=DE", - "subjectDN": "MF4xCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3VyaXR5IEdtYkgxJjAkBgNVBAMMHVRlbGVrb20gU2VjdXJpdHkgRFYgUlNBIENBIDIy", - "whitelist": false, - "attachment": { - "hash": "2630819dec418a1e189974ade9765910f477438175848468a64894d5bbda8f67", - "size": 2113, - "filename": "PQgCR2Tyj2gl6d2EvsaoRq_hO9GQc1sBcmN7QkGUKf4=.pem", - "location": "security-state-staging/intermediates/0d78df23-c84c-4c49-8425-168287f3071c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "PQgCR2Tyj2gl6d2EvsaoRq/hO9GQc1sBcmN7QkGUKf4=", - "crlite_enrolled": false, - "id": "159ab7e9-8e9c-4450-a603-927a7ba6336a", - "last_modified": 1645714648430 - }, - { "schema": 1645578826247, "derHash": "6IHTuDw7xpTX2Z+S3oOyv/XG7i2YcaRG3qEH1jl1Zfw=", "subject": "CN=Apple Public EV Server RSA CA 3 - G1,O=Apple Inc.,C=US", @@ -1495,24 +3673,6 @@ "last_modified": 1645579199231 }, { - "schema": 1645578764942, - "derHash": "V94Fg+/Ssm4DYdqZ2p30ZI3vfuhEHDtyivqbzeD5smo=", - "subject": "CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES", - "subjectDN": "MFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjg=", - "whitelist": false, - "attachment": { - "hash": "6d84cf680e962beda938e61164d5227272b5f42dc698ba20d2daf9fa5b01e5a4", - "size": 2166, - "filename": "Ow1ztL5KhUrcPlHX75-kiu-7LN2CTWe9x9fQmiq8LUM=.pem", - "location": "security-state-staging/intermediates/db0d57a0-e293-40b4-ac35-c505d0b77f4c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Ow1ztL5KhUrcPlHX75+kiu+7LN2CTWe9x9fQmiq8LUM=", - "crlite_enrolled": true, - "id": "19461103-183f-4856-b2fe-be344c1f63e1", - "last_modified": 1645579199217 - }, - { "schema": 1645578818095, "derHash": "qq/pPjWbFJpMngtXLVG/N/2jin6aNZv5A1m6nKqWqt8=", "subject": "CN=Atos TrustedRoot Server-CA 2013,O=Atos,C=DE", @@ -1585,24 +3745,6 @@ "last_modified": 1645579199159 }, { - "schema": 1645578772450, - "derHash": "J47PIR4lGOndmROvxYPusxJ8gYS8vu2q171k6J6MQxA=", - "subject": "CN=QuoVadis Grid ICA G2,O=QuoVadis Limited,C=BM", - "subjectDN": "MEcxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR0wGwYDVQQDExRRdW9WYWRpcyBHcmlkIElDQSBHMg==", - "whitelist": false, - "attachment": { - "hash": "8e15c43f71096a592c3d5819db25f4547bb4ef4f8232293578abdf314d149392", - "size": 2353, - "filename": "5rlUfVlXaS82HCd6DZI7w8rIamphHCdjnXNpXREZynQ=.pem", - "location": "security-state-staging/intermediates/1524fb2d-0b4f-4e05-95b5-4ef2d0f54ce4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "5rlUfVlXaS82HCd6DZI7w8rIamphHCdjnXNpXREZynQ=", - "crlite_enrolled": true, - "id": "fcc1dad7-82be-4595-a2a7-e393e733325e", - "last_modified": 1645579199146 - }, - { "schema": 1645578799164, "derHash": "N/0pxwHWl3mY8gUVPqikwumWNU3wctSYTcXYsfdaK2E=", "subject": "CN=SwissNS TLS Issuing RSA CA R1,O=swissns GmbH,L=Luzern,ST=Luzern,C=CH", @@ -1711,24 +3853,6 @@ "last_modified": 1645579199066 }, { - "schema": 1645578795149, - "derHash": "0zqEf2QDd74K4aQpFToH6HyIJ/pIQLUVi83LheEKRTo=", - "subject": "CN=VR IDENT EV SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", - "subjectDN": "ME0xCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMSAwHgYDVQQDDBdWUiBJREVOVCBFViBTU0wgQ0EgMjAyMA==", - "whitelist": false, - "attachment": { - "hash": "a95e7ccf2ef4b020f65fbd061c44e49d966821be27623376e3f16a8a3ebd371f", - "size": 2361, - "filename": "te09bIALahNazDua57TEibeM7CatIkOAT8t-qu_Kdro=.pem", - "location": "security-state-staging/intermediates/298033d7-ae37-44c9-a510-5a992462dd9b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "te09bIALahNazDua57TEibeM7CatIkOAT8t+qu/Kdro=", - "crlite_enrolled": true, - "id": "7a72a490-73aa-431e-8475-2fe1df233eff", - "last_modified": 1645579199052 - }, - { "schema": 1645578772806, "derHash": "6ywqgGxp/JY8TiSlu+og7U47hq55hzC7TupRv53jMyU=", "subject": "CN=QuoVadis PKIoverheid Server CA 2020,O=QuoVadis Trustlink B.V.,C=NL", @@ -1981,24 +4105,6 @@ "last_modified": 1645579198849 }, { - "schema": 1645578782836, - "derHash": "n/I8uTh7ngCDvVqhlU7t33kokKqOZ81NON0or0pDmtg=", - "subject": "CN=AC SERVIDORES SEGUROS TIPO2,OU=Ceres,O=FNMT-RCM,C=ES", - "subjectDN": "MHAxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgU0VSVklET1JFUyBTRUdVUk9TIFRJUE8y", - "whitelist": false, - "attachment": { - "hash": "ce9833a29f1fcb59210dd0a59d92c50ef56f427317cc530e9f61e8b7c2584453", - "size": 1280, - "filename": "dCoEY_Du2xeUAuG2_98ZWoRzf_eJoM-rCMtK2M1wF94=.pem", - "location": "security-state-staging/intermediates/598a03d5-c331-41bf-8b90-254be5a3768b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "dCoEY/Du2xeUAuG2/98ZWoRzf/eJoM+rCMtK2M1wF94=", - "crlite_enrolled": true, - "id": "208442ca-2a8f-4348-837d-b7ae6c345a5b", - "last_modified": 1645579198835 - }, - { "schema": 1645578806912, "derHash": "MoZpFBLzDs5cBl/WL0OSpHYtHneBUzg1nfOQKZ+9Ye8=", "subject": "CN=Thawte EV RSA CA G2,O=DigiCert Inc,C=US", @@ -2143,24 +4249,6 @@ "last_modified": 1645579198720 }, { - "schema": 1645578808398, - "derHash": "YDiLdz0z6RQWSGE/NrkUnwFaEUN4us8+NpSGT/2kJuw=", - "subject": "CN=HydrantID EV SSL CA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", - "subjectDN": "MGAxCzAJBgNVBAYTAlVTMTAwLgYDVQQKDCdIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHzAdBgNVBAMMFkh5ZHJhbnRJRCBFViBTU0wgQ0EgRzI=", - "whitelist": false, - "attachment": { - "hash": "ba2cc602bd31081e17f7745ac462854773e79726958ff1b8a553cc7ecaba9db2", - "size": 2389, - "filename": "FpAps1LWs_UTm3xApHYkNccnnZX-7Wc_v8V0t70p6rg=.pem", - "location": "security-state-staging/intermediates/63b88c2f-4e40-486a-9d6f-55dfd935e74d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "FpAps1LWs/UTm3xApHYkNccnnZX+7Wc/v8V0t70p6rg=", - "crlite_enrolled": true, - "id": "500ac819-9169-4961-98fe-e44519ef181d", - "last_modified": 1645579198703 - }, - { "schema": 1645578810985, "derHash": "3JmT3DOnH9lYCHh9GaS1VwTmAdV+vOrMiALHi1w29cc=", "subject": "CN=Greek Universities Network TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -2629,24 +4717,6 @@ "last_modified": 1645579198344 }, { - "schema": 1645578798430, - "derHash": "02gLTj+I2x9bud3b+2v/MZx4Dj2fRO4k7BmVq0LWkU8=", - "subject": "CN=GIAG4x,O=Google Trust Services LLC,C=US", - "subjectDN": "MEIxCzAJBgNVBAYTAlVTMSIwIAYDVQQKExlHb29nbGUgVHJ1c3QgU2VydmljZXMgTExDMQ8wDQYDVQQDEwZHSUFHNHg=", - "whitelist": false, - "attachment": { - "hash": "7863677df584a77841650e5ad47e7ef8f7c42807c9d69969881133b275b19a50", - "size": 1991, - "filename": "AAGolo0N1iZa5uuvm02csZnkuZs8hvI-HRLhAHtNhqk=.pem", - "location": "security-state-staging/intermediates/d7339913-5a00-4ca1-8efa-d57dac665d41.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "AAGolo0N1iZa5uuvm02csZnkuZs8hvI+HRLhAHtNhqk=", - "crlite_enrolled": true, - "id": "339940cb-d4d8-4caa-88ba-b807e82edbbc", - "last_modified": 1645579198330 - }, - { "schema": 1645578812086, "derHash": "8Z1VzQij6kK9kVCAc4IxdN2SNwITwXf4JTF1badQilE=", "subject": "CN=JPRS Domain Validation Authority - G4,O=Japan Registry Services Co.\\, Ltd.,C=JP", @@ -2989,42 +5059,6 @@ "last_modified": 1645579198073 }, { - "schema": 1645578770223, - "derHash": "9nwj73v3QSgJ22sd09RKCNN1TZnKumoT96BcckkInIk=", - "subject": "CN=QuoVadis Global SSL ICA G2,O=QuoVadis Limited,C=BM", - "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMg==", - "whitelist": false, - "attachment": { - "hash": "f3d6221594115cd098f20f66a013d90aae3becd3c578a737a8e58a35230c208d", - "size": 2016, - "filename": "tYkfFN27P1GUjH5ME128BCg302dL2iwOYhz5wwFJb50=.pem", - "location": "security-state-staging/intermediates/36feb64b-7e91-4cc9-a103-1c3a3407616c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "tYkfFN27P1GUjH5ME128BCg302dL2iwOYhz5wwFJb50=", - "crlite_enrolled": true, - "id": "4465bd66-5d4a-4188-9862-8b514b0f1f46", - "last_modified": 1645579198047 - }, - { - "schema": 1645578790344, - "derHash": "Httr2RJ0iC23lb/FFPiqvhCtlVy8z9P9Wltf67LOW2g=", - "subject": "CN=AC SERVIDORES SEGUROS TIPO1,OU=Ceres,O=FNMT-RCM,C=ES", - "subjectDN": "MHAxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgU0VSVklET1JFUyBTRUdVUk9TIFRJUE8x", - "whitelist": false, - "attachment": { - "hash": "1b46f0408f2325ad33c8b3c5dbcf16fa1e7e49dc37065a9692b2b6f8b93fc666", - "size": 1280, - "filename": "Rlnql4UHcyG02SDPnuECa_zDzdDX09uEM9PKaegr4Qs=.pem", - "location": "security-state-staging/intermediates/08be4d50-7440-476f-b9ec-304930e3bb59.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Rlnql4UHcyG02SDPnuECa/zDzdDX09uEM9PKaegr4Qs=", - "crlite_enrolled": true, - "id": "b5f78224-02b0-4114-bef3-50c347e8ed22", - "last_modified": 1645579198034 - }, - { "schema": 1645578827714, "derHash": "RAs3QW8t6FLKOGFQ1hHsCvMd1Y2KJ/iCgVp+o+5oSO4=", "subject": "CN=Bloomberg TLS CA,O=Bloomberg LP,C=US", @@ -3097,24 +5131,6 @@ "last_modified": 1645579197981 }, { - "schema": 1645578780981, - "derHash": "XScMtO/1h61s0Xyytg2QhKFT130qp5oss9sd25BGhPU=", - "subject": "CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1,O=DigiCert\\, Inc.,C=US", - "subjectDN": "MGcxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE/MD0GA1UEAxM2RGlnaUNlcnQgSGlnaCBBc3N1cmFuY2UgVExTIEh5YnJpZCBFQ0MgU0hBMjU2IDIwMjAgQ0Ex", - "whitelist": false, - "attachment": { - "hash": "3ea69b8dafeb8e68666332244529451eccd6e970a91f738b5ddac122f8ad34d2", - "size": 1500, - "filename": "vnCogm4QYze_Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=.pem", - "location": "security-state-staging/intermediates/80e952ea-02dd-40b2-9b1d-7cc71c4315a3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "vnCogm4QYze/Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=", - "crlite_enrolled": true, - "id": "5db1751f-eb67-4a74-b38e-d17a823eed64", - "last_modified": 1645579197964 - }, - { "schema": 1645578822211, "derHash": "Ol9O91ja1i5DaSRkReBo5Nrf3Uhi3Nw1LLyj9YyxAoo=", "subject": "CN=University of Ioannina CA R2,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR", @@ -4033,24 +6049,6 @@ "last_modified": 1645579197271 }, { - "schema": 1645578780234, - "derHash": "y2Zmsyv/Lv7cxBh98Umm00pdELcWW5z/KmfA4xGu7tc=", - "subject": "CN=QuoVadis Europe EV SSL CA G1,O=QuoVadis Trustlink B.V.,C=NL", - "subjectDN": "MFYxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjElMCMGA1UEAwwcUXVvVmFkaXMgRXVyb3BlIEVWIFNTTCBDQSBHMQ==", - "whitelist": false, - "attachment": { - "hash": "990290f2ea4ff420df521c3b3851971e7be41a8508394faa2cb562a69bce9e55", - "size": 2385, - "filename": "WkWVWx1-X3CuwtFGJvDjdr5hOX8PeMryJG2Va7Y6cj8=.pem", - "location": "security-state-staging/intermediates/e5b45de5-c4f7-4c43-82de-dedc4ae1a1e2.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "WkWVWx1+X3CuwtFGJvDjdr5hOX8PeMryJG2Va7Y6cj8=", - "crlite_enrolled": true, - "id": "003ddfee-23a8-48f9-8ae6-373cd5fcf8da", - "last_modified": 1645579197257 - }, - { "schema": 1645578829207, "derHash": "2ImiZB9d+UE1OBfIelzQ2c2s7TiGJAv72TcynpTTpFs=", "subject": "CN=DKB CA 1O1,O=Deutsche Kreditbank AG,C=DE", @@ -4285,24 +6283,6 @@ "last_modified": 1645579197062 }, { - "schema": 1645578813195, - "derHash": "+C+LUJZ8ClLp2Bt5qQ/+uOUVt4FKXl3i8msPavb+dTE=", - "subject": "CN=AlpiroSSL ECC EV CA,O=Alpiro s.r.o.,C=CZ", - "subjectDN": "MEMxCzAJBgNVBAYTAkNaMRYwFAYDVQQKEw1BbHBpcm8gcy5yLm8uMRwwGgYDVQQDExNBbHBpcm9TU0wgRUNDIEVWIENB", - "whitelist": false, - "attachment": { - "hash": "bf09308f3a01e9ddf3ae677edf6cd8e3a11e9e3c0c419fe2bfaa997e33c16acf", - "size": 1293, - "filename": "GnXFLd5ceheMJdGnZvJlKLtfXp4UjCGVFGe713NdmTc=.pem", - "location": "security-state-staging/intermediates/d7c0e80f-aa6c-44df-b808-6229806536ea.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "GnXFLd5ceheMJdGnZvJlKLtfXp4UjCGVFGe713NdmTc=", - "crlite_enrolled": true, - "id": "82d0865f-c1b7-488f-b20d-26edea9b53e9", - "last_modified": 1645579197048 - }, - { "schema": 1645578793279, "derHash": "iExR1kO+ESbnLzsbcji6V+AmjB1sSiKs3WJJwXWKU7Y=", "subject": "CN=International Hellenic University CA R1,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR", @@ -4339,24 +6319,6 @@ "last_modified": 1645579197021 }, { - "schema": 1645578795878, - "derHash": "NH0Y3Mwu/FGpIOen+7B7+9o1YTaB+C3KXExyuwyDwDU=", - "subject": "CN=VR IDENT SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", - "subjectDN": "MEoxCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMR0wGwYDVQQDDBRWUiBJREVOVCBTU0wgQ0EgMjAyMA==", - "whitelist": false, - "attachment": { - "hash": "4158e246be129509cb8d8eb14b647517fea0196e81a9d593f4b8f64a11a6414f", - "size": 2357, - "filename": "fQUctsUYoew1aFnAFT0prf-kJmkVNqkPo2jJ5Jm9RaA=.pem", - "location": "security-state-staging/intermediates/dad40639-ba45-44a1-a203-773fa93a2393.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "fQUctsUYoew1aFnAFT0prf+kJmkVNqkPo2jJ5Jm9RaA=", - "crlite_enrolled": true, - "id": "b0feb9ce-0625-4089-8193-4f2e7d87b79e", - "last_modified": 1645579197008 - }, - { "schema": 1645578757683, "derHash": "TzXGucEAkF/yW7AcCiDr4zW87vJJzp/6HhHgYu1m/NE=", "subject": "CN=DigiCert Trusted G4 TLS RSA SHA384 2020 CA1,O=DigiCert Inc,C=US", @@ -4375,24 +6337,6 @@ "last_modified": 1645579196995 }, { - "schema": 1645578819587, - "derHash": "sarhvNVV6KPR492o7ITnV8VSZVNEzj/uu6+Y6JXb7aw=", - "subject": "CN=QuoVadis Europe SSL CA G2,O=QuoVadis Trustlink B.V.,C=NL", - "subjectDN": "MFMxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEiMCAGA1UEAwwZUXVvVmFkaXMgRXVyb3BlIFNTTCBDQSBHMg==", - "whitelist": false, - "attachment": { - "hash": "dfb31ebff112bccbef0ba90c29987f9962823acb59f69bd984351d9e2c7e22df", - "size": 2381, - "filename": "XOogr9_VItHwTOA_JogutdX4V06tVw9btHQLa2tR0_A=.pem", - "location": "security-state-staging/intermediates/edc35c3e-658f-4b1e-a6c0-925b06319a69.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "XOogr9/VItHwTOA/JogutdX4V06tVw9btHQLa2tR0/A=", - "crlite_enrolled": true, - "id": "d7036b24-b5f1-44e4-8404-0f50130b95fd", - "last_modified": 1645579196981 - }, - { "schema": 1645578826623, "derHash": "JXaHE9O0Wfk4LSpZT4XzRwn9KokwcxVCpBRv+yRr7Gk=", "subject": "CN=DigiCert TLS RSA SHA256 2020 CA1,O=DigiCert Inc,C=US", @@ -4735,24 +6679,6 @@ "last_modified": 1645579196726 }, { - "schema": 1645578779868, - "derHash": "f+uTdOqwjTknF8ZHQ22uBhdqJMAQYH/aHM5eXwEGtHI=", - "subject": "CN=QuoVadis Qualified Web ICA G2,O=QuoVadis Trustlink B.V.,C=NL", - "subjectDN": "MFcxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEmMCQGA1UEAwwdUXVvVmFkaXMgUXVhbGlmaWVkIFdlYiBJQ0EgRzI=", - "whitelist": false, - "attachment": { - "hash": "c551ff3d69db56e747169ab80b2fdea513f1de4806de98e0e34ab04da70a7566", - "size": 2385, - "filename": "HW4ktpkbc6tiWRVtXWUrZxqP505LD1tPqFHb3HiZbX8=.pem", - "location": "security-state-staging/intermediates/7f71d4f9-9d6e-4293-8a84-ecd68df1e8f5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "HW4ktpkbc6tiWRVtXWUrZxqP505LD1tPqFHb3HiZbX8=", - "crlite_enrolled": true, - "id": "d082eca9-ebf1-4e1a-9d25-56d598ae88bc", - "last_modified": 1645579196711 - }, - { "schema": 1645578794003, "derHash": "iu/r2IvoejCxnGDFvQ+16fvNFdVYLV/Jp0mVeNaNzsA=", "subject": "CN=Valid Certificadora Digital SSL EV CA 2018,O=VALID CERTIFICADORA DIGITAL,C=BR", @@ -4789,24 +6715,6 @@ "last_modified": 1645579196683 }, { - "schema": 1645578773545, - "derHash": "DakU+3El9uZE63qiYd6euAncf5Jbayp9in7dhzY5i1s=", - "subject": "CN=Staat der Nederlanden Domein Server CA 2020,O=Staat der Nederlanden,C=NL", - "subjectDN": "MGMxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xNDAyBgNVBAMMK1N0YWF0IGRlciBOZWRlcmxhbmRlbiBEb21laW4gU2VydmVyIENBIDIwMjA=", - "whitelist": false, - "attachment": { - "hash": "2f30004a37d33d9c2a59bae9b9e7ae94f816bd331c1a88deabd4af0f028ec59e", - "size": 2438, - "filename": "N9-YluTCUa_HTXc60QxjUReBLpRniAkIK2N84DhgmW4=.pem", - "location": "security-state-staging/intermediates/3a5cccbb-d1da-4d6e-8650-128cb451f578.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "N9+YluTCUa/HTXc60QxjUReBLpRniAkIK2N84DhgmW4=", - "crlite_enrolled": true, - "id": "93fb54cf-1df3-4b48-80dc-309fa3745243", - "last_modified": 1645579196670 - }, - { "schema": 1645578794396, "derHash": "tl/mob8tUv9ot9Pp0PBrMAocPySDCbcEBcp73sBUvd0=", "subject": "CN=GlobalSign Atlas R3 DV TLS CA 2020,O=GlobalSign nv-sa,C=BE", @@ -4825,24 +6733,6 @@ "last_modified": 1645579196657 }, { - "schema": 1645578806141, - "derHash": "MCQkQ/aJWpRWDkjk3/cgU26vUWPLQvXod0AqveL4Ynw=", - "subject": "CN=QuoVadis Global SSL ICA G3,O=QuoVadis Limited,C=BM", - "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMw==", - "whitelist": false, - "attachment": { - "hash": "63f37d712386cb1b4ab3fb0368f861aeb7ba74ec9b9bc7ecdd247bcf94725693", - "size": 2373, - "filename": "KM3iZPSceB-hgYuNI-cSg4LRgTiUxCeGjrfXRQAY6Rs=.pem", - "location": "security-state-staging/intermediates/ea7c6aaf-2f08-4bd8-9233-93359bef2b5f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "KM3iZPSceB+hgYuNI+cSg4LRgTiUxCeGjrfXRQAY6Rs=", - "crlite_enrolled": true, - "id": "d938811f-e653-4554-a74d-f8eec3a4920b", - "last_modified": 1645579196643 - }, - { "schema": 1645578788470, "derHash": "FGwc+bt9IxBg0Pq9mG6YUPAFAfWjt7asQsUbOMjiKiM=", "subject": "CN=Inst. of Accelerating Systems and Applications TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -5239,24 +7129,6 @@ "last_modified": 1645578268527 }, { - "schema": 1645577368234, - "derHash": "0WuprLdP7kqoCH7kguhuf29fVfrFAlY5cwdT/h5wXjw=", - "subject": "CN=TrustAsia RSA OV TLS CA - S1,O=TrustAsia Technologies\\, Inc.,C=CN", - "subjectDN": "MFsxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSUwIwYDVQQDDBxUcnVzdEFzaWEgUlNBIE9WIFRMUyBDQSAtIFMx", - "whitelist": false, - "attachment": { - "hash": "3478555efe90114245336918b07ce2fd5642c151b04ae871aa5b719513eff08c", - "size": 2044, - "filename": "3sdsoSIuRvtjF8OsOc4xIdevOWOclELQuaEQ85MqCYY=.pem", - "location": "security-state-staging/intermediates/a04c15b5-f9b9-47f9-91bc-106fd7754d29.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "3sdsoSIuRvtjF8OsOc4xIdevOWOclELQuaEQ85MqCYY=", - "crlite_enrolled": false, - "id": "4a8de048-65c5-4477-b64e-79f9f290218e", - "last_modified": 1645578268465 - }, - { "schema": 1645577377719, "derHash": "vOcJE1XSQXo3+M/irI8XwnSIiLoO6pAAD8mA7PwtBB8=", "subject": "CN=GlobalSign Atlas R6 EV TLS CA 2020,O=GlobalSign nv-sa,C=BE", @@ -5761,24 +7633,6 @@ "last_modified": 1645578267528 }, { - "schema": 1645577500961, - "derHash": "PyJb2814jOkkhwyvkvgUt8b/Ttq6utk/HTqRdyUs8dE=", - "subject": "CN=QuoVadis Qualified Web ICA G3,O=QuoVadis Trustlink B.V.,C=NL", - "subjectDN": "MFcxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEmMCQGA1UEAwwdUXVvVmFkaXMgUXVhbGlmaWVkIFdlYiBJQ0EgRzM=", - "whitelist": false, - "attachment": { - "hash": "8eb4cfbfd4e31a971f563f4a974c582ecd679cc8c15604af9f0f24fb1daf720e", - "size": 2385, - "filename": "e7hbHQSuhSDkhjhlY1CGhoHNKcgJCpQxSU_inT417rc=.pem", - "location": "security-state-staging/intermediates/5b740164-6457-41b6-89f7-410a326facec.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "e7hbHQSuhSDkhjhlY1CGhoHNKcgJCpQxSU/inT417rc=", - "crlite_enrolled": false, - "id": "1a82be4e-e5db-438f-b125-fc325af58983", - "last_modified": 1645578267456 - }, - { "schema": 1645577504932, "derHash": "T4OELx8Eqx4E1NjnUWZvyoLlGRyvwkBiv9H+d8AspLQ=", "subject": "CN=e-Szigno Class3 CA 2017,O=Microsec Ltd.,L=Budapest,C=HU", @@ -6157,24 +8011,6 @@ "last_modified": 1645578266854 }, { - "schema": 1645577587363, - "derHash": "HjVoI/5AwOqsKfntVGO3stscCItj67BYdqLmMcEId5g=", - "subject": "CN=QuoVadis Enterprise Trust CA 2 G4,O=QuoVadis Trustlink B.V.,C=NL", - "subjectDN": "MFsxCzAJBgNVBAYTAk5MMSAwHgYDVQQKDBdRdW9WYWRpcyBUcnVzdGxpbmsgQi5WLjEqMCgGA1UEAwwhUXVvVmFkaXMgRW50ZXJwcmlzZSBUcnVzdCBDQSAyIEc0", - "whitelist": false, - "attachment": { - "hash": "756cc72bf46fca106a4ae94315fc04ea6bbe1b93e3229513d02875b33ca13f45", - "size": 2385, - "filename": "z-lEyVPfwY15LjMDGouWc4Jt0MFWaf2MpLOSN9mx9tM=.pem", - "location": "security-state-staging/intermediates/0032aafc-3f1d-42e6-ac9e-078fb2d97821.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "z+lEyVPfwY15LjMDGouWc4Jt0MFWaf2MpLOSN9mx9tM=", - "crlite_enrolled": false, - "id": "35e53c32-41fc-4447-a3ba-9572bd7995c5", - "last_modified": 1645578266814 - }, - { "schema": 1645577590130, "derHash": "BYd+5cz+fPGrs8nt85BbX2FCx7eTnWfjJBHPiWMn+Yc=", "subject": "CN=CertCloud ECC TLS CA,O=CertCloud Pte. Ltd.,C=SG", @@ -6355,24 +8191,6 @@ "last_modified": 1645578266596 }, { - "schema": 1645577618495, - "derHash": "tvZVm7zgosyR5Qe11zGeMkh+2uKKBjvHO2QF5sRGZbY=", - "subject": "CN=QuoVadis Enterprise Trust CA 2 G3,O=QuoVadis Limited,C=BM", - "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDIgRzM=", - "whitelist": false, - "attachment": { - "hash": "0e8105a00963a2942951dacf763351b5c4f4fcffe32ab691c090848452d6b285", - "size": 2377, - "filename": "U_l9o-Lg2NOgB-7MLJUzZzbVrqatI_likIE44Ciah6M=.pem", - "location": "security-state-staging/intermediates/1c6a63e2-fcd0-42ea-a406-fce0e2a968cf.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "U/l9o+Lg2NOgB+7MLJUzZzbVrqatI/likIE44Ciah6M=", - "crlite_enrolled": false, - "id": "422b8455-5064-4577-9215-5a33b2d002c8", - "last_modified": 1645578266575 - }, - { "schema": 1645577621120, "derHash": "s0oztER0/bAHjxE1J7vbdv5b+ByiS7htYoE2xQFgQ+g=", "subject": "CN=Certum Class I CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL", @@ -7183,24 +9001,6 @@ "last_modified": 1643540242405 }, { - "schema": 1643539723702, - "derHash": "lp4yAFIOssaalmdYfm3U0LI/KPUQzBMXZwqO02E+vq0=", - "subject": "CN=DigitalTrust High Assurance CA G4 [Run by the Issuer],O=Digital Trust L.L.C.,C=AE", - "subjectDN": "MG0xCzAJBgNVBAYTAkFFMR0wGwYDVQQKExREaWdpdGFsIFRydXN0IEwuTC5DLjE/MD0GA1UEAww2RGlnaXRhbFRydXN0IEhpZ2ggQXNzdXJhbmNlIENBIEc0ICBbUnVuIGJ5IHRoZSBJc3N1ZXJd", - "whitelist": false, - "attachment": { - "hash": "e74dd2a02806fa7c508188e10a5f0c0712f1cfbccde8988e042626a766beecb4", - "size": 2507, - "filename": "LFyh5Bg1aFs3y7w1j2dwtnxqDbovX0i8cL9gYJC6PXw=.pem", - "location": "security-state-staging/intermediates/df91fee1-b72c-4071-bb40-85741d9a30db.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "LFyh5Bg1aFs3y7w1j2dwtnxqDbovX0i8cL9gYJC6PXw=", - "crlite_enrolled": true, - "id": "82e3caed-61a5-46f8-b0a5-e0e5548b3eaa", - "last_modified": 1643540242395 - }, - { "schema": 1643539751520, "derHash": "vb9XvRAWOncbKNCdTJAYjVlgcsaZvYJ0/kYo0SUOSb0=", "subject": "CN=DigitalTrust Secure CA G3 [Run by the Issuer],O=Digital Trust L.L.C.,C=AE", @@ -7327,24 +9127,6 @@ "last_modified": 1643540242323 }, { - "schema": 1643539724307, - "derHash": "nOYws1+K4sZBnnNK2dL6MEdt2ec5Sx6Tsn+D93agJOo=", - "subject": "CN=AC Unidades de Sellado de Tiempo,OU=Ceres,O=FNMT-RCM,C=ES", - "subjectDN": "MHUxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEpMCcGA1UEAwwgQUMgVW5pZGFkZXMgZGUgU2VsbGFkbyBkZSBUaWVtcG8=", - "whitelist": false, - "attachment": { - "hash": "671a59fe01d2cd2074dbea84483abb7c9c75db400f3b54d2aebd79a620add787", - "size": 2836, - "filename": "RFLsjPTrs1EoFCjTCI7RLImxM2pGcGMiymQyT87-GT4=.pem", - "location": "security-state-staging/intermediates/ba299b7d-dc4a-4efd-b7d4-c67563ad72aa.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "RFLsjPTrs1EoFCjTCI7RLImxM2pGcGMiymQyT87+GT4=", - "crlite_enrolled": true, - "id": "590c1b99-aca9-4c60-8b11-030c3d8071a5", - "last_modified": 1643540242313 - }, - { "schema": 1643539752426, "derHash": "jNco+cM5G6Q2ChDGbKSEyAdlHWIH8QYzZp7YiB/pG/U=", "subject": "CN=CrowdStrike Global EV CA,O=CrowdStrike\\, Inc.,C=US", @@ -7525,24 +9307,6 @@ "last_modified": 1643540242054 }, { - "schema": 1643539744538, - "derHash": "dOq1c9p9sZUJe+DpDzNJNMekyJ6Ag3WdtDM6AO3SQ9k=", - "subject": "CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1,O=DigiCert\\, Inc.,C=US", - "subjectDN": "MGcxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE/MD0GA1UEAxM2RGlnaUNlcnQgSGlnaCBBc3N1cmFuY2UgVExTIEh5YnJpZCBFQ0MgU0hBMjU2IDIwMjAgQ0Ex", - "whitelist": false, - "attachment": { - "hash": "11a50056d6027ba92a4d016bbdd72de6b8e7498171f12762ce2eda7a60762e6e", - "size": 1483, - "filename": "vnCogm4QYze_Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=.pem", - "location": "security-state-staging/intermediates/7bf16759-da8d-43e0-b260-f55aac6a39b7.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "vnCogm4QYze/Bc9r88xdA6NTQY74p4BAz2w5gxkLG2M=", - "crlite_enrolled": true, - "id": "ce744321-7f4d-4f9c-9da1-63454f6d33bb", - "last_modified": 1643540242043 - }, - { "schema": 1643539751823, "derHash": "tfYuw4ExzRSx/JW4d/TSEL5L+sx+amqhQi2J40t6xME=", "subject": "CN=GoGetSSL Domain Validation CA SHA2,OU=GoGetSSL Certification Authority,O=EnVers Group SIA,C=LV", @@ -7651,24 +9415,6 @@ "last_modified": 1643540241961 }, { - "schema": 1643539715307, - "derHash": "bVWNIt3W7UyhPucS/UKvIpTyycbXATwyRxD/uNjzb6k=", - "subject": "CN=Quantum Secure Site OV TLS RSA R1,O=Quantum CA Limited,C=GB", - "subjectDN": "MFYxCzAJBgNVBAYTAkdCMRswGQYDVQQKDBJRdWFudHVtIENBIExpbWl0ZWQxKjAoBgNVBAMMIVF1YW50dW0gU2VjdXJlIFNpdGUgT1YgVExTIFJTQSBSMQ==", - "whitelist": false, - "attachment": { - "hash": "4b736d8bf2429327ac547ed2eb1ddf79a0caa2ace478f955e02127eec63d403b", - "size": 2389, - "filename": "hLf9YhON-ykf9-ab3rrdyhkLe63PWjIvsvghrHEnILA=.pem", - "location": "security-state-staging/intermediates/0f82d056-d837-49b4-9cdd-d5d76a9b1a35.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "hLf9YhON+ykf9+ab3rrdyhkLe63PWjIvsvghrHEnILA=", - "crlite_enrolled": true, - "id": "1fba5287-1ee9-49bb-8756-3e120f3f4896", - "last_modified": 1643540241950 - }, - { "schema": 1643539728848, "derHash": "jYPWn6YVqiaDsT14lEgsVCsLzxi7ktMPAV+0JHGvu2Y=", "subject": "CN=TrustAsia ECC EV TLS Pro CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", @@ -7957,24 +9703,6 @@ "last_modified": 1643540241449 }, { - "schema": 1643539716284, - "derHash": "MTH/29ln180dd3Qq+XcvEFH/TJrkE3WfQ0/h6BERngM=", - "subject": "CN=TrustOcean EV SSL CA - RSA - 2019,OU=Controlled by Sectigo exclusively for TrustOcean Ltd.+OU=RSA Extended Validation Secure Server - 2019,O=TrustOcean Ltd.,L=Denver,ST=CO,C=US", - "subjectDN": "MIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ08xDzANBgNVBAcTBkRlbnZlcjEYMBYGA1UEChMPVHJ1c3RPY2VhbiBMdGQuMT4wPAYDVQQLEzVDb250cm9sbGVkIGJ5IFNlY3RpZ28gZXhjbHVzaXZlbHkgZm9yIFRydXN0T2NlYW4gTHRkLjE1MDMGA1UECxMsUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciAtIDIwMTkxKjAoBgNVBAMTIVRydXN0T2NlYW4gRVYgU1NMIENBIC0gUlNBIC0gMjAxOQ==", - "whitelist": false, - "attachment": { - "hash": "bb57de69afc6d6f5f59b1c80758edf0ef1791b7a08530fed8903ef18cd25188e", - "size": 2324, - "filename": "uG18SfTnbrT8g2zCkpa7kWClIcTyqEW_1iPtChk9nTQ=.pem", - "location": "security-state-staging/intermediates/6020590f-b065-482b-9549-d56eb98c4b60.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uG18SfTnbrT8g2zCkpa7kWClIcTyqEW/1iPtChk9nTQ=", - "crlite_enrolled": true, - "id": "12413a5f-6a98-4669-8438-f936d9b86ea3", - "last_modified": 1643540241438 - }, - { "schema": 1643539749082, "derHash": "Yjq+xvhacCisoQ9b3F2BtWtjFN8odD/8yE7KMvNa6EY=", "subject": "CN=MuaSSL.com TLS Issuing ECC CA R1,O=Hao Quang Viet Software Company Limited,C=VN", @@ -8011,42 +9739,6 @@ "last_modified": 1643540241408 }, { - "schema": 1643539739222, - "derHash": "2n5XePYvh2Vbj9JKieZR5XMp3JwHZacRWM5WRDykTpU=", - "subject": "CN=DigiCert Extended Validation CA-3 G3,OU=www.digicert.com,O=DigiCert\\, Inc.,C=US", - "subjectDN": "MHAxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEtMCsGA1UEAxMkRGlnaUNlcnQgRXh0ZW5kZWQgVmFsaWRhdGlvbiBDQS0zIEcz", - "whitelist": false, - "attachment": { - "hash": "6844a48cc10ea1a880af9e0aea02a3fc4be2786b3ce299bd1644cd2fc49c1f64", - "size": 1187, - "filename": "epA52XxQ9Mrum63GbS8dL1dkTIzeOueiCw6jHr7t_u8=.pem", - "location": "security-state-staging/intermediates/5d0c77a4-ad61-4b2d-9500-0ed1ce697602.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "epA52XxQ9Mrum63GbS8dL1dkTIzeOueiCw6jHr7t/u8=", - "crlite_enrolled": true, - "id": "9bd31525-cabf-4b0e-acc5-1952d08e7761", - "last_modified": 1643540241387 - }, - { - "schema": 1643539736744, - "derHash": "VYRK03slu02z/+fc3DkCOkGzxIikepX60fz61Qi3AoU=", - "subject": "CN=Dodo Sign TLS ICA RSA R1,O=Dodo Sign Ltd,L=Ebene,ST=Plaines Wilhems,C=MU", - "subjectDN": "MHIxCzAJBgNVBAYTAk1VMRgwFgYDVQQIDA9QbGFpbmVzIFdpbGhlbXMxDjAMBgNVBAcMBUViZW5lMRYwFAYDVQQKDA1Eb2RvIFNpZ24gTHRkMSEwHwYDVQQDDBhEb2RvIFNpZ24gVExTIElDQSBSU0EgUjE=", - "whitelist": false, - "attachment": { - "hash": "9bbab79fdec346cdda828bc4486cedf2582bee9d80c23587c1c2f05407854b6e", - "size": 2438, - "filename": "QBni1na5RD10V0ehoagk-O8mlEaC8kPw1gH8_uoYYTY=.pem", - "location": "security-state-staging/intermediates/512c8ed9-74cb-4a34-a0b5-79f8a0f953b2.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "QBni1na5RD10V0ehoagk+O8mlEaC8kPw1gH8/uoYYTY=", - "crlite_enrolled": true, - "id": "d63929e7-804a-4e7f-9657-ccb49438e6ad", - "last_modified": 1643540241377 - }, - { "schema": 1643539727648, "derHash": "/yAcoSyHpvDLpkPpq7PJVMkVWt0xObLi6u0RS/n3XTE=", "subject": "CN=COMODO RSA Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB", @@ -8227,24 +9919,6 @@ "last_modified": 1643317054962 }, { - "schema": 1643294903582, - "derHash": "Lf5H4USrs5+f5FHOzTUtmpvSiYI1HotlJP6xAdurH+w=", - "subject": "CN=GlobalSign Atlas R3 DV ACME CA 2022 Q2,O=GlobalSign nv-sa,C=BE", - "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIERWIEFDTUUgQ0EgMjAyMiBRMg==", - "whitelist": false, - "attachment": { - "hash": "63657216ab2e0265cbcbce85e9b2783ccd35376d4e7c0f127fcac181251aa5ed", - "size": 1642, - "filename": "_1VRS6Ha0tRFo_8a_6PqqF4wtj16qRxOO4rXTjqDNFk=.pem", - "location": "security-state-staging/intermediates/c70a5a54-9017-4d7c-814c-c431416e70eb.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/1VRS6Ha0tRFo/8a/6PqqF4wtj16qRxOO4rXTjqDNFk=", - "crlite_enrolled": false, - "id": "681f5a20-f291-4509-bec3-6adbf5c05429", - "last_modified": 1643295452290 - }, - { "schema": 1643294904826, "derHash": "FbY83XcqjULcXkgXTB9+PUD8gsR43zpkQ8e9kvvG1d4=", "subject": "CN=GlobalSign Atlas ECCR5 DV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", @@ -8317,24 +9991,6 @@ "last_modified": 1643295452263 }, { - "schema": 1643294909522, - "derHash": "qBav/3RuoPCgoGTAQy+dK30M557C0emUD0oYaiUYIoQ=", - "subject": "CN=GlobalSign Atlas ECCR5 OV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", - "subjectDN": "MFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEF0bGFzIEVDQ1I1IE9WIFRMUyBDQSAyMDIyIFEy", - "whitelist": false, - "attachment": { - "hash": "049fc8dce345f116d37deb30e65527acd5a647e1de6e9d53685b97fe4fe7c5fe", - "size": 1195, - "filename": "TdoclaY2HEKPADeH2W-4kosHzm7UvYAafcidCBnsRDA=.pem", - "location": "security-state-staging/intermediates/6c42ca37-a352-4db9-b44d-e1a577fb1168.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "TdoclaY2HEKPADeH2W+4kosHzm7UvYAafcidCBnsRDA=", - "crlite_enrolled": false, - "id": "6de1a4fe-3539-4329-9838-cb4883353866", - "last_modified": 1643295452256 - }, - { "schema": 1643294910716, "derHash": "JWYC3IqAQbLtwMrmEaapjZs5rU3j4Z9i3AoKGVi3InE=", "subject": "CN=GlobalSign Atlas R6 EV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", @@ -8353,24 +10009,6 @@ "last_modified": 1643295452249 }, { - "schema": 1643294911965, - "derHash": "c1zDhuwaguZXpbRRyUlZYR08fQy7H9nZ7bQscZL4Rjo=", - "subject": "CN=GlobalSign Atlas R3 DV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", - "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIERWIFRMUyBDQSAyMDIyIFEy", - "whitelist": false, - "attachment": { - "hash": "5dc3ef9866bfcfb8743ef46140622103cd877f3ecd2310029ef8d8ff09b17dd4", - "size": 1642, - "filename": "7Zgd-tc1DR60EUxxu86y2PNtnPLUCDONUQJhN35HWIU=.pem", - "location": "security-state-staging/intermediates/63da4365-743a-4755-bfb8-beb8ff31e794.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "7Zgd+tc1DR60EUxxu86y2PNtnPLUCDONUQJhN35HWIU=", - "crlite_enrolled": false, - "id": "12cc99be-332a-4aef-af43-25fe8420b210", - "last_modified": 1643295452242 - }, - { "schema": 1643294913157, "derHash": "1Qsgrf+Vm/vug7b9H6s2/eeUG5YM/Gg5qsY7n/20ZBM=", "subject": "CN=GlobalSign Atlas R3 OV ACME CA 2022 Q2,O=GlobalSign nv-sa,C=BE", @@ -8389,42 +10027,6 @@ "last_modified": 1643295452235 }, { - "schema": 1643294914396, - "derHash": "RfGFRTDsA3qqy0st6bTQ/b/GGIir1O4EFBg9meYEN6w=", - "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA 2022 Q2,O=Globalsign nv-sa,C=BE", - "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIDIwMjIgUTI=", - "whitelist": false, - "attachment": { - "hash": "0f455b2160c81e5b49b03b477baaa020d52928d16a4fe13504fca71f176fcf2e", - "size": 1642, - "filename": "6bop5gsmVRhy033XqsI4UKTek3IMHHpiLVeicdR_Luw=.pem", - "location": "security-state-staging/intermediates/12de76d7-2251-470d-8c62-aebb1b54b3d5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "6bop5gsmVRhy033XqsI4UKTek3IMHHpiLVeicdR/Luw=", - "crlite_enrolled": false, - "id": "18283798-9f59-4d62-9a34-f643b9b7a76f", - "last_modified": 1643295452228 - }, - { - "schema": 1643294915568, - "derHash": "r9s8OW2F0Z++WCBt8GWermFMSrGPXM8gt4Oq8LvpagM=", - "subject": "CN=GlobalSign Atlas R3 OV TLS CA 2022 Q2,O=GlobalSign nv-sa,C=BE", - "subjectDN": "MFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIE9WIFRMUyBDQSAyMDIyIFEy", - "whitelist": false, - "attachment": { - "hash": "810129eb69110a8c071f593ade366adbaa81a2420d3531e8f862ea7a5b423c11", - "size": 1642, - "filename": "VkNfITzp8T2xdmHOxT0ZZUfHySNBzxU2GWFfqmC3oLE=.pem", - "location": "security-state-staging/intermediates/8ae25e5b-e31b-4d80-be59-24ed2ecd5386.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "VkNfITzp8T2xdmHOxT0ZZUfHySNBzxU2GWFfqmC3oLE=", - "crlite_enrolled": false, - "id": "6982bfcf-221f-44f5-b27e-d4af6dd1ab4f", - "last_modified": 1643295452221 - }, - { "schema": 1643294916739, "derHash": "yyxoXLIU3NLyzabiwVWq8hp+E0vAvOgIsRMMRZElsKQ=", "subject": "CN=GlobalSign Atlas ECCR5 OV ACME CA 2022 Q2,O=GlobalSign nv-sa,C=BE", @@ -8713,24 +10315,6 @@ "last_modified": 1642150669331 }, { - "schema": 1642150118470, - "derHash": "DWMgSDbsyonvv0d2uOvDKACBMbldcKknr+bw4emu1Ig=", - "subject": "CN=ZoTrus ECC OV SSL CA,O=ZoTrus Technology Limited,C=CN", - "subjectDN": "MFAxCzAJBgNVBAYTAkNOMSIwIAYDVQQKExlab1RydXMgVGVjaG5vbG9neSBMaW1pdGVkMR0wGwYDVQQDExRab1RydXMgRUNDIE9WIFNTTCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "a2284106a606bc666bf93756cf85c68302222a8b5b3cc118f7ab3a57bcba9ea8", - "size": 1240, - "filename": "kMFHAfR4b2U_8eFzUzC98IWCVy6jfhYT7KhWmUMfFZc=.pem", - "location": "security-state-staging/intermediates/f12b578e-b704-425f-a0d8-d08080a40762.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "kMFHAfR4b2U/8eFzUzC98IWCVy6jfhYT7KhWmUMfFZc=", - "crlite_enrolled": false, - "id": "da380fd2-3da8-422f-9f3e-70dae67eb537", - "last_modified": 1642150669324 - }, - { "schema": 1642125559104, "derHash": "6RWMavVojPz5iQIGxDBhyB+n/AfQjiiifAaMWAc6aZo=", "subject": "CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US", @@ -9829,24 +11413,6 @@ "last_modified": 1641481037225 }, { - "schema": 1641477704850, - "derHash": "d81ReEppPZSC5+ppTkBTvP2d9lWA+84UsqdSfAgYA+E=", - "subject": "CN=DigiCert Assured ID TLS CA G2,O=DigiCert Inc,C=US", - "subjectDN": "MEwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJjAkBgNVBAMTHURpZ2lDZXJ0IEFzc3VyZWQgSUQgVExTIENBIEcy", - "whitelist": false, - "attachment": { - "hash": "38c26b5824725648f58682db859677ed5f482b8a98476190e2f4b5cea965ce52", - "size": 1918, - "filename": "7DHaE3Q3dQ9k5S7DaYbXog4BK-Oj492ta3kc2xRJ04s=.pem", - "location": "security-state-staging/intermediates/84f2426b-c265-4fe5-8bcc-09e6d612433c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "7DHaE3Q3dQ9k5S7DaYbXog4BK+Oj492ta3kc2xRJ04s=", - "crlite_enrolled": true, - "id": "d8d54086-08a6-43e4-94b4-1d46de796b92", - "last_modified": 1641481037215 - }, - { "schema": 1641477710651, "derHash": "29+pGsxNuK2D/MeXjjXWL24y5VEIJzyOyZjjEzWA1mQ=", "subject": "CN=TrustAsia OV TLS Pro CA G2,O=TrustAsia Technologies\\, Inc.,C=CN", @@ -10405,114 +11971,6 @@ "last_modified": 1640876333340 }, { - "schema": 1640787170249, - "derHash": "yX42zr8VgKsb2tYcHVOwXHWBnoXZNyFL5oTIWbItReA=", - "subject": "CN=vTrus ECC DV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgRFYgU1NMIENB", - "whitelist": false, - "attachment": { - "hash": "ef4575a1abe7f8492e2e0d89dbbf6e80b196e4b6dccd8bf4e48700ed4bcfec4a", - "size": 1183, - "filename": "gJ1It3GyfR5y0xbHIcRJPwjI6151kRqrGSR_W5v6jek=.pem", - "location": "security-state-staging/intermediates/3a24be71-e5b8-4645-ba9c-4fabca8847d3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "gJ1It3GyfR5y0xbHIcRJPwjI6151kRqrGSR/W5v6jek=", - "crlite_enrolled": false, - "id": "e296d20d-073e-4563-afc7-6e55d5946b3e", - "last_modified": 1640789973594 - }, - { - "schema": 1640787171474, - "derHash": "I1ge8ZId8vkpDboNTU9IqX+Yrq77XjNQs/cFgujNvng=", - "subject": "CN=vTrus ECC OV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgT1YgU1NMIENB", - "whitelist": false, - "attachment": { - "hash": "f5e788b19092bef358268ca50c1012469e23bacaec6b8968235a7fde8315fae3", - "size": 1183, - "filename": "atwg6ejpADR_jBbKnuSFzeAuVeHiQKJdUl2HSR0gLmU=.pem", - "location": "security-state-staging/intermediates/c703ae6f-ec40-48dd-a708-54774a3fa005.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "atwg6ejpADR/jBbKnuSFzeAuVeHiQKJdUl2HSR0gLmU=", - "crlite_enrolled": false, - "id": "2224e522-7889-4a09-b2de-d963d7e65cac", - "last_modified": 1640789973587 - }, - { - "schema": 1640787172648, - "derHash": "vTDA0eesuD78T19sYvjzpXm6snUnr65mbGlsOoZxdfE=", - "subject": "CN=vTrus ECC EV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEkxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRwwGgYDVQQDExN2VHJ1cyBFQ0MgRVYgU1NMIENB", - "whitelist": false, - "attachment": { - "hash": "5efe51a26c5280ef3910747587a1258ee032a5cd4592afff27a55faecd152eec", - "size": 1183, - "filename": "7k0rYa-qry4wDaWSSycBwDVQALkMXBvBWeWHCjNIjTA=.pem", - "location": "security-state-staging/intermediates/1999d48b-3e07-48cf-bf4a-7656a1b29a53.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "7k0rYa+qry4wDaWSSycBwDVQALkMXBvBWeWHCjNIjTA=", - "crlite_enrolled": false, - "id": "72729739-8817-4cc4-a6d6-e50b179466d3", - "last_modified": 1640789973580 - }, - { - "schema": 1640787173887, - "derHash": "86ptcSoV9j+DUIBJedtUJBmmGysdIudWxBer/o10o8o=", - "subject": "CN=vTrus EV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBFViBTU0wgQ0E=", - "whitelist": false, - "attachment": { - "hash": "01cb1f5c741d941d11e0575e8235a3df364dc571bdd452841c23bd28e35016d3", - "size": 2003, - "filename": "tHoUHCrraSrjkHaUbZGcxRVrjSHn8i6s8_iI6HHC6Ok=.pem", - "location": "security-state-staging/intermediates/bfdb2a93-b869-4473-9246-b6dae2c91caf.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "tHoUHCrraSrjkHaUbZGcxRVrjSHn8i6s8/iI6HHC6Ok=", - "crlite_enrolled": false, - "id": "cd2c0c6f-fc8b-45b0-aa2b-15777338beb9", - "last_modified": 1640789973573 - }, - { - "schema": 1640787175080, - "derHash": "X36LSowRuvLL5kWbR/221QwChcSplPTu8v5RYKoKt4o=", - "subject": "CN=vTrus DV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBEViBTU0wgQ0E=", - "whitelist": false, - "attachment": { - "hash": "02cc66488a37100af024e6807b42f3d0fcca6bac68c70036847c21859c2e0f9f", - "size": 2003, - "filename": "75pE_IZKhqgviWzR4qTd2zPqnbH6f4VSS4OvPeBjEjQ=.pem", - "location": "security-state-staging/intermediates/c817af85-7cff-40a6-960f-7cb18bce787c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "75pE/IZKhqgviWzR4qTd2zPqnbH6f4VSS4OvPeBjEjQ=", - "crlite_enrolled": false, - "id": "e3914740-82e4-4c6d-8237-d4b4be3ea8a3", - "last_modified": 1640789973567 - }, - { - "schema": 1640787176349, - "derHash": "pTtcm7WtknA9xPd/5k2ROiOf03IHOkjiegSBWApWN8Q=", - "subject": "CN=vTrus OV SSL CA,O=iTrusChina Co.\\,Ltd.,C=CN", - "subjectDN": "MEUxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRgwFgYDVQQDEw92VHJ1cyBPViBTU0wgQ0E=", - "whitelist": false, - "attachment": { - "hash": "4edc5bd03aede64fb9a23473cb654b555c969e2142043a263b82aeb3a59fe874", - "size": 2003, - "filename": "_AQe5lWT9xIwgAiIHcAT-pRj70-ckw8xE4qArEfIyd0=.pem", - "location": "security-state-staging/intermediates/0539c864-9413-4569-b1db-013de19c4878.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/AQe5lWT9xIwgAiIHcAT+pRj70+ckw8xE4qArEfIyd0=", - "crlite_enrolled": false, - "id": "a1713f8e-1fc7-4247-88b6-891789cca9d7", - "last_modified": 1640789973559 - }, - { "schema": 1640574023025, "derHash": "vrUcj0UkJrK55nL33R7qSzPWw49MoqlpVs4kvQWww40=", "subject": "CN=TrustCor DV SSL CA - G2 - RSA,O=TrustCor Systems S. de R.L.,C=PA", @@ -10549,24 +12007,6 @@ "last_modified": 1640617119199 }, { - "schema": 1640614373653, - "derHash": "ODDbjqFSC2zfV+HgCl8Sl74R2eZDDINgcXYhL/hdLbg=", - "subject": "CN=TrustCor Enhanced Secure Site (CA2),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", - "subjectDN": "MIGNMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxLDAqBgNVBAMMI1RydXN0Q29yIEVuaGFuY2VkIFNlY3VyZSBTaXRlIChDQTIp", - "whitelist": false, - "attachment": { - "hash": "26631969fe5fbc543132a914eb2829ace13e9b418495495a837a47d8936c69b6", - "size": 2564, - "filename": "gTvKBlqs6VknFEiItiUhp5K_Oy0UnzZd7vVB6Ko3ZeE=.pem", - "location": "security-state-staging/intermediates/e49aa502-2469-4f4f-b00b-3d32c9f282e8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "gTvKBlqs6VknFEiItiUhp5K/Oy0UnzZd7vVB6Ko3ZeE=", - "crlite_enrolled": true, - "id": "7f04f0ef-3fdc-4bfa-9cc5-c76e75f35add", - "last_modified": 1640617119189 - }, - { "schema": 1640269085632, "derHash": "+RYG0bxSxhATbKqFarUAxIw7mTusSAjNgrxLeKvyQVY=", "subject": "CN=NETLOCK DVSSL CA,OU=Tanúsítványkiadók (Certification Services),O=NETLOCK Kft.,L=Budapest,C=HU", @@ -10999,24 +12439,6 @@ "last_modified": 1639083515813 }, { - "schema": 1639083021523, - "derHash": "E0XC05rktlzKceiOmispxx3JE/lS6TWoErAE26eueVc=", - "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "e6da6a137d62a7acc06ba43bbecbca249317995ef2a5821be7c4c3e4904d11cd", - "size": 2649, - "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", - "location": "security-state-staging/intermediates/27528fc3-b963-415a-a99a-4f327d7d7c83.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", - "crlite_enrolled": true, - "id": "4dff9826-c4f5-4bad-9c0b-ef5d5c0bc30d", - "last_modified": 1639083515803 - }, - { "schema": 1639083021821, "derHash": "I5/6htcQM7olWRR4IFfYfoQhrt1ZELeGkotqEkjD40E=", "subject": "CN=CA Disig R2I3 Certification Service,O=Disig a.s.,L=Bratislava,C=SK", @@ -11071,24 +12493,6 @@ "last_modified": 1639083515774 }, { - "schema": 1639083015751, - "derHash": "6TJ6NHy+HLlM3JqlTLMbbkPWiWjRfQnOMmoJG/wvCxE=", - "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "88d175177fc311fc5ad5e439d61dfabfbe6a0cc3dbf7be58654a104156ba2dae", - "size": 2686, - "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", - "location": "security-state-staging/intermediates/7b9e7264-b0e3-4c9e-bda1-908a922c5b3f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", - "crlite_enrolled": true, - "id": "772a5e91-e4ab-4bc1-b2a7-9d88c0c7e9bf", - "last_modified": 1639083515765 - }, - { "schema": 1639083020657, "derHash": "MlNBL9rUUjEIwJi7DuDv7df6/dAPsw5Hxrup/j4c24g=", "subject": "CN=GDCA TrustAUTH R4 Primer CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", @@ -11575,24 +12979,6 @@ "last_modified": 1637333968854 }, { - "schema": 1636577885684, - "derHash": "vf2E2QKq0BDE4IExd1r7c2VpTugcm4ri33ZBnz7fG+E=", - "subject": "CN=TrustSign BR Certification Authority (OV) 2,O=TrustSign Certificadora Dig. & Soluções Segurança da Inf. Ltda.,L=São José dos Campos,ST=São Paulo,C=BR", - "subjectDN": "MIHFMQswCQYDVQQGEwJCUjETMBEGA1UECAwKU8OjbyBQYXVsbzEeMBwGA1UEBwwVU8OjbyBKb3PDqSBkb3MgQ2FtcG9zMUswSQYDVQQKDEJUcnVzdFNpZ24gQ2VydGlmaWNhZG9yYSBEaWcuICYgU29sdcOnw7VlcyBTZWd1cmFuw6dhIGRhIEluZi4gTHRkYS4xNDAyBgNVBAMTK1RydXN0U2lnbiBCUiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAoT1YpIDI=", - "whitelist": false, - "attachment": { - "hash": "d3dc3d5cc6b731efb8dd4582c2ff3a8a8908962642aa4824f4b90b58832e90cd", - "size": 2251, - "filename": "YH8nyVlvrD15SoA59nrCYN5KN2y2Xz-fJ5K-uBAfl1Y=.pem", - "location": "security-state-staging/intermediates/c00b8ed3-5bd7-4213-8c0b-7b171e5b524a.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "YH8nyVlvrD15SoA59nrCYN5KN2y2Xz+fJ5K+uBAfl1Y=", - "crlite_enrolled": false, - "id": "4d16fbc3-1ed1-40c0-940d-7abe6b7f2408", - "last_modified": 1636772470973 - }, - { "schema": 1636574867921, "derHash": "x3xf3ExlXJ3GkMucdvmPrtPD3s7wZMvNctQcWeVYf+s=", "subject": "CN=TrustOcean Organization Validation SSL CA,O=TrustOcean Limited,C=US", @@ -11611,42 +12997,6 @@ "last_modified": 1636577884550 }, { - "schema": 1636555797761, - "derHash": "dYlNTJTCLXKW7hn7RHYjJYwlkbFwMSiLs4aiCqHw4KY=", - "subject": "CN=NetLock Közjegyzői (Class A) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", - "subjectDN": "MIGuMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE8MDoGA1UEAwwzTmV0TG9jayBLw7Z6amVneXrFkWkgKENsYXNzIEEpIFRhbsO6c8OtdHbDoW55a2lhZMOz", - "whitelist": false, - "attachment": { - "hash": "4327de015aac627d028d4696e3b582048933e2f87d179c261b01897e32b67a1d", - "size": 2190, - "filename": "RWiIGgLo9cnu9JGiGhnz5uw6FBH1Y5qDY4qGsl5Q9EM=.pem", - "location": "security-state-staging/intermediates/27099d75-dfc0-441a-a1de-81e112a1d6e5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "RWiIGgLo9cnu9JGiGhnz5uw6FBH1Y5qDY4qGsl5Q9EM=", - "crlite_enrolled": true, - "id": "a76d3004-9787-484d-a4d9-2e5555cd8b56", - "last_modified": 1636556282950 - }, - { - "schema": 1636555800810, - "derHash": "NyuPTOc77fyIcYxAe7az5tj5p5vpVxkNDnEBx7DvmjI=", - "subject": "CN=NetLock Expressz (Class C) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", - "subjectDN": "MIGqMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE4MDYGA1UEAwwvTmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFuw7pzw610dsOhbnlraWFkw7M=", - "whitelist": false, - "attachment": { - "hash": "96ba448b3b21c633bd5e293f4383a8b88b67e802476a48d48ba20ffa8359a5ce", - "size": 2182, - "filename": "KS2adY6eMaWNhbLW6JREO3Oo34Qy_UvmA5f-f4ROpYw=.pem", - "location": "security-state-staging/intermediates/6380c544-10af-435b-ae2d-adad842694a3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "KS2adY6eMaWNhbLW6JREO3Oo34Qy/UvmA5f+f4ROpYw=", - "crlite_enrolled": true, - "id": "522256d0-e9e9-44e9-b35d-221ddf453cad", - "last_modified": 1636556282888 - }, - { "schema": 1636555799842, "derHash": "YoSgO6+uhhow46JaAwQoMG9+tSvQuld6HZYqgJqDDJ4=", "subject": "CN=NetLock Minősített Eat. (Class Q Legal) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", @@ -11665,42 +13015,6 @@ "last_modified": 1636556282862 }, { - "schema": 1636555798406, - "derHash": "ayP62JAYDDN7hkFV2uDem62e8L2njREvLL3D0CrReVY=", - "subject": "CN=NetLock Üzleti (Class B) Tanúsítványkiadó,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU", - "subjectDN": "MIGpMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE3MDUGA1UEAwwuTmV0TG9jayDDnHpsZXRpIChDbGFzcyBCKSBUYW7DunPDrXR2w6FueWtpYWTDsw==", - "whitelist": false, - "attachment": { - "hash": "573f7ca4199a4ab7b67cf4b5b1c8e25a89da7c93d3296ece5e8301e5bf64c39b", - "size": 2182, - "filename": "1YROuDznuNvrat3sL9gwGR124PRLocGQQWd6IoM50Ls=.pem", - "location": "security-state-staging/intermediates/5ae11eb3-59e2-4f2f-a3ad-09d610869295.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "1YROuDznuNvrat3sL9gwGR124PRLocGQQWd6IoM50Ls=", - "crlite_enrolled": true, - "id": "1a8145a6-66a3-4c40-914b-e027086ea091", - "last_modified": 1636556282833 - }, - { - "schema": 1635991660699, - "derHash": "Fh7lOGMpsoon/0BXNlUqYh1ahEpDgR42I+Uu76C6hAo=", - "subject": "CN=QuoVadis Global SSL ICA G3,O=QuoVadis Limited,C=BM", - "subjectDN": "ME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMw==", - "whitelist": false, - "attachment": { - "hash": "b8fd47c4234e14aae99e993f325e88c880408479e0c6ecf0a155bcb2481f0c25", - "size": 2353, - "filename": "KM3iZPSceB-hgYuNI-cSg4LRgTiUxCeGjrfXRQAY6Rs=.pem", - "location": "security-state-staging/intermediates/54eee2eb-1fa3-4f22-84be-3db33a9a0e5d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "KM3iZPSceB+hgYuNI+cSg4LRgTiUxCeGjrfXRQAY6Rs=", - "crlite_enrolled": true, - "id": "9f149ba1-e8dc-457d-9abd-23718172f6af", - "last_modified": 1635994653520 - }, - { "schema": 1635735519825, "derHash": "DhC93udRLb156/C09I/u18g8K9PdgXZVZfT/EQt7+kI=", "subject": "CN=Cybertrust Japan Extended Validation Server CA,O=Cybertrust Japan Co.\\, Ltd.,C=JP", @@ -12835,24 +14149,6 @@ "last_modified": 1625126256032 }, { - "schema": 1624978190848, - "derHash": "UsCaLKF5NocDoYVwBM1aPIfTvaw6VY4UPvNQj77rEDI=", - "subject": "CN=VTB BANK GCC R6 EV CA 2021,O=VTB BANK (PJSC),C=RU", - "subjectDN": "MEwxCzAJBgNVBAYTAlJVMRgwFgYDVQQKEw9WVEIgQkFOSyAoUEpTQykxIzAhBgNVBAMTGlZUQiBCQU5LIEdDQyBSNiBFViBDQSAyMDIx", - "whitelist": false, - "attachment": { - "hash": "75dc13be98517e35b11cfb3d466e7babe6240e9ec480752d55cf763bfccf4cf3", - "size": 2389, - "filename": "XFbaj2K7SX_8Lbb_N5o8z-DwCDiYKyc2ZsRYCFYweAY=.pem", - "location": "security-state-staging/intermediates/1afbe1af-f8e7-46a2-af62-d860d9a88f52.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "XFbaj2K7SX/8Lbb/N5o8z+DwCDiYKyc2ZsRYCFYweAY=", - "crlite_enrolled": true, - "id": "7f60c9b6-2fbc-4a44-a104-18b30f5ed0a8", - "last_modified": 1624978716106 - }, - { "schema": 1624978190351, "derHash": "x/FF1HT13CCyemThaWF5UiRpB4szP+j/iHuXzngF42I=", "subject": "CN=CUISEC GCC R3 TLS OV CA 2021,O=联通智慧安全科技有限公司,C=CN", @@ -12871,24 +14167,6 @@ "last_modified": 1624978716085 }, { - "schema": 1624978187811, - "derHash": "MSqwEnRPhZ7viuD6JdAlnonar1G5T6xn38YQYPDbIgc=", - "subject": "CN=VTB BANK GCC R6 OV CA 2021,O=VTB BANK (PJSC),C=RU", - "subjectDN": "MEwxCzAJBgNVBAYTAlJVMRgwFgYDVQQKEw9WVEIgQkFOSyAoUEpTQykxIzAhBgNVBAMTGlZUQiBCQU5LIEdDQyBSNiBPViBDQSAyMDIx", - "whitelist": false, - "attachment": { - "hash": "8aeafa0e77fe21899b8d6fec6a9d28910d10a874856375b9043010f048407bae", - "size": 2389, - "filename": "1NDMrvPgEIgVf_T0x1FbpvAfsQQ32xZnSYEqeQ6nzD4=.pem", - "location": "security-state-staging/intermediates/a3d2b25d-bf3f-4eb2-b373-fd42fa9733a4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "1NDMrvPgEIgVf/T0x1FbpvAfsQQ32xZnSYEqeQ6nzD4=", - "crlite_enrolled": true, - "id": "340ef00d-96c5-47c2-908d-d9eaa69779f1", - "last_modified": 1624978716064 - }, - { "schema": 1624976027068, "derHash": "aS/huLommVMd5M0vUq44+hGasB9LMat4/m2z/fA6cDE=", "subject": "CN=CUISEC GCC R3 TLS DV CA 2021,O=联通智慧安全科技有限公司,C=CN", @@ -12925,24 +14203,6 @@ "last_modified": 1624978716023 }, { - "schema": 1624978189829, - "derHash": "lbqW9yyzFOzQXOD9ddiGOBo2jI9YafBL3TAkiT9OOTs=", - "subject": "CN=VTB BANK GCC R6 DV CA 2021,O=VTB BANK (PJSC),C=RU", - "subjectDN": "MEwxCzAJBgNVBAYTAlJVMRgwFgYDVQQKEw9WVEIgQkFOSyAoUEpTQykxIzAhBgNVBAMTGlZUQiBCQU5LIEdDQyBSNiBEViBDQSAyMDIx", - "whitelist": false, - "attachment": { - "hash": "f807d756c8fb3d76c22571a72a26bb72e8c7b73ef52d98b439358f790f5a1df4", - "size": 2389, - "filename": "olnee8t8xOsYWGNSkIcYUCYeNenyhxG6R_lLRa2yMI0=.pem", - "location": "security-state-staging/intermediates/a19ddf6a-3fa5-4ca1-9514-0de02dfba270.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "olnee8t8xOsYWGNSkIcYUCYeNenyhxG6R/lLRa2yMI0=", - "crlite_enrolled": true, - "id": "a9491b45-dfaf-47ef-8f30-073c2220bb90", - "last_modified": 1624978716000 - }, - { "schema": 1624913392136, "derHash": "00GZhqSHZYJdE7MBVHsn3Fag7NMJGYr+mn1/qtZJaao=", "subject": "CN=Verokey High Assurance Business,O=Verokey,C=AU", @@ -13087,24 +14347,6 @@ "last_modified": 1624676239258 }, { - "schema": 1623916921256, - "derHash": "EbbbW2jc3zRHmufnt7uqcWWQVXetg9R08ruXF84kTOo=", - "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA H2 2021,O=Globalsign nv-sa,C=BE", - "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIEgyIDIwMjE=", - "whitelist": false, - "attachment": { - "hash": "9cf02d5a547d487093c6600cddc45835d2265d1a9e325589d4fc84f0f6d7d961", - "size": 1715, - "filename": "xecaLv-HFBkn7bPt0j9a3x6oQIAxlTk0PaC8CEgAAK8=.pem", - "location": "security-state-staging/intermediates/60d13cbe-72e2-4434-bd54-82eab5032874.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "xecaLv+HFBkn7bPt0j9a3x6oQIAxlTk0PaC8CEgAAK8=", - "crlite_enrolled": false, - "id": "ff529e2f-a01e-4a10-b6be-ec1b7f25db92", - "last_modified": 1623920278121 - }, - { "schema": 1623916924551, "derHash": "aRbakW7hsemMsx7pRzDuzX8sB3llvbjU4Wo7gcWKKbY=", "subject": "CN=GlobalSign Atlas ECCR5 DV TLS CA H2 2021,O=GlobalSign nv-sa,C=BE", @@ -13483,24 +14725,6 @@ "last_modified": 1616745549953 }, { - "schema": 1616205449736, - "derHash": "0tfUvuj/G33rpCd0AIHAf3sYai8poSNg1T+MINRVU40=", - "subject": "CN=TrustAsia RSA OV SSL Server CA,O=TrustAsia Technologies\\, Inc.,ST=Shanghai,C=CN", - "subjectDN": "MHAxCzAJBgNVBAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEnMCUGA1UEAxMeVHJ1c3RBc2lhIFJTQSBPViBTU0wgU2VydmVyIENB", - "whitelist": false, - "attachment": { - "hash": "cef0257132e6443d4fa6a6f012339e0c0a90ba4eb8ce5d8083038ca1f5461393", - "size": 2133, - "filename": "ZyqPojkZzOKu3M2n4NkoNEh6f1YBTiJm2DtfHJroAWA=.pem", - "location": "security-state-staging/intermediates/f5b72560-0bb5-40bd-b68b-381a9e82b9e3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ZyqPojkZzOKu3M2n4NkoNEh6f1YBTiJm2DtfHJroAWA=", - "crlite_enrolled": true, - "id": "e944087f-76e7-41f9-a1bb-8ef5a2cd787a", - "last_modified": 1616248690156 - }, - { "schema": 1616075883477, "derHash": "WSKFNdEU6NKfm5LUIlGLxj3ctXCXQo2MyYd32QfG7v4=", "subject": "CN=AC Firmaprofesional - Secure Web 2021,OU=Security Services,O=Firmaprofesional S.A.,C=ES", @@ -13879,24 +15103,6 @@ "last_modified": 1610999846045 }, { - "schema": 1610979409846, - "derHash": "AUU/ZFzZHiM7dISCfyP4pXP9ZBAp6opr/lSe9O2LMj0=", - "subject": "CN=HydrantID SSL ICA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", - "subjectDN": "MF4xCzAJBgNVBAYTAlVTMTAwLgYDVQQKEydIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHTAbBgNVBAMTFEh5ZHJhbnRJRCBTU0wgSUNBIEcy", - "whitelist": false, - "attachment": { - "hash": "7210ab4fd67176c39b121dc273d719681e6df16720f1ec337d1ed98f2f42397f", - "size": 2410, - "filename": "400Fim9IQe4j-Gj-Ci4R44M3gA6J1_TRh8LlPSLF3I8=.pem", - "location": "security-state-staging/intermediates/d86830f0-be1c-4699-823a-14b96b05fedd.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "400Fim9IQe4j+Gj+Ci4R44M3gA6J1/TRh8LlPSLF3I8=", - "crlite_enrolled": true, - "id": "03652dfb-4639-4ce5-a586-d186a812f8e7", - "last_modified": 1610981840623 - }, - { "schema": 1608651068348, "derHash": "wWnWndPSbTbLgt8TXFf+M27P9+fqQB6Z484ZF6j7gYA=", "subject": "CN=CSP SSL Service CA 5,O=CENTRAL SECURITY PATROLS CO.\\, LTD.,L=Shinjuku-ku,ST=Tokyo,C=JP", @@ -14221,60 +15427,6 @@ "last_modified": 1603418262218 }, { - "schema": 1603331414283, - "derHash": "GLtw79o/kUOBFcnrTzM+tOxoNUVx5pSRlaCpHJ5vvNg=", - "subject": "CN=QuoVadis RCA1G3 TLS CA,O=QuoVadis Limited,C=BM", - "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0ExRzMgVExTIENB", - "whitelist": false, - "attachment": { - "hash": "b3bb67e5eae26a4c94edb219c24b0b5e4b61ccf76dfc1f6b45000e822a22ceb3", - "size": 2369, - "filename": "oVTzYxEWPWmbDlo2GZhwL-6my7pLP_DO_Q5zS0j4erM=.pem", - "location": "security-state-staging/intermediates/0142a491-80f0-4728-bbff-4b23436aafa0.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "oVTzYxEWPWmbDlo2GZhwL+6my7pLP/DO/Q5zS0j4erM=", - "crlite_enrolled": false, - "id": "6737f4c2-a14c-4b1d-8e0c-b062884b238a", - "last_modified": 1603331864382 - }, - { - "schema": 1603331409918, - "derHash": "7MDResMmOsahZNzbCPgtB+k/zqcj9muIsG7rqWeN8rs=", - "subject": "CN=QuoVadis RCA3G3 TLS CA,O=QuoVadis Limited,C=BM", - "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0EzRzMgVExTIENB", - "whitelist": false, - "attachment": { - "hash": "fc4fc6584822834debd279e4a8481536c6bd26913df00dda003fbc4ed5facf42", - "size": 2369, - "filename": "HGG1eHmdWucI4rZV77-UwfI3jqj3-wm0NFUmWbyNZvs=.pem", - "location": "security-state-staging/intermediates/098ff8c0-cbd6-4de0-93e9-b29fc7971c7d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "HGG1eHmdWucI4rZV77+UwfI3jqj3+wm0NFUmWbyNZvs=", - "crlite_enrolled": false, - "id": "c4121d69-d075-4111-9d27-6dbed565f530", - "last_modified": 1603331864371 - }, - { - "schema": 1603331407633, - "derHash": "OmbmSCEuYyH5TZ6rzJLAUuZ52ZLJmtRZak57ha3O5d4=", - "subject": "CN=QuoVadis RCA3G1 TLS CA,O=QuoVadis Limited,C=BM", - "subjectDN": "MEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBSQ0EzRzEgVExTIENB", - "whitelist": false, - "attachment": { - "hash": "e5c77c38ef33f161625bc3592afbf547db64bc8507aff887efbd2902cd674003", - "size": 2361, - "filename": "cDYpcfBIVfSGVjIXkR2jSnkBmuagMeyfAzJa6dOp_y4=.pem", - "location": "security-state-staging/intermediates/4251568a-3965-4fe1-81c3-100b6c736472.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "cDYpcfBIVfSGVjIXkR2jSnkBmuagMeyfAzJa6dOp/y4=", - "crlite_enrolled": false, - "id": "6eca33ec-4f64-4e1a-9686-48926a7dccbd", - "last_modified": 1603331864347 - }, - { "schema": 1603241851952, "derHash": "qmHCkn3InbIlypoX1gA3PQWPaW2G0Q4r17Xo9EqX7tE=", "subject": "CN=WoSign OV SSL Pro CA,O=WoSign CA Limited,C=CN", @@ -14293,24 +15445,6 @@ "last_modified": 1603245450595 }, { - "schema": 1602961037868, - "derHash": "qlf0gsvFFrTRDKQJfdkNmfWqcn0gcJDQfanDaZirua0=", - "subject": "CN=HydrantID SSL CA G3,O=HydrantID (Avalanche Cloud Corporation),C=US", - "subjectDN": "MF0xCzAJBgNVBAYTAlVTMTAwLgYDVQQKDCdIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHDAaBgNVBAMME0h5ZHJhbnRJRCBTU0wgQ0EgRzM=", - "whitelist": false, - "attachment": { - "hash": "7e0808e92ebc33ef96558a3d7c46b9b86290ea9b9c814fe1b375dd5f6e94179f", - "size": 2414, - "filename": "CgDzm8Z-Gk0j7D6yq4U4IstjpiYpBiVqyPDYr-62oO8=.pem", - "location": "security-state-staging/intermediates/5cbfc23e-7d49-4372-82b5-58e1a0a3785e.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "CgDzm8Z+Gk0j7D6yq4U4IstjpiYpBiVqyPDYr+62oO8=", - "crlite_enrolled": true, - "id": "b97f538d-34bf-41f2-ba3b-3ffa41cdfa5e", - "last_modified": 1602964635139 - }, - { "schema": 1601581757962, "derHash": "vao4RyBgT/RlOwDaOHOoxUWZb/uKuR1hbxBJX8Am6Pw=", "subject": "CN=cPanel\\, Inc. ECC Certification Authority,O=cPanel\\, Inc.,L=Houston,ST=TX,C=US", @@ -14437,24 +15571,6 @@ "last_modified": 1601517444423 }, { - "schema": 1601376755442, - "derHash": "axQ8IAXVU5zCLqtfdy2yqf6HRn/v+gf88Kn30oJ0yno=", - "subject": "CN=Entrust Root Certification Authority - G2,OU=See www.entrust.net/legal-terms+OU=(c) 2009 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", - "whitelist": false, - "attachment": { - "hash": "d1674b1f7b1aef60543ae1256c7298ed99b5016d5a49c8ba8b9745c679003a0f", - "size": 1792, - "filename": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at_U=.pem", - "location": "security-state-staging/intermediates/90532b3e-aeb1-42ae-b53d-9b0794e82506.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=", - "crlite_enrolled": false, - "id": "512e1df0-26cc-48dd-9524-3c1d7aaf422b", - "last_modified": 1601517444299 - }, - { "schema": 1601376733088, "derHash": "ZHFyUK+LAo3Y5cC65MkULIsQNTJhK8SHCF/Twxn5wGc=", "subject": "CN=ePKI Root Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW", @@ -14473,42 +15589,6 @@ "last_modified": 1601517444135 }, { - "schema": 1601376743119, - "derHash": "P94NNuAmtujr4sKIg2B8hlHeEL1sH8rTZeVg9OovOwM=", - "subject": "CN=Entrust Root Certification Authority - EC1,OU=See www.entrust.net/legal-terms+OU=(c) 2012 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG/MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTMwMQYDVQQDEypFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBFQzE=", - "whitelist": false, - "attachment": { - "hash": "fa84991015956f299a21164f4a77c8da26802bb7bac4207eb696cc086ce715b0", - "size": 1577, - "filename": "_qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=.pem", - "location": "security-state-staging/intermediates/2827fb47-01de-4cf9-88b5-faa3f7464bf6.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=", - "crlite_enrolled": false, - "id": "10eb04ab-95e7-45a1-94b3-40bc33bad469", - "last_modified": 1601517444117 - }, - { - "schema": 1601376774088, - "derHash": "BTHIb3hZWJOf3FOZJNOV0e+kCTZOaCfTq5h2MR/7J7A=", - "subject": "CN=QuoVadis Enterprise Trust CA 1 G3,O=QuoVadis Limited,C=BM", - "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDEgRzM=", - "whitelist": false, - "attachment": { - "hash": "0838a224858164040768ee9fb8bab6de6efb11294b58f2c5db9fea5788b39bc7", - "size": 2333, - "filename": "8ZpHrAG1eQIQZnOeYn-p9E7tqq_yc1fiaSaeKR1BY2I=.pem", - "location": "security-state-staging/intermediates/360e077f-09bb-4788-bbfe-80bd616b8011.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8ZpHrAG1eQIQZnOeYn+p9E7tqq/yc1fiaSaeKR1BY2I=", - "crlite_enrolled": false, - "id": "2a1565c1-b11e-4fb4-a545-99acd43e82cf", - "last_modified": 1601517444099 - }, - { "schema": 1601376769580, "derHash": "rY6zLJ2pHdyFXzgnRZkBR9xvI9n7sE/J1Hax7iD8cdg=", "subject": "CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US", @@ -14581,24 +15661,6 @@ "last_modified": 1601517443537 }, { - "schema": 1601376749293, - "derHash": "2lRiUmoMLphSqGGGsCU5AVh1nNymriHwn3E8pqzN0fE=", - "subject": "CN=QuoVadis Enterprise Trust CA 3 G3,O=QuoVadis Limited,C=BM", - "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDMgRzM=", - "whitelist": false, - "attachment": { - "hash": "0b01ec78286d184607dd09e4cac9c4992d4af9f58534eb2cb8fea437481a6197", - "size": 2333, - "filename": "smsafMf1m1b-3NN_jssl3RMKHXok-GELWWNtG9vZEmA=.pem", - "location": "security-state-staging/intermediates/e3b263a6-dc7b-4bda-8acb-d8c10b677b2f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "smsafMf1m1b+3NN/jssl3RMKHXok+GELWWNtG9vZEmA=", - "crlite_enrolled": false, - "id": "b1c31974-0f71-4207-8532-82f8138e8ca8", - "last_modified": 1601517443502 - }, - { "schema": 1601376725349, "derHash": "KGibMOTDBqq1OwJ7KeNq1t0dz0uVOZRILKhL3B7KyZY=", "subject": "CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\\, Inc.,L=Scottsdale,ST=Arizona,C=US", @@ -14653,24 +15715,6 @@ "last_modified": 1601517443342 }, { - "schema": 1601376757868, - "derHash": "uCIQzend6g4UvimvZH5LMvlu0qnvGqW6qcxks4tsAco=", - "subject": "OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES", - "subjectDN": "MDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTQ==", - "whitelist": false, - "attachment": { - "hash": "dda828b4a97c8a8f24d378bef318af5d144be4d873ff73ba3f07303c1c298e49", - "size": 1971, - "filename": "L8VmekuaJnjtasatJUZfy_YJS_zZUECXx6j6R63l6Ig=.pem", - "location": "security-state-staging/intermediates/517b4707-ce8c-4711-b41b-f2251c5edd3d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "L8VmekuaJnjtasatJUZfy/YJS/zZUECXx6j6R63l6Ig=", - "crlite_enrolled": false, - "id": "a16f609b-1af0-4b48-90e8-2d6a182ca81f", - "last_modified": 1601517443289 - }, - { "schema": 1601376755045, "derHash": "5x2MO69D9rM1LfV0qfDUogZb8D2heVFLH8xdm+yMj80=", "subject": "CN=Cybertrust Global Root,O=Cybertrust\\, Inc", @@ -16021,24 +17065,6 @@ "last_modified": 1591199862091 }, { - "schema": 1591166848442, - "derHash": "gmV1bdXNijfuYeQDUSiOSxaondJIwexOuiWq8WGr9Jg=", - "subject": "CN=AC Sector Público,OU=Ceres,O=FNMT-RCM,C=ES", - "subjectDN": "MGcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEbMBkGA1UEAwwSQUMgU2VjdG9yIFDDumJsaWNv", - "whitelist": false, - "attachment": { - "hash": "cfe09ce65e4dcbc8449292b7e92e1cdaacc6c228de14a49ccc6300fda8e73598", - "size": 2816, - "filename": "aN4wUQfL0YidepsDn9ylA8GoitH0XRdS349Qxylp2RU=.pem", - "location": "security-state-staging/intermediates/7f6c9b16-66e0-4bd8-bb34-a2812443ecfb.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "aN4wUQfL0YidepsDn9ylA8GoitH0XRdS349Qxylp2RU=", - "crlite_enrolled": false, - "id": "72c55deb-6292-4294-b3d7-cd0eb0bc896a", - "last_modified": 1591199862045 - }, - { "schema": 1591166832366, "derHash": "HhMjmuBLlxvd5lOv38cyRDi44UbFxIqBcDEibJV2RTk=", "subject": "CN=GlobeSSL DV CA,O=CentralNic Luxembourg Sàrl,C=LU", @@ -16345,24 +17371,6 @@ "last_modified": 1591199861316 }, { - "schema": 1591167131032, - "derHash": "Iy9jZ89WHgDIPhgKn8qFRrN3H7RQ68tKBSb4NJyMoTk=", - "subject": "CN=Entrust Certification Authority - L1E,OU=www.entrust.net/rpa is incorporated by reference+OU=(c) 2009 Entrust\\, Inc.,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIGxMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjE5MDcGA1UECxMwd3d3LmVudHJ1c3QubmV0L3JwYSBpcyBpbmNvcnBvcmF0ZWQgYnkgcmVmZXJlbmNlMR8wHQYDVQQLExYoYykgMjAwOSBFbnRydXN0LCBJbmMuMS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFF", - "whitelist": false, - "attachment": { - "hash": "fb13e64f68c20f1be87aefb4a955348c9604a4103426723d49f8029f9fbcc797", - "size": 1833, - "filename": "HeMEDmta9acr_zmjHkdP_dKlW5RaqBlmADFOqTG56eA=.pem", - "location": "security-state-staging/intermediates/703534c7-f828-4ce3-86b8-8655d652362c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "HeMEDmta9acr/zmjHkdP/dKlW5RaqBlmADFOqTG56eA=", - "crlite_enrolled": true, - "id": "4afefd58-c2fb-4ede-9f24-7a133bc67e03", - "last_modified": 1591199861291 - }, - { "schema": 1591167097159, "derHash": "vMOlTXCDEWMWzgO5pAyjbzNvSDmsWBhi1DEahPcBUU0=", "subject": "CN=OKCERT R4 OV SSL CA G2,OU=Kingnettech,O=Kingnet Information Technology Co.\\, Ltd.,C=CN", @@ -16453,24 +17461,6 @@ "last_modified": 1580831371623 }, { - "schema": 1580831333485, - "derHash": "Ies3q0z274ll7BdmQJyna4suA/LRo4jfc0II6G3u5nk=", - "subject": "CN=DigiCert High Assurance CA-3,OU=www.digicert.com,O=DigiCert Inc,C=US", - "subjectDN": "MGYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJTAjBgNVBAMTHERpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIENBLTM=", - "whitelist": false, - "attachment": { - "hash": "d90539ef3ff76bf2ac792ae9bbc21d751d2ce841eab7781e291ab04fd791d950", - "size": 2259, - "filename": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm-jrFQ=.pem", - "location": "security-state-staging/intermediates/3211ad63-2e73-4235-916c-6b7f2a4c67d9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm+jrFQ=", - "crlite_enrolled": false, - "id": "d468c05a-c173-4f74-855c-1e3eba3d2298", - "last_modified": 1580831371587 - }, - { "schema": 1580831339070, "derHash": "LarG/frBbFSMU/8RmCVNfpN3YdIqHnzFwalGLpcUYfU=", "subject": "CN=TrustAsia ECC EV TLS Pro CA,O=TrustAsia Technologies\\, Inc.,C=CN", @@ -16543,60 +17533,6 @@ "last_modified": 1580831371521 }, { - "schema": 1580831338677, - "derHash": "V9jVuDJha3gjRmoMNydw0WpdzyRlgfD1g3PlHH4eUxY=", - "subject": "CN=DigiCert High Assurance CA-3,OU=www.digicert.com,O=DigiCert Inc,C=US", - "subjectDN": "MGYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJTAjBgNVBAMTHERpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIENBLTM=", - "whitelist": false, - "attachment": { - "hash": "80d4bb692e396cf3ccf6595d18d123459107363391f6c0e030d16cefc85308ba", - "size": 2255, - "filename": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm-jrFQ=.pem", - "location": "security-state-staging/intermediates/e98dee35-7b84-4d8f-9f01-3021b3339da7.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm+jrFQ=", - "crlite_enrolled": false, - "id": "2a5f71dc-243b-43b6-918e-b6e20ae381aa", - "last_modified": 1580831371512 - }, - { - "schema": 1580831338274, - "derHash": "wKShrAXgMJajsquKOFArOeJhThE5e+5z0KZris73ooM=", - "subject": "CN=DigiCert High Assurance CA-3,OU=www.digicert.com,O=DigiCert Inc,C=US", - "subjectDN": "MGYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJTAjBgNVBAMTHERpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIENBLTM=", - "whitelist": false, - "attachment": { - "hash": "e3909fbaebb8ef6af7bbffe333d52eafa063b31f216ab25a26f98adacb9b51f6", - "size": 2349, - "filename": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm-jrFQ=.pem", - "location": "security-state-staging/intermediates/202293f2-84fb-4a8c-b939-35ceaeb78a8d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm+jrFQ=", - "crlite_enrolled": false, - "id": "4495c40e-442c-4744-bcea-962e2b93bfd0", - "last_modified": 1580831371491 - }, - { - "schema": 1580831331243, - "derHash": "3LQArMJJ+4SDQV/CZQvJBIjKlmQxGMsOT0Qkshw6paQ=", - "subject": "CN=DigiCert High Assurance CA-3,OU=www.digicert.com,O=DigiCert Inc,C=US", - "subjectDN": "MGYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJTAjBgNVBAMTHERpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIENBLTM=", - "whitelist": false, - "attachment": { - "hash": "7b2bb2e718615878d60921325a6b6a79bfcdb0076c093323e35de7dc5ccb5e1e", - "size": 2259, - "filename": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm-jrFQ=.pem", - "location": "security-state-staging/intermediates/dc2adf52-a65a-47f4-98df-90d1bc2795c0.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "emrYgpjLplsXa6OnqyXuj5BgQDPaapisB5WfVm+jrFQ=", - "crlite_enrolled": false, - "id": "b1fa8b2a-9240-4c89-a31e-bbedfe18d2c1", - "last_modified": 1580831371478 - }, - { "schema": 1579028933319, "derHash": "0QEGJDi/sK8Fq6ed8A9N1J54uM79XtkpVlwjNhExAZE=", "subject": "CN=Global Trust CA - OV (ECC),O=Global Digital Inc.,C=TW", @@ -17317,24 +18253,6 @@ "last_modified": 1576536533821 }, { - "schema": 1576535909746, - "derHash": "yikDieDYxipAg/Yoo59S/j84tzGZz/r3wDcjeKRA+2o=", - "subject": "CN=Entrust Certification Authority - L1M,OU=See www.entrust.net/legal-terms+OU=(c) 2014 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTQgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFN", - "whitelist": false, - "attachment": { - "hash": "02e23f9b06e438417e4e71c8b9fb42a8e2da31ad266ad1ca50792fd36d7251b9", - "size": 1829, - "filename": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1_KAN6I=.pem", - "location": "security-state-staging/intermediates/3aae7952-dcc2-4419-b53f-9eac4094c51b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1/KAN6I=", - "crlite_enrolled": true, - "id": "d9a71e99-a2ad-4f36-b975-79dca9dd44f0", - "last_modified": 1576536533809 - }, - { "schema": 1576535908358, "derHash": "peM8KOMBOnH192CuOxZZUJAEPS7FIJ7FKQPE+60lja0=", "subject": "CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE", @@ -17767,24 +18685,6 @@ "last_modified": 1576536533196 }, { - "schema": 1576535678404, - "derHash": "Ocdjqc8Z2SP5d9I2JquJBEmkRKuLeVyBXvHvgf68Hjg=", - "subject": "CN=Amazon,OU=Server CA 1A,O=Amazon,C=US", - "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAxQTEPMA0GA1UEAxMGQW1hem9u", - "whitelist": false, - "attachment": { - "hash": "f399c4419d079a15a697f418e9a8d5ff90d3ac32db49507e30ee4a17491a1fd2", - "size": 1544, - "filename": "ZLtb2AMR-j9TvZlATKuHYq1uBIRH0Kl_IZ_OyhZh83w=.pem", - "location": "security-state-staging/intermediates/0bf45415-b984-4367-b6a5-c8d413da9d72.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ZLtb2AMR+j9TvZlATKuHYq1uBIRH0Kl/IZ/OyhZh83w=", - "crlite_enrolled": false, - "id": "ad381075-9d54-4e8f-9730-7b932a4f8b90", - "last_modified": 1576536533183 - }, - { "schema": 1576535676932, "derHash": "lqWizTmADPtqKoMO5S3PR/uwD/GwMgTbNpFc6jHxM0I=", "subject": "CN=GDCA TrustAUTH R4 EV SSL CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", @@ -17839,24 +18739,6 @@ "last_modified": 1576536533071 }, { - "schema": 1576535651001, - "derHash": "8DhCHwfyDWOiDTaR5aF4q4RZ6+VwwWR7dpBVTvI4dqs=", - "subject": "OU=AC Componentes Informáticos,O=FNMT-RCM,C=ES", - "subjectDN": "MEcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTElMCMGA1UECwwcQUMgQ29tcG9uZW50ZXMgSW5mb3Jtw6F0aWNvcw==", - "whitelist": false, - "attachment": { - "hash": "711fb746c38ddfee6090169d62da5358968caf228ade2ad75cb8be4c4dd3832d", - "size": 2430, - "filename": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ-57NkgXsoGc=.pem", - "location": "security-state-staging/intermediates/0ab80520-1d1a-43c3-88ab-467f0681114b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ+57NkgXsoGc=", - "crlite_enrolled": true, - "id": "e28f2f6d-d594-43d7-8356-195ce9834fcf", - "last_modified": 1576536533065 - }, - { "schema": 1576535643788, "derHash": "7nk2QxmUdO1g79yMzeTTdEWSFoNZOqdRu/juSRo5Hpc=", "subject": "CN=AlphaSSL CA - SHA256 - G2,O=GlobalSign nv-sa,C=BE", @@ -18127,24 +19009,6 @@ "last_modified": 1576536532774 }, { - "schema": 1576535552192, - "derHash": "38x3XGRNtKM61xKTQz9GPI4xBXziLLJn+dMaA1P0/C8=", - "subject": "CN=Amazon,OU=Server CA 0A,O=Amazon,C=US", - "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAwQTEPMA0GA1UEAxMGQW1hem9u", - "whitelist": false, - "attachment": { - "hash": "beb147abe96d6e343843d2e2fd729d58e42b2dab74a3c0ccc41530639168e721", - "size": 1666, - "filename": "tYU57KoTkhzNuA0400h1_eZHHFoVnZvu8vpvmZg71hE=.pem", - "location": "security-state-staging/intermediates/e3003237-67fc-4118-adfa-35b22f4430b8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "tYU57KoTkhzNuA0400h1/eZHHFoVnZvu8vpvmZg71hE=", - "crlite_enrolled": false, - "id": "838bb94d-8f5e-4921-a93a-9035addc8ae6", - "last_modified": 1576536532770 - }, - { "schema": 1576535550809, "derHash": "U5wT1vJzElL5ndK69D1AVZxGxYV1jE/EQQx+xILb7Wk=", "subject": "CN=OneSignSSL ECC DV Secure Server CA,O=One Sign Pte. Ltd.,L=Singapore,ST=Singapore,C=SG", @@ -18181,24 +19045,6 @@ "last_modified": 1576536532759 }, { - "schema": 1576535549332, - "derHash": "ORIgcFt1vPPtPNSzYxIT9WnSz4ImEB4XB5mlNUqxKGE=", - "subject": "CN=Amazon Root CA 1,O=Amazon,C=US", - "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDE=", - "whitelist": false, - "attachment": { - "hash": "076400302106a1d71c433340807aa21af7fdcdd85ff586d57757cf6d6718dbc4", - "size": 1646, - "filename": "--MBgDH5WGvL9Bcn5Be30cRcL0f5O-NyoXuWtQdX1aI=.pem", - "location": "security-state-staging/intermediates/3f9e0d02-5eec-434a-9f82-730c885b8a36.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "++MBgDH5WGvL9Bcn5Be30cRcL0f5O+NyoXuWtQdX1aI=", - "crlite_enrolled": false, - "id": "9cb19f7a-6a36-46ac-a938-502daee657ab", - "last_modified": 1576536532756 - }, - { "schema": 1576535544989, "derHash": "pfS4JqWGN/kStp/oWZByQ73+qnGgLcRCnQZk4hSgqds=", "subject": "CN=EV TLS ECC ICA R1,O=Public Key Infrastructure Ltd,L=Victoria,ST=Mahé,C=SC", @@ -18289,24 +19135,6 @@ "last_modified": 1576536532675 }, { - "schema": 1576535485113, - "derHash": "GKQ8UdCBdMOm2F8cExi9KQl1PnXZHPZZn3M0ewBwKJA=", - "subject": "SERIALNUMBER=Q2826004J,CN=AC Administración Pública,OU=CERES,O=FNMT-RCM,C=ES", - "subjectDN": "MGoxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ0VSRVMxEjAQBgNVBAUTCVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgQWRtaW5pc3RyYWNpw7NuIFDDumJsaWNh", - "whitelist": false, - "attachment": { - "hash": "b1b8087026dcff96160076000ab8ec70cb29448880359f0ce676c987951eea3d", - "size": 2438, - "filename": "uoKUEuwkPtDw_4xcvGkwXVXs-8X9iESzjMRl18SDGV0=.pem", - "location": "security-state-staging/intermediates/b3020299-7dbb-43c6-97f7-e87736a45fc9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uoKUEuwkPtDw/4xcvGkwXVXs+8X9iESzjMRl18SDGV0=", - "crlite_enrolled": true, - "id": "aabec165-9b72-4d6a-8fa8-d4eeb29669f0", - "last_modified": 1576536532600 - }, - { "schema": 1576535467347, "derHash": "9V+f/Lg8c0UyYWAcfgRNsVoPA0uTwFgw8oY174ic9nA=", "subject": "CN=Amazon,OU=Server CA 1B,O=Amazon,C=US", @@ -18415,24 +19243,6 @@ "last_modified": 1576536532446 }, { - "schema": 1576536118729, - "derHash": "izWEZtZhJjEhIGRaWHWmpX48gdmEdqlnYEJEJU6sAPA=", - "subject": "CN=Amazon Root CA 2,O=Amazon,C=US", - "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDI=", - "whitelist": false, - "attachment": { - "hash": "099a90f379b0ecca696c3cde0f60b64211dbaafa0ce4ae4b1b13e1dc145c4f27", - "size": 1991, - "filename": "f0KW_FtqTjs108NpYj42SrGvOB2PpxIVM8nWxjPqJGE=.pem", - "location": "security-state-staging/intermediates/b138d0b5-195f-401a-8c97-1bd007ddf648.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "f0KW/FtqTjs108NpYj42SrGvOB2PpxIVM8nWxjPqJGE=", - "crlite_enrolled": false, - "id": "4a7d284b-1295-4ae6-af24-7de01c05ab0d", - "last_modified": 1576536532395 - }, - { "schema": 1576536107246, "derHash": "cpVqHFql2RrGnNYxB6JaoYQ4Gd3CHFEI7B2X8yKWA84=", "subject": "CN=USERTrust ECC Domain Validation Secure Server CA,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US", @@ -18469,24 +19279,6 @@ "last_modified": 1576536532374 }, { - "schema": 1576536113725, - "derHash": "h9zU3HRkCjIs0gVVJQbRvmTxJZYlgJZUSYa0hQvHJwY=", - "subject": "CN=Amazon Root CA 1,O=Amazon,C=US", - "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDE=", - "whitelist": false, - "attachment": { - "hash": "8f2766bb42744fe0fcf37f433c66191277a29d9bd4641cc4121ccf842ecf940c", - "size": 1646, - "filename": "--MBgDH5WGvL9Bcn5Be30cRcL0f5O-NyoXuWtQdX1aI=.pem", - "location": "security-state-staging/intermediates/6e41f0a0-496f-4745-a675-09b997850d04.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "++MBgDH5WGvL9Bcn5Be30cRcL0f5O+NyoXuWtQdX1aI=", - "crlite_enrolled": false, - "id": "a3c4dda1-24a7-46e0-97f3-4ce13eb70857", - "last_modified": 1576536532366 - }, - { "schema": 1576536088977, "derHash": "h8cVU0Res8M8PgcQcRuZ6cd3PwTZGsOKn0wILuJBAeo=", "subject": "CN=GlobalSign ECC OV SSL CA 2018,O=GlobalSign nv-sa,C=BE", @@ -18685,24 +19477,6 @@ "last_modified": 1576536532124 }, { - "schema": 1576536128757, - "derHash": "VD2bf8KmRxzYT8pSws9hWd+D6/zYjYsIta8/iHN/UuY=", - "subject": "CN=Amazon Root CA 4,O=Amazon,C=US", - "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDQ=", - "whitelist": false, - "attachment": { - "hash": "529e23adcf592c5f3ead786e4cade919e70e5ce97467aa24135ffedb958ca909", - "size": 1410, - "filename": "9-ze1cZgR9KO1kZrVDxA4HQ6voHRCSVNz4RdTCx4U8U=.pem", - "location": "security-state-staging/intermediates/7e2813c8-5040-4edb-82d1-6727b462247e.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "9+ze1cZgR9KO1kZrVDxA4HQ6voHRCSVNz4RdTCx4U8U=", - "crlite_enrolled": false, - "id": "6fb12511-5167-469d-9692-07522e197a11", - "last_modified": 1576536532102 - }, - { "schema": 1576536080221, "derHash": "m/WJZ1RZlhlFEtthdxUa/plwauo9o2/u562fizwFB8s=", "subject": "CN=Go Daddy Root Certificate Authority - G2,OU=https://certs.godaddy.com/repository/,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US", @@ -18811,24 +19585,6 @@ "last_modified": 1576536531830 }, { - "schema": 1576536097708, - "derHash": "QMgm/bIroyovnbT5R3D3K4sdqcj/2nsR5vJ68kXIm14=", - "subject": "CN=Amazon Root CA 3,O=Amazon,C=US", - "subjectDN": "MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpvbiBSb290IENBIDM=", - "whitelist": false, - "attachment": { - "hash": "527804e0cdb3a780b57c0f3f7429e1a5b42984b3bd67157b9fda6ba75cdc6d0a", - "size": 1370, - "filename": "NqvDJlas_GRcYbcWE8S_IceH9cq77kg0jVhZeAPXq8k=.pem", - "location": "security-state-staging/intermediates/52ba3866-d596-48e9-9a8f-b80188b6a77a.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "NqvDJlas/GRcYbcWE8S/IceH9cq77kg0jVhZeAPXq8k=", - "crlite_enrolled": false, - "id": "249a688b-b665-4574-a1c8-43ac8cff8067", - "last_modified": 1576536531740 - }, - { "schema": 1576536075273, "derHash": "jxn/4C/Hle1wdl0UNq3fdy/g8Hc9pDbtvbQqLjDi6Cg=", "subject": "CN=GlobalSign ECC EV SSL CA 2018,O=GlobalSign nv-sa,C=BE", @@ -19207,24 +19963,6 @@ "last_modified": 1576536530666 }, { - "schema": 1576536134890, - "derHash": "2OGKZa94RUhUyqKPsvXnm1fsFB8BBCO8yKcav8BJbCw=", - "subject": "CN=GENIOUS RSA Extended Validation Secure Server CA,OU=Controlled by Sectigo exclusively for Genious Communications,O=Genious Communications,L=Marrakech,ST=Marrakech,C=MA", - "subjectDN": "MIHYMQswCQYDVQQGEwJNQTESMBAGA1UECBMJTWFycmFrZWNoMRIwEAYDVQQHEwlNYXJyYWtlY2gxHzAdBgNVBAoTFkdlbmlvdXMgQ29tbXVuaWNhdGlvbnMxRTBDBgNVBAsTPENvbnRyb2xsZWQgYnkgU2VjdGlnbyBleGNsdXNpdmVseSBmb3IgR2VuaW91cyBDb21tdW5pY2F0aW9uczE5MDcGA1UEAxMwR0VOSU9VUyBSU0EgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB", - "whitelist": false, - "attachment": { - "hash": "dc505a925299ceeea43e708019d0fb1086a320d0a035fb0cf585b7e376d7e4f6", - "size": 2304, - "filename": "ImErDX6kNNxXp53lr4QRD49owJiK0A8orzjdda8pDb0=.pem", - "location": "security-state-staging/intermediates/ae100f8d-c411-4912-908b-ef0fe59832c9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ImErDX6kNNxXp53lr4QRD49owJiK0A8orzjdda8pDb0=", - "crlite_enrolled": false, - "id": "51c58311-bdec-4aab-a6cb-4a4f8e10e262", - "last_modified": 1576536530584 - }, - { "schema": 1562108591033, "derHash": "pKfQXyloVnnjwAoyLOa2zVf92l8u9CxsbnNYHIpHEHc=", "subject": "CN=Trusted Secure ECC Certificate Authority DV,O=Corporation Service Company,L=Wilmington,ST=DE,C=US", @@ -19531,24 +20269,6 @@ "last_modified": 1562108490643 }, { - "schema": 1562108488345, - "derHash": "2w2hYDLxZDoklv3nQuK76B2spYzXYSBhQg4VTOG84r0=", - "subject": "OU=AC Componentes Informáticos,O=FNMT-RCM,C=ES", - "subjectDN": "MEcxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTElMCMGA1UECwwcQUMgQ29tcG9uZW50ZXMgSW5mb3Jtw6F0aWNvcw==", - "whitelist": false, - "attachment": { - "hash": "9667524969985c4cb1aa76f3e3c434be6441809f9c3d2bad6265165a0b509b08", - "size": 2430, - "filename": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ-57NkgXsoGc=.pem", - "location": "security-state-staging/intermediates/5bc2733e-1751-448d-9db9-b1e6c1f4afc4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "MEJWDQI0WXBrEdYtj1u1WdwD26XsIXQQ+57NkgXsoGc=", - "crlite_enrolled": true, - "id": "43dee182-4f7e-46ed-8e3c-f6b84da2e351", - "last_modified": 1562108489116 - }, - { "schema": 1562108486020, "derHash": "dCZArGf41xssR3dQdK2MYLriwBI6sYNUwkwXGTLYYYM=", "subject": "CN=eMudhra ECC Organization Validation Secure Server CA,O=eMudhra Technologies Limited,L=Bengaluru,ST=Karnataka,C=IN", @@ -19999,24 +20719,6 @@ "last_modified": 1562108340038 }, { - "schema": 1562108330185, - "derHash": "chMOOyiQA0khRhf01vP7hdCEde54vwlcWUWKFNGCiGY=", - "subject": "CN=Amazon,OU=Server CA 2A,O=Amazon,C=US", - "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAyQTEPMA0GA1UEAxMGQW1hem9u", - "whitelist": false, - "attachment": { - "hash": "2a82794488d990d2916a320c0881fba10016362c3188bf9954c30bf6848d39ec", - "size": 2235, - "filename": "G9pa__g3gTgL9wgZj599LbHgZ_FLuep7rnCqwLAwXns=.pem", - "location": "security-state-staging/intermediates/83918488-ba2c-4ac0-8d46-0bf63d394383.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "G9pa//g3gTgL9wgZj599LbHgZ/FLuep7rnCqwLAwXns=", - "crlite_enrolled": false, - "id": "b35b0a67-1556-41a4-a319-97a50209d163", - "last_modified": 1562108330937 - }, - { "schema": 1562108327127, "derHash": "ykOJyJ3fwxvsJsdLRKhJjFiy2DhRb6AbFPE5NinlikA=", "subject": "CN=AffirmTrust Certificate Authority - DV1,OU=See www.affirmtrust.com/repository,O=AffirmTrust,C=CA", @@ -21043,24 +21745,6 @@ "last_modified": 1562025423424 }, { - "schema": 1562025418924, - "derHash": "e+0pJ2rL7Z8Xbzi7o6Z85YFbXL8VIse7WezYawnhbtI=", - "subject": "CN=Amazon,OU=Server CA 4A,O=Amazon,C=US", - "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSA0QTEPMA0GA1UEAxMGQW1hem9u", - "whitelist": false, - "attachment": { - "hash": "80e7ade2cfaf2410560723bc955bfee6189c0738bf29f0cbef746f8ab6211ff5", - "size": 1089, - "filename": "F3CN_yt_rsnLG1IV67JCHZewVDyTb6ydbgK5LyDlxwc=.pem", - "location": "security-state-staging/intermediates/e35a1354-e5b2-4212-a952-670b71886c48.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "F3CN/yt/rsnLG1IV67JCHZewVDyTb6ydbgK5LyDlxwc=", - "crlite_enrolled": false, - "id": "e892e888-930b-4d65-ac61-bac8ebb2adc5", - "last_modified": 1562025419658 - }, - { "schema": 1562025406966, "derHash": "SKL31+gNQucip1LYkjgcBu7EQUFVydZFKqUG7qTtQ/Y=", "subject": "CN=Trustico ECC OV CA,O=The Trustico Group Ltd,L=Croydon,ST=London,C=GB", @@ -21547,24 +22231,6 @@ "last_modified": 1562025274069 }, { - "schema": 1562025267327, - "derHash": "nG0IkzIBQH+/KxJUC2fMDkyWZvEy4VBHYqcXy66PP9Y=", - "subject": "CN=HydrantID SSL ICA G2,O=HydrantID (Avalanche Cloud Corporation),C=US", - "subjectDN": "MF4xCzAJBgNVBAYTAlVTMTAwLgYDVQQKEydIeWRyYW50SUQgKEF2YWxhbmNoZSBDbG91ZCBDb3Jwb3JhdGlvbikxHTAbBgNVBAMTFEh5ZHJhbnRJRCBTU0wgSUNBIEcy", - "whitelist": false, - "attachment": { - "hash": "c4fbca9a15eb275e83118896e4839aba070abde056cf047aa1a57afdd78af927", - "size": 2406, - "filename": "400Fim9IQe4j-Gj-Ci4R44M3gA6J1_TRh8LlPSLF3I8=.pem", - "location": "security-state-staging/intermediates/a6966be8-fd40-411c-9f57-e4027bd92592.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "400Fim9IQe4j+Gj+Ci4R44M3gA6J1/TRh8LlPSLF3I8=", - "crlite_enrolled": true, - "id": "c6e5ffe6-a302-4ac5-a6b6-3b6b960d5347", - "last_modified": 1562025268059 - }, - { "schema": 1562025265805, "derHash": "CCf2v9u/MOoP6s8be9Bu72XbJxrNfptdJpoPLzcrIek=", "subject": "CN=EuropeanSSL Server CA 2,O=EUNETIC GmbH,L=Durmersheim,ST=Baden-Württemberg,C=DE", @@ -22537,24 +23203,6 @@ "last_modified": 1562024929214 }, { - "schema": 1562024919307, - "derHash": "IFFUt3ftxVpRRlhaXlTgVKcL5KrTuF0CMY2ie/gHrfE=", - "subject": "CN=Amazon,OU=Server CA 3A,O=Amazon,C=US", - "subjectDN": "MEYxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xFTATBgNVBAsTDFNlcnZlciBDQSAzQTEPMA0GA1UEAxMGQW1hem9u", - "whitelist": false, - "attachment": { - "hash": "05a3b22929a248fe09c8e080b25d2e2076a990ab5c629c24916624485d790547", - "size": 1008, - "filename": "fFO133kTXZr2GV72u3OrmMLImVC4krGS3_14TbklpBw=.pem", - "location": "security-state-staging/intermediates/88877557-2163-4dde-bcc8-c9e7b0b12206.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "fFO133kTXZr2GV72u3OrmMLImVC4krGS3/14TbklpBw=", - "crlite_enrolled": false, - "id": "7760fae2-5a3c-4718-9149-d102bf58eb33", - "last_modified": 1562024920055 - }, - { "schema": 1562024917049, "derHash": "bN+dy/NRCju0AnYdYtDF5OevxR2c/wHwK9UyVtxWet8=", "subject": "CN=GDCA TrustAUTH R4 DV SSL CA G2,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", @@ -23743,24 +24391,6 @@ "last_modified": 1562023810560 }, { - "schema": 1561997070297, - "derHash": "gw/yBa5pSFBZw/sjdqfy+e4cKmHeJZ3QnQu2rWn4iDI=", - "subject": "SERIALNUMBER=Q2826004J,CN=AC Administración Pública,OU=CERES,O=FNMT-RCM,C=ES", - "subjectDN": "MGoxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ0VSRVMxEjAQBgNVBAUTCVEyODI2MDA0SjEkMCIGA1UEAwwbQUMgQWRtaW5pc3RyYWNpw7NuIFDDumJsaWNh", - "whitelist": false, - "attachment": { - "hash": "1a643193c39cf1aa75be19f71a124a43c4ff5403f87361b228eed95bdccebd66", - "size": 2438, - "filename": "uoKUEuwkPtDw_4xcvGkwXVXs-8X9iESzjMRl18SDGV0=.pem", - "location": "security-state-staging/intermediates/b2066e9b-2ccd-4607-b8f6-e71ba0621bca.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uoKUEuwkPtDw/4xcvGkwXVXs+8X9iESzjMRl18SDGV0=", - "crlite_enrolled": true, - "id": "a37e40f6-ffa2-4d26-992d-432521bce7f9", - "last_modified": 1562023808306 - }, - { "schema": 1559867684823, "derHash": "9nIr5ErNrltaizsLSvn0v15fvDlhz1JsvZdp0cbhSFk=", "subject": "CN=Sectigo ECC Domain Validation Secure Server CA 2,O=Sectigo Limited,L=Salford,ST=Greater Manchester,C=GB", diff -Nru thunderbird-91.8.0/sourcestamp.txt thunderbird-91.10.0/sourcestamp.txt --- thunderbird-91.8.0/sourcestamp.txt 2022-04-01 22:08:46.000000000 +0000 +++ thunderbird-91.10.0/sourcestamp.txt 2022-05-25 21:50:17.000000000 +0000 @@ -1,3 +1,3 @@ -20220401203107 -https://hg.mozilla.org/releases/comm-esr91/rev/525d4941f4870a56f714af775b7d7bc18175021d -https://hg.mozilla.org/releases/mozilla-esr91/rev/3b54d6b5407fca03efdb2e2f57a9838498e0d038 +20220525135609 +https://hg.mozilla.org/releases/comm-esr91/rev/4a4b901410a9055d078d0cdd7c62b2b5d56ffbad +https://hg.mozilla.org/releases/mozilla-esr91/rev/9cbe8ffa12101019dbe0da698f869ed3ef0b9370 diff -Nru thunderbird-91.8.0/taskcluster/docker/decision/HASH thunderbird-91.10.0/taskcluster/docker/decision/HASH --- thunderbird-91.8.0/taskcluster/docker/decision/HASH 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/docker/decision/HASH 2022-05-25 21:47:38.000000000 +0000 @@ -1 +1 @@ -sha256:9964730ed951584e65032bd1d6a2b7ede6d880a8b7aefb72d0d7f82346d834e3 +sha256:9f69fe08c28e3cb3cc296451f0a2735df6e25d0e3c877ea735ef1b7f0b345b06 diff -Nru thunderbird-91.8.0/taskcluster/taskgraph/transforms/geckodriver_signing.py thunderbird-91.10.0/taskcluster/taskgraph/transforms/geckodriver_signing.py --- thunderbird-91.8.0/taskcluster/taskgraph/transforms/geckodriver_signing.py 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/taskgraph/transforms/geckodriver_signing.py 2022-05-25 21:47:14.000000000 +0000 @@ -108,7 +108,7 @@ def _craft_upstream_artifacts(dep_job, dependency_kind, build_platform): if build_platform.startswith("win"): - signing_format = "autograph_authenticode" + signing_format = "autograph_authenticode_sha2" elif build_platform.startswith("linux"): signing_format = "autograph_gpg" elif build_platform.startswith("macosx"): diff -Nru thunderbird-91.8.0/taskcluster/taskgraph/transforms/openh264_signing.py thunderbird-91.10.0/taskcluster/taskgraph/transforms/openh264_signing.py --- thunderbird-91.8.0/taskcluster/taskgraph/transforms/openh264_signing.py 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/taskgraph/transforms/openh264_signing.py 2022-05-25 21:47:23.000000000 +0000 @@ -69,7 +69,7 @@ if "win" in build_platform: # job['primary-dependency'].task['payload']['command'] - upstream_artifact["formats"] = ["autograph_authenticode"] + upstream_artifact["formats"] = ["autograph_authenticode_sha2"] elif "mac" in build_platform: upstream_artifact["formats"] = ["mac_single_file"] upstream_artifact["singleFileGlobs"] = ["libgmpopenh264.dylib"] diff -Nru thunderbird-91.8.0/taskcluster/taskgraph/transforms/repackage_signing.py thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing.py --- thunderbird-91.8.0/taskcluster/taskgraph/transforms/repackage_signing.py 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing.py 2022-05-25 21:47:39.000000000 +0000 @@ -27,9 +27,9 @@ ) SIGNING_FORMATS = { - "target.installer.exe": ["autograph_authenticode_stub"], - "target.stub-installer.exe": ["autograph_authenticode_stub"], - "target.installer.msi": ["autograph_authenticode"], + "target.installer.exe": ["autograph_authenticode_sha2_stub"], + "target.stub-installer.exe": ["autograph_authenticode_sha2_stub"], + "target.installer.msi": ["autograph_authenticode_sha2"], } transforms = TransformSequence() diff -Nru thunderbird-91.8.0/taskcluster/taskgraph/transforms/repackage_signing_partner.py thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing_partner.py --- thunderbird-91.8.0/taskcluster/taskgraph/transforms/repackage_signing_partner.py 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/taskgraph/transforms/repackage_signing_partner.py 2022-05-25 21:47:14.000000000 +0000 @@ -79,7 +79,7 @@ dep_job, "{}/target.installer.exe".format(repack_id) ), ], - "formats": ["autograph_authenticode", "autograph_gpg"], + "formats": ["autograph_authenticode_sha2", "autograph_gpg"], } ] @@ -99,7 +99,7 @@ "{}/target.stub-installer.exe".format(repack_id), ), ], - "formats": ["autograph_authenticode", "autograph_gpg"], + "formats": ["autograph_authenticode_sha2", "autograph_gpg"], } ) elif "mac" in build_platform: diff -Nru thunderbird-91.8.0/taskcluster/taskgraph/util/signed_artifacts.py thunderbird-91.10.0/taskcluster/taskgraph/util/signed_artifacts.py --- thunderbird-91.8.0/taskcluster/taskgraph/util/signed_artifacts.py 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/taskcluster/taskgraph/util/signed_artifacts.py 2022-05-25 21:47:25.000000000 +0000 @@ -98,14 +98,14 @@ "artifacts": [ get_artifact_path(job, "{locale}/setup.exe"), ], - "formats": ["autograph_authenticode"], + "formats": ["autograph_authenticode_sha2"], }, { "artifacts": [ get_artifact_path(job, "{locale}/target.zip"), ], "formats": [ - "autograph_authenticode", + "autograph_authenticode_sha2", "autograph_widevine", "autograph_omnija", ], diff -Nru thunderbird-91.8.0/testing/firefox-ui/tests/functional/security/manifest.ini thunderbird-91.10.0/testing/firefox-ui/tests/functional/security/manifest.ini --- thunderbird-91.8.0/testing/firefox-ui/tests/functional/security/manifest.ini 2022-04-01 22:08:18.000000000 +0000 +++ thunderbird-91.10.0/testing/firefox-ui/tests/functional/security/manifest.ini 2022-05-25 21:47:09.000000000 +0000 @@ -2,3 +2,4 @@ tags = remote [test_ssl_status_after_restart.py] +skip-if = true # Bug 1762505: badssl.com not reachable and expired certificate diff -Nru thunderbird-91.8.0/testing/web-platform/meta/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html.ini thunderbird-91.10.0/testing/web-platform/meta/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html.ini --- thunderbird-91.8.0/testing/web-platform/meta/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html.ini 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/testing/web-platform/meta/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -[sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html] - bug: 1600442 - expected: - if release_or_beta: [OK, TIMEOUT] - [Sandboxed => unsandboxed popup] - expected: - if release_or_beta: [FAIL, TIMEOUT] - if (os == "android") and debug: ["FAIL", "PASS"] - if (os == "android") and not debug: ["FAIL", "PASS"] - FAIL - diff -Nru thunderbird-91.8.0/testing/web-platform/meta/infrastructure/server/__dir__.ini thunderbird-91.10.0/testing/web-platform/meta/infrastructure/server/__dir__.ini --- thunderbird-91.8.0/testing/web-platform/meta/infrastructure/server/__dir__.ini 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/testing/web-platform/meta/infrastructure/server/__dir__.ini 2022-05-25 21:47:24.000000000 +0000 @@ -1,2 +1,3 @@ lsan-disabled: true leak-threshold: [default:51200, tab:51200] +prefs: [network.http.spdy.websockets:true] diff -Nru thunderbird-91.8.0/testing/web-platform/meta/websockets/__dir__.ini thunderbird-91.10.0/testing/web-platform/meta/websockets/__dir__.ini --- thunderbird-91.8.0/testing/web-platform/meta/websockets/__dir__.ini 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/testing/web-platform/meta/websockets/__dir__.ini 2022-05-25 21:47:56.000000000 +0000 @@ -1,2 +1,3 @@ lsan-disabled: true leak-threshold: [default:102400, tab:51200] +prefs: [network.http.spdy.websockets:true] diff -Nru thunderbird-91.8.0/testing/web-platform/meta/websockets/extended-payload-length.html.ini thunderbird-91.10.0/testing/web-platform/meta/websockets/extended-payload-length.html.ini --- thunderbird-91.8.0/testing/web-platform/meta/websockets/extended-payload-length.html.ini 2022-04-01 22:08:19.000000000 +0000 +++ thunderbird-91.10.0/testing/web-platform/meta/websockets/extended-payload-length.html.ini 2022-05-25 21:47:46.000000000 +0000 @@ -1,22 +1,5 @@ [extended-payload-length.html?wpt_flags=h2] - expected: - if (os == "mac") and not debug: [OK, TIMEOUT] - [Application data is 126 byte which starts to use the 16 bit 'Extended payload length' field.] - expected: - if (os == "android") and swgl: [PASS, FAIL] - if (os == "mac") and not debug: [PASS, FAIL] - - [Application data is 125 byte which means any 'Extended payload length' field isn't used at all.] - expected: - if swgl and (os == "android"): [PASS, FAIL] - - [Application data is 0xFFFF byte which means the upper bound of the 16 bit 'Extended payload length' field.] - expected: - if (os == "mac") and not debug: [PASS, TIMEOUT] - - [Application data is (0xFFFF + 1) byte which starts to use the 64 bit 'Extended payload length' field] - expected: - if (os == "mac") and not debug: [PASS, TIMEOUT] + disabled: Bug 1727995 [extended-payload-length.html?wss] diff -Nru thunderbird-91.8.0/thunderbird-l10n/af/manifest.json thunderbird-91.10.0/thunderbird-l10n/af/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/af/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/af/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Afrikaans Language Pack", "description": "Language pack for Thunderbird for af", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "af": { "version": "20220318064006", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ar/manifest.json thunderbird-91.10.0/thunderbird-l10n/ar/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ar/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ar/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "العربية Language Pack", "description": "Language pack for Thunderbird for ar", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ar": { "version": "20220318064043", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ast/manifest.json thunderbird-91.10.0/thunderbird-l10n/ast/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ast/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ast/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Asturianu Language Pack", "description": "Language pack for Thunderbird for ast", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ast": { "version": "20220318064107", diff -Nru thunderbird-91.8.0/thunderbird-l10n/be/manifest.json thunderbird-91.10.0/thunderbird-l10n/be/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/be/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/be/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Беларуская Language Pack", "description": "Language pack for Thunderbird for be", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "be": { "version": "20220321194303", diff -Nru thunderbird-91.8.0/thunderbird-l10n/bg/manifest.json thunderbird-91.10.0/thunderbird-l10n/bg/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/bg/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/bg/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Български Language Pack", "description": "Language pack for Thunderbird for bg", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "bg": { "version": "20220318064145", diff -Nru thunderbird-91.8.0/thunderbird-l10n/br/manifest.json thunderbird-91.10.0/thunderbird-l10n/br/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/br/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/br/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Breton Language Pack", "description": "Language pack for Thunderbird for br", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "br": { "version": "20220318064245", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ca/manifest.json thunderbird-91.10.0/thunderbird-l10n/ca/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ca/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ca/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Català Language Pack", "description": "Language pack for Thunderbird for ca", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ca": { "version": "20220318064321", diff -Nru thunderbird-91.8.0/thunderbird-l10n/cak/manifest.json thunderbird-91.10.0/thunderbird-l10n/cak/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/cak/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/cak/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Kaqchikel (Guatemala) Language Pack", "description": "Language pack for Thunderbird for cak", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "cak": { "version": "20220318064346", diff -Nru thunderbird-91.8.0/thunderbird-l10n/cs/manifest.json thunderbird-91.10.0/thunderbird-l10n/cs/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/cs/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/cs/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Czech (CZ) Language Pack", "description": "Language pack for Thunderbird for cs", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "cs": { "version": "20220319081349", diff -Nru thunderbird-91.8.0/thunderbird-l10n/cy/manifest.json thunderbird-91.10.0/thunderbird-l10n/cy/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/cy/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/cy/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Cymraeg Language Pack", "description": "Language pack for Thunderbird for cy", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "cy": { "version": "20220321203757", diff -Nru thunderbird-91.8.0/thunderbird-l10n/da/manifest.json thunderbird-91.10.0/thunderbird-l10n/da/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/da/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/da/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Dansk (da) Language Pack", "description": "Language pack for Thunderbird for da", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "da": { "version": "20220322092321", diff -Nru thunderbird-91.8.0/thunderbird-l10n/de/manifest.json thunderbird-91.10.0/thunderbird-l10n/de/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/de/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/de/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Deutsch (DE) Language Pack", "description": "Language pack for Thunderbird for de", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "de": { "version": "20220322203325", diff -Nru thunderbird-91.8.0/thunderbird-l10n/dsb/manifest.json thunderbird-91.10.0/thunderbird-l10n/dsb/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/dsb/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/dsb/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Dolnoserbšćina Language Pack", "description": "Language pack for Thunderbird for dsb", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "dsb": { "version": "20220318221032", diff -Nru thunderbird-91.8.0/thunderbird-l10n/el/manifest.json thunderbird-91.10.0/thunderbird-l10n/el/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/el/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/el/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Ελληνικά Language Pack", "description": "Language pack for Thunderbird for el", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "el": { "version": "20220321121313", diff -Nru thunderbird-91.8.0/thunderbird-l10n/en-CA/manifest.json thunderbird-91.10.0/thunderbird-l10n/en-CA/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/en-CA/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/en-CA/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "English (CA) Language Pack", "description": "Language pack for Thunderbird for en-CA", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "en-CA": { "version": "20220318064545", diff -Nru thunderbird-91.8.0/thunderbird-l10n/en-GB/manifest.json thunderbird-91.10.0/thunderbird-l10n/en-GB/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/en-GB/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/en-GB/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "English (GB) Language Pack", "description": "Language pack for Thunderbird for en-GB", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "en-GB": { "version": "20220323024254", diff -Nru thunderbird-91.8.0/thunderbird-l10n/es-AR/manifest.json thunderbird-91.10.0/thunderbird-l10n/es-AR/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/es-AR/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/es-AR/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Español (AR) Language Pack", "description": "Language pack for Thunderbird for es-AR", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "es-AR": { "version": "20220321063344", diff -Nru thunderbird-91.8.0/thunderbird-l10n/es-ES/manifest.json thunderbird-91.10.0/thunderbird-l10n/es-ES/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/es-ES/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/es-ES/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Español (España) Language Pack", "description": "Language pack for Thunderbird for es-ES", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "es-ES": { "version": "20220320201250", diff -Nru thunderbird-91.8.0/thunderbird-l10n/et/manifest.json thunderbird-91.10.0/thunderbird-l10n/et/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/et/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/et/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Estonian Language Pack", "description": "Language pack for Thunderbird for et", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "et": { "version": "20220322072223", diff -Nru thunderbird-91.8.0/thunderbird-l10n/eu/manifest.json thunderbird-91.10.0/thunderbird-l10n/eu/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/eu/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/eu/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Basque Language Pack", "description": "Language pack for Thunderbird for eu", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "eu": { "version": "20220318064754", diff -Nru thunderbird-91.8.0/thunderbird-l10n/fi/manifest.json thunderbird-91.10.0/thunderbird-l10n/fi/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/fi/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/fi/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Finnish Language Pack", "description": "Language pack for Thunderbird for fi", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "fi": { "version": "20220322171744", diff -Nru thunderbird-91.8.0/thunderbird-l10n/fr/manifest.json thunderbird-91.10.0/thunderbird-l10n/fr/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/fr/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/fr/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Français Language Pack", "description": "Language pack for Thunderbird for fr", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "fr": { "version": "20220321123311", diff -Nru thunderbird-91.8.0/thunderbird-l10n/fy-NL/manifest.json thunderbird-91.10.0/thunderbird-l10n/fy-NL/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/fy-NL/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/fy-NL/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Frysk (fy) Language Pack", "description": "Language pack for Thunderbird for fy-NL", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "fy-NL": { "version": "20220318064921", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ga-IE/manifest.json thunderbird-91.10.0/thunderbird-l10n/ga-IE/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ga-IE/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ga-IE/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Béarla (SAM) Language Pack", "description": "Language pack for Thunderbird for ga-IE", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ga-IE": { "version": "20220318064933", diff -Nru thunderbird-91.8.0/thunderbird-l10n/gd/manifest.json thunderbird-91.10.0/thunderbird-l10n/gd/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/gd/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/gd/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Gàidhlig Language Pack", "description": "Language pack for Thunderbird for gd", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "gd": { "version": "20220318064945", diff -Nru thunderbird-91.8.0/thunderbird-l10n/gl/manifest.json thunderbird-91.10.0/thunderbird-l10n/gl/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/gl/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/gl/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Galego (España) Language Pack", "description": "Language pack for Thunderbird for gl", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "gl": { "version": "20220318064957", diff -Nru thunderbird-91.8.0/thunderbird-l10n/he/manifest.json thunderbird-91.10.0/thunderbird-l10n/he/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/he/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/he/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Hebrew (IL) Language Pack", "description": "Language pack for Thunderbird for he", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "he": { "version": "20220321225257", diff -Nru thunderbird-91.8.0/thunderbird-l10n/hr/manifest.json thunderbird-91.10.0/thunderbird-l10n/hr/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/hr/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/hr/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Hrvatski (HR) Language Pack", "description": "Language pack for Thunderbird for hr", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "hr": { "version": "20220318065111", diff -Nru thunderbird-91.8.0/thunderbird-l10n/hsb/manifest.json thunderbird-91.10.0/thunderbird-l10n/hsb/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/hsb/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/hsb/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Hornjoserbšćina Language Pack", "description": "Language pack for Thunderbird for hsb", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "hsb": { "version": "20220318215250", diff -Nru thunderbird-91.8.0/thunderbird-l10n/hu/manifest.json thunderbird-91.10.0/thunderbird-l10n/hu/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/hu/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/hu/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Magyar (HU) Language Pack", "description": "Language pack for Thunderbird for hu", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "hu": { "version": "20220323071306", diff -Nru thunderbird-91.8.0/thunderbird-l10n/hy-AM/manifest.json thunderbird-91.10.0/thunderbird-l10n/hy-AM/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/hy-AM/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/hy-AM/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Armenian (AM) Language Pack", "description": "Language pack for Thunderbird for hy-AM", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "hy-AM": { "version": "20220320111335", diff -Nru thunderbird-91.8.0/thunderbird-l10n/id/manifest.json thunderbird-91.10.0/thunderbird-l10n/id/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/id/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/id/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Bahasa Indonesia (ID) Language Pack", "description": "Language pack for Thunderbird for id", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "id": { "version": "20220318065241", diff -Nru thunderbird-91.8.0/thunderbird-l10n/is/manifest.json thunderbird-91.10.0/thunderbird-l10n/is/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/is/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/is/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Icelandic (IS) Language Pack", "description": "Language pack for Thunderbird for is", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "is": { "version": "20220321203750", diff -Nru thunderbird-91.8.0/thunderbird-l10n/it/manifest.json thunderbird-91.10.0/thunderbird-l10n/it/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/it/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/it/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Italiano (IT) Language Pack", "description": "Language pack for Thunderbird for it", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "it": { "version": "20220322132238", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ja/manifest.json thunderbird-91.10.0/thunderbird-l10n/ja/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ja/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ja/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Japanese Language Pack", "description": "Language pack for Thunderbird for ja", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ja": { "version": "20220318131421", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ka/manifest.json thunderbird-91.10.0/thunderbird-l10n/ka/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ka/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ka/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Georgian (ქართული) Language Pack", "description": "Language pack for Thunderbird for ka", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ka": { "version": "20220318191832", diff -Nru thunderbird-91.8.0/thunderbird-l10n/kab/manifest.json thunderbird-91.10.0/thunderbird-l10n/kab/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/kab/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/kab/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Taqbaylit Language Pack", "description": "Language pack for Thunderbird for kab", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "kab": { "version": "20220319081355", diff -Nru thunderbird-91.8.0/thunderbird-l10n/kk/manifest.json thunderbird-91.10.0/thunderbird-l10n/kk/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/kk/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/kk/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Kazakh (KZ) Language Pack", "description": "Language pack for Thunderbird for kk", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "kk": { "version": "20220318065426", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ko/manifest.json thunderbird-91.10.0/thunderbird-l10n/ko/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ko/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ko/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Korean (KR) Language Pack", "description": "Language pack for Thunderbird for ko", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ko": { "version": "20220319220341", diff -Nru thunderbird-91.8.0/thunderbird-l10n/lt/manifest.json thunderbird-91.10.0/thunderbird-l10n/lt/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/lt/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/lt/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Lietuvių Language Pack", "description": "Language pack for Thunderbird for lt", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "lt": { "version": "20220318070321", diff -Nru thunderbird-91.8.0/thunderbird-l10n/lv/manifest.json thunderbird-91.10.0/thunderbird-l10n/lv/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/lv/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/lv/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Latviešu (LV) Language Pack", "description": "Language pack for Thunderbird for lv", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "lv": { "version": "20220318070416", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ms/manifest.json thunderbird-91.10.0/thunderbird-l10n/ms/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ms/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ms/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Bahasa Melayu (ms) Language Pack", "description": "Language pack for Thunderbird for ms", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ms": { "version": "20220318070614", diff -Nru thunderbird-91.8.0/thunderbird-l10n/nb-NO/manifest.json thunderbird-91.10.0/thunderbird-l10n/nb-NO/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/nb-NO/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/nb-NO/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Norsk (bokmål) Language Pack", "description": "Language pack for Thunderbird for nb-NO", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "nb-NO": { "version": "20220322083252", diff -Nru thunderbird-91.8.0/thunderbird-l10n/nl/manifest.json thunderbird-91.10.0/thunderbird-l10n/nl/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/nl/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/nl/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Nederlands (NL) Language Pack", "description": "Language pack for Thunderbird for nl", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "nl": { "version": "20220321065301", diff -Nru thunderbird-91.8.0/thunderbird-l10n/nn-NO/manifest.json thunderbird-91.10.0/thunderbird-l10n/nn-NO/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/nn-NO/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/nn-NO/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Norsk (nynorsk) Language Pack", "description": "Language pack for Thunderbird for nn-NO", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "nn-NO": { "version": "20220320151142", diff -Nru thunderbird-91.8.0/thunderbird-l10n/pa-IN/manifest.json thunderbird-91.10.0/thunderbird-l10n/pa-IN/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/pa-IN/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/pa-IN/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Punjabi (Gurmukhi) Language Pack", "description": "Language pack for Thunderbird for pa-IN", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "pa-IN": { "version": "20220318070834", diff -Nru thunderbird-91.8.0/thunderbird-l10n/pl/manifest.json thunderbird-91.10.0/thunderbird-l10n/pl/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/pl/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/pl/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Polski Language Pack", "description": "Language pack for Thunderbird for pl", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "pl": { "version": "20220318085209", diff -Nru thunderbird-91.8.0/thunderbird-l10n/pt-BR/manifest.json thunderbird-91.10.0/thunderbird-l10n/pt-BR/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/pt-BR/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/pt-BR/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Português (pt-BR) Language Pack", "description": "Language pack for Thunderbird for pt-BR", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "pt-BR": { "version": "20220321221222", diff -Nru thunderbird-91.8.0/thunderbird-l10n/pt-PT/manifest.json thunderbird-91.10.0/thunderbird-l10n/pt-PT/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/pt-PT/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/pt-PT/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Português (Europeu) Language Pack", "description": "Language pack for Thunderbird for pt-PT", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "pt-PT": { "version": "20220318152209", diff -Nru thunderbird-91.8.0/thunderbird-l10n/rm/manifest.json thunderbird-91.10.0/thunderbird-l10n/rm/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/rm/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/rm/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Rumantsch Language Pack", "description": "Language pack for Thunderbird for rm", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "rm": { "version": "20220318071027", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ro/manifest.json thunderbird-91.10.0/thunderbird-l10n/ro/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ro/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ro/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Română (România) Language Pack", "description": "Language pack for Thunderbird for ro", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ro": { "version": "20220318071038", diff -Nru thunderbird-91.8.0/thunderbird-l10n/ru/manifest.json thunderbird-91.10.0/thunderbird-l10n/ru/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/ru/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/ru/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Russian (RU) Language Pack", "description": "Language pack for Thunderbird for ru", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "ru": { "version": "20220320141344", diff -Nru thunderbird-91.8.0/thunderbird-l10n/sk/manifest.json thunderbird-91.10.0/thunderbird-l10n/sk/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/sk/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/sk/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Slovak (SK) Language Pack", "description": "Language pack for Thunderbird for sk", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "sk": { "version": "20220318071231", diff -Nru thunderbird-91.8.0/thunderbird-l10n/sl/manifest.json thunderbird-91.10.0/thunderbird-l10n/sl/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/sl/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/sl/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Slovenski jezik Language Pack", "description": "Language pack for Thunderbird for sl", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "sl": { "version": "20220318125247", diff -Nru thunderbird-91.8.0/thunderbird-l10n/sq/manifest.json thunderbird-91.10.0/thunderbird-l10n/sq/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/sq/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/sq/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Shqip Language Pack", "description": "Language pack for Thunderbird for sq", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "sq": { "version": "20220318071309", diff -Nru thunderbird-91.8.0/thunderbird-l10n/sr/manifest.json thunderbird-91.10.0/thunderbird-l10n/sr/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/sr/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/sr/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "српски (sr) Language Pack", "description": "Language pack for Thunderbird for sr", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "sr": { "version": "20220320085319", diff -Nru thunderbird-91.8.0/thunderbird-l10n/sv-SE/manifest.json thunderbird-91.10.0/thunderbird-l10n/sv-SE/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/sv-SE/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/sv-SE/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Svenska (SE) Language Pack", "description": "Language pack for Thunderbird for sv-SE", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "sv-SE": { "version": "20220318181148", diff -Nru thunderbird-91.8.0/thunderbird-l10n/th/manifest.json thunderbird-91.10.0/thunderbird-l10n/th/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/th/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/th/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "ไทย Language Pack", "description": "Language pack for Thunderbird for th", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "th": { "version": "20220318071525", diff -Nru thunderbird-91.8.0/thunderbird-l10n/tr/manifest.json thunderbird-91.10.0/thunderbird-l10n/tr/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/tr/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/tr/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Türkçe (TR) Language Pack", "description": "Language pack for Thunderbird for tr", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "tr": { "version": "20220321172317", diff -Nru thunderbird-91.8.0/thunderbird-l10n/uk/manifest.json thunderbird-91.10.0/thunderbird-l10n/uk/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/uk/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/uk/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Ukrainian (UA) Language Pack", "description": "Language pack for Thunderbird for uk", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "uk": { "version": "20220318224224", diff -Nru thunderbird-91.8.0/thunderbird-l10n/uz/manifest.json thunderbird-91.10.0/thunderbird-l10n/uz/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/uz/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/uz/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Uzbek Language Pack", "description": "Language pack for Thunderbird for uz", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "uz": { "version": "20220318071715", diff -Nru thunderbird-91.8.0/thunderbird-l10n/vi/manifest.json thunderbird-91.10.0/thunderbird-l10n/vi/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/vi/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/vi/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Tiếng Việt Language Pack", "description": "Language pack for Thunderbird for vi", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "vi": { "version": "20220318090605", diff -Nru thunderbird-91.8.0/thunderbird-l10n/zh-CN/manifest.json thunderbird-91.10.0/thunderbird-l10n/zh-CN/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/zh-CN/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/zh-CN/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Chinese Simplified (zh-CN) Language Pack", "description": "Language pack for Thunderbird for zh-CN", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "zh-CN": { "version": "20220320130628", diff -Nru thunderbird-91.8.0/thunderbird-l10n/zh-TW/manifest.json thunderbird-91.10.0/thunderbird-l10n/zh-TW/manifest.json --- thunderbird-91.8.0/thunderbird-l10n/zh-TW/manifest.json 2009-12-31 23:00:00.000000000 +0000 +++ thunderbird-91.10.0/thunderbird-l10n/zh-TW/manifest.json 2009-12-31 23:00:00.000000000 +0000 @@ -10,7 +10,7 @@ }, "name": "Traditional Chinese (zh-TW) Language Pack", "description": "Language pack for Thunderbird for zh-TW", - "version": "91.0buildid20220401203107", + "version": "91.0buildid20220525135609", "languages": { "zh-TW": { "version": "20220318164229", diff -Nru thunderbird-91.8.0/toolkit/components/reader/AboutReader.jsm thunderbird-91.10.0/toolkit/components/reader/AboutReader.jsm --- thunderbird-91.8.0/toolkit/components/reader/AboutReader.jsm 2022-04-01 22:08:22.000000000 +0000 +++ thunderbird-91.10.0/toolkit/components/reader/AboutReader.jsm 2022-05-25 21:49:14.000000000 +0000 @@ -767,7 +767,12 @@ try { article = await ReaderMode.downloadAndParseDocument(url); } catch (e) { - if (e && e.newURL) { + if (e?.newURL && this._actor) { + await this._actor.sendQuery("RedirectTo", { + newURL: e.newURL, + article: e.article, + }); + let readerURL = "about:reader?url=" + encodeURIComponent(e.newURL); this._win.location.replace(readerURL); return; diff -Nru thunderbird-91.8.0/toolkit/components/reader/ReaderMode.jsm thunderbird-91.10.0/toolkit/components/reader/ReaderMode.jsm --- thunderbird-91.8.0/toolkit/components/reader/ReaderMode.jsm 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/toolkit/components/reader/ReaderMode.jsm 2022-05-25 21:49:42.000000000 +0000 @@ -135,7 +135,7 @@ }); let url = win.document.location.href; - let originalURL = ReaderMode.getOriginalUrl(url); + let originalURL = this.getOriginalUrl(url); let webNav = docShell.QueryInterface(Ci.nsIWebNavigation); if (!Services.appinfo.sessionHistoryInParent) { @@ -219,7 +219,7 @@ }, getOriginalUrlObjectForDisplay(url) { - let originalUrl = ReaderMode.getOriginalUrl(url); + let originalUrl = this.getOriginalUrl(url); if (originalUrl) { let uriObj; try { @@ -264,10 +264,11 @@ * @resolves JS object representing the article, or null if no article is found. */ async downloadAndParseDocument(url) { - let doc = await this._downloadDocument(url); - if (!doc) { + let result = await this._downloadDocument(url); + if (!result?.doc) { return null; } + let { doc, newURL } = result; if ( !Readerable.shouldCheckUri(doc.documentURIObject) || !Readerable.shouldCheckUri(doc.baseURIObject, true) @@ -276,7 +277,14 @@ return null; } - return this._readerParse(doc); + let article = await this._readerParse(doc); + // If we have to redirect, reject to the caller with the parsed article, + // so we can update the URL before displaying it. + if (newURL) { + return Promise.reject({ newURL, article }); + } + // Otherwise, we can just continue with the article. + return article; }, _downloadDocument(url) { @@ -312,48 +320,6 @@ return; } - // Manually follow a meta refresh tag if one exists. - let meta = doc.querySelector("meta[http-equiv=refresh]"); - if (meta) { - let content = meta.getAttribute("content"); - if (content) { - let urlIndex = content.toUpperCase().indexOf("URL="); - if (urlIndex > -1) { - let baseURI = Services.io.newURI(url); - let newURI = Services.io.newURI( - content.substring(urlIndex + 4), - null, - baseURI - ); - let newURL = newURI.spec; - let ssm = Services.scriptSecurityManager; - let flags = - ssm.LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT | - ssm.DISALLOW_INHERIT_PRINCIPAL; - try { - ssm.checkLoadURIStrWithPrincipal( - doc.nodePrincipal, - newURL, - flags - ); - } catch (ex) { - let errorMsg = - "Reader mode disallowed meta refresh (reason: " + ex + ")."; - - if (Services.prefs.getBoolPref("reader.errors.includeURLs")) { - errorMsg += " Refresh target URI: '" + newURL + "'."; - } - reject(errorMsg); - return; - } - // Otherwise, pass an object indicating our new URL: - if (!baseURI.equalsExceptRef(newURI)) { - reject({ newURL }); - return; - } - } - } - } let responseURL = xhr.responseURL; let givenURL = url; // Convert these to real URIs to make sure the escaping (or lack @@ -369,14 +335,15 @@ /* Ignore errors - we'll use what we had before */ } + // We treat redirects as download successes here: + histogram.add(DOWNLOAD_SUCCESS); + + let result = { doc }; if (responseURL != givenURL) { - // We were redirected without a meta refresh tag. - // Force redirect to the correct place: - reject({ newURL: xhr.responseURL }); - return; + result.newURL = xhr.responseURL; } - resolve(doc); - histogram.add(DOWNLOAD_SUCCESS); + + resolve(result); }; xhr.send(); }); diff -Nru thunderbird-91.8.0/toolkit/components/windowwatcher/nsWindowWatcher.cpp thunderbird-91.10.0/toolkit/components/windowwatcher/nsWindowWatcher.cpp --- thunderbird-91.8.0/toolkit/components/windowwatcher/nsWindowWatcher.cpp 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/toolkit/components/windowwatcher/nsWindowWatcher.cpp 2022-05-25 21:49:31.000000000 +0000 @@ -1346,8 +1346,8 @@ } } // If a website opens a popup exit DOM fullscreen - if (StaticPrefs::full_screen_api_exit_on_windowOpen() && windowIsNew && - aCalledFromJS && !hasChromeParent && !isCallerChrome && parentWindow) { + if (StaticPrefs::full_screen_api_exit_on_windowOpen() && aCalledFromJS && + !hasChromeParent && !isCallerChrome && parentWindow) { Document::AsyncExitFullscreen(parentWindow->GetDoc()); } diff -Nru thunderbird-91.8.0/widget/cocoa/nsChildView.mm thunderbird-91.10.0/widget/cocoa/nsChildView.mm --- thunderbird-91.8.0/widget/cocoa/nsChildView.mm 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/widget/cocoa/nsChildView.mm 2022-05-25 21:49:42.000000000 +0000 @@ -2870,15 +2870,6 @@ } - (bool)shouldConsiderStartingSwipeFromEvent:(NSEvent*)anEvent { - // This method checks whether the AppleEnableSwipeNavigateWithScrolls global - // preference is set. If it isn't, fluid swipe tracking is disabled, and a - // horizontal two-finger gesture is always a scroll (even in Safari). This - // preference can't (currently) be set from the Preferences UI -- only using - // 'defaults write'. - if (![NSEvent isSwipeTrackingFromScrollEventsEnabled]) { - return false; - } - // Only initiate horizontal tracking for gestures that have just begun -- // otherwise a scroll to one side of the page can have a swipe tacked on // to it. @@ -2888,6 +2879,15 @@ return false; } + // This method checks whether the AppleEnableSwipeNavigateWithScrolls global + // preference is set. If it isn't, fluid swipe tracking is disabled, and a + // horizontal two-finger gesture is always a scroll (even in Safari). This + // preference can't (currently) be set from the Preferences UI -- only using + // 'defaults write'. + if (![NSEvent isSwipeTrackingFromScrollEventsEnabled]) { + return false; + } + // Only initiate horizontal tracking for events whose horizontal element is // at least eight times larger than its vertical element. This minimizes // performance problems with vertical scrolls (by minimizing the possibility diff -Nru thunderbird-91.8.0/widget/windows/GfxInfo.cpp thunderbird-91.10.0/widget/windows/GfxInfo.cpp --- thunderbird-91.8.0/widget/windows/GfxInfo.cpp 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/widget/windows/GfxInfo.cpp 2022-05-25 21:49:42.000000000 +0000 @@ -1686,12 +1686,18 @@ V(8, 15, 10, 2869), "FEATURE_FAILURE_INTEL_W7_HW_DECODING"); /* Bug 1203199/1092166: DXVA startup crashes on some intel drivers. */ - APPEND_TO_DRIVER_BLOCKLIST(OperatingSystem::Windows, DeviceFamily::IntelAll, - nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING, - nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, - DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 2849, - "FEATURE_FAILURE_BUG_1203199_1", - "Intel driver > X.X.X.2849"); + APPEND_TO_DRIVER_BLOCKLIST_RANGE(OperatingSystem::Windows, DeviceFamily::IntelAll, + nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING, + nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, + DRIVER_BETWEEN_INCLUSIVE, V(9,17,10,0), V(9,17,10,2849), + "FEATURE_FAILURE_BUG_1203199_1", "Intel driver > 9.17.10.2849"); + + /* Bug 1203199/1092166: DXVA startup crashes on some intel drivers. */ + APPEND_TO_DRIVER_BLOCKLIST_RANGE(OperatingSystem::Windows, DeviceFamily::IntelAll, + nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING, + nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, + DRIVER_BETWEEN_INCLUSIVE, V(8,15,10,0), V(8,15,10,2849), + "FEATURE_FAILURE_BUG_1203199_1", "Intel driver > 8.15.10.2849"); APPEND_TO_DRIVER_BLOCKLIST2( OperatingSystem::Windows, DeviceFamily::Nvidia8800GTS, diff -Nru thunderbird-91.8.0/widget/windows/nsFilePicker.cpp thunderbird-91.10.0/widget/windows/nsFilePicker.cpp --- thunderbird-91.8.0/widget/windows/nsFilePicker.cpp 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/widget/windows/nsFilePicker.cpp 2022-05-25 21:49:34.000000000 +0000 @@ -253,7 +253,12 @@ // default filename if (!mDefaultFilename.IsEmpty()) { - hr = dialog->SetFileName(mDefaultFilename.get()); + // Prevent the shell from expanding environment variables by removing + // the % characters that are used to delimit them. + nsAutoString sanitizedFilename(mDefaultFilename); + sanitizedFilename.ReplaceChar('%', '_'); + + hr = dialog->SetFileName(sanitizedFilename.get()); if (FAILED(hr)) { return false; } diff -Nru thunderbird-91.8.0/xpcom/base/CycleCollectedJSRuntime.cpp thunderbird-91.10.0/xpcom/base/CycleCollectedJSRuntime.cpp --- thunderbird-91.8.0/xpcom/base/CycleCollectedJSRuntime.cpp 2022-04-01 22:08:23.000000000 +0000 +++ thunderbird-91.10.0/xpcom/base/CycleCollectedJSRuntime.cpp 2022-05-25 21:49:42.000000000 +0000 @@ -972,10 +972,12 @@ // Mark these roots as gray so the CC can walk them later. - JSHolderMap::WhichHolders which = JSHolderMap::HoldersInCollectingZones; - if (JS::AtomsZoneIsCollecting(self->Runtime())) { - // Any holder may point into the atoms zone. - which = JSHolderMap::AllHolders; + // Only trace holders in collecting zones when marking, except if we are + // collecting the atoms zone since any holder may point into that zone. + JSHolderMap::WhichHolders which = JSHolderMap::AllHolders; + if (aTracer->isMarkingTracer() && + !JS::AtomsZoneIsCollecting(self->Runtime())) { + which = JSHolderMap::HoldersInCollectingZones; } self->TraceNativeGrayRoots(aTracer, which);