summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dom/base/Navigator.cpp43
-rw-r--r--dom/base/Navigator.h7
-rwxr-xr-xdom/base/moz.build1
-rw-r--r--dom/base/nsContentUtils.cpp8
-rw-r--r--dom/battery/BatteryManager.cpp212
-rw-r--r--dom/battery/BatteryManager.h84
-rw-r--r--dom/battery/Constants.h27
-rw-r--r--dom/battery/Types.h23
-rw-r--r--dom/battery/moz.build21
-rw-r--r--dom/battery/test/chrome.ini3
-rw-r--r--dom/battery/test/mochitest.ini1
-rw-r--r--dom/battery/test/test_battery_basics.html39
-rw-r--r--dom/battery/test/test_battery_charging.html35
-rw-r--r--dom/battery/test/test_battery_discharging.html35
-rw-r--r--dom/battery/test/test_battery_unprivileged.html24
-rw-r--r--dom/bindings/moz.build1
-rw-r--r--dom/moz.build1
-rw-r--r--dom/quota/QuotaManagerService.cpp24
-rw-r--r--dom/webidl/BatteryManager.webidl23
-rw-r--r--dom/webidl/Navigator.webidl8
-rw-r--r--dom/webidl/moz.build1
-rw-r--r--dom/workers/ScriptLoader.cpp16
-rw-r--r--extensions/spellcheck/locales/en-US/hunspell/README_en_US.txt10
-rw-r--r--extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/5-mozilla-added774
-rw-r--r--extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US-custom.txt10
-rw-r--r--extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US-custom.dic633
-rw-r--r--extensions/spellcheck/locales/en-US/hunspell/en-US.dic1161
-rw-r--r--gfx/2d/DrawTargetD2D1.cpp3
-rw-r--r--hal/Hal.cpp53
-rw-r--r--hal/Hal.h24
-rw-r--r--hal/cocoa/CocoaBattery.cpp325
-rw-r--r--hal/fallback/FallbackBattery.cpp30
-rw-r--r--hal/linux/UPowerClient.cpp508
-rw-r--r--hal/moz.build22
-rw-r--r--hal/sandbox/PHal.ipdl12
-rw-r--r--hal/sandbox/SandboxHal.cpp51
-rw-r--r--hal/windows/WindowsBattery.cpp127
-rw-r--r--js/src/jit/IonBuilder.cpp8
-rw-r--r--js/src/jit/Sink.cpp6
-rw-r--r--mailnews/base/util/folderUtils.jsm2
-rw-r--r--mailnews/mailnews.js2
-rw-r--r--modules/libpref/init/all.js5
-rw-r--r--netwerk/base/nsBaseChannel.cpp6
-rw-r--r--netwerk/protocol/http/HttpBaseChannel.cpp6
-rwxr-xr-xnetwerk/sctp/src/netinet/sctp_input.c21
-rwxr-xr-xnetwerk/sctp/src/netinet/sctp_output.c21
-rw-r--r--netwerk/test/gtest/TestBase64Stream.cpp95
-rw-r--r--netwerk/test/gtest/moz.build1
-rw-r--r--toolkit/xre/nsAppRunner.cpp3
-rw-r--r--uriloader/exthandler/nsExternalHelperAppService.cpp9
-rw-r--r--xpcom/io/Base64.cpp32
51 files changed, 2571 insertions, 2026 deletions
diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp
index a544f23c1..53ce2b30f 100644
--- a/dom/base/Navigator.cpp
+++ b/dom/base/Navigator.cpp
@@ -30,7 +30,6 @@
#include "nsUnicharUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/Telemetry.h"
-#include "BatteryManager.h"
#ifdef MOZ_GAMEPAD
#include "mozilla/dom/GamepadServiceTest.h"
#endif
@@ -197,8 +196,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Navigator)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPermissions)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mGeolocation)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mNotification)
- NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBatteryManager)
- NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mBatteryPromise)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPowerManager)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mConnection)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStorageManager)
@@ -249,13 +246,6 @@ Navigator::Invalidate()
mNotification = nullptr;
}
- if (mBatteryManager) {
- mBatteryManager->Shutdown();
- mBatteryManager = nullptr;
- }
-
- mBatteryPromise = nullptr;
-
if (mPowerManager) {
mPowerManager->Shutdown();
mPowerManager = nullptr;
@@ -1321,39 +1311,6 @@ Navigator::GetMozNotification(ErrorResult& aRv)
return mNotification;
}
-//*****************************************************************************
-// Navigator::nsINavigatorBattery
-//*****************************************************************************
-
-Promise*
-Navigator::GetBattery(ErrorResult& aRv)
-{
- if (mBatteryPromise) {
- return mBatteryPromise;
- }
-
- if (!mWindow || !mWindow->GetDocShell()) {
- aRv.Throw(NS_ERROR_UNEXPECTED);
- return nullptr;
- }
-
- nsCOMPtr<nsIGlobalObject> go = do_QueryInterface(mWindow);
- RefPtr<Promise> batteryPromise = Promise::Create(go, aRv);
- if (NS_WARN_IF(aRv.Failed())) {
- return nullptr;
- }
- mBatteryPromise = batteryPromise;
-
- if (!mBatteryManager) {
- mBatteryManager = new battery::BatteryManager(mWindow);
- mBatteryManager->Init();
- }
-
- mBatteryPromise->MaybeResolve(mBatteryManager);
-
- return mBatteryPromise;
-}
-
PowerManager*
Navigator::GetMozPower(ErrorResult& aRv)
{
diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h
index 4ddaaabab..bcc67589e 100644
--- a/dom/base/Navigator.h
+++ b/dom/base/Navigator.h
@@ -51,10 +51,6 @@ namespace dom {
class Permissions;
-namespace battery {
-class BatteryManager;
-} // namespace battery
-
class Promise;
class DesktopNotificationCenter;
@@ -136,7 +132,6 @@ public:
Permissions* GetPermissions(ErrorResult& aRv);
// The XPCOM GetDoNotTrack is ok
Geolocation* GetGeolocation(ErrorResult& aRv);
- Promise* GetBattery(ErrorResult& aRv);
static void AppName(nsAString& aAppName, bool aUsePrefOverriddenValue);
@@ -269,8 +264,6 @@ private:
RefPtr<Permissions> mPermissions;
RefPtr<Geolocation> mGeolocation;
RefPtr<DesktopNotificationCenter> mNotification;
- RefPtr<battery::BatteryManager> mBatteryManager;
- RefPtr<Promise> mBatteryPromise;
RefPtr<PowerManager> mPowerManager;
RefPtr<network::Connection> mConnection;
#ifdef MOZ_AUDIO_CHANNEL_MANAGER
diff --git a/dom/base/moz.build b/dom/base/moz.build
index ded203c50..fe65453fe 100755
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -419,7 +419,6 @@ EXTRA_JS_MODULES += [
]
LOCAL_INCLUDES += [
- '../battery',
'../events',
'../media',
'../network',
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index 61d10e022..3568ced90 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -5123,6 +5123,14 @@ nsContentUtils::TriggerLink(nsIContent *aContent, nsPresContext *aPresContext,
fileName.SetIsVoid(true); // No actionable download attribute was found.
}
+ // Sanitize fileNames containing control characters by replacing them with
+ // underscores.
+ if (!fileName.IsVoid()) {
+ for (int i = 0; i < 32; i++) {
+ fileName.ReplaceChar(char16_t(i), '_');
+ }
+ }
+
handler->OnLinkClick(aContent, aLinkURI,
fileName.IsVoid() ? aTargetSpec.get() : EmptyString().get(),
fileName, nullptr, nullptr, aIsTrusted, aContent->NodePrincipal());
diff --git a/dom/battery/BatteryManager.cpp b/dom/battery/BatteryManager.cpp
deleted file mode 100644
index 271fa373d..000000000
--- a/dom/battery/BatteryManager.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#include <cmath>
-#include <limits>
-#include "BatteryManager.h"
-#include "Constants.h"
-#include "mozilla/DOMEventTargetHelper.h"
-#include "mozilla/Hal.h"
-#include "mozilla/dom/BatteryManagerBinding.h"
-#include "mozilla/Preferences.h"
-#include "nsContentUtils.h"
-#include "nsIDOMClassInfo.h"
-#include "nsIDocument.h"
-
-/**
- * We have to use macros here because our leak analysis tool things we are
- * leaking strings when we have |static const nsString|. Sad :(
- */
-#define LEVELCHANGE_EVENT_NAME NS_LITERAL_STRING("levelchange")
-#define CHARGINGCHANGE_EVENT_NAME NS_LITERAL_STRING("chargingchange")
-#define DISCHARGINGTIMECHANGE_EVENT_NAME NS_LITERAL_STRING("dischargingtimechange")
-#define CHARGINGTIMECHANGE_EVENT_NAME NS_LITERAL_STRING("chargingtimechange")
-
-namespace mozilla {
-namespace dom {
-namespace battery {
-
-BatteryManager::BatteryManager(nsPIDOMWindowInner* aWindow)
- : DOMEventTargetHelper(aWindow)
- , mLevel(kDefaultLevel)
- , mCharging(kDefaultCharging)
- , mRemainingTime(kDefaultRemainingTime)
-{
-}
-
-void
-BatteryManager::Init()
-{
- hal::RegisterBatteryObserver(this);
-
- hal::BatteryInformation batteryInfo;
- hal::GetCurrentBatteryInformation(&batteryInfo);
-
- UpdateFromBatteryInfo(batteryInfo);
-}
-
-void
-BatteryManager::Shutdown()
-{
- hal::UnregisterBatteryObserver(this);
-}
-
-JSObject*
-BatteryManager::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
-{
- return BatteryManagerBinding::Wrap(aCx, this, aGivenProto);
-}
-
-bool
-BatteryManager::Charging() const
-{
- MOZ_ASSERT(NS_IsMainThread());
- // For testing, unable to report the battery status information
- if (Preferences::GetBool("dom.battery.test.default", false)) {
- return true;
- }
- if (Preferences::GetBool("dom.battery.test.charging", false)) {
- return true;
- }
- if (Preferences::GetBool("dom.battery.test.discharging", false)) {
- return false;
- }
-
- return mCharging;
-}
-
-double
-BatteryManager::DischargingTime() const
-{
- MOZ_ASSERT(NS_IsMainThread());
- // For testing, unable to report the battery status information
- if (Preferences::GetBool("dom.battery.test.default", false)) {
- return std::numeric_limits<double>::infinity();
- }
- if (Preferences::GetBool("dom.battery.test.discharging", false)) {
- return 42.0;
- }
-
- if (Charging() || mRemainingTime == kUnknownRemainingTime) {
- return std::numeric_limits<double>::infinity();
- }
-
- return mRemainingTime;
-}
-
-double
-BatteryManager::ChargingTime() const
-{
- MOZ_ASSERT(NS_IsMainThread());
- // For testing, unable to report the battery status information
- if (Preferences::GetBool("dom.battery.test.default", false)) {
- return 0.0;
- }
- if (Preferences::GetBool("dom.battery.test.charging", false)) {
- return 42.0;
- }
-
- if (!Charging() || mRemainingTime == kUnknownRemainingTime) {
- return std::numeric_limits<double>::infinity();
- }
-
- return mRemainingTime;
-}
-
-double
-BatteryManager::Level() const
-{
- MOZ_ASSERT(NS_IsMainThread());
- // For testing, unable to report the battery status information
- if (Preferences::GetBool("dom.battery.test.default")) {
- return 1.0;
- }
-
- return mLevel;
-}
-
-void
-BatteryManager::UpdateFromBatteryInfo(const hal::BatteryInformation& aBatteryInfo)
-{
- mLevel = aBatteryInfo.level();
-
- // Round to the nearest ten percent for non-chrome and non-certified apps
- nsIDocument* doc = GetOwner() ? GetOwner()->GetDoc() : nullptr;
- uint16_t status = nsIPrincipal::APP_STATUS_NOT_INSTALLED;
- if (doc) {
- status = doc->NodePrincipal()->GetAppStatus();
- }
-
- mCharging = aBatteryInfo.charging();
- mRemainingTime = aBatteryInfo.remainingTime();
-
- if (!nsContentUtils::IsChromeDoc(doc) &&
- status != nsIPrincipal::APP_STATUS_CERTIFIED)
- {
- mLevel = lround(mLevel * 10.0) / 10.0;
- if (mLevel == 1.0) {
- mRemainingTime = mCharging ? kDefaultRemainingTime : kUnknownRemainingTime;
- } else if (mRemainingTime != kUnknownRemainingTime) {
- // Round the remaining time to a multiple of 15 minutes and never zero
- const double MINUTES_15 = 15.0 * 60.0;
- mRemainingTime = fmax(lround(mRemainingTime / MINUTES_15) * MINUTES_15,
- MINUTES_15);
- }
- }
-
- // Add some guards to make sure the values are coherent.
- if (mLevel == 1.0 && mCharging == true &&
- mRemainingTime != kDefaultRemainingTime) {
- mRemainingTime = kDefaultRemainingTime;
- NS_ERROR("Battery API: When charging and level at 1.0, remaining time "
- "should be 0. Please fix your backend!");
- }
-}
-
-void
-BatteryManager::Notify(const hal::BatteryInformation& aBatteryInfo)
-{
- double previousLevel = mLevel;
- bool previousCharging = mCharging;
- double previousRemainingTime = mRemainingTime;
-
- UpdateFromBatteryInfo(aBatteryInfo);
-
- if (previousCharging != mCharging) {
- DispatchTrustedEvent(CHARGINGCHANGE_EVENT_NAME);
- }
-
- if (previousLevel != mLevel) {
- DispatchTrustedEvent(LEVELCHANGE_EVENT_NAME);
- }
-
- /*
- * There are a few situations that could happen here:
- * 1. Charging state changed:
- * a. Previous remaining time wasn't unkwonw, we have to fire an event for
- * the change.
- * b. New remaining time isn't unkwonw, we have to fire an event for it.
- * 2. Charging state didn't change but remainingTime did, we have to fire
- * the event that correspond to the current charging state.
- */
- if (mCharging != previousCharging) {
- if (previousRemainingTime != kUnknownRemainingTime) {
- DispatchTrustedEvent(previousCharging ? CHARGINGTIMECHANGE_EVENT_NAME
- : DISCHARGINGTIMECHANGE_EVENT_NAME);
- }
- if (mRemainingTime != kUnknownRemainingTime) {
- DispatchTrustedEvent(mCharging ? CHARGINGTIMECHANGE_EVENT_NAME
- : DISCHARGINGTIMECHANGE_EVENT_NAME);
- }
- } else if (previousRemainingTime != mRemainingTime) {
- DispatchTrustedEvent(mCharging ? CHARGINGTIMECHANGE_EVENT_NAME
- : DISCHARGINGTIMECHANGE_EVENT_NAME);
- }
-}
-
-} // namespace battery
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/battery/BatteryManager.h b/dom/battery/BatteryManager.h
deleted file mode 100644
index 4094c40d4..000000000
--- a/dom/battery/BatteryManager.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#ifndef mozilla_dom_battery_BatteryManager_h
-#define mozilla_dom_battery_BatteryManager_h
-
-#include "Types.h"
-#include "mozilla/DOMEventTargetHelper.h"
-#include "mozilla/Observer.h"
-#include "nsCycleCollectionParticipant.h"
-
-namespace mozilla {
-
-namespace hal {
-class BatteryInformation;
-} // namespace hal
-
-namespace dom {
-namespace battery {
-
-class BatteryManager : public DOMEventTargetHelper
- , public BatteryObserver
-{
-public:
- explicit BatteryManager(nsPIDOMWindowInner* aWindow);
-
- void Init();
- void Shutdown();
-
- // For IObserver.
- void Notify(const hal::BatteryInformation& aBatteryInfo) override;
-
- /**
- * WebIDL Interface
- */
-
- nsPIDOMWindowInner* GetParentObject() const
- {
- return GetOwner();
- }
-
- virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
-
- bool Charging() const;
-
- double ChargingTime() const;
-
- double DischargingTime() const;
-
- double Level() const;
-
- IMPL_EVENT_HANDLER(chargingchange)
- IMPL_EVENT_HANDLER(chargingtimechange)
- IMPL_EVENT_HANDLER(dischargingtimechange)
- IMPL_EVENT_HANDLER(levelchange)
-
-private:
- /**
- * Update the battery information stored in the battery manager object using
- * a battery information object.
- */
- void UpdateFromBatteryInfo(const hal::BatteryInformation& aBatteryInfo);
-
- /**
- * Represents the battery level, ranging from 0.0 (dead or removed?)
- * to 1.0 (fully charged)
- */
- double mLevel;
- bool mCharging;
- /**
- * Represents the discharging time or the charging time, depending on the
- * current battery status (charging or not).
- */
- double mRemainingTime;
-};
-
-} // namespace battery
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_battery_BatteryManager_h
diff --git a/dom/battery/Constants.h b/dom/battery/Constants.h
deleted file mode 100644
index f642e2a46..000000000
--- a/dom/battery/Constants.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#ifndef mozilla_dom_battery_Constants_h__
-#define mozilla_dom_battery_Constants_h__
-
-/**
- * A set of constants that might need to be used by battery backends.
- * It's not part of BatteryManager.h to prevent those backends to include it.
- */
-namespace mozilla {
-namespace dom {
-namespace battery {
-
- static const double kDefaultLevel = 1.0;
- static const bool kDefaultCharging = true;
- static const double kDefaultRemainingTime = 0;
- static const double kUnknownRemainingTime = -1;
-
-} // namespace battery
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_battery_Constants_h__
diff --git a/dom/battery/Types.h b/dom/battery/Types.h
deleted file mode 100644
index ee55a26d3..000000000
--- a/dom/battery/Types.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#ifndef mozilla_dom_battery_Types_h
-#define mozilla_dom_battery_Types_h
-
-namespace mozilla {
-namespace hal {
-class BatteryInformation;
-} // namespace hal
-
-template <class T>
-class Observer;
-
-typedef Observer<hal::BatteryInformation> BatteryObserver;
-
-} // namespace mozilla
-
-#endif // mozilla_dom_battery_Types_h
-
diff --git a/dom/battery/moz.build b/dom/battery/moz.build
deleted file mode 100644
index e3743c40b..000000000
--- a/dom/battery/moz.build
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-EXPORTS.mozilla.dom.battery += [
- 'Constants.h',
- 'Types.h',
-]
-
-SOURCES += [
- 'BatteryManager.cpp',
-]
-
-include('/ipc/chromium/chromium-config.mozbuild')
-
-FINAL_LIBRARY = 'xul'
-
-MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
-MOCHITEST_MANIFESTS += ['test/mochitest.ini']
diff --git a/dom/battery/test/chrome.ini b/dom/battery/test/chrome.ini
deleted file mode 100644
index ced199bff..000000000
--- a/dom/battery/test/chrome.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[test_battery_basics.html]
-[test_battery_charging.html]
-[test_battery_discharging.html]
diff --git a/dom/battery/test/mochitest.ini b/dom/battery/test/mochitest.ini
deleted file mode 100644
index 4d8307930..000000000
--- a/dom/battery/test/mochitest.ini
+++ /dev/null
@@ -1 +0,0 @@
-[test_battery_unprivileged.html]
diff --git a/dom/battery/test/test_battery_basics.html b/dom/battery/test/test_battery_basics.html
deleted file mode 100644
index 96f7f3368..000000000
--- a/dom/battery/test/test_battery_basics.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for Battery API</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-"use strict";
-
-SimpleTest.waitForExplicitFinish();
-
-/** Test for Battery API **/
-ok("getBattery" in navigator, "navigator.getBattery should exist");
-ok(!("battery" in navigator), "navigator.battery should not exist");
-
-navigator.getBattery().then(function (battery) {
- ok(battery.level >= 0.0 && battery.level <= 1.0, "Battery level " + battery.level + " should be in the range [0.0, 1.0]");
-
- SpecialPowers.pushPrefEnv({"set": [["dom.battery.test.default", true]]}, function () {
- ok(battery.charging, "Battery should be charging by default");
- is(battery.chargingTime, 0, "Battery chargingTime " + battery.chargingTime + " should be zero by default");
- is(battery.dischargingTime, Infinity, "Battery dischargingTime should be Infinity by default");
- is(battery.level, 1.0, "Battery level " + battery.level + " should be 1.0 by default");
-
- SimpleTest.finish();
- });
-});
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/battery/test/test_battery_charging.html b/dom/battery/test/test_battery_charging.html
deleted file mode 100644
index 5d1e83284..000000000
--- a/dom/battery/test/test_battery_charging.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for Battery API</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-"use strict";
-
-SimpleTest.waitForExplicitFinish();
-
-/** Test for Battery API **/
-navigator.getBattery().then(function (battery) {
- ok(battery.level >= 0.0 && battery.level <= 1.0, "Battery level " + battery.level + " should be in the range [0.0, 1.0]");
-
- SpecialPowers.pushPrefEnv({"set": [["dom.battery.test.charging", true]]}, function () {
- is(battery.charging, true, "Battery should be charging");
- ok(battery.chargingTime >= 0, "Battery chargingTime " + battery.chargingTime + " should be nonnegative when charging");
- is(battery.dischargingTime, Infinity, "Battery dischargingTime should be Infinity when charging");
-
- SimpleTest.finish();
- });
-});
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/battery/test/test_battery_discharging.html b/dom/battery/test/test_battery_discharging.html
deleted file mode 100644
index 26a0359d3..000000000
--- a/dom/battery/test/test_battery_discharging.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for Battery API</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-"use strict";
-
-SimpleTest.waitForExplicitFinish();
-
-/** Test for Battery API **/
-navigator.getBattery().then(function (battery) {
- ok(battery.level >= 0.0 && battery.level <= 1.0, "Battery level " + battery.level + " should be in the range [0.0, 1.0]");
-
- SpecialPowers.pushPrefEnv({"set": [["dom.battery.test.discharging", true]]}, function () {
- is(battery.charging, false, "Battery should be discharging");
- is(battery.chargingTime, Infinity, "Battery chargingTime should be Infinity when discharging");
- ok(battery.dischargingTime > 0, "Battery dischargingTime " + battery.dischargingTime + " should be positive when discharging");
-
- SimpleTest.finish();
- });
-});
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/battery/test/test_battery_unprivileged.html b/dom/battery/test/test_battery_unprivileged.html
deleted file mode 100644
index e56db8ac7..000000000
--- a/dom/battery/test/test_battery_unprivileged.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for Battery API</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-"use strict";
-
-/** Test for Battery API **/
-ok(!("getBattery" in navigator), "navigator.getBattery should not exist for unprivileged web content");
-ok(!("battery" in navigator), "navigator.battery should not exist");
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/moz.build b/dom/bindings/moz.build
index fae0fd15a..14abc6d88 100644
--- a/dom/bindings/moz.build
+++ b/dom/bindings/moz.build
@@ -62,7 +62,6 @@ LOCAL_INCLUDES += [
LOCAL_INCLUDES += [
'/dom/base',
- '/dom/battery',
'/dom/canvas',
'/dom/geolocation',
'/dom/html',
diff --git a/dom/moz.build b/dom/moz.build
index 7888ccd69..e232f3443 100644
--- a/dom/moz.build
+++ b/dom/moz.build
@@ -43,7 +43,6 @@ DIRS += [
'base',
'archivereader',
'bindings',
- 'battery',
'browser-element',
'cache',
'canvas',
diff --git a/dom/quota/QuotaManagerService.cpp b/dom/quota/QuotaManagerService.cpp
index bd811dc9b..22b5d17b1 100644
--- a/dom/quota/QuotaManagerService.cpp
+++ b/dom/quota/QuotaManagerService.cpp
@@ -432,30 +432,6 @@ QuotaManagerService::PerformIdleMaintenance()
MOZ_ASSERT(XRE_IsParentProcess());
MOZ_ASSERT(NS_IsMainThread());
- // If we're running on battery power then skip all idle maintenance since we
- // would otherwise be doing lots of disk I/O.
- BatteryInformation batteryInfo;
-
-#ifdef MOZ_WIDGET_ANDROID
- // Android XPCShell doesn't load the AndroidBridge that is needed to make
- // GetCurrentBatteryInformation work...
- if (!QuotaManager::IsRunningXPCShellTests())
-#endif
- {
- GetCurrentBatteryInformation(&batteryInfo);
- }
-
- // If we're running XPCShell because we always want to be able to test this
- // code so pretend that we're always charging.
- if (QuotaManager::IsRunningXPCShellTests()) {
- batteryInfo.level() = 100;
- batteryInfo.charging() = true;
- }
-
- if (NS_WARN_IF(!batteryInfo.charging())) {
- return;
- }
-
if (QuotaManager::IsRunningXPCShellTests()) {
// We don't want user activity to impact this code if we're running tests.
Unused << Observe(nullptr, OBSERVER_TOPIC_IDLE, nullptr);
diff --git a/dom/webidl/BatteryManager.webidl b/dom/webidl/BatteryManager.webidl
deleted file mode 100644
index a964f3b0b..000000000
--- a/dom/webidl/BatteryManager.webidl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * http://www.w3.org/TR/battery-status/
- *
- * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
- * liability, trademark and document use rules apply.
- */
-
-interface BatteryManager : EventTarget {
- readonly attribute boolean charging;
- readonly attribute unrestricted double chargingTime;
- readonly attribute unrestricted double dischargingTime;
- readonly attribute double level;
-
- attribute EventHandler onchargingchange;
- attribute EventHandler onchargingtimechange;
- attribute EventHandler ondischargingtimechange;
- attribute EventHandler onlevelchange;
-};
diff --git a/dom/webidl/Navigator.webidl b/dom/webidl/Navigator.webidl
index 4536d7d25..f34429de7 100644
--- a/dom/webidl/Navigator.webidl
+++ b/dom/webidl/Navigator.webidl
@@ -7,7 +7,6 @@
* http://www.whatwg.org/specs/web-apps/current-work/#the-navigator-object
* http://www.w3.org/TR/tracking-dnt/
* http://www.w3.org/TR/geolocation-API/#geolocation_interface
- * http://www.w3.org/TR/battery-status/#navigatorbattery-interface
* http://www.w3.org/TR/vibration/#vibration-interface
* http://www.w3.org/2012/sysapps/runtime/#extension-to-the-navigator-interface-1
* https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#navigator-interface-extension
@@ -125,13 +124,6 @@ interface NavigatorGeolocation {
};
Navigator implements NavigatorGeolocation;
-// http://www.w3.org/TR/battery-status/#navigatorbattery-interface
-partial interface Navigator {
- // ChromeOnly to prevent web content from fingerprinting users' batteries.
- [Throws, ChromeOnly, Pref="dom.battery.enabled"]
- Promise<BatteryManager> getBattery();
-};
-
// http://www.w3.org/TR/vibration/#vibration-interface
partial interface Navigator {
// We don't support sequences in unions yet
diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build
index acdc392be..c56a9b984 100644
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -50,7 +50,6 @@ WEBIDL_FILES = [
'AutocompleteInfo.webidl',
'BarProp.webidl',
'BaseKeyframeTypes.webidl',
- 'BatteryManager.webidl',
'BeforeAfterKeyboardEvent.webidl',
'BeforeUnloadEvent.webidl',
'BiquadFilterNode.webidl',
diff --git a/dom/workers/ScriptLoader.cpp b/dom/workers/ScriptLoader.cpp
index 80e136384..8f2023609 100644
--- a/dom/workers/ScriptLoader.cpp
+++ b/dom/workers/ScriptLoader.cpp
@@ -1101,14 +1101,16 @@ private:
rv = NS_GetFinalChannelURI(channel, getter_AddRefs(finalURI));
NS_ENSURE_SUCCESS(rv, rv);
- nsCString filename;
- rv = finalURI->GetSpec(filename);
- NS_ENSURE_SUCCESS(rv, rv);
+ if (principal->Subsumes(channelPrincipal)) {
+ nsCString filename;
+ rv = finalURI->GetSpec(filename);
+ NS_ENSURE_SUCCESS(rv, rv);
- if (!filename.IsEmpty()) {
- // This will help callers figure out what their script url resolved to in
- // case of errors.
- aLoadInfo.mURL.Assign(NS_ConvertUTF8toUTF16(filename));
+ if (!filename.IsEmpty()) {
+ // This will help callers figure out what their script url resolved to in
+ // case of errors.
+ aLoadInfo.mURL.Assign(NS_ConvertUTF8toUTF16(filename));
+ }
}
nsCOMPtr<nsILoadInfo> chanLoadInfo = channel->GetLoadInfo();
diff --git a/extensions/spellcheck/locales/en-US/hunspell/README_en_US.txt b/extensions/spellcheck/locales/en-US/hunspell/README_en_US.txt
index 6a3813d34..aac24438b 100644
--- a/extensions/spellcheck/locales/en-US/hunspell/README_en_US.txt
+++ b/extensions/spellcheck/locales/en-US/hunspell/README_en_US.txt
@@ -1,6 +1,6 @@
en_US-mozilla Hunspell Dictionary
-Generated from SCOWL Version 2017.01.22
-Tue Jan 24 22:59:28 EST 2017
+Generated from SCOWL Version 2019.10.06
+Fri Feb 7 12:44:15 EST 2020
http://wordlist.sourceforge.net
@@ -95,10 +95,10 @@ released as part of Geoff Kuenning's Ispell and as such is covered by
his BSD license. Part of SCOWL is also based on Ispell thus the
Ispell copyright is included with the SCOWL copyright.
-The collective work is Copyright 2000-2016 by Kevin Atkinson as well
+The collective work is Copyright 2000-2018 by Kevin Atkinson as well
as any of the copyrights mentioned below:
- Copyright 2000-2016 by Kevin Atkinson
+ Copyright 2000-2018 by Kevin Atkinson
Permission to use, copy, modify, distribute and sell these word
lists, the associated scripts, the output created from the scripts,
@@ -344,4 +344,4 @@ and Australian word list. It is under the following copyright:
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-Build Date: Tue Jan 24 22:59:28 EST 2017
+Build Date: Fri Feb 7 12:44:15 EST 2020
diff --git a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/5-mozilla-added b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/5-mozilla-added
index 6cb38be64..becb8c0d3 100644
--- a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/5-mozilla-added
+++ b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/5-mozilla-added
@@ -421,6 +421,8 @@ Asher
Ashleigh
Ashleigh's
Ashton
+Assyriaca
+Assyriaca's
Astra
Astra's
Astrid
@@ -486,6 +488,8 @@ Babbie's
Babette
Babette's
Babs
+Bahasa
+Bahasa's
Bailie
Bailie's
Baillie
@@ -636,6 +640,8 @@ Bil
Bil's
Bili
Bili's
+Bing
+Bing's
Bink
Bink's
Binky
@@ -745,6 +751,7 @@ Bucky
Bucky's
Budd
Budd's
+Buenos
Burk
Burk's
Burkina
@@ -757,6 +764,7 @@ Byram
Byram's
Byrom
Byrom's
+CAPTCHA
CEOs
CFCs
Cad
@@ -844,8 +852,6 @@ Casar
Casar's
Casi
Casi's
-Casper
-Casper's
Cass
Cass's
Cassi
@@ -945,8 +951,6 @@ Chet
Chet's
Chev
Chev's
-Chico
-Chico's
Chilton
Chilton's
Chloris
@@ -1051,6 +1055,7 @@ Conchita
Conchita's
Concordia
Concordia's
+Congressionally
Connor
Connor's
Conny
@@ -1167,7 +1172,6 @@ Cyrille
Cyrille's
D'Arcy
DRM
-DVDs
Dacey
Dacey's
Dacia
@@ -1251,8 +1255,6 @@ Daytona
Daytona's
De
De's
-DeKalb
-DeKalb's
DealTime
DealTime's
Deane
@@ -1292,8 +1294,6 @@ Dennie
Dennie's
Dennison
Dennison's
-Denton
-Denton's
Deny's
Denys
Der
@@ -1545,8 +1545,6 @@ Elly
Elly's
Ellyn
Ellyn's
-Elmira
-Elmira's
Elmore
Elmore's
Eloisa
@@ -1577,6 +1575,8 @@ Emanuele
Emanuele's
Emeline
Emeline's
+Emeryville
+Emeryville's
Emilie
Emilie's
Emlen
@@ -1647,6 +1647,8 @@ Eulalie
Eulalie's
Euphemia
Euphemia's
+Europaea
+Europaea's
Eustace
Eustace's
Eustacia
@@ -1770,8 +1772,6 @@ Findlay
Findlay's
Findley
Findley's
-Finlay
-Finlay's
Fitz
Fitz's
Flem
@@ -1854,6 +1854,7 @@ Fukushima
Fukushima's
Fulvia
Fulvia's
+GDPR
GHz's
GaAs
Gabby
@@ -1888,6 +1889,7 @@ Gan
Gan's
Gannon
Gannon's
+Garamond
Gard
Gardiner
Gare
@@ -2145,6 +2147,7 @@ Gwyneth's
Gwynne
Gwynne's
HTTPS
+HVAC
Had's
Hadleigh
Hadleigh's
@@ -2324,8 +2327,12 @@ Hinze
Hinze's
Hirsch
Hirsch's
+Hispanica
+Hispanica's
Hobie
Hobie's
+Hollandica
+Hollandica's
Honoria
Honoria's
Horatia
@@ -2369,12 +2376,16 @@ Hyatt's
Hyman
Hyman's
Hymie
+IANAL
+IIRC
IMDb
IMDb's
IMDbPro
IMDbPro's
IPO's
IPOs
+ISP's
+ISPs
Iain
Iain's
Ianthe
@@ -2450,10 +2461,14 @@ Isidore
Isidore's
Isidoro
Isidoro's
+Islamica
+Islamica's
Isobel
Isobel's
Issy
Issy's
+Italia
+Italia's
Ivar
Ivar's
Ive
@@ -2469,6 +2484,7 @@ Izzy
Izzy's
JPEG's
JPEGs
+JSON
Jabez
Jabez's
Jacinta
@@ -2787,6 +2803,8 @@ Kevan
Kevan's
Khalil
Khalil's
+Khazarica
+Khazarica's
Ki
Ki's
Kile
@@ -2847,6 +2865,8 @@ Krystyna
Krystyna's
Kuala
Kuala's
+Kubernetes
+Kubernetes's
Kyla
Kyla's
Kylie
@@ -2879,6 +2899,7 @@ Larisa
Larisa's
Larissa
Larissa's
+Latinx
Laughton
Launce
Launce's
@@ -2897,12 +2918,8 @@ Lavinia
Lavinia's
Lawry
Lawry's
-Lawton
-Lawton's
Layne
Layne's
-Layton
-Layton's
Lazar
Lazar's
Lazare
@@ -3058,8 +3075,6 @@ Lonny
Lonny's
LookSmart
LookSmart's
-Lorain
-Lorain's
Lorant
Lorant's
Lorenza
@@ -3129,6 +3144,7 @@ Lyndsey
Lyndsey's
Lyssa
Lyssa's
+MDF
MHz's
MPEG's
MPEGs
@@ -3498,6 +3514,8 @@ Moise
Moise's
Moishe
Moishe's
+Mongolica
+Mongolica's
Monika
Monika's
Monro
@@ -3545,8 +3563,6 @@ Murdock's
Murry
Murry's
My's
-MySQL
-MySQL's
MySpell
MySpell's
Myer
@@ -3578,8 +3594,6 @@ Nanni
Nanni's
Nanon
Nanon's
-Napa
-Napa's
Nara
Nari
Nari's
@@ -3612,6 +3626,9 @@ Nedda
Nedda's
Neddy
Neddy's
+Nederland
+Nederland's
+Nederlands
Neel
Neel's
Neely
@@ -3655,6 +3672,8 @@ Nial
Nial's
Niall
Niall's
+Nicephori
+Nicephori's
Nichol
Nichol's
Nicki
@@ -3678,6 +3697,8 @@ Nicolle's
Niel
Niel's
Niels
+Nigeriana
+Nigeriana's
Niki
Niki's
Niko
@@ -3729,6 +3750,7 @@ Nye
Nye's
Nyssa
Nyssa's
+OMG
Obed
Obed's
Obie
@@ -3791,6 +3813,8 @@ Otho
Otho's
Ottilie
Ottilie's
+Ottomana
+Ottomana's
Oxley
Oxley's
Ozzy
@@ -3800,6 +3824,11 @@ PDA's
PDAs
PDF's
PDFs
+PNG
+PNG's
+PNGs
+POTUS
+POTUS's
PRNewswire
PRNewswire's
Paco
@@ -3906,6 +3935,7 @@ Petronella
Petronella's
Petronilla
Petronilla's
+Peyronie's
Peyton
Peyton's
Phebe
@@ -3944,14 +3974,17 @@ Piotr
Piotr's
Pippa
Pippa's
+Pixar
+Pixar's
+Polska
PostScript
PostScript's
-PostgreSQL
-PostgreSQL's
Poul
Poul's
Poynter
Poynter's
+Praetoriana
+Praetoriana's
Prentiss
Prentiss's
Prinz
@@ -4069,6 +4102,7 @@ Rea's
Reade
Rebeca
Rebeca's
+Rebecca
Rebecca's
Rebecka
Rebecka's
@@ -4226,6 +4260,8 @@ Roma
Roma's
Romain
Romain's
+Romana
+Romana's
Romola
Romola's
Romy
@@ -4302,9 +4338,16 @@ Rutter
Rutter's
Ruy
Ruy's
+SCOTUS
+SCOTUS's
+SME
+SME's
+SMEs
+SMEs's
SNP
SNP's
SNPs
+SSN
Saba
Saba's
Saccharomyces
@@ -4408,8 +4451,6 @@ Shanta
Shanta's
Shara
Shara's
-SharePoint
-SharePoint's
Sharma
Sharma's
Shayla
@@ -4486,6 +4527,8 @@ Simmonds
Simmonds's
Simona
Simona's
+Sinica
+Sinica's
Siobhan
Siobhan's
Sion
@@ -4523,6 +4566,8 @@ Sophronia
Sophronia's
Sorcha
Sorcha's
+Sovietica
+Sovietica's
Sparc
SpiderMonkey
SpiderMonkey's
@@ -4571,11 +4616,15 @@ Suki
Suki's
Sula
Sula's
+Sumerica
+Sumerica's
Sunbird
Sunbird's
Sunderland
Sunderland's
Sunny's
+Suomi
+Suomi's
Susann
Susann's
Susannah
@@ -4607,10 +4656,18 @@ Symbian
Symbian's
Symon
Symon's
+Syriana
+Syriana's
TEirtza
TEirtza's
THz
THz's
+TIF
+TIF's
+TIFF
+TIFF's
+TIFFs
+TIFs
Tabb
Tabb's
Taber
@@ -4962,6 +5019,7 @@ Vodafone's
Von
Von's
WASPs
+WTF
Wadsworth
Wadsworth's
Wainwright
@@ -5066,8 +5124,6 @@ Winslow's
Witty's
Woodie
Woodie's
-WordPress
-WordPress's
Worden
Worden's
WorldCat
@@ -5083,6 +5139,12 @@ Wynne
Wynne's
XBL
XBL's
+XLS
+XLS's
+XLSX
+XLSX's
+XLSXs
+XLSs
XPCOM
XPCOM's
XPConnect
@@ -5185,20 +5247,37 @@ abridgements
absorbances
absorbancy
absorbancy's
+accountabilities
+accrete
+accreted
+accretes
+acetabular
+acetabulum
actin
+add-on
+add-ons
admin's
adoptee
adoptee's
adoptees
+adorbs
advocator
advocator's
advocators
adware's
adwares
-aggregator
-aggregator's
-aggregators
+affordance
+affordances
+al
alkoxy
+aluminize
+aluminized
+amici
+amicus
+analytics
+anaphylactic
+anaphylaxes
+anaphylaxis
anonymization
anonymization's
anonymizations
@@ -5208,6 +5287,9 @@ anonymizes
anonymizing
anthropomorphized
anthropomorphizes
+antiderivative
+antiderivatives
+antifa
antisense
antivirus's
apatosaurus
@@ -5219,9 +5301,18 @@ archaeoastronomy's
archaeologic
archaeomagnetic
archaeomagnetism
+arrestee
+arrestees
+arthroplasty
+artisanal
+artisanally
+artisanship
+artisanships
aryl
aryl's
aryls
+aspirational
+aspirationally
astroarchaeologies
astroarchaeology
astroarchaeology's
@@ -5229,23 +5320,61 @@ astrobiology
astrobiology's
astrobleme
astroblemes
+asymptote
+asymptotes
asynchronicity
aurei
+auteur
auteur's
auteurs
autocomplete
autocompletes
avant-garde
+avo
+avos
axe
axe's
+backlit
+backsplash
+backsplashes
+backstab
+backstabby
+backstabs
+badass
+badasses
badging
+balkanization
+balkanize
+balkanized
+balkanizes
+balkanizing
+banc
+bancs
+barcode
+barcoded
+barcodes
+barcoding
+basilar
+beaucoup
+bifida
+bijection
+bijections
+bingeable
+biochem
biodiesel
biodiesel's
+biohacker
+biohacker's
+biohackers
+biohacking
bioinformatic
bioinformatic's
bioinformatics
biosyntheses
biotech's
+blanche
+blockchain
+blockchains
blogroll
blogroll's
blogrolls
@@ -5257,8 +5386,16 @@ bloviation
bloviator
bloviator's
bloviators
+bon
+bona
+bono
+bons
bookselling
+bougie
+bougies
broadcasted
+bullseyes
+bupkis
cDNA
canceller
canceller's
@@ -5270,8 +5407,14 @@ canonicalized
canonicalizes
canonicalizing
capita
+captcha
carboxylic
+cardinalities
+cardinality
+cardiomegaly
carnitas
+carte
+cartes
cerevisiae
cerevisiae's
cerevisiaes
@@ -5286,56 +5429,124 @@ codec's
codecs
codon's
coli
+collegial
+collinear
+collinearity
+colocate
+colocated
+colocates
+colocating
+colocation
+colocations
colonoscope
colonoscope's
colonoscopes
+combinatorics
commenters
+commoditization
compositeness
+compressions
concurrents
conferable
config
config's
configs
conformant
+congressionally
conmanly
+copyrightable
corrigibility
corrigibility's
corrigible
corruptibly
+cosplayed
+cosplayer
+cosplayers
+cosplaying
+cosplays
+countertop
+countertops
+coupler
+couplers
court-martial
court-martialed
court-martialing
court-martials
+crapola
crappiness
crimeware
crimeware's
+criminalization
+crore
+crore's
+crores
+crowdsource
+crowdsourced
+crowdsources
+crowdsourcing
cryonic
+cryptographic
cryptologist
cryptologist's
cryptologists
cryptosystem
cryptosystems
cul-de-sac
+culpa
+culpas
+curation
+customizable
cyber
+cybersecurity
+cysteine
+cysteine's
+cysteines
+cysticerci
+cysticercoid
+cysticercoids
+cysticercoses
+cysticercosis
+cysticercus
+cystoscope
+cystoscopic
+cystoscopy
cytokine
cytokine's
datasheet
datasheet's
datasheets
+de
decertification
decertifications
decertified
decertifies
decertify
decertifying
+decile
+deciles
+decisis
+decompressions
deconstructionist's
+decontextualize
+decontextualized
+decontextualizes
+decontextualizing
+decoupler
+decouplers
+decrypt
+decryptable
+decrypted
+decrypting
+decrypts
+definitional
+definitionally
degenerations
dehydrogenase's
deliverables
-dequeue
-dequeued
-dequeues
+demonym
+demonyms
dequeuing
+descalable
designee
designings
dialoged
@@ -5345,41 +5556,91 @@ dialogued
dialoguer
dialoguing
diatomaceous
+differentiator
+differentiators
dihydro
disarrangements
disassembler
disassembler's
disassemblers
disassembly's
+disbarments
disclaimable
disclosable
discountenance's
+discoverability
+discoverable
+disintegrations
disintermediation
disintermediations
+dispositive
+dispositive's
+dispositively
+dispositiveness
+dispositives
dissentious
+distractability
+distractable
+distractible
+diverter
+diverters
+dizygotic
+dizygous
djinn
donator
donator's
donators
+doozie
+doozy
+dox
+doxastic
+doxed
+doxes
+doxing
+doxx
+doxxed
+doxxes
+doxxing
+dreck
+dreckish
+drecky
+drek
+duffel
+duffels
+duplicative
durian
durian's
durians
+dystopians
+dystopias
eBook
eBook's
eBooks
eCommerce
eCommerce's
+ectopic
+ectopically
+egads
elicitor
elicitor's
elicitors
+else's
+embiggen
+empathic
+encodings
encyclopaedia
-enqueue
-enqueued
-enqueues
enqueuing
+ergodic
+ergodicity
eschatologist
eschatologist's
eschatologists
+et
+eutrophic
+evidential
+evidentiality
+evidentially
+evidentiary
exacta
exactable
exactas
@@ -5388,12 +5649,44 @@ exactions
exactor
exactor's
exactors
+exbibyte
+exbibyte's
+exbibytes
+exfiltrate
+exfiltrated
+exfiltrates
+exfiltrating
+exfiltration
+exfiltrations
experimentalism
+explainer
+explainers
+expunction
+expungement
+expungements
+extortionary
+extrema
+extremum
+extremums
+facto
+fav
+favs
+fearmonger
+fearmonger's
+fearmongering
+fearmongers
+fides
filesystem
filesystem's
filesystems
filmography
financials
+findable
+fintech
+fintechs
+flaneur
+flaneur's
+flaneurs
fluidize
fluidizes
fluidizing
@@ -5404,9 +5697,15 @@ foci
forma
fracker
frackers
+franca
freegan
freegans
fuckhead's
+fugacious
+fugaciously
+fugaciousness
+funder
+funders
gamification
gamified
gamifies
@@ -5415,10 +5714,29 @@ gamifying
gastroenterologist
gastroenterologist's
gastroenterology
+gazillionth
+genomic
+genomic's
+geocentricism
+geocentrism
+geopolitically
+gerontocracy
+gibibyte
+gibibyte's
+gibibytes
gigajoule
gigajoule's
gigajoules
+glamping
+glom
+glomed
+gloming
+gloms
+gochujang
grande
+grantor
+grantor's
+grantors
grey
grey's
greybeard's
@@ -5429,15 +5747,47 @@ greyest
greying
greyness's
greys
+guac
+gunsmoke
+habeas
+hadithes
+handwrite
+handwrites
+handwrote
+haptical
+haptically
+haptics
+harissa
+headspace
+heliocentrically
+heliocentricism
+heliocentrism
hentai
+hexane
hexane's
hexanes
hippopotami
+hoc
holdem
+hophead
+hopheads
+hormesis
+hornbeams
+howto
+howto's
+howtos
iPods
+iatrogenesis
+iatrogenic
idolator
idolator's
idolators
+iftar
+iftars
+igniter
+igniter's
+igniters
+impactful
inactives
inactivities
incentivize
@@ -5445,10 +5795,22 @@ incentivized
incentivizes
incentivizing
inclosable
+incorporator
+incorporators
incorrigibleness
+infinitum
+infringer
+infringers
inkjet
inkjet's
inkjets
+instantiation
+instantiations
+integrand
+integrationist
+integrationist's
+integrationists
+integrations
intermediacies
intermediacy
intermediated
@@ -5459,24 +5821,55 @@ intermediations
intermediator
intermediator's
intermediators
+intermittences
+intermittencies
+interquartile
interruptible
intersexual
intersexual's
intersexualism
intersexuality
intersexuals
+intifadas
+intl
+invertible
+isometry
+iteratively
+japonica
jewellery
judgement
judgement's
judgements
+kabocha
+kakistocracy
kbps
+keester
+keesters
+keister
+keisters
+kern
+kerne
+kerning
keylogger
keylogger's
keyloggers
keylogging
keylogging's
keyloggings
+kibibyte
+kibibyte's
+kibibytes
+kludgy
+kombucha
+kryptonite
labelled
+langue
+langue's
+langues
+lawyerly
+leachate
+leachates
+learnt
lector
lector's
lectors
@@ -5489,37 +5882,63 @@ limnologist's
limnologists
limnology
limnology's
+lingua
linguistical
mRNA
+malform
+malforms
malwares
mammalia
+masse
+maximalist
+maximalist's
+maximalists
+mea
+mebibyte
+mebibyte's
+mebibytes
megajoule
megajoule's
+merchantability
+merchanting
mesothelioma
mesothelioma's
metadata's
methoxy
+microcredit
migrator
migrator's
migrators
+mins
misandrist
misandrist's
misandrists
misandry
+mise
+mises
misjudgement
misjudgement's
misjudgements
mitigations
+mocktail
+mocktails
modeller
modeller's
modellers
modelling
modelling's
modellings
+mojo
+mojos
+monofilament
+monomial
+monozygotic
+monozygous
motorsport
motorsport's
motorsports
multicast
+multivariable
murine
musculus
namespace
@@ -5535,29 +5954,70 @@ naïvety
naïvety's
naïveté
naïveté's
+neato
+neoadjuvant
+neurocysticercoses
+neurocysticercosis
neurophysiology's
neuroscience's
neurosciences
neuroscientist
neuroscientist's
neuroscientists
+neurotoxin
+neurotoxins
+newish
newswires
+nitty-gritty
+nonnegative
+nonreal
+nosings
+nutjob
+nutjobs
+nystagmus
+octant
+octantal
+octants
octopi
+olds
oligo
+opensource
+opioid
+opioids
opposable
opposer
outlier's
-parallelization
+overbroad
+overrich
+overrichness
+oxymoronic
+oxymoronically
+oy
+oyes
+oyez
parallelization's
parallelizations
parallelize
-parallelized
parallelizes
parallelizing
+parametrize
+parametrized
+paronychia
+parsers
+paver
+pavers
+pax
+pebibyte
+pebibyte's
+pebibytes
+performant
permalink
permalink's
permalinks
permittee
+pharma
+pharma's
+pharmas
phlebotomist
phlebotomist's
phlebotomists
@@ -5565,22 +6025,69 @@ phlebotomize
phlebotomized
phlebotomizes
phlebotomizing
+phlebotomy
pho
phosphorylate
phosphorylated
phosphorylates
phosphorylating
+photodetector
+photodetectors
+photosensor
+photosensors
+photosensory
+phyllo
+piecewise
+pixelate
+pixelated
+pixelates
plaintext
+polymorphically
+polymorphism
polynucleotide
polynucleotide's
polynucleotides
+polypeptide
polypeptide's
+polypeptides
+portlet
+portlet's
+portlets
+positivities
+positivity
+positivity's
+post-partum
+pounder
+pounders
poutine
poutines
+praecipe
+pre-fill
+pre-filled
+pre-filling
+pre-fills
+precedential
+preclusions
+prefill
+prefilled
+prefilling
+prefills
+preinstall
prejudgement
prejudgement's
prejudgements
preliminarily
+preload
+preloaded
+preloading
+preloads
+preparer
+preparers
+prepend
+prepended
+prepending
+prepends
+prev
proclaimable
procreations
profiler
@@ -5595,11 +6102,21 @@ pronation
pronator
pronator's
pronators
+propounder
+propounders
proprietorships
propyl
+pruno
pseudorandom
pseudorandomly
+quartile
+quartiles
racoon
+rambutan
+rambutans
+ramped
+rando
+randos
rasterization
rasterization's
rasterize
@@ -5609,40 +6126,107 @@ rasterizes
rasterizing
reactivity's
reappointments
+rebar
+rebars
+rebrand
+rebranded
+rebranding
rebroadcasted
+rebuttable
recency
+recommender
+recommenders
recompilation's
+reconfigurable
recurse
recursed
recurses
recursing
+recusal
+recusals
+redactions
+redirections
+rediscoverable
reflux's
+refunder
+refunders
+reglet
+reintegrations
+relatedly
relocations
renominations
repartitions
+repaver
+repavers
+replead
+repleaded
+repleader
+repleaders
+repleading
+repleadings
+repleads
+reproducibility
+reputational
+requestor
resizable
resizer
+reskin
+reskin's
+reskinned
+reskinning
+reskins
+respellings
resubmission's
+retainage
+retainages
retransmission's
+retroreflector
+retroreflectors
+reviewable
rheumatological
rheumatologist
rheumatologist's
rheumatologists
rheumatology
rheumatology's
+ribbie
+ribbies
+roadmap
+roadmaps
+rollout
+rotatable
rotatably
+salability
sativa
savoir
+scalable
+schemas
schnaps
schrod
schrods
+scooch
+scooched
+scooches
+scooching
+scorebook
+scorebook's
+scorebooks
+scoresheet
+scoresheet's
+scoresheets
scot-free
+screener
+screeners
screenshot's
-searchable
+scrollbar
+scrollbars
+segregable
+seldomly
selfing
selfism
selfist
selfists
+sera
seraphim
shemale
shemale's
@@ -5656,17 +6240,56 @@ signalling
signup
signup's
signups
+situ
snarkily
+snazziness
+soffit
+soffits
sommelier
sommelier's
sommeliers
spelt
spick
spicks
+spina
+spitballer
+spitballers
+spitballing
+sponsorships
spywares
+stealer
+stealers
+stoolie
+stoolie's
+stoolies
+stopword
+stopwords
+strategize
+strategized
+strategizing
+streetwalking
+struct
+struct's
+structs
+stupefyingly
+subrogate
+subrogated
+subrogates
+subrogation
substituent's
substituents
subsumptions
+subtweet
+subtweets
+sucky
+superset
+supervillain
+supervillain's
+supervillains
+surjection
+surjections
+switcheroo
+switcheroos
syllabi
synches
synesthesia
@@ -5680,6 +6303,9 @@ sysadmin's
sysop's
tRNA
tRNA's
+tebibyte
+tebibyte's
+tebibytes
telecom
telecom's
teleported
@@ -5695,36 +6321,69 @@ textbox
textbox's
textboxes
thaliana
+theming
therebetween
+thoracotomy
+thusly
+toodles
traceur
traceur's
traceurs
trackback
trackback's
trackbacks
+trailhead
+trailheads
+trainings
+transcriptional
transfect
transfected
transfecting
transfects
+transformational
+transformative
transgenderism
transgene
transgenes
+trebuchet
+trebuchets
triages
triaging
+tung
tweep
tweeps
+ulcerative
+unboxings
uncancelled
uncheck
unchecking
unchecks
+uncopyrightable
+uncoupler
+uncouplers
undeliverables
undesignated
+unencrypted
unironic
unironically
unlabelled
+unpressured
+unpressurized
+unredacted
+unrequest
+unrequested
+uptime
+utero
+vaccinator
+vaccinators
+vacinal
validator
validators
+vanishingly
vertebrata
+vertebrobasilar
+vivant
+vivants
volcanological
volcanologist
volcanologist's
@@ -5734,7 +6393,40 @@ volcanology's
webdesign
webdesign's
webdesigns
+webpage
+webpage's
+webpages
+weirded
+weirding
+welp
whitepaper
whitepaper's
whitepapers
+wicking
+wickings
+willy-nilly
+winsorization
+winsorize
+winsorized
+winsorizes
+winsorizing
+wishy-washy
+woah
wop's
+wordie
+wordies
+xenophile
+xenophiles
+yay
+yobibyte
+yobibyte's
+yobibytes
+yowsa
+yowsah
+yowza
+yowzah
+zebibyte
+zebibyte's
+zebibytes
+zuke
+zukes
diff --git a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US-custom.txt b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US-custom.txt
index 0d725dadb..a0cb8582f 100644
--- a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US-custom.txt
+++ b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US-custom.txt
@@ -1,6 +1,6 @@
en_US-custom Hunspell Dictionary
-Generated from SCOWL Version 2017.01.22
-Tue Jan 24 22:59:27 EST 2017
+Generated from SCOWL Version 2019.10.06
+Fri Feb 7 12:44:14 EST 2020
http://wordlist.sourceforge.net
@@ -95,10 +95,10 @@ released as part of Geoff Kuenning's Ispell and as such is covered by
his BSD license. Part of SCOWL is also based on Ispell thus the
Ispell copyright is included with the SCOWL copyright.
-The collective work is Copyright 2000-2016 by Kevin Atkinson as well
+The collective work is Copyright 2000-2018 by Kevin Atkinson as well
as any of the copyrights mentioned below:
- Copyright 2000-2016 by Kevin Atkinson
+ Copyright 2000-2018 by Kevin Atkinson
Permission to use, copy, modify, distribute and sell these word
lists, the associated scripts, the output created from the scripts,
@@ -344,5 +344,5 @@ and Australian word list. It is under the following copyright:
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-Build Date: Tue Jan 24 22:59:27 EST 2017
+Build Date: Fri Feb 7 12:44:14 EST 2020
With Input Command: ../mk-list -v1 --accents=both en_US 60
diff --git a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US-custom.dic b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US-custom.dic
index 53e1bb406..8f5bb763a 100644
--- a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US-custom.dic
+++ b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US-custom.dic
@@ -1,4 +1,4 @@
-49467
+50016
0/nm
0th/pt
1/n1
@@ -75,6 +75,7 @@ AV
AVI
AWACS/M
AWOL/M
+AWS/M
AZ/M
AZT/M
Aachen/M
@@ -193,6 +194,7 @@ Agra/M
Agricola/M
Agrippa/M
Agrippina/M
+Aguadilla/M
Aguascalientes
Aguilar/M
Aguinaldo/M
@@ -344,6 +346,7 @@ Alsatian/SM
Alsop/M
Alston/M
Alta/M
+Altaba/M
Altai/M
Altaic/M
Altair/M
@@ -353,6 +356,7 @@ Altiplano/M
Altman/M
Altoids/M
Alton/M
+Altoona/M
Aludra/M
Alva/M
Alvarado/M
@@ -387,7 +391,9 @@ Americanization/MS
Americanize/GDS
Amerind/SM
Amerindian/MS
+Ames/M
Ameslan/M
+Amgen/M
Amharic/M
Amherst/M
Amie/M
@@ -459,6 +465,7 @@ Angevin/M
Angie/M
Angkor/M
Angle/MS
+Angleton/M
Anglia/M
Anglican/SM
Anglicanism/MS
@@ -474,6 +481,7 @@ Angora/SM
Angstrom/M
Anguilla/M
Angus/M
+Anhui/M
Aniakchak/M
Anibal/M
Anita/M
@@ -488,6 +496,7 @@ Annapurna/M
Anne/M
Annette/M
Annie/M
+Anniston/M
Annmarie/M
Annunciation/SM
Anouilh/M
@@ -586,6 +595,8 @@ Arctic/M
Arcturus/M
Ardabil
Arden/M
+Arduino/M
+Arecibo/M
Arequipa/M
Ares/M
Argentina/M
@@ -657,6 +668,7 @@ Asgard/M
Ashanti/M
Ashcroft/M
Ashe/M
+Asheville/M
Ashgabat
Ashikaga/M
Ashkenazim/M
@@ -701,6 +713,7 @@ Atacama/M
Atahualpa/M
Atalanta/M
Atari/M
+Atascadero/M
Ataturk/M
Atatürk/M
Athabasca/M
@@ -732,6 +745,7 @@ Attucks/M
Atwood/M
Au/M
Aubrey/M
+Auburn/M
Auckland/M
Auden/M
Audi/M
@@ -786,6 +800,7 @@ Avior/M
Avis/M
Avogadro/M
Avon/M
+Avondale/M
Axis
Axum/M
Ayala/M
@@ -866,6 +881,7 @@ Bahamas/M
Bahamian/MS
Bahia/M
Bahrain/M
+Baidu/M
Baikal/M
Bailey/M
Baird/M
@@ -928,6 +944,7 @@ Barbour/M
Barbra/M
Barbuda/M
Barcelona/M
+Barceloneta/M
Barclay/SM
Barclays/M
Bardeen/M
@@ -1026,6 +1043,8 @@ Beck/MR
Becker/M
Becket/M
Beckett/M
+Beckley/M
+Beckman
Becky/M
Becquerel/M
Bede/M
@@ -1046,6 +1065,7 @@ Beirut/M
Bekesy/M
Bela/M
Belarus/M
+Belarusian
Belau/M
Belem/M
Belfast/M
@@ -1060,10 +1080,12 @@ Bella/M
Bellamy/M
Bellatrix/M
Belleek/M
+Bellingham/M
Bellini/M
Bellow/M
Belmont/M
Belmopan/M
+Beloit/M
Belorussian/MS
Belshazzar/M
Beltane/M
@@ -1072,7 +1094,9 @@ Ben/M
Benacerraf/M
Benares/M
Benchley/M
+Bend/MR
Bender/M
+Bendictus
Bendix/M
Benedict/M
Benedictine/MS
@@ -1144,6 +1168,7 @@ Bertie/M
Bertillon/M
Bertram/M
Bertrand/M
+Berwick/M
Beryl/M
Berzelius/M
Bess/M
@@ -1183,6 +1208,7 @@ Bic/M
Biddle/M
Biden/M
Bierce/M
+BigQuery/M
Bigfoot/M
Biggles/M
Biko/M
@@ -1193,6 +1219,8 @@ Billie/M
Billings/M
Billy/M
Bimini/M
+Binghamton/M
+Biogen/M
Bioko/M
Bird/M
Birdseye/M
@@ -1219,6 +1247,7 @@ Blackburn/M
Blackfeet/M
Blackfoot/M
Blackpool/M
+Blacksburg/M
Blackshirt/M
Blackstone/M
Blackwell/M
@@ -1244,6 +1273,8 @@ Bloom/MR
Bloomer/M
Bloomfield/M
Bloomingdale/M
+Bloomington/M
+Bloomsburg/M
Bloomsbury/M
Blu
Blucher/M
@@ -1330,6 +1361,7 @@ Bosporus/M
Boston/MS
Bostonian/M
Boswell/M
+Botha
Botox
Botswana/M
Botticelli/M
@@ -1354,6 +1386,7 @@ Br/MT
Brad/MY
Bradbury/M
Braddock/M
+Bradenton/M
Bradford/M
Bradley/M
Bradly/M
@@ -1398,6 +1431,7 @@ Breathalyzer
Brecht/M
Breckenridge/M
Bremen/M
+Bremerton/M
Brenda/M
Brendan/M
Brennan/M
@@ -1410,6 +1444,7 @@ Breton/M
Brett/M
Brewer/M
Brewster/M
+Brexit
Brezhnev/M
Brian/M
Briana/M
@@ -1433,6 +1468,7 @@ Brighton/M
Brigid/M
Brigitte/M
Brillo/M
+Brillouin
Brinkley/M
Brisbane/M
Bristol/M
@@ -1589,7 +1625,7 @@ CBC/M
CBS/M
CCTV
CCU
-CD/M
+CD/SM
CDC
CDT
CEO/M
@@ -1612,6 +1648,7 @@ CPO
CPR/M
CPU/M
CRT/SM
+CSS/M
CST/M
CT/M
CV
@@ -1645,6 +1682,7 @@ Calderon/M
Caldwell/M
Caleb/M
Caledonia/M
+Calexico/M
Calgary/M
Calhoun/M
Cali/M
@@ -1668,6 +1706,7 @@ Calvinism/MS
Calvinist/MS
Calvinistic
Camacho/M
+Camarillo/M
Cambodia/M
Cambodian/SM
Cambrian/SM
@@ -1741,6 +1780,7 @@ Caracalla/M
Caracas/M
Caravaggio/M
Carboloy/M
+Carbondale/M
Carboniferous/M
Carborundum/M
Cardenas/M
@@ -1792,6 +1832,7 @@ Carrillo/M
Carroll/M
Carson/M
Carter/M
+Cartersville/M
Cartesian/M
Carthage/M
Carthaginian/MS
@@ -1810,6 +1851,7 @@ Casey/M
Cash/M
Casio/M
Caspar/M
+Casper/M
Caspian/M
Cassandra/SM
Cassatt/M
@@ -1869,6 +1911,7 @@ Cecily/M
Cedric/M
Celebes/M
Celeste/M
+Celgene/M
Celia/M
Celina/M
Cellini/M
@@ -1909,6 +1952,8 @@ Challenger/M
Chalmers
Chamberlain/M
Chambers/M
+Chambersburg/M
+Champaign/M
Champlain/M
Champollion/M
Chan/M
@@ -1941,6 +1986,7 @@ Charleston/MS
Charley/M
Charlie/M
Charlotte/M
+Charlottesville/M
Charlottetown/M
Charmaine/M
Charmin/M
@@ -2007,6 +2053,7 @@ Chicana/M
Chicano/M
Chickasaw/MS
Chiclets/M
+Chico/M
Chihuahua/MS
Chile/M
Chilean/MS
@@ -2054,6 +2101,7 @@ Christmastide/MS
Christmastime/MS
Christoper/M
Christopher/M
+Chromebook/MS
Chronicles
Chrysler/M
Chrysostom/M
@@ -2097,6 +2145,7 @@ Clarice/M
Clarissa/M
Clark/M
Clarke/M
+Clarksville/M
Claude/M
Claudette/M
Claudia/M
@@ -2129,6 +2178,7 @@ Clint/M
Clinton/M
Clio/M
Clive/M
+Clojure/M
Clorets/M
Clorox/M
Closure/M
@@ -2232,6 +2282,7 @@ Congreve/M
Conley/M
Conn/MR
Connecticut/M
+Connellsville/M
Connemara/M
Conner/M
Connery/M
@@ -2240,6 +2291,7 @@ Connolly/M
Connors/M
Conrad/M
Conrail/M
+Conroe/M
Conservative
Constable/M
Constance/M
@@ -2308,6 +2360,7 @@ Corvette/M
Corvus/M
Cory/M
Cosby/M
+CosmosDB/M
Cossack/M
Costco/M
Costello/M
@@ -2324,12 +2377,14 @@ Courbet/M
Courtney/M
Cousteau/M
Coventry/SM
+Covington/M
Coward/M
Cowell/M
Cowley/M
Cowper/M
Cox/M
Coy/M
+Coyle/M
Cozumel/M
Cpl
Cr/MT
@@ -2466,7 +2521,7 @@ DPT
DST
DTP
DUI
-DVD
+DVD/S
DVR/SM
DWI
Dachau/M
@@ -2502,6 +2557,7 @@ Dan/M
Dana/M
Danae/M
Danaë/M
+Danbury/M
Dane/SM
Danelaw/M
Dangerfield/M
@@ -2517,6 +2573,7 @@ Dante/M
Danton/M
Danube/M
Danubian/M
+Danville/M
Daphne/M
Darby/M
Darcy/M
@@ -2566,6 +2623,7 @@ Day/M
Dayan
Dayton/M
DeGeneres/M
+DeKalb/M
Deadhead/M
Dean/M
Deana/M
@@ -2630,6 +2688,7 @@ Delphi/M
Delphic/M
Delphinus/M
Delta/M
+Deltona/M
Dem/G
Demavend/M
Demerol/M
@@ -2651,6 +2710,7 @@ Denise/M
Denmark/M
Dennis/M
Denny/M
+Denton/M
Denver/M
Deon/M
Depp/M
@@ -2740,6 +2800,7 @@ Dixie/M
Dixiecrat/M
Dixieland/SM
Dixon/M
+Django/M
Djibouti/M
Dmitri/M
Dnepr
@@ -2807,6 +2868,7 @@ Dorthy/M
Dortmund/M
Dostoevsky/M
Dot/M
+Dothan/M
Dotson/M
Douala/M
Douay/M
@@ -2837,6 +2899,7 @@ Dristan/M
Dropbox/M
Drudge/M
Druid/M
+Drupal/M
Dryden/M
Dschubba/M
Du
@@ -2847,6 +2910,7 @@ Dubcek/M
Dubhe/M
Dublin/M
Dubrovnik/M
+Dubuque/M
Duchamp/M
Dudley/M
Duffy/M
@@ -2897,6 +2961,7 @@ Dwight/M
Dy/M
Dyer/M
Dylan/M
+DynamoDB/M
Dyson/M
Dzerzhinsky/M
Dzungaria/M
@@ -3009,11 +3074,13 @@ Eisner/M
Elaine/M
Elam/M
Elanor/M
+Elasticsearch/M
Elastoplast/M
Elba/M
Elbe/M
Elbert/M
Elbrus/M
+Eldersburg/M
Eldon/M
Eleanor/M
Eleazar/M
@@ -3033,6 +3100,8 @@ Elisha/M
Eliza/M
Elizabeth/M
Elizabethan/SM
+Elizabethtown/M
+Elkhart/M
Ella/M
Ellen/M
Ellesmere/M
@@ -3044,6 +3113,7 @@ Ellis/M
Ellison/M
Elma/M
Elmer/M
+Elmira/M
Elmo/M
Elnath/M
Elnora/M
@@ -3064,6 +3134,7 @@ Elvira/M
Elvis/M
Elway/M
Elwood/M
+Elyria/M
Elysee/M
Elysian/M
Elysium/SM
@@ -3145,6 +3216,7 @@ Erin/M
Eris/MS
Eritrea/M
Eritrean/SM
+Erlang/M
Erlenmeyer/M
Erma/M
Erna/M
@@ -3222,6 +3294,7 @@ Europe/M
European/MS
Eurydice/M
Eustachian/M
+Eustis/M
Euterpe/M
Eva/M
Evan/SM
@@ -3292,9 +3365,12 @@ Fagin/M
Fahd/M
Fahrenheit/M
Fairbanks/M
+Fairfield/M
+Fairhope/M
Faisal/M
Faisalabad/M
Faith/M
+Fajardo/M
Falasha/M
Falkland/SM
Falklands/M
@@ -3307,6 +3383,7 @@ Faraday/M
Fargo/M
Farley/M
Farmer/M
+Farmington/M
Farragut/M
Farrakhan/M
Farrell/M
@@ -3329,6 +3406,7 @@ Faustus/M
Fawkes/M
Fay/M
Faye/M
+Fayetteville/M
Fe/M
Feb/M
February/SM
@@ -3379,23 +3457,27 @@ Fillmore/M
Filofax/M
Finch/M
Finland/M
+Finlay/M
Finley/M
Finn/SM
Finnbogadottir/M
Finnegan/M
Finnish/M
Fiona/M
+Firebase/M
Firefox/M
Firestone/M
Fischer/M
Fisher/M
Fisk/M
Fitch/M
+Fitchburg/M
Fitzgerald/M
Fitzpatrick/M
Fitzroy/M
Fizeau/M
Fla
+Flagstaff/M
Flanagan/M
Flanders/M
Flathead
@@ -3490,6 +3572,7 @@ Freddie/M
Freddy/M
Frederic/M
Frederick/M
+Fredericksburg/M
Fredericton/M
Fredric/M
Fredrick/M
@@ -3516,6 +3599,7 @@ Friday/SM
Frieda/M
Friedan/M
Friedman/M
+Friedmann/M
Friend/SM
Frigga/M
Frigidaire/M
@@ -3539,6 +3623,7 @@ Fuchs/M
Fuentes/M
Fugger/M
Fuji/M
+Fujian/M
Fujitsu/M
Fujiwara/M
Fujiyama/M
@@ -3552,6 +3637,7 @@ Fulton/M
Funafuti/M
Fundy/M
Furies/M
+Furman/M
Furtwangler/M
Furtwängler/M
Fushun/M
@@ -3606,6 +3692,7 @@ Gaia/M
Gail/M
Gaiman/M
Gaines/M
+Gainesville/M
Gainsborough/M
Galahad/SM
Galapagos/M
@@ -3644,6 +3731,7 @@ Gandhian/M
Ganesha/M
Ganges/M
Gangtok/M
+Gansu/M
Gantry/M
Ganymede/M
Gap/M
@@ -3667,6 +3755,7 @@ Gary/M
Garza/M
Gascony/M
Gasser/M
+Gastonia/M
Gastroenterology
Gates/M
Gatling/M
@@ -3771,6 +3860,7 @@ Gillian/M
Gilligan/M
Gilman
Gilmore/M
+Gilroy/M
Gina/M
Ginger/M
Gingrich/M
@@ -3841,6 +3931,7 @@ Goldie/M
Goldilocks/M
Golding/M
Goldman/M
+Goldsboro/M
Goldsmith/M
Goldwater/M
Goldwyn/M
@@ -3857,6 +3948,7 @@ Gonzalez/M
Gonzalo/M
Good/M
Goodall/M
+Goode/M
Goodman/M
Goodrich/M
Goodwill/M
@@ -3907,6 +3999,7 @@ Grant/M
Grass/M
Graves/M
Gray/M
+Grayslake/M
Grecian/M
Greece/M
Greek/SM
@@ -3919,6 +4012,7 @@ Greenpeace/M
Greensboro/M
Greensleeves/M
Greenspan/M
+Greenville/M
Greenwich/M
Greer/M
Greg/M
@@ -3966,12 +4060,14 @@ Guadeloupe/M
Guallatiri/M
Guam/M
Guamanian
+Guangdong/M
Guangzhou/M
Guantanamo/M
Guarani/M
Guarnieri/M
Guatemala/M
Guatemalan/MS
+Guayama/M
Guayaquil/M
Gucci/M
Guelph/M
@@ -3988,10 +4084,12 @@ Guinean/MS
Guinevere/M
Guinness/M
Guiyang/M
+Guizhou/M
Guizot/M
Gujarat/M
Gujarati/M
Gujranwala/M
+Gulfport/M
Gullah/M
Gulliver/M
Gumbel/M
@@ -4020,6 +4118,7 @@ Gödel/M
Göteborg/M
H/M
HBO/M
+HBase/M
HDD
HDMI
HDTV
@@ -4049,15 +4148,18 @@ Habakkuk/M
Haber/M
Hadar/M
Hades/M
+Hadoop/M
Hadrian/M
Hafiz/M
Hagar/M
+Hagerstown/M
Haggai/M
Hagiographa/M
Hague/M
Hahn/M
Haida/SM
Haifa/M
+Hainan/M
Haiphong/M
Haiti/M
Haitian/MS
@@ -4103,6 +4205,7 @@ Hancock/M
Handel/M
Handy/M
Haney/M
+Hanford/M
Hangul/M
Hangzhou/M
Hank/M
@@ -4131,6 +4234,7 @@ Harlan/M
Harlem/M
Harlequin/M
Harley/M
+Harlingen/M
Harlow/M
Harmon/M
Harold/M
@@ -4143,6 +4247,7 @@ Harrington/M
Harris/M
Harrisburg/M
Harrison/M
+Harrisonburg/M
Harrods/M
Harry/M
Hart/M
@@ -4161,6 +4266,7 @@ Hathaway/M
Hatsheput/M
Hatteras/M
Hattie/M
+Hattiesburg/M
Hauptmann/M
Hausa/M
Hausdorff/M
@@ -4186,6 +4292,7 @@ Hayward/M
Haywood/M
Hayworth/M
Hazel/M
+Hazleton/M
Hazlitt/M
He/M
Head/M
@@ -4195,6 +4302,7 @@ Heather/M
Heaviside/M
Heb
Hebe/M
+Hebei/M
Hebert/M
Hebraic/M
Hebraism/SM
@@ -4213,6 +4321,7 @@ Heidegger/M
Heidelberg/M
Heidi/M
Heifetz/M
+Heilongjiang/M
Heimlich/M
Heine/M
Heineken/M
@@ -4225,6 +4334,7 @@ Helen/M
Helena/M
Helene/M
Helga/M
+Helicobacter
Helicon/M
Heliopolis/M
Helios/M
@@ -4243,7 +4353,9 @@ Heloise/M
Helsinki/M
Helvetian
Helvetius/M
+Hemet/M
Hemingway/M
+Henan/M
Hench/M
Henderson/M
Hendrick/MS
@@ -4283,6 +4395,7 @@ Hermosillo/M
Hernandez/M
Herod/M
Herodotus/M
+Heroku/M
Herr/MG
Herrera/M
Herrick/M
@@ -4297,6 +4410,7 @@ Herzegovina/M
Herzl/M
Heshvan/M
Hesiod/M
+Hesperia/M
Hesperus/M
Hess/M
Hesse/M
@@ -4318,6 +4432,7 @@ Hibernia/M
Hibernian
Hickman/M
Hickok/M
+Hickory/M
Hicks/M
Hieronymus/M
Higashiosaka
@@ -4325,6 +4440,7 @@ Higgins/M
Highlander/SM
Highlands
Highness/M
+Hightstown/M
Hilario/M
Hilary/M
Hilbert/M
@@ -4348,6 +4464,7 @@ Hinduism/SM
Hindustan/M
Hindustani/SM
Hines/M
+Hinesville/M
Hinton/M
Hipparchus/M
Hippocrates/M
@@ -4450,6 +4567,7 @@ Host/SM
Hotpoint/M
Hottentot/SM
Houdini/M
+Houma/M
House/M
Housman/M
Houston/M
@@ -4466,6 +4584,7 @@ Hts
Huang/M
Hubbard/M
Hubble/M
+Hubei/M
Huber/M
Hubert/M
Huck/M
@@ -4486,10 +4605,12 @@ Hull/M
Humberto/M
Humboldt/M
Hume/M
+Hummel/M
Hummer/M
Humphrey/SM
Humvee/M
Hun/SM
+Hunan/M
Hung/M
Hungarian/SM
Hungary/M
@@ -4499,6 +4620,7 @@ Hunter/M
Huntington/M
Huntley/M
Huntsville/M
+Hurd/M
Hurley/M
Huron/M
Hurst/M
@@ -4622,6 +4744,7 @@ Indianan/SM
Indianapolis/M
Indianian
Indies/M
+Indio/M
Indira/M
Indochina/M
Indochinese/M
@@ -4690,6 +4813,7 @@ Irving/M
Irwin/M
Isaac/M
Isabel/M
+Isabela/M
Isabella/M
Isabelle/M
Isaiah/M
@@ -4799,6 +4923,7 @@ Janacek/M
Jane/M
Janell/M
Janelle/M
+Janesville/M
Janet/M
Janette/M
Janice/M
@@ -4901,6 +5026,8 @@ Jewess/MS
Jewish/PM
Jewry/M
Jezebel/SM
+Jiangsu/M
+Jiangxi/M
Jidda/M
Jilin/M
Jill/M
@@ -4945,6 +5072,7 @@ Johnny/M
Johns/M
Johnson/M
Johnston/M
+Johnstown/M
Jolene/M
Joliet/M
Jolson/M
@@ -4955,6 +5083,7 @@ Jonas/M
Jonathan/M
Jonathon/M
Jones/M
+Jonesboro/M
Joni/M
Jonson/M
Joplin/M
@@ -5051,7 +5180,9 @@ Kafka/M
Kafkaesque/M
Kagoshima/M
Kahlua/M
+Kahului/M
Kaifeng/M
+Kailua/M
Kaiser/MS
Kaitlin/M
Kalahari/M
@@ -5072,6 +5203,8 @@ Kanchenjunga/M
Kandahar/M
Kandinsky/M
Kane/M
+Kaneohe/M
+Kankakee/M
Kannada/M
Kano/M
Kanpur/M
@@ -5164,8 +5297,10 @@ Kenmore/M
Kennan/M
Kennedy/M
Kenneth/M
+Kennewick/M
Kennith/M
Kenny/M
+Kenosha/M
Kent/M
Kenton/M
Kentuckian/MS
@@ -5222,11 +5357,13 @@ Kigali/M
Kikuyu/M
Kilauea/M
Kilimanjaro/M
+Killeen/M
Kilroy/M
Kim/M
Kimberley/M
Kimberly/M
King/M
+Kingsport/M
Kingston/M
Kingstown/M
Kinko's
@@ -5252,6 +5389,7 @@ Kirsten/M
Kisangani/M
Kishinev/M
Kislev/M
+Kissimmee/M
Kissinger/M
Kit/M
Kitakyushu/M
@@ -5295,6 +5433,7 @@ Kohinoor/M
Kohl/M
Koizumi/M
Kojak/M
+Kokomo/M
Kolyma/M
Kommunizma/M
Kong/M
@@ -5312,6 +5451,7 @@ Korzybski/M
Kosciusko/M
Kossuth/M
Kosygin/M
+Kotlin/M
Koufax/M
Kowloon/M
Kr/M
@@ -5413,6 +5553,7 @@ Labradorean
Labradorian
Lacey/M
Lachesis/M
+Lactobacillus
Lacy/M
Ladoga/M
Ladonna/M
@@ -5427,6 +5568,7 @@ Lahore/M
Laius/M
Lajos/M
Lakeisha/M
+Lakeland/M
Lakewood
Lakisha/M
Lakota/M
@@ -5468,6 +5610,7 @@ Laocoon/M
Laos/M
Laotian/SM
Laplace/M
+Laplacian
Lapland/MR
Lapp/SM
Lara/M
@@ -5516,8 +5659,10 @@ Lavonne/M
Lawanda/M
Lawrence/M
Lawson/M
+Lawton/M
Layamon/M
Layla/M
+Layton/M
Lazaro/M
Lazarus/M
Le/SM
@@ -5543,6 +5688,7 @@ Leda/M
Lederberg/M
Lee/M
Leeds/M
+Leesburg/M
Leeuwenhoek/M
Leeward/M
Left
@@ -5582,6 +5728,7 @@ Lent/SMN
Lenten/M
Leo/SM
Leola/M
+Leominster/M
Leon/M
Leona/M
Leonard/M
@@ -5624,11 +5771,14 @@ Levy/M
Lew/M
Lewinsky/M
Lewis/M
+Lewiston/M
+Lewisville/M
Lexington/M
Lexus/M
Lhasa/MS
Lhotse/M
Li/MY
+Liaoning/M
Libby/M
Liberace/M
Liberal
@@ -5702,6 +5852,7 @@ Lithuania/M
Lithuanian/MS
Little/M
Litton/M
+Livermore/M
Liverpool/M
Liverpudlian/SM
Livia/M
@@ -5725,6 +5876,7 @@ Lockean/M
Lockheed/M
Lockwood/M
Lodge/M
+Lodi/M
Lodz/M
Loewe/M
Loewi/M
@@ -5742,16 +5894,20 @@ Lombard/M
Lombardi/M
Lombardy/M
Lome/M
+Lompoc/M
Lon/M
London/MRZ
Londoner/M
Long/M
Longfellow/M
+Longmont/M
Longstreet/M
Longueuil
+Longview/M
Lonnie/M
Lopez/M
Lora/M
+Lorain/M
Loraine/M
Lord/SM
Lordship/SM
@@ -5760,6 +5916,7 @@ Loren/M
Lorena/M
Lorene/M
Lorentz/M
+Lorentzian
Lorenz/M
Lorenzo/M
Loretta/M
@@ -5869,6 +6026,7 @@ Lyly/M
Lyman/M
Lyme/M
Lynch/M
+Lynchburg/M
Lynda/M
Lyndon/M
Lynette/M
@@ -5955,6 +6113,7 @@ Madeira/SM
Madeleine/M
Madeline/M
Madelyn/M
+Madera/M
Madge/M
Madison/M
Madonna/SM
@@ -5973,6 +6132,7 @@ Maggie/M
Maghreb/M
Magi
Maginot/M
+Magnificat
Magnitogorsk/M
Magog/M
Magoo/M
@@ -6064,6 +6224,7 @@ Mandalay/M
Mandarin/M
Mandela/M
Mandelbrot/M
+Mandeville/M
Mandingo/M
Mandrell/M
Mandy/M
@@ -6075,12 +6236,14 @@ Manichean/M
Manila/SM
Manitoba/M
Manitoulin/M
+Mankato/M
Manley/M
Mann/GM
Mannheim/M
Manning/M
Mansfield/M
Manson/M
+Manteca/M
Mantegna/M
Mantle/M
Manuel/M
@@ -6130,6 +6293,7 @@ Margrethe/M
Marguerite/M
Mari/SM
Maria/M
+MariaDB/M
Marian/M
Mariana/SM
Marianas/M
@@ -6210,6 +6374,7 @@ Maryellen/M
Maryland/MR
Marylander/M
Marylou/M
+Marysville/M
Masada/M
Masai/M
Masaryk/M
@@ -6230,6 +6395,7 @@ Master/S
MasterCard/M
Masters/M
Mather/M
+Matheson/M
Mathew/SM
Mathews/M
Mathewson/M
@@ -6237,6 +6403,7 @@ Mathias/M
Mathis/M
Matilda/M
Matisse/M
+Matlab/M
Matt/M
Mattel/M
Matterhorn/M
@@ -6248,6 +6415,7 @@ Maud/M
Maude/M
Maugham/M
Maui/M
+Mauldin/M
Maupassant/M
Maura/M
Maureen/M
@@ -6290,6 +6458,7 @@ Mb/M
Mbabane/M
Mbini/M
McAdam/M
+McAllen/M
McBride/M
McCain/M
McCall/M
@@ -6317,8 +6486,10 @@ McGovern/M
McGowan/M
McGuffey/M
McGuire/M
+McHenry/M
McIntosh/M
McIntyre/M
+McJob
McKay/M
McKee/M
McKenzie/M
@@ -6348,6 +6519,7 @@ Mecca/MS
Medan/M
Medea/M
Medellin/M
+Medford/M
Media/M
Medicaid/SM
Medicare/SM
@@ -6384,6 +6556,7 @@ Melton/M
Melva/M
Melville/M
Melvin/M
+Memcached/M
Memling/M
Memphis/M
Menander/M
@@ -6400,6 +6573,7 @@ Menelaus/M
Menelik/M
Menes/M
Mengzi
+Menifee/M
Menkalinan/M
Menkar/M
Menkent/M
@@ -6416,6 +6590,7 @@ Mephistopheles/M
Merak/M
Mercado/M
Mercator/M
+Merced/M
Mercedes/M
Mercer/M
Mercia/M
@@ -6497,6 +6672,7 @@ Micronesian/M
Microsoft/M
Midas/M
Middleton/M
+Middletown/M
Mideast
Mideastern
Midland/MS
@@ -6529,6 +6705,7 @@ Milosevic/M
Milquetoast/M
Miltiades/M
Milton/M
+Miltonian
Miltonic/M
Miltown/M
Milwaukee/M
@@ -6573,6 +6750,7 @@ Miss
Mississauga/M
Mississippi/M
Mississippian/SM
+Missoula/M
Missouri/M
Missourian/MS
Missy/M
@@ -6645,7 +6823,9 @@ Monday/SM
Mondrian/M
Monegasque/SM
Monera/M
+Monessen/M
Monet/M
+MongoDB/M
Mongol/SM
Mongolia/M
Mongolian/SM
@@ -6670,6 +6850,7 @@ Montcalm/M
Monte/M
Montenegrin/M
Montenegro/M
+Monterey/M
Monterrey/M
Montesquieu/M
Montessori/M
@@ -6700,6 +6881,7 @@ Mordred/M
More/M
Moreno/M
Morgan/SM
+Morgantown/M
Moriarty/M
Morin/M
Morison/M
@@ -6715,6 +6897,7 @@ Morpheus/M
Morphy/M
Morris/M
Morrison/M
+Morristown/M
Morrow/M
Morse/M
Mort/M
@@ -6772,6 +6955,7 @@ Mumbai/M
Mumford/M
Munch/M
Munchhausen/M
+Muncie/M
Munich/M
Munoz/M
Munro/M
@@ -6782,12 +6966,14 @@ Murat/M
Murchison/M
Murcia
Murdoch/M
+Murfreesboro/M
Muriel/M
Murillo/M
Murine/M
Murmansk/M
Murphy/M
Murray/M
+Murrieta/M
Murrow/M
Murrumbidgee/M
Muscat/M
@@ -6796,12 +6982,14 @@ Muscovy/M
Muse/M
Musharraf/M
Musial/M
+Muskegon/M
Muskogee/M
Muslim/MS
Mussolini/M
Mussorgsky/M
Mutsuhito/M
Muzak/M
+MySQL/M
MySpace/M
Myanmar/M
Mycenae/M
@@ -6859,6 +7047,7 @@ NSF
NSFW
NT
NV
+NVIDIA/M
NW/M
NWT
NY
@@ -6885,6 +7074,7 @@ Nam/M
Namath/M
Namibia/M
Namibian/MS
+Nampa/M
Nan/M
Nanak/M
Nanchang/M
@@ -6897,6 +7087,7 @@ Nansen/M
Nantes/M
Nantucket/M
Naomi/M
+Napa/M
Naphtali/M
Napier/M
Naples/M
@@ -6974,6 +7165,7 @@ Nelsen/M
Nelson/M
Nembutal/M
Nemesis/M
+Neo/M
Neogene/M
Neolithic
Nepal/M
@@ -7003,6 +7195,7 @@ Nevadian
Nevis/M
Nevsky/M
Newark/M
+Newburgh/M
Newcastle/M
Newfoundland/MRS
Newman/M
@@ -7098,6 +7291,7 @@ Noreen/M
Norfolk/M
Noriega/M
Norma/M
+Normal/M
Norman/MS
Normand/M
Normandy/M
@@ -7196,6 +7390,8 @@ Obama/M
Obamacare
Oberlin/M
Oberon/M
+Ocala/M
+Ocaml/M
Occam/M
Occident
Occidental/MS
@@ -7310,6 +7506,7 @@ Ore/N
Oreg
Oregon/M
Oregonian/SM
+Orem/M
Oreo/M
Orestes/M
Orient/M
@@ -7363,6 +7560,7 @@ Ouija/MS
Ovid/M
Owen/SM
Owens/M
+Owensboro/M
Oxford/SM
Oxnard/M
Oxonian/M
@@ -7393,6 +7591,7 @@ PET/M
PFC
PG
PGP
+PHP/M
PIN
PJ's
PLO/M
@@ -7449,6 +7648,7 @@ Paley/M
Palikir/M
Palisades/M
Palladio/M
+Palmdale/M
Palmer/M
Palmerston/M
Palmolive/M
@@ -7487,6 +7687,7 @@ Paris/M
Parisian/MS
Park/SMR
Parker/M
+Parkersburg/M
Parkinson/M
Parkinsonism
Parkman/M
@@ -7505,7 +7706,9 @@ Parsons/M
Parthenon/M
Parthia/M
Pasadena/M
+Pascagoula/M
Pascal/SM
+Pasco/M
Pasquale/M
Passion/SM
Passover/MS
@@ -7621,6 +7824,7 @@ Peru/M
Peruvian/MS
Peshawar/M
Petain/M
+Petaluma/M
Pete/RMZ
Peter/M
Peters/MN
@@ -7710,6 +7914,7 @@ Pitt/SM
Pittman/M
Pitts/M
Pittsburgh/M
+Pittsfield/M
Pius/M
Pizarro/M
Pkwy
@@ -7741,6 +7946,7 @@ Plymouth/M
Pm/M
Po/M
Pocahontas/M
+Pocatello/M
Pocono/SM
Poconos/M
Podgorica/M
@@ -7801,6 +8007,7 @@ Porrima/M
Porsche/M
Port/MR
Porter/M
+Porterville/M
Portia/M
Portland/M
Porto/M
@@ -7809,12 +8016,15 @@ Portugal/M
Portuguese/M
Poseidon/M
Post/M
+PostgreSQL/M
Potemkin/M
Potomac/M
Potsdam/M
Pottawatomie/M
Potter/M
Potts/M
+Pottstown/M
+Poughkeepsie/M
Pound/M
Poussin/M
Powell/M
@@ -7850,6 +8060,7 @@ Pretoria/M
Priam/M
Pribilof/M
Price/M
+Priceline/M
Priestley/M
Prince/M
Princeton/M
@@ -7930,6 +8141,7 @@ Putin/M
Putnam/M
Puzo/M
Pvt
+PyTorch/M
Pygmalion/M
Pygmy/SM
Pyle/M
@@ -7958,11 +8170,13 @@ Qantas/M
Qatar/M
Qatari/MS
Qingdao/M
+Qinghai/M
Qiqihar/M
Qom/M
Quaalude/M
Quaker/MS
Quakerism/SM
+Qualcomm/M
Quaoar/M
Quasimodo/M
Quaternary/M
@@ -8003,6 +8217,7 @@ RCA/M
RCMP
RD
RDA
+RDS/M
REIT
REM/SM
RF
@@ -8035,6 +8250,7 @@ Rachel/M
Rachelle/M
Rachmaninoff/M
Racine/M
+Radcliff/M
Radcliffe/M
Rae/M
Rafael/M
@@ -8106,10 +8322,13 @@ Rebekah/M
Recife/M
Reconstruction/M
Red/SM
+Redding/M
Redeemer/M
Redford/M
Redgrave/M
+Redis/M
Redmond/M
+Redshift/M
Reebok/M
Reed/M
Reese/M
@@ -8229,7 +8448,7 @@ Ritz/M
Rivas/M
Rivera/M
Rivers/M
-Riverside
+Riverside/M
Riviera/MS
Riyadh/M
Rizal/M
@@ -8468,6 +8687,7 @@ SOSes
SPCA
SPF
SQL
+SQLite/M
SRO
SS
SSA
@@ -8530,6 +8750,7 @@ Salas/M
Salazar/M
Salem/M
Salerno/M
+Salesforce/M
Salinas/M
Salinger/M
Salisbury/M
@@ -8663,6 +8884,7 @@ Schindler/M
Schlesinger/M
Schliemann/M
Schlitz/M
+Schloss/M
Schmidt/M
Schnabel/M
Schnauzer/M
@@ -8727,8 +8949,10 @@ Seaborg/M
Seagram/M
Sean/M
Sears/M
+Seaside/M
Seattle/M
Sebastian/M
+Sebring/M
Sec
Seconal/M
Secretariat/M
@@ -8741,6 +8965,7 @@ Sega/M
Segovia/M
Segre/M
Segundo/M
+Segway/S
Seiko/M
Seine/M
Seinfeld/M
@@ -8807,6 +9032,7 @@ Seychelles/M
Seyfert/M
Seymour/M
Sgt
+Shaanxi/M
Shackleton/M
Shaffer/M
Shah/M
@@ -8815,13 +9041,16 @@ Shaker
Shakespeare/M
Shakespearean/M
Shana/M
+Shandong/M
Shane/M
Shanghai/M
Shankara/M
Shanna/M
Shannon/M
Shantung/M
+Shanxi/M
Shapiro/M
+SharePoint/M
Shari'a/M
Shari/M
Sharif/M
@@ -8844,6 +9073,7 @@ Shcharansky/M
Shea/M
Sheba/M
Shebeli/M
+Sheboygan/M
Sheena/M
Sheetrock/M
Sheffield/M
@@ -8911,6 +9141,7 @@ Sibelius/M
Siberia/M
Siberian/MS
Sibyl/M
+Sichuan/M
Sicilian/SM
Sicily/M
Sid/M
@@ -8942,6 +9173,7 @@ Simon/M
Simone/M
Simpson/SM
Simpsons/M
+Simpsonville/M
Sims/M
Sinai/M
Sinatra/M
@@ -8978,6 +9210,7 @@ Slater/M
Slav/SM
Slavic/M
Slavonic/M
+Slidell/M
Slinky/M
Sloan/M
Sloane/M
@@ -9014,6 +9247,7 @@ Snowbelt/M
Snyder/M
Soave/M
Soc
+Socastee/M
Socorro/M
Socrates/M
Socratic/M
@@ -9080,6 +9314,7 @@ Sparks/M
Sparta/M
Spartacus/M
Spartan/MS
+Spartanburg/M
Spears/M
Speer/M
Spence/RM
@@ -9102,6 +9337,7 @@ Spitsbergen/M
Spitz/M
Spock/M
Spokane/M
+Springdale/M
Springfield/M
Springsteen/M
Sprint/M
@@ -9143,6 +9379,7 @@ Staten/M
States
Stateside
Staubach/M
+Staunton/M
Ste
Steadicam/M
Steele/M
@@ -9168,6 +9405,7 @@ Sterne/M
Sterno/M
Stetson/M
Steuben/M
+Steubenville/M
Steve/M
Steven/MS
Stevens/M
@@ -9446,6 +9684,7 @@ Tatar/MS
Tate/M
Tatum/M
Taurus/MS
+Tavares/M
Tawney/M
Taylor/M
Tb/M
@@ -9471,13 +9710,17 @@ Teletype
Tell/MR
Teller/M
Telugu/M
+Temecula/M
Tempe
Templar/M
+Temple/M
Tenn/M
Tennessean/SM
Tennessee/M
Tennyson/M
+Tennysonian
Tenochtitlan/M
+TensorFlow/M
Teotihuacan/M
Terence/M
Teresa/M
@@ -9509,6 +9752,7 @@ Tevet/M
Tex/M
Texaco/M
Texan/MS
+Texarkana/M
Texas/M
Th/M
Thackeray/M
@@ -9624,6 +9868,7 @@ Titian/M
Titicaca/M
Tito/M
Titus/M
+Titusville/M
Tl/M
Tlaloc/M
Tlingit/M
@@ -9783,6 +10028,7 @@ Turkey/M
Turkic/MS
Turkish/M
Turkmenistan/M
+Turlock/M
Turner/M
Turpin/M
Tuscaloosa/M
@@ -9875,6 +10121,7 @@ Unicode/M
Unilever/M
Union/SM
Unionist
+Uniontown/M
Uniroyal/M
Unitarian/MS
Unitarianism/MS
@@ -9909,6 +10156,7 @@ Ut
Utah/M
Utahan/MS
Ute/SM
+Utica/M
Utopia/SM
Utopian/SM
Utrecht/M
@@ -9921,6 +10169,7 @@ VA
VAT/M
VAX
VAXes
+VBA/M
VCR/M
VD/M
VDT
@@ -9941,11 +10190,13 @@ VP
VT
VTOL
Va/M
+Vacaville/M
Vader/M
Vaduz/M
Val/M
Valarie/M
Valdez/M
+Valdosta/M
Valencia/SM
Valenti/M
Valentin/M
@@ -9959,7 +10210,7 @@ Valery/M
Valhalla/M
Valium/MS
Valkyrie/SM
-Vallejo
+Vallejo/M
Valletta/M
Valois/M
Valparaiso/M
@@ -10046,6 +10297,7 @@ Victor/M
Victoria/M
Victorian/MS
Victorianism
+Victorville/M
Victrola/M
Vidal/M
Vienna/M
@@ -10059,8 +10311,9 @@ Vijayanagar/M
Vijayawada/M
Viking/MS
Vila/M
-Villa/M
+Villa/SM
Villarreal/M
+Villas/M
Villon/M
Vilma/M
Vilnius/M
@@ -10068,6 +10321,7 @@ Vilyui/M
Vince/M
Vincent/M
Vindemiatrix/M
+Vineland/M
Vinson/M
Viola/M
Violet/M
@@ -10078,6 +10332,7 @@ Virginian/SM
Virgo/SM
Visa/M
Visakhapatnam/M
+Visalia/M
Visayans/M
Vishnu/M
Visigoth/M
@@ -10156,7 +10411,8 @@ Waldo/M
Waldorf/M
Wales/M
Walesa/M
-Walgreen/M
+Walgreen/SM
+Walgreens/M
Walker/M
Walkman/M
Wall/SMR
@@ -10196,15 +10452,19 @@ Waterford/M
Watergate/M
Waterloo/MS
Waters/M
+Watertown/M
Watkins/M
Watson/M
+Watsonville/M
Watt/SM
Watteau/M
Watts/M
Watusi/M
Waugh/M
+Wausau/M
Wave
Wayne/M
+Waynesboro/M
Weaver/M
Web/MR
Webb/M
@@ -10221,6 +10481,7 @@ Wei/M
Weierstrass/M
Weill/M
Weinberg/M
+Weirton/M
Weiss/M
Weissmuller/M
Weizmann/M
@@ -10234,6 +10495,7 @@ Welsh/M
Welshman/M
Welshmen/M
Welshwoman
+Wenatchee/M
Wendell/M
Wendi/M
Wendy/M
@@ -10309,7 +10571,9 @@ Willard/M
Willemstad/M
William/SM
Williams/M
+Williamsburg/M
Williamson/M
+Williamsport/M
Willie/M
Willis/M
Willy/M
@@ -10365,6 +10629,7 @@ Wong/M
Wood/SM
Woodard/M
Woodhull/M
+Woodland/M
Woodrow/M
Woods/M
Woodstock/M
@@ -10377,6 +10642,7 @@ Wooster/M
Wooten/M
Worcester/SM
Worcestershire/M
+WordPress/M
Wordsworth/M
Workman/M
Worms/M
@@ -10407,6 +10673,7 @@ XL/M
XML
XS
XXL
+Xamarin/M
Xanadu/M
Xanthippe/M
Xavier/M
@@ -10422,7 +10689,9 @@ Xian/SM
Xiaoping/M
Ximenes/M
Xingu/M
+Xinjiang/M
Xiongnu/M
+Xizang/M
Xmas/MS
Xochipilli/M
Xuzhou/M
@@ -10459,6 +10728,7 @@ Yaren
Yaroslavl/M
Yataro/M
Yates/M
+Yauco/M
Yb/M
Yeager/M
Yeats/M
@@ -10546,11 +10816,13 @@ Zen/M
Zenger/M
Zeno/M
Zephaniah/M
+Zephyrhills/M
Zephyrus/M
Zeppelin/M
Zest/M
Zeus/M
Zhdanov
+Zhejiang/M
Zhengzhou/M
Zhivago/M
Zhukov/M
@@ -10873,6 +11145,7 @@ acetyl
acetylene/M
ache/DSMG
achene/MS
+achievable/U
achieve/BLZGDRS
achievement/SM
achiever/M
@@ -11206,6 +11479,7 @@ affiliate/EGNDS
affiliated/U
affiliation/EM
affiliations
+affine
affinity/SM
affirm/AGDS
affirmation/AMS
@@ -11271,6 +11545,7 @@ ageless/YP
agelessness/M
agency/SM
agenda/SM
+agenesis
agent/AMS
ageratum/M
agglomerate/DSMGNX
@@ -11284,6 +11559,7 @@ aggravating/Y
aggravation/M
aggregate/MGNDSX
aggregation/M
+aggregator/SM
aggression/M
aggressive/PY
aggressiveness/M
@@ -11677,9 +11953,11 @@ amide/MS
amidship/S
amidst
amigo/MS
+amine/S
amino
amir/SM
amiss
+amitriptyline
amity/M
ammeter/SM
ammo/M
@@ -11738,7 +12016,9 @@ amulet/MS
amuse/LGDS
amusement/MS
amusing/Y
+amygdala
amylase/M
+amyloid
an/CS
anabolism/M
anachronism/SM
@@ -11855,6 +12135,7 @@ angularity/SM
angulation
anhydrous
aniline/M
+anilingus
animadversion/MS
animadvert/GSD
animal/MS
@@ -11909,6 +12190,7 @@ annular
annulled
annulling
annulment/SM
+annulus
annunciation/SM
anode/MS
anodize/GDS
@@ -12002,6 +12284,7 @@ antidemocratic
antidepressant/MS
antidote/MS
antifascist/MS
+antiferromagnetic
antifreeze/M
antigen/SM
antigenic
@@ -12018,6 +12301,8 @@ antimatter/M
antimicrobial
antimissile
antimony/M
+antineutrino/SM
+antineutron/MS
antinuclear
antioxidant/MS
antiparticle/SM
@@ -12034,6 +12319,7 @@ antipodean/MS
antipodes/M
antipollution
antipoverty
+antiproton/MS
antiquarian/SM
antiquarianism/M
antiquary/SM
@@ -12574,8 +12860,9 @@ assigner/MS
assignment/AMS
assignor/MS
assimilate/DSGN
+assimilated/U
assimilation/M
-assist/GMDS
+assist/GVMDS
assistance/M
assistant/SM
assisted/U
@@ -12586,9 +12873,11 @@ associate's
associate/EDSGNV
association/EM
associations
+associativity
assonance/M
assonant/MS
assort/GLDS
+assortative
assortment/MS
asst
assuage/GDS
@@ -12899,6 +13188,7 @@ avoid/SDGB
avoidable/U
avoidably/U
avoidance/M
+avoidant
avoirdupois/M
avouch/DSG
avow/EDGS
@@ -13708,6 +13998,7 @@ benign/Y
benignant
benignity/M
bent/SM
+bentonite
bentwood/M
benumb/DSG
benzene/M
@@ -13920,9 +14211,11 @@ billycan/S
bimbo/MS
bimetallic/SM
bimetallism/M
+bimodal
bimonthly/SM
bin/SM
binary/SM
+binaural
bind's
bind/AUGS
binder/MS
@@ -13948,6 +14241,7 @@ biodegrade/DSGB
biodiversity/M
bioethics/M
biofeedback/M
+biofilm/MS
biog
biographer/SM
biographic
@@ -13958,6 +14252,7 @@ biologic
biological/Y
biologist/MS
biology/M
+biomarker/MS
biomass/M
biomedical
bionic/S
@@ -14495,6 +14790,7 @@ bookshop/SM
bookstall/S
bookstore/MS
bookworm/SM
+boolean
boom/SZGMDR
boombox/MS
boomerang/MDGS
@@ -14573,6 +14869,7 @@ botcher/M
both
bother/SMDG
botheration
+bothered/U
bothersome
botnet/SM
bottle/DRSMZG
@@ -15050,7 +15347,7 @@ bulldogged
bulldogging
bulldoze/ZGDRS
bulldozer/M
-bullet/SM
+bullet/SMD
bulletin/MDGS
bulletproof/SDG
bullfight/SMRZG
@@ -15068,6 +15365,7 @@ bullishness/M
bullock/SM
bullpen/SM
bullring/MS
+bullseye
bullshit/MS!
bullshitted/!
bullshitter/SM!
@@ -15441,6 +15739,8 @@ cameo/MS
camera/MS
cameraman/M
cameramen
+camerapeople
+cameraperson
camerawoman/M
camerawomen
camerawork
@@ -15481,6 +15781,7 @@ canceler/M
cancellation/SM
cancelled
cancelling
+cancelous
cancer/MS
cancerous
candelabra/SM
@@ -15703,6 +16004,7 @@ carjack/JSDRZG
carjacker/M
carjacking/M
carload/SM
+carmaker/S
carmine/SM
carnage/M
carnal/Y
@@ -15950,6 +16252,7 @@ caviar/M
cavil/ZGJMDRS
caviler/M
caving/M
+cavitation
cavity/FSM
cavort/DGS
caw/SMDG
@@ -16089,6 +16392,7 @@ cession/KAFSM
cesspit/S
cesspool/MS
cetacean/MS
+ceteris
cf
cg
ch/IFVT
@@ -16708,6 +17012,7 @@ cl
clack/GMDS
clad/U
cladding/M
+clade
claim's
claim/CKEAGDS
claimable/A
@@ -16774,6 +17079,7 @@ classifieds
classifier/MS
classify/ACSDGN
classiness/M
+classism
classless/P
classmate/MS
classroom/MS
@@ -16912,6 +17218,7 @@ cloistral
clomp/SDG
clonal
clone/DSMG
+clonidine
clonk/SMDG
clop/MS
clopped
@@ -16977,8 +17284,8 @@ clunker/M
clunky/TR
cluster/MDSG
clutch/GMDS
-clutter/MDSG
-cluttered/U
+clutter's
+clutter/UDSG
clvi
clvii
clxi
@@ -17050,6 +17357,7 @@ cochlear
cock/MDGS
cockade/SM
cockamamie
+cockatiel/MS
cockatoo/SM
cockatrice/SM
cockchafer/S
@@ -17101,6 +17409,7 @@ coeducation/M
coeducational
coefficient/MS
coelenterate/MS
+coenzyme
coequal/MYS
coerce/DRSZGNV
coercer/M
@@ -17218,7 +17527,7 @@ college/SM
collegiality/M
collegian/MS
collegiate
-collide/DSG
+collide/DRSZG
collie/RSMZ
collier/M
colliery/SM
@@ -17301,10 +17610,10 @@ combined/U
combiner/MS
combings/M
combo/SM
+combust/SGVD
combustibility/M
combustible/MS
combustion/M
-combustive
come/IMZGRS
comeback/MS
comedian/MS
@@ -17421,9 +17730,11 @@ communistic
community/SM
commutation/MS
commutative
+commutativity
commutator/SM
commute/BDRSMZG
commuter/M
+comorbidity
comp/MDYGS
compact/TGSMDRYP
compaction
@@ -17438,7 +17749,7 @@ comparability/M
comparable/I
comparably/I
comparative/MYS
-compare/BDSMG
+compare/BDSG
comparison/MS
compartment/SM
compartmental
@@ -17514,6 +17825,7 @@ composedly
composer/MS
composite/MYGNXDS
composition/CM
+compositional
compositor/SM
compost/SGMD
composure/EM
@@ -17529,7 +17841,7 @@ comprehensions
comprehensive/PMYS
comprehensiveness/M
compress's
-compress/CGDS
+compress/CGVDS
compressed/U
compressible
compression/CM
@@ -17647,6 +17959,7 @@ condiment/MS
condition's
condition/AGSD
conditional/SMY
+conditionality
conditioned/U
conditioner/SM
conditioning/M
@@ -17720,6 +18033,7 @@ confluence/MS
confluent
conform/ZB
conformable/U
+conformal
conformance/M
conformism/M
conformist/SM
@@ -17984,6 +18298,7 @@ continuum/M
contort/GD
contortion/MS
contortionist/SM
+contra
contraband/M
contrabassoon/S
contraception/M
@@ -18254,6 +18569,7 @@ corrector
correlate/XDSMGNV
correlated/U
correlation/M
+correlational
correlative/MS
correspond/SDG
correspondence/SM
@@ -18283,6 +18599,7 @@ cortege/MS
cortex/M
cortical
cortices
+cortisol
cortisone/M
cortège/SM
corundum/M
@@ -18411,6 +18728,7 @@ countersign/GSMD
countersignature/MS
countersink/GSM
counterspy/SM
+counterstroke/SM
countersunk
countertenor/MS
countervail/GSD
@@ -18460,6 +18778,9 @@ couscous/M
cousin/SM
couture/M
couturier/MS
+covalent
+covariance
+covariant
cove/MS
coven/SM
covenant/MDSG
@@ -18718,6 +19039,7 @@ criteria
criterion/M
critic/SM
critical/UY
+criticality
criticism/MS
criticize/ZGDRS
criticizer/M
@@ -18858,6 +19180,7 @@ cryosurgery/M
crypt/SM
cryptic
cryptically
+cryptocurrency/SM
cryptogram/SM
cryptographer/SM
cryptography/M
@@ -19059,6 +19382,7 @@ cw
cwt
cyan/M
cyanide/M
+cyanobacteria
cyberbully/SM
cybercafe/S
cybercafé/S
@@ -19229,6 +19553,8 @@ dastard/MYS
dastardliness/M
data
database/SM
+dataset's
+datasets
datatype
date/DRSMZGV
datebook/S
@@ -19236,6 +19562,7 @@ dated/U
dateless
dateline/MGDS
dater/M
+dateset
dative/MS
datum/M
daub/SZGMDR
@@ -19404,6 +19731,7 @@ declination/M
decline/DRSMZG
decliner/M
declivity/SM
+decoherence
decolletage/SM
decollete
decongestant/MS
@@ -19423,8 +19751,7 @@ decoy/GMDS
decreasing/Y
decree/MDS
decreeing
-decremented
-decrements
+decrement/GDS
decrepit
decrepitude/M
decriminalization/M
@@ -19887,6 +20214,7 @@ determinedly
determiner/SM
determinism/M
deterministic
+deterministically
deterred/U
deterrence/M
deterrent/MS
@@ -19988,6 +20316,8 @@ dialyses
dialysis/M
dialyzes
diam
+diamagnetic
+diamagnetism
diamante
diamanté
diameter/SM
@@ -20012,6 +20342,7 @@ diatom/SM
diatomic
diatonic
diatribe/SM
+diazepam
dibble/DSMG
dibs/M
dice/GDS
@@ -20070,6 +20401,7 @@ differ/DG
difference/IM
differences
different/IY
+differentiable
differential/SM
differentiate/DSGN
differentiated/U
@@ -20083,6 +20415,7 @@ diffraction/M
diffuse/DSYGNVP
diffuseness/M
diffusion/M
+diffusivity
dig/SM
digerati/M
digest/SMDGV
@@ -20128,6 +20461,7 @@ diligent/Y
dill/MS
dilly/SM
dillydally/DSG
+diluent
dilute/DSGNX
diluted/U
dilution/M
@@ -20410,7 +20744,7 @@ dissimilitude/S
dissing
dissipate/GNDS
dissipation/M
-dissociate/GNDS
+dissociate/GNVDS
dissociation/M
dissoluble/I
dissolute/YNP
@@ -20795,6 +21129,7 @@ downstairs/M
downstate/M
downstream
downswing/MS
+downtempo
downtime/M
downtown/M
downtrend/MS
@@ -21170,6 +21505,9 @@ dysphoria
dysphoric
dysprosium/M
dystonia
+dystopi
+dystopia
+dystopian
dz
débridement
débutante/SM
@@ -21269,6 +21607,7 @@ ecclesial
ecclesiastic/SM
ecclesiastical/Y
echelon/SM
+echidna
echinoderm/SM
echo's
echo/ADG
@@ -21291,7 +21630,7 @@ ecological/Y
ecologist/MS
ecology/M
econ
-econometric
+econometric/S
economic/S
economical/UY
economics/M
@@ -21388,7 +21727,9 @@ effluence/M
effluent/MS
effluvia
effluvium/M
+efflux
effort/SM
+effortful
effortless/YP
effortlessness/M
effrontery/M
@@ -21431,6 +21772,7 @@ eh
eider/SM
eiderdown/MS
eigenvalue/S
+eigenvector/S
eight/SM
eighteen/MHS
eighteenth/M
@@ -21521,6 +21863,7 @@ electroshock/M
electrostatic/S
electrostatics/M
electrotype/MS
+electroweak
eleemosynary
elegance/IM
elegant/IY
@@ -21695,6 +22038,7 @@ emotionless
emotive/Y
empanel/GDS
empathetic
+empathically
empathize/DSG
empathy/M
emperor/MS
@@ -21823,6 +22167,7 @@ endoscopic
endoscopy/M
endothelial
endothermic
+endotracheal
endow/SDLG
endowment/MS
endpoint/SM
@@ -21902,6 +22247,7 @@ enormous/PY
enormousness/M
enough/M
enplane/DSG
+enqueue/DS
enquirer/S
enquiringly
enrage/GDS
@@ -21931,6 +22277,7 @@ entanglement/EM
entanglements
entente/SM
enter/ASGD
+enteral
enteric
enteritis/M
enterprise/MGS
@@ -21964,6 +22311,7 @@ entomology/M
entourage/SM
entr'acte
entrails/M
+entrained
entrance/LDSMG
entrancement/M
entrancing/Y
@@ -22232,9 +22580,10 @@ estimate/MGNDSX
estimation/M
estimator/SM
estoppel
+estradiol
estrange/LDSG
estrangement/MS
-estrogen/M
+estrogen/MS
estrous
estrus/MS
estuary/SM
@@ -22253,6 +22602,7 @@ ethereal/Y
ethic/SM
ethical/UY
ethics/M
+ethmoid
ethnic/SM
ethnically
ethnicity/M
@@ -22282,12 +22632,16 @@ etymologist/SM
etymology/SM
eucalypti
eucalyptus/MS
+eucaryote/SM
+eucaryotic
euchre/DSMG
euclidean
eugenic/S
eugenically
eugenicist/MS
eugenics/M
+eukaryote/SM
+eukaryotic
eulogist/MS
eulogistic
eulogize/ZGDRS
@@ -22310,6 +22664,7 @@ eutectic
euthanasia/M
euthanize/DSG
euthenics/M
+eutrophication
evacuate/XDSGN
evacuation/M
evacuee/MS
@@ -22317,6 +22672,7 @@ evade/DRSZG
evader/M
evaluate/AGNVDSX
evaluation/AM
+evaluator/S
evanescence/M
evanescent
evangelic
@@ -22437,6 +22793,7 @@ excited/Y
excitement/SM
exciter/M
exciting/Y
+exciton
excl
exclaim/DGS
exclamation/SM
@@ -22523,6 +22880,7 @@ exigent
exiguity/M
exiguous
exile/DSMG
+exilic
exist/SDG
existence/MS
existent
@@ -22682,6 +23040,7 @@ extemporize/GDS
extend/SZGDRB
extender/M
extendible
+extensibility
extensible
extension/SM
extensional
@@ -22714,7 +23073,7 @@ extortioner/M
extortionist/MS
extra/SM
extracellular
-extract/MDGS
+extract/MDGVS
extraction/SM
extractor/MS
extracurricular
@@ -22787,6 +23146,7 @@ eyetooth/M
eyewash/M
eyewitness/MS
f/CIAVTR
+fMRI
fa/M
fab
fable/DSM
@@ -22802,6 +23162,7 @@ facecloth/M
facecloths
faceless
facelift/SM
+facepalm/SDG
facet/SMDG
facetious/YP
facetiousness/M
@@ -22844,7 +23205,7 @@ fagging
faggot/SMG
fagot/SMG
faience/M
-fail/MDGJS
+fail/DGJS
failing/M
faille/M
failure/SM
@@ -23157,6 +23518,7 @@ ferocity/M
ferret/GSMD
ferric
ferromagnetic
+ferromagnetism
ferrous
ferrule/MS
ferry/DSMG
@@ -23757,6 +24119,7 @@ fluorite/M
fluorocarbon/MS
fluoroscope/SM
fluoroscopic
+fluoxetine
flurry/GDSM
flush/MDRSTG
fluster/MDSG
@@ -24115,6 +24478,7 @@ foulmouthed
foulness/M
found/FSDG
foundation/SM
+foundational
founded/U
founder/GMDS
foundling/SM
@@ -24253,6 +24617,7 @@ freezing's
freight/MDRZGS
freighter/M
french
+frenemy/S
frenetic
frenetically
frenzied/Y
@@ -24452,6 +24817,7 @@ functionalism
functionalist/S
functionality/S
functionary/SM
+functor
fund/AMDGS
fundamental/SMY
fundamentalism/M
@@ -24500,6 +24866,7 @@ furnished/U
furnishings/M
furniture/M
furor/SM
+furosemide
furred
furrier/M
furriness/M
@@ -25181,6 +25548,7 @@ glum/YP
glummer
glummest
glumness/M
+gluon/S
glut/MNS
gluten/M
glutenous
@@ -25194,6 +25562,7 @@ glycerin/M
glycerine/M
glycerol/M
glycogen/M
+glycol
glyph
gm
gnarl/SMDG
@@ -25545,6 +25914,7 @@ greenish
greenmail/M
greenness/M
greenroom/SM
+greenstone
greensward/M
greenwood/M
greet/ZGJSDR
@@ -25909,6 +26279,7 @@ hacktivist/MS
hackwork/M
had
haddock/SM
+hadith
hadn't
hadst
hafnium/M
@@ -26100,6 +26471,7 @@ happenstance/SM
happily/U
happiness/UM
happy/URTP
+haptic
harangue/MGDS
harass/LZGDRS
harasser/M
@@ -26249,6 +26621,7 @@ hawthorn/MS
hay/GSMD
haycock/SM
hayloft/SM
+haymaker/S
haymaking
haymow/SM
hayrick/MS
@@ -26487,6 +26860,7 @@ hematological
hematologist/MS
hematology/M
heme/M
+hemiplegia
hemisphere/SM
hemispheric
hemispherical
@@ -26555,6 +26929,7 @@ heretic/SM
heretical
hereto
heretofore
+hereunder
hereunto
hereupon
herewith
@@ -26566,6 +26941,7 @@ hermetic
hermetical/Y
hermit/SM
hermitage/MS
+hermitian
hernia/SM
hernial
herniate/GNDS
@@ -26711,6 +27087,7 @@ hippest
hippie/M
hipping
hippo/SM
+hippocampus
hippodrome/SM
hippopotamus/MS
hippy/SM
@@ -26727,6 +27104,7 @@ histamine/MS
histogram/MS
histologist/SM
histology/M
+histopathology
historian/MS
historic
historical/Y
@@ -26892,6 +27270,7 @@ homogenize/DSG
homograph/M
homographs
homologous
+homology
homonym/SM
homophobia/M
homophobic
@@ -26973,6 +27352,7 @@ horizontal/SMY
hormonal
hormone/SM
horn/MDS
+hornbeam
hornblende/M
hornet/MS
hornless
@@ -27306,6 +27686,8 @@ hydraulics/M
hydro/M
hydrocarbon/MS
hydrocephalus/M
+hydrochloride
+hydrocortisone
hydrodynamic/S
hydrodynamics/M
hydroelectric
@@ -27323,6 +27705,7 @@ hydrolysis/M
hydrolyze/DSG
hydrometer/SM
hydrometry/M
+hydrophilic
hydrophobia/M
hydrophobic
hydrophone/SM
@@ -27332,6 +27715,7 @@ hydroponically
hydroponics/M
hydrosphere/M
hydrotherapy/M
+hydrothermal
hydrous
hydroxide/SM
hyena/SM
@@ -27353,12 +27737,14 @@ hyperbola/SM
hyperbole/M
hyperbolic
hypercritical/Y
+hypercube
hyperglycemia/M
hyperinflation
hyperlink/GSMD
hypermarket/S
hypermedia/M
hyperparathyroidism
+hyperplane
hypersensitive/P
hypersensitiveness/M
hypersensitivity/SM
@@ -27371,6 +27757,7 @@ hyperthyroidism/M
hypertrophy/DSMG
hyperventilate/GNDS
hyperventilation/M
+hypervisor/MS
hyphen/MDSG
hyphenate/XDSMGN
hyphenation/M
@@ -27411,6 +27798,7 @@ hysteric/SM
hysterical/Y
hysterics/M
i/US
+iOS/M
iPad/M
iPhone/M
iPod/M
@@ -27851,6 +28239,7 @@ impulse/MGNVDS
impulsion/M
impulsive/PY
impulsiveness/M
+impulsivity
impunity/M
impure/RYT
impurity/SM
@@ -27885,7 +28274,7 @@ incalculably
incandescence/M
incandescent/Y
incantation/SM
-incapacitate/GDS
+incapacitate/GNDS
incarcerate/XDSGN
incarceration/M
incarnadine/DSG
@@ -27956,7 +28345,7 @@ incorrigible
incorrigibly
incorruptibly
increasing/Y
-increment/SMD
+increment/SMDG
incremental/Y
incrementalism
incrementalist/SM
@@ -28158,7 +28547,7 @@ inflammable
inflammation/SM
inflammatory
inflatable/SM
-inflate/DSGNB
+inflate/ADSG
inflation/EM
inflationary
inflect/SDG
@@ -28177,6 +28566,7 @@ infomercial/SM
inform/Z
informal/Y
informant/SM
+informatics
information/EM
informational
informative/PY
@@ -28252,6 +28642,7 @@ initiatory
inject/SDG
injection/SM
injector/SM
+injunctive
injure/DRSZG
injured/U
injurer/M
@@ -28296,6 +28687,7 @@ inoculation/MS
inoperative
inordinate/Y
inorganic
+inositol
inquire/ZGDR
inquirer/M
inquiring/Y
@@ -28369,6 +28761,7 @@ inspector/MS
inspectorate/MS
inspiration/MS
inspirational
+inspiratory
inspired/U
inspiring/U
inst
@@ -28412,6 +28805,7 @@ instrumentation/M
insubordinate
insufferable
insufferably
+insula
insular
insularity/M
insulate/GNDS
@@ -28540,6 +28934,8 @@ intermezzo/MS
interminably
intermingle/DSG
intermission/SM
+intermittence
+intermittency
intermittent/Y
intermix/GDS
internal/SY
@@ -28559,6 +28955,9 @@ internist/MS
internment/M
internship/MS
interoffice
+interoperability
+interoperable
+interoperate/S
interpenetrate/DSGN
interpersonal
interplanetary
@@ -28617,6 +29016,7 @@ intestacy/M
intestate
intestinal
intestine/MS
+intifada
intimacy/SM
intimate/MYGNDSX
intimation/M
@@ -28689,7 +29089,8 @@ inventiveness/M
inventor/MS
inventory/DSMG
inverse/SMY
-invert/SMDG
+invert/SMDRZG
+inverter/M
invest/ASDGL
investigate/GNVDSX
investigation/M
@@ -28723,6 +29124,7 @@ involuntariness/M
involuntary/P
involution/M
involve/LDSG
+involved/U
involvement/SM
inward/SY
ioctl
@@ -28853,6 +29255,7 @@ isometric/S
isometrically
isometrics/M
isomorphic
+isomorphism
isosceles
isotherm/SM
isotope/SM
@@ -29315,6 +29718,7 @@ kerosene/M
kestrel/MS
ketch/MS
ketchup/M
+ketone/S
kettle/SM
kettledrum/SM
key/SGMD
@@ -29905,6 +30309,8 @@ leapfrogged
leapfrogging
leapt
learn/AUGDS
+learnability
+learnable
learnedly
learner/MS
learning's
@@ -30718,6 +31124,7 @@ lumberjack/SM
lumberman/M
lumbermen
lumberyard/SM
+lumen
luminary/SM
luminescence/M
luminescent
@@ -30726,6 +31133,7 @@ luminous/Y
lummox/MS
lump/MDNSG
lumpectomy/S
+lumpenproletariat
lumpiness/M
lumpish
lumpy/TRP
@@ -30767,6 +31175,7 @@ lutanist/SM
lute/MS
lutenist/SM
lutetium/M
+lux
luxuriance/M
luxuriant/Y
luxuriate/DSGN
@@ -30913,6 +31322,7 @@ magniloquence/M
magniloquent
magnitude/SM
magnolia/MS
+magnon
magnum/MS
magpie/MS
magus/M
@@ -30954,6 +31364,8 @@ mainstay/MS
mainstream/SMDG
maintain/ZGBDRS
maintainability
+maintainable/U
+maintained/U
maintenance/M
maintop/SM
maisonette/MS
@@ -31396,6 +31808,7 @@ maxilla/M
maxillae
maxillary
maxim/SM
+maxima
maximal/Y
maximization/M
maximize/GDS
@@ -31482,7 +31895,7 @@ meddlesome
media/SM
medial/AY
median/MS
-mediate/DSGN
+mediate/ADSGN
mediated/U
mediation/AM
mediator/MS
@@ -31664,6 +32077,7 @@ merino/MS
merit/CSM
merited/U
meriting
+meritless
meritocracy/SM
meritocratic
meritorious/PY
@@ -31758,6 +32172,7 @@ meteorological
meteorologist/SM
meteorology/M
meter/GMD
+metformin
methadone/M
methamphetamine/M
methane/M
@@ -31823,12 +32238,14 @@ microelectronics/M
microfiber/MS
microfiche/M
microfilm/GMDS
+microfinance
microfloppies
microgroove/SM
microlight/MS
microloan/MS
-micromanage/GDSL
+micromanage/ZGDRSL
micromanagement/M
+micromanager/M
micrometeorite/SM
micrometer/MS
micron/MS
@@ -32015,6 +32432,7 @@ minicam/MS
minicomputer/SM
minifloppies
minim/SM
+minima
minimal/Y
minimalism/M
minimalist/MS
@@ -32183,6 +32601,7 @@ misquotation/MS
misquote/MGDS
misread/GJS
misreading/M
+misremember/GDS
misreport/MDGS
misrepresent/GDS
misrepresentation/MS
@@ -32250,6 +32669,7 @@ mitotic
mitral
mitt/MNSX
mitten/M
+mitzvah
mix/ZGMDRSB
mixed/U
mixer/M
@@ -32318,6 +32738,7 @@ modify/DRSXZGN
modish/YP
modishness/M
modular
+modularization
modulate/CGNDS
modulation/CM
modulations
@@ -32379,6 +32800,7 @@ momentous/PY
momentousness/M
momentum/M
mommy/SM
+monad
monarch/M
monarchic
monarchical
@@ -32396,6 +32818,7 @@ monetarily
monetarism/M
monetarist/MS
monetary
+monetization/C
monetize/CGDS
money/SMD
moneybag/MS
@@ -32532,6 +32955,7 @@ mopping
moraine/SM
moral/SMY
morale/M
+moralism
moralist/MS
moralistic
moralistically
@@ -32774,6 +33198,8 @@ mulligan/SM
mulligatawny/M
mullion/SMD
multi
+multicellular
+multichannel
multicolored
multicultural
multiculturalism/M
@@ -32793,6 +33219,7 @@ multilingualism/M
multimedia/M
multimillionaire/SM
multinational/SM
+multipart
multiparty
multiplayer/M
multiple/MS
@@ -32830,6 +33257,7 @@ mummy/SM
mumps/M
mun
munch/GDS
+munchie/S
munchies/M
munchkin/SM
mundane/SY
@@ -32864,6 +33292,7 @@ muscly
muscular/Y
muscularity/M
musculature/M
+musculoskeletal
muse/MGDSJ
musette/MS
museum/MS
@@ -32911,6 +33340,7 @@ musty/PTR
mutability/M
mutably
mutagen/MS
+mutagenic
mutant/MS
mutate/XGNVDS
mutation/M
@@ -33017,6 +33447,7 @@ nanny/SM
nanobot/S
nanosecond/SM
nanotechnology/SM
+nanotube
nap/SM
napalm/MDSG
nape/MS
@@ -33217,6 +33648,7 @@ neocolonialism/M
neocolonialist/MS
neocon/SM
neoconservative/SM
+neocortex
neodymium/M
neolithic
neologism/SM
@@ -33277,6 +33709,7 @@ neurologist/SM
neurology/M
neuron/MS
neuronal
+neuroscience
neuroses
neurosis/M
neurosurgeon/MS
@@ -33284,6 +33717,7 @@ neurosurgery/M
neurosurgical
neurotic/MS
neurotically
+neuroticism
neurotransmitter/SM
neut
neuter/MDGS
@@ -33361,6 +33795,7 @@ nickle/S
nickname/DSMG
nicotine/M
niece/SM
+nifedipine
niff
niffy
nifty/TR
@@ -33442,6 +33877,7 @@ nitpicker/M
nitpicking/M
nitrate/DSMGN
nitration/M
+nitric
nitrification/M
nitrite/SM
nitro
@@ -33582,6 +34018,8 @@ nondepreciating
nondescript
nondestructive
nondetachable
+nondeterminism
+nondeterministic
nondisciplinary
nondisclosure/M
nondiscrimination/M
@@ -34188,6 +34626,7 @@ octogenarian/SM
octopus/MS
ocular/MS
oculist/SM
+oculomotor
odalisque/SM
odd/STRYLP
oddball/SM
@@ -34329,6 +34768,7 @@ omnivore/MS
omnivorous/PY
omnivorousness/M
on/Y
+onboard
once/M
oncogene/SM
oncologist/SM
@@ -34454,6 +34894,7 @@ or
oracle/SM
oracular
oral/MYS
+orality
orange/SMP
orangeade/MS
orangery/SM
@@ -34480,6 +34921,7 @@ ordain/SDLG
ordainment/M
ordeal/SM
order/EAMDGS
+ordered/U
orderings
orderliness/EM
orderly/PSM
@@ -34576,6 +35018,7 @@ osmium/M
osmosis/M
osmotic
osprey/SM
+ossicles
ossification/M
ossify/NGDS
ostensible
@@ -34640,6 +35083,7 @@ outdoorsy
outdraw/GS
outdrawn
outdrew
+outercourse
outermost
outerwear/M
outface/GDS
@@ -34880,6 +35324,7 @@ overhung
overindulge/GDS
overindulgence/M
overindulgent
+overinflated
overjoy/GSD
overkill/M
overladen
@@ -35030,6 +35475,7 @@ own/ESGD
owner/MS
ownership/M
ox/MN
+oxalate
oxblood/M
oxbow/MS
oxcart/SM
@@ -35037,6 +35483,7 @@ oxford/SM
oxidant/MS
oxidase
oxidation/M
+oxidative
oxide/MS
oxidization/M
oxidize/ZGDRS
@@ -35152,6 +35599,7 @@ palazzo
pale/MYTGPDRSJ
paleface/MS
paleness/M
+paleo
paleographer/MS
paleography/M
paleolithic
@@ -35310,17 +35758,21 @@ parallax/MS
parallel/SGMD
paralleled/U
parallelism/MS
+parallelization
+parallelized
parallelogram/SM
paralyses
paralysis/M
paralytic/SM
paralyze/DSG
paralyzing/Y
+paramagnetic
paramecia
paramecium/M
paramedic/MS
paramedical/MS
parameter/MS
+parameterize/D
parametric
paramilitary/SM
paramount
@@ -35380,6 +35832,7 @@ paresis/M
parfait/MS
pariah/M
pariahs
+paribus
parietal
parimutuel/MS
paring/M
@@ -35567,6 +36020,7 @@ patriarchate/MS
patriarchs
patriarchy/SM
patrician/SM
+patricidal
patricide/SM
patrimonial
patrimony/SM
@@ -35677,6 +36131,7 @@ pecs
pectic
pectin/M
pectoral/MS
+pectoralis
peculate/GNDS
peculation/M
peculator/SM
@@ -35965,12 +36420,14 @@ permissiveness/M
permit/MS
permitted
permitting
+permittivity
permutation/SM
permute/DSG
pernicious/YP
perniciousness/M
peroration/MS
peroxide/MGDS
+perpend
perpendicular/SMY
perpendicularity/M
perpetrate/DSGN
@@ -35982,6 +36439,7 @@ perpetuation/M
perpetuity/M
perplex/GDS
perplexed/Y
+perplexing/Y
perplexity/SM
perquisite/SM
persecute/GNXDS
@@ -36073,6 +36531,7 @@ peter/GMD
petiole/SM
petite/MS
petition/ZGMDRS
+petitionary
petitioner/M
petrel/MS
petrifaction/M
@@ -36137,6 +36596,7 @@ pharmacologist/SM
pharmacology/M
pharmacopeia/SM
pharmacopoeia/MS
+pharmacotherapy
pharmacy/SM
pharyngeal
pharynges
@@ -36156,6 +36616,7 @@ phenomenological
phenomenology
phenomenon/MS
phenotype
+phenytoin
pheromone/MS
phew
phi/SM
@@ -36218,6 +36679,7 @@ phonographs
phonological/Y
phonologist/MS
phonology/M
+phonon
phony/PTGDRSM
phooey
phosphate/MS
@@ -36263,6 +36725,7 @@ phototropic
phototropism
phototypesetter
phototypesetting
+photovoltaic
phrasal
phrase's
phrase/AGDS
@@ -36295,6 +36758,7 @@ physiology/M
physiotherapist/MS
physiotherapy/M
physique/MS
+phytoplankton
pi/SMDRHZG
pianissimo/SM
pianist/MS
@@ -36328,6 +36792,7 @@ picnicked
picnicker/SM
picnicking
picot/SM
+pictogram/S
pictograph/M
pictographs
pictorial/MYS
@@ -36600,6 +37065,7 @@ plantlike
plaque/SM
plash/MDSG
plasma/M
+plasmon
plaster/SZGMDR
plasterboard/M
plasterer/M
@@ -36998,6 +37464,7 @@ popularity/UM
popularization/M
popularize/DSG
populate/ACGDS
+populated/U
population/CM
populations
populism/M
@@ -37063,9 +37530,9 @@ poseur/SM
posh/TR
posit/DSGV
position/CKEMS
-positional/K
+positional/KE
positioned/K
-positioning/K
+positioning/AK
positive/MYPS
positiveness/M
positivism
@@ -37244,6 +37711,7 @@ preacher/M
preachment/M
preachy/RT
preadolescence/SM
+preadolescent
preamble/MGDS
prearrange/LGDS
prearrangement/M
@@ -37315,6 +37783,7 @@ predigest/GDS
predilection/SM
predispose/GDS
predisposition/MS
+prednisone
predominance/M
predominant/Y
predominate/YGDS
@@ -37358,6 +37827,7 @@ prehistoric
prehistorical/Y
prehistory/M
prehuman
+preinstalled
prejudge/GDS
prejudgment/SM
prejudice/MGDS
@@ -37394,6 +37864,7 @@ preoccupation/SM
preoccupy/DSG
preoperative
preordain/GDS
+preowned
prep/MS
prepackage/DSG
prepacked
@@ -37632,11 +38103,13 @@ probationer/M
probe/MGDSBJ
probity/M
problem/MS
-problematic
+problematic/U
problematical/Y
probosces
proboscis/MS
procaine/M
+procaryote/SM
+procaryotic
procedural
procedure/SM
proceed/GJDS
@@ -37644,6 +38117,7 @@ proceeding/M
proceeds/M
process's
process/AGDS
+processable
processed/U
procession/GD
processional/MS
@@ -37735,6 +38209,7 @@ projectile/SM
projection/SM
projectionist/SM
projector/MS
+prokaryote/MS
prokaryotic
prole/S
proletarian/MS
@@ -37822,6 +38297,7 @@ proportionate/EY
proposal/MS
propped
propping
+propranolol
proprietary/SM
proprieties/M
proprietor/SM
@@ -37848,6 +38324,7 @@ proselyte/DSMG
proselytism/M
proselytize/DRSZG
proselytizer/M
+prosocial
prosody/SM
prospect/MDGVS
prospective/Y
@@ -38003,6 +38480,7 @@ psychopathology
psychopaths
psychopathy/M
psychopharmacology
+psychophysiology
psychos/S
psychosis/M
psychosomatic
@@ -38175,6 +38653,7 @@ purplish
purport/SMDG
purported/Y
purpose/DSMYG
+purposed/A
purposeful/YP
purposefulness/M
purposeless/PY
@@ -38310,8 +38789,11 @@ quantifiable
quantification/M
quantifier/M
quantify/NDRSZG
+quantitation
quantitative/Y
quantity/SM
+quantization
+quantize
quantum/M
quarantine/MGDS
quark/MS
@@ -38367,7 +38849,9 @@ questioned/U
questioner/M
questioning/MY
questionnaire/SM
-queue/MDSG
+queue's
+queue/CDS
+queuing
quibble/DRSMZG
quibbler/M
quiche/SM
@@ -38397,6 +38881,7 @@ quilting/M
quin/S
quince/SM
quine/S
+quinidine
quinine/M
quinoa
quinsy/M
@@ -38489,6 +38974,7 @@ radar/SM
radarscope/SM
raddled
radial/SMY
+radian/S
radiance/M
radiant/Y
radiate/DSGNX
@@ -38766,6 +39252,7 @@ reach/MDSGB
reachable/U
reacquire/DSG
react/V
+reactance
reactant/SM
reactionary/SM
reactivity
@@ -38874,7 +39361,7 @@ recline/DRSZG
recliner/M
recluse/SMV
recognizable/U
-recognizably
+recognizably/U
recognize/DRSGB
recognized/U
recombination
@@ -39014,8 +39501,10 @@ reflationary
reflect/GVSD
reflection/MS
reflective/Y
+reflectivity
reflector/MS
reflexive/SMY
+reflexivity
reflexology
reforge/DSG
reform/MZ
@@ -39063,6 +39552,7 @@ regenerate/V
regex/M
regexp/S
reggae/M
+regicidal
regicide/MS
regime/SM
regimen/SM
@@ -39113,6 +39603,7 @@ rehearsal/MS
rehearsed/U
rehi
rehung
+reify/NDSG
reign/MDSG
reimburse/BDSGL
reimbursement/MS
@@ -39133,7 +39624,7 @@ rejoinder/SM
rejuvenate/DSGN
rejuvenation/M
rel
-relate/DRSXZGNV
+relate/DRSBXZGNV
relatedness/M
relater/M
relation/M
@@ -39260,6 +39751,7 @@ repartee/M
repatriate/XDSMGN
repatriation/M
repeat/SMDRZGB
+repeatability
repeatable/U
repeatably
repeated/Y
@@ -39296,6 +39788,7 @@ reportage/M
reported/Y
reportorial
reposeful
+reposition
repository/SM
reprehend/DGS
reprehensibility/M
@@ -39349,13 +39842,13 @@ requiter/M
reread/SG
rerecord/GDS
rerunning
+resample/GDS
resat
rescind/SDG
rescission/M
rescue/DRSMZG
rescuer/M
reseal/B
-resell/SG
resemble/DSG
resend
resent/LSDG
@@ -39388,6 +39881,7 @@ resist/SMDRZG
resistance/SM
resistant/U
resistible
+resistivity
resistless
resistor/MS
resit/S
@@ -39490,8 +39984,10 @@ reticence/M
reticent/Y
reticulated
reticulation/MS
+reticulum
retina/SM
retinal
+retinoblastoma
retinue/SM
retiree/SM
retirement/MS
@@ -39533,6 +40029,7 @@ revealing/Y
reveille/M
revel/JMDRSZG
revelation/SM
+revelatory
reveler/M
revelry/SM
revenge/MGDS
@@ -40069,6 +40566,7 @@ running/M
runny/RT
runoff/SM
runt/MS
+runtime
runty/RT
runway/SM
rupee/SM
@@ -40324,7 +40822,7 @@ sanitarian/SM
sanitarium/SM
sanitary/IU
sanitation/M
-sanitize/GDS
+sanitize/ZGDRS
sanity/IM
sank
sans
@@ -40469,6 +40967,7 @@ scaffold/SMG
scaffolding/M
scag/S
scagged
+scalability
scalar/S
scalawag/MS
scald/MDSG
@@ -40576,6 +41075,7 @@ schilling/MS
schism/SM
schismatic/SM
schist/M
+schistosomiasis
schizo/SM
schizoid/MS
schizophrenia/M
@@ -40857,6 +41357,7 @@ seaplane/SM
seaport/MS
sear/GMDS
search/AZGMDRS
+searchable/U
searcher/AM
searching/Y
searchlight/MS
@@ -41027,8 +41528,9 @@ selfishness/UM
selfless/PY
selflessness/M
selfsame
-sell/ZGMRS
-seller/M
+sell's
+sell/AZGRS
+seller's
selloff/MS
sellotape/DSG
sellout/MS
@@ -41195,7 +41697,7 @@ serge/M
sergeant/MS
serial/SMY
serialization/SM
-serialize/GDS
+serialize/GDSB
series/M
serif/MS
serigraph/M
@@ -42626,6 +43128,7 @@ solvency/IM
solvent/IMS
solver/SM
somatic
+somatosensory
somber/PY
somberness/M
sombre/PY
@@ -42800,6 +43303,7 @@ spaceport/SM
spacer/M
spaceship/SM
spacesuit/SM
+spacetime
spacewalk/SGMD
spacewoman/M
spacewomen
@@ -42992,6 +43496,7 @@ spindly/TR
spine/SM
spineless/YP
spinet/SM
+spinless
spinnaker/SM
spinner/MS
spinneret/SM
@@ -43033,6 +43538,7 @@ spitting
spittle/M
spittoon/MS
spiv/S
+splanchnic
splash/GMDS
splashdown/MS
splashily
@@ -43785,6 +44291,7 @@ streptomycin/M
stress/MDSG
stressed/U
stressful
+stressors
stretch/BZGMDRS
stretcher/MDG
stretchmarks
@@ -43969,6 +44476,7 @@ subculture/MS
subcutaneous/Y
subdivide/GDS
subdivision/SM
+subdomain/MS
subdominant
subdue/DSG
subeditor/S
@@ -44020,7 +44528,9 @@ subordinate/DSMGN
subordination/IM
suborn/SGD
subornation/M
+subpar
subparagraph
+subpart
subplot/MS
subpoena/GMDS
subprime
@@ -44283,6 +44793,7 @@ superconducting
superconductive
superconductivity/M
superconductor/SM
+supercritical
superego/MS
supererogation/M
supererogatory
@@ -44309,6 +44820,7 @@ superiority/M
superlative/SMY
superman/M
supermarket/SM
+supermassive
supermen
supermodel/SM
supermom/MS
@@ -44329,6 +44841,7 @@ supersede/GDS
supersize/GDS
supersonic
superstar/MS
+superstardom
superstate/S
superstition/MS
superstitious/Y
@@ -44371,7 +44884,7 @@ suppose/GDS
supposed/Y
supposition/MS
suppository/SM
-suppress/GDS
+suppress/GVDS
suppressant/MS
suppressible
suppression/M
@@ -44459,6 +44972,7 @@ suss/DSG
sustain/SDBG
sustainability
sustainable/U
+sustainably
sustenance/M
sutler/MS
suttee
@@ -44579,6 +45093,7 @@ switchback/MS
switchblade/SM
switchboard/SM
switcher/M
+switchover
swivel/MDGS
swiz
swizz
@@ -44631,6 +45146,7 @@ symbolical/Y
symbolism/M
symbolization/M
symbolize/DSG
+symbology
symmetric/Y
symmetrical/Y
symmetry/SM
@@ -44656,6 +45172,7 @@ synchronicity
synchronization/SM
synchronize/GDS
synchronous/Y
+synchrony
syncopate/DSGN
syncopation/M
syncope/M
@@ -44924,6 +45441,7 @@ tartness/M
tarty/T
taser/GMDS
task/GMDS
+taskbar
taskmaster/MS
taskmistress/MS
tassel/MDSG
@@ -45396,6 +45914,7 @@ thereof
thereon
thereto
theretofore
+thereunder
thereunto
thereupon
therewith
@@ -45805,6 +46324,7 @@ toboggan/ZGSMDR
tobogganer/M
tobogganing/M
toccata/S
+tocopherol
tocsin/SM
today/M
toddle/DRSMZG
@@ -46068,6 +46588,7 @@ trabecula
trabecular
trabecule
trace/JDRSMZG
+traceability
traceable/U
tracer/M
tracery/SM
@@ -46172,6 +46693,7 @@ transcriber/M
transcript/MS
transcription/SM
transducer/MS
+transduction
transect/DSG
transept/MS
transfer/MBS
@@ -46256,6 +46778,7 @@ transshipment/M
transshipped
transshipping
transubstantiation/M
+transversal
transverse/MYS
transvestism/M
transvestite/MS
@@ -46353,7 +46876,7 @@ trestle/MS
trews
trey/MS
triad/SM
-triage/M
+triage/MD
trial/ASM
trialed
trialing
@@ -46812,6 +47335,8 @@ typography/M
typology/SM
tyrannic
tyrannical/Y
+tyrannicidal
+tyrannicide/S
tyrannize/GDS
tyrannosaur/MS
tyrannosaurus/MS
@@ -46819,6 +47344,7 @@ tyrannous
tyranny/SM
tyrant/SM
tyro/MS
+tzatziki
u/S
ubiquitous/Y
ubiquity/M
@@ -46851,6 +47377,8 @@ ultrahigh
ultralight/SM
ultramarine/M
ultramodern
+ultrasensitive
+ultrashort
ultrasonic
ultrasonically
ultrasound/MS
@@ -46885,7 +47413,9 @@ unanimous/Y
unapparent
unappetizing
unappreciative
+unary
unassertive
+unassimilable
unassuming/Y
unavailing/Y
unaware/S
@@ -46898,6 +47428,7 @@ unblinking/Y
unblushing/Y
unbosom/DG
unbound/D
+unbox/GDS
unbreakable
unbroken
uncanny/T
@@ -46915,6 +47446,7 @@ uncleanly/T
unclear/DRT
uncomfortable
uncommon/T
+uncompelling
uncomplaining/Y
uncomplicated
uncomprehending/Y
@@ -46991,6 +47523,7 @@ undergrowth/M
underhand
underhanded/PY
underhandedness/M
+underinflated
underlain
underlay/SM
underlie/S
@@ -47176,10 +47709,13 @@ unity/EM
univalent
univalve/SM
universal/MYS
+universalism
+universalist
universality/M
universalize/DSG
universe/SM
university/SM
+univocal
unjust/Y
unkempt
unkind/T
@@ -47243,6 +47779,7 @@ unrepentant
unreported
unrepresentative
unrest/M
+unrevealing
unripe/TR
unroll/GDS
unromantic
@@ -47251,7 +47788,6 @@ unruly/RTP
unsafe/YTR
unsavory
unscathed
-unsearchable
unseeing/Y
unseemly/T
unseen/M
@@ -47489,6 +48025,7 @@ vagary/SM
vagina/SM
vaginae
vaginal/Y
+vaginitis
vagrancy/M
vagrant/MS
vague/RYTP
@@ -47670,6 +48207,7 @@ vent/DGS
ventilate/GNDS
ventilation/M
ventilator/SM
+ventilatory
ventral
ventricle/SM
ventricular
@@ -47687,6 +48225,7 @@ veracity/M
veranda/SM
verandah/M
verandahs
+verapamil
verb/KMS
verbal/MYS
verbalization/M
@@ -47820,6 +48359,7 @@ vicissitude/SM
victim/MS
victimization/M
victimize/GDS
+victimless
victor/MS
victorious/Y
victory/SM
@@ -47836,6 +48376,7 @@ videotape/DSMG
videotex
vie/DS
view/AMDRSZG
+viewable
viewer/AM
viewership/M
viewfinder/SM
@@ -48029,6 +48570,7 @@ volatile
volatility/M
volatilize/DSG
volcanic
+volcanism
volcano/M
volcanoes
vole/MS
@@ -48044,6 +48586,7 @@ volubility/M
voluble
volubly
volume/SM
+volumetric
voluminous/YP
voluminousness/M
voluntarily/I
@@ -48077,6 +48620,7 @@ voyageur/SM
voyeur/MS
voyeurism/M
voyeuristic
+vulcanism
vulcanization/M
vulcanize/GDS
vulgar/RYT
@@ -48221,6 +48765,7 @@ ware/MS
warehouse/DSMG
warez
warfare/M
+warfarin
warhead/MS
warhorse/SM
warily/U
@@ -48348,6 +48893,7 @@ wattle/MGDS
wave/MZGDRS
waveband/S
waveform
+wavefront
wavelength/M
wavelengths
wavelet/SM
@@ -48646,6 +49192,7 @@ whiteboard/S
whitecap/SM
whitefish/MS
whitehead/MS
+whitelist/GDS
whiten/ZGDRJ
whitener/M
whiteness/M
@@ -49071,6 +49618,8 @@ works/M
worksheet/MS
workshop/MS
workshy
+worksite/S
+workspace
workstation/MS
worktable/MS
worktop/S
diff --git a/extensions/spellcheck/locales/en-US/hunspell/en-US.dic b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic
index 429c95198..cd9fe9964 100644
--- a/extensions/spellcheck/locales/en-US/hunspell/en-US.dic
+++ b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic
@@ -1,4 +1,4 @@
-52348
+53235
0/nm
0th/pt
1/n1
@@ -76,6 +76,7 @@ AV
AVI
AWACS/M
AWOL/M
+AWS/M
AZ/M
AZT/M
Aachen/M
@@ -240,6 +241,7 @@ Agra/M
Agricola/M
Agrippa/M
Agrippina/M
+Aguadilla/M
Aguascalientes
Aguilar/M
Aguinaldo/M
@@ -456,6 +458,7 @@ Alsatian/SM
Alsop/M
Alston/M
Alta/M
+Altaba/M
Altai/M
Altaic/M
Altair/M
@@ -465,6 +468,7 @@ Altiplano/M
Altman/M
Altoids/M
Alton/M
+Altoona/M
Aludra/M
Alva/M
Alvan/M
@@ -504,7 +508,7 @@ Ambros/M
Ambrose
Ambrosio/M
Ambrosius/M
-Ame/M
+Ame/SM
Amelia/M
Amelie/M
Amen/M
@@ -520,7 +524,9 @@ Amerigo/M
Amerind/SM
Amerindian/MS
Amery/M
+Ames/M
Ameslan/M
+Amgen/M
Amharic/M
Amherst/M
Ami/M
@@ -612,6 +618,7 @@ Angevin/M
Angie/M
Angkor/M
Angle/MS
+Angleton/M
Anglia/M
Anglican/SM
Anglicanism/MS
@@ -627,6 +634,7 @@ Angora/SM
Angstrom/M
Anguilla/M
Angus/M
+Anhui/M
Ania/M
Aniakchak/M
Anibal/M
@@ -648,6 +656,7 @@ Annemarie/M
Annette/M
Anni/SM
Annie/M
+Anniston/M
Annmarie/M
Annunciation/SM
Anny/M
@@ -769,6 +778,8 @@ Arda/M
Ardabil
Arden/M
Ardis/M
+Arduino/M
+Arecibo/M
Arequipa/M
Ares/M
Aretha/M
@@ -871,6 +882,7 @@ Ashanti/M
Ashby/M
Ashcroft/M
Ashe/RM
+Asheville/M
Ashgabat
Ashikaga/M
Ashkenazim/M
@@ -899,6 +911,7 @@ Assamese/M
Assembly
Assisi/M
Assyria/M
+Assyriaca/M
Assyrian/SM
Astaire/M
Astana/M
@@ -919,6 +932,7 @@ Atacama/M
Atahualpa/M
Atalanta/M
Atari/M
+Atascadero/M
Ataturk/M
Atatürk/M
Athabasca/M
@@ -954,6 +968,7 @@ Aube
Aubert/M
Aubrey/M
Aubry/M
+Auburn/M
Auckland/M
Auden/M
Audi/M
@@ -1024,6 +1039,7 @@ Avis/M
Aviva/M
Avogadro/M
Avon/M
+Avondale/M
Avram/M
Avril/M
Axe/M
@@ -1049,7 +1065,7 @@ Azov/M
Aztec/SM
Aztecan/M
Aztlan/M
-B/MNRT
+B/MNRTG
BA/M
BASIC/SM
BB/M
@@ -1113,8 +1129,10 @@ Bahama/SM
Bahamanian
Bahamas/M
Bahamian/MS
+Bahasa/M
Bahia/M
Bahrain/M
+Baidu/M
Baikal/M
Bailey/M
Bailie/M
@@ -1186,6 +1204,7 @@ Barbour/M
Barbra/M
Barbuda/M
Barcelona/M
+Barceloneta/M
Barclay/SM
Barclays/M
Barde/M
@@ -1311,6 +1330,8 @@ Becket/M
Beckett/M
Beckham/M
Beckie/M
+Beckley/M
+Beckman
Becky/M
Becquerel/M
Bede/M
@@ -1332,6 +1353,7 @@ Bekesy/M
Bel/M
Bela/M
Belarus/M
+Belarusian
Belau/M
Belem/M
Belfast/M
@@ -1348,10 +1370,12 @@ Bellamy/M
Bellatrix/M
Belleek/M
Bellevue/M
+Bellingham/M
Bellini/M
Bellow/M
Belmont/M
Belmopan/M
+Beloit/M
Belorussian/MS
Belshazzar/M
Beltane/M
@@ -1362,7 +1386,9 @@ Ben/M
Benacerraf/M
Benares/M
Benchley/M
+Bend/MR
Bender/M
+Bendictus
Bendix/M
Benedetta/M
Benedetto/M
@@ -1457,6 +1483,7 @@ Bertillon/M
Berton/M
Bertram/M
Bertrand/M
+Berwick/M
Beryl/M
Berzelius/M
Bespin/M
@@ -1509,6 +1536,7 @@ Bic/M
Biddle/M
Biden/M
Bierce/M
+BigQuery/M
Bigfoot/M
Biggles/M
Biko/M
@@ -1521,9 +1549,12 @@ Billie/M
Billings/M
Billy/M
Bimini/M
+Bing/M
+Binghamton/M
Bink/M
Binky/M
Binnie/M
+Biogen/M
Bioko/M
Bird/M
Birdseye/M
@@ -1556,6 +1587,7 @@ Blackburn/M
Blackfeet/M
Blackfoot/M
Blackpool/M
+Blacksburg/M
Blackshirt/M
Blackstone/M
Blackwell/M
@@ -1587,6 +1619,8 @@ Bloomberg/M
Bloomer/M
Bloomfield/M
Bloomingdale/M
+Bloomington/M
+Bloomsburg/M
Bloomsbury/M
Blu
Blucher/M
@@ -1678,6 +1712,7 @@ Bosporus/M
Boston/MS
Bostonian/M
Boswell/M
+Botha
Botox
Botswana/M
Botticelli/M
@@ -1705,6 +1740,7 @@ Brad/MNY
Bradbury/M
Braddock/M
Braden/M
+Bradenton/M
Bradford/M
Bradley/M
Bradly/M
@@ -1755,6 +1791,7 @@ Brecht/M
Breckenridge/M
Bree/M
Bremen/M
+Bremerton/M
Bren/M
Brenda/M
Brendan/M
@@ -1771,6 +1808,7 @@ Breton/M
Brett/M
Brewer/M
Brewster/M
+Brexit
Brezhnev/M
Brian/M
Briana/M
@@ -1802,6 +1840,7 @@ Brigit/M
Brigitta/M
Brigitte/M
Brillo/M
+Brillouin
Brinkley/M
Briny's
Brion/M
@@ -1892,6 +1931,7 @@ Buddhism/SM
Buddhist/SM
Buddy/M
Budweiser/M
+Buenos
Buffalo/M
Buffy/M
Buford/M
@@ -1972,6 +2012,7 @@ CAD/M
CAI
CAM
CAP
+CAPTCHA
CARE
CATV
CB
@@ -1979,7 +2020,7 @@ CBC/M
CBS/M
CCTV
CCU
-CD/M
+CD/SM
CDC
CDT
CEO/SM
@@ -2002,6 +2043,7 @@ CPO
CPR/M
CPU/M
CRT/SM
+CSS/M
CST/M
CT/M
CV
@@ -2038,6 +2080,7 @@ Caldwell/M
Cale/M
Caleb/M
Caledonia/M
+Calexico/M
Calgary/M
Calhoun/M
Cali/M
@@ -2064,6 +2107,7 @@ Calvinism/MS
Calvinist/MS
Calvinistic
Camacho/M
+Camarillo/M
Cambodia/M
Cambodian/SM
Cambrian/SM
@@ -2146,6 +2190,7 @@ Caracalla/M
Caracas/M
Caravaggio/M
Carboloy/M
+Carbondale/M
Carboniferous/M
Carborundum/M
Cardenas/M
@@ -2222,6 +2267,7 @@ Carrol/M
Carroll/M
Carson/M
Carter/M
+Cartersville/M
Cartesian/M
Carthage/M
Carthaginian/MS
@@ -2329,6 +2375,7 @@ Celeste/M
Celestia/M
Celestina/M
Celestine/M
+Celgene/M
Celia/M
Celie/M
Celina/M
@@ -2375,6 +2422,8 @@ Challenger/M
Chalmers
Chamberlain/M
Chambers/M
+Chambersburg/M
+Champaign/M
Champlain/M
Champollion/M
Chan/M
@@ -2417,6 +2466,7 @@ Charlie/M
Charlot/M
Charlotta/M
Charlotte/M
+Charlottesville/M
Charlottetown/M
Charlton
Charmaine/M
@@ -2554,6 +2604,7 @@ Christoph/MR
Christophe
Christopher/M
Christos/M
+Chromebook/MS
Chronicles
Chrysler/M
Chrysostom/M
@@ -2610,6 +2661,7 @@ Clarita/M
Clark/M
Clarke/M
Clarkson/M
+Clarksville/M
Clary/M
Claude/M
Claudette/M
@@ -2655,6 +2707,7 @@ Clinton/M
Clio/M
Clive/M
Clo/M
+Clojure/M
Clorets/M
Clorox/M
Closure/M
@@ -2767,11 +2820,12 @@ Congolese/M
Congregational
Congregationalist/MS
Congress/MS
-Congressional
+Congressional/Y
Congreve/M
Conley/M
Conn/MR
Connecticut/M
+Connellsville/M
Connemara/M
Conner/M
Connery/M
@@ -2783,6 +2837,7 @@ Conny/M
Conrad/M
Conrado/M
Conrail/M
+Conroe/M
Conroy/M
Conservative
Constable/M
@@ -2879,6 +2934,7 @@ Cosette/M
Cosimo/M
Cosme/M
Cosmo/M
+CosmosDB/M
Cossack/M
Costa/M
Costanza/M
@@ -2899,12 +2955,14 @@ Courtenay/M
Courtney/M
Cousteau/M
Coventry/SM
+Covington/M
Coward/M
Cowell/M
Cowley/M
Cowper/M
Cox/M
Coy/M
+Coyle/M
Cozumel/M
Cpl
Cr/MT
@@ -3116,6 +3174,7 @@ Dan/M
Dana/M
Danae/M
Danaë/M
+Danbury/M
Dane/SM
Danelaw/M
Danette/M
@@ -3140,6 +3199,7 @@ Dante/M
Danton/M
Danube/M
Danubian/M
+Danville/M
Daphne/M
Dar/MNH
Dara/M
@@ -3287,6 +3347,7 @@ Delphic/M
Delphine/M
Delphinus/M
Delta/M
+Deltona/M
Dem/G
Demavend/M
Demerol/M
@@ -3432,6 +3493,7 @@ Dixie/M
Dixiecrat/M
Dixieland/SM
Dixon/M
+Django/M
Djibouti/M
Dmitri/M
Dnepr
@@ -3522,6 +3584,7 @@ Dortmund/M
Dosi/M
Dostoevsky/M
Dot/M
+Dothan/M
Dotson/M
Dottie/M
Dotty's
@@ -3561,6 +3624,7 @@ Dropbox/M
Dru/M
Drudge/M
Druid/M
+Drupal/M
Drusilla/M
Dryden/M
Dschubba/M
@@ -3572,6 +3636,7 @@ Dubcek/M
Dubhe/M
Dublin/M
Dubrovnik/M
+Dubuque/M
Duchamp/M
Dudley/M
Duff/M
@@ -3634,6 +3699,7 @@ Dyan/M
Dyer/M
Dylan/M
Dyna/M
+DynamoDB/M
Dyson/M
Dzerzhinsky/M
Dzungaria/M
@@ -3780,6 +3846,7 @@ Elaine/M
Elam/M
Elana/M
Elanor/M
+Elasticsearch/M
Elastoplast/M
Elayne/M
Elba/M
@@ -3787,6 +3854,7 @@ Elbe/M
Elbert/M
Elbrus/M
Elden/M
+Eldersburg/M
Eldin/M
Eldon/M
Eldredge/M
@@ -3823,7 +3891,9 @@ Elissa/M
Eliza/M
Elizabeth/M
Elizabethan/SM
+Elizabethtown/M
Elke/M
+Elkhart/M
Ella/M
Elle/M
Ellen/M
@@ -3873,6 +3943,7 @@ Elway/M
Elwin/M
Elwood/M
Elwyn/M
+Elyria/M
Elyse/M
Elysee/M
Elysian/M
@@ -3886,6 +3957,7 @@ Emanuele/M
Emeline/M
Emerson/M
Emery/M
+Emeryville/M
Emil/M
Emile/M
Emilia/M
@@ -3976,6 +4048,7 @@ Eris/MS
Eritrea/M
Eritrean/SM
Erl/M
+Erlang/M
Erlenmeyer/M
Erma/M
Erna/M
@@ -4069,12 +4142,14 @@ Eurasian/MS
Euripides/M
Eurodollar/SM
Europa/M
+Europaea/M
Europe/M
European/MS
Eurydice/M
Eustace/M
Eustachian/M
Eustacia/M
+Eustis/M
Euterpe/M
Ev/M
Eva/M
@@ -4164,11 +4239,14 @@ Fahd/M
Fahrenheit/M
Fairbanks/M
Fairfax
+Fairfield/M
+Fairhope/M
Fairleigh/M
Fairlie/M
Faisal/M
Faisalabad/M
Faith/M
+Fajardo/M
Falasha/M
Falkland/SM
Falklands/M
@@ -4187,6 +4265,7 @@ Farah/M
Fargo/M
Farley/M
Farmer/M
+Farmington/M
Farr/M
Farragut/M
Farrah/M
@@ -4217,6 +4296,7 @@ Fawkes/M
Fay/M
Faye/M
Fayette/M
+Fayetteville/M
Fayre/M
Fe/M
Feb/M
@@ -4301,18 +4381,21 @@ Finnbogadottir/M
Finnegan/M
Finnish/M
Fiona/M
+Firebase/M
Firefox/M
Firestone/M
Fischer/M
Fisher/M
Fisk/M
Fitch/M
+Fitchburg/M
Fitz/M
Fitzgerald/M
Fitzpatrick/M
Fitzroy/M
Fizeau/M
Fla
+Flagstaff/M
Flanagan/M
Flanders/M
Flathead
@@ -4438,6 +4521,7 @@ Frederic/M
Frederica/M
Frederich/M
Frederick/M
+Fredericksburg/M
Frederico/M
Fredericton/M
Frederik/M
@@ -4472,6 +4556,7 @@ Frieda/M
Friedan/M
Friederike/M
Friedman/M
+Friedmann/M
Friedrich
Friend/SM
Frigga/M
@@ -4497,6 +4582,7 @@ Fuchs/M
Fuentes/M
Fugger/M
Fuji/M
+Fujian/M
Fujitsu/M
Fujiwara/M
Fujiyama/M
@@ -4512,6 +4598,7 @@ Fulvia/M
Funafuti/M
Fundy/M
Furies/M
+Furman/M
Furtwangler/M
Furtwängler/M
Fushun/M
@@ -4524,6 +4611,7 @@ GATT/M
GB/M
GCC/M
GDP/M
+GDPR
GE/M
GED
GHQ/M
@@ -4574,6 +4662,7 @@ Gaia/M
Gail/M
Gaiman/M
Gaines/M
+Gainesville/M
Gainsborough/M
Galahad/SM
Galapagos/M
@@ -4621,9 +4710,11 @@ Ganesha/M
Ganges/M
Gangtok/M
Gannon/M
+Gansu/M
Gantry/M
Ganymede/M
Gap/M
+Garamond
Garbo/M
Garcia/M
Gard
@@ -4656,6 +4747,7 @@ Gasparo/M
Gasper/M
Gasser/M
Gaston/M
+Gastonia/M
Gastroenterology
Gates/M
Gatling/M
@@ -4813,6 +4905,7 @@ Gilligan/M
Gilly/M
Gilman
Gilmore/M
+Gilroy/M
Gina/M
Ginevra/M
Ginger/M
@@ -4906,6 +4999,7 @@ Goldie/M
Goldilocks/M
Golding/M
Goldman/M
+Goldsboro/M
Goldsmith/M
Goldwater/M
Goldwyn/M
@@ -4923,6 +5017,7 @@ Gonzalez/M
Gonzalo/M
Good/M
Goodall/M
+Goode/M
Goodman/M
Goodrich/M
Goodwill/M
@@ -4989,6 +5084,7 @@ Grata/M
Gratia/M
Graves/M
Gray/M
+Grayslake/M
Grazia/M
Grecian/M
Greece/M
@@ -5002,6 +5098,7 @@ Greenpeace/M
Greensboro/M
Greensleeves/M
Greenspan/M
+Greenville/M
Greenwich/M
Greer/M
Greg/M
@@ -5061,12 +5158,14 @@ Guadeloupe/M
Guallatiri/M
Guam/M
Guamanian
+Guangdong/M
Guangzhou/M
Guantanamo/M
Guarani/M
Guarnieri/M
Guatemala/M
Guatemalan/MS
+Guayama/M
Guayaquil/M
Gucci/M
Guelph/M
@@ -5089,10 +5188,12 @@ Guinean/MS
Guinevere/M
Guinness/M
Guiyang/M
+Guizhou/M
Guizot/M
Gujarat/M
Gujarati/M
Gujranwala/M
+Gulfport/M
Gullah/M
Gulliver/M
Gumbel/M
@@ -5133,6 +5234,7 @@ Gödel/M
Göteborg/M
H/M
HBO/M
+HBase/M
HDD
HDMI
HDTV
@@ -5157,6 +5259,7 @@ HTML/M
HTTP
HTTPS
HUD/M
+HVAC
Ha/M
Haas/M
Habakkuk/M
@@ -5166,12 +5269,14 @@ Hadar/M
Hades/M
Hadleigh/M
Hadley/M
+Hadoop/M
Hadria/M
Hadrian/M
Hafiz/M
Hagan/M
Hagar/M
Hagen
+Hagerstown/M
Haggai/M
Hagiographa/M
Hague/M
@@ -5179,6 +5284,7 @@ Hahn/M
Haida/SM
Haifa/M
Hailey/M
+Hainan/M
Haiphong/M
Haiti/M
Haitian/MS
@@ -5236,6 +5342,7 @@ Hancock/M
Handel/M
Handy/M
Haney/M
+Hanford/M
Hangul/M
Hangzhou/M
Hank/M
@@ -5271,6 +5378,7 @@ Harlem/M
Harlequin/M
Harley/M
Harlin/M
+Harlingen/M
Harlow/M
Harman/M
Harmon/M
@@ -5291,6 +5399,7 @@ Harriott/M
Harris/M
Harrisburg/M
Harrison/M
+Harrisonburg/M
Harrods/M
Harry/M
Hart/M
@@ -5319,6 +5428,7 @@ Hatsheput/M
Hatteras/M
Hatti/M
Hattie/M
+Hattiesburg/M
Hatty/M
Hauptmann/M
Hausa/M
@@ -5348,6 +5458,7 @@ Haywood/M
Hayworth/M
Hayyim/M
Hazel/M
+Hazleton/M
Hazlett/M
Hazlitt/M
He/M
@@ -5358,6 +5469,7 @@ Heather/M
Heaviside/M
Heb
Hebe/M
+Hebei/M
Hebert/M
Hebraic/M
Hebraism/SM
@@ -5380,6 +5492,7 @@ Heidegger/M
Heidelberg/M
Heidi/M
Heifetz/M
+Heilongjiang/M
Heimlich/M
Heine/M
Heineken/M
@@ -5395,6 +5508,7 @@ Helena/M
Helene/M
Helga/M
Helge/M
+Helicobacter
Helicon/M
Heliopolis/M
Helios/M
@@ -5414,7 +5528,9 @@ Helsinki/M
Helvetian
Helvetica
Helvetius/M
+Hemet/M
Hemingway/M
+Henan/M
Hench/M
Henderson/M
Hendrick/MS
@@ -5467,6 +5583,7 @@ Hernandez/M
Hernando/M
Herod/M
Herodotus/M
+Heroku/M
Herold/M
Herr/MG
Herrera/M
@@ -5489,6 +5606,7 @@ Herzegovina/M
Herzl/M
Heshvan/M
Hesiod/M
+Hesperia/M
Hesperus/M
Hess/M
Hesse/M
@@ -5515,6 +5633,7 @@ Hibernia/M
Hibernian
Hickman/M
Hickok/M
+Hickory/M
Hicks/M
Hieronymus/M
Higashiosaka
@@ -5522,6 +5641,7 @@ Higgins/M
Highlander/SM
Highlands
Highness/M
+Hightstown/M
Hilario/M
Hilary/M
Hilbert/M
@@ -5555,6 +5675,7 @@ Hinduism/SM
Hindustan/M
Hindustani/SM
Hines/M
+Hinesville/M
Hinton/M
Hinze/M
Hipparchus/M
@@ -5566,6 +5687,7 @@ Hirohito/M
Hiroshima/M
Hirsch/M
Hispanic/SM
+Hispanica/M
Hispaniola/M
Hiss/M
Hitachi/M
@@ -5604,6 +5726,7 @@ Holiday/M
Holiness
Holland/ZSMR
Hollander/M
+Hollandica/M
Hollerith/M
Holley/M
Hollie/M
@@ -5669,6 +5792,7 @@ Hotpoint/M
Hottentot/SM
Houdini/M
Houghton/M
+Houma/M
House/M
Housman/M
Houston/M
@@ -5688,6 +5812,7 @@ Hts
Huang/M
Hubbard/M
Hubble/M
+Hubei/M
Huber/M
Hubert/M
Huck/M
@@ -5713,10 +5838,12 @@ Humberto/M
Humboldt/M
Hume/M
Humfrey/M
+Hummel/M
Hummer/M
Humphrey/SM
Humvee/M
Hun/SM
+Hunan/M
Hung/M
Hungarian/SM
Hungary/M
@@ -5726,6 +5853,7 @@ Hunter/M
Huntington/M
Huntley/M
Huntsville/M
+Hurd/M
Hurley/M
Huron/M
Hurst/M
@@ -5760,6 +5888,7 @@ I'm
I've
I/M
IA
+IANAL
IBM/M
ICBM/SM
ICC
@@ -5769,6 +5898,7 @@ IDE
IE
IED
IEEE
+IIRC
IKEA/M
IL
IMDb/M
@@ -5792,7 +5922,7 @@ IRS/M
ISBN
ISIS
ISO/M
-ISP
+ISP/SM
ISS
IT
IUD
@@ -5873,6 +6003,7 @@ Indianan/SM
Indianapolis/M
Indianian
Indies/M
+Indio/M
Indira/M
Indochina/M
Indochinese/M
@@ -5957,6 +6088,7 @@ Isa
Isaac/M
Isaak/M
Isabel/M
+Isabela/M
Isabella/M
Isabelle/M
Isadora/M
@@ -5979,6 +6111,7 @@ Isis/M
Islam/MS
Islamabad/M
Islamic/M
+Islamica/M
Islamism/M
Islamist/M
Islamophobia
@@ -5999,6 +6132,7 @@ Isuzu/M
It
Itaipu/M
Ital
+Italia/M
Italian/SM
Italianate
Italy/M
@@ -6034,6 +6168,7 @@ JD
JFK/M
JP
JPEG/SM
+JSON
JV
Jabez/M
Jacinta/M
@@ -6097,6 +6232,7 @@ Jane/M
Janek/M
Janell/M
Janelle/M
+Janesville/M
Janet/M
Janette/M
Janey/M
@@ -6231,6 +6367,8 @@ Jewess/MS
Jewish/PM
Jewry/M
Jezebel/SM
+Jiangsu/M
+Jiangxi/M
Jidda/M
Jilin/M
Jill/M
@@ -6286,6 +6424,7 @@ Johnny/M
Johns/M
Johnson/M
Johnston/M
+Johnstown/M
Jojo/M
Jolene/M
Joli/M
@@ -6301,6 +6440,7 @@ Jonathan/M
Jonathon/M
Jone/SM
Jones/M
+Jonesboro/M
Joni/M
Jonson/M
Joplin/M
@@ -6424,10 +6564,12 @@ Kafkaesque/M
Kagoshima/M
Kahlil/M
Kahlua/M
+Kahului/M
Kai/M
Kaia/M
Kaifeng/M
Kaila/M
+Kailua/M
Kain/M
Kaine/M
Kaiser/MS
@@ -6457,7 +6599,9 @@ Kandahar/M
Kandinsky/M
Kandy
Kane/M
+Kaneohe/M
Kania/M
+Kankakee/M
Kannada/M
Kano/M
Kanpur/M
@@ -6600,8 +6744,10 @@ Kennan/M
Kennedy/M
Kenneth/M
Kennett/M
+Kennewick/M
Kennith/M
Kenny/M
+Kenosha/M
Kent/M
Kenton/M
Kentuckian/MS
@@ -6648,6 +6794,7 @@ Kharkov/M
Khartoum/M
Khayyam/M
Khazar/M
+Khazarica/M
Khmer/M
Khoikhoi/M
Khoisan/M
@@ -6672,6 +6819,7 @@ Kile/M
Kiley/M
Kilian/M
Kilimanjaro/M
+Killeen/M
Killian/M
Kilroy/M
Kim/M
@@ -6684,6 +6832,7 @@ Kimmy/M
Kincaid/M
King/M
Kingsley
+Kingsport/M
Kingston/M
Kingstown/M
Kinko/M
@@ -6713,6 +6862,7 @@ Kirsten/M
Kisangani/M
Kishinev/M
Kislev/M
+Kissimmee/M
Kissinger/M
Kit/M
Kitakyushu/M
@@ -6760,6 +6910,7 @@ Kohinoor/M
Kohl/M
Koizumi/M
Kojak/M
+Kokomo/M
Kolyma/M
Kommunizma/M
Kong/M
@@ -6785,6 +6936,7 @@ Kosciusko/M
Kosovo/M
Kossuth/M
Kosygin/M
+Kotlin/M
Koufax/M
Kowloon/M
Kr/M
@@ -6825,6 +6977,7 @@ Krystal/M
Krystyna/M
Kshatriya/M
Kuala/M
+Kubernetes/M
Kublai/M
Kubrick/M
Kuhn/M
@@ -6892,6 +7045,7 @@ Labradorean
Labradorian
Lacey/M
Lachesis/M
+Lactobacillus
Lacy/M
Ladoga/M
Ladonna/M
@@ -6908,6 +7062,7 @@ Lainey/M
Laius/M
Lajos/M
Lakeisha/M
+Lakeland/M
Lakers/M
Lakewood
Lakisha/M
@@ -6957,6 +7112,7 @@ Laocoon/M
Laos/M
Laotian/SM
Laplace/M
+Laplacian
Lapland/MR
Lapp/SM
Lara/M
@@ -6982,6 +7138,7 @@ Latham/M
Latin/MRS
Latina
Latino/SM
+Latinx
Latisha/M
Latonya/M
Latoya/M
@@ -7052,6 +7209,7 @@ Lee/M
Leeds/M
Leela/M
Leena/M
+Leesburg/M
Leese/M
Leeuwenhoek/M
Leeward/M
@@ -7099,6 +7257,7 @@ Lent/SMN
Lenten/M
Leo/SM
Leola/M
+Leominster/M
Leon/M
Leona/M
Leonard/M
@@ -7157,6 +7316,8 @@ Lew/M
Lewes
Lewinsky/M
Lewis/M
+Lewiston/M
+Lewisville/M
Lexi/M
Lexie/M
Lexington/M
@@ -7173,6 +7334,7 @@ Lian/M
Liana/M
Liane/M
Lianne/M
+Liaoning/M
Libbey/M
Libbie/M
Libby/M
@@ -7274,6 +7436,7 @@ Little/M
Litton/M
Liv/M
LiveJournal/M
+Livermore/M
Liverpool/M
Liverpudlian/SM
Livia/M
@@ -7301,6 +7464,7 @@ Lockean/M
Lockheed/M
Lockwood/M
Lodge/M
+Lodi/M
Lodovico/M
Lodz/M
Loewe/M
@@ -7321,14 +7485,17 @@ Lombard/M
Lombardi/M
Lombardy/M
Lome/M
+Lompoc/M
Lon/M
Lona/M
London/MRZ
Londoner/M
Long/M
Longfellow/M
+Longmont/M
Longstreet/M
Longueuil
+Longview/M
Loni/M
Lonnie/M
Lonny/M
@@ -7345,6 +7512,7 @@ Loren/M
Lorena/M
Lorene/M
Lorentz/M
+Lorentzian
Lorenz/M
Lorenza/M
Lorenzo/M
@@ -7485,6 +7653,7 @@ Lyman/M
Lyme/M
Lyn/M
Lynch/M
+Lynchburg/M
Lynda/M
Lynde/M
Lyndon/M
@@ -7509,6 +7678,7 @@ MBA/M
MC
MCI/M
MD/M
+MDF
MDT
ME
MEGO/S
@@ -7586,6 +7756,7 @@ Madeleine/M
Madeline/M
Madelon/M
Madelyn/M
+Madera/M
Madge/M
Madison/M
Madonna/SM
@@ -7608,6 +7779,7 @@ Maggy/M
Maghreb/M
Magi
Maginot/M
+Magnificat
Magnitogorsk/M
Magog/M
Magoo/M
@@ -7718,6 +7890,7 @@ Mandarin/M
Mandel/M
Mandela/M
Mandelbrot/M
+Mandeville/M
Mandi/M
Mandie/M
Mandingo/M
@@ -7731,6 +7904,7 @@ Manichean/M
Manila/SM
Manitoba/M
Manitoulin/M
+Mankato/M
Manley/M
Mann/GM
Mannheim/M
@@ -7742,6 +7916,7 @@ Manolo/M
Manon/M
Mansfield/M
Manson/M
+Manteca/M
Mantegna/M
Mantle/M
Manuel/M
@@ -7809,6 +7984,7 @@ Marguerite/M
Margy/M
Mari/SM
Maria/M
+MariaDB/M
Mariam/M
Marian/M
Mariana/SM
@@ -7924,6 +8100,7 @@ Marylander/M
Marylin/M
Marylou/M
Marys
+Marysville/M
Masada/M
Masai/M
Masaryk/M
@@ -7951,6 +8128,7 @@ Mateo/M
MathML/M
Mathe/MR
Mather/M
+Matheson/M
Mathew/SM
Mathews/M
Mathewson/M
@@ -7962,6 +8140,7 @@ Matias/M
Matilda/M
Matilde/M
Matisse/M
+Matlab/M
Matt/M
Mattel/M
Matteo/M
@@ -7979,6 +8158,7 @@ Maude/M
Maudie/M
Maugham/M
Maui/M
+Mauldin/M
Maupassant/M
Maura/M
Maureen/M
@@ -8033,6 +8213,7 @@ Mbini/M
Mbps
McAdam/M
McAfee/M
+McAllen/M
McBride/M
McCain/M
McCall/M
@@ -8061,8 +8242,10 @@ McGovern/M
McGowan/M
McGuffey/M
McGuire/M
+McHenry/M
McIntosh/M
McIntyre/M
+McJob
McKay/M
McKee/M
McKenzie/M
@@ -8094,6 +8277,7 @@ Mecca/MS
Medan/M
Medea/M
Medellin/M
+Medford/M
Media/M
Medicaid/SM
Medicare/SM
@@ -8145,6 +8329,7 @@ Melva/M
Melville/M
Melvin/M
Melvyn/M
+Memcached/M
Memling/M
Memphis/M
Menander/M
@@ -8162,6 +8347,7 @@ Menelaus/M
Menelik/M
Menes/M
Mengzi
+Menifee/M
Menkalinan/M
Menkar/M
Menkent/M
@@ -8178,6 +8364,7 @@ Mephistopheles/M
Merak/M
Mercado/M
Mercator/M
+Merced/M
Mercedes/M
Mercer/M
Merci/M
@@ -8278,6 +8465,7 @@ Micronesian/M
Microsoft/M
Midas/M
Middleton/M
+Middletown/M
Mideast
Mideastern
Midland/MS
@@ -8318,6 +8506,7 @@ Milosevic/M
Milquetoast/M
Miltiades/M
Milton/M
+Miltonian
Miltonic/M
Miltown/M
Milwaukee/M
@@ -8379,6 +8568,7 @@ Missie/M
Mississauga/M
Mississippi/M
Mississippian/SM
+Missoula/M
Missouri/M
Missourian/MS
Missy/M
@@ -8454,11 +8644,14 @@ Monday/SM
Mondrian/M
Monegasque/SM
Monera/M
+Monessen/M
Monet/M
+MongoDB/M
Mongol/SM
Mongolia/M
Mongolian/SM
Mongolic/M
+Mongolica/M
Mongoloid
Monica/M
Monika/M
@@ -8481,6 +8674,7 @@ Montcalm/M
Monte/M
Montenegrin/M
Montenegro/M
+Monterey/M
Monterrey/M
Montesquieu/M
Montessori/M
@@ -8518,6 +8712,7 @@ Moreno/M
Morey/M
Morgan/SM
Morgana/M
+Morgantown/M
Morgen/M
Moria/M
Moriarty/M
@@ -8538,6 +8733,7 @@ Morphy/M
Morrie/M
Morris/M
Morrison/M
+Morristown/M
Morrow/M
Morse/M
Mort/MN
@@ -8601,6 +8797,7 @@ Mumbai/M
Mumford/M
Munch/M
Munchhausen/M
+Muncie/M
Munich/M
Munoz/M
Munro/M
@@ -8613,12 +8810,14 @@ Murchison/M
Murcia
Murdoch/M
Murdock/M
+Murfreesboro/M
Muriel/M
Murillo/M
Murine/M
Murmansk/M
Murphy/M
Murray/M
+Murrieta/M
Murrow/M
Murrumbidgee/M
Murry/M
@@ -8628,6 +8827,7 @@ Muscovy/M
Muse/M
Musharraf/M
Musial/M
+Muskegon/M
Muskogee/M
Muslim/MS
Mussolini/M
@@ -8699,6 +8899,7 @@ NSPR/M
NSS/M
NT
NV
+NVIDIA/M
NW/M
NWT
NY
@@ -8728,6 +8929,7 @@ Nam/M
Namath/M
Namibia/M
Namibian/MS
+Nampa/M
Nan/M
Nana/M
Nanak/M
@@ -8823,6 +9025,7 @@ Ned/M
Neda/M
Nedda/M
Neddy/M
+Nederland/SM
Neel/M
Neely/M
Nefertiti/M
@@ -8848,6 +9051,7 @@ Nelsen/M
Nelson/M
Nembutal/M
Nemesis/M
+Neo/M
Neogene/M
Neolithic
Nepal/M
@@ -8888,6 +9092,7 @@ Nevin/MS
Nevis/M
Nevsky/M
Newark/M
+Newburgh/M
Newcastle/M
Newfoundland/MRS
Newman/M
@@ -8912,6 +9117,7 @@ Nicaraguan/SM
Niccolo/M
Nice/M
Nicene/M
+Nicephori/M
Nichiren/M
Nichol/SM
Nicholas/M
@@ -8947,6 +9153,7 @@ Nigel/M
Niger/M
Nigeria/M
Nigerian/MS
+Nigeriana/M
Nigerien/M
Nightingale/M
Nijinsky/M
@@ -9018,6 +9225,7 @@ Noreen/M
Norfolk/M
Noriega/M
Norma/M
+Normal/M
Norman/MS
Normand/M
Normandy/M
@@ -9101,6 +9309,7 @@ OHSA/M
OJ
OK/SMDG
OMB/M
+OMG
ON
OPEC/M
OR
@@ -9124,6 +9333,8 @@ Obed/M
Oberlin/M
Oberon/M
Obie
+Ocala/M
+Ocaml/M
Occam/M
Occident
Occidental/MS
@@ -9252,6 +9463,7 @@ Oreg
Oregon/M
Oregonian/SM
Orel
+Orem/M
Oren/M
Oreo/M
Orestes/M
@@ -9316,11 +9528,13 @@ Ottawa/SM
Ottilie/M
Otto/M
Ottoman/M
+Ottomana/M
Ouagadougou/M
Ouija/MS
Ovid/M
Owen/SM
Owens/M
+Owensboro/M
Oxford/SM
Oxley/M
Oxnard/M
@@ -9354,12 +9568,15 @@ PET/M
PFC
PG
PGP
+PHP/M
PIN
PJ's
PLO/M
PM/SMDG
PMS/M
+PNG/SM
PO
+POTUS/M
POW/M
PP
PPS
@@ -9416,6 +9633,7 @@ Palikir/M
Palin/M
Palisades/M
Palladio/M
+Palmdale/M
Palmer/M
Palmerston/M
Palmolive/M
@@ -9462,6 +9680,7 @@ Parisian/MS
Park/SMR
Parke/M
Parker/M
+Parkersburg/M
Parkinson/M
Parkinsonism
Parkman/M
@@ -9480,8 +9699,10 @@ Parsons/M
Parthenon/M
Parthia/M
Pasadena/M
+Pascagoula/M
Pascal/SM
Pascale/M
+Pasco/M
Pasquale/M
Passion/SM
Passover/MS
@@ -9632,6 +9853,7 @@ Peruvian/MS
Peshawar/M
Peta/M
Petain/M
+Petaluma/M
Pete/RMZ
Peter/M
Peterborough/M
@@ -9646,6 +9868,7 @@ Petronella/M
Petronilla/M
Petty/M
Peugeot/M
+Peyronie's
Peyton/M
Pfc
Pfizer/M
@@ -9746,7 +9969,9 @@ Pitt/SM
Pittman/M
Pitts/M
Pittsburgh/M
+Pittsfield/M
Pius/M
+Pixar/M
Pizarro/M
Pkwy
Pl
@@ -9777,6 +10002,7 @@ Plymouth/M
Pm/M
Po/M
Pocahontas/M
+Pocatello/M
Pocono/SM
Poconos/M
Podgorica/M
@@ -9807,6 +10033,7 @@ Pollux/M
Polly/M
Pollyanna/M
Polo/M
+Polska
Poltava/M
Polyhymnia/M
Polynesia/M
@@ -9837,6 +10064,7 @@ Porrima/M
Porsche/M
Port/MR
Porter/M
+Porterville/M
Portia/M
Portland/M
Porto/M
@@ -9853,6 +10081,8 @@ Potsdam/M
Pottawatomie/M
Potter/M
Potts/M
+Pottstown/M
+Poughkeepsie/M
Poul/M
Pound/M
Poussin/M
@@ -9867,6 +10097,7 @@ Pr/M
Prada/M
Prado/M
Praetorian/M
+Praetoriana/M
Prague/M
Praia/M
Prakrit/M
@@ -9891,6 +10122,7 @@ Pretoria/M
Priam/M
Pribilof/M
Price/M
+Priceline/M
Priestley/M
Prince/M
Princeton/M
@@ -9983,6 +10215,7 @@ Putin/M
Putnam/M
Puzo/M
Pvt
+PyTorch/M
Pygmalion/M
Pygmy/SM
Pyle/M
@@ -10012,11 +10245,13 @@ Qantas/M
Qatar/M
Qatari/MS
Qingdao/M
+Qinghai/M
Qiqihar/M
Qom/M
Quaalude/M
Quaker/MS
Quakerism/SM
+Qualcomm/M
Quaoar/M
Quasimodo/M
Quaternary/M
@@ -10070,6 +10305,7 @@ RCA/M
RCMP
RD
RDA
+RDS/M
REIT
REM/SM
RF
@@ -10104,6 +10340,7 @@ Rachel/M
Rachelle/M
Rachmaninoff/M
Racine/M
+Radcliff/M
Radcliffe/M
Rae/M
Raf/M
@@ -10203,17 +10440,20 @@ Realtor/M
Reasoner/M
Reba/M
Rebeca/M
-Rebecca's
+Rebecca/M
Rebecka/M
Rebekah/M
Recife/M
Reconstruction/M
Red/SM
-Redd/M
+Redd/GM
+Redding/M
Redeemer/M
Redford/M
Redgrave/M
+Redis/M
Redmond/M
+Redshift/M
Ree/DSM
Reebok/M
Reece/M
@@ -10382,7 +10622,7 @@ Riva/SM
Rivas/M
Rivera/M
Rivers/M
-Riverside
+Riverside/M
Riviera/MS
Riyadh/M
Rizal/M
@@ -10481,6 +10721,7 @@ Rom
Roma/M
Romain/M
Roman/MS
+Romana/M
Romanesque/MS
Romania/M
Romanian/MS
@@ -10668,6 +10909,7 @@ SASE
SAT
SBA
SC/M
+SCOTUS/M
SCSI/M
SD
SDI
@@ -10681,6 +10923,8 @@ SJ
SJW
SK
SLR
+SME/SM
+SMEs/M
SNP/SM
SO/S
SOB/M
@@ -10690,10 +10934,12 @@ SOSes
SPCA
SPF
SQL
+SQLite/M
SRO
SS
SSA
SSE/M
+SSN
SSS
SST
SSW/M
@@ -10757,6 +11003,7 @@ Salazar/M
Saleem/M
Salem/M
Salerno/M
+Salesforce/M
Salim/M
Salinas/M
Salinger/M
@@ -10917,6 +11164,7 @@ Schindler/M
Schlesinger/M
Schliemann/M
Schlitz/M
+Schloss/M
Schmidt/M
Schnabel/M
Schnauzer/M
@@ -10985,10 +11233,12 @@ Seagram/M
Seamus/M
Sean/M
Sears/M
+Seaside/M
Seattle/M
Sebastian/M
Sebastiano/M
Sebastien/M
+Sebring/M
Sec
Seconal/M
Secretariat/M
@@ -11001,6 +11251,7 @@ Sega/M
Segovia/M
Segre/M
Segundo/M
+Segway/S
Seiko/M
Seine/M
Seinfeld/M
@@ -11076,6 +11327,7 @@ Seychelles/M
Seyfert/M
Seymour/M
Sgt
+Shaanxi/M
Shackleton/M
Shaffer/M
Shah/M
@@ -11086,6 +11338,7 @@ Shakespearean/M
Shalom's
Shamus/M
Shana/M
+Shandong/M
Shandy/M
Shane/M
Shanghai/M
@@ -11095,6 +11348,7 @@ Shanna/M
Shannon/M
Shanta/M
Shantung/M
+Shanxi/M
Shapiro/M
Shara/M
SharePoint/M
@@ -11124,6 +11378,7 @@ Shcharansky/M
Shea/M
Sheba/M
Shebeli/M
+Sheboygan/M
Sheela/M
Sheena/M
Sheetrock/M
@@ -11211,6 +11466,7 @@ Sibley/M
Sibyl/M
Sibylla/M
Sibylle/M
+Sichuan/M
Sicilian/SM
Sicily/M
Sid/M
@@ -11257,6 +11513,7 @@ Simona/M
Simone/M
Simpson/SM
Simpsons/M
+Simpsonville/M
Sims/M
Sinai/M
Sinatra/M
@@ -11270,6 +11527,7 @@ Singer/M
Singh/M
Singleton/M
Sinhalese/M
+Sinica/M
Sinkiang/M
Siobhan/M
Sioux/M
@@ -11301,6 +11559,7 @@ Slater/M
Slav/SM
Slavic/M
Slavonic/M
+Slidell/M
Slinky/M
Sloan/M
Sloane/M
@@ -11340,6 +11599,7 @@ Snowl/M
Snyder/M
Soave/M
Soc
+Socastee/M
Socorro/M
Socrates/M
Socratic/M
@@ -11397,6 +11657,7 @@ Southey/M
Souths
Southwest/MS
Soviet/M
+Sovietica/M
Soweto/M
Soyinka/M
Soyuz/M
@@ -11415,6 +11676,7 @@ Sparks/M
Sparta/M
Spartacus/M
Spartan/MS
+Spartanburg/M
Spears/M
Speer/M
Spence/RM
@@ -11438,6 +11700,7 @@ Spitsbergen/M
Spitz/M
Spock/M
Spokane/M
+Springdale/M
Springfield/M
Springsteen/M
Sprint/M
@@ -11487,6 +11750,7 @@ Staten/M
States
Stateside
Staubach/M
+Staunton/M
Stavros
Ste
Steadicam/M
@@ -11520,6 +11784,7 @@ Sterne/M
Sterno/M
Stetson/M
Steuben/M
+Steubenville/M
Steve/M
Steven/MS
Stevens/M
@@ -11601,6 +11866,7 @@ Sumatra/M
Sumatran/SM
Sumeria/M
Sumerian/SM
+Sumerica/M
Summer/MS
Summers/M
Sumner/M
@@ -11619,6 +11885,7 @@ Sunni/SM
Sunnite/MS
Sunny's
Sunnyvale/M
+Suomi/M
Superbowl/M
Superfund/M
Superglue/M
@@ -11698,6 +11965,7 @@ Syracuse/M
Syria/M
Syriac/M
Syrian/MS
+Syriana/M
Szilard/M
Szymborska/M
Sèvres/M
@@ -11719,6 +11987,8 @@ TEirtza/M
TGIF
THC
THz/M
+TIF/SM
+TIFF/SM
TKO/M
TLC/M
TM
@@ -11845,6 +12115,7 @@ Tate/M
Tatiana/M
Tatum/M
Taurus/MS
+Tavares/M
Tawney/M
Taylor/M
Tb/M
@@ -11875,14 +12146,18 @@ Teletype
Tell/MR
Teller/M
Telugu/M
+Temecula/M
Tempe
Templar/M
+Temple/M
Templeton/M
Tenn/M
Tennessean/SM
Tennessee/M
Tennyson/M
+Tennysonian
Tenochtitlan/M
+TensorFlow/M
Teodor/M
Teodora/M
Teodoro/M
@@ -11923,6 +12198,7 @@ Tevet/M
Tex/M
Texaco/M
Texan/MS
+Texarkana/M
Texas/M
Th/M
Thacher/M
@@ -12072,6 +12348,7 @@ Titian/M
Titicaca/M
Tito/M
Titus/M
+Titusville/M
Tl/M
Tlaloc/M
Tlingit/M
@@ -12270,6 +12547,7 @@ Turkey/M
Turkic/MS
Turkish/M
Turkmenistan/M
+Turlock/M
Turner/M
Turpin/M
Tuscaloosa/M
@@ -12382,6 +12660,7 @@ Unicode/M
Unilever/M
Union/SM
Unionist
+Uniontown/M
Uniroyal/M
Unitarian/MS
Unitarianism/MS
@@ -12420,6 +12699,7 @@ Uta/M
Utah/M
Utahan/MS
Ute/SM
+Utica/M
Utopia/SM
Utopian/SM
Utrecht/M
@@ -12432,6 +12712,7 @@ VA
VAT/M
VAX
VAXes
+VBA/M
VCR/M
VD/M
VDT
@@ -12452,6 +12733,7 @@ VP
VT
VTOL
Va/M
+Vacaville/M
Vachel/M
Vaclav/M
Vader/M
@@ -12461,6 +12743,7 @@ Val/M
Valarie/M
Valdemar/M
Valdez/M
+Valdosta/M
Valencia/SM
Valenti/M
Valentia/M
@@ -12478,7 +12761,7 @@ Valhalla/M
Valium/MS
Valkyrie/SM
Valle/M
-Vallejo
+Vallejo/M
Valletta/M
Valli/M
Valois/M
@@ -12585,6 +12868,7 @@ Victor/M
Victoria/M
Victorian/MS
Victorianism
+Victorville/M
Victrola/M
Vida/M
Vidal/M
@@ -12600,8 +12884,9 @@ Vijayawada/M
Viking/MS
Vikki/M
Vila/M
-Villa/M
+Villa/SM
Villarreal/M
+Villas/M
Villon/M
Vilma/M
Vilnius/M
@@ -12611,6 +12896,7 @@ Vina/M
Vince/M
Vincent/M
Vindemiatrix/M
+Vineland/M
Vinnie/M
Vinny/M
Vinson/M
@@ -12628,6 +12914,7 @@ Virginie/M
Virgo/SM
Visa/M
Visakhapatnam/M
+Visalia/M
Visayans/M
Vishnu/M
Visigoth/M
@@ -12689,6 +12976,7 @@ WMD
WNW/M
WP
WSW/M
+WTF
WTO
WV
WW
@@ -12720,7 +13008,8 @@ Waldo/M
Waldorf/M
Wales/M
Walesa/M
-Walgreen/M
+Walgreen/SM
+Walgreens/M
Walker/M
Walkman/M
Wall/SMR
@@ -12768,19 +13057,23 @@ Waterford/M
Watergate/M
Waterloo/MS
Waters/M
+Watertown/M
Watkins/M
Watson/M
+Watsonville/M
Watt/SM
Watteau/M
Watts/M
Watusi/M
Waugh/M
+Wausau/M
Wave
Waverley/M
Waverly/M
Wayland/M
Waylon/M
Wayne/M
+Waynesboro/M
Weave/RM
Weaver/M
Web/MR
@@ -12800,6 +13093,7 @@ Weider/M
Weierstrass/M
Weill/M
Weinberg/M
+Weirton/M
Weiss/M
Weissmuller/M
Weizmann/M
@@ -12814,6 +13108,7 @@ Welsh/M
Welshman/M
Welshmen/M
Welshwoman
+Wenatchee/M
Wendel/M
Wendell/M
Wendi/M
@@ -12910,7 +13205,9 @@ Willey/M
Willi/MS
William/SM
Williams/M
+Williamsburg/M
Williamson/M
+Williamsport/M
Willie/M
Willis/M
Willy/M
@@ -12980,6 +13277,7 @@ Wood/SM
Woodard/M
Woodhull/M
Woodie/M
+Woodland/M
Woodrow/M
Woods/M
Woodstock/M
@@ -13028,6 +13326,8 @@ X/M
XBL/M
XEmacs/M
XL/M
+XLS/SM
+XLSX/SM
XML
XPCOM/M
XPConnect/M
@@ -13036,6 +13336,7 @@ XS
XUL/M
XULRunner/M
XXL
+Xamarin/M
Xanadu/M
Xanax/M
Xanthippe/M
@@ -13055,7 +13356,9 @@ Xiaoping/M
Ximenes/M
Ximenez/M
Xingu/M
+Xinjiang/M
Xiongnu/M
+Xizang/M
Xmas/MS
Xochipilli/M
Xuzhou/M
@@ -13096,6 +13399,7 @@ Yaroslavl/M
Yasmin/M
Yataro/M
Yates/M
+Yauco/M
Yb/M
Yeager/M
Yeats/M
@@ -13211,6 +13515,7 @@ Zenger/M
Zenia/M
Zeno/M
Zephaniah/M
+Zephyrhills/M
Zephyrus/M
Zeppelin/M
Zest/M
@@ -13218,6 +13523,7 @@ Zeus/M
Zhang/M
Zhao/M
Zhdanov
+Zhejiang/M
Zhengzhou/M
Zhivago/M
Zhou/M
@@ -13499,7 +13805,7 @@ accordion/MS
accordionist/MS
accost/GMDS
account/MDSBG
-accountability/M
+accountability/SM
accountable/U
accountancy/M
accountant/MS
@@ -13512,7 +13818,8 @@ accoutrements
accredit/SGD
accreditation/M
accredited/U
-accretion/MS
+accrete/NDSX
+accretion/M
accrual/MS
accrue/GDS
acct
@@ -13539,6 +13846,8 @@ acerbate/DSG
acerbic
acerbically
acerbity/M
+acetabular
+acetabulum
acetaminophen/M
acetate/MS
acetic
@@ -13548,6 +13857,7 @@ acetyl
acetylene/M
ache/DSMG
achene/MS
+achievable/U
achieve/BLZGDRS
achievement/SM
achiever/M
@@ -13653,6 +13963,7 @@ adaptability/M
adaptation/MS
adapter/M
adaption/S
+add-on/S
add/SDRBZG
addend/MS
addenda
@@ -13754,6 +14065,7 @@ adoption/SM
adorableness/M
adorably
adoration/M
+adorbs
adore/BZGDRS
adorer/M
adoring/Y
@@ -13882,6 +14194,7 @@ affiliate/EGNDS
affiliated/U
affiliation/EM
affiliations
+affine
affinity/SM
affirm/AGDS
affirmation/AMS
@@ -13895,6 +14208,7 @@ affluent/Y
afford/GDSB
affordability
affordably
+affordance/S
afforest/EGSD
afforestation/M
affray/MS
@@ -13947,6 +14261,7 @@ ageless/YP
agelessness/M
agency/SM
agenda/SM
+agenesis
agent/AMS
ageratum/M
agglomerate/DSMGNX
@@ -14083,6 +14398,7 @@ ajar
aka
akimbo
akin
+al/YV
alabaster/M
alack
alacrity/M
@@ -14112,7 +14428,7 @@ alderman/M
aldermen
alderwoman/M
alderwomen
-ale/SMV
+ale/SM
aleatory
alehouse/SM
alembic/SM
@@ -14266,6 +14582,7 @@ altruistic
altruistically
alum/SM
alumina/M
+aluminize/D
aluminum/M
alumna/M
alumnae
@@ -14350,14 +14667,18 @@ amiably
amicability/M
amicable
amicably
+amici
+amicus
amid
amide/MS
amidship/S
amidst
amigo/MS
+amine/S
amino
amir/SM
amiss
+amitriptyline
amity/M
ammeter/SM
ammo/M
@@ -14416,7 +14737,9 @@ amulet/MS
amuse/LGDS
amusement/MS
amusing/Y
+amygdala
amylase/M
+amyloid
an/CS
anabolism/M
anachronism/SM
@@ -14441,7 +14764,7 @@ analysand/MS
analyses/A
analysis/AM
analyst/SM
-analytic
+analytic/S
analytical/Y
analyticalally
analyzable
@@ -14449,6 +14772,9 @@ analyze/ADSG
analyzer/SM
anapest/SM
anapestic/MS
+anaphylactic
+anaphylaxes
+anaphylaxis
anarchic
anarchically
anarchism/M
@@ -14533,6 +14859,7 @@ angularity/SM
angulation
anhydrous
aniline/M
+anilingus
animadversion/MS
animadvert/GSD
animal/MS
@@ -14587,6 +14914,7 @@ annular
annulled
annulling
annulment/SM
+annulus
annunciation/SM
anode/MS
anodize/GDS
@@ -14680,8 +15008,11 @@ anticyclone/SM
anticyclonic
antidemocratic
antidepressant/MS
+antiderivative/S
antidote/MS
+antifa
antifascist/MS
+antiferromagnetic
antifreeze/M
antigen/SM
antigenic
@@ -14698,6 +15029,8 @@ antimatter/M
antimicrobial
antimissile
antimony/M
+antineutrino/SM
+antineutron/MS
antinuclear
antioxidant/MS
antiparticle/SM
@@ -14714,6 +15047,7 @@ antipodean/MS
antipodes/M
antipollution
antipoverty
+antiproton/MS
antiquarian/SM
antiquarianism/M
antiquary/SM
@@ -15095,6 +15429,7 @@ arras/MS
array/EGMDS
arrears/M
arrest/AGMDS
+arrestee/S
arrhythmia/M
arrhythmic
arrhythmical
@@ -15123,6 +15458,7 @@ artful/PY
artfulness/M
arthritic/MS
arthritis/M
+arthroplasty
arthropod/MS
arthroscope/SM
arthroscopic
@@ -15144,6 +15480,8 @@ artilleryman/M
artillerymen
artiness/M
artisan/MS
+artisanal/Y
+artisanship/S
artist/MS
artiste/MS
artistic/I
@@ -15212,6 +15550,7 @@ aspidistra/MS
aspirant/MS
aspirate/MGNDSX
aspiration/M
+aspirational/Y
aspirator/SM
aspire/GDS
aspirin/MS
@@ -15260,8 +15599,9 @@ assigner/MS
assignment/AMS
assignor/MS
assimilate/DSGN
+assimilated/U
assimilation/M
-assist/GMDS
+assist/GVMDS
assistance/M
assistant/SM
assisted/U
@@ -15272,9 +15612,11 @@ associate's
associate/EDSGNV
association/EM
associations
+associativity
assonance/M
assonant/MS
assort/GLDS
+assortative
assortment/MS
asst
assuage/GDS
@@ -15334,6 +15676,7 @@ asymmetric
asymmetrical/Y
asymmetry/SM
asymptomatic
+asymptote/S
asymptotic
asymptotically
asynchronicity
@@ -15491,8 +15834,7 @@ auspiciousness/M
austere/RYT
austerity/SM
austral
-auteur's
-auteurs
+auteur/SM
authentic/IU
authentically
authenticate/XGNDS
@@ -15587,6 +15929,7 @@ avidity/M
avionic/S
avionics/M
avitaminosis/M
+avo/S
avocado/SM
avocation/MS
avocational
@@ -15594,6 +15937,7 @@ avoid/SDGB
avoidable/U
avoidably/U
avoidance/M
+avoidant
avoirdupois/M
avouch/DSG
avow/EDGS
@@ -15706,6 +16050,7 @@ backhoe/MS
backing/M
backlash/MS
backless
+backlit
backlog/MS
backlogged
backlogging
@@ -15726,8 +16071,11 @@ backslide/RSZG
backslider/M
backspace/DSMG
backspin/M
+backsplash/S
+backstab/S
backstabber/MS
backstabbing
+backstabby
backstage/M
backstair/S
backstop/SM
@@ -15759,6 +16107,7 @@ bacteriologist/SM
bacteriology/M
bacterium/M
bad/MYP
+badass/S
badder
baddest
baddie/M
@@ -15828,6 +16177,8 @@ baleful/PY
balefulness/M
baler/M
balk/SGMD
+balkanization
+balkanize/GDS
balky/RT
ball/SGMD
ballad/SM
@@ -15869,6 +16220,7 @@ ban/SM
banal/Y
banality/SM
banana/SM
+banc/S
band's
band/ESGD
bandage/DSMG
@@ -15935,7 +16287,7 @@ baptize/ZGDRS
baptized/U
baptizer/M
bar's
-bar/ECUTS
+bar/ECAUTS
barb/SZGMDR
barbacoa
barbarian/SM
@@ -15956,6 +16308,7 @@ barbie/S
barbiturate/SM
barbwire/M
barcarole/SM
+barcode/GDS
bard/SM
bardic
bare/DRSPYG
@@ -16051,6 +16404,7 @@ bashing/M
basic/MS
basically
basil/M
+basilar
basilica/MS
basilisk/MS
basin/MS
@@ -16189,6 +16543,7 @@ beating/M
beatitude/SM
beatnik/MS
beau/SM
+beaucoup
beaut/MS
beauteous/Y
beautician/SM
@@ -16404,6 +16759,7 @@ benign/Y
benignant
benignity/M
bent/SM
+bentonite
bentwood/M
benumb/DSG
benzene/M
@@ -16556,6 +16912,7 @@ biennial/MYS
biennium/MS
bier/M
biff/SGD
+bifida
bifocal/S
bifocals/M
bifurcate/XDSGN
@@ -16579,6 +16936,7 @@ bigness/M
bigot/MDS
bigotry/SM
bigwig/MS
+bijection/S
bijou/M
bijoux
bike/DRSMZG
@@ -16616,9 +16974,11 @@ billycan/S
bimbo/MS
bimetallic/SM
bimetallism/M
+bimodal
bimonthly/SM
bin/SM
binary/SM
+binaural
bind's
bind/AUGS
binder/MS
@@ -16626,6 +16986,7 @@ bindery/SM
binding/MS
bindweed/M
binge/MGDS
+bingeable
bingeing
bingo/M
binman
@@ -16636,6 +16997,7 @@ binning
binocular/MS
binomial/SM
bio/SM
+biochem
biochemical/SMY
biochemist/MS
biochemistry/M
@@ -16645,17 +17007,21 @@ biodiesel/M
biodiversity/M
bioethics/M
biofeedback/M
+biofilm/MS
biog
biographer/SM
biographic
biographical/Y
biography/SM
+biohacker/MS
+biohacking
bioinformatic/MS
biol
biologic
biological/Y
biologist/MS
biology/M
+biomarker/MS
biomass/M
biomedical
bionic/S
@@ -16801,6 +17167,7 @@ blameworthiness/M
blameworthy/P
blammo
blanch/GDS
+blanche
blancmange/MS
bland/PTRY
blandish/DSLG
@@ -16897,6 +17264,7 @@ blockader/M
blockage/MS
blockbuster/SM
blockbusting/M
+blockchain/S
blocker/MS
blockhead/SM
blockhouse/MS
@@ -17129,6 +17497,8 @@ bomber/M
bombproof
bombshell/SM
bombsite/S
+bon/S
+bona
bonanza/MS
bonbon/MS
bonce/S
@@ -17157,6 +17527,7 @@ bonito/MS
bonk/SZGD
bonnet/MS
bonny/TR
+bono
bonobo/MS
bonsai/M
bonus/MS
@@ -17198,6 +17569,7 @@ bookshop/SM
bookstall/S
bookstore/MS
bookworm/SM
+boolean
boom/SZGMDR
boombox/MS
boomerang/MDGS
@@ -17276,6 +17648,7 @@ botcher/M
both
bother/SMDG
botheration
+bothered/U
bothersome
botnet/SM
bottle/DRSMZG
@@ -17291,6 +17664,7 @@ bougainvillea/MS
bough/M
boughs
bought
+bougie/S
bouillabaisse/SM
bouillon/MS
boulder/SM
@@ -17406,7 +17780,7 @@ bran/M
branch/GMDS
branchlike
brand/ZGMDRS
-branded/U
+branded/UA
brander/M
brandish/DSG
brandy/GDSM
@@ -17753,7 +18127,7 @@ bulldogged
bulldogging
bulldoze/ZGDRS
bulldozer/M
-bullet/SM
+bullet/SMD
bulletin/MDGS
bulletproof/SDG
bullfight/SMRZG
@@ -17771,6 +18145,7 @@ bullishness/M
bullock/SM
bullpen/SM
bullring/MS
+bullseye/S
bullshit/MS!
bullshitted/!
bullshitter/SM!
@@ -17822,6 +18197,7 @@ bunting/M
buoy/MDGS
buoyancy/M
buoyant/Y
+bupkis
bur/SMY
burble/DSMG
burbs/M
@@ -18145,6 +18521,8 @@ cameo/MS
camera/MS
cameraman/M
cameramen
+camerapeople
+cameraperson
camerawoman/M
camerawomen
camerawork
@@ -18186,6 +18564,7 @@ cancellation/SM
cancelled/U
canceller/M
cancelling
+cancelous
cancer/MS
cancerous
candelabra/SM
@@ -18314,6 +18693,7 @@ capsulize/DSG
capt
captain/SMDG
captaincy/SM
+captcha
caption/SMDG
captious/YP
captiousness/M
@@ -18368,12 +18748,14 @@ cardiac
cardie/S
cardigan/SM
cardinal/SMY
+cardinality/S
cardio
cardiogram/SM
cardiograph/M
cardiographs
cardiologist/MS
cardiology/M
+cardiomegaly
cardiomyopathy
cardiopulmonary
cardiovascular
@@ -18412,6 +18794,7 @@ carjack/JSDRZG
carjacker/M
carjacking/M
carload/SM
+carmaker/S
carmine/SM
carnage/M
carnal/Y
@@ -18469,6 +18852,7 @@ carsick/P
carsickness/M
cart/SZGMDR
cartage/M
+carte/S
cartel/MS
carter/M
carthorse/SM
@@ -18660,6 +19044,7 @@ caviar/M
cavil/ZGJMDRS
caviler/M
caving/M
+cavitation
cavity/FSM
cavort/DGS
caw/SMDG
@@ -18800,6 +19185,7 @@ cession/KAFSM
cesspit/S
cesspool/MS
cetacean/MS
+ceteris
cf
cg
ch/IFVT
@@ -19421,6 +19807,7 @@ cl
clack/GMDS
clad/U
cladding/M
+clade
claim's
claim/CKEAGDS
claimable/AKE
@@ -19487,6 +19874,7 @@ classifieds
classifier/MS
classify/ACSDGN
classiness/M
+classism
classless/P
classmate/MS
classroom/MS
@@ -19625,6 +20013,7 @@ cloistral
clomp/SDG
clonal
clone/DSMG
+clonidine
clonk/SMDG
clop/MS
clopped
@@ -19691,8 +20080,8 @@ clunker/M
clunky/TR
cluster/MDSG
clutch/GMDS
-clutter/MDSG
-cluttered/U
+clutter's
+clutter/UDSG
clvi
clvii
clxi
@@ -19764,6 +20153,7 @@ cochlear
cock/MDGS
cockade/SM
cockamamie
+cockatiel/MS
cockatoo/SM
cockatrice/SM
cockchafer/S
@@ -19816,6 +20206,7 @@ coeducation/M
coeducational
coefficient/MS
coelenterate/MS
+coenzyme
coequal/MYS
coerce/DRSZGNV
coercer/M
@@ -19931,13 +20322,16 @@ collectivize/DSG
collector/MS
colleen/SM
college/SM
+collegial
collegiality/M
collegian/MS
collegiate
-collide/DSG
+collide/DRSZG
collie/RSMZ
collier/M
colliery/SM
+collinear
+collinearity
collision/SM
collocate/MGNDSX
collocation/M
@@ -19952,6 +20346,7 @@ colloquy/M
collude/DSG
collusion/M
collusive
+colocate/XDSGN
cologne/SM
colon/SM
colonel/SM
@@ -20012,16 +20407,17 @@ combativeness/M
combed/U
comber/M
combination/SM
+combinatorics
combine's
combine/ADSG
combined/U
combiner/MS
combings/M
combo/SM
+combust/SGVD
combustibility/M
combustible/MS
combustion/M
-combustive
come/IMZGRS
comeback/MS
comedian/MS
@@ -20105,6 +20501,7 @@ commode's
commode/EIS
commodification
commodious/Y
+commoditization
commodity/SM
commodore/SM
common's
@@ -20138,9 +20535,11 @@ communistic
community/SM
commutation/MS
commutative
+commutativity
commutator/SM
commute/BDRSMZG
commuter/M
+comorbidity
comp/MDYGS
compact/TGSMDRYP
compaction
@@ -20155,7 +20554,7 @@ comparability/M
comparable/I
comparably/I
comparative/MYS
-compare/BDSMG
+compare/BDSG
comparison/MS
compartment/SM
compartmental
@@ -20232,6 +20631,7 @@ composedly
composer/MS
composite/MYGNXPDS
composition/CM
+compositional
compositor/SM
compost/SGMD
composure/EM
@@ -20247,10 +20647,10 @@ comprehensions
comprehensive/PMYS
comprehensiveness/M
compress's
-compress/CGDS
+compress/CGVDS
compressed/U
compressible
-compression/CM
+compression/CMS
compressor/SM
comprise/GDS
compromise/MGDS
@@ -20365,6 +20765,7 @@ condiment/MS
condition's
condition/AGSD
conditional/SMY
+conditionality
conditioned/U
conditioner/SM
conditioning/M
@@ -20419,7 +20820,7 @@ confidentiality/M
confider/M
confiding/Y
configuration/S
-configure/B
+configure/ABD
confined/U
confinement/MS
confirm/ASDG
@@ -20438,6 +20839,7 @@ confluence/MS
confluent
conform/ZB
conformable/U
+conformal
conformance/M
conformant
conformism/M
@@ -20472,7 +20874,7 @@ congregational
congregationalism/M
congregationalist/MS
congress/MS
-congressional
+congressional/Y
congressman/M
congressmen
congresspeople
@@ -20612,7 +21014,6 @@ constrict/GVSD
constriction/SM
constrictor/SM
construable
-construct's
construct/CADVGS
construction/CAMS
constructional
@@ -20682,7 +21083,7 @@ contestable/I
contestant/MS
contested/U
contextualization
-contextualize/DSG
+contextualize/CDSG
contiguity/M
contiguous/Y
continence/IM
@@ -20701,6 +21102,7 @@ continuum/M
contort/GD
contortion/MS
contortionist/SM
+contra
contraband/M
contrabassoon/S
contraception/M
@@ -20876,7 +21278,8 @@ copycatted
copycatting
copyist/MS
copyleft
-copyright/GSMD
+copyright/GSBMD
+copyrightable/U
copywriter/MS
coquetry/SM
coquette/DSMG
@@ -20971,6 +21374,7 @@ corrector
correlate/XDSMGNV
correlated/U
correlation/M
+correlational
correlative/MS
correspond/SDG
correspondence/SM
@@ -21003,6 +21407,7 @@ cortege/MS
cortex/M
cortical
cortices
+cortisol
cortisone/M
cortège/SM
corundum/M
@@ -21031,7 +21436,7 @@ cosmonaut/SM
cosmopolitan/MS
cosmopolitanism/M
cosmos/MS
-cosplay
+cosplay/DRSZG
cosponsor/GSMD
cosset/SGD
cossetted
@@ -21130,8 +21535,10 @@ countersign/GSMD
countersignature/MS
countersink/GSM
counterspy/SM
+counterstroke/SM
countersunk
countertenor/MS
+countertop/S
countervail/GSD
counterweight/MS
countess/MS
@@ -21150,7 +21557,7 @@ coup's
coup/AS
coupe/SM
couple's
-couple/UCGSD
+couple/UCGZSRD
couplet/MS
coupling/SM
coupon/SM
@@ -21180,6 +21587,9 @@ couscous/M
cousin/SM
couture/M
couturier/MS
+covalent
+covariance
+covariant
cove/MS
coven/SM
covenant/MDSG
@@ -21291,6 +21701,7 @@ cranky/PRT
cranny/DSM
crap/MS
crape/SM
+crapola
crapped
crapper/S
crappie/M
@@ -21412,6 +21823,7 @@ crime/SM
crimeware/M
criminal/MYS
criminality/M
+criminalization/C
criminalize/CGDS
criminologist/MS
criminology/M
@@ -21438,6 +21850,7 @@ criteria
criterion/M
critic/SM
critical/UY
+criticality
criticism/MS
criticize/ZGDRS
criticizer/M
@@ -21470,6 +21883,7 @@ cropper/MS
cropping
croquet/M
croquette/SM
+crore/SM
crosier/MS
cross's
cross/AUGTSD
@@ -21514,6 +21928,7 @@ crowbar/MS
crowd/SMDG
crowded/U
crowdfund/SDG
+crowdsource/DSG
crowfeet
crowfoot/SM
crown/SMDG
@@ -21575,11 +21990,14 @@ cryogenic/S
cryogenics/M
cryonic/S
cryosurgery/M
-crypt/SM
+crypt's
+crypt/S
cryptic
cryptically
+cryptocurrency/SM
cryptogram/SM
cryptographer/SM
+cryptographic
cryptography/M
cryptologist/MS
cryptosystem/S
@@ -21623,6 +22041,7 @@ cullender/MS
culminate/XDSGN
culmination/M
culotte/SM
+culpa/S
culpability/M
culpable/I
culpably
@@ -21673,7 +22092,7 @@ curability/M
curacao
curacy/SM
curare/M
-curate/DSMGV
+curate/DSMGNV
curative/MS
curator/KMS
curatorial
@@ -21755,7 +22174,7 @@ customary/U
customer/M
customhouse/SM
customization/M
-customize/DSG
+customize/DSGB
cut/TSMR
cutaneous
cutaway/MS
@@ -21782,6 +22201,7 @@ cw
cwt
cyan/M
cyanide/M
+cyanobacteria
cyber
cyberbully/SM
cybercafe/S
@@ -21789,6 +22209,7 @@ cybercafé/S
cybernetic/S
cybernetics/M
cyberpunk/SM
+cybersecurity
cybersex
cyberspace/MS
cyborg/SM
@@ -21817,8 +22238,17 @@ cynosure/MS
cypher/M
cypress/MS
cyst/MS
+cysteine/SM
cystic
+cysticerci
+cysticercoid/S
+cysticercoses
+cysticercosis
+cysticercus
cystitis
+cystoscope
+cystoscopic
+cystoscopy
cytokine/SM
cytologist/SM
cytology/M
@@ -21953,6 +22383,8 @@ dastard/MYS
dastardliness/M
data
database/SM
+dataset's
+datasets
datasheet/SM
datatype
date/DRSMZGV
@@ -21961,6 +22393,7 @@ dated/U
dateless
dateline/MGDS
dater/M
+dateset
dative/MS
datum/M
daub/SZGMDR
@@ -21997,6 +22430,7 @@ dc
dd/SDG
dded/K
dding/K
+de
deacon/MS
deaconess/MS
dead/XTMNRY
@@ -22101,6 +22535,7 @@ decidable/U
decide/BZGDRS
decided/Y
deciduous
+decile/S
deciliter/MS
decimal/SM
decimalization
@@ -22110,6 +22545,7 @@ decimeter/MS
decipherable/UI
decision/IM
decisions
+decisis
decisive/IPY
decisiveness/IM
deck/SGMD
@@ -22129,6 +22565,7 @@ declination/M
decline/DRSMZG
decliner/M
declivity/SM
+decoherence
decolletage/SM
decollete
decongestant/MS
@@ -22148,12 +22585,12 @@ decoy/GMDS
decreasing/Y
decree/MDS
decreeing
-decremented
-decrements
+decrement/GDS
decrepit
decrepitude/M
decriminalization/M
decry/GDS
+decrypt/BSGD
decryption
dedicate/AGDS
dedication/SM
@@ -22227,6 +22664,7 @@ definer/MS
definite/IYVP
definiteness/IM
definition/AM
+definitional/Y
definitions
definitive/Y
deflate/GNDS
@@ -22334,7 +22772,7 @@ demigoddess/MS
demijohn/SM
demimondaine/SM
demimonde/M
-demise/MGDS
+demise/MGD
demitasse/MS
demo/GMD
democracy/SM
@@ -22367,6 +22805,7 @@ demonstration/M
demonstrative/MYSP
demonstrativeness/M
demonstrator/MS
+demonym/S
demote/GD
demotic
demount
@@ -22578,7 +23017,7 @@ destitute/N
destitution/M
destroy/SZGDR
destroyer/M
-destruct/GVMDS
+destruct/GVD
destructibility/IM
destructible/I
destruction/M
@@ -22614,6 +23053,7 @@ determinedly
determiner/SM
determinism/M
deterministic
+deterministically
deterred/U
deterrence/M
deterrent/MS
@@ -22715,6 +23155,8 @@ dialyses
dialysis/M
dialyzes
diam
+diamagnetic
+diamagnetism
diamante
diamanté
diameter/SM
@@ -22740,6 +23182,7 @@ diatomaceous
diatomic
diatonic
diatribe/SM
+diazepam
dibble/DSMG
dibs/M
dice/GDS
@@ -22798,10 +23241,12 @@ differ/DG
difference/IM
differences
different/IY
+differentiable
differential/SM
differentiate/DSGN
differentiated/U
differentiation/M
+differentiator/S
difficult/Y
difficulty/SM
diffidence/M
@@ -22811,6 +23256,7 @@ diffraction/M
diffuse/DSYGNVP
diffuseness/M
diffusion/M
+diffusivity
dig/SM
digerati/M
digest/SMDGV
@@ -22857,6 +23303,7 @@ diligent/Y
dill/MS
dilly/SM
dillydally/DSG
+diluent
dilute/DSGNX
diluted/U
dilution/M
@@ -22942,7 +23389,7 @@ directer
direction/IM
directional
directionless
-directions
+directions/A
directive/SM
directly
directness/IM
@@ -22969,7 +23416,7 @@ disappointing/Y
disarming/Y
disastrous/Y
disbandment/M
-disbarment/M
+disbarment/SM
disbelieving/Y
disbursal/M
disburse/DSGL
@@ -23007,7 +23454,8 @@ discotheque/SM
discourage/LGDS
discouragement/SM
discouraging/Y
-discover/ASDG
+discover/ABSDG
+discoverability
discovered/U
discoverer/MS
discovery/ASM
@@ -23139,7 +23587,7 @@ dissimilitude/S
dissing
dissipate/GNDS
dissipation/M
-dissociate/GNDS
+dissociate/GNVDS
dissociation/M
dissoluble/I
dissolute/YNP
@@ -23172,8 +23620,10 @@ distinguishable/I
distinguished/U
distort/GDR
distortion/MS
-distract/DG
+distract/DGB
+distractability
distracted/Y
+distractible
distraction/S
distrait
distraught
@@ -23226,7 +23676,7 @@ diversify/GNDS
diversion/M
diversionary
diversity/SM
-divert/SDG
+divert/SDRZG
diverticulitis/M
divest/SLDG
divestiture/MS
@@ -23255,6 +23705,8 @@ divot/SM
divulge/GDS
divvy/DSMG
dixieland/M
+dizygotic
+dizygous
dizzily
dizziness/M
dizzy/DRSPTG
@@ -23425,6 +23877,8 @@ doorstepping
doorstop/MS
doorway/SM
dooryard/MS
+doozie
+doozy
dopa/M
dopamine
dope/MZGDRS
@@ -23526,6 +23980,7 @@ downstairs/M
downstate/M
downstream
downswing/MS
+downtempo
downtime/M
downtown/M
downtrend/MS
@@ -23537,7 +23992,10 @@ downy/RT
dowry/SM
dowse/DRSZG
dowser/M
+dox/GDS
+doxastic
doxology/SM
+doxx/DSG
doyen/SM
doyenne/MS
doz/XGDNS
@@ -23627,9 +24085,13 @@ drear
drearily
dreariness/M
dreary/RPT
+dreck
+dreckish
+drecky
dredge/DRSMZG
dredger/M
dregs/M
+drek
drench/GDS
dress/AUGSDM
dressage/M
@@ -23773,6 +24235,7 @@ duelist/SM
duenna/MS
duet/MS
duff/MDRZGS
+duffel/S
duffer/M
dug
dugout/MS
@@ -23826,7 +24289,7 @@ duper/M
duple
duplex/MS
duplicate's
-duplicate/AGNDS
+duplicate/AGNVDS
duplication/AM
duplicator/MS
duplicitous
@@ -23902,6 +24365,9 @@ dysphoria
dysphoric
dysprosium/M
dystonia
+dystopi
+dystopia/S
+dystopian/S
dz
débridement
débutante/SM
@@ -24003,6 +24469,7 @@ ecclesial
ecclesiastic/SM
ecclesiastical/Y
echelon/SM
+echidna
echinoderm/SM
echo's
echo/ADG
@@ -24025,7 +24492,7 @@ ecological/Y
ecologist/MS
ecology/M
econ
-econometric
+econometric/S
economic/S
economical/UY
economics/M
@@ -24040,6 +24507,8 @@ ecru/M
ecstasy/SM
ecstatic
ecstatically
+ectopic
+ectopically
ecu/S
ecumenical/Y
ecumenicism/M
@@ -24122,7 +24591,9 @@ effluence/M
effluent/MS
effluvia
effluvium/M
+efflux
effort/SM
+effortful
effortless/YP
effortlessness/M
effrontery/M
@@ -24132,7 +24603,7 @@ effuse/DSGNVX
effusion/M
effusive/YP
effusiveness/M
-egad
+egad/S
egalitarian/SM
egalitarianism/M
egg/GSMD
@@ -24165,6 +24636,7 @@ eh
eider/SM
eiderdown/MS
eigenvalue/S
+eigenvector/S
eight/SM
eighteen/MHS
eighteenth/M
@@ -24255,6 +24727,7 @@ electroshock/M
electrostatic/S
electrostatics/M
electrotype/MS
+electroweak
eleemosynary
elegance/IM
elegant/IY
@@ -24312,7 +24785,7 @@ elope/DSGL
elopement/MS
eloquence/M
eloquent/Y
-else
+else/M
elsewhere
elucidate/DSGNX
elucidation/M
@@ -24358,6 +24831,7 @@ ember/SM
embezzle/ZGLDRS
embezzlement/M
embezzler/M
+embiggen
embitter/GLDS
embitterment/M
emblazon/GDLS
@@ -24430,6 +24904,8 @@ emotionless
emotive/Y
empanel/GDS
empathetic
+empathic
+empathically
empathize/DSG
empathy/M
emperor/MS
@@ -24502,7 +24978,7 @@ enclave/MS
enclose/GDS
enclosed/U
enclosure/SM
-encode/DRSZG
+encode/DRSJZG
encoder/M
encomium/MS
encompass/GDS
@@ -24516,6 +24992,7 @@ encroachment/SM
encrust/DGS
encrustation/SM
encrypt/DGS
+encrypted/U
encryption
encumber/EGSD
encumbered/U
@@ -24559,6 +25036,7 @@ endoscopic
endoscopy/M
endothelial
endothermic
+endotracheal
endow/SDLG
endowment/MS
endpoint/SM
@@ -24668,6 +25146,7 @@ entanglement/EM
entanglements
entente/SM
enter/ASGD
+enteral
enteric
enteritis/M
enterprise/MGS
@@ -24701,6 +25180,7 @@ entomology/M
entourage/SM
entr'acte
entrails/M
+entrained
entrance/LDSMG
entrancement/M
entrancing/Y
@@ -24873,6 +25353,8 @@ erelong
eremite/MS
erg/SM
ergo
+ergodic
+ergodicity
ergonomic/S
ergonomically
ergonomics/M
@@ -24970,12 +25452,14 @@ estimate/MGNDSX
estimation/M
estimator/SM
estoppel
+estradiol
estrange/LDSG
estrangement/MS
-estrogen/M
+estrogen/MS
estrous
estrus/MS
estuary/SM
+et
eta/SM
etc
etch/DRSZGJ
@@ -24991,6 +25475,7 @@ ethereal/Y
ethic/SM
ethical/UY
ethics/M
+ethmoid
ethnic/SM
ethnically
ethnicity/M
@@ -25020,12 +25505,16 @@ etymologist/SM
etymology/SM
eucalypti
eucalyptus/MS
+eucaryote/SM
+eucaryotic
euchre/DSMG
euclidean
eugenic/S
eugenically
eugenicist/MS
eugenics/M
+eukaryote/SM
+eukaryotic
eulogist/MS
eulogistic
eulogize/ZGDRS
@@ -25048,6 +25537,8 @@ eutectic
euthanasia/M
euthanize/DSG
euthenics/M
+eutrophic
+eutrophication
evacuate/XDSGN
evacuation/M
evacuee/MS
@@ -25055,6 +25546,7 @@ evade/DRSZG
evader/M
evaluate/AGNVDSX
evaluation/AM
+evaluator/S
evanescence/M
evanescent
evangelic
@@ -25099,6 +25591,9 @@ evict/SDG
eviction/MS
evidence/MGDS
evident/Y
+evidential/Y
+evidentiality
+evidentiary
evil/MRYTSP
evildoer/SM
evildoing/M
@@ -25144,6 +25639,7 @@ exasperate/DSGN
exasperated/Y
exasperating/Y
exasperation/M
+exbibyte/MS
excavate/GNDSX
excavation/M
excavator/SM
@@ -25177,6 +25673,7 @@ excited/Y
excitement/SM
exciter/M
exciting/Y
+exciton
excl
exclaim/DGS
exclamation/SM
@@ -25238,6 +25735,7 @@ exerciser/M
exert/SDG
exertion/MS
exeunt
+exfiltrate/GNXDS
exfoliate/GNDS
exhalation/MS
exhale/DSG
@@ -25263,6 +25761,7 @@ exigent
exiguity/M
exiguous
exile/DSMG
+exilic
exist/SDG
existence/MS
existent
@@ -25353,6 +25852,7 @@ expiry/M
explain/ADGS
explainable
explained/U
+explainer/S
explanation/MS
explanatory
expletive/MS
@@ -25407,7 +25907,9 @@ expropriate/GNXDS
expropriation/M
expropriator/SM
expulsion/MS
-expunge/GDS
+expunction
+expunge/LGDS
+expungement/S
expurgate/DSGNX
expurgated/U
expurgation/M
@@ -25423,6 +25925,7 @@ extemporize/GDS
extend/SZGDRB
extender/M
extendible
+extensibility
extensible
extension/SM
extensional
@@ -25450,12 +25953,13 @@ extolled
extolling
extort/SGD
extortion/MRZ
+extortionary
extortionate/Y
extortioner/M
extortionist/MS
extra/SM
extracellular
-extract/MDGS
+extract/MDGVS
extraction/SM
extractor/MS
extracurricular
@@ -25479,11 +25983,13 @@ extravagance/MS
extravagant/Y
extravaganza/MS
extravehicular
+extrema
extreme/PMYTRS
extremeness/M
extremism/M
extremist/MS
extremity/SM
+extremum/S
extricable/I
extricate/GNDS
extrication/M
@@ -25528,6 +26034,7 @@ eyetooth/M
eyewash/M
eyewitness/MS
f/CIAVTR
+fMRI
fa/M
fab
fable/DSM
@@ -25543,6 +26050,7 @@ facecloth/M
facecloths
faceless
facelift/SM
+facepalm/SDG
facet/SMDG
facetious/YP
facetiousness/M
@@ -25561,6 +26069,7 @@ factional
factionalism/M
factious
factitious
+facto
factoid/SM
factor's
factor/ASDG
@@ -25585,7 +26094,7 @@ fagging
faggot/SMG
fagot/SMG
faience/M
-fail/MDGJS
+fail/DGJS
failing/M
faille/M
failure/SM
@@ -25779,6 +26288,7 @@ fauna/SM
fauvism/M
fauvist/SM
faux
+fav/S
fave/S
favor/ESMDG
favorable/U
@@ -25798,6 +26308,7 @@ fearful/YP
fearfulness/M
fearless/PY
fearlessness/M
+fearmonger/MSG
fearsome
feasibility/M
feasible/IU
@@ -25898,6 +26409,7 @@ ferocity/M
ferret/GSMD
ferric
ferromagnetic
+ferromagnetism
ferrous
ferrule/MS
ferry/DSMG
@@ -25997,6 +26509,7 @@ fiddler/M
fiddlesticks
fiddly/TR
fidelity/IM
+fides
fidget/SGMD
fidgety
fiduciary/SM
@@ -26096,7 +26609,7 @@ financial/YS
financier/MS
financing/M
finch/MS
-find/JMRZGS
+find/BJMRZGS
finder/M
finding/M
findings/M
@@ -26128,6 +26641,8 @@ finite/IY
fink/MDGS
finned
finny
+fintech
+fintechs
fir/ZGSJMDRH
fire/MS
firearm/SM
@@ -26273,6 +26788,7 @@ flamingo/MS
flammability/IM
flammable/SM
flan/MS
+flaneur/SM
flange/MS
flank/SZGMDR
flanker/M
@@ -26500,6 +27016,7 @@ fluorite/M
fluorocarbon/MS
fluoroscope/SM
fluoroscopic
+fluoxetine
flurry/GDSM
flush/MDRSTG
fluster/MDSG
@@ -26862,6 +27379,7 @@ foulmouthed
foulness/M
found/FSDG
foundation/SM
+foundational
founded/U
founder/GMDS
foundling/SM
@@ -26920,6 +27438,7 @@ framed/U
framer/M
framework/SM
franc/SM
+franca
franchise's
franchise/EDSG
franchisee/SM
@@ -27001,6 +27520,7 @@ freezing's
freight/MDRZGS
freighter/M
french
+frenemy/S
frenetic
frenetically
frenzied/Y
@@ -27164,6 +27684,7 @@ fuehrer/MS
fuel's
fuel/ADGS
fug
+fugacious/PY
fugal
fuggy
fugitive/MS
@@ -27200,7 +27721,8 @@ functionalism
functionalist/S
functionality/S
functionary/SM
-fund/AMDGS
+functor
+fund/AMDRZGS
fundamental/SMY
fundamentalism/M
fundamentalist/SM
@@ -27248,6 +27770,7 @@ furnished/U
furnishings/M
furniture/M
furor/SM
+furosemide
furred
furrier/M
furriness/M
@@ -27530,7 +28053,7 @@ gazelle/MS
gazer/M
gazette/MGDS
gazetteer/MS
-gazillion/S
+gazillion/HS
gazpacho/M
gazump/DGS
gear/MDGS
@@ -27609,7 +28132,7 @@ genning
genocidal
genocide/MS
genome/MS
-genomics
+genomic/SM
genre/SM
gent/AMS
genteel/YP
@@ -27638,6 +28161,8 @@ genus/M
geocache/DSG
geocentric
geocentrically
+geocentricism
+geocentrism
geochemistry/M
geode/SM
geodesic/SM
@@ -27663,7 +28188,7 @@ geometry/SM
geophysical
geophysicist/SM
geophysics/M
-geopolitical
+geopolitical/Y
geopolitics/M
geostationary
geosynchronous
@@ -27683,6 +28208,7 @@ germicide/MS
germinal/M
germinate/GNDS
germination/M
+gerontocracy
gerontological
gerontologist/MS
gerontology/M
@@ -27730,6 +28256,7 @@ gibbet/GMDS
gibbon/MS
gibbous
gibe/MGDS
+gibibyte/MS
giblet/SM
giddily
giddiness/M
@@ -27831,6 +28358,7 @@ glamorization/M
glamorize/DSG
glamorous/Y
glamour/GMDS
+glamping
glance/DSMG
gland/SM
glandes
@@ -27899,6 +28427,7 @@ globular
globule/MS
globulin/M
glockenspiel/SM
+glom/DGS
gloom/M
gloomily
gloominess/M
@@ -27933,6 +28462,7 @@ glum/YP
glummer
glummest
glumness/M
+gluon/S
glut/MNS
gluten/M
glutenous
@@ -27946,6 +28476,7 @@ glycerin/M
glycerine/M
glycerol/M
glycogen/M
+glycol
glyph
gm
gnarl/SMDG
@@ -27986,6 +28517,7 @@ goblet/SM
goblin/SM
gobsmacked
gobstopper/S
+gochujang
god/SM
godawful
godchild/M
@@ -28209,6 +28741,7 @@ granola/M
grant/SMDRZG
grantee/MS
granter/M
+grantor/MS
grantsmanship/M
granular
granularity/M
@@ -28299,6 +28832,7 @@ greenish
greenmail/M
greenness/M
greenroom/SM
+greenstone
greensward/M
greenwood/M
greet/ZGJSDR
@@ -28470,6 +29004,7 @@ grungy/RT
grunion/SM
grunt/SGMD
gt
+guac
guacamole/M
guanine/M
guano/M
@@ -28579,6 +29114,7 @@ gunshot/MS
gunslinger/SM
gunsmith/M
gunsmiths
+gunsmoke
gunwale/MS
guppy/SM
gurgle/MGDS
@@ -28641,6 +29177,7 @@ gyve/MGDS
h'm
h/NRSXZGVJ
ha/SH
+habeas
haberdasher/SM
haberdashery/SM
habiliment/SM
@@ -28667,6 +29204,7 @@ hacktivist/MS
hackwork/M
had
haddock/SM
+hadith/S
hadn't
hadst
hafnium/M
@@ -28824,8 +29362,10 @@ handspring/MS
handstand/SM
handwork/M
handwoven
+handwrite/GS
handwriting/M
handwritten
+handwrote
handy/UTR
handyman/M
handymen
@@ -28858,6 +29398,8 @@ happenstance/SM
happily/U
happiness/UM
happy/URTP
+haptic/S
+haptical/Y
harangue/MGDS
harass/LZGDRS
harasser/M
@@ -28902,6 +29444,7 @@ harelip/SM
harelipped
harem/SM
haricot/S
+harissa
hark/DGS
harlequin/SM
harlot/SM
@@ -29007,6 +29550,7 @@ hawthorn/MS
hay/GSMD
haycock/SM
hayloft/SM
+haymaker/S
haymaking
haymow/SM
hayrick/MS
@@ -29075,6 +29619,7 @@ headship/SM
headshrinker/SM
headsman/M
headsmen
+headspace
headstall/SM
headstand/SM
headstone/SM
@@ -29207,6 +29752,9 @@ helical
helices
helicopter/SGMD
heliocentric
+heliocentrically
+heliocentricism
+heliocentrism
heliotrope/SM
helipad/S
heliport/MS
@@ -29245,6 +29793,7 @@ hematological
hematologist/MS
hematology/M
heme/M
+hemiplegia
hemisphere/SM
hemispheric
hemispherical
@@ -29314,6 +29863,7 @@ heretic/SM
heretical
hereto
heretofore
+hereunder
hereunto
hereupon
herewith
@@ -29325,6 +29875,7 @@ hermetic
hermetical/Y
hermit/SM
hermitage/MS
+hermitian
hernia/SM
hernial
herniate/GNDS
@@ -29370,8 +29921,7 @@ hexagon/MS
hexagonal
hexagram/SM
hexameter/SM
-hexane's
-hexanes
+hexane/SM
hey
heyday/SM
hf
@@ -29472,6 +30022,7 @@ hippest
hippie/M
hipping
hippo/SM
+hippocampus
hippodrome/SM
hippopotami
hippopotamus/MS
@@ -29489,6 +30040,7 @@ histamine/MS
histogram/MS
histologist/SM
histology/M
+histopathology
historian/MS
historic
historical/Y
@@ -29539,6 +30091,7 @@ hobnobbed
hobnobbing
hobo/MS
hoboes
+hoc
hock/MDSG
hockey/M
hockshop/MS
@@ -29655,6 +30208,7 @@ homogenize/DSG
homograph/M
homographs
homologous
+homology
homonym/SM
homophobia/M
homophobic
@@ -29724,6 +30278,7 @@ hopeful/PSMY
hopefulness/M
hopeless/YP
hopelessness/M
+hophead/S
hopped
hopper/MS
hopping
@@ -29733,9 +30288,11 @@ horde/DSMG
horehound/SM
horizon/SM
horizontal/SMY
+hormesis
hormonal
hormone/SM
horn/MDS
+hornbeam/S
hornblende/M
hornet/MS
hornless
@@ -29902,6 +30459,7 @@ howitzer/SM
howl/MDRSZG
howler/M
howsoever
+howto/SM
hoyden/MS
hoydenish
hp
@@ -30069,6 +30627,8 @@ hydraulics/M
hydro/M
hydrocarbon/MS
hydrocephalus/M
+hydrochloride
+hydrocortisone
hydrodynamic/S
hydrodynamics/M
hydroelectric
@@ -30086,6 +30646,7 @@ hydrolysis/M
hydrolyze/DSG
hydrometer/SM
hydrometry/M
+hydrophilic
hydrophobia/M
hydrophobic
hydrophone/SM
@@ -30095,6 +30656,7 @@ hydroponically
hydroponics/M
hydrosphere/M
hydrotherapy/M
+hydrothermal
hydrous
hydroxide/SM
hyena/SM
@@ -30116,12 +30678,14 @@ hyperbola/SM
hyperbole/M
hyperbolic
hypercritical/Y
+hypercube
hyperglycemia/M
hyperinflation
hyperlink/GSMD
hypermarket/S
hypermedia/M
hyperparathyroidism
+hyperplane
hypersensitive/P
hypersensitiveness/M
hypersensitivity/SM
@@ -30134,6 +30698,7 @@ hyperthyroidism/M
hypertrophy/DSMG
hyperventilate/GNDS
hyperventilation/M
+hypervisor/MS
hyphen/MDSG
hyphenate/XDSMGN
hyphenation/M
@@ -30174,6 +30739,7 @@ hysteric/SM
hysterical/Y
hysterics/M
i/US
+iOS/M
iPad/M
iPhone/M
iPod/MS
@@ -30182,6 +30748,8 @@ iamb/MS
iambi
iambic/SM
iambus/MS
+iatrogenesis
+iatrogenic
ibex/MS
ibid
ibidem
@@ -30266,11 +30834,12 @@ idyllically
if/SM
iffiness/M
iffy/RTP
+iftar/S
igloo/SM
igneous
-ignitable
-ignite/AGDS
-ignition/MS
+ignite/ZGNBXDRS
+igniter/M
+ignition/M
ignoble
ignobly
ignominious/Y
@@ -30408,6 +30977,7 @@ immutable
immutably
imp/SMR
impact/SMDG
+impactful
impair/SDGL
impaired/U
impairment/MS
@@ -30615,6 +31185,7 @@ impulse/MGNVDS
impulsion/M
impulsive/PY
impulsiveness/M
+impulsivity
impunity/M
impure/RYT
impurity/SM
@@ -30649,7 +31220,7 @@ incalculably
incandescence/M
incandescent/Y
incantation/SM
-incapacitate/GDS
+incapacitate/GNDS
incarcerate/XDSGN
incarceration/M
incarnadine/DSG
@@ -30714,12 +31285,13 @@ inconvenience/GD
incorporate/ADSGN
incorporated/U
incorporation/AM
+incorporator/S
incorporeal
incorrect/Y
incorrigible/P
incorrigibly
increasing/Y
-increment/SMD
+increment/SMDG
incremental/Y
incrementalism
incrementalist/SM
@@ -30911,6 +31483,7 @@ infinitesimal/SMY
infinitival
infinitive/MS
infinitude/M
+infinitum
infinity/SM
infirm
infirmary/SM
@@ -30921,7 +31494,7 @@ inflammable
inflammation/SM
inflammatory
inflatable/SM
-inflate/DSGNB
+inflate/ADSG
inflation/EM
inflationary
inflect/SDG
@@ -30940,6 +31513,7 @@ infomercial/SM
inform/Z
informal/Y
informant/SM
+informatics
information/EM
informational
informative/PY
@@ -30953,6 +31527,7 @@ infrastructural
infrastructure/SM
infrequence/M
infrequent/Y
+infringe/LZR
infringement/MS
infuriate/GDS
infuriating/Y
@@ -31015,6 +31590,7 @@ initiatory
inject/SDG
injection/SM
injector/SM
+injunctive
injure/DRSZG
injured/U
injurer/M
@@ -31060,6 +31636,7 @@ inoculation/MS
inoperative
inordinate/Y
inorganic
+inositol
inquire/ZGDR
inquirer/M
inquiring/Y
@@ -31133,6 +31710,7 @@ inspector/MS
inspectorate/MS
inspiration/MS
inspirational
+inspiratory
inspired/U
inspiring/U
inst
@@ -31143,7 +31721,7 @@ installment/SM
instance/GD
instant/MRYS
instantaneous/Y
-instantiate/DSG
+instantiate/DSXGN
instar
instate/AGDS
instead
@@ -31176,6 +31754,7 @@ instrumentation/M
insubordinate
insufferable
insufferably
+insula
insular
insularity/M
insulate/GNDS
@@ -31201,8 +31780,10 @@ intact
intaglio/MS
integer/MS
integral/SMY
-integrate/AEVNGSD
-integration/EAM
+integrand
+integrate/AEVNGXSD
+integration/AEM
+integrationist/SM
integrator
integrity/M
integument/SM
@@ -31307,6 +31888,8 @@ intermezzo/MS
interminably
intermingle/DSG
intermission/SM
+intermittence/S
+intermittency/S
intermittent/Y
intermix/GDS
internal/SY
@@ -31326,6 +31909,9 @@ internist/MS
internment/M
internship/MS
interoffice
+interoperability
+interoperable
+interoperate/S
interpenetrate/DSGN
interpersonal
interplanetary
@@ -31339,6 +31925,7 @@ interpretation/AMS
interpretative
interpreted/U
interpreter/MS
+interquartile
interracial
interred/E
interregnum/SM
@@ -31388,12 +31975,14 @@ intestacy/M
intestate
intestinal
intestine/MS
+intifada/S
intimacy/SM
intimate/MYGNDSX
intimation/M
intimidate/GNDS
intimidating/Y
intimidation/M
+intl
intonation/SM
intoxicant/SM
intoxicate/DSGN
@@ -31460,7 +32049,9 @@ inventiveness/M
inventor/MS
inventory/DSMG
inverse/SMY
-invert/SMDG
+invert/SMDRZG
+inverter/M
+invertible
invest/ASDGL
investigate/GNVDSX
investigation/M
@@ -31494,6 +32085,7 @@ involuntariness/M
involuntary/P
involution/M
involve/LDSG
+involved/U
involvement/SM
inward/SY
ioctl
@@ -31624,7 +32216,9 @@ isomerism/M
isometric/S
isometrically
isometrics/M
+isometry
isomorphic
+isomorphism
isosceles
isotherm/SM
isotope/SM
@@ -31651,6 +32245,7 @@ itemization/M
itemize/GDS
iterate/AXGNVDS
iteration/AM
+iterative/Y
iterator/S
itinerant/SM
itinerary/SM
@@ -31713,6 +32308,7 @@ japan/SM
japanned
japanning
jape/MGDS
+japonica
jar/SM
jardiniere/SM
jardinière/SM
@@ -32025,6 +32621,7 @@ kWh
kabbala
kabbalah
kabob/SM
+kabocha
kaboom
kabuki/M
kaddish/MS
@@ -32032,6 +32629,7 @@ kaffeeklatch/MS
kaffeeklatsch/MS
kahuna/S
kaiser/MS
+kakistocracy
kale/M
kaleidoscope/MS
kaleidoscopic
@@ -32070,7 +32668,9 @@ keep/MRSZG
keeper/M
keeping/M
keepsake/MS
+keester/S
keg/SM
+keister/S
kelp/M
kelvin/SM
ken/SM
@@ -32085,11 +32685,14 @@ keratitis
kerbside
kerchief/SM
kerfuffle/S
+kern/G
+kerne
kernel/SM
kerosene/M
kestrel/MS
ketch/MS
ketchup/M
+ketone/S
kettle/SM
kettledrum/SM
key/SGMD
@@ -32114,6 +32717,7 @@ khan/MS
kibble/DSMG
kibbutz/MS
kibbutzim
+kibibyte/SM
kibitz/ZGDRS
kibitzer/M
kibosh/M
@@ -32235,6 +32839,7 @@ kleptocracy
kleptomania/M
kleptomaniac/SM
kludge/GDS
+kludgy
kluge/DS
klutz/MS
klutziness/M
@@ -32306,6 +32911,7 @@ kohl
kohlrabi/M
kohlrabies
kola/MS
+kombucha
kook/MS
kookaburra/SM
kookiness/M
@@ -32324,6 +32930,7 @@ krone/RM
kronor
kronur
krypton/M
+kryptonite
króna/M
krónur
kt
@@ -32482,6 +33089,7 @@ landsmen
landward/S
lane/MS
language/MS
+langue/SM
languid/PY
languidness/M
languish/DSG
@@ -32626,7 +33234,7 @@ lawn/MS
lawnmower/SM
lawrencium/M
lawsuit/MS
-lawyer/SM
+lawyer/SMY
lax/TRYP
laxative/MS
laxity/M
@@ -32657,6 +33265,7 @@ lb/S
lbw
lea/SM
leach/DSG
+leachate/S
lead/MDNRSZG
leader/M
leaderless
@@ -32683,9 +33292,12 @@ leapfrogged
leapfrogging
leapt
learn/AUGDS
+learnability
+learnable
learnedly
learner/MS
learning's
+learnt
lease/ADSMG
leaseback/SM
leasehold/MRSZ
@@ -33067,6 +33679,7 @@ lingerie/M
lingering/Y
lingo/M
lingoes
+lingua
lingual
linguine/M
linguini/SM
@@ -33500,6 +34113,7 @@ lumberjack/SM
lumberman/M
lumbermen
lumberyard/SM
+lumen
luminary/SM
luminescence/M
luminescent
@@ -33508,6 +34122,7 @@ luminous/Y
lummox/MS
lump/MDNSG
lumpectomy/S
+lumpenproletariat
lumpiness/M
lumpish
lumpy/TRP
@@ -33549,6 +34164,7 @@ lutanist/SM
lute/MS
lutenist/SM
lutetium/M
+lux
luxuriance/M
luxuriant/Y
luxuriate/DSGN
@@ -33696,6 +34312,7 @@ magniloquence/M
magniloquent
magnitude/SM
magnolia/MS
+magnon
magnum/MS
magpie/MS
magus/M
@@ -33737,6 +34354,8 @@ mainstay/MS
mainstream/SMDG
maintain/ZGBDRS
maintainability
+maintainable/U
+maintained/U
maintenance/M
maintop/SM
maisonette/MS
@@ -33786,8 +34405,8 @@ maleness/M
malevolence/M
malevolent/Y
malfeasance/M
+malform/SD
malformation/SM
-malformed
malfunction/MDSG
malice/M
malicious/PY
@@ -34077,6 +34696,7 @@ masquerader/M
mass/MDSGV
massacre/MGDS
massage/DSMG
+masse
masseur/SM
masseuse/MS
massif/MS
@@ -34181,7 +34801,9 @@ maxilla/M
maxillae
maxillary
maxim/SM
+maxima
maximal/Y
+maximalist/SM
maximization/M
maximize/GDS
maximum/SM
@@ -34205,6 +34827,7 @@ mazurka/MS
mañana/M
mdse
me/DSH
+mea/S
mead/M
meadow/MS
meadowlark/MS
@@ -34230,7 +34853,6 @@ meant/U
meantime/M
meanwhile/M
meany/SM
-meas
measles/M
measly/RT
measurable
@@ -34249,6 +34871,7 @@ meatloaf/M
meatloaves
meatpacking/M
meaty/TPR
+mebibyte/SM
mecca/SM
mechanic/MS
mechanical/Y
@@ -34267,7 +34890,7 @@ meddlesome
media/SM
medial/AY
median/MS
-mediate/DSGN
+mediate/ADSGN
mediated/U
mediation/AM
mediator/MS
@@ -34428,7 +35051,8 @@ mercerize/GDS
merchandise/MZGDRS
merchandiser/M
merchandising/M
-merchant/MBS
+merchant/GMBS
+merchantability
merchantman/M
merchantmen
merciful/UY
@@ -34450,6 +35074,7 @@ merino/MS
merit/CSM
merited/U
meriting
+meritless
meritocracy/SM
meritocratic
meritorious/PY
@@ -34545,6 +35170,7 @@ meteorological
meteorologist/SM
meteorology/M
meter/GMD
+metformin
methadone/M
methamphetamine/M
methane/M
@@ -34604,6 +35230,7 @@ microcode
microcomputer/MS
microcosm/MS
microcosmic
+microcredit
microdot/SM
microeconomics/M
microelectronic/S
@@ -34611,12 +35238,14 @@ microelectronics/M
microfiber/MS
microfiche/M
microfilm/GMDS
+microfinance
microfloppies
microgroove/SM
microlight/MS
microloan/MS
-micromanage/GDSL
+micromanage/ZGDRSL
micromanagement/M
+micromanager/M
micrometeorite/SM
micrometer/MS
micron/MS
@@ -34765,7 +35394,7 @@ mimicker/SM
mimicking
mimicry/SM
mimosa/SM
-min
+min/S
minaret/MS
minatory
mince/DRSMZG
@@ -34804,6 +35433,7 @@ minicam/MS
minicomputer/SM
minifloppies
minim/SM
+minima
minimal/Y
minimalism/M
minimalist/MS
@@ -34913,6 +35543,7 @@ misdo/JG
misdoes
misdoing/M
misdone
+mise/CKS
miser/SBMY
miserableness/M
miserably
@@ -34975,6 +35606,7 @@ misquotation/MS
misquote/MGDS
misread/GJS
misreading/M
+misremember/GDS
misreport/MDGS
misrepresent/GDS
misrepresentation/MS
@@ -35042,6 +35674,7 @@ mitotic
mitral
mitt/MNSX
mitten/M
+mitzvah
mix/ZGMDRSB
mixed/U
mixer/M
@@ -35076,6 +35709,7 @@ mocker/M
mockery/SM
mocking/Y
mockingbird/SM
+mocktail/S
mod/STM
modal/SM
modality/S
@@ -35112,6 +35746,7 @@ modify/DRSXZGN
modish/YP
modishness/M
modular
+modularization
modulate/CGNDS
modulation/CM
modulations
@@ -35133,6 +35768,7 @@ moistness/M
moisture/M
moisturize/ZGDRS
moisturizer/M
+mojo/S
molar/SM
molasses/M
mold/MDRJSZG
@@ -35173,6 +35809,7 @@ momentous/PY
momentousness/M
momentum/M
mommy/SM
+monad
monarch/M
monarchic
monarchical
@@ -35190,6 +35827,7 @@ monetarily
monetarism/M
monetarist/MS
monetary
+monetization/C
monetize/CGDS
money/SMD
moneybag/MS
@@ -35228,6 +35866,7 @@ monocular
monodic
monodist/SM
monody/SM
+monofilament
monogamist/MS
monogamous/Y
monogamy/M
@@ -35247,6 +35886,7 @@ monomania/M
monomaniac/MS
monomaniacal
monomer/SM
+monomial
mononucleosis/M
monophonic
monoplane/SM
@@ -35270,6 +35910,8 @@ monotonousness/M
monotony/M
monounsaturated
monoxide/MS
+monozygotic
+monozygous
monseigneur/M
monsieur/M
monsignor/SM
@@ -35326,6 +35968,7 @@ mopping
moraine/SM
moral/SMY
morale/M
+moralism
moralist/MS
moralistic
moralistically
@@ -35570,6 +36213,8 @@ mulligatawny/M
mullion/SMD
multi
multicast
+multicellular
+multichannel
multicolored
multicultural
multiculturalism/M
@@ -35589,6 +36234,7 @@ multilingualism/M
multimedia/M
multimillionaire/SM
multinational/SM
+multipart
multiparty
multiplayer/M
multiple/MS
@@ -35610,6 +36256,7 @@ multitask/GS
multitasking/M
multitude/SM
multitudinous
+multivariable
multivariate
multiverse/SM
multivitamin/MS
@@ -35626,6 +36273,7 @@ mummy/SM
mumps/M
mun
munch/GDS
+munchie/S
munchies/M
munchkin/SM
mundane/SY
@@ -35661,6 +36309,7 @@ muscly
muscular/Y
muscularity/M
musculature/M
+musculoskeletal
musculus
muse/MGDSJ
musette/MS
@@ -35709,6 +36358,7 @@ musty/PTR
mutability/M
mutably
mutagen/MS
+mutagenic
mutant/MS
mutate/XGNVDS
mutation/M
@@ -35817,6 +36467,7 @@ nano
nanobot/S
nanosecond/SM
nanotechnology/SM
+nanotube
nap/SM
napalm/MDSG
nape/MS
@@ -35935,6 +36586,7 @@ neat/NRYPXT
neaten/GD
neath
neatness/M
+neato
nebula/M
nebulae
nebular
@@ -36013,6 +36665,7 @@ nelson/SM
nematode/SM
nemeses
nemesis/M
+neoadjuvant
neoclassic
neoclassical
neoclassicism/M
@@ -36020,6 +36673,7 @@ neocolonialism/M
neocolonialist/MS
neocon/SM
neoconservative/SM
+neocortex
neodymium/M
neolithic
neologism/SM
@@ -36075,14 +36729,15 @@ neurasthenia/M
neurasthenic/MS
neuritic/MS
neuritis/M
+neurocysticercoses
+neurocysticercosis
neurological/Y
neurologist/SM
neurology/M
neuron/MS
neuronal
neurophysiology's
-neuroscience's
-neurosciences
+neuroscience/MS
neuroscientist/MS
neuroses
neurosis/M
@@ -36091,6 +36746,8 @@ neurosurgery/M
neurosurgical
neurotic/MS
neurotically
+neuroticism
+neurotoxin/S
neurotransmitter/SM
neut
neuter/MDGS
@@ -36115,6 +36772,7 @@ newcomer/SM
newel/SM
newfangled
newfound
+newish
newline/S
newlywed/SM
newness/M
@@ -36169,6 +36827,7 @@ nickle/S
nickname/DSMG
nicotine/M
niece/SM
+nifedipine
niff
niffy
nifty/TR
@@ -36250,6 +36909,7 @@ nitpicker/M
nitpicking/M
nitrate/DSMGN
nitration/M
+nitric
nitrification/M
nitrite/SM
nitro
@@ -36258,6 +36918,7 @@ nitrogen/M
nitrogenous
nitroglycerin/M
nitroglycerine/M
+nitty-gritty
nitwit/MS
nix/GMDS
no/SM
@@ -36389,6 +37050,8 @@ nondepreciating
nondescript
nondestructive
nondetachable
+nondeterminism
+nondeterministic
nondisciplinary
nondisclosure/M
nondiscrimination/M
@@ -36469,6 +37132,7 @@ nonmilitant
nonmilitary
nonnarcotic/SM
nonnative/MS
+nonnegative
nonnegotiable
nonnuclear
nonnumerical
@@ -36513,6 +37177,7 @@ nonracial
nonradioactive
nonrandom
nonreactive
+nonreal
nonreciprocal/SM
nonreciprocating
nonrecognition/M
@@ -36635,7 +37300,7 @@ northwest/ZMR
northwester/MY
northwestern
northwestward/S
-nose/MGDS
+nose/MGDSJ
nosebag/S
nosebleed/MS
nosecone/SM
@@ -36787,6 +37452,7 @@ nutcase/S
nutcracker/MS
nuthatch/MS
nuthouse/S
+nutjob/S
nutmeat/SM
nutmeg/SM
nutpick/SM
@@ -36816,6 +37482,7 @@ nympho/S
nymphomania/M
nymphomaniac/SM
nymphs
+nystagmus
née
o
o'clock
@@ -36988,6 +37655,8 @@ octagon/MS
octagonal
octal
octane/MS
+octant/S
+octantal
octave/MS
octavo/MS
octet/SM
@@ -36996,6 +37665,7 @@ octopi
octopus/MS
ocular/MS
oculist/SM
+oculomotor
odalisque/SM
odd/STRYLP
oddball/SM
@@ -37092,7 +37762,7 @@ ointment/SM
okapi/SM
okay/MDSG
okra/MS
-old/TMNRP
+old/STMNRP
oldie/SM
oldish
oldness/M
@@ -37138,6 +37808,7 @@ omnivore/MS
omnivorous/PY
omnivorousness/M
on/Y
+onboard
once/M
oncogene/SM
oncologist/SM
@@ -37198,6 +37869,7 @@ openhandedness/M
openhearted
opening/M
openness/M
+opensource
openwork/M
opera/MS
operable/I
@@ -37217,6 +37889,7 @@ opiate/SM
opine/GNXDS
opinion/M
opinionated
+opioid/S
opium/M
opossum/MS
opp
@@ -37263,6 +37936,7 @@ or
oracle/SM
oracular
oral/MYS
+orality
orange/SMP
orangeade/MS
orangery/SM
@@ -37289,6 +37963,7 @@ ordain/SDLG
ordainment/M
ordeal/SM
order/EAMDGS
+ordered/U
orderings
orderliness/EM
orderly/PSM
@@ -37385,6 +38060,7 @@ osmium/M
osmosis/M
osmotic
osprey/SM
+ossicles
ossification/M
ossify/NGDS
ostensible
@@ -37449,6 +38125,7 @@ outdoorsy
outdraw/GS
outdrawn
outdrew
+outercourse
outermost
outerwear/M
outface/GDS
@@ -37602,6 +38279,7 @@ overbook/DGS
overbore
overborne
overbought
+overbroad
overbuild/SG
overbuilt
overburden/GSD
@@ -37689,6 +38367,7 @@ overhung
overindulge/GDS
overindulgence/M
overindulgent
+overinflated
overjoy/GSD
overkill/M
overladen
@@ -37739,6 +38418,7 @@ overreach/GDS
overreact/SDG
overreaction/SM
overrefined
+overrich/P
overridden
override/MGS
overripe/M
@@ -37839,6 +38519,7 @@ own/ESGD
owner/MS
ownership/M
ox/MN
+oxalate
oxblood/M
oxbow/MS
oxcart/SM
@@ -37846,6 +38527,7 @@ oxford/SM
oxidant/MS
oxidase
oxidation/M
+oxidative
oxide/MS
oxidization/M
oxidize/ZGDRS
@@ -37857,6 +38539,11 @@ oxygenate/DSGN
oxygenation/M
oxymora
oxymoron/M
+oxymoronic
+oxymoronically
+oy
+oyes
+oyez
oyster/SM
oz
ozone/M
@@ -37961,6 +38648,7 @@ palazzo
pale/MYTGPDRSJ
paleface/MS
paleness/M
+paleo
paleographer/MS
paleography/M
paleolithic
@@ -38127,12 +38815,15 @@ paralysis/M
paralytic/SM
paralyze/DSG
paralyzing/Y
+paramagnetic
paramecia
paramecium/M
paramedic/MS
paramedical/MS
parameter/MS
+parameterize/D
parametric
+parametrize/D
paramilitary/SM
paramount
paramountcy
@@ -38191,6 +38882,7 @@ paresis/M
parfait/MS
pariah/M
pariahs
+paribus
parietal
parimutuel/MS
paring/M
@@ -38220,6 +38912,7 @@ parodist/SM
parody/GDSM
parole/MGDS
parolee/MS
+paronychia
parotid
paroxysm/SM
paroxysmal
@@ -38231,7 +38924,7 @@ parricide/MS
parring
parrot/GMDS
parry/GDSM
-parse/DRSG
+parse/DRSZG
parsec/MS
parsimonious/Y
parsimony/M
@@ -38379,6 +39072,7 @@ patriarchate/MS
patriarchs
patriarchy/SM
patrician/SM
+patricidal
patricide/SM
patrimonial
patrimony/SM
@@ -38415,7 +39109,7 @@ pauper/MS
pauperism/M
pauperize/DSG
pause/DSMG
-pave/AGDS
+pave/AZGDRS
paved/U
pavement/MS
pavilion/SM
@@ -38428,6 +39122,7 @@ pawnbroker/MS
pawnbroking/M
pawnshop/MS
pawpaw/MS
+pax
pay's
pay/ASGBL
payback/SM
@@ -38479,6 +39174,7 @@ peat/M
peaty/TR
pebble/MGDS
pebbly
+pebibyte/SM
pecan/SM
peccadillo/M
peccadilloes
@@ -38489,6 +39185,7 @@ pecs
pectic
pectin/M
pectoral/MS
+pectoralis
peculate/GNDS
peculation/M
peculator/SM
@@ -38704,6 +39401,7 @@ perforation/M
perforce
perform/SDRZG
performance/SM
+performant
performative
performed/U
performer/M
@@ -38779,12 +39477,14 @@ permit/MS
permitted
permittee
permitting
+permittivity
permutation/SM
permute/DSG
pernicious/YP
perniciousness/M
peroration/MS
peroxide/MGDS
+perpend
perpendicular/SMY
perpendicularity/M
perpetrate/DSGN
@@ -38796,6 +39496,7 @@ perpetuation/M
perpetuity/M
perplex/GDS
perplexed/Y
+perplexing/Y
perplexity/SM
perquisite/SM
persecute/GNXDS
@@ -38887,6 +39588,7 @@ peter/GMD
petiole/SM
petite/MS
petition/ZGMDRS
+petitionary
petitioner/M
petrel/MS
petrifaction/M
@@ -38941,6 +39643,7 @@ pharaoh/M
pharaohs
pharisaic
pharisee/SM
+pharma/MS
pharmaceutic/MS
pharmaceutical/SM
pharmaceutics/M
@@ -38951,6 +39654,7 @@ pharmacologist/SM
pharmacology/M
pharmacopeia/SM
pharmacopoeia/MS
+pharmacotherapy
pharmacy/SM
pharyngeal
pharynges
@@ -38970,6 +39674,7 @@ phenomenological
phenomenology
phenomenon/MS
phenotype
+phenytoin
pheromone/MS
phew
phi/SM
@@ -39004,6 +39709,7 @@ phisher/M
phlebitis/M
phlebotomist/MS
phlebotomize/GDS
+phlebotomy
phlegm/M
phlegmatic
phlegmatically
@@ -39035,6 +39741,7 @@ phonographs
phonological/Y
phonologist/MS
phonology/M
+phonon
phony/PTGDRSM
phooey
phosphate/MS
@@ -39050,6 +39757,7 @@ photo/SGMD
photocell/MS
photocopier/M
photocopy/DRSMZG
+photodetector/S
photoelectric
photoelectrically
photoengrave/DRSJZG
@@ -39069,6 +39777,8 @@ photojournalist/SM
photometer/MS
photon/MS
photosensitive
+photosensor/S
+photosensory
photostat/SM
photostatic
photostatted
@@ -39080,6 +39790,7 @@ phototropic
phototropism
phototypesetter
phototypesetting
+photovoltaic
phrasal
phrase's
phrase/AGDS
@@ -39091,6 +39802,7 @@ phrenologist/SM
phrenology/M
phyla
phylactery/SM
+phyllo
phylogeny/M
phylum/M
phys
@@ -39112,6 +39824,7 @@ physiology/M
physiotherapist/MS
physiotherapy/M
physique/MS
+phytoplankton
pi/SMDRHZG
pianissimo/SM
pianist/MS
@@ -39145,6 +39858,7 @@ picnicked
picnicker/SM
picnicking
picot/SM
+pictogram/S
pictograph/M
pictographs
pictorial/MYS
@@ -39158,6 +39872,7 @@ pie/SM
piebald/MS
piece/DSMG
piecemeal
+piecewise
piecework/MRZ
pieceworker/M
piecrust/SM
@@ -39334,6 +40049,7 @@ pivot/MDGS
pivotal
pix/M
pixel/MS
+pixelate/DS
pixie/MS
pizazz/M
pizza/MS
@@ -39418,6 +40134,7 @@ plantlike
plaque/SM
plash/MDSG
plasma/M
+plasmon
plaster/SZGMDR
plasterboard/M
plasterer/M
@@ -39476,8 +40193,8 @@ playtime/M
playwright/SM
plaza/MS
plea/MS
-plead/DRZGSJ
-pleader/M
+plead/ADRZGSJ
+pleader's
pleading/MY
pleasant/UTYP
pleasanter
@@ -39729,11 +40446,13 @@ polymeric
polymerization/M
polymerize/GDS
polymorphic
+polymorphically
+polymorphism
polymorphous
polynomial/MS
polynucleotide/SM
polyp/MS
-polypeptide's
+polypeptide/SM
polyphonic
polyphony/M
polypropylene/M
@@ -39818,6 +40537,7 @@ popularity/UM
popularization/M
popularize/DSG
populate/ACGDS
+populated/U
population/CM
populations
populism/M
@@ -39867,6 +40587,7 @@ porticoes
portiere/MS
portion/KSGMD
portière/MS
+portlet/SM
portliness/M
portly/RPT
portmanteau/MS
@@ -39881,15 +40602,16 @@ pose/CAKEGDS
poser/EKSM
poseur/SM
posh/TR
-posit/DSGV
+posit/DSG
position/CKEMS
-positional/K
+positional/KE
positioned/K
-positioning/K
-positive/MYPS
+positioning/AK
+positive/EMYPS
positiveness/M
positivism
positivist/S
+positivity/SM
positron/MS
poss
posse/MS
@@ -39902,6 +40624,7 @@ possibility/SM
possible/SM
possibly
possum/SM
+post-partum
post/ZGMDRSJ
postage/M
postal
@@ -40000,7 +40723,7 @@ poultice/DSMG
poultry/M
pounce/DSMG
pound's
-pound/KDSG
+pound/KDRSZG
poundage/M
pounding/SM
pour/GDSJ
@@ -40031,6 +40754,7 @@ practice/DSMGB
practiced/U
practicum/SM
practitioner/SM
+praecipe
praetor/SM
praetorian
pragmatic/MS
@@ -40060,11 +40784,13 @@ prawn/MDSG
pray/ZGDRS
prayer/M
prayerful/Y
+pre-fill/GDS
preach/DRSZGL
preacher/M
preachment/M
preachy/RT
preadolescence/SM
+preadolescent
preamble/MGDS
prearrange/LGDS
prearrangement/M
@@ -40079,6 +40805,7 @@ precautionary
precede/DSG
precedence/M
precedent/SM
+precedential
precept/SM
preceptor/SM
precinct/MS
@@ -40095,7 +40822,7 @@ precise/DRSYTGNP
preciseness/M
precision/M
preclude/GDS
-preclusion/M
+preclusion/SM
precocious/YP
precociousness/M
precocity/M
@@ -40136,6 +40863,7 @@ predigest/GDS
predilection/SM
predispose/GDS
predisposition/MS
+prednisone
predominance/M
predominant/Y
predominate/YGDS
@@ -40166,6 +40894,7 @@ preferment/M
preferred
preferring
prefigure/GDS
+prefill/GSD
prefix/MDSG
preform/GSD
prefrontal
@@ -40179,6 +40908,7 @@ prehistoric
prehistorical/Y
prehistory/M
prehuman
+preinstall/D
prejudge/LGDS
prejudgement/MS
prejudgment/SM
@@ -40192,6 +40922,7 @@ prelim/SM
preliminarily
preliminary/SM
preliterate
+preload/SGD
prelude/MS
premarital
premature/Y
@@ -40217,17 +40948,19 @@ preoccupation/SM
preoccupy/DSG
preoperative
preordain/GDS
+preowned
prep/MS
prepackage/DSG
prepacked
prepaid
preparation/SM
preparatory
-prepare/GDS
+prepare/ZGDRS
prepared/UP
preparedness/UM
prepay/GSL
prepayment/MS
+prepend/DGS
preponderance/SM
preponderant/Y
preponderate/GDS
@@ -40297,8 +41030,10 @@ pressing/SMY
pressman/M
pressmen
pressure/DSMG
+pressured/U
pressurization/M
pressurize/CGDS
+pressurized/U
pressurizer/SM
prestidigitation/M
prestige/M
@@ -40332,6 +41067,7 @@ prettily
prettiness/M
pretty/TGDRSMP
pretzel/MS
+prev
prevail/DGS
prevalence/M
prevalent
@@ -40456,11 +41192,13 @@ probationer/M
probe/MGDSBJ
probity/M
problem/MS
-problematic
+problematic/U
problematical/Y
probosces
proboscis/MS
procaine/M
+procaryote/SM
+procaryotic
procedural
procedure/SM
proceed/GJDS
@@ -40468,6 +41206,7 @@ proceeding/M
proceeds/M
process's
process/AGDS
+processable
processed/U
procession/GD
processional/MS
@@ -40558,6 +41297,7 @@ projectile/SM
projection/SM
projectionist/SM
projector/MS
+prokaryote/MS
prokaryotic
prole/S
proletarian/MS
@@ -40577,7 +41317,7 @@ prominence/M
prominent/Y
promiscuity/M
promiscuous/Y
-promise/DSMG
+promise/DMG
promising/Y
promissory
promo/M
@@ -40647,6 +41387,7 @@ proportionate/EY
proposal/MS
propped
propping
+propranolol
proprietary/SM
proprieties/M
proprietor/SM
@@ -40674,6 +41415,7 @@ proselyte/DSMG
proselytism/M
proselytize/DRSZG
proselytizer/M
+prosocial
prosody/SM
prospect/MDGVS
prospective/Y
@@ -40774,6 +41516,7 @@ prudish/YP
prudishness/M
prune/MZGDRS
pruner/M
+pruno
prurience/M
prurient/Y
pry/ZTGDRSM
@@ -40830,6 +41573,7 @@ psychopathology
psychopaths
psychopathy/M
psychopharmacology
+psychophysiology
psychos/S
psychosis/M
psychosomatic
@@ -41002,6 +41746,7 @@ purplish
purport/SMDG
purported/Y
purpose/DSMYG
+purposed/A
purposeful/YP
purposefulness/M
purposeless/PY
@@ -41137,8 +41882,11 @@ quantifiable
quantification/M
quantifier/M
quantify/NDRSZG
+quantitation
quantitative/Y
quantity/SM
+quantization
+quantize
quantum/M
quarantine/MGDS
quark/MS
@@ -41157,6 +41905,7 @@ quartermaster/MS
quarterstaff/M
quarterstaves
quartet/SM
+quartile/S
quarto/MS
quartz/M
quasar/MS
@@ -41225,6 +41974,7 @@ quilting/M
quin/S
quince/SM
quine/S
+quinidine
quinine/M
quinoa
quinsy/M
@@ -41318,6 +42068,7 @@ radar/SM
radarscope/SM
raddled
radial/SMY
+radian/S
radiance/M
radiant/Y
radiate/DSGNX
@@ -41423,6 +42174,7 @@ ramble/DRSMZGJ
rambler/M
rambunctious/PY
rambunctiousness/M
+rambutan/S
ramekin/SM
ramie/M
ramification/M
@@ -41430,7 +42182,7 @@ ramify/DSXNG
ramjet/SM
rammed
ramming
-ramp/GMS
+ramp/GMDS
rampage/DSMG
rampancy/M
rampant/Y
@@ -41450,6 +42202,7 @@ rancor/M
rancorous/Y
rand/M
randiness/M
+rando/S
random/PSY
randomization/M
randomize/DSG
@@ -41597,6 +42350,7 @@ reach/MDSGB
reachable/U
reacquire/DSG
react/V
+reactance
reactant/SM
reactionary/SM
reactivity/M
@@ -41651,9 +42405,11 @@ rebid/S
rebidding
rebirth/M
reboil/SDG
+rebrand/G
rebuild/SG
rebuke/DSMG
rebuking/Y
+rebuttable
rebuttal/MS
rec'd
rec/M
@@ -41707,10 +42463,11 @@ recline/DRSZG
recliner/M
recluse/SMV
recognizable/U
-recognizably
+recognizably/U
recognize/DRSGB
recognized/U
recombination
+recommend/ZR
recompense/DSMG
recompile/GD
recon/S
@@ -41718,7 +42475,6 @@ reconcile/GDSB
reconciliation/S
recondite
reconfiguration
-reconfigure/D
reconnaissance/MS
reconnoiter/DGS
reconstruct/V
@@ -41763,12 +42519,14 @@ recurrence/SM
recurrent/Y
recurring
recurse/XNV
+recusal/S
recuse/DSG
recyclable/SM
recycling/M
red/PSM
redact/SDG
-redaction/M
+redacted/U
+redaction/SM
redactor/SM
redbird/SM
redbreast/MS
@@ -41849,8 +42607,10 @@ reflationary
reflect/GVSD
reflection/MS
reflective/Y
+reflectivity
reflector/MS
reflexive/SMY
+reflexivity
reflexology
reforge/DSG
reform/MZ
@@ -41898,6 +42658,7 @@ regenerate/V
regex/M
regexp/S
reggae/M
+regicidal
regicide/MS
regime/SM
regimen/SM
@@ -41913,6 +42674,7 @@ registrant/MS
registrar/MS
registration/SM
registry/SM
+reglet
regnant
regress/MDSGV
regression/MS
@@ -41948,7 +42710,9 @@ rehearsal/MS
rehearsed/U
rehi
rehung
+reify/NDSG
reign/MDSG
+reignite/DSG
reimburse/BDSGL
reimbursement/MS
rein/GD
@@ -41968,7 +42732,8 @@ rejoinder/SM
rejuvenate/DSGN
rejuvenation/M
rel
-relate/DRSXZGNV
+relate/DRSBXZGNV
+related/YP
relatedness/M
relater/M
relation/M
@@ -42095,6 +42860,7 @@ repartee/M
repatriate/XDSMGN
repatriation/M
repeat/SMDRZGB
+repeatability
repeatable/U
repeatably
repeated/Y
@@ -42131,6 +42897,7 @@ reportage/M
reported/Y
reportorial
reposeful
+reposition
repository/SM
reprehend/DGS
reprehensibility/M
@@ -42150,6 +42917,7 @@ reprise/SMG
reproach/GMDSB
reproachful/Y
reprobate/MS
+reproducibility
reproductive
reprogramming
reproving/Y
@@ -42169,9 +42937,11 @@ repurchase/GDS
reputability/M
reputably/E
reputation/MS
+reputational
repute/DSMGB
reputed/Y
request/GDR
+requestor
requiem/SM
require/LDG
requirement/MS
@@ -42184,13 +42954,13 @@ requiter/M
reread/SG
rerecord/GDS
rerunning
+resample/GDS
resat
rescind/SDG
rescission/M
rescue/DRSMZG
rescuer/M
reseal/B
-resell/SG
resemble/DSG
resend
resent/LSDG
@@ -42223,6 +42993,7 @@ resist/SMDRZG
resistance/SM
resistant/U
resistible
+resistivity
resistless
resistor/MS
resit/S
@@ -42250,7 +43021,6 @@ respectably
respectful/EY
respectfulness/M
respective/Y
-respell/SGD
respiration/M
respirator/SM
respiratory
@@ -42305,6 +43075,7 @@ resuscitation/M
resuscitator/SM
retailer/MS
retain/SDRZG
+retainage/S
retainer/M
retake/G
retaliate/DSGNVX
@@ -42325,8 +43096,10 @@ reticence/M
reticent/Y
reticulated
reticulation/MS
+reticulum
retina/SM
retinal
+retinoblastoma
retinue/SM
retiree/SM
retirement/MS
@@ -42352,6 +43125,7 @@ retrofitting
retrograde/DSG
retrogress/GVDS
retrogression/M
+retroreflector/S
retrorocket/MS
retrospect/MDSGV
retrospection/M
@@ -42368,6 +43142,7 @@ revealing/Y
reveille/M
revel/JMDRSZG
revelation/SM
+revelatory
reveler/M
revelry/SM
revenge/MGDS
@@ -42471,6 +43246,7 @@ ribald
ribaldry/M
ribbed
ribber/SM
+ribbie/S
ribbing
ribbon/SM
riboflavin/M
@@ -42622,6 +43398,7 @@ roadblock/MDSG
roadhouse/SM
roadie/MS
roadkill/M
+roadmap/S
roadrunner/SM
roadshow/SM
roadside/SM
@@ -42690,6 +43467,7 @@ rollerskating/M
rollick/SDG
rollicking/M
rollmop/S
+rollout
rollover/SM
romaine/MS
roman/M
@@ -42749,7 +43527,7 @@ rot/SM
rota/S
rotary/SM
rotatably
-rotate/DSGNX
+rotate/DSGNBX
rotation/M
rotational
rotatory
@@ -42908,6 +43686,7 @@ running/M
runny/RT
runoff/SM
runt/MS
+runtime
runty/RT
runway/SM
rupee/SM
@@ -43038,6 +43817,7 @@ saith
sake/M
saki/M
salaam/SMDG
+salability
salable/U
salacious/PY
salaciousness/M
@@ -43163,7 +43943,7 @@ sanitarian/SM
sanitarium/SM
sanitary/IU
sanitation/M
-sanitize/GDS
+sanitize/ZGDRS
sanity/IM
sank
sans
@@ -43310,11 +44090,12 @@ scaffold/SMG
scaffolding/M
scag/S
scagged
+scalability
scalar/S
scalawag/MS
scald/MDSG
scale's
-scale/CGDS
+scale/CGDSB
scaleless
scalene
scaliness/M
@@ -43405,7 +44186,7 @@ schedule's
schedule/ADSG
scheduled/U
scheduler/S
-schema
+schema/S
schemata
schematic/SM
schematically
@@ -43417,6 +44198,7 @@ schilling/MS
schism/SM
schismatic/SM
schist/M
+schistosomiasis
schizo/SM
schizoid/MS
schizophrenia/M
@@ -43495,6 +44277,7 @@ scolding/M
scoliosis/M
sconce/SM
scone/MS
+scooch/DSG
scoop/MDSG
scoopful/MS
scoot/DRSZG
@@ -43505,11 +44288,13 @@ scorch/MDRSZG
scorcher/M
score/MZGDRS
scoreboard/SM
+scorebook/SM
scorecard/MS
scorekeeper/MS
scoreless
scoreline/S
scorer/M
+scoresheet/SM
scorn/MDRSZG
scorner/M
scornful/Y
@@ -43566,7 +44351,7 @@ scree/MDS
screech/GMDS
screechy/TR
screed/S
-screen/SJMDG
+screen/SJMDRZG
screening/M
screenplay/SM
screensaver/SM
@@ -43601,6 +44386,7 @@ scrofula/M
scrofulous
scrog/S
scroll/GSMD
+scrollbar/S
scrooge/MS
scrota
scrotal
@@ -43829,6 +44615,7 @@ segfault/S
segment/GSMD
segmentation/M
segmented/U
+segregable
segregate/CDSGN
segregated/U
segregation/CM
@@ -43853,7 +44640,7 @@ seismologist/MS
seismology/M
seize/GDS
seizure/MS
-seldom
+seldom/Y
select/CSGVD
selection/SM
selective/Y
@@ -43874,8 +44661,9 @@ selfist/S
selfless/PY
selflessness/M
selfsame
-sell/ZGMRS
-seller/M
+sell's
+sell/AZGRS
+seller's
selloff/MS
sellotape/DSG
sellout/MS
@@ -44024,6 +44812,7 @@ sequin/SMD
sequinned
sequitur
sequoia/MS
+sera
seraglio/MS
serape/SM
seraph/M
@@ -44043,7 +44832,7 @@ serge/M
sergeant/MS
serial/SMY
serialization/SM
-serialize/GDS
+serialize/GDSB
series/M
serif/MS
serigraph/M
@@ -44778,6 +45567,7 @@ site/MGDS
sitemap/SM
sitter/SM
sitting/SM
+situ
situate/DSXGN
situation/M
situational
@@ -44847,16 +45637,16 @@ skimp/SDG
skimpily
skimpiness/M
skimpy/RTP
-skin/MS
+skin/AMS
skincare/M
skinflick/MS
skinflint/MS
skinful
skinhead/MS
skinless
-skinned
+skinned/A
skinniness/M
-skinning
+skinning/A
skinny/RMTP
skint
skintight
@@ -45236,7 +46026,7 @@ snarly/TR
snatch/ZGMDRS
snatcher/M
snazzily
-snazzy/TR
+snazzy/TRP
sneak/SMDRZG
sneaker/M
sneakily
@@ -45390,6 +46180,7 @@ sodomize/GDS
sodomy/M
soever
sofa/MS
+soffit/S
soft/NRYXTP
softback
softball/MS
@@ -45477,6 +46268,7 @@ solvency/IM
solvent/IMS
solver/SM
somatic
+somatosensory
somber/PY
somberness/M
sombre/PY
@@ -45652,6 +46444,7 @@ spaceport/SM
spacer/M
spaceship/SM
spacesuit/SM
+spacetime
spacewalk/SGMD
spacewoman/M
spacewomen
@@ -45786,15 +46579,16 @@ speedy/TPR
speleological
speleologist/MS
speleology/M
-spell/JSMDRZG
+spell's
+spell/AJSDG
spellbind/ZGRS
spellbinder/M
spellbound
spellcheck/MDRZGS
spellchecker/M
spelldown/SM
-speller/M
-spelling/M
+speller/MS
+spelling's
spelt
spelunker/MS
spelunking/M
@@ -45839,6 +46633,7 @@ spillage/MS
spillover/SM
spillway/MS
spin/MS
+spina
spinach/M
spinal/SMY
spindle/MGDS
@@ -45846,6 +46641,7 @@ spindly/TR
spine/SM
spineless/YP
spinet/SM
+spinless
spinnaker/SM
spinner/MS
spinneret/SM
@@ -45875,7 +46671,7 @@ spirituous
spirochete/SM
spiry
spit/MDGS
-spitball/SM
+spitball/ZGSMR
spite/ASM
spiteful/PY
spitefuller
@@ -45887,6 +46683,7 @@ spitting
spittle/M
spittoon/MS
spiv/S
+splanchnic
splash/GMDS
splashdown/MS
splashily
@@ -45941,7 +46738,7 @@ sponger/M
sponginess/M
spongy/RPT
sponsor/MDGS
-sponsorship/M
+sponsorship/SM
spontaneity/M
spontaneous/Y
spoof/SMDG
@@ -46302,7 +47099,7 @@ steadiness/UM
steady/TGPDRSM
steak/SM
steakhouse/SM
-steal/SMHG
+steal/SMRHZG
stealth/M
stealthily
stealthiness/M
@@ -46520,6 +47317,7 @@ stony/TRP
stood
stooge/MS
stool/SM
+stoolie/SM
stoop/GSMD
stop's
stop/US
@@ -46534,6 +47332,7 @@ stopper/GSMD
stopping/U
stopple/DSMG
stopwatch/MS
+stopword/S
storage/M
store's
store/ADSG
@@ -46602,6 +47401,7 @@ strategic/S
strategical/Y
strategics/M
strategist/SM
+strategize/DG
strategy/SM
strati
stratification/M
@@ -46624,6 +47424,7 @@ streetcar/MS
streetlamp/S
streetlight/SM
streetwalker/SM
+streetwalking
streetwise
strength/M
strengthen/AGDS
@@ -46639,6 +47440,7 @@ streptomycin/M
stress/MDSG
stressed/U
stressful
+stressors
stretch/BZGMDRS
stretcher/MDG
stretchmarks
@@ -46706,6 +47508,7 @@ stropping
stroppy/TRP
strove
struck
+struct/CFSM
structural/Y
structuralism
structuralist/S
@@ -46770,6 +47573,7 @@ stuntman
stuntmen
stupefaction/M
stupefy/DSG
+stupefying/Y
stupendous/Y
stupid/TMRYS
stupidity/SM
@@ -46823,6 +47627,7 @@ subculture/MS
subcutaneous/Y
subdivide/GDS
subdivision/SM
+subdomain/MS
subdominant
subdue/DSG
subeditor/S
@@ -46875,12 +47680,15 @@ subordinate/DSMGN
subordination/IM
suborn/SGD
subornation/M
+subpar
subparagraph
+subpart
subplot/MS
subpoena/GMDS
subprime
subprofessional/SM
subprogram/S
+subrogate/DSN
subroutine/SM
subscribe/UASDG
subscriber/MS
@@ -46943,6 +47751,7 @@ subtrahend/SM
subtropic/S
subtropical
subtropics/M
+subtweet/S
suburb/MS
suburban/SM
suburbanite/SM
@@ -46976,6 +47785,7 @@ suck/MDRZGS
sucker/GMD
suckle/DSJG
suckling/M
+sucky
sucrose/M
suction/SMDG
sudden/PY
@@ -47138,6 +47948,7 @@ superconducting
superconductive
superconductivity/M
superconductor/SM
+supercritical
superego/MS
supererogation/M
supererogatory
@@ -47164,6 +47975,7 @@ superiority/M
superlative/SMY
superman/M
supermarket/SM
+supermassive
supermen
supermodel/SM
supermom/MS
@@ -47181,9 +47993,11 @@ superscribe/GDS
superscript/MS
superscription/M
supersede/GDS
+superset
supersize/GDS
supersonic
superstar/MS
+superstardom
superstate/S
superstition/MS
superstitious/Y
@@ -47193,6 +48007,7 @@ supertanker/MS
superuser/S
supervene/GDS
supervention/M
+supervillain/MS
supervise/XGNDS
supervised/U
supervision/M
@@ -47226,7 +48041,7 @@ suppose/GDS
supposed/Y
supposition/MS
suppository/SM
-suppress/GDS
+suppress/GVDS
suppressant/MS
suppressible
suppression/M
@@ -47259,6 +48074,7 @@ surge/DSMG
surgeon/MS
surgery/SM
surgical/Y
+surjection/S
surliness/M
surly/PTR
surmise/MGDS
@@ -47314,6 +48130,7 @@ suss/DSG
sustain/SDBG
sustainability
sustainable/U
+sustainably
sustenance/M
sutler/MS
suttee
@@ -47434,6 +48251,8 @@ switchback/MS
switchblade/SM
switchboard/SM
switcher/M
+switcheroo/S
+switchover
swivel/MDGS
swiz
swizz
@@ -47487,6 +48306,7 @@ symbolical/Y
symbolism/M
symbolization/M
symbolize/DSG
+symbology
symmetric/Y
symmetrical/Y
symmetry/SM
@@ -47513,6 +48333,7 @@ synchronicity
synchronization/SM
synchronize/GDS
synchronous/Y
+synchrony
syncopate/DSGN
syncopation/M
syncope/M
@@ -47786,6 +48607,7 @@ tartness/M
tarty/T
taser/GMDS
task/GMDS
+taskbar
taskmaster/MS
taskmistress/MS
tassel/MDSG
@@ -47889,6 +48711,7 @@ teaspoon/SM
teaspoonful/SM
teat/MS
teatime/S
+tebibyte/MS
tech/M
techie/S
technetium/M
@@ -48221,7 +49044,7 @@ theistic
them
thematic
thematically
-theme/DSM
+theme/DSMG
themselves
then/M
thence
@@ -48264,6 +49087,7 @@ thereof
thereon
thereto
theretofore
+thereunder
thereunto
thereupon
therewith
@@ -48348,6 +49172,7 @@ tho
thole/SM
thong/SM
thoracic
+thoracotomy
thorax/MS
thorium/M
thorn/SM
@@ -48465,7 +49290,7 @@ thunderstorm/SM
thunderstruck
thundery
thunk/S
-thus
+thus/Y
thwack/ZGSMDR
thwacker/M
thwart/GSMD
@@ -48673,6 +49498,7 @@ toboggan/ZGSMDR
tobogganer/M
tobogganing/M
toccata/S
+tocopherol
tocsin/SM
today/M
toddle/DRSMZG
@@ -48757,6 +49583,7 @@ tonsorial
tonsure/DSMG
tony/RT
too
+toodles
took/A
tool's
tool/ADGS
@@ -48936,6 +49763,7 @@ trabecula
trabecular
trabecule
trace/JDRSMZG
+traceability
traceable/U
tracer/M
tracery/SM
@@ -48952,7 +49780,7 @@ tracker/M
trackless
tracksuit/S
tract's
-tract/CEKFAS
+tract/CKFEAS
tractability/IM
tractable/I
tractably/I
@@ -48989,7 +49817,8 @@ trail/ZGSMDR
trailblazer/MS
trailblazing/M
trailer/M
-train/ZGSMDRB
+trailhead/S
+train/ZGSMDRBJ
trained/U
trainee/SM
trainer/M
@@ -49041,7 +49870,9 @@ transcribe/ZGDRS
transcriber/M
transcript/MS
transcription/SM
+transcriptional
transducer/MS
+transduction
transect/DSG
transept/MS
transfect/SGD
@@ -49056,6 +49887,8 @@ transfinite
transfix/DSG
transform/BSZGMDR
transformation/SM
+transformational
+transformative
transformer/M
transfuse/DSXGN
transfusion/M
@@ -49130,6 +49963,7 @@ transshipment/M
transshipped
transshipping
transubstantiation/M
+transversal
transverse/MYS
transvestism/M
transvestite/MS
@@ -49187,6 +50021,7 @@ treatise/SM
treatment/MS
treaty/SM
treble/MGDS
+trebuchet/S
tree/MDS
treeing
treeless
@@ -49227,7 +50062,7 @@ trestle/MS
trews
trey/MS
triad/SM
-triage/MGS
+triage/MGDS
trial/ASM
trialed
trialing
@@ -49506,6 +50341,7 @@ tunefulness/M
tuneless/Y
tuner/M
tuneup/SM
+tung
tungsten/M
tunic/SM
tunnel/JSMDRZG
@@ -49687,6 +50523,8 @@ typography/M
typology/SM
tyrannic
tyrannical/Y
+tyrannicidal
+tyrannicide/S
tyrannize/GDS
tyrannosaur/MS
tyrannosaurus/MS
@@ -49694,6 +50532,7 @@ tyrannous
tyranny/SM
tyrant/SM
tyro/MS
+tzatziki
u/S
ubiquitous/Y
ubiquity/M
@@ -49708,7 +50547,7 @@ uhf
ukase/SM
ukulele/SM
ulcer/SM
-ulcerate/XDSGN
+ulcerate/XDSGNV
ulceration/M
ulcerous
ulna/M
@@ -49726,6 +50565,8 @@ ultrahigh
ultralight/SM
ultramarine/M
ultramodern
+ultrasensitive
+ultrashort
ultrasonic
ultrasonically
ultrasound/MS
@@ -49760,7 +50601,9 @@ unanimous/Y
unapparent
unappetizing
unappreciative
+unary
unassertive
+unassimilable
unassuming/Y
unavailing/Y
unaware/S
@@ -49773,6 +50616,7 @@ unblinking/Y
unblushing/Y
unbosom/DG
unbound/D
+unbox/JGDS
unbreakable
unbroken
uncanny/T
@@ -49790,6 +50634,7 @@ uncleanly/T
unclear/DRT
uncomfortable
uncommon/T
+uncompelling
uncomplaining/Y
uncomplicated
uncomprehending/Y
@@ -49866,6 +50711,7 @@ undergrowth/M
underhand
underhanded/PY
underhandedness/M
+underinflated
underlain
underlay/SM
underlie/S
@@ -50050,10 +50896,13 @@ unity/EM
univalent
univalve/SM
universal/MYS
+universalism
+universalist
universality/M
universalize/DSG
universe/SM
university/SM
+univocal
unjust/Y
unkempt
unkind/T
@@ -50117,7 +50966,9 @@ unremitting/Y
unrepentant
unreported
unrepresentative
+unrequest/D
unrest/M
+unrevealing
unripe/TR
unroll/GDS
unromantic
@@ -50256,6 +51107,7 @@ uptempo
upthrust/GSM
uptick/SM
uptight
+uptime
uptown/M
uptrend
upturn/GSMD
@@ -50322,6 +51174,7 @@ usury/M
utensil/SM
uteri
uterine
+utero
uterus/M
utilitarian/MS
utilitarianism/M
@@ -50348,9 +51201,11 @@ vacationer/M
vacationist/SM
vaccinate/GNDSX
vaccination/M
+vaccinator/S
vaccine/SM
vacillate/XGNDS
vacillation/M
+vacinal
vacuity/M
vacuole/MS
vacuous/YP
@@ -50363,6 +51218,7 @@ vagary/SM
vagina/SM
vaginae
vaginal/Y
+vaginitis
vagrancy/M
vagrant/MS
vague/RYTP
@@ -50418,6 +51274,7 @@ vane/MS
vanguard/MS
vanilla/SM
vanish/JDSG
+vanishing/Y
vanity/SM
vanned
vanning
@@ -50545,6 +51402,7 @@ vent/DGS
ventilate/GNDS
ventilation/M
ventilator/SM
+ventilatory
ventral
ventricle/SM
ventricular
@@ -50562,6 +51420,7 @@ veracity/M
veranda/SM
verandah/M
verandahs
+verapamil
verb/KMS
verbal/MYS
verbalization/M
@@ -50620,6 +51479,7 @@ vertebrae
vertebral
vertebrata
vertebrate/IMS
+vertebrobasilar
vertex/MS
vertical/MYS
vertices
@@ -50696,6 +51556,7 @@ vicissitude/SM
victim/MS
victimization/M
victimize/GDS
+victimless
victor/MS
victorious/Y
victory/SM
@@ -50711,7 +51572,7 @@ videophone/MS
videotape/DSMG
videotex
vie/DS
-view/AMDRSZG
+view/AMDRBSZG
viewer/AM
viewership/M
viewfinder/SM
@@ -50858,6 +51719,7 @@ vivace
vivacious/PY
vivaciousness/M
vivacity/M
+vivant/S
vivaria
vivarium/SM
vivid/RYTP
@@ -50905,6 +51767,7 @@ volatile
volatility/M
volatilize/DSG
volcanic
+volcanism
volcano/M
volcanoes
volcanological
@@ -50923,6 +51786,7 @@ volubility/M
voluble
volubly
volume/SM
+volumetric
voluminous/YP
voluminousness/M
voluntarily/I
@@ -50956,6 +51820,7 @@ voyageur/SM
voyeur/MS
voyeurism/M
voyeuristic
+vulcanism
vulcanization/M
vulcanize/GDS
vulgar/RYT
@@ -51100,6 +51965,7 @@ ware/MS
warehouse/DSMG
warez
warfare/M
+warfarin
warhead/MS
warhorse/SM
warily/U
@@ -51227,6 +52093,7 @@ wattle/MGDS
wave/MZGDRS
waveband/S
waveform
+wavefront
wavelength/M
wavelengths
wavelet/SM
@@ -51311,6 +52178,7 @@ webisode/MS
weblog/MS
webmaster/SM
webmistress/MS
+webpage/SM
website/SM
wed/AS
wedded/A
@@ -51355,7 +52223,7 @@ weightlifter/MS
weightlifting/M
weighty/PTR
weir/MS
-weird/PTRY
+weird/PTGDRY
weirdie/MS
weirdness/M
weirdo/MS
@@ -51371,6 +52239,7 @@ wellington/MS
wellness/M
wellspring/MS
welly/S
+welp
welsh/ZGDRS
welsher/M
welt/MDRSZG
@@ -51526,6 +52395,7 @@ whiteboard/S
whitecap/SM
whitefish/MS
whitehead/MS
+whitelist/GDS
whiten/ZGDRJ
whitener/M
whiteness/M
@@ -51593,7 +52463,7 @@ whupping
why'd
why/M
whys
-wick/MDRSZ
+wick/MDRSZGJ
wicked/TPRY
wickedness/M
wicker/M
@@ -51661,6 +52531,7 @@ williwaw/MS
willow/SM
willowy
willpower/M
+willy-nilly
willy/S
wilt/MDSG
wily/RTP
@@ -51733,6 +52604,8 @@ winnower/M
wino/MS
winsome/YTRP
winsomeness/M
+winsorization
+winsorize/GDS
winter/GSMD
wintergreen/M
winterize/GDS
@@ -51763,6 +52636,7 @@ wishbone/SM
wisher/M
wishful/Y
wishlist's
+wishy-washy
wisp/MS
wispy/RT
wist
@@ -51808,6 +52682,7 @@ wizardry/M
wizened
wk/Y
woad/M
+woah
wobble/MGDS
wobbliness/M
wobbly/RTP
@@ -51908,6 +52783,7 @@ word's
word/ADSG
wordage/M
wordbook/SM
+wordie
wordily
wordiness/M
wording/SM
@@ -51915,7 +52791,7 @@ wordless/Y
wordplay/M
wordsmith
wordsmiths
-wordy/TPR
+wordy/TPRS
wore
work's
work/ADJSG
@@ -51952,6 +52828,8 @@ works/M
worksheet/MS
workshop/MS
workshy
+worksite/S
+workspace
workstation/MS
worktable/MS
worktop/S
@@ -52080,6 +52958,7 @@ xcix
xcvi
xcvii
xenon/M
+xenophile/S
xenophobe/MS
xenophobia/M
xenophobic
@@ -52159,6 +53038,7 @@ yawl/MS
yawn/MDRSZG
yawner/M
yaws/M
+yay
yd
ye/RST
yea/SM
@@ -52208,6 +53088,7 @@ yipping
yo
yob/S
yobbo/S
+yobibyte/SM
yodel/SMDRZG
yodeler/M
yoga/M
@@ -52239,6 +53120,10 @@ youthfulness/M
youths
yow
yowl/MDSG
+yowsa
+yowsah
+yowza
+yowzah
yr/S
ytterbium/M
yttrium/M
@@ -52271,6 +53156,7 @@ zealot/MS
zealotry/M
zealous/YP
zealousness/M
+zebibyte/SM
zebra/SM
zebu/MS
zed/SM
@@ -52335,6 +53221,7 @@ zorch
zoster
zounds
zucchini/MS
+zuke/S
zwieback/M
zydeco/M
zygote/SM
diff --git a/gfx/2d/DrawTargetD2D1.cpp b/gfx/2d/DrawTargetD2D1.cpp
index d9deb4c10..a2e854107 100644
--- a/gfx/2d/DrawTargetD2D1.cpp
+++ b/gfx/2d/DrawTargetD2D1.cpp
@@ -14,6 +14,7 @@
#include "FilterNodeD2D1.h"
#include "ExtendInputEffectD2D1.h"
#include "Tools.h"
+#include "nsWindowsHelpers.h"
using namespace std;
@@ -1177,7 +1178,7 @@ DrawTargetD2D1::GetDWriteFactory()
}
decltype(DWriteCreateFactory)* createDWriteFactory;
- HMODULE dwriteModule = LoadLibraryW(L"dwrite.dll");
+ HMODULE dwriteModule = LoadLibrarySystem32(L"dwrite.dll");
createDWriteFactory = (decltype(DWriteCreateFactory)*)
GetProcAddress(dwriteModule, "DWriteCreateFactory");
diff --git a/hal/Hal.cpp b/hal/Hal.cpp
index 67930c355..981f49125 100644
--- a/hal/Hal.cpp
+++ b/hal/Hal.cpp
@@ -264,30 +264,6 @@ private:
bool mHasValidCache;
};
-class BatteryObserversManager : public CachingObserversManager<BatteryInformation>
-{
-protected:
- void EnableNotifications() {
- PROXY_IF_SANDBOXED(EnableBatteryNotifications());
- }
-
- void DisableNotifications() {
- PROXY_IF_SANDBOXED(DisableBatteryNotifications());
- }
-
- void GetCurrentInformationInternal(BatteryInformation* aInfo) {
- PROXY_IF_SANDBOXED(GetCurrentBatteryInformation(aInfo));
- }
-};
-
-static BatteryObserversManager&
-BatteryObservers()
-{
- static BatteryObserversManager sBatteryObservers;
- AssertMainThread();
- return sBatteryObservers;
-}
-
class NetworkObserversManager : public CachingObserversManager<NetworkInformation>
{
protected:
@@ -356,35 +332,6 @@ ScreenConfigurationObservers()
return sScreenConfigurationObservers;
}
-void
-RegisterBatteryObserver(BatteryObserver* aObserver)
-{
- AssertMainThread();
- BatteryObservers().AddObserver(aObserver);
-}
-
-void
-UnregisterBatteryObserver(BatteryObserver* aObserver)
-{
- AssertMainThread();
- BatteryObservers().RemoveObserver(aObserver);
-}
-
-void
-GetCurrentBatteryInformation(BatteryInformation* aInfo)
-{
- AssertMainThread();
- *aInfo = BatteryObservers().GetCurrentInformation();
-}
-
-void
-NotifyBatteryChange(const BatteryInformation& aInfo)
-{
- AssertMainThread();
- BatteryObservers().CacheInformation(aInfo);
- BatteryObservers().BroadcastCachedInformation();
-}
-
bool GetScreenEnabled()
{
AssertMainThread();
diff --git a/hal/Hal.h b/hal/Hal.h
index 5411b387a..53c9e68bb 100644
--- a/hal/Hal.h
+++ b/hal/Hal.h
@@ -10,7 +10,6 @@
#include "base/basictypes.h"
#include "base/platform_thread.h"
#include "nsTArray.h"
-#include "mozilla/dom/battery/Types.h"
#include "mozilla/dom/MozPowerManagerBinding.h"
#include "mozilla/dom/network/Types.h"
#include "mozilla/dom/power/Types.h"
@@ -88,29 +87,6 @@ void CancelVibrate(nsPIDOMWindowInner* aWindow);
void CancelVibrate(const hal::WindowIdentifier &id);
/**
- * Inform the battery backend there is a new battery observer.
- * @param aBatteryObserver The observer that should be added.
- */
-void RegisterBatteryObserver(BatteryObserver* aBatteryObserver);
-
-/**
- * Inform the battery backend a battery observer unregistered.
- * @param aBatteryObserver The observer that should be removed.
- */
-void UnregisterBatteryObserver(BatteryObserver* aBatteryObserver);
-
-/**
- * Returns the current battery information.
- */
-void GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo);
-
-/**
- * Notify of a change in the battery state.
- * @param aBatteryInfo The new battery information.
- */
-void NotifyBatteryChange(const hal::BatteryInformation& aBatteryInfo);
-
-/**
* Determine whether the device's screen is currently enabled.
*/
bool GetScreenEnabled();
diff --git a/hal/cocoa/CocoaBattery.cpp b/hal/cocoa/CocoaBattery.cpp
deleted file mode 100644
index 6f1b7b1dc..000000000
--- a/hal/cocoa/CocoaBattery.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim set: sw=2 ts=2 et lcs=trail\:.,tab\:>~ : */
-/* 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 <CoreFoundation/CoreFoundation.h>
-#import <IOKit/ps/IOPowerSources.h>
-#import <IOKit/ps/IOPSKeys.h>
-
-#include <mozilla/Hal.h>
-#include <mozilla/dom/battery/Constants.h>
-#include <mozilla/Services.h>
-
-#include <nsIObserverService.h>
-#include <nsIObserver.h>
-
-#include <dlfcn.h>
-
-#define IOKIT_FRAMEWORK_PATH "/System/Library/Frameworks/IOKit.framework/IOKit"
-
-#ifndef kIOPSTimeRemainingUnknown
- #define kIOPSTimeRemainingUnknown ((CFTimeInterval)-1.0)
-#endif
-#ifndef kIOPSTimeRemainingUnlimited
- #define kIOPSTimeRemainingUnlimited ((CFTimeInterval)-2.0)
-#endif
-
-using namespace mozilla::dom::battery;
-
-namespace mozilla {
-namespace hal_impl {
-
-typedef CFTimeInterval (*IOPSGetTimeRemainingEstimateFunc)(void);
-
-class MacPowerInformationService
-{
-public:
- static MacPowerInformationService* GetInstance();
- static void Shutdown();
- static bool IsShuttingDown();
-
- void BeginListening();
- void StopListening();
-
- static void HandleChange(void *aContext);
-
- ~MacPowerInformationService();
-
-private:
- MacPowerInformationService();
-
- // The reference to the runloop that is notified of power changes.
- CFRunLoopSourceRef mRunLoopSource;
-
- double mLevel;
- bool mCharging;
- double mRemainingTime;
- bool mShouldNotify;
-
- friend void GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo);
-
- static MacPowerInformationService* sInstance;
- static bool sShuttingDown;
-
- static void* sIOKitFramework;
- static IOPSGetTimeRemainingEstimateFunc sIOPSGetTimeRemainingEstimate;
-};
-
-void* MacPowerInformationService::sIOKitFramework;
-IOPSGetTimeRemainingEstimateFunc MacPowerInformationService::sIOPSGetTimeRemainingEstimate;
-
-/*
- * Implementation of mozilla::hal_impl::EnableBatteryNotifications,
- * mozilla::hal_impl::DisableBatteryNotifications,
- * and mozilla::hal_impl::GetCurrentBatteryInformation.
- */
-
-void
-EnableBatteryNotifications()
-{
- if (!MacPowerInformationService::IsShuttingDown()) {
- MacPowerInformationService::GetInstance()->BeginListening();
- }
-}
-
-void
-DisableBatteryNotifications()
-{
- if (!MacPowerInformationService::IsShuttingDown()) {
- MacPowerInformationService::GetInstance()->StopListening();
- }
-}
-
-void
-GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo)
-{
- MacPowerInformationService* powerService = MacPowerInformationService::GetInstance();
-
- aBatteryInfo->level() = powerService->mLevel;
- aBatteryInfo->charging() = powerService->mCharging;
- aBatteryInfo->remainingTime() = powerService->mRemainingTime;
-}
-
-bool MacPowerInformationService::sShuttingDown = false;
-
-/*
- * Following is the implementation of MacPowerInformationService.
- */
-
-MacPowerInformationService* MacPowerInformationService::sInstance = nullptr;
-
-namespace {
-struct SingletonDestroyer final : public nsIObserver
-{
- NS_DECL_ISUPPORTS
- NS_DECL_NSIOBSERVER
-
-private:
- ~SingletonDestroyer() {}
-};
-
-NS_IMPL_ISUPPORTS(SingletonDestroyer, nsIObserver)
-
-NS_IMETHODIMP
-SingletonDestroyer::Observe(nsISupports*, const char* aTopic, const char16_t*)
-{
- MOZ_ASSERT(!strcmp(aTopic, "xpcom-shutdown"));
- MacPowerInformationService::Shutdown();
- return NS_OK;
-}
-} // namespace
-
-/* static */ MacPowerInformationService*
-MacPowerInformationService::GetInstance()
-{
- if (sInstance) {
- return sInstance;
- }
-
- sInstance = new MacPowerInformationService();
-
- nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
- if (obs) {
- obs->AddObserver(new SingletonDestroyer(), "xpcom-shutdown", false);
- }
-
- return sInstance;
-}
-
-bool
-MacPowerInformationService::IsShuttingDown()
-{
- return sShuttingDown;
-}
-
-void
-MacPowerInformationService::Shutdown()
-{
- sShuttingDown = true;
- delete sInstance;
- sInstance = nullptr;
-}
-
-MacPowerInformationService::MacPowerInformationService()
- : mRunLoopSource(nullptr)
- , mLevel(kDefaultLevel)
- , mCharging(kDefaultCharging)
- , mRemainingTime(kDefaultRemainingTime)
- , mShouldNotify(false)
-{
- // IOPSGetTimeRemainingEstimate (and the related constants) are only available
- // on 10.7, so we test for their presence at runtime.
- sIOKitFramework = dlopen(IOKIT_FRAMEWORK_PATH, RTLD_LAZY | RTLD_LOCAL);
- if (sIOKitFramework) {
- sIOPSGetTimeRemainingEstimate =
- (IOPSGetTimeRemainingEstimateFunc)dlsym(sIOKitFramework, "IOPSGetTimeRemainingEstimate");
- } else {
- sIOPSGetTimeRemainingEstimate = nullptr;
- }
-}
-
-MacPowerInformationService::~MacPowerInformationService()
-{
- MOZ_ASSERT(!mRunLoopSource,
- "The observers have not been correctly removed! "
- "(StopListening should have been called)");
-
- if (sIOKitFramework) {
- dlclose(sIOKitFramework);
- }
-}
-
-void
-MacPowerInformationService::BeginListening()
-{
- // Set ourselves up to be notified about changes.
- MOZ_ASSERT(!mRunLoopSource, "IOPS Notification Loop Source already set up. "
- "(StopListening should have been called)");
-
- mRunLoopSource = ::IOPSNotificationCreateRunLoopSource(HandleChange, this);
- if (mRunLoopSource) {
- ::CFRunLoopAddSource(::CFRunLoopGetCurrent(), mRunLoopSource,
- kCFRunLoopDefaultMode);
-
- // Invoke our callback now so we have data if GetCurrentBatteryInformation is
- // called before a change happens.
- HandleChange(this);
- mShouldNotify = true;
- }
-}
-
-void
-MacPowerInformationService::StopListening()
-{
- MOZ_ASSERT(mRunLoopSource, "IOPS Notification Loop Source not set up. "
- "(StopListening without BeginListening)");
-
- ::CFRunLoopRemoveSource(::CFRunLoopGetCurrent(), mRunLoopSource,
- kCFRunLoopDefaultMode);
- mRunLoopSource = nullptr;
-}
-
-void
-MacPowerInformationService::HandleChange(void* aContext) {
- MacPowerInformationService* power =
- static_cast<MacPowerInformationService*>(aContext);
-
- CFTypeRef data = ::IOPSCopyPowerSourcesInfo();
- if (!data) {
- ::CFRelease(data);
- return;
- }
-
- // Get the list of power sources.
- CFArrayRef list = ::IOPSCopyPowerSourcesList(data);
- if (!list) {
- ::CFRelease(list);
- return;
- }
-
- // Default values. These will be used if there are 0 sources or we can't find
- // better information.
- double level = kDefaultLevel;
- double charging = kDefaultCharging;
- double remainingTime = kDefaultRemainingTime;
-
- // Look for the first battery power source to give us the information we need.
- // Usually there's only 1 available, depending on current power source.
- for (CFIndex i = 0; i < ::CFArrayGetCount(list); ++i) {
- CFTypeRef source = ::CFArrayGetValueAtIndex(list, i);
- CFDictionaryRef currPowerSourceDesc = ::IOPSGetPowerSourceDescription(data, source);
- if (!currPowerSourceDesc) {
- continue;
- }
-
- // Get a battery level estimate. This key is required.
- int currentCapacity = 0;
- const void* cfRef = ::CFDictionaryGetValue(currPowerSourceDesc, CFSTR(kIOPSCurrentCapacityKey));
- ::CFNumberGetValue((CFNumberRef)cfRef, kCFNumberSInt32Type, &currentCapacity);
-
- // This key is also required.
- int maxCapacity = 0;
- cfRef = ::CFDictionaryGetValue(currPowerSourceDesc, CFSTR(kIOPSMaxCapacityKey));
- ::CFNumberGetValue((CFNumberRef)cfRef, kCFNumberSInt32Type, &maxCapacity);
-
- if (maxCapacity > 0) {
- level = static_cast<double>(currentCapacity)/static_cast<double>(maxCapacity);
- }
-
- // Find out if we're charging.
- // This key is optional, we fallback to kDefaultCharging if the current power
- // source doesn't have that info.
- if(::CFDictionaryGetValueIfPresent(currPowerSourceDesc, CFSTR(kIOPSIsChargingKey), &cfRef)) {
- charging = ::CFBooleanGetValue((CFBooleanRef)cfRef);
-
- // Get an estimate of how long it's going to take until we're fully charged.
- // This key is optional.
- if (charging) {
- // Default value that will be changed if we happen to find the actual
- // remaining time.
- remainingTime = level == 1.0 ? kDefaultRemainingTime : kUnknownRemainingTime;
-
- if (::CFDictionaryGetValueIfPresent(currPowerSourceDesc,
- CFSTR(kIOPSTimeToFullChargeKey), &cfRef)) {
- int timeToCharge;
- ::CFNumberGetValue((CFNumberRef)cfRef, kCFNumberIntType, &timeToCharge);
- if (timeToCharge != kIOPSTimeRemainingUnknown) {
- remainingTime = timeToCharge*60;
- }
- }
- } else if (sIOPSGetTimeRemainingEstimate) { // not charging
- // See if we can get a time estimate.
- CFTimeInterval estimate = sIOPSGetTimeRemainingEstimate();
- if (estimate == kIOPSTimeRemainingUnlimited || estimate == kIOPSTimeRemainingUnknown) {
- remainingTime = kUnknownRemainingTime;
- } else {
- remainingTime = estimate;
- }
- }
- }
-
- break;
- }
-
- bool isNewData = level != power->mLevel || charging != power->mCharging ||
- remainingTime != power->mRemainingTime;
-
- power->mRemainingTime = remainingTime;
- power->mCharging = charging;
- power->mLevel = level;
-
- // Notify the observers if stuff changed.
- if (power->mShouldNotify && isNewData) {
- hal::NotifyBatteryChange(hal::BatteryInformation(power->mLevel,
- power->mCharging,
- power->mRemainingTime));
- }
-
- ::CFRelease(data);
- ::CFRelease(list);
-}
-
-} // namespace hal_impl
-} // namespace mozilla
diff --git a/hal/fallback/FallbackBattery.cpp b/hal/fallback/FallbackBattery.cpp
deleted file mode 100644
index 3e5e71574..000000000
--- a/hal/fallback/FallbackBattery.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
-/* 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/. */
-
-#include "Hal.h"
-#include "mozilla/dom/battery/Constants.h"
-
-namespace mozilla {
-namespace hal_impl {
-
-void
-EnableBatteryNotifications()
-{}
-
-void
-DisableBatteryNotifications()
-{}
-
-void
-GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo)
-{
- aBatteryInfo->level() = dom::battery::kDefaultLevel;
- aBatteryInfo->charging() = dom::battery::kDefaultCharging;
- aBatteryInfo->remainingTime() = dom::battery::kDefaultRemainingTime;
-}
-
-} // hal_impl
-} // namespace mozilla
diff --git a/hal/linux/UPowerClient.cpp b/hal/linux/UPowerClient.cpp
deleted file mode 100644
index 9f6e04379..000000000
--- a/hal/linux/UPowerClient.cpp
+++ /dev/null
@@ -1,508 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#include "Hal.h"
-#include "HalLog.h"
-#include <dbus/dbus-glib.h>
-#include <dbus/dbus-glib-lowlevel.h>
-#include <mozilla/Attributes.h>
-#include <mozilla/dom/battery/Constants.h>
-#include "nsAutoRef.h"
-#include <cmath>
-
-/*
- * Helper that manages the destruction of glib objects as soon as they leave
- * the current scope.
- *
- * We are specializing nsAutoRef class.
- */
-
-template <>
-class nsAutoRefTraits<GHashTable> : public nsPointerRefTraits<GHashTable>
-{
-public:
- static void Release(GHashTable* ptr) { g_hash_table_unref(ptr); }
-};
-
-using namespace mozilla::dom::battery;
-
-namespace mozilla {
-namespace hal_impl {
-
-/**
- * This is the declaration of UPowerClient class. This class is listening and
- * communicating to upower daemon through DBus.
- * There is no header file because this class shouldn't be public.
- */
-class UPowerClient
-{
-public:
- static UPowerClient* GetInstance();
-
- void BeginListening();
- void StopListening();
-
- double GetLevel();
- bool IsCharging();
- double GetRemainingTime();
-
- ~UPowerClient();
-
-private:
- UPowerClient();
-
- enum States {
- eState_Unknown = 0,
- eState_Charging,
- eState_Discharging,
- eState_Empty,
- eState_FullyCharged,
- eState_PendingCharge,
- eState_PendingDischarge
- };
-
- /**
- * Update the currently tracked device.
- * @return whether everything went ok.
- */
- void UpdateTrackedDeviceSync();
-
- /**
- * Returns a hash table with the properties of aDevice.
- * Note: the caller has to unref the hash table.
- */
- GHashTable* GetDevicePropertiesSync(DBusGProxy* aProxy);
- void GetDevicePropertiesAsync(DBusGProxy* aProxy);
- static void GetDevicePropertiesCallback(DBusGProxy* aProxy,
- DBusGProxyCall* aCall,
- void* aData);
-
- /**
- * Using the device properties (aHashTable), this method updates the member
- * variable storing the values we care about.
- */
- void UpdateSavedInfo(GHashTable* aHashTable);
-
- /**
- * Callback used by 'DeviceChanged' signal.
- */
- static void DeviceChanged(DBusGProxy* aProxy, const gchar* aObjectPath,
- UPowerClient* aListener);
-
- /**
- * Callback used by 'PropertiesChanged' signal.
- * This method is called when the the battery level changes.
- * (Only with upower >= 0.99)
- */
- static void PropertiesChanged(DBusGProxy* aProxy, const gchar*,
- GHashTable*, char**,
- UPowerClient* aListener);
-
- /**
- * Callback called when mDBusConnection gets a signal.
- */
- static DBusHandlerResult ConnectionSignalFilter(DBusConnection* aConnection,
- DBusMessage* aMessage,
- void* aData);
-
- // The DBus connection object.
- DBusGConnection* mDBusConnection;
-
- // The DBus proxy object to upower.
- DBusGProxy* mUPowerProxy;
-
- // The path of the tracked device.
- gchar* mTrackedDevice;
-
- // The DBusGProxy for the tracked device.
- DBusGProxy* mTrackedDeviceProxy;
-
- double mLevel;
- bool mCharging;
- double mRemainingTime;
-
- static UPowerClient* sInstance;
-
- static const guint sDeviceTypeBattery = 2;
- static const guint64 kUPowerUnknownRemainingTime = 0;
-};
-
-/*
- * Implementation of mozilla::hal_impl::EnableBatteryNotifications,
- * mozilla::hal_impl::DisableBatteryNotifications,
- * and mozilla::hal_impl::GetCurrentBatteryInformation.
- */
-
-void
-EnableBatteryNotifications()
-{
- UPowerClient::GetInstance()->BeginListening();
-}
-
-void
-DisableBatteryNotifications()
-{
- UPowerClient::GetInstance()->StopListening();
-}
-
-void
-GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo)
-{
- UPowerClient* upowerClient = UPowerClient::GetInstance();
-
- aBatteryInfo->level() = upowerClient->GetLevel();
- aBatteryInfo->charging() = upowerClient->IsCharging();
- aBatteryInfo->remainingTime() = upowerClient->GetRemainingTime();
-}
-
-/*
- * Following is the implementation of UPowerClient.
- */
-
-UPowerClient* UPowerClient::sInstance = nullptr;
-
-/* static */ UPowerClient*
-UPowerClient::GetInstance()
-{
- if (!sInstance) {
- sInstance = new UPowerClient();
- }
-
- return sInstance;
-}
-
-UPowerClient::UPowerClient()
- : mDBusConnection(nullptr)
- , mUPowerProxy(nullptr)
- , mTrackedDevice(nullptr)
- , mTrackedDeviceProxy(nullptr)
- , mLevel(kDefaultLevel)
- , mCharging(kDefaultCharging)
- , mRemainingTime(kDefaultRemainingTime)
-{
-}
-
-UPowerClient::~UPowerClient()
-{
- NS_ASSERTION(!mDBusConnection && !mUPowerProxy && !mTrackedDevice && !mTrackedDeviceProxy,
- "The observers have not been correctly removed! "
- "(StopListening should have been called)");
-}
-
-void
-UPowerClient::BeginListening()
-{
- GError* error = nullptr;
- mDBusConnection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
-
- if (!mDBusConnection) {
- HAL_LOG("Failed to open connection to bus: %s\n", error->message);
- g_error_free(error);
- return;
- }
-
- DBusConnection* dbusConnection =
- dbus_g_connection_get_connection(mDBusConnection);
-
- // Make sure we do not exit the entire program if DBus connection get lost.
- dbus_connection_set_exit_on_disconnect(dbusConnection, false);
-
- // Listening to signals the DBus connection is going to get so we will know
- // when it is lost and we will be able to disconnect cleanly.
- dbus_connection_add_filter(dbusConnection, ConnectionSignalFilter, this,
- nullptr);
-
- mUPowerProxy = dbus_g_proxy_new_for_name(mDBusConnection,
- "org.freedesktop.UPower",
- "/org/freedesktop/UPower",
- "org.freedesktop.UPower");
-
- UpdateTrackedDeviceSync();
-
- /*
- * TODO: we should probably listen to DeviceAdded and DeviceRemoved signals.
- * If we do that, we would have to disconnect from those in StopListening.
- * It's not yet implemented because it requires testing hot plugging and
- * removal of a battery.
- */
- dbus_g_proxy_add_signal(mUPowerProxy, "DeviceChanged", G_TYPE_STRING,
- G_TYPE_INVALID);
- dbus_g_proxy_connect_signal(mUPowerProxy, "DeviceChanged",
- G_CALLBACK (DeviceChanged), this, nullptr);
-}
-
-void
-UPowerClient::StopListening()
-{
- // If mDBusConnection isn't initialized, that means we are not really listening.
- if (!mDBusConnection) {
- return;
- }
-
- dbus_connection_remove_filter(
- dbus_g_connection_get_connection(mDBusConnection),
- ConnectionSignalFilter, this);
-
- dbus_g_proxy_disconnect_signal(mUPowerProxy, "DeviceChanged",
- G_CALLBACK (DeviceChanged), this);
-
- g_free(mTrackedDevice);
- mTrackedDevice = nullptr;
-
- if (mTrackedDeviceProxy) {
- dbus_g_proxy_disconnect_signal(mTrackedDeviceProxy, "PropertiesChanged",
- G_CALLBACK (PropertiesChanged), this);
-
- g_object_unref(mTrackedDeviceProxy);
- mTrackedDeviceProxy = nullptr;
- }
-
- g_object_unref(mUPowerProxy);
- mUPowerProxy = nullptr;
-
- dbus_g_connection_unref(mDBusConnection);
- mDBusConnection = nullptr;
-
- // We should now show the default values, not the latest we got.
- mLevel = kDefaultLevel;
- mCharging = kDefaultCharging;
- mRemainingTime = kDefaultRemainingTime;
-}
-
-void
-UPowerClient::UpdateTrackedDeviceSync()
-{
- GType typeGPtrArray = dbus_g_type_get_collection("GPtrArray",
- DBUS_TYPE_G_OBJECT_PATH);
- GPtrArray* devices = nullptr;
- GError* error = nullptr;
-
- // Reset the current tracked device:
- g_free(mTrackedDevice);
- mTrackedDevice = nullptr;
-
- // Reset the current tracked device proxy:
- if (mTrackedDeviceProxy) {
- dbus_g_proxy_disconnect_signal(mTrackedDeviceProxy, "PropertiesChanged",
- G_CALLBACK (PropertiesChanged), this);
-
- g_object_unref(mTrackedDeviceProxy);
- mTrackedDeviceProxy = nullptr;
- }
-
- // If that fails, that likely means upower isn't installed.
- if (!dbus_g_proxy_call(mUPowerProxy, "EnumerateDevices", &error, G_TYPE_INVALID,
- typeGPtrArray, &devices, G_TYPE_INVALID)) {
- HAL_LOG("Error: %s\n", error->message);
- g_error_free(error);
- return;
- }
-
- /*
- * We are looking for the first device that is a battery.
- * TODO: we could try to combine more than one battery.
- */
- for (guint i=0; i<devices->len; ++i) {
- gchar* devicePath = static_cast<gchar*>(g_ptr_array_index(devices, i));
-
- DBusGProxy* proxy = dbus_g_proxy_new_from_proxy(mUPowerProxy,
- "org.freedesktop.DBus.Properties",
- devicePath);
-
- nsAutoRef<GHashTable> hashTable(GetDevicePropertiesSync(proxy));
-
- if (g_value_get_uint(static_cast<const GValue*>(g_hash_table_lookup(hashTable, "Type"))) == sDeviceTypeBattery) {
- UpdateSavedInfo(hashTable);
- mTrackedDevice = devicePath;
- mTrackedDeviceProxy = proxy;
- break;
- }
-
- g_object_unref(proxy);
- g_free(devicePath);
- }
-
- if (mTrackedDeviceProxy) {
- dbus_g_proxy_add_signal(mTrackedDeviceProxy, "PropertiesChanged",
- G_TYPE_STRING,
- dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
- G_TYPE_VALUE),
- G_TYPE_STRV, G_TYPE_INVALID);
- dbus_g_proxy_connect_signal(mTrackedDeviceProxy, "PropertiesChanged",
- G_CALLBACK (PropertiesChanged), this, nullptr);
- }
-
- g_ptr_array_free(devices, true);
-}
-
-/* static */ void
-UPowerClient::DeviceChanged(DBusGProxy* aProxy, const gchar* aObjectPath,
- UPowerClient* aListener)
-{
- if (!aListener->mTrackedDevice) {
- return;
- }
-
-#if GLIB_MAJOR_VERSION >= 2 && GLIB_MINOR_VERSION >= 16
- if (g_strcmp0(aObjectPath, aListener->mTrackedDevice)) {
-#else
- if (g_ascii_strcasecmp(aObjectPath, aListener->mTrackedDevice)) {
-#endif
- return;
- }
-
- aListener->GetDevicePropertiesAsync(aListener->mTrackedDeviceProxy);
-}
-
-/* static */ void
-UPowerClient::PropertiesChanged(DBusGProxy* aProxy, const gchar*, GHashTable*,
- char**, UPowerClient* aListener)
-{
- aListener->GetDevicePropertiesAsync(aListener->mTrackedDeviceProxy);
-}
-
-/* static */ DBusHandlerResult
-UPowerClient::ConnectionSignalFilter(DBusConnection* aConnection,
- DBusMessage* aMessage, void* aData)
-{
- if (dbus_message_is_signal(aMessage, DBUS_INTERFACE_LOCAL, "Disconnected")) {
- static_cast<UPowerClient*>(aData)->StopListening();
- // We do not return DBUS_HANDLER_RESULT_HANDLED here because the connection
- // might be shared and some other filters might want to do something.
- }
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
-GHashTable*
-UPowerClient::GetDevicePropertiesSync(DBusGProxy* aProxy)
-{
- GError* error = nullptr;
- GHashTable* hashTable = nullptr;
- GType typeGHashTable = dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
- G_TYPE_VALUE);
- if (!dbus_g_proxy_call(aProxy, "GetAll", &error, G_TYPE_STRING,
- "org.freedesktop.UPower.Device", G_TYPE_INVALID,
- typeGHashTable, &hashTable, G_TYPE_INVALID)) {
- HAL_LOG("Error: %s\n", error->message);
- g_error_free(error);
- return nullptr;
- }
-
- return hashTable;
-}
-
-/* static */ void
-UPowerClient::GetDevicePropertiesCallback(DBusGProxy* aProxy,
- DBusGProxyCall* aCall, void* aData)
-{
- GError* error = nullptr;
- GHashTable* hashTable = nullptr;
- GType typeGHashTable = dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
- G_TYPE_VALUE);
- if (!dbus_g_proxy_end_call(aProxy, aCall, &error, typeGHashTable,
- &hashTable, G_TYPE_INVALID)) {
- HAL_LOG("Error: %s\n", error->message);
- g_error_free(error);
- } else {
- sInstance->UpdateSavedInfo(hashTable);
- hal::NotifyBatteryChange(hal::BatteryInformation(sInstance->mLevel,
- sInstance->mCharging,
- sInstance->mRemainingTime));
- g_hash_table_unref(hashTable);
- }
-}
-
-void
-UPowerClient::GetDevicePropertiesAsync(DBusGProxy* aProxy)
-{
- dbus_g_proxy_begin_call(aProxy, "GetAll", GetDevicePropertiesCallback, nullptr,
- nullptr, G_TYPE_STRING,
- "org.freedesktop.UPower.Device", G_TYPE_INVALID);
-}
-
-void
-UPowerClient::UpdateSavedInfo(GHashTable* aHashTable)
-{
- bool isFull = false;
-
- /*
- * State values are confusing...
- * First of all, after looking at upower sources (0.9.13), it seems that
- * PendingDischarge and PendingCharge are not used.
- * In addition, FullyCharged and Empty states are not clear because we do not
- * know if the battery is actually charging or not. Those values come directly
- * from sysfs (in the Linux kernel) which have four states: "Empty", "Full",
- * "Charging" and "Discharging". In sysfs, "Empty" and "Full" are also only
- * related to the level, not to the charging state.
- * In this code, we are going to assume that Full means charging and Empty
- * means discharging because if that is not the case, the state should not
- * last a long time (actually, it should disappear at the following update).
- * It might be even very hard to see real cases where the state is Empty and
- * the battery is charging or the state is Full and the battery is discharging
- * given that plugging/unplugging the battery should have an impact on the
- * level.
- */
- switch (g_value_get_uint(static_cast<const GValue*>(g_hash_table_lookup(aHashTable, "State")))) {
- case eState_Unknown:
- mCharging = kDefaultCharging;
- break;
- case eState_FullyCharged:
- isFull = true;
- MOZ_FALLTHROUGH;
- case eState_Charging:
- case eState_PendingCharge:
- mCharging = true;
- break;
- case eState_Discharging:
- case eState_Empty:
- case eState_PendingDischarge:
- mCharging = false;
- break;
- }
-
- /*
- * The battery level might be very close to 100% (like 99%) without
- * increasing. It seems that upower sets the battery state as 'full' in that
- * case so we should trust it and not even try to get the value.
- */
- if (isFull) {
- mLevel = 1.0;
- } else {
- mLevel = round(g_value_get_double(static_cast<const GValue*>(g_hash_table_lookup(aHashTable, "Percentage"))))*0.01;
- }
-
- if (isFull) {
- mRemainingTime = 0;
- } else {
- mRemainingTime = mCharging ? g_value_get_int64(static_cast<const GValue*>(g_hash_table_lookup(aHashTable, "TimeToFull")))
- : g_value_get_int64(static_cast<const GValue*>(g_hash_table_lookup(aHashTable, "TimeToEmpty")));
-
- if (mRemainingTime == kUPowerUnknownRemainingTime) {
- mRemainingTime = kUnknownRemainingTime;
- }
- }
-}
-
-double
-UPowerClient::GetLevel()
-{
- return mLevel;
-}
-
-bool
-UPowerClient::IsCharging()
-{
- return mCharging;
-}
-
-double
-UPowerClient::GetRemainingTime()
-{
- return mRemainingTime;
-}
-
-} // namespace hal_impl
-} // namespace mozilla
diff --git a/hal/moz.build b/hal/moz.build
index a1acfa320..d817e4a01 100644
--- a/hal/moz.build
+++ b/hal/moz.build
@@ -34,14 +34,6 @@ if CONFIG['OS_TARGET'] == 'Linux':
'linux/LinuxMemory.cpp',
'linux/LinuxPower.cpp',
]
- if CONFIG['MOZ_ENABLE_DBUS']:
- UNIFIED_SOURCES += [
- 'linux/UPowerClient.cpp',
- ]
- else:
- UNIFIED_SOURCES += [
- 'fallback/FallbackBattery.cpp',
- ]
elif CONFIG['OS_TARGET'] == 'WINNT':
UNIFIED_SOURCES += [
'fallback/FallbackAlarm.cpp',
@@ -51,13 +43,8 @@ elif CONFIG['OS_TARGET'] == 'WINNT':
'fallback/FallbackVibration.cpp',
'windows/WindowsSensor.cpp',
]
- # WindowsBattery.cpp cannot be built in unified mode because it relies on HalImpl.h.
- SOURCES += [
- 'windows/WindowsBattery.cpp',
- ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
UNIFIED_SOURCES += [
- 'cocoa/CocoaBattery.cpp',
'fallback/FallbackAlarm.cpp',
'fallback/FallbackMemory.cpp',
'fallback/FallbackPower.cpp',
@@ -73,18 +60,9 @@ elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
'fallback/FallbackSensor.cpp',
'fallback/FallbackVibration.cpp',
]
- if CONFIG['MOZ_ENABLE_DBUS']:
- UNIFIED_SOURCES += [
- 'linux/UPowerClient.cpp',
- ]
- else:
- UNIFIED_SOURCES += [
- 'fallback/FallbackBattery.cpp',
- ]
else:
UNIFIED_SOURCES += [
'fallback/FallbackAlarm.cpp',
- 'fallback/FallbackBattery.cpp',
'fallback/FallbackMemory.cpp',
'fallback/FallbackPower.cpp',
'fallback/FallbackScreenConfiguration.cpp',
diff --git a/hal/sandbox/PHal.ipdl b/hal/sandbox/PHal.ipdl
index 1af550aff..8701e1219 100644
--- a/hal/sandbox/PHal.ipdl
+++ b/hal/sandbox/PHal.ipdl
@@ -20,12 +20,6 @@ using PRTime from "prtime.h";
namespace mozilla {
namespace hal {
-struct BatteryInformation {
- double level;
- bool charging;
- double remainingTime;
-};
-
struct SensorData {
SensorType sensor;
PRTime timestamp;
@@ -69,7 +63,6 @@ nested(upto inside_cpow) sync protocol PHal {
manager PContent;
child:
- async NotifyBatteryChange(BatteryInformation aBatteryInfo);
async NotifyNetworkChange(NetworkInformation aNetworkInfo);
async NotifyWakeLockChange(WakeLockInformation aWakeLockInfo);
async NotifyScreenConfigurationChange(ScreenConfiguration aScreenOrientation);
@@ -80,11 +73,6 @@ parent:
async Vibrate(uint32_t[] pattern, uint64_t[] id, PBrowser browser);
async CancelVibrate(uint64_t[] id, PBrowser browser);
- async EnableBatteryNotifications();
- async DisableBatteryNotifications();
- sync GetCurrentBatteryInformation()
- returns (BatteryInformation aBatteryInfo);
-
async EnableNetworkNotifications();
async DisableNetworkNotifications();
sync GetCurrentNetworkInformation()
diff --git a/hal/sandbox/SandboxHal.cpp b/hal/sandbox/SandboxHal.cpp
index aeaeb724e..579f3b472 100644
--- a/hal/sandbox/SandboxHal.cpp
+++ b/hal/sandbox/SandboxHal.cpp
@@ -13,7 +13,6 @@
#include "mozilla/hal_sandbox/PHalParent.h"
#include "mozilla/dom/TabParent.h"
#include "mozilla/dom/TabChild.h"
-#include "mozilla/dom/battery/Types.h"
#include "mozilla/dom/network/Types.h"
#include "mozilla/dom/ScreenOrientation.h"
#include "mozilla/EnumeratedRange.h"
@@ -70,24 +69,6 @@ CancelVibrate(const WindowIdentifier &id)
}
void
-EnableBatteryNotifications()
-{
- Hal()->SendEnableBatteryNotifications();
-}
-
-void
-DisableBatteryNotifications()
-{
- Hal()->SendDisableBatteryNotifications();
-}
-
-void
-GetCurrentBatteryInformation(BatteryInformation* aBatteryInfo)
-{
- Hal()->SendGetCurrentBatteryInformation(aBatteryInfo);
-}
-
-void
EnableNetworkNotifications()
{
Hal()->SendEnableNetworkNotifications();
@@ -376,7 +357,6 @@ bool SystemServiceIsRunning(const char* aSvcName)
}
class HalParent : public PHalParent
- , public BatteryObserver
, public NetworkObserver
, public ISensorObserver
, public WakeLockObserver
@@ -390,7 +370,6 @@ public:
{
// NB: you *must* unconditionally unregister your observer here,
// if it *may* be registered below.
- hal::UnregisterBatteryObserver(this);
hal::UnregisterNetworkObserver(this);
hal::UnregisterScreenConfigurationObserver(this);
for (auto sensor : MakeEnumeratedRange(NUM_SENSOR_TYPE)) {
@@ -432,30 +411,6 @@ public:
}
virtual bool
- RecvEnableBatteryNotifications() override {
- // We give all content battery-status permission.
- hal::RegisterBatteryObserver(this);
- return true;
- }
-
- virtual bool
- RecvDisableBatteryNotifications() override {
- hal::UnregisterBatteryObserver(this);
- return true;
- }
-
- virtual bool
- RecvGetCurrentBatteryInformation(BatteryInformation* aBatteryInfo) override {
- // We give all content battery-status permission.
- hal::GetCurrentBatteryInformation(aBatteryInfo);
- return true;
- }
-
- void Notify(const BatteryInformation& aBatteryInfo) override {
- Unused << SendNotifyBatteryChange(aBatteryInfo);
- }
-
- virtual bool
RecvEnableNetworkNotifications() override {
// We give all content access to this network-status information.
hal::RegisterNetworkObserver(this);
@@ -769,12 +724,6 @@ public:
}
virtual bool
- RecvNotifyBatteryChange(const BatteryInformation& aBatteryInfo) override {
- hal::NotifyBatteryChange(aBatteryInfo);
- return true;
- }
-
- virtual bool
RecvNotifySensorChange(const hal::SensorData &aSensorData) override;
virtual bool
diff --git a/hal/windows/WindowsBattery.cpp b/hal/windows/WindowsBattery.cpp
deleted file mode 100644
index 520330242..000000000
--- a/hal/windows/WindowsBattery.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#include "Hal.h"
-#include "HalImpl.h"
-#include "mozilla/Preferences.h"
-#include "mozilla/dom/battery/Constants.h"
-
-#include <windows.h>
-
-using namespace mozilla::dom::battery;
-
-namespace mozilla {
-namespace hal_impl {
-
-static HPOWERNOTIFY sPowerHandle = nullptr;
-static HPOWERNOTIFY sCapacityHandle = nullptr;
-static HWND sHWnd = nullptr;
-
-static
-LRESULT CALLBACK
-BatteryWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
- if (msg != WM_POWERBROADCAST || wParam != PBT_POWERSETTINGCHANGE) {
- return DefWindowProc(hwnd, msg, wParam, lParam);
- }
-
- hal::BatteryInformation currentInfo;
-
- // Since we need update remainingTime, we cannot use LPARAM.
- hal_impl::GetCurrentBatteryInformation(&currentInfo);
-
- hal::NotifyBatteryChange(currentInfo);
- return TRUE;
-}
-
-void
-EnableBatteryNotifications()
-{
- // Create custom window to watch battery event
- // If we can get Gecko's window handle, this is unnecessary.
-
- if (sHWnd == nullptr) {
- WNDCLASSW wc;
- HMODULE hSelf = GetModuleHandle(nullptr);
-
- if (!GetClassInfoW(hSelf, L"MozillaBatteryClass", &wc)) {
- ZeroMemory(&wc, sizeof(WNDCLASSW));
- wc.hInstance = hSelf;
- wc.lpfnWndProc = BatteryWindowProc;
- wc.lpszClassName = L"MozillaBatteryClass";
- RegisterClassW(&wc);
- }
-
- sHWnd = CreateWindowW(L"MozillaBatteryClass", L"Battery Watcher",
- 0, 0, 0, 0, 0,
- nullptr, nullptr, hSelf, nullptr);
- }
-
- if (sHWnd == nullptr) {
- return;
- }
-
- sPowerHandle =
- RegisterPowerSettingNotification(sHWnd,
- &GUID_ACDC_POWER_SOURCE,
- DEVICE_NOTIFY_WINDOW_HANDLE);
- sCapacityHandle =
- RegisterPowerSettingNotification(sHWnd,
- &GUID_BATTERY_PERCENTAGE_REMAINING,
- DEVICE_NOTIFY_WINDOW_HANDLE);
-}
-
-void
-DisableBatteryNotifications()
-{
- if (sPowerHandle) {
- UnregisterPowerSettingNotification(sPowerHandle);
- sPowerHandle = nullptr;
- }
-
- if (sCapacityHandle) {
- UnregisterPowerSettingNotification(sCapacityHandle);
- sCapacityHandle = nullptr;
- }
-
- if (sHWnd) {
- DestroyWindow(sHWnd);
- sHWnd = nullptr;
- }
-}
-
-void
-GetCurrentBatteryInformation(hal::BatteryInformation* aBatteryInfo)
-{
- SYSTEM_POWER_STATUS status;
- if (!GetSystemPowerStatus(&status)) {
- aBatteryInfo->level() = kDefaultLevel;
- aBatteryInfo->charging() = kDefaultCharging;
- aBatteryInfo->remainingTime() = kDefaultRemainingTime;
- return;
- }
-
- aBatteryInfo->level() =
- status.BatteryLifePercent == 255 ? kDefaultLevel
- : ((double)status.BatteryLifePercent) / 100.0;
- aBatteryInfo->charging() = (status.ACLineStatus != 0);
- if (status.ACLineStatus != 0) {
- if (aBatteryInfo->level() == 1.0) {
- // GetSystemPowerStatus API may returns -1 for BatteryFullLifeTime.
- // So, if battery is 100%, set kDefaultRemainingTime at force.
- aBatteryInfo->remainingTime() = kDefaultRemainingTime;
- } else {
- aBatteryInfo->remainingTime() =
- status.BatteryFullLifeTime == (DWORD)-1 ? kUnknownRemainingTime
- : status.BatteryFullLifeTime;
- }
- } else {
- aBatteryInfo->remainingTime() =
- status.BatteryLifeTime == (DWORD)-1 ? kUnknownRemainingTime
- : status.BatteryLifeTime;
- }
-}
-
-} // hal_impl
-} // mozilla
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
index f08baf865..3d0b73f04 100644
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -3823,7 +3823,7 @@ IonBuilder::improveTypesAtTypeOfCompare(MCompare* ins, bool trueBranch, MTest* t
tmp.addType(TypeSet::PrimitiveType(ValueTypeFromMIRType(subject->type())), alloc_->lifoAlloc());
}
- if (inputTypes->unknown())
+ if (inputTypes->unknown() || inputTypes->hasType(TypeSet::MagicArgType()))
return true;
// Note: we cannot remove the AnyObject type in the false branch,
@@ -3905,7 +3905,7 @@ IonBuilder::improveTypesAtNullOrUndefinedCompare(MCompare* ins, bool trueBranch,
tmp.addType(TypeSet::PrimitiveType(ValueTypeFromMIRType(subject->type())), alloc_->lifoAlloc());
}
- if (inputTypes->unknown())
+ if (inputTypes->unknown() || inputTypes->hasType(TypeSet::MagicArgType()))
return true;
TemporaryTypeSet* type;
@@ -3969,7 +3969,7 @@ IonBuilder::improveTypesAtTest(MDefinition* ins, bool trueBranch, MTest* test)
tmp.addType(TypeSet::PrimitiveType(ValueTypeFromMIRType(subject->type())), alloc_->lifoAlloc());
}
- if (oldType->unknown())
+ if (oldType->unknown() || oldType->hasType(TypeSet::MagicArgType()))
return true;
TemporaryTypeSet* type = nullptr;
@@ -4049,7 +4049,7 @@ IonBuilder::improveTypesAtTest(MDefinition* ins, bool trueBranch, MTest* test)
}
// If ins does not have a typeset we return as we cannot optimize.
- if (oldType->unknown())
+ if (oldType->unknown() || oldType->hasType(TypeSet::MagicArgType()))
return true;
// Decide either to set or remove.
diff --git a/js/src/jit/Sink.cpp b/js/src/jit/Sink.cpp
index b2c36fae5..2764fc1cb 100644
--- a/js/src/jit/Sink.cpp
+++ b/js/src/jit/Sink.cpp
@@ -71,8 +71,12 @@ Sink(MIRGenerator* mir, MIRGraph& graph)
for (MUseIterator i(ins->usesBegin()), e(ins->usesEnd()); i != e; i++) {
hasUses = true;
MNode* consumerNode = (*i)->consumer();
- if (consumerNode->isResumePoint())
+ if (consumerNode->isResumePoint()) {
+ if (!consumerNode->toResumePoint()->isRecoverableOperand(*i)) {
+ hasLiveUses = true;
+ }
continue;
+ }
MDefinition* consumer = consumerNode->toDefinition();
if (consumer->isRecoveredOnBailout())
diff --git a/mailnews/base/util/folderUtils.jsm b/mailnews/base/util/folderUtils.jsm
index 06e8e4bf2..f549bf655 100644
--- a/mailnews/base/util/folderUtils.jsm
+++ b/mailnews/base/util/folderUtils.jsm
@@ -172,7 +172,7 @@ function allAccountsSorted(aExcludeIMAccounts) {
}
// Sort the accounts else will respect the order in mail.accountmanager.accounts
- if (Services.prefs.getBoolPref("mail.accountmanager.accounts.ordered", true)) {
+ if (!Services.prefs.getBoolPref("mail.accountmanager.accounts.ordered", false)) {
accountList = accountList.sort(compareAccounts);
}
diff --git a/mailnews/mailnews.js b/mailnews/mailnews.js
index afb5ac7f2..49ac33827 100644
--- a/mailnews/mailnews.js
+++ b/mailnews/mailnews.js
@@ -431,7 +431,7 @@ pref("mail.default_sendlater_uri", "mailbox://nobody@Local%20Folders/Unsent%20Me
pref("mail.smtpservers", "");
pref("mail.accountmanager.accounts", "");
-pref("mail.accountmanager.accounts.ordered", true);
+pref("mail.accountmanager.accounts.ordered", false);
pref("mail.accountmanager.localfolderfirst", false);
// Last used account key value
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index 93c821dda..97070c23a 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4728,15 +4728,10 @@ pref("dom.vibrator.enabled", true);
pref("dom.vibrator.max_vibrate_ms", 10000);
pref("dom.vibrator.max_vibrate_list_len", 128);
-// Battery API
-// Disabled by default to reduce private data exposure.
-pref("dom.battery.enabled", false);
-
// Abort API
pref("dom.abortController.enabled", true);
// Push
-
pref("dom.push.enabled", false);
pref("dom.push.loglevel", "error");
diff --git a/netwerk/base/nsBaseChannel.cpp b/netwerk/base/nsBaseChannel.cpp
index 2575fac04..51caa546e 100644
--- a/netwerk/base/nsBaseChannel.cpp
+++ b/netwerk/base/nsBaseChannel.cpp
@@ -579,6 +579,12 @@ NS_IMETHODIMP
nsBaseChannel::SetContentDispositionFilename(const nsAString &aContentDispositionFilename)
{
mContentDispositionFilename = new nsString(aContentDispositionFilename);
+
+ // For safety reasons ensure the filename doesn't contain null characters and
+ // replace them with underscores. We may later pass the extension to system
+ // MIME APIs that expect null terminated strings.
+ mContentDispositionFilename->ReplaceChar(char16_t(0), '_');
+
return NS_OK;
}
diff --git a/netwerk/protocol/http/HttpBaseChannel.cpp b/netwerk/protocol/http/HttpBaseChannel.cpp
index a53022f71..bf8e17537 100644
--- a/netwerk/protocol/http/HttpBaseChannel.cpp
+++ b/netwerk/protocol/http/HttpBaseChannel.cpp
@@ -562,6 +562,12 @@ NS_IMETHODIMP
HttpBaseChannel::SetContentDispositionFilename(const nsAString& aContentDispositionFilename)
{
mContentDispositionFilename = new nsString(aContentDispositionFilename);
+
+ // For safety reasons ensure the filename doesn't contain null characters and
+ // replace them with underscores. We may later pass the extension to system
+ // MIME APIs that expect null terminated strings.
+ mContentDispositionFilename->ReplaceChar(char16_t(0), '_');
+
return NS_OK;
}
diff --git a/netwerk/sctp/src/netinet/sctp_input.c b/netwerk/sctp/src/netinet/sctp_input.c
index 1301b430c..f469e0f5c 100755
--- a/netwerk/sctp/src/netinet/sctp_input.c
+++ b/netwerk/sctp/src/netinet/sctp_input.c
@@ -2517,6 +2517,27 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
/* cookie too small */
return (NULL);
}
+#if defined(__Userspace__)
+ /*
+ * Recover the AF_CONN addresses within the cookie.
+ * This needs to be done in the buffer provided for later processing
+ * of the cookie and in the mbuf chain for HMAC validation.
+ */
+ if ((cookie->addr_type == SCTP_CONN_ADDRESS) && (src->sa_family == AF_CONN)) {
+ struct sockaddr_conn *sconnp = (struct sockaddr_conn *)src;
+
+ memcpy(cookie->address, &sconnp->sconn_addr , sizeof(void *));
+ m_copyback(m, cookie_offset + offsetof(struct sctp_state_cookie, address),
+ (int)sizeof(void *), (caddr_t)&sconnp->sconn_addr);
+ }
+ if ((cookie->laddr_type == SCTP_CONN_ADDRESS) && (dst->sa_family == AF_CONN)) {
+ struct sockaddr_conn *sconnp = (struct sockaddr_conn *)dst;
+
+ memcpy(cookie->laddress, &sconnp->sconn_addr , sizeof(void *));
+ m_copyback(m, cookie_offset + offsetof(struct sctp_state_cookie, laddress),
+ (int)sizeof(void *), (caddr_t)&sconnp->sconn_addr);
+ }
+#endif
/*
* split off the signature into its own mbuf (since it should not be
* calculated in the sctp_hmac_m() call).
diff --git a/netwerk/sctp/src/netinet/sctp_output.c b/netwerk/sctp/src/netinet/sctp_output.c
index 49447fa9d..3f1a9525d 100755
--- a/netwerk/sctp/src/netinet/sctp_output.c
+++ b/netwerk/sctp/src/netinet/sctp_output.c
@@ -6492,6 +6492,27 @@ sctp_send_initiate_ack(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
(uint8_t *)inp->sctp_ep.secret_key[(int)(inp->sctp_ep.current_secret_number)],
SCTP_SECRET_SIZE, m_cookie, sizeof(struct sctp_paramhdr),
(uint8_t *)signature, SCTP_SIGNATURE_SIZE);
+#if defined(__Userspace__)
+ /*
+ * Don't put AF_CONN addresses on the wire, in case this is critical
+ * for the application. However, they are protected by the HMAC and
+ * need to be reconstructed before checking the HMAC.
+ * Clearing is only done in the mbuf chain, since the local stc is
+ * not used anymore.
+ */
+ if (stc.addr_type == SCTP_CONN_ADDRESS) {
+ const void *p = NULL;
+
+ m_copyback(m_cookie, sizeof(struct sctp_paramhdr) + offsetof(struct sctp_state_cookie, address),
+ (int)sizeof(void *), (caddr_t)&p);
+ }
+ if (stc.laddr_type == SCTP_CONN_ADDRESS) {
+ const void *p = NULL;
+
+ m_copyback(m_cookie, sizeof(struct sctp_paramhdr) + offsetof(struct sctp_state_cookie, laddress),
+ (int)sizeof(void *), (caddr_t)&p);
+ }
+#endif
/*
* We sifa 0 here to NOT set IP_DF if its IPv4, we ignore the return
* here since the timer will drive a retranmission.
diff --git a/netwerk/test/gtest/TestBase64Stream.cpp b/netwerk/test/gtest/TestBase64Stream.cpp
new file mode 100644
index 000000000..37f5cb824
--- /dev/null
+++ b/netwerk/test/gtest/TestBase64Stream.cpp
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/. */
+
+#include "gtest/gtest.h"
+#include "mozilla/Base64.h"
+#include "nsIInputStream.h"
+
+namespace mozilla {
+namespace net {
+
+// An input stream whose ReadSegments method calls aWriter with writes of size
+// aStep from the provided aInput in order to test edge-cases related to small
+// buffers.
+class TestStream final : public nsIInputStream {
+ public:
+ NS_DECL_ISUPPORTS;
+
+ TestStream(const nsACString& aInput, uint32_t aStep)
+ : mInput(aInput), mStep(aStep) {}
+
+ NS_IMETHOD Close() override { MOZ_CRASH("This should not be called"); }
+
+ NS_IMETHOD Available(uint64_t* aLength) override {
+ *aLength = mInput.Length() - mPos;
+ return NS_OK;
+ }
+
+ NS_IMETHOD Read(char* aBuffer, uint32_t aCount,
+ uint32_t* aReadCount) override {
+ MOZ_CRASH("This should not be called");
+ }
+
+ NS_IMETHOD ReadSegments(nsWriteSegmentFun aWriter, void* aClosure,
+ uint32_t aCount, uint32_t* aResult) override {
+ *aResult = 0;
+
+ if (mPos == mInput.Length()) {
+ return NS_OK;
+ }
+
+ while (aCount > 0) {
+ uint32_t amt = std::min(mStep, (uint32_t)(mInput.Length() - mPos));
+
+ uint32_t read = 0;
+ nsresult rv =
+ aWriter(this, aClosure, mInput.get() + mPos, *aResult, amt, &read);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return rv;
+ }
+
+ *aResult += read;
+ aCount -= read;
+ mPos += read;
+ }
+
+ return NS_OK;
+ }
+
+ NS_IMETHOD IsNonBlocking(bool* aNonBlocking) override {
+ *aNonBlocking = true;
+ return NS_OK;
+ }
+
+ private:
+ ~TestStream() = default;
+
+ nsCString mInput;
+ const uint32_t mStep;
+ uint32_t mPos = 0;
+};
+
+NS_IMPL_ISUPPORTS(TestStream, nsIInputStream)
+
+// Test the base64 encoder with writer buffer sizes between 1 byte and the
+// entire length of "Hello World!" in order to exercise various edge cases.
+TEST(TestBase64Stream, Run)
+{
+ nsCString input;
+ input.AssignLiteral("Hello World!");
+
+ for (uint32_t step = 1; step <= input.Length(); ++step) {
+ RefPtr<TestStream> ts = new TestStream(input, step);
+
+ nsAutoString encodedData;
+ nsresult rv = Base64EncodeInputStream(ts, encodedData, input.Length());
+ ASSERT_TRUE(NS_SUCCEEDED(rv));
+
+ EXPECT_TRUE(encodedData.EqualsLiteral("SGVsbG8gV29ybGQh"));
+ }
+}
+
+} // namespace net
+} // namespace mozilla
diff --git a/netwerk/test/gtest/moz.build b/netwerk/test/gtest/moz.build
index 6e6c80152..e463feb65 100644
--- a/netwerk/test/gtest/moz.build
+++ b/netwerk/test/gtest/moz.build
@@ -5,6 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
+ 'TestBase64Stream.cpp',
'TestProtocolProxyService.cpp',
'TestStandardURL.cpp',
]
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 55072c474..a2f7b89b2 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -2615,6 +2615,7 @@ NS_VISIBILITY_DEFAULT PRBool nspr_use_zone_allocator = PR_FALSE;
#ifdef CAIRO_HAS_DWRITE_FONT
#include <dwrite.h>
+#include "nsWindowsHelpers.h"
#ifdef DEBUG_DWRITE_STARTUP
@@ -2643,7 +2644,7 @@ static DWORD WINAPI InitDwriteBG(LPVOID lpdwThreadParam)
{
SetThreadPriority(GetCurrentThread(), THREAD_MODE_BACKGROUND_BEGIN);
LOGREGISTRY(L"loading dwrite.dll");
- HMODULE dwdll = LoadLibraryW(L"dwrite.dll");
+ HMODULE dwdll = LoadLibrarySystem32(L"dwrite.dll");
if (dwdll) {
decltype(DWriteCreateFactory)* createDWriteFactory = (decltype(DWriteCreateFactory)*)
GetProcAddress(dwdll, "DWriteCreateFactory");
diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp
index 49a54ea5f..0ca3d7edf 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -1181,9 +1181,12 @@ nsExternalAppHandler::nsExternalAppHandler(nsIMIMEInfo * aMIMEInfo,
mTempFileExtension = char16_t('.');
AppendUTF8toUTF16(aTempFileExtension, mTempFileExtension);
- // replace platform specific path separator and illegal characters to avoid any confusion
- mSuggestedFileName.ReplaceChar(KNOWN_PATH_SEPARATORS FILE_ILLEGAL_CHARACTERS, '_');
- mTempFileExtension.ReplaceChar(KNOWN_PATH_SEPARATORS FILE_ILLEGAL_CHARACTERS, '_');
+ // Replace platform specific path separator and illegal characters to avoid any confusion
+ mSuggestedFileName.ReplaceChar(KNOWN_PATH_SEPARATORS, '_');
+ mSuggestedFileName.ReplaceChar(FILE_ILLEGAL_CHARACTERS, ' ');
+ mSuggestedFileName.ReplaceChar(char16_t(0), '_');
+ mTempFileExtension.ReplaceChar(KNOWN_PATH_SEPARATORS, '_');
+ mTempFileExtension.ReplaceChar(FILE_ILLEGAL_CHARACTERS, ' ');
// Remove unsafe bidi characters which might have spoofing implications (bug 511521).
const char16_t unsafeBidiCharacters[] = {
diff --git a/xpcom/io/Base64.cpp b/xpcom/io/Base64.cpp
index 911c0595a..b9fa7baf8 100644
--- a/xpcom/io/Base64.cpp
+++ b/xpcom/io/Base64.cpp
@@ -108,30 +108,51 @@ EncodeInputStream_Encoder(nsIInputStream* aStream,
EncodeInputStream_State<T>* state =
static_cast<EncodeInputStream_State<T>*>(aClosure);
+ // We always consume all data.
+ *aWriteCount = aCount;
+
// If we have any data left from last time, encode it now.
uint32_t countRemaining = aCount;
const unsigned char* src = (const unsigned char*)aFromSegment;
if (state->charsOnStack) {
+ MOZ_ASSERT(state->charsOnStack == 1 || state->charsOnStack == 2);
+
+ // Not enough data to compose a triple.
+ if (state->charsOnStack == 1 && countRemaining == 1) {
+ state->charsOnStack = 2;
+ state->c[1] = src[0];
+ return NS_OK;
+ }
+
+ uint32_t consumed = 0;
unsigned char firstSet[4];
if (state->charsOnStack == 1) {
firstSet[0] = state->c[0];
firstSet[1] = src[0];
- firstSet[2] = (countRemaining > 1) ? src[1] : '\0';
+ firstSet[2] = src[1];
firstSet[3] = '\0';
+ consumed = 2;
} else /* state->charsOnStack == 2 */ {
firstSet[0] = state->c[0];
firstSet[1] = state->c[1];
firstSet[2] = src[0];
firstSet[3] = '\0';
+ consumed = 1;
}
+
Encode(firstSet, 3, state->buffer);
state->buffer += 4;
- countRemaining -= (3 - state->charsOnStack);
- src += (3 - state->charsOnStack);
+ countRemaining -= consumed;
+ src += consumed;
state->charsOnStack = 0;
+
+ // Bail if there is nothing left.
+ if (!countRemaining) {
+ return NS_OK;
+ }
}
- // Encode the bulk of the
+ // Encode as many full triplets as possible.
uint32_t encodeLength = countRemaining - countRemaining % 3;
MOZ_ASSERT(encodeLength % 3 == 0,
"Should have an exact number of triplets!");
@@ -140,9 +161,6 @@ EncodeInputStream_Encoder(nsIInputStream* aStream,
src += encodeLength;
countRemaining -= encodeLength;
- // We must consume all data, so if there's some data left stash it
- *aWriteCount = aCount;
-
if (countRemaining) {
// We should never have a full triplet left at this point.
MOZ_ASSERT(countRemaining < 3, "We should have encoded more!");